Microprocessadores Intel. Enfim, a dura realidade (ou: que saudades dos simuladores.)

Tamanho: px
Começar a partir da página:

Download "Microprocessadores Intel. Enfim, a dura realidade (ou: que saudades dos simuladores.)"

Transcrição

1 Microprocessadores Intel Enfim, a dura realidade (ou: que saudades dos simuladores.)

2 Chip ALU reg dado End. Cache Características 8088(6) (16) 20 - micro de 16 bits & circuitos de apoio memória virtual segmentada e modo protegido 386SX simplificado MMU, 32 bits e modo virtual 486SX K sem FPU K com FPU 486DX K 486 com frequência interna de clock dupla DX K instr. 8K dado 486 com frequência interna de clock tripla Pentium K instr. 2 pipelines inteiros, FPU de 64 bits, 8K dado Pentium Pro K instr. 8K dado 256Knível2 Pentium MMX K instr. 16K dado Pentium II K instr. 16K dado 512Knível2 lógica de previsão de desvios Pentium, mais renomeação de registradores e execução fora de sequência Pentium, com instruções extras para paralelismo (SIMD) Pentium Pro com MMX

3 Chip ALU reg dado End. Cache Características Pentium K instr. 8K dado 2 pipelines inteiros, FPU de 64 bits, lógica de previsão de desvios Pentium Pro K instr. 8K dado 256Knível2 Pentium, mais renomeação de registradores e execução fora de sequência Pentium MMX K instr. Pentium, com instruções extras para 16K dado Pentium II K instr. 16K dado 512Knível2 Pentium Celeron Pentium Celeron A II II K instr. 16K dado 0K nível K instr. 16K dado 128Knível2 Pentium II Xeon K instr. 16K dado cache nív.2 Pentium III K instr. 16K dado cache nív.2 Pentium K instr. 8K dado cache nív.2 paralelismo (SIMD) Pentium Pro com MMX Pentium II sem cache de nível 2 Pentium II com cache na mesma frequência da CPU Pentium II com 512K/1M/2M de cache na mesma frequência da CPU Pentium II com instruções extras para paralelismo de ponto flutuante Pentium III com mais instruções extras para paralelismo de ponto flutuante (SSE2)

4 Características tecnológicas Processador Cache tipo nível 2 frequência mult. Tensão Transistor 8088(6) x 5 V x 5 V x 5 V SX 8K WT - - 1x 5 V DX 8K WT - - 1x 5 V DX2 8K WT - - 2x 5 V DX4 16K WT x 3,3 V Pentium 60/66 2x8K WB - - 1x 5 V Pentium 75/200 2x8K WB - - 1,5-3x 3,3 V Pentium Pro 2x8K WB 256K 1 2-3x 3,3 V Pentium MMX 2x16K WB - - 1,5-3x 1,8-2,8 V Pentium II 2x16K WB 512K 1/2 3,5-5x 1,8-2,8 V Celeron 2x16K WB 0K - 3,5-5x 1,8-2,8 V Celeron A 2x16K WB 128K 1 3,5-5x 1,8-2,8 V Xeon 2x16K WB 512K-2M 1 3,5-5x 1,8-2,8 V Pentium III 2x16K WB 512K 1/2 3,5-5x 1,8-2,8 V Pentium III E 2x16K WB 256K 1 4,0-9x 1,3-1,7 V Pentium 4 8K WB 256K 1 3,0-4x 1,3-1,7 V

5 Computadores Pessoais tipo PC tipos PC XT PC AT PC AT 386 PC AT 486 Pentium P5 Pentium P6 microprocessador Pentium, Pentium Pro, MMX II, III, 4 FPU interna interna Interna barramento de dados 8 bits 16 bits 32 bits 32 bits 64 bits 64 bits barramento de endereços 20 bits 24 bits 30 bits 30 bits 30 bits 33 bits

6 versão PC 99 disponível em ou Usos distintos (servidores, portáteis, domésticos, estações de trabalho, etc) Configuração básica: Pentium II 300 MHz 32 a 64 MBytes de memória barramento PCI (sem conectores ISA) duas portas USB resolução de vídeo de 800 x 600 com 64K cores suporte a CD ou DVD modem de 56 Kbps ou placa de rede opcionais: placas de som, placas aceleradoras 3D, suporte a infravermelho (IrDA) e IEEE 1394 (barramento serial rápido)

7 versão PC 2001 disponível em Usos distintos (servidores, portáteis, domésticos, estações de trabalho, etc) Configuração básica: Pentium II 667 MHz (desktop) ou 400 MHz (laptop) 64 a 128 MBytes de memória barramento PCI (proibição de conectores ISA) duas portas USB (substituição de portas seriais e paralela) resolução de vídeo de 1024 x 768 com 32 bits por pixel suporte a CD ou DVD modem de 56 Kbps ou placa de rede placa aceleradora 3D em modelos desktop opcionais: placas de som, suporte a infravermelho (IrDA) e IEEE 1394 (barramento serial rápido)

8 Microprocessador Intel 8086 Arquitetura de 16 bits Comunicação com a memória em 16 (8086) ou 8 (8088) bits Capacidade máxima de memória de 1 MByte 14 registradores (4 dado, 4 endereço, 4 segmento, ponteiro do programa, flags)

9 Microprocessador Intel 8086/ AX AH AL acumulador BX BH BL base CX CH CL contador DX DH DL dado SP BP SI DI IP FLAGS CS DS SS ES ponteiro para pilha ponteiro base índice fonte índice destino apontador de instruções flags segmento de código segmento de dados segmento de pilha segmento extra

10 Microprocessador Intel 8086 Arquitetura de 16 bits Comunicação com a memória em 16 (8086) ou 8 (8088) bits Capacidade máxima de memória de 1 MByte 14 registradores (4 dado, 4 endereço, 4 segmento, ponteiro do programa, flags) endereço físico = segmento * 16 + deslocamento

11 Formação de endereço 15 0 CS DS S ES 15 Ofset ( deslocamento) Endereço Físico

12 Uso padrão de registradores de segmento tipo de referência à segmento segmento deslocamento memória default alternativo busca de instrução CS IP pilha SS SP variável DS CS,ES,SS endereço de operando BP como base SS CS,ES,DS endereço de operando string fonte DS CS,ES,SS SI string destino ES DI

13 Uso padrão de registradores de segmento Modos de endereçamento (cálculo do deslocamento) Modo Imediato Registrador Direto Registrador indireto Indexado (ou base) Base e indexado com deslocamento Significado operando na instrução operando em registrador operando na memória, endereçado por deslocamento contido na instrução operando na memória, endereçado por deslocamento contido em registrador operando na memória, endereçado pela soma do conteúdo do registrador de índice (ou base) com o deslocamento contido na instrução operando na memória, endereçado pela soma do conteúdo do registrador de índice com o conteúdo do registrador base e com o deslocamento contido na instrução

