Baixe o app para aproveitar ainda mais
Prévia do material em texto
02/04/2015 1 Prof. Alexandre Beletti � Arquitetura ◦ CISC � Microcódigo do processador ◦ RISC ◦ Estudo de caso em Assembly 02/04/2015 2 � Por possuir um conjunto de instruções complexas, diminui o número de instruções que um programa necessita para sua implementação � Faz uso de microprogramação/microcódigo da microarquitetura 02/04/2015 3 � O número de ciclos por instrução pode aumentar (além do questão do clock da máquina...) � Exemplos: IBM 360, DEC VAX, Motorola 68030, IBM 8088, 8086, 80286 e 80386. 02/04/2015 4 � Está acima do nível lógico � Implementa o nível ISA (Instruction Set Architeture) � RISC = ISA muito simples � CISC = ISA muito complexa 02/04/2015 5 Assembly: MOV R0, R1 (orig., dest.) Opcode: B4 01 Microcódigo: R0out, R1in NASM Microarquitetura Software Hardware Assembly: R2 <- R1+R2 (orig., dest.) Opcode: 02 0A R1out, Yin R2out, Add, Zin Zout, R2in NASM Microarquitetura Software Hardware 02/04/2015 6 � Geralmente as instruções executam em um único ciclo do processador � A funcionalidade migrou para o software � O hardware realiza somente procedimentos básicos � O compilador precisa ser otimizado � No final de 1970 foram feitos experimentos com instruções complexas � Existia a discussão entre o que as máquinas faziam e o que as linguagens de alto nível precisavam � Computador 801 (somente protótipo) 02/04/2015 7 � 1980: em Berkeley começaram a produzir chips VLSI sem interpretação (microprogramação) -> SPARC � 1981: em Stanford projetaram o MIPS -> MIPS � Poucas instruções � Várias instruções iniciadas por segundo � CISC = “Set” de 200 a 300 instruções � RISC = “Set” de 50 instruções � RISC = Alegavam que o melhor modo era um pequeno número de instruções simples que executassem em um único ciclo � Por mais que tivessem que executar várias instruções, comparado ao CISC, venceriam pois não eram interpretadas 02/04/2015 8 � Intel (486 em diante) possui um núcleo RISC para executar instruções mais simples � Permite competitividade com máquinas puramente RISC � A maioria das instruções dos programadores é simples e é executada pelo núcleo RISC � Todas instruções executadas diretamente por hardware � Maximizar a taxa de execução das instruções � Instruções fáceis de decodificar � Somente LOAD e STORE referenciam memória � Providencie muitos registradores 02/04/2015 9 02/04/2015 10 02/04/2015 11 02/04/2015 12 02/04/2015 13 02/04/2015 14 � Instruções RISC com o emu8086 emu8086emu8086emu8086emu8086 cisccisccisccisc....asmasmasmasm 02/04/2015 15 � Processador � Memória ◦ EEPROM ◦ FLASH ◦ SRAM � O nosso objetivo aqui é principalmente a Memória e o Processador � Processador com Arquitetura RISC � 32 registradores de 8 bits � 131 instruções (a maioria de 1 ciclo) � Até 20 MIPS trabalhando a 20Mhz 02/04/2015 16 02/04/2015 17 Diagrama deDiagrama deDiagrama deDiagrama de BlocosBlocosBlocosBlocos Do Do Do Do ProcessadorProcessadorProcessadorProcessador 02/04/2015 18 � I: Habilita Interrupção Global � T: Bit Copy Storage � H: Half Carry (usado em BCD) � S: Sinal � V: Overflow de Complemento 2 � N Negativo � Z: Zero � C: Carry 02/04/2015 19 02/04/2015 20 02/04/2015 21 02/04/2015 22 02/04/2015 23 02/04/2015 24 � TANENBAUM, A.S., Organização Estruturada de Computadores – 5ed. Pearson, 2005. � MANZANO, A.N.G., Programação Assembly – Microprocessadores 8088/8086. Érica, 2007. � http://www.cdf.toronto.edu/~ajr/258/notes/ micro/ � Atmel AVR 8-bit Instruction Set
Compartilhar