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 Mecanismos de Entrada/Saída Modos de endereçamento da memória Exemplo específico: Suporta instrução de multiplicação? A preservação de uma mensma arquitetura ao longo do tempo permite a reutilização da base de sw dos clientes (mantém a fidelidade dos clientes) IBM 370, Intel IA-32. ORGANIZAÇÃO TRANSPARENTE PARA O PROGRA- MADOR Exemplos: Sinais de controle Interface com periféricos Tecnologia de memória utilizada Exemplo específico: Como é implementado o suporte à instrução de multiplicação: via hw específico ou uso repetido da unidade de soma? Melhorias na organização podem aproveitar avanços tecnológicos mantendo a coerência com a arquitetura existente. 3
A visão do usuário A visão do programador A visão do arquiteto A visão do projetista 4
HW S.O. 5
PROGRAMAS APLICATIVOS LINGUAGENS DE ALTO NÍVEL INDEPENDENTE DE HW ALTO NÍVEL DEPENDENTE DE HW LINGUAGEM ASSEMBLY BAIXO NÍVEL LINGUAGEM DE MÁQUINA MICROPROGRAMAÇÃO HW ESPECIFICAÇÃO ISA Instruction Set Architecture 6
LINGUAGEM DE ALTO NÍVEL COMPILADOR COMPILADOR LINGUAGEM ASSEMBLY ASSEMBLER LINGUAGEM DE MÁQUINA 7
CPU (PROCESSADOR) MEMÓRIA INTERCONEXÃO (BARRAMENTOS) I/O (ENTRADA/SAÍDA) 8
MEMÓRIA ENDEREÇOS CPU DADOS CONTROLE TECLADO VÍDEO I/O SOM REDE... 9
ALE A19..16 / S6..3 BHE / S7 G LATCH 373 A19..16 BHE OBTENÇÃO DOS BARRAMENTOS DE ENDEREÇO E DADOS NO 8086 (1978) 8086 A15..0 / D15..0 *DEN DT / *R G LATCH 373 G LATCH 373 G LATCH BIDIR 245 DIR G LATCH BIDIR 245 DIR A15..8 A7..0 D15..8 D7..0 ALE: ADDRESS LATCH ENABLE *DEN: DATA ENABLE (ACTIVE LOW) DT/*R: DATA TRANSMIT/RECEIVE 10
CAMINHO DE DADOS ALU... REGISTRADORES UNIDADE DE CONTROLE PROCESSADOR 11
BARRAMENTO DE SISTEMA BUS C BUS A BUS B Registradores de Uso Geral PC IR MAR MDR A ALU C B 12
REGISTRADORES DE USO GERAL Diagrama em Blocos do Processador 8086 REGISTRADORES DE SEGMENTO Execution Unit (EU) Bus Interface Unit (BIU) AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI IP CS 0000 DS 0000 SS 0000 ES 0000 Lógica de Controle do Barramento Barramento do 8086 ALU Unidade de Controle Estado Reg. Instruções 1 2 3 4 5 6 13
B A C IN F 1 F 0 AND I 0 S 1 S 0 OR I 1 I 2 O F A S 1 S 0 S I 3 MUX F 0 XOR B FULL ADDER OR C I C O C OUT ALU 1 Bit 14
Processador Memória Entrada e Saída (I/O) Barramentos 15
Ciclo de Execução LI DI LO EI AR LI DI LO EI AR... Fase de Execução LI LEITURA DA INSTRUÇÃO (INSTRUCTION FETCH) DI DECODIFICAÇÃO DA INSTRUÇÃO LO LEITURA DO(S) OPERANDO(S) (OPERAND FETCH) EI EXECUÇÃO DA INSTRUÇÃO AR ARMAZENAMENTO DO RESULTADO INEFICIÊNCIA: A UNIDADE DE CONTROLE FICA OCIOSA DURANTE A LEITURA E DECOFIFICAÇÃO DA INSTRUÇÃO A ALU FICA ADICIONALMENTE OCIOSA DURANTE A OBTENÇÃO DO(S) OPERANDO(S) 16
APROVEITAMENTO DO TEMPO OCIOSO: PIPELINE TEMPO (CLOCKS) ESTÁGIO 1 2 3 4 5 6 7 8 9 10 E1:LI I1 I2 I3 I4 I5 I6............ E2:DI I1 I2 I3 I4 I5 I6......... E3:LO I1 I2 I3 I4 I5 I6...... E4:EI I1 I2 I3 I4 I5 I6... E5:AR I1 I2 I3 I4 I5 I6 17
PIPELINE VISÃO ALTERNATIVA: TEMPO (CLOCKS) INSTRUÇÃO 1 2 3 4 5 6 7 8 9 10 I1 LI DI LO EI AR............... I2 LI DI LO EI AR............ I3 LI DI LO EI AR......... I4 LI DI LO EI AR...... I5 LI DI LO EI AR... I6 LI DI LO EI AR TEMPO DE EXECUÇÃO DE I1-I6 SEM PIPELINE: TEMPO DE EXECUÇÃO DE I1-I6 COM PIPELINE: 18
NÍVEL ISA NÍVEL ISA MICROPROGRAMAÇÃO HARDWARE HARDWARE IMPLEMENTAÇÃO CISC IMPLEMENTAÇÃO RISC 19
ISA 1 ISA 2 ISA 3 MICROPROGRAMAÇÃO 1 MICROPROGRAMAÇÃO 2 MICROPROGRAMAÇÃO 3 HARDWARE VANTAGEM DA IMPLEMENTAÇÃO CISC 20
ENDEREÇO DECIMAL 2 32 1 ENDEREÇO HEXADECIMAL FFFF FFFF h FFFF FFFE h FFFF FFFD h n bits... 2 1 0 0000 0002 h 0000 0001 h 0000 0000 h VISÃO LÓGICA DA MEMÓRIA DE SISTEMA 21
MEMÓRIA ENDEREÇO READ DADOS WRITE PARÂMETROS: TEMPO DE ACESSO, TEMPO DE CICLO Ciclo de Leitura: 1. Colocar endereço do dado no barramento 2. Ativar linha de controle Read. 3. Aguardar dado disponível na saída. 4. Ler o dado no barramento de dados 5. Desativar linha de controle Read. Ciclo de Escrita: 1. Colocar endereço do dado no barramento. 2. Colocar dado a escrever no barramento. 3. Ativar linha de controle Write. 4. Aguardar a memória armazenar o dado. 5. Desativar linha de controle Write. DIAGRAMA EM BLOCOS DA MEMÓRIA DE SISTEMA 22
MSB 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 LSB F 4 9 8 B 7 0 F H F 4 9 8 B 7 0 F 103 102 101 100 0 F B 7 9 8 F 4 LITTLE ENDIAN BIG ENDIAN FORMATAÇÃO DE DADOS NA MEMÓRIA 23
GULLIVER S TRAVELS 1726 (V1.0) 1735 (V1.1) by JONATHAN SWITF 1647 1745 Little End Big End 24
UNIDADE DE CONTROLE UNIDADE DE INTEIROS UNIDADE DE PTO FLUTUANTE CACHE DE INSTRUÇÕES CACHE DE DADOS PROCESSADOR BIU BUS INTERFACE UNIT BARRAMENTO DESISTEMA (SYSTEM BUS) MEMÓRIA CACHE 25
ARQUITETURA VON NEUMANN: MEMÓRIA DE DADOS E DE INSTRUÇÕES É ACESSADA ATRAVÉS DE UM BARRAMENTO COMUM HW É MAIS SIMPLES, MAS A PIPELINE É MENOS EFICIENTE. ARQUITETURA HARVARD: MEMÓRIA DE DADOS E MEMÓRIA DE INSTRUÇÕES SÃO ACESSADAS ATRAVÉS DE BARRAMENTOS SEPARADOS HW MAIS COMPLEXO MAS AUMENTA A EFICIÊNCIA DAS PIPELINES ARQUITETURA PSEUDO-HARVARD (EX. INTEL): MEMÓRIA EXTERNA TEM BARRAMENTO COMUM PARA DADO E INSTRUÇÕES MEMÓRIA INTERNA (CACHE) TEM BARRAMENTOS SEPARADOS PARA DADOS E INSTRUÇÕES 26
VIRTUAL DISCO RÍGIDO EM USO FÍSICA MEMÓRIA VIRTUAL 27
ENDEREÇOS Registradores de I/O DADOS Neste exemplo temos Isolated I/O : Os registradores têm espaço próprio de endereçamento DADOS I/O READ STATUS COMANDOS DISPOSITIVO DE I/O I/O WRITE CONTROLADOR DE I/O Quando os registradores são acessados por meio de endereços de memória temos memory mapped I/O DIAGRAMA EM BLOCOS PARA INTERFACE GENÉRICA DE I/O 28
8 linhas de dados 20 linhas de endereço Linhas de controle CPU 8088 (1981) 4,7 MHz ISA Slots Memória RAM Slots Cartões ISA I/O BOOT ROM Teclado Spkr 29
30
VIDEO GFX AGP 2x 66 MHz CPU PONTE NORTE FSB 133 MHz CHIPSET SDRAM PCI Slots PCI 33 MHz CD USB HDD IDE (ATA) PONTE SUL ETHERNET ISA 4,7/8 MHz SCSI BOOT ROM MODEM AUDIO SUPER IO Teclado Mouse Disquette Impressora Seriais 31
CPU CACHE VIDEO GFX AGP 4x 133 MHz FSB MEMORY CONTROLLER HUB (MCH) DDR SDRAM CD USB HDD IDE (ATA/SATA) HUB LINK IO CONTROLLER HUB (ICH) PCI 33/66 MHz PCI Slots MODEM AC/MC 97 LPC IEEE 1394 SCSI AUDIO BOOT ROM ETHERNET SUPER IO Teclado Mouse Disquette Impressora Seriais 32
CPU CACHE CPU CACHE FSB (PCIe) VIDEO GFX DMI 3.0 ROOT COMPLEX PCIe USB PCIe DDR SDRAM PCIe Switch 10 Gb ETHERNET USB HUB Teclado Mouse Impressora RAID Array PCIe Switch PONTE PCI/PCI-X PCI Slots SCSI PCIe Slot IEEE 1394 PCI /PCI-X 33
MODO REAL MODO PROTEGIDO PAGINAÇÃO DA MEMÓRIA CACHE SIMD...... 1978 8086 I:16/E:20/D:16 1982 80286 I:16/E:24/D:16 1985 80386 I:32/E:32/D:32 1989 80486 I:32/E:32/D:32 1995 PENTIUM I:32/E:36/D:64 FPU 8087 FPU 80287 FPU 80387 FPU FPU MMX 1979 8088 I:16/E:20/D:8 1988 80386 - SX I:32/E:32/D:16 Legenda: I:x - Largura dos registradores E:x - Linhas de endereços D:x - Linhas de dados 34
NA PRÓXIMA AULA: ABORDAREMOS O TEMA PROTEÇÃO DE MEMÓRIA QUESTIONÁRIO Q01 DEVERÁ SER RESPONDIDO ATÉ AS 19:00 h DA PRÓXIMA SEGUNDA Bibliografia: P. Dardamudi, Sivarama, Fundamentals of Computer Organization and Design, Springer, 2002 35