14 Exemplos de modos de endereçamento (ADD destino, fonte) Imediato: Registrador: Direto: Registrador indireto: Indexado (ou base): ADD CH,5FH ADD BX,DX ADD WVAR,BX (WVAR é uma referência à memória) ADD CX,[BX] ADD [SI+6],AL Base e indexado com deslocamento: ADD [BX+DI+5],DX

15 Microprocessador Intel 8086 Arquitetura de 16 bits Comunicação com a memória em 16 (8086) ou 8 (8088) bits Capacidade máxima de memória de 1 MByte 14 registradores (4 dado, 4 endereço, 4 segmento, ponteiro do programa, flags) endereço físico = segmento * 16 + deslocamento 85 instruções básicas

16 AAA ASCII Adjust After Adition AAD ASCII Adjust Before Division AAM ASCII Adjust After Multiply AAS ASCII Adjust After Subtract ADC Add with Carry ADD Add AND Logical And CALL Call Procedure CBW Convert Byte to Word CLC Clear Carry Flag CLD Clear Direction Flag CLI Clear Interrupt Flag CMC Complement Carry Flag CMP Compare CMPSB/W Compare strings (Byte, Word) CWD Convert Word to Double DAA Decimal Adjust After Division DAS Decimal Adjust after Subtract DEC Decrement DIV Unsigned Divide ESC Escape (for FPU) HLT Halt IDIV Signed Divide IMUL Signed Multiply IN Input from Port INC Increment INT Software Interrupt INTO Interrupt on Overflow IRET Interrupt Return (16 bits) IRETD Interrupt Return (32 bits) JA,JNBE Jump if Above JAE,JNB Jump if Above or Equal JB,JNAE Jump if bellow JBE,JNA Jump if Bellow or Equal JC Junp on Carry JCXZ Jump if CX is Zero JE,JZ Jump if Equal (Zero) JG,JNLE Jump if Greater JGE,JNL Jump if Greater or Equal JL,JNGE Jump if Less JLE,JNG Jump if Less or Equal JMP Jump inconditionally JNC Jump if not Carry JNE,JNZ Jump if not Equal JNP,JPO Jump if Parity Odd JO,JNO Jump on Overflow, not Overf. JP,JPE Jump if Parity Even JS,JNS Jump on Sign, not Sign LAHF Load Flags into AH LDS,LES Load Far Pointer (DS, ES) LEA Load Effective Address LOCK Lock the Bus LODSB/W Load String (Byte, Word) LOOP Loop LOOPE/Z Loop while Equal LOOPNE/Z Loop while not Equal MOV Move Data MOVSB/W Move String (Byte,Word) MUL Unsigned Multiply NEG Two s Complement Negation NOP No Operation NOT One s Complement Negation OR Inclusive Or OUT Output to Port POP Pop from Stack POPF Pop Flags PUSH Push into Stack PUSHF Push Flags RCL Rotate with Carry Left RCR Rotate with Carry Right REP Repeat String REPE/Z Repeat while Equal (Zero) REPNE/Z Repeat while not Equal (Zero) RET,RETF Return from Procedure ROL Rotate Left ROR Rotate Right SAHF Store AH into Flags SAL Shift Arithmetic Left SAR Shift Arithmetic Right SBB Subtract with Borrow SCASB/W Scan String (Byte, Word) SHL Shift Left SHR Shift Right STC Set Carry Flag STD Set Direction Flag STI Set Interrupt Flag STOS/W Store String (Byte, Word) SUB Subtract TEST Logica Compare WAIT Wait (coprocessor) XCHG Exchange XLAT Translate XOR Exclusive Or

17 Microprocessador Intel 8086 Arquitetura de 16 bits Comunicação com a memória em 16 (8086) ou 8 (8088) bits Capacidade máxima de memória de 1 MByte 14 registradores (4 dado, 4 endereço, 4 segmento, ponteiro do programa, flags) endereço físico = segmento * 16 + deslocamento 85 instruções básicas co-processador: 8087 (67 instruções básicas)

18 F2XM1 Calculates 2^x-1 FABS Absolute Value FADD Add Real FADDP Add Real and Pop FBLD Load BCD FBSTP Store BCD and Pop FCHS Change Sign F(N)CLEX Clear exceptions FCOM Compare Real FCOMP Compare Real And Pop FCOMPP Compare Real and Pop Twice FDECSTP Decrement Stack F(N)DISI (*) Disable Interrupts FDIV Divide Real FDIVP Divide Real and Pop FDIVR Divide Real Reversed FDIVRP Divide Real Reversed and Pop F(N)ENI (*) Enable Interrupts FFREE Free Register FIADD Integer Add FICOM Compare Integer FICOMP Compare Integer and Pop FIDIV Integer Divide FIDIVR Integer Divide Reversed FILD Load Integer FIMUL Integer Multiply FINCSTP Increment Stack F(N)INIT Initialize Coprocessor FIST Store Integer FISTP Store Integer and Pop FISUB Integer Subtract FISUBR Integer Subtract Reversed FLD Load Real FLD1 Load Value of 1.0 FLDCW Load Control Word FLDENV Load Environment State FLDL2E Load Value of Log2(e) FLDL2T Load Value of Log2(10) FLDLG2 Load Value of Log10(2) FLDLN2 Load Value of Loge(2) FLDPI Load Value of Pi FLDZ Load Value of 0.0 FMUL Real Multiply FMULP Real Multiply and Pop FNOP No Operation FPATAN Partial Arctangent FPREM Partial Remainder FPTAN Partial Tangent FRNDINT Round to Integer FRSTOR Restore Saved State F(N)SAVE Save Coprocessor State FSCALE Scale with powers of 2 FSQRT Square Root FST Store Real F(N)STCW Store Control Word F(N)STENV Store Environment State FSTP Store Real and Pop F(N)STSW Store Status Word FSUB Real Subtract FSUBP Real Subtract and Pop FSUBPR Real Subtract Reversed and Pop FSUBR Real Subtract Reversed FTST Test for Zero FWAIT CPU Wait (until FPU ready) FXAM Examine FXCH Exchange Registers FXTRACT Extract Exponent and Mantissa FYL2X Calculates y. log2(x) FYL2XP1 Calculates y. log2(x+1) (*) eliminadas a partir do 80287

19 Microprocessador Intel 8086 Arquitetura de 16 bits Comunicação com a memória em 16 (8086) ou 8 (8088) bits Capacidade máxima de memória de 1 MByte 14 registradores (4 dado, 4 endereço, 4 segmento, ponteiro do programa, flags) endereço físico = segmento * 16 + deslocamento 85 instruções básicas co-processador: 8087 (67 instruções básicas) sem cache, sem memória virtual somente opera no modo real

20 Microprocessador Intel Idêntico ao 8086 Comunicação com a memória em 16 bits Capacidade máxima de memória de 1 MByte 14 registradores Endereço físico = segmento * 16 + deslocamento Sete instruções extras ( = 92 instruções básicas) Co-processador: (idêntico ao 8087) Sem cache, sem memória virtual

21 Microprocessador Intel Modos real (8086) e virtual (modo protegido) Comunicação com a memória em 16 bits Capacidade máxima de memória de 16 MByte 14 registradores (os do 8086) Endereço físico ou virtual 15 instruções extras ( = 107 instruções básicas) Co-processador: Sem cache Memória virtual segmentada

