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
• 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
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
Prof.: Helio
Modo de endereçamento
•
Classificação dos operandos
•
Registrador
Modo de endereçamento
Prof.: Helio
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.
• Ex: um processador com 256 instruções (ou 28 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
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
Prof.: Helio
Modo de endereçamento
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
•
Exemplos de instruções de uma maquina hipotética
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
Prof.: Helio
Registradores de Controle
•
Representação Funcional UCP
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
Prof.: Helio
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ÉLULA00 3B 01 1A 02 2B 03 04 04 56 ... ... 1A 01 2A 00 Memória Principal
Código Operação Operando
8 bits 8 bits
tamanho da instrução = 16 bits Formato da
Prof.: Helio
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.
Registrador de Controle
CICLO de
TEMPO ACC REM RDM RI (16 bits) OPERAÇÃO
T0 x 00 3B 3Bxx Lê opcode
T1 x 01 1A 3B1A Lê operando
T2 1A 01 1A 3B1A Carrega Acumulador
Prof.: Helio
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
CICLO de
TEMPO ACC REM RDM RI (16 bits) OPERAÇÃO
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
Prof.: Helio
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 opcode operando 1 operando 2
(20 bits) 4 bits 8 bits 8 bits
• Formato da Instrução
Registradores de Controle
•
Definições:
• 6 = ADD Op1, Op2
• (Op1) <---- (Op1) + (Op2)
Prof.: Helio
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.