Arquitetura de Computadores

Transcrição

Arquitetura de Computadores
Arquitetura de Computadores
Prof. João Bosco Jr.
Aula 2
(CPU)
Modelo do Computador
Von Neumann
●
●
Processadores
Memórias
●
●
E/S
Barramentos
Modelo do Computador
Von Neumann
CPU
Fluxo de Execução Normal PC => PC+1
Memória
0
PC
PC
1
ADD $3,$5
2
3
REGISTRADORES
BARRAMENTO
IR
IR
7
4
5
6
7
6
Processador
Organização
●
Instruções
–
–
●
OPCODE
OPERANDOS (0 ou mais)
Unidade de Controle
–
–
Busca
Decodifica (Determina o tipo) instruções
Instruções de Desvio
● Instruções de Movimentação de Dados
● Instruções Lógicas e Aritméticas
Unidade Lógica e Aritmética
●
●
–
Executa instruções Lógicas e Aritméticas (Obvio!)
Processador
Organização - Instruções
●
Addlw 50 (PIC)
1
1
1
0
OPCODE
0
1
0
0
1
1
0
0
1
0
LITERAL
ALU
W
Processador
Organização – Unidade de
Controle
●
Addlw 50 (PIC)
1
1
1
0
OPCODE
0
1
0
0
1
1
0
0
1
MUX
0
LITERAL
MEM
Unidade
De
Controle
ALU
W
Processador
Organização (Cont...)
●
Registradores
–
–
–
Memória interna a CPU de Alta velocidade
Usados para armazenamento temporário e controle
Registradores comuns (Não acessíveis geralmente)
●
●
●
●
●
–
PC (Program Counter): End. Próxima instrução
IR (Instruct Register): Instrução sendo executada
MBR(Memory Buffer Register): dado a ser lido/escrito na
mem.
MAR (Mememory Address Register ): endereço de/para
onde o dado será lido/escrito
STATUS: Resultado das operações (igual, overflow),
modo de execução (supervisor, normal), etc
Registradores de uso geral (Acessíveis)
Modelo do Computador
Von Neumann
Memória
CPU
0
PC
PC
1
MAR
MAR
ADD $3,$5
2
3
REGISTRADORES
BARRAMENTO
IR
IR
MBR
MBR
7
4
5
6
7
6
Processador
Caminho de dados
●
Registradores, ALU e Barramentos
Ciclo do Caminho de Dados
Processador
Demo
Processador
Execução de Instrução
1) Mover a próxima instrução entre reg e mem
2) Alterar o Registrador PC
3) Determinar o tipo da instrução trazida
4) Se a instrução usar operandos verifica a localização
5) Buscar operandos para registradores internos, se for o caso
6) Executar a instrução
7) Voltar a passo inicial
●
Ciclo Buscar – Decodificar - Executar
Processador
RISC x CISC
●
CISC: Conjunto Complexo de Instruções
–
–
–
A evolução da tecnológica dos processadores
levaram ao uso de microcódigo para fornecer
mais instruções ao programador
Instruções de máquina parecidas com as
instruções de alto nível
Consequência: Baixa complexidade do compilador
Processador
RISC x CISC
●
●
●
RISC: Conjunto Reduzido de Instruções
Registradores (até 32), ALU e Barramentos
Instruções
–
–
–
●
●
Registrador-Memória (STORE)
Memória-Registrador (LOAD)
Registrador-Registrador (passam pela ALU)
Compilador complexo
Instruções executadas diretamente pelo nível da lógica
digital
Processador
RISC x CISC - Resumo
●
●
●
●
●
●
●
●
●
CISC
●
Instruções complexas em
múltiplos ciclos
Qualquer instrução referencia
memória
Menor possibilidade de pipeline
Microprograma interpreta
instruções
Instruções de tamanho variado
Muitas instruções e modos de
endereçamento
Complexidade no microprograma
Conjunto pequeno de
registradores
●
●
●
●
●
●
●
●
RISC
Instruções consomem somente
um ciclo
Somente Load/Store referenciam
memória
Uso de pipeline
Hardware (nível da logica digital)
executa a instrução
Instruções de tamanho fixo
Poucas instruções e modo de
endereçamento
Complexidade esta no compilador
Muitos conjuntos de registradores
Processador
Princípios de Projeto (RISC)
●
●
●
Todas instruções devem ser executadas pelo HW (Abaixo o
microcódigo!)
Maximize a taxa de execução de instruções
Instruções devem ser fáceis de decodificar
–
–
●
Acesso à memória:
–
●
Comprimento fixo
Número de campos pequeno
Somente LOAD e STORE
Registradores: Quanto mais melhor
–
Pelo menos 32
Processador
Paralelismo
●
Velocidade de Execução = Instruções/s
–
–
●
De Instrução
–
●
Aumento do Clock (Limites tecnológicos)
Aumento do número de unidade funcionais
Pipeline, Arquiteturas Super Escalares
De Processador
–
Maquinas Matriciais, Vetoriais, sistemas
multiprocessados e MultiComputadores
Processador
Paralelismo de instrução
Pipelining
●
●
●
Divide a execução da instrução em etapas
Permite uso otimizado das estruturas internas do
processador
Etapas
–
–
–
–
–
Busca da Instrução
Decodifica a Instrução
Busca de Operandos
Execução da Instrução
Armazenamento do resultado no registrador
Processador
Paralelismo de instrução
Pipelining
Processador
Paralelismo de Instrução
●
Arquiteturas Superescalares
–
–
Executa várias instruções em um único ciclo
Várias ALUs no estágio 4
●
Neste estágio as instruções levam vários ciclos
Processador
Paralelismo de processador
●
Sistemas Multiprocessados
–
–
UMA (SMP)
NUMA
Processador
Paralelismo de Processador
●
Multicompudadores
–
–
●
Sistemas Distribuidos
Clusters computacionais
Supercomputadores
–
Matriciais
●
–
Vetoriais
●
–
●
Grande número de precessadores idênticos
executando a mesma sequencia de instruções em
diferentes conjuntos de dados
Processadores com auto grau de paralelismo de
entrada de dados
Uso para processamento de matrizes
Capitulo 8 (Tem mais sobre maq. paralelas)
Processador
Taxonomia de Flynn
●
Classificação das Arquiteturas
–
●
SISD - Single Instruction single Data
–
●
Uma única instrução agindo sobre um conjunto de
dados
MISD Multiple Instruction Single Data
–
–
●
Uma única instrução agindo sobre um dado
SIMD - Single Instruction Multiple Data
–
●
Proposta por Michael Flynn em 1966
Multiplas instruções Agindo sobre um dado
Nunca se ouviu falar de exemplos
MIMD Multiple Instruction Multiple Data
–
Varias Instruções agindo sobre vários dados
Processador
Taxonomia de Flynn
Processador
Taxonomia de Flynn
Aula 3
Memória
Memória
Bit
●
●
●
0 ou 1
Aritmética eficiente para computadores
Fácil de representar usando fenômenos físicos
–
●
Ausência ou presença de tensão ou corrente
Representação decimal (BCD)
–
Binary Coded Decimal (IBM)
●
●
●
●
Conjuntos de 4 bits representando os digitos 0-9
Disperdício 16 bits
BCD = 0 - 9999
Binário = 0 - 65535
Memória
Bit
●
●
Notações (representação de Binários)
Reduzem o tamanho da string
–
Octal
●
●
–
3 Bits (0-7)
Ex: 110 101 100 011 -> 65438
Hexa(decimal)
●
4 Bits (0-F)
–
●
–
A=11,B=12,C=13,D=14,F=15
1101 0110 0011 -> C6316 ou 0xC63
Questão:
●
●
738 -> binario?
0xFF -binario?
Memória
Endereços de Memória
●
●
●
●
●
Celula: Armazena informações
Memória: Conjunto de celulas endereçáveis
Memória: N Celulas -> 0 a N-1 Endereços
Celula: K bits -> 2k combinações diferente
Palavra: (?)
–
–
Agrupamento de Bytes
Unidade de transferencia entre CPU e Memória
Memória
Endereços de Memória
●
Diferentes disposições de uma memória de 96 bits
Memória
Ordenação de Bytes
●
Big Endian
–
–
Bytes numerados da esquerda para direita
Sparc, MainFrame, Arm (celulares com android)
Little Endian
●
–
–
Bytes numerados da direita para a esquerda
Intel
Memória
Ordenação de Bytes
●
●
●
Isso é um questão de arquitetura ou organização?
Problema na transmissão de dados entre hosts com
diferentes tipos de ordenação.
Little Endian x Big Endian
–
“Jim Smith, 21, 260”
Memória
Empacotamento e Tipos
●
Tecnologias de construção
–
–
SRAM (estática) – Uso de Flip-Flops – Cache
DRAM (dinâmica) – Uso de Capacitor
●
Refresh Necessário
Memória
Empacotamento e Tipos
●
Assincronas
–
FPM (Fast Page Mode)
●
–
Usadas nos primeiros 486
EDO (Extended Data Out)
Usadas em Pentium e 486
Síncronas: SDRAM (Frequencia do FSB)
●
●
–
SDR-SDRAM (Single data Rate)
●
–
DDR-SDRAM (Dual Data Rate)
●
–
Modos de operação: PC66, PC100, PC133
Dois lotes de dados por ciclo
QDR-SDRAM (Quad Data Rate)
●
●
Quatro lotes por ciclo
RAMBUS
Memória
Empacotamento e Tipos
●
SIPP - Single Inline Pin Package
–
●
SIMM - Single In Line Memory Module
–
●
30 ou 72 contatos
DIMM - Dual In Line Memory Module
–
●
Usado nos 286 e 386
168 e 184 (DDR) contatos
RIMM – Rambus In Line Memory Modules
Pin #
Memória
Empacotamento e Tipos
EX.:
SIMM-30
Pin # Signal Name
Signal Description
Signal Name Signal Description
1
VCC
+5 VDC
16
DQ4
Data 4
2
/CAS
Column Address Strobe
17
A8
Address 8
3
DQ0
Data 0
18
A9
Address 9
4
A0
Address 0
19
A10
Address 10
5
A1
Address 1
20
DQ5
Data 5
6
DQ1
Data 1
21
/WE
Write Enable
7
A2
Address 2
22
GND
Ground
8
A3
Address 3
23
DQ6
Data 6
9
GND
Ground
24
A11
Address 11
10
DQ2
Data 2
25
DQ7
Data 7
11
A4
Address 4
26
QP
Data Parity Out
12
A5
Address 5
27
/RAS
Row Address Strobe
13
DQ3
Data 3
28
/CASP
Something Parity
14
A6
Address 6
29
DP
Data Parity In
15
A7
Address 7
30
VCC
+5 VDC
Memória
Cache
●
Problema
–
–
●
●
●
CPU: evolução leva a aumento velocidade
Memória: evolução leva aumento do tamanho
Solução: Trazer memória para dentro da CPU
–
●
●
●
Restrição: Custo
Funcionamento: Principio da Localidade de Referência
Memória estática: SRAM
Técnicas de escrita na cache
–
–
●
Memórias mais lentas que CPU
Causa: Barramento
Write-Back
Write-Through
Cache em níveis
–
L1, L2, L3
Memória
Cache
FIM

Documentos relacionados

1 2 – Revisão de Hardware 2.1 – Hardware O hardware é

1 2 – Revisão de Hardware 2.1 – Hardware O hardware é barramentos processador-memória, como o Hyper Transport da AMD e o Front Side Bus da Intel, são pequenos e de alta velocidade, em virtude do trafego de informações entre o processador e a memória. ...

Leia mais