22 Microprocessador Intel Modos real (8086), virtual (protegido) e virtual86 Comunicação com a memória em 16 (SX) ou 32 bits (DX) Capacidade máxima de memória de 4 GByte 14 registradores (os do 8086, estendidos para 32 bits) e mais 2 registradores de segmento

23 EAX AH AL acumulador EBX BH BL base ECX CH CL contador EDX DH DL dado ESP SP ponteiro para pilha EBP BP ponteiro base ESI SI índice fonte EDI DI índice destino EIP IP apontador de instruções EF FLAGS flags

24 Registrador de flags (F ou EF) Flags de status: CF Bit 0 vai-um (carry) PF Bit 2 paridade (parity) AF Bit 4 vai-um auxiliar (auxiliary carry) ZF Bit 6 zero SF Bit 7 sinal (sign) OF Bit 11 overflow Flags de controle: TF Bit 8 trap IF Bit 9 interrupt enable DF Bit 10 direção (direction) Flags específicos do 80386: IOPL Bits 12 e 13 nível de privilégio de E/S NT Bit 14 tarefa aninhada RF Bit 16 flag resume VM Bit 17 modo virtual

25 Registradores de segmento CS segmento de código (code segment) SS segmento de pilha (stack segment) DS segmento de dados (data segment) ES segmento de dados FS segmento de dados GS segmento de dados Formam endereço físico (modo real) Selecionam descritor de segmento (modo protegido)

26 Microprocessador Intel Modos real (8086), virtual (protegido) e virtual86 Comunicação com a memória em 16 (SX) ou 32 bits (DX) Capacidade máxima de memória de 4 GByte 14 registradores (os do 8086, estendidos para 32 bits) e mais 2 registradores de segmento Endereço físico ou virtual 44 instruções extras ( = 151 instruções básicas) Memória virtual segmentada e paginada (opcional)

27 Gerência de memória virtual memória virtual endereço virtual processador endereço físico mapeador memória física

28 Questões de memória virtual Quando mover um bloco da memória secundária para a memória primária (real)? por demanda Quando mover um bloco da memória real para a memória secundária? quando faltar espaço na memória real qual o tamanho ideal de um bloco? constante (paginação) ou variável (segmentação) onde colocar um novo bloco transferido para a memória principal? onde houver área livre (paginação) ou no melhor lugar (segmentação)

29 Microprocessador Intel Modos real (8086), virtual e virtual86 Comunicação com a memória em 16 (SX) ou 32 bits (DX) Capacidade máxima de memória de 4 GByte 14 registradores (os do 8086, estendidos para 32 bits) e mais 2 registradores de segmento Endereço físico ou virtual 44 instruções extras ( = 151 instruções básicas) Memória virtual segmentada e paginada (opcional) Co-processador: ( = 73 instruções básicas) Sem cache

30 Microprocessador Intel Idêntico ao 386 Modos real (8086), virtual e virtual86 Comunicação com a memória em 32 bits Capacidade máxima de memória de 4 GByte 16 registradores (os do 80386, também em 32 bits) Endereço físico ou virtual 6 instruções extras ( = 157 instruções básicas) Memória virtual segmentada e paginada (opcional) Co-processador: para 80486SX Com cache de 8 KByte integrado no 80486DX

31 Microprocessador Intel Pentium Re-estruturação do 486 Modos real (8086), virtual e virtual86 Comunicação com a memória em 64 bits Capacidade máxima de memória de 4 GByte 16 registradores (os do 80386, também em 32 bits) Endereço físico ou virtual 5 instruções extras ( = 162 instruções básicas) Memória virtual segmentada (sempre) e paginada (opcional) Co-processador: integrado Com cache de 16 KByte (2 x 8 KByte)

32 Microprocessador Intel Pentium 2 pipelines para de inteiros, operando em paralelo cada pipeline inteiro consta de 5 estágios: busca de instrução (a partir da cache de instruções), decodificação de instrução, geração de endereço, execução, escrita (write back). FPU também em pipeline (mas não em paralelo) Operação super-escalar: mais de uma instrução pronta em um ciclo de relógio

33 Instruções paralelizáveis no Pentium ADD AND CALL (immediate) CMP DEC INC Jcc JMP (immediate only) LEA MOV (general register and memory only) NOP OR POP (register only) PUSH (register only) RCL, RCR (one bit and immediate only) ROL, ROR (one bit and immediate only) SAR,SHL,SHR (one bit and immediate only) SUB TEST (reg-reg, mem-reg and immediate-eax only) XOR U+V U+V V U+V U+V U+V V V U+V U+V U+V U+V U+V U+V U U U U+V U+V U+V

34 Microprocessador Intel Pentium Pro (P6) Re-estruturação do Pentium (P5) Mesmas características de (mem. virtual) e do Pentium (largura de dados de 64 bits) 5 instruções extras ( = 165 instruções básicas) Co-processador: integrado Com cache de 16 KByte (2 x 8 KByte) Operação super-escalar Cinco unidades internas Execução fora de sequência Execução especulativa

35 Microprocessador Intel Pentium MMX Arquitetura do Pentium (P5) Novo tipo de dado: packed 57 instruções extras (além das 165 instruções básicas) Com cache de 32 KByte (2 x 16 KByte) Operação super-escalar Não possui as características do Pentium Pro (execução fora de sequência, execução especulativa) Instruções para processamento de vetores (8 bytes, 4 palavras ou 2 palavras duplas) 8 novos registradores lógicos (MMX0 a MMX7)

36 Microprocessador Intel Pentium MMX 57 Instruções para processamento de vetores (8 bytes, 4 palavras ou 2 palavras duplas) 8 novos registradores lógicos (MMX0 a MMX7) Aritmética de saturação Tipo de dado Limite Inferior Limite Superior Com sinal Byte Palavra Sem sinal Byte Palavra

37 Microprocessador Intel Pentium II (P6) Pentium Pro com MMX Mesmas características do Pentium Pro Instruções MMX Cinco unidades internas Execução fora de sequência Execução especulativa

38 Microprocessador Intel Pentium III Arquitetura do Pentium II (P6) Novo tipo de dado: floating packed 70 instruções extras (além das 167 básicas e 57 MMX) Instruções para processamento de vetores inteiros (MMX) ou de ponto flutuante (SSE) 8 novos registradores físicos (XMM0 a XMM7), de 128 bits, para as instruções SSE Single FP Single FP Single FP Single FP Packed Single FP Não alterado Não alterado Não alterado Single FP Scalar Single FP

39 Pentium: instrução CPUID e número de série Parâmetro EAX=0 EAX=1 EAX=2 EAX=3 EAX>3 Valores após execução de CPUID EAX: Maior valor aceito para EAX EBX:ECX:EDX: String de identificação EAX: Identificador do processador (32 bits superiores do número de série) EBX:ECX: Indefinidos EDX: Feature Flags EAX:EBX:ECX:EDX: valores de configuração do Processador EDX:ECX: 64 bits inferiores do número de série EAX:EBX:ECX:EDX: Indefinidos Desabilitar o número de série MOV ECX, 119H RDMSR OR EAX, h WRMSR ;loads EDX:EAX

