Introdução aos icroprocessadores António. G. Pinheiro Covilhã - Portugal pinheiro@ubi.pt
EVOLUÇÃO DE COPUTADORES Evolução histórica 1a Geração Década de 40 Baseados em Válvulas 2a Geração Década de 50 Baseados em Transistores 3a Geração Década de 60 Baseados em C.I.s que implementavam lógica discreta 4a Geração Década de 70 Baseados em C.I.s µprocessadores
EVOLUÇÃO DE µprocessadores Evolução histórica Palavra Performance Exemplos 4 bit nibble 8 bit byte baixa INTEL 4004 ( 1971) média INTEL 8008; INTEL 8080; INTEL 8085; INTEL 8048; INTEL 8051; ZILOG Z80; OTOROLA 6800 16 bit alta INTEL 8088; INTEL 8086; INTEL 80286; ZILOG Z8000; OTOROLA 68000 32 bit muito alta INTEL 80386; INTEL 80486; INTEL Pentium; OTOROLA 68020; OTOROLA 68040 64 bit muito alta POWER PC; DIGITAL ALPHA; AD ATHLON64
EVOLUÇÃO DE µprocessadores Evolução histórica µprocessadores 1971 INTEL 4004 (4 bits) 1972 INTEL 8008 (8 bits) National Semiconductor IP-16
EVOLUÇÃO DE µprocessadores Evolução histórica 1973... 1977 C.I. de lógica discreta Tipicamente: 8 bits de dados 16 bits de endereço (64 kbytes) Conjunto de instrucções complexo Stack na memória Assembly Relógio de 1 Hz Coprocessadores aritméticos escravos (ponto flutuante)
EVOLUÇÃO DE µprocessadores Evolução histórica 1977... µprocessadores incluem números de vírgula flutuante (alguns incluem coprocessador aritmético) Permitem: Computadores pessoais (PC) Desenho Assistido por Computador (CAD) Sistemas com partilha temporal Linguagens de Alto Nível (Pascal, Fortran, C, Basic, etc)
odelo de von Neumann Barramento de Endereços µprocessador emória Entrada /Saída Barramento de Dados Sinais de Controlo
Estrutura de µprocessadores R W S S 1 0 2 1 0 W A Z A ALU Acumulador atriz de Registos Registo α Registo β Registo γ Registo ε R A "Buffer" CK
Estrutura de µprocessadores R W S S 1 0 2 1 0 W A Z A ALU Acumulador atriz de Registos Registo α Registo β Registo γ Registo ε R A "Buffer" "Buffer" W D R D CK Barramento de Dados Registo de Endereço I E W E R E Barramento de Endereços
Estrutura de µprocessadores R W S S atriz de Registos 1 0 Registo de Instrucção W I R I 2 1 0 ALU Registo α Registo β Registo γ Controlador W A Z A Acumulador Registo ε 0 Z A 1 W A R E W E S 1 S 0 W D R D R A "Buffer" "Buffer" W D R D 2 R A I E R W W I R I CK Barramento de Dados Registo de Endereço I E W E R E Barramento de Endereços
Estrutura de µprocessadores R W S S atriz de Registos 1 0 Registo de Instrucção W I R I 2 1 0 ALU Registo α Registo β Registo γ Controlador W A Z A Acumulador Registo ε 0 Z A R P 1 W A W P R E W E S 1 S 0 W D R D R A "Buffer" "Buffer" W D R D 2 R A I P I E R W W I R I CK Barramento de Dados Contador de Programa I P W P R P Registo de Endereço I E W E R E Barramento de Endereços
ALU - Unidade Lógica e Aritmética 2 1 0 OPERAÇÃO 0 0 0 A + B 0 0 1 A - B 0 1 0 A + 1 0 1 1 A - 1 1 0 0 A AND B 1 0 1 A OR B 1 1 0 A EXOR B 1 1 1 NOT(A)
Instrucções TRÊS GRUPOS: - OPERAÇÕES DE OVIENTO DE DADOS - OPERAÇÕES ARITÉTICAS E LÓGICAS - OPERAÇÕES DE CONTROLO DE PROGRAA EXEPLO: INSTRUCÇÕES DE 8 BITS: I 7 I 6 TIPO DE OPERAÇÃO 0 - ARITÉTICAS E LÓGICAS 1 0 OVIENTO DE DADOS 1 1 CONTROLO DE PROGRAA
OPERAÇÕES DE OVIENTO DE DADOS Instrucções I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 NEÓNICA OPERAÇÃO 1 0 0 0 s 1 s 0 d 1 d 0 OV R d,r s OVE CONTEÚDO DE R s PARA R d 1 0 1 0 0 0 d 1 d 0 LD R d CARREGA R d CO CONTEÚDO DO ENDEREÇO 1 0 1 1 s 1 s 0 0 0 ST R s ARAZENA R s NO ENDEREÇO 1 0 0 1 s 1 s 0 0 1 OV EL,R s OVE R s PARA A PARTE BAIXA DO REGISTO DE ENDEREÇO 1 0 0 1 s 1 s 0 1 0 OV EH,R s OVE R s PARA A PARTE ALTA DO 1 0 0 1 s 1 s 0 1 1 OV PC,EH REGISTO DE ENDEREÇO OVE REGISTO DE ENDEREÇO PARA O CONTADOR DE PRO- GRAA
OPERAÇÕES ARITÉTICAS E LÓGICAS Instrucções I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 NEÓNICA OPERAÇÃO 0 0 0 0 0 0 0 0 NOP NO OPERATION 0 0 1 0 d 1 d 0 s 1 s 0 ADD R d,r s R d R d + R s 0 0 1 1 d 1 d 0 s 1 s 0 SUB R d,r s R d R d - R s 0 0 0 0 d 1 d 0 1 1 INC R d R d R d + 1 0 0 0 1 d 1 d 0 1 1 DEC R d R d R d - 1 0 1 1 0 d 1 d 0 s 1 s 0 AND R d,r s R d R d AND R s 0 1 1 1 d 1 d 0 s 1 s 0 OR R d,r s R d R d OR R s 0 1 0 0 d 1 d 0 s 1 s 0 EXOR R d,r s R d R d EXOR R s 0 1 0 1 d 1 d 0 1 1 NOT R d R d NOT(R d )
Instrucções OPERAÇÕES DE CONTROLO DE PROGRAA I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 NEÓNICA OPERAÇÃO 1 1 0 0 0 0 0 0 JP SALTO INCONDICIONAL 1 1 0 0 0 C 2 C 1 C 0 JCC SALTO CONDICIONAL 1 1 0 0 1 0 0 0 CALL ROTINA INCONDICIONAL 1 1 0 0 1 C 2 C 1 C 0 CCC ROTINA CONDICIONAL 1 1 0 1 0 0 0 0 RET RETORNO DE ROTINA