1ª. Aula
Introdução
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 2
0 – Arquitetura x Organização
I – Os diferentes enfoques
ARQUITETURA
ORGANIZAÇÃO
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
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
A visão do usuário
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 4
A visão do programador
A visão do arquiteto
S.O.
PROGRAMAS APLICATIVOS
INDEPENDENTE DEHW
DEPENDENTE DEHW
ALTO NÍVEL
BAIXONÍVEL
LINGUAGENS DE ALTO NÍVEL
LINGUAGEM ASSEMBLY LINGUAGEM DE MÁQUINA HW MICROPROGRAMAÇÃO ESPECIFICAÇÃO ISA Instruction Set Architecture
LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY LINGUAGEM DE MÁQUINA COMPILADOR ASSEMBLER COMPILADOR
I/O (ENTRADA/SAÍDA) CPU (PROCESSADOR) MEMÓRIA INTERCONEXÃO (BARRAMENTOS)
I/O CPU ME MÓ RI A ENDEREÇOS DADOS CONTROLE TECLADO VÍDEO SOM REDE
8086
*DEN DT / *R ALE A19..16 / S6..3 BHE / S7 A19..16 BHE A15..0 / D15..0 A15..8 A7..0 D15..8 D7..0Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 10
LATCH 373 G LATCH 373 G LATCH 373 G LATCH BIDIR 245 G DIR LATCH BIDIR 245 G DIR OBTENÇÃO DOS BARRAMENTOS DE ENDEREÇO E DADOS NO 8086 (1978) ALE:
ADDRESS LATCH ENABLE
*DEN:
DATA ENABLE (ACTIVE LOW)
DT/*R:
CAMINHO DE DADOS ALU REGISTRADORES
...
UNIDADE DE CONTROLEALU C A B Registradores de Uso Geral
BUS C BUS A BUS B
PC IR MAR MDR BARRAMENTO DE SISTE MA
Diagrama em Blocos do Processador 8086
Execution Unit (EU) Bus Interface Unit (BIU)
AH AL Unidade de Controle AX BH BL BX CH CL CX DH DL DX SP BP SI DI ALU Estado 1 2 3 4 5 6 ES 0000 SS 0000 DS 0000 CS 0000 Lógica de Controle do Barramento Barramento do 8086 IP REGISTRADORES DE USO GERAL REGISTRADORES DE SEGMENTO
ALU – 1 Bit MUX I0 I1 I2 I3 S1 S0 O FULLADDER A B CI CO S1 S0 S B A CIN F1 F0 F0 COUT F OR AND OR XOR
Memória
Entrada e Saída (I/O)
Barramentos
LI DI LO EI AR LI DI LO EI AR
...
Ciclo de ExecuçãoFase 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)
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
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
“PIPELINE” – VISÃO ALTERNATIVA:
TEMPO DE EXECUÇÃO DE I1-I6 SEM PIPELINE: _______
TEMPO DE EXECUÇÃO DE I1-I6 COM PIPELINE: _______
NÍVEL ISA NÍVEL ISA
MICROPROGRAMAÇÃO
HARDWARE
VANTAGEM DA IMPLEMENTAÇÃO CISC
ISA 1 ISA 2 ISA 3
MICROPROGRAMAÇÃO 2
MICROPROGRAMAÇÃO 1 MICROPROGRAMAÇÃO 3
ENDEREÇO DECIMAL ENDEREÇO HEXADECIMAL FFFF FFFD h FFFF FFFE h
...
0 0000 0001 h 1 0000 0002 h 2 FFFF FFFF h 2 32 – 1 n bitsDIAGRAMA EM BLOCOS DA MEMÓRIA DE SISTEMA MEMÓRIA READ WRITE ENDEREÇO DADOS 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”.
1 1 1 1 0 1 0 0 LSB MSB 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 F 4 9 8 B 7 0 F H 100 101 102 103
LITTLE ENDIAN BIG ENDIAN
0 F B 7 9 8 F 4 F 4 9 8 B 7 0 F
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 24
GULLIVER’S TRAVELS – 1726 (V1.0)– 1735 (V1.1)
by JONATHAN SWITF – 1647 – 1745
Little
PROCESSADOR BIU – BUS INTERFACE UNIT CACHE DE DADOS UNIDADE DE INTEIROS UNIDADE DE PTO FLUTUANTE UNIDADE DE CONTROLE CACHE DE INSTRUÇÕES
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 26
ARQUITETURA VON NEUMANN:
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
MEMÓRIA DE DADOS E DE INSTRUÇÕES É ACESSADA ATRAVÉS DE UM
BARRAMENTO COMUM – HW É MAIS SIMPLES, MAS A PIPELINE É
MENOS EFICIENTE.
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
VIRTUAL
DISCO
RÍGIDO
FÍSICA
DIAGRAMA EM BLOCOS PARA INTERFACE GENÉRICA DE I/O CONTROLADOR DE I/O DADOS STATUS COMANDOS DADOS ENDEREÇOS I/O READ I/O WRITE DISPOSITIVO DE I/O
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 28 Neste exemplo temos
“Isolated I/O” :
Os registradores têm espaço próprio de endereçamento
Registradores de I/O
Quando os registradores são acessados por meio de endereços de memória
CPU 8088 (1981) Memória RAM Slots Cartões ISA I/O BOOT ROM Teclado Spkr
4,7 MHz
8 linhas de dados
20 linhas de endereço
CPU MODEM AUDIO BOOT SDRAM Teclado Mouse ETHERNET SCSI PONTE NORTE PONTE SUL FSB 133 MHz PCI 33 MHz GFX VIDEO AGP 2x 66 MHz HDD CD IDE (ATA) ISA 4,7/8 MHz USB PCI Slots CHIPSET
Fevereiro 2016 Arq. e Org. de Comp. - Introdução - Prof. Gortan 32 DDR SDRAM Teclado Mouse Disquette Impressora Seriais IEEE 1394 SCSI PCI 33/66 MHz GFX VIDEO AGP 4x 133 MHz HDD CD IDE (ATA/SATA) USB PCI Slots ETHERNET BOOT ROM SUPER IO LPC MODEM AUDIO AC/MC 97 MEMORY CONTROLLER HUB (MCH) IO CONTROLLER HUB (ICH) HUB LINK FSB CPU CACHE
DDR SDRAM
GFX VIDEO
DMI 3.0
CPU CACHE CPU CACHE
ROOT COMPLEX FSB (PCIe) Teclado Mouse Impressora USB HUB USB PONTE PCI/PCI-X 10 Gb ETHERNET PCIe PCIe Switch PCIe PCI /PCI-X PCI Slots RAID Array PCIe Switch
1989
I:32/E:32/D:3280486
FPU
1978
I:16/E:20/D:168086
FPU 8087
1982
I:16/E:24/D:1680286
FPU 80287
1985
I:32/E:32/D:3280386
FPU 80387
1995
I:32/E:36/D:64PENTIUM
FPU
MMX
M
ODOP
ROTEGIDOP
AGINAÇÃO DAM
EMÓRIAC
ACHEM
ODOR
EALSIMD
...
....
1979
I:16/E:20/D:88088
1988
I:32/E:32/D:1680386 - SX
Legenda:
I:x - Largura dos registradores E:x - Linhas de endereços
D:x - Linhas de dados