40 Codificação de Instruções (exemplo: MOV) Tipo Código (hexa) Instrução Descrição 1 88 reg rm MOV rm8, r8 Move de registradores de 8 bits 2 89 reg rm MOV rm16, r16 Move de registradores de 16 bits 3 89 reg rm MOV rm32, r32 Move de registradores de 32 bits 4 8A reg rm MOV r8, rm8 Move para registradores de 8 bits 5 8B reg rm MOV r16, rm16 Move para registradores de 16 bits 6 8B reg rm MOV r32, rm32 Move para registradores de 32 bits 7 8C reg rm MOV rm16, sreg Move de registrador de segmento 8 8E reg rm MOV sreg, rm16 Move para registrador de segmento 9 A0 MOV AL, m8 Move byte para AL 10 A1 MOV AX, m16 Move palavra (16 bits) para AX 11 A1 MOV EAX, m32 Move palavra dupla (32 bits) para EAX 12 A2 MOV m8, AL Move AL para memória (byte) 13 A3 MOV m16, AX Move AX para memória (palavra) 14 A3 MOV m32, EAX Move EAX para memória (palavra dupla) 15 B0 reg imed MOV r8, im8 Move dado imediato (byte) para reg. 8 bits 16 B8 reg imed MOV r16, im16 Move dado imediato para reg. 16 bits 17 B8 reg imed MOV r32, im32 Move dado imediato para reg. 32 bits 18 C6 rm imed MOV rm8, im8 Move dado imediato para reg/mem (8 bits) 19 C7 rm imed MOV rm16, im16 Move dado imediato para reg/mem (16 bits) 20 C7 rm imed MOV rm32, im32 Move dado imediato para reg/mem (32 bits)

41 Instruções de transferência de dados MOV destino, fonte move fonte para destino (B,W,D) PUSH fonte coloca fonte na pilha (W,D) POP destino retira da pilha para destino (W,D) XCHG op1, op2 troca (exchange) operandos BSWAP reg32 inverte a ordem dos 4 bytes Restrições: apenas MOV, PUSH e POP podem acessar registradores de segmento não é possível mover um dado imediato para um registrador de segmento CS não pode ser usado como destino (nem IP) operandos de PUSH e POP devem ser de 16 ou 32 bits op1 e op2 em XCHG podem ser registradores, ou apenas um pode ser operando na memória

42 Instruções de transferência de dados MOV reg, reg mesmo tamanho (8, 16 ou 32 bits) MOV mem, reg mesmo tamanho (8, 16 ou 32 bits) MOV reg, mem mesmo tamanho (8, 16 ou 32 bits) MOV reg, imed mesmo tamanho (8, 16 ou 32 bits) MOV mem, imed mesmo tamanho (8, 16 ou 32 bits) MOV reg, segreg operandos de 16 bits MOV segreg, reg (exceto CS) operandos de 16 bits MOV segreg, mem (exceto CS) operandos de 16 bits MOV mem, segreg operandos de 16 bits XCHG reg, reg mesmo tamanho (8, 16 ou 32 bits) XCHG reg, mem mesmo tamanho (8, 16 ou 32 bits) XCHG mem, reg mesmo tamanho (8, 16 ou 32 bits)

43 Instruções de transferência de dados PUSH r16/r32 Empilha um registrador de 16 ou 32 bits PUSH m16/m32 Empilha um operando de memória de 16 ou 32 bits PUSH im16/im32 Empilha um dado imediato de 16 ou 32 bits PUSH segreg Empilha um registrador de segmento (16 bits) PUSHA Empilha AX, CX, DX, BX, SP (original), BP, SI e DI PUSHAD Empilha EAX,ECX,EDX,EBX,ESP(original),EBP,ESI,EDI POP r16/r32 Desempilha um registrador de 16 ou 32 bits POP m16/m32 Desempilha um operando de 16 ou 32 bits POP segreg (exceto CS) Desempilha um registrador de segmento (exceto CS) POPA Desempilha DI, SI, BP, SP, BX, DX, CX e AX POPAD Desempliha EDI, ESI, EBP, ESP, EBX, EDX, ECX e EAX

44 Instruções de transferência de flags PUSHF/PUSHFD coloca registrador de flags na pilha (16 bits para F ou 32 bits para EF) POPF/POPFD retira registrador de flags da pilha (16 bits para F e 32 bits para EF) LAHF carrega AH com flags (8 bits menos significativos do registrador F) SAHF carrega flags com AH (8 bits menos significativos do registrador F)

45 Instruções de transferência sobre endereços LEA r16/r32, mem carrega endereço efetivo do operando mem para reg (16 ou 32 bits) LDS r16/32, mem carrega endereço de mem para reg (16 ou 32 bits) e DS (16 bits) LESr16/32, mem carrega endereço de mem para reg (16 ou 32 bits) e ES (16 bits) LFS r16/32, mem carrega endereço de mem para reg (16 ou 32 bits) e FS (16 bits)

46 Instrução de tradução XLAT converte AL (translate byte) Substitui um byte em AL por um byte de uma tabela, indicada em BX Conteúdo de AL fornece o deslocamento na tabela Instrução substitui o conteúdo de AL pelo byte em [BX+AL]

47 Instruções de entrada e saída IN acumulador, porta leitura de byte, word ou dobleword para AL, AX ou EAX OUT porta, acumulador transfere byte, word ou doubleword de AL, AX ou EAX para a porta IN e OUT podem referenciar até portas de E/S Cada porta pode receber ou fornecer um byte apenas Aparecem em dois tipos: direto e indireto No tipo direto a instrução fornece um endereço de porta de 1 byte (sob a forma de constante imediata, entre 0 e 255)

48 Instruções de entrada e saída Formatos possíveis IN AL, im8 OUT im8, AL IN AL, DX OUT DX, AL IN AX, im8 OUT im8, AX IN AX, DX OUT DX, AX IN EAX, im8 OUT im8, EAX IN EAX, DX OUT DX, EAX

49 Instruções aritméticas sobre dois operandos ADD destino, fonte soma (destino = destino + fonte) ADC destino, fonte soma com carry (destino = destino + fonte + carry) SUB destino, fonte subtrai fonte do destino (destino = destino - fonte) SBB destino, fonte subtrai com borrow (destino = destino - fonte - borrow) CMP destino, fonte compara destino - fonte (sem armazenar o resultado) combinações reg, reg, reg, mem, mem, reg, reg, imed e mem, imed, em 8, 16 ou 32 bits

50 Instruções aritméticas sobre um operando INC destino incrementa de 1 DEC destino decrementa de 1 NEG destino troca sinal (complemento de dois) destino pode ser um registrador ou uma referência a memória, de 8, 16 ou 32 bits

