Escolar Documentos
Profissional Documentos
Cultura Documentos
1 3
• Composto por:
• Unidade de controle (UC) (Control Unit)
• Datapath (via de dados, caminho de dados):
• Unidade lógico-aritmética (ULA)
2 • Conjunto de registradores 4
Unidade de Controle Datapath
• Comanda datapath, memória e dispositivos de E/S sobre o que fazer, • Registradores:
de acordo com instruções do programa • Pequenas unidades capazes de guardar informações
(dados, endereços, instruções)
• Controla execução das instruções no processador:
• Dispositivos de armazenamento de rápido acesso ⇒
• Comanda busca na memória da próxima instrução a ser executada,
Custo elevado ⇒ Processador tem poucos registradores
trazendo-a para o processador
• Meio de armazenamento volátil
• Decodifica instrução (determina que operação ela representa)
• Registradores de propósito específico e de uso geral
• Comanda operação a ser realizada pelo datapath
• Variam de um tipo de processador para outro
• Quase todos os processadores têm registradores para:
• Endereço da próxima instrução a executar (PC – Program Counter)
• Próxima instrução a executar (IR – Instruction Register)
• Endereço do dado que está no topo da pilha de execução
(SP – Stack Pointer)
• Uso geral: realização de operações lógico-aritméticas
5 7
• Conjunto de registradores • Qualquer posição pode ser acessada com mesmo tempo de acesso
ALU
• Unidade lógico-aritmética (ULA):
• Realiza operações lógicas e aritméticas • Acesso mais lento que registradores ⇒
(comparação, soma, subtração, ...) PC Menor custo ⇒
IR Maior capacidade de armazenamento
Unidade de Controle
• Meio de armazenamento volátil
• Exemplo:
• UC busca na memória instrução a executar (por exemplo: add A, B)
• ALU realiza soma dos 2 operandos, produzindo um resultado 6 8
Memória Principal Dispositivos de Entrada e Saı́da
• Pode ser vista como estrutura unidimensional: • Dispositivos para comunicação entre usuário e computador:
• Cada posição é uma célula onde pode-se armazenar uma informação • Permitem que usuário forneça e receba dados ao/do computador
o
• Todas as células têm mesmo n de bits • Exemplos:
• Cada célula possui um endereço pelo qual é acessada • Teclado, vídeo, mouse, impressora
Datapath Datapath
10 12
swap(int v[], int k)
Linguagens de High-level
{int temp;
Barramentos language
temp = v[k];
Programação program v[k] = v[k+1];
(in C) v[k+1] = temp;
• Conjunto de fios por onde trafegam informações do processador para }
memória e para dispositivos de E/S e vice-versa • Linguagem alto nível
• Informações podem ser: • Tradutor: Compilador Compiler
• Dados
• Endereços de memória swap: muli $2, $5,4
Assembly add $2, $4,$2
language lw $15, 0($2)
• Sinais de controle • Linguagem de montagem program lw $16, 4($2)
(for MIPS) sw $16, 0($2)
• Tradutor: Montador sw $15, 4($2)
jr $31
Assembler
• Linguagem de máquina
00000000101000010000000000011000
Binary machine 00000000000110000001100000100001
language 10001100011000100000000000000000
program 10001100111100100000000000000100
(for MIPS) 10101100111100100000000000000000
10101100011000100000000000000100
13 0000001111100000000000000000100015
14 16
Independência de Máquina
Geração do Programa Executável
do Programa em Linguagem Alto Nı́vel
• A partir do programa fonte em uma linguagem alto nível (por exemplo C):
Executable
Linker file
• Passos:
• Compilação
• Montagem
• Link-edição
17 19
...
22 24
Barramento
Exemplo 1: Programa carregado na memória Exemplo 1: Instrução load – Executa instrução
Processador Memória Principal Processador Memória Principal
Conjunto de 0 Conjunto de 0
Registradores .. Registradores ..
. .
0 0
.. ..
. .
8 100 load R8, 200 instruções de 8 5 100 load R8, 200
9 9
.. 104 add R9, R8, R8 máquina e não .. 104 add R9, R8, R8
. .
108 store R9, 204 de montagem 108 store R9, 204
.. ..
. .
ALU ALU
200 5 200 5
... ...
25 27
Barramento Barramento
200 5 200 5
... ...
26 28
Barramento Barramento
Exemplo 1: Instrução add – Busca instrução Exemplo 1: Instrução add – Atualiza PC
Processador Memória Principal Processador Memória Principal
Conjunto de 0 Conjunto de 0
Registradores .. Registradores ..
. .
0 0
.. ..
. .
8 5 100 load R8, 200 8 5 100 load R8, 200
9 9 10
.. 104 add R9, R8, R8 .. 104 add R9, R8, R8
. .
108 store R9, 204 108 store R9, 204
.. ..
. .
ALU ALU
200 5 200 5
... ...
29 31
Barramento Barramento
Exemplo 1: Instrução add – Executa instrução Exemplo 1: Instrução store – Busca instrução
Processador Memória Principal Processador Memória Principal
Conjunto de 0 Conjunto de 0
Registradores .. Registradores ..
. .
0 0
.. ..
. .
8 5 100 load R8, 200 8 5 100 load R8, 200
9 10 9 10
.. 104 add R9, R8, R8 .. 104 add R9, R8, R8
. .
108 store R9, 204 108 store R9, 204
.. ..
. .
ALU ALU
200 5 200 5
... ...
30 32
Barramento Barramento
Exemplo 1: Instrução store – Executa instrução Sistema Computacional
Processador Memória Principal
• Principais componentes:
Conjunto de 0
Registradores .. • Computador
.
0
..
.
• Periféricos: Dispositivos de E/S
8 5 100 load R8, 200
9 10
.. 104 add R9, R8, R8
.
108 store R9, 204
..
.
ALU
200 5
PC 108 204 10
..
.
IR store R9, 204
Unidade de Controle
...
33 35
Barramento
200 5
PC 112 204 10
..
.
IR store R9, 204
Unidade de Controle
...
34 36
Barramento