Organização de Computadores

Propaganda
25/04/2011
Organização de Computadores
ORGANIZAÇÃO DE
COMPUTADORES
Curso: Tecnologia em Gestão da Tecnologia da Informação
Prof.: Helio
Ano: 2011
Instrução
• Precisam ser entendidas pelo processador
• Precisam ser decodificadas e executadas
• Busca instrução
• Decodifica instrução
Ciclo da Instrução
• Busca os dados
• Executa Instrução
• Ela deve possuir um formato
• Define o que é a instrução
• E quais informações ela ira passar ao processador
• É formada por um conjunto de campo
• O nome dado a esse conjunto de campos é “Palavra”
Prof.: Helio
1
25/04/2011
Instrução
• Podem possuir de 1 a 4 campos
• Precisam conter para serem executadas
• Código do operando
• Endereço dos operandos
• O código do operando deve ser único
• Opecode (operation code)
• Cada operação deve ser executada sobre operandos ou variáveis
• As variáveis são classificadas pelo papel que assumem
• Operando Fonte 1
• Operando Fonte 2
• Operando Destino
Prof.: Helio
Instruções
• Podemos ter instruções com:
Prof.: Helio
2
25/04/2011
Modo de endereçamento
• Classificação dos operandos
• Registrador
Prof.: Helio
Modo de endereçamento
• Direto
Prof.: Helio
3
25/04/2011
Modo de endereçamento
• Indireto
Prof.: Helio
Modo de endereçamento
• Indexado
Prof.: Helio
4
25/04/2011
Modo de endereçamento
• O número de bits do código de operação depende de quantas instruções tem
o set de instruções da máquina.
8
• Ex: um processador com 256 instruções (ou 2 instruções) teria
necessidade de 8 bits para representar o código de operação.
Lembre-se que cada instrução precisa ter o seu código binário!
Um processador pode ter suas instruções com código de
operações com tamanho fixo ou variável.
• Códigos de operação com tamanho fixo são mais fáceis de
implementar e manipular durante a execução de programas
Prof.: Helio
Modo de endereçamento
• Exemplos de instruções
Instrução
Significado
ADD A,B
Somar A com B
MOV A, B
Mover o valor de B para A
MULT R1, R2
Multiplicar R1 por R2
INC R1
Incrementar em 1 o valor de R1
Prof.: Helio
5
25/04/2011
Modo de endereçamento
• Exemplos de instruções de uma maquina hipotética
Instrução
Significado
Operação
Código
Load
Carregar no acumulador
ACC <-- op
0000
Store
Salvar na memória
op <-- ACC
0001
Add
Somar
ACC <-- ACC + op
0010
Sub
Subtrair
ACC <-- ACC - op
0011
Mult
Multiplicar
ACC <-- ACC * op
0100
Div
Dividir
ACC <-- ACC / op
0101
Jmp
Desviar
CI <-- op
0110
Jz
Desviar, se ACC igual zero
CI <-- op, se ACC = 0
0111
Jnz
Desviar, se ACC não zero
CI <-- op, se ACC != 0
1000
Read
Ler entrada
op <-- entrada
1001
Print
Imprimir
saida <-- op
1010
Stop
Terminar
1100
Prof.: Helio
Modo de endereçamento
• Exercícios
• 1. O que se pode entender por Conjunto de Instruções?
• 2. Quais os componentes de uma palavra de instrução?
• 3. Quais os principais modos de endereçamento e como cada
um funciona?
• 4. Represente em número exponencial o set de uma maquina
de 8 operandos.
• 5. Represente um palavra de 20 bits com um código de
operação de 4 bits e dois operandos.
Prof.: Helio
6
25/04/2011
Registradores de Controle
• Representação Funcional UCP
Prof.: Helio
Registradores de Controle
Registradores Importantes para execução das instruções
• CI Contador de Instruções ou PC - Program Counter (Inglês) -
armazena o endereço da próxima instrução a ser executada, tem
sempre o mesmo tamanho do REM
• RI Registrador de Instrução ou IR - Instruction Register (Inglês) armazena a instrução a ser executada
• Registrador de Dados em Memória (RDM) – Registrador de Dados
em Memória, um para informar o dado a ser escrito na memória,
outro para receber um dado lido da memória
• Registrador de endereçamento à memoria (MAR) – Contem o
endereço de uma posição de memória
Prof.: Helio
7
25/04/2011
Registradores de Controle
• Outros registradores
• DI - Circuito que decodifica, ou seja, descobre o que é a instrução
(o que ela faz) e quais os seus operandos. O decodificador de
instruções descobre o que tem na palavra de instrução
• ACC Acumulador ou Accumulator (Inlês) - armazena os dados (de
entrada e resultados) para as operações na UAL
Obs: o acumulador é um dos principais elementos que definem o tamanho da palavra do
computador - o tamanho da palavra é igual ao tamanho do acumulador.
Prof.: Helio
Registradores de Controle
• Exemplos
ENDEREÇO
CONTEÚDO da CÉLULA
00
3B
01
1A
02
2B
03
04
04
56
.....
.....
1A
01
2A
00
Memória
Principal
Formato da
Instrução
Código Operação
Operando
8 bits
8 bits
tamanho da instrução = 16 bits
Prof.: Helio
8
25/04/2011
Registradores de Controle
• Definições
• 3B = LDA OP
• ACC <--- (Op)
• Descrição: carrega no acumulador o conteúdo da posição de
memória indicada no operando.
Prof.: Helio
Registrador de Controle
• Resultado exemplo 1
CICLO de
TEMPO
ACC
REM
RDM
T0
x
00
3B
3Bxx
Lê opcode
T1
x
01
1A
3B1A
Lê operando
T2
1A
01
1A
3B1A
Carrega Acumulador
RI (16 bits)
OPERAÇÃO
Prof.: Helio
9
25/04/2011
Registrador de Controle
• Exercícios 1
• Definições
• Considerando a mesma maquina do exemplo anterior
• LDIA Op
• ACC <--- ((Op))
• Descrição: LDIA (load accumulator indirect) significa "carrega no
acumulador o conteúdo da posição de memória apontada pela
posição indicada no operando.
Prof.: Helio
Registradores de Controle
• Resultado exercício 1
CICLO de
TEMPO
ACC
REM
RDM
T0
x
00
3B
3Bxx
Lê opcode
T1
x
01
1A
3B1A
Lê operando
T2
x
1A
01
3B1A
Lê dado
T3
01
1A
01
3B1A
Carrega dado no acumulador
RI (16 bits)
OPERAÇÃO
Prof.: Helio
10
25/04/2011
Registradores de Controle
• Exercício 2
• Dados da memória Principal
ENDEREÇO
MP (T1)
10
6B2B3
....
.....
B2
03210
B3
04591
....
.....
• Formato da Instrução
Formato da instrução
opcode
operando 1
operando 2
(20 bits)
4 bits
8 bits
8 bits
Prof.: Helio
Registradores de Controle
• Definições:
• 6 = ADD Op1, Op2
• (Op1) <---- (Op1) + (Op2)
• Descrição: soma o conteúdo da posição de memória indicada em
Op1 com o conteúdo da posição de memória indicada em Op2 e
coloca o resultado na posição de memória indicada em Op1.
Prof.: Helio
11
25/04/2011
Registrador de Controle
• Resultado exercício 3
Tempo
REM
RDM
ACC
OPERAÇÃO
T0
10
6B2B3
0
Lê instrução (opcode + 2 operandos)
T1
B2
03210
03210
Lê 1º dado
T2
B3
04591
077A1
Lê 2º dado
T3
B2
077A1
077A1
Executa instrução
CÁLCULO DO VALOR DO ACUMULADOR
03210
04594+
-------077A1
Prof.: Helio
Referências Bibliográficas
TANENBAUM, Andrew S. Organização Estruturada de Computadores. Editora
LTC, 5 ed.
PATTERSON, David A. & HENNESSY, John L. Organização e Projeto de
Computadores: a interface hardware/software. Rio de Janeiro: Elsevier, 2005.
Diversos sites na internet
Prof.: Helio
12
Download