51 Instruções de multiplicação e divisão MUL fonte multiplica como inteiro sem sinal IMUL fonte multiplica como inteiro com sinal DIVfonte divide como inteiro sem sinal IDIV fonte divide como inteiro com sinal

52 Instruções de multiplicação e divisão Três formas possíveis para a multiplicação AL x fonte = AX (multiplicação de bytes, resultado em uma palavra) AX x fonte = DX:AX (multiplicação de palavras, resultado em palavra dupla) EAX x fonte = EDX:EAX (multiplicação de palavras duplas, resultado em 64 bits) CF e OF são ligados se a metade mais significativa do resultado não for apenas extensão do sinal; demais flags indefinidos

53 Instruções de multiplicação e divisão Três formas possíveis para divisão AX / fonte =AL e resto em AH (divisão por byte) DX:AX / fonte = AX e resto em DX (divisão por palavra) EDX:EAX / fonte = EAX e resto em EDX (divisão por palavra dupla) Todos os flags são indefinidos Se o resultado tiver mais bits do que pode ser armazenado no quociente é gerada uma interrupção do tipo 0 (erro de divisão)

54 Instruções de multiplicação e divisão IMUL: 2 novos formatos no e 1 novo no 486: Com um operando (IMUL fonte) Com dois operandos (IMUL destino, fonte) o operando destino (registrador) é multiplicado pelo operando fonte (registrador, operando em memória ou dado imediato). O resultado é armazenado no registrador destino, truncado para o seu tamanho (16 ou 32 bits). CF e OV indicam então se ocorreu estouro Com três operandos (IMUL destino, fonte, constante) o operando destino (registrador) recebe o produto do operando fonte (registrador ou operando em memória) pela constante (dado imediato). Os

55 Instruções de conversão e ajuste CBW converte AL para AX CWD converte AX para DX:AX CWDE converte AX para EAX CDQ converte EAX para EDX:EAX DAA decimal adjust after addition (sobre AL) DAS decimal adjust after subtraction (sobre AL) AAA ASCII adjust after addition (sobre AL) AAS ASCII adjust after subtraction (sobre AL) AAM ASCII adjust after multiplication (sobre AX) AAD ASCII adjust before division (sobre AX)

56 Instruções de transferência e ajuste MOVSX destino, fonte move fonte para destino com extensão do sinal MOVZX destino, fonte move fonte para destino com extensão de zeros Instruções foram acrescentadas a partir do MOVSX MOVSX MOVSX MOVZX MOVZX MOVZX r16, rm8 r32, rm8 r32, rm16 r16, rm8 r32, rm8 r32, rm16

57 Instruções lógicas convencionais NOT destino AND destino, fonte OR destino, fonte XOR destino, fonte TEST destino, fonte (idêntico a AND, sem armazenar resultado)

58 Instruções de deslocamento ROR destino, contador rotate right msb recebe lsb, lsb vai também para CF RCR destino, contador rotate with carry right msb recebe CF, lsb vai para CF ROL destino, contador rotate left lsb recebe msb, msb vai também para CF RCL destino, contador rotate with carry left lsb recebe CF, msb vai para CF

59 Instruções de deslocamento SHR destino, contador shift logical right msb recebe 0, lsb vai para CF SAR destino, contador shift arithmetic right msb recebe sinal, lsb vai para CF SHL destino, contador shift left lsb recebe 0, msb vai para CF SAL destino, contador shift left lsb recebe 0, msb vai para CF (como SHL)

60 Instruções de deslocamento Codificações possíveis operação operação operação operação operação operação reg,1 reg, CL reg, im8 mem,1 mem, CL mem, im8

61 Instruções sobre bits de um operando BSF bit_index, operando Bit Scan Forward BSR bit_index, operando Bit Scan Reverse Se nenhum bit for um, ZF=1 BT operando, bit_index Bit Test BTC operando, bit_index Bit Test and Complement BTR operando, bit_index Bit Test and Reset BTS operando, bit_index Bit Test and Set Copia o bit para CF

62 Instruções de desvio As instruções de desvio podem alterar CS e IP (ou EIP) ou somente IP (ou EIP) Se o endereço fornecido é de 16 bits, o registrador EIP é mascarado pelo valor 0000FFFFH; o endereço alvo fica dentro da área de 64 KBytes de um segmento Se o endereço fornecido é de 32 bits, o mascaramento não é realizado; endereçando uma área de 4 GBytes. Somente é válido no modo protegido.nos modos real e virtual86, uma interrupção de erro de endereçamento é gerada se o valor final apontar para valores acima de 64 K

63 Instruções de desvio incondicional JMP direto Pode ser curto (short), perto (near) ou longe (far) No JMP curto e no perto, um deslocamento contido na instrução é adicionado ao IP (modo de endereçamento relativo para desvios) Esse deslocamento pode ser de 1 byte (short), ou de 2 ou 4 bytes (near) No JMP longe, CS e IP (ou EIP) são carregados com o endereço especificado JMP indireto Pode ser perto (near) ou longe (far) No JMP perto, o conteúdo de um registrador ou uma posição de memória é copiado no IP (ou EIP) No JMP longe, CS e IP(ou EIP) são carregados com o conteúdo de memória (endereçada como operando, usando os modos de endereçamento)

64 Controle de laço LOOP endereço_alvo loop LOOPE endereço_alvo loop while equal (ZF=1) LOOPZ endereço_alvo loop while zero(zf=1) LOOPNE endereço_alvo loop while not equal (ZF=0) LOOPNZ endereço_alvo loop while not zero (ZF=0) JCXZ endereço_alvo jump if CX = 0 JECXZ endereço_alvo jump if ECX = 0 Usam o registrador CX (ou ECX) como contador Decrementam o contador e desviam se não chegou a zero Nenhum flag é afetado LOOPE e LOOPNE testam adicionalmente o flag ZF Todas as instruções permitem apenas deslocamentos curtos (short, ou seja, de +127 a -128)

65 Chamada e retorno de subrotina CALL endereço_alvo call procedure RET valor_opcional return from procedure CALL é semelhante a JMP, só que armazena o endereço de retorno na pilha CALL pode ser direto ou indireto, assim como near ou far A forma near armazena o IP (ou EIP) na pilha A forma far armazena CS e IP (ou EIP) na pilha RET também deve ser correspondentemente near ou far RET pode ter um valor que é somado ao SP depois do retorno

66 Interrupções de software INT tipo interrupção INTO interrupção se overflow IRET retorno de interrupção INT tipo: desvia de modo far para o endereço especificado em mem(0000:tipo*4) desvio semelhante a uma subrotina, mas empilha flags

67 Instruções de desvio condicional Com sinal JG endereço_alvo greater ((SF XOR OF) OR ZF) = 0 JNLE endereço_alvo not less nor equal (idem) JGE endereço_alvo greater or equal (SF XOR OF) = 0 JNL endereço_alvo not less(idem) JL endereço_alvo less(sf XOR OF) = 1 JNGE endereço_alvo not greater nor equal (idem) JLE endereço_alvo less or equal ((SF XOR OF) OR ZF) = 1 JNG endereço_alvo not greater (idem) JO endereço_alvo overflow OF = 1 JS endereço_alvo sign SF = 1 JNO endereço_alvo not overflow OF = 0 JNS endereço_alvo not sign SF = 0

68 Instruções de desvio condicional Sem sinal: JA endereço_alvo above (CF OR ZF) = 0 JNBE endereço_alvo not below nor equal (idem) JAE endereço_alvo above or equal CF = 0 JNB endereço_alvo not below (idem) JB endereço_alvo below CF = 1 JNAE endereço_alvo not above nor equal (idem) JBE endereço_alvo below or equal (CF OR ZF) = 1 JNA endereço_alvo not above (idem)

69 Instruções de desvio condicional Independente de sinal JC endereço_alvo carry CF = 1 JE/JZ endereço_alvo equal / zero ZF = 1 JP/JPE endereço_alvo parity / parity even PF = 1 JNC endereço_alvo not carry CF = 0 JNE/JNZ endereço_alvo not equal / not zero ZF = 0 JNP/JPO endereço_alvo not parity / parity odd PF = 0

70 Instruções de manipulação de strings Registradores implícitos [E]SI índice para string fonte [E]DI índice para string destino ES segmento do string destino [E]CX contador AL/AX/EAX valor de busca (destino p/ LODS, fonte p/ STOS) DF 0 (auto incremento p/ DI, SI) 1 (auto decremento p/ DI, SI) ZF condição de término para busca e comparação

71 Instruções Primitivas MOVS move source string to destination string CMPS compare source string with destination string SCAS scan destination string LODS load into AL/AX from source string STOS store AL/AX into destination string INS input from I/O port (in DX) into destination OUTS output from source to I/O port (in DX)

72 Instruções Primitivas MOVS move source string to destination string MOVSB move um byte de DS:SI para ES:DI MOVSW move uma palavra de DS:SI para ES:DI MOVSD move uma palavra dupla de DS:SI para ES:DI CMPS compare source string with destination string CMPSB subtrai byte de mem(ds:si) mem(es:di) CMPSW subtrai palavra de mem(ds:si) mem(es:di) CMPSD subtrai palavra dupla de mem(ds:si) mem(es:di) afeta flags de forma idêntica a CMP

73 Instruções Primitivas SCAS scan destination string SCASB subtrai byte em AL mem(es:di) SCASW subtrai palavra em AX mem(es:di) SCASD subtrai palavra dupla em EAX mem(es:di) AL, AX ou EAX contém valor sendo buscado LODS load into AL/AX from source string LODSB carrega byte de mem(ds:si) em AL LODSW carrega palavra de mem(ds:si) em AX LODSW carrega palavra dupla de mem(ds:si) em EAX

74 Instruções Primitivas STOS store AL/AX into destination string STOSB armazena AL no byte de mem (ES:DI) STOSW armazena AX na palavra de mem (ES:DI) STOSD armazena EAX na palavra dupla de mem (ES:DI) INS input from I/O port (in DX) into destination INSB move byte da porta especificada em DX para ES:DI INSW move palavra da porta especificada em DX para ES:DI INSD move palavra dupla da porta especificada em DX para ES:DI

75 Instruções Primitivas OUTS output from source to I/O port (in DX) OUTSB move byte de DS:SI para porta de E/S especificada em DX OUTSW move palavra de DS:SI para porta especificada em DX OUTSD move palavra dupla de DS:ES para porta especificada em DX

76 Instruções primitivas 1. Realiza operação primitiva (sobre um byte, uma palavra ou uma palavra dupla) 2. Atualiza registradores de índice (SI e/ou DI): 2.1 Se DF=0, então incrementa registradores de índice: de um, se operação for a byte de dois, se operação for a palavra de quatro, se a operação for a palavra dupla 2.2 Se DF=1, então decrementa registradores de índice: de um, se operação for a byte

77 Instruções de repetição REP repeat REPE / REPZ repeat while equal/repeat while zero REPNE / REPNZ repeat while not equal/repeat while not zero 1. Se ECX = 0, então não executa a primitiva e encerra a repetição 2. Se ECX > 0, então: 2.1 Executa a operação primitiva, atualizando os flags 2.2 Decrementa ECX, sem afetar os flags 2.3 Volta para a repetição, de acordo com o prefixo: Se for REP, repete incondicionalmente

78 Instruções sobre flags STC set carry flag CLC clear carry flag CMC complement carry flag STD set direction flag CLD clear direction flag STI set interrupt-enable flag CLI clear interrupt-enable flag

79 Instruções condicionais sobre flags SETcc rm8 Set Byte on condition (386) Se cc for verdadeiro, rm8 recebe 1 Se cc for falso, rm8 recebe 0 CMOVcc destino, fonte Conditional Move (P6) Se cc for verdadeiro, copia fonte para destino

80 Instruções especiais HLT halt until interrupt or reset (suspende o processador) WAIT wait for TEST pin active ESC escape to external processor LOCK lock bus during next instruction NOP no operation

81 Instruções de prefixo Prefixo para operando de 32 bits (senão é 16 bits) Prefixo para endereço de 32 bits (senão é 16 bits) SEG regseg- altera o registrador de segmento padrão

INSTRUÇÕES DE TRANSFERÊNCIA

INSTRUÇÕES DE TRANSFERÊNCIA INSTRUÇÕES DE TRANSFERÊNCIA Transferência de dados MOV destino, fonte move fonte para destino (byte, word ou double word) PUSH fonte coloca fonte na pilha (word ou double word) POP destino retira topo

Leia mais

Microprocessadores. Família x86 - Programação do i8086

Microprocessadores. Família x86 - Programação do i8086 Família x86 - António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Estudo Genérico de Microprocessador Microprocessadores i8086 1. Modelo de Programação; 2. Espaço de

Leia mais

x86 arquitetura e instruções básicas

x86 arquitetura e instruções básicas x86 arquitetura e instruções básicas 1 Família x86 Data CPU Palavra Endereço (bits) 1978 8086, 8088 1982 80186, 80188 1985 80386 1989 80486 1993 Pentium, Pentium MMX 1995 Pentium Pro 1997 Pentium II/III,

Leia mais

Microprocessadores Intel. Enfim, a dura realidade (ou: que saudades dos simuladores.)

Microprocessadores Intel. Enfim, a dura realidade (ou: que saudades dos simuladores.) Microprocessadores Intel Enfim, a dura realidade (ou: que saudades dos simuladores.) Chip ALU reg dado End. Cache Características 8088(6) 16 16 8 (16) 20 - micro de 16 bits 80186 16 16 16 20-8086 & circuitos

Leia mais

Arquitectura de Computadores 3º Teste. Instruções do x86

Arquitectura de Computadores 3º Teste. Instruções do x86 Arquitectura de Computadores 3º Teste Ano Lectivo: 2009/2010 Data: 19 de Dezembro de 2009 Duração: 2h00 INFORMAÇÕES GERAIS 1. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta).

Leia mais

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais USP - ICMC - SSC SSC 0511 - Sist. Informação - 2o. Semestre 2014 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Exemplos de Microprogramação (12.3); Família Intel x86 José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

Unidade de Ponto Flutuante - FPU. Baseado nos slides do Prof. Eduardo Tavares

Unidade de Ponto Flutuante - FPU. Baseado nos slides do Prof. Eduardo Tavares Unidade de Ponto Flutuante - FPU Baseado nos slides do Prof. Eduardo Tavares eagt@cin.ufpe.br FPU Os processadores atuais da família x86 possuem uma FPU (Unidade de Ponto Flutuante) dedicada para efetuar

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

04/09/2011. Tipos de Instruções. Dados numéricos. Template. Tipo de instruções. Montagem. Conjunto de Instruções do Pentium (ISA) Instruções Diádicas

04/09/2011. Tipos de Instruções. Dados numéricos. Template. Tipo de instruções. Montagem. Conjunto de Instruções do Pentium (ISA) Instruções Diádicas Tipos de Instruções Conjunto de Instruções do Pentium (ISA) Prof. Eduardo Tavares eagt@cin.ufpe.br Manipulação de bit Laços e Saltos Subrotina e interrupções Controle Dados numéricos Template Byte (8 bits)

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

Microprocessador Intel 8086

Microprocessador Intel 8086 Pontifícia Universidade Católica do Rio Grande do Sul Microprocessador Intel 8086 Disciplina: Arquitetura de Computadores I Professor: Eduardo Augusto Bezerra Alunos: Fabiano Klein Franklin Mota Amormino

Leia mais

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 15: Título: ; Arquitecturas de processadores em pipeline Sumário: (registos, bits de estado, memória,

Leia mais

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m Instruções funcionamento em 6 bits 0 a bytes Mov BYTE PTR [BX], 06h 00 0W Mod 000 r/m 0000 00 0 0 0 8A 07 06 3 bytes 00 8B 07 06 00 4 bytes 00 0W Mod 000 r/m 000 00 0000 0000 Mov WORD PTR [BX], 06h Instruções

Leia mais

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

EEL Microprocessadores

EEL Microprocessadores EEL7030 - Microprocessadores 8086 Primeiro (1980) da família do Pentium (80x86). Componente com arquitetura similar (8088) utilizado no primeiro IBM PC. Cada descendente executa código dos antepassados

Leia mais

PMR5229 Metodologia de projeto. Jun Okamoto Jr.

PMR5229 Metodologia de projeto. Jun Okamoto Jr. PMR5229 Metodologia de projeto Jun Okamoto Jr. Definição do Problema A B C Como? (x, y, θ) Robô móvel Definição do Problema Pernas ou Rodas? 15 km/h 110 km/h 300 km/h Pernas Quantas? Definição do Problema

Leia mais

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 16: Título: ; Arquitecturas de processadores em pipeline Sumário: (registos, bits de estado, memória,

Leia mais

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Professor: Dr. Rogério Rodrigues de Vargas.

Professor: Dr. Rogério Rodrigues de Vargas. UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)

Leia mais

2º Estudo Dirigido CAP 3

2º Estudo Dirigido CAP 3 2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e

Leia mais

Organização Funcional

Organização Funcional Organização Funcional Modelo de Arquitectura de Von Neuman 26 Organização Funcional Modelo de Arquitectura de Von Neuman CPU Unidade Central de processamento (central process unit) Onde tudo se passa ;

Leia mais

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

Leia mais

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle

Leia mais

Operadores lógicos (bit a bit)

Operadores lógicos (bit a bit) Operadores lógicos (bit a bit) Instrução AND Instruções: AND OR XOR NOT Os operandos destas instruções podem ser de 8 ou 16 bits 10010011

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Arquitetura do 8086/8088

Arquitetura do 8086/8088 Arquitetura do 8086/8088 Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução

Leia mais

Assembly. Prof. Jorge Cavalcanti. Prof. Sérgio Faustino.

Assembly. Prof. Jorge Cavalcanti. Prof. Sérgio Faustino. F A C A P E FACULDADE DE CIÊNCIAS APLICADAS E SOCIAIS DE PETROLINA CIÊNCIA DA COMPUTAÇÃO Assembly MANUAL DE REFERÊNCIA Prof. Jorge Cavalcanti jorge.cavalcanti@uol.com.br Prof. Sérgio Faustino sergiofaustino@hotmail.com

Leia mais

Estrutura do tema ISA do IA-32

Estrutura do tema ISA do IA-32 Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Revisão: Modo Real, pt 2 Interrupções

Revisão: Modo Real, pt 2 Interrupções Revisão: Modo Real, pt 2 Interrupções Interrupção Evento (interno ou externo) que faz o processador parar o programa em execução para tratar a interrupção Ex: ler o teclado, comunicação com os dispositivos

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

Disciplina de Organização de Computadores I

Disciplina de Organização de Computadores I USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

34 dígitos 28 dígitos 62 dígitos significativos! (base 10!)

34 dígitos 28 dígitos 62 dígitos significativos! (base 10!) Programação ao nível da máquina Representação de números em vírgula flutuante Programação da unidade de vírgula flutuante no IA-32 A arquitectura Intel IA-32 na sua totalidade Representação de números

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Estrutura do tema ISA do IA-32

Estrutura do tema ISA do IA-32 Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos

Leia mais

7. A pilha e subrotinas

7. A pilha e subrotinas Cap7.1 7. A pilha e subrotinas 7.1 Organização da Pilha (stack) Stack: estrutura de dados de uma dimensão organizada em algum trecho (segmento) da Memória; o primeiro item adicionado é o último a ser removido

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS PROF. PIERRE VILAR DANTAS AULA 10 01/11/2017 TURMA: 0040- A HORÁRIO: 4N PIERREDANTASBLOG.WORDPRESS.COM 1/43 Objetivos da Aula Conhecer conceitos de processadores

Leia mais

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho Linguagem de Montagem e Assembly André Luiz da Costa Carvalho Linguagem de Montagem Todo programa para ser executado precisar ser convertido de linguagem fonte (alto nível) para um programa equivalente

Leia mais

Aula 10 Processadores de Propósito Geral

Aula 10 Processadores de Propósito Geral Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina

Leia mais

Fluxo de Execução em Assembly

Fluxo de Execução em Assembly Fluxo de Execução em Assembly A forma natural de execução de um programa é sequencial: CPU busca instruções na memória em endereços sequenciais Instruções de desvio de assembly servem para quebrar a execução

Leia mais

Sistemas de Computação

Sistemas de Computação Sistemas de Computação Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/30 Assembly

Leia mais

Estrutura do tema ISC

Estrutura do tema ISC Introdução aos Sistemas de Computação(4) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução

Leia mais

Software de Telecomunicações Tópicos de Assembly86

Software de Telecomunicações Tópicos de Assembly86 Software de Telecomunicações Tópicos de Assembly86 Rui Gustavo Crespo IST/DEEC@2005 Software de Telecomunicações Asm86 : 1/69 Pentium arquitectura (1) O Pentium adopta arquitectura CISC reduzido número

Leia mais

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly: FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem

Leia mais

2.5 - Instruções Lógicas do ULA

2.5 - Instruções Lógicas do ULA 2.5 - Instruções Lógicas do 8085 - ULA Todas as operações lógicas e aritméticas em qualquer microprocessador são realizadas em uma unidade dedicada denominada Unidade Lógica e Aritmética (ULA). Para auxiliar

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES Prof. Dr. Daniel Caetano 2014-1 Lembretes Recordar a organização interna da CPU Conhecer os registradores de controle Apresentar o ciclo de

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o

Leia mais

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02 MÓDULO M 02 Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação OBJETIVOS Compreender o significado dos bits de estado no registrador de flags do 8086/88; Conhecer as representações

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo

Leia mais

Introdução a Engenharia Reversa

Introdução a Engenharia Reversa Introdução a Engenharia Reversa Por Maycon Maia Vitali a.k.a. 0ut0fBound maycon@consysonline.com.br http://outofbound.host.sk Conceito Resumo História da Engenharia Reversa - WWII Engenharia Reversa de

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Universidade de São Paulo

Universidade de São Paulo Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade I de Hardware e de Software 19/2/2007 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Introdução Introdução Conceituação

Leia mais

EEL Microprocessadores. Parâmetros e Variáveis Locais 4/5/2010. Capítulo 7 Livro Ziller. Prof. Raimes Moraes GpqCom EEL UFSC

EEL Microprocessadores. Parâmetros e Variáveis Locais 4/5/2010. Capítulo 7 Livro Ziller. Prof. Raimes Moraes GpqCom EEL UFSC EEL7030 - Microprocessadores Parâmetros e Variáveis Locais Capítulo 7 Livro Ziller Prof. Raimes Moraes GpqCom EEL UFSC Macro-Assembler Subrotina Near MSG1 DB JÁ VOU$' CODIGO SEGMENT INICIO:... AX,DADOS

Leia mais

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly Sistemas de Computação para Controle e Automação CIC132 Décima quarta aula: Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade I Fundamentos de Hardware e de Software 11/02/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Introdução Introdução Conceituação de SO Fundamentos de

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Organização de Computadoresres Dr. Jorge Luiz e Silva Cap 3 Estrutura da Unidade de Processamento 8086/8088 14 Registradores.PC Contador de programa.sp Ponteiro de Pilha.SP Índice

Leia mais

Conjunto de Instruções (ISA) I

Conjunto de Instruções (ISA) I Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3 Aula Teórica 3 Sumário: Descrição das arquitecturas 8086, 80286, 80386, 80486 e família Pentium. Leitura Recomendada: Capítulos 2, 3, 4, 5, 8, 10, 12, 13 e 14 - Hans-Peter Messmer, The Indispensable PC

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA 8 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos:

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Conjunto de Instruções: Elementos de uma instrução: Operation Code (Opcode): especifica a operação a ser executada. Source operand reference:

Leia mais

Linguagem de Montagem Assembly

Linguagem de Montagem Assembly Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de

Leia mais

Relatório MC404 - Trabalho 3 - Prof. Rodolfo

Relatório MC404 - Trabalho 3 - Prof. Rodolfo Relatório MC404 - Trabalho 3 - Prof. Rodolfo Gustavo Sverzut Barbieri, Ivens Prates Telles Alves Grupo: Gustavo Sverzut Barbieri RA: 008849 Ivens Prates Telles Alves RA: 008908 1 O Projeto O terceiro trabalho

Leia mais

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09

Leia mais

Introdução. Programando em Assembly. Primeiro Exemplo (2) Primeiro Exemplo (1) Linguagem Assembly do 8086/8088

Introdução. Programando em Assembly. Primeiro Exemplo (2) Primeiro Exemplo (1) Linguagem Assembly do 8086/8088 Introdução Programando em Assembly (Aula 16) Linguagem Assembly do 8086/8088 Para construirmos os programas em Assembly, devemos estruturar o fonte da seguinte forma (usando TASM como montador) Define

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código

Leia mais

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084 Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

Leia mais

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda

Leia mais

Sebenta ARQUITECTURA DE COMPUTADORES 2006/2007. Paulo Matos

Sebenta ARQUITECTURA DE COMPUTADORES 2006/2007. Paulo Matos Sebenta ARQUITECTURA DE COMPUTADORES 2006/2007 Paulo Matos Curso: Engenharia Informática Cadeira: Arquitectura de Computadores Ano curricular: 1º Semestre: 1º Docente: Alexandre Pereira Programa do ano

Leia mais

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712

Leia mais

Arquitetura da FPU Intel

Arquitetura da FPU Intel Arquitetura da FPU Intel Software Básico (2007/1) Hélcio Mello Motivação Aplicações que manipulam números reais: Jogos / Simuladores CAD (Computer Aided Design) Aplicações científicas Solução Usam co-processador

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Programando em Assembly

Programando em Assembly Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)

Leia mais

Arquitetura de Computadores Trabalhos Práticos

Arquitetura de Computadores Trabalhos Práticos Arquitetura de Computadores Trabalhos Práticos Trabalhos Práticos 1. Bloco de memória em Verilog 2. Y86 1 instrução 5 ciclos 3. Y86 pipeline 4. Y86 dual core com cache 5. Trabalho no CUDA 3 pontos 7 pontos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CHIP Ano MHz Transistors Mem 8086 1978 5

Leia mais

Área: Tecnolog ia e Computação Campus. Ciênc ia da Computação. Arqui te tu ra e Org de Computadores I. Computadores I

Área: Tecnolog ia e Computação Campus. Ciênc ia da Computação. Arqui te tu ra e Org de Computadores I. Computadores I Arquitetura e Organização de Computadores I Arquitetura de Software de um Microprocessador Arquitetura e organização do 8086 Registradores e Assembly do 8086 Página 286 do livro referência: STALLINGS,

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Fluxo de Controle Vimos até agora: beq, bne Uma nova instrução: slt $t0, $s1, $s2 if $s1 < $s2 then $t0 = 1 else $t0 = 0

Leia mais

Microprocessadores. Família x86 - Evolução

Microprocessadores. Família x86 - Evolução Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 14ª Aula Evolução Arquitetura Intel Parte 1 Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Conhecida como arquitetura x86 ou 8086 devido ao fato dos primeiros processadores

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a 5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a Roteiro A Família AVR Introdução ao ATmega328 Características Gerais Memórias Família AVR AVR = Advanced Virtual RISC Fundadores

Leia mais

II Componentes de um computador

II Componentes de um computador 1ª. Aula Introdução 0 Arquitetura x Organização I Os diferentes enfoques II Componentes de um computador 2 ARQUITETURA VISÍVEL P/ O PROGRAMADOR Exemplos: Conjuntos de instruções Largura em bits dos dados

Leia mais

8. Instruções de multiplicação e divisão

8. Instruções de multiplicação e divisão Cap8.1 8. Instruções de multiplicação e divisão 8.1 Instruções de multiplicação MUL fonte IMUL fonte MUL (multiply) -> usada com números em representação não-sinalizada IMUL (integer multiply) -> usada

Leia mais