Organização Básica de computadores e linguagem de
montagem!
1o Semestre de 2012!
Prof. Edson Borin!
Estrutura de computadores de propósito geral!
Computadores de Propósito Geral!
- Programar o ENIAC era uma tarefa tediosa e demorada.!
- Em 1945, projetistas do ENIAC, incluindo John von Neumann, propuseram o “conceito de programa armazenado”. O programa é armazenado na memória, juntamente com os dados.!
- A idéia também foi concebida por Alan Turing.!
- De 1946 a 1952, Neumann e seus colegas no Instituto de Estudos Avançados (IAS) de Princeton desenvolveram o computador “IAS”. !
- O IAS pode ser visto como o protótipo de todos os computadores de propósito geral subseqüentes.!
Computadores de Propósito Geral!
Estrutura do Computador IAS!
Unidade lógica e
aritmética!
Memória!Principal!
Equipamento!de Entrada e
Saída!
Unidade de Controle!
Estrutura do Computador IAS!
Unidade lógica e
aritmética!
Memória!Principal!
Equipamento!de Entrada e
Saída!
Unidade de Controle!
0111101!0101011!0110010!
0100001!0101111!0000100!
Instruções!
Dados! Operações com dados binários: +, -, x, /!
Controle!
Estrutura do Computador IAS: Memória!
Memória Principal!
0! 01000 ... 00101!1! 11011 ... 00110!2! 01001 ... 00111!...! ...!...! ...!
997! 01000 ... 00101!998! 11011 ... 00110!999! 01001 ... 00111!
- Memória do IAS!
- 1000 palavras de 40 bits!
- Números e instruções representados na forma binária!
40 bits!
1000 palavras!
Estrutura do Computador IAS: Memória!
Memória Principal!
0! 01000 ... 00101!1! 11011 ... 00110!2! 01001 ... 00111!...! ...!...! ...!
997! 01000 ... 00101!998! 11011 ... 00110!999! 01001 ... 00111!
- Memória do IAS!
- 1000 palavras de 40 bits!
- Números e instruções representados na forma binária!
40 bits!
1000 palavras!
Endereços!
Dados ou Instruções!
Estrutura do Computador IAS: Memória!
0 1! 39!
Bit de sinal!
Armazenamento de um Número!
0 ! 39!
Código de!operação!
Palavra para armazenamento de uma instrução!
7!7! 19!20! 28!
Endereço! Código de!operação!
Endereço!
Uni
dade
de
Con
trol
e!Estrutura do Computador IAS: Controle!
Memória!Principal!
MAR! PC!
IR! IBR!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
MBR!
AC! MQ!
Circuitos lógicos e aritméticos!
Estrutura do Computador IAS: Controle!
- Operação: execução de instruções, uma a uma.!
- Processo de execução é dividido em dois ciclos:!
1) ciclo de busca: a instrução é lida da memória!
2) ciclo de execução: uma vez lida da memória, a instrução é executada!
Estrutura do Computador IAS: Controle!
Ciclo de busca!!1) Unidade de controle envia o endereço contido em PC (contador do programa) para a memória!2) A memória lê o conteúdo da memória a partir do endereço fornecido.!3) A Unidade de controle move o dado lido para o registrador IR (registrador de instrução)!4) A Unidade de controle incrementa o PC para apontar para a próxima instrução.!
Estrutura do Computador IAS: Controle!
Ciclo de execução!!1) Unidade de controle decodifica a instrução no registrador IR.!2) Se necessário, a unidade de controle lê operandos da memória.!3) A unidade de controle envia sinais para a unidade lógica e aritmética para realizar a operação!4) Se necessário, a unidade de controle escreve o resultado na memória.!
Estrutura do Computador IAS: Controle!
Exemplo: Execução da instrução LOAD M(X)!- Transfere M(X) para o acumulador!- acumulador = registrador AC!- M(X) = conteúdo da memória no endereço X!- código de operaçao 00000001!
0 !
Código de!operação!
7! 19!
Endereço!
00000001! 000000001100!8!
LOAD M(12)!Transfere o dado no
endereço 12 da memória para o registrador AC.!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
0!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
0! 0!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
UC move o endereço da instrução (em PC) para MAR (Memory
Address Register).!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
0! 0!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
A UC envia um sinal de controle para a memória requisitando a leitura do
endereço em MAR!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
0!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0!
A Memória lê o dado e o envia para o registrador
MBR (Memory Buffer Register)!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
0!
00..001!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0!
A UC transfere o código de operação da instrução lida da memória para o registrador
de instruções (IR)!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Busca!
1!
00..001!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0!
A UC incrementa o PC para apontar para a próxima
instrução.!
Exemplo LOAD M(X): Ciclo de Busca!
- Ciclo de busca completo!
- O código da instrução a ser executada está em IR!
- PC aponta para a próxima instrução!
- Vamos ver o ciclo de execução!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Execução!
1!
00..001!
Cicuitos de controle!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0!
A UC decodifica a operação em IR e descobre a operação
LOAD M(X)!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Execução!
1!
00..001!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0.1100!
A UC copia os 12 bits de endereço da instrução (bits11 a 19) para o registrador MAR!
Cicuitos de controle!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Execução!
1!
00..001!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
00...100!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0.1100!
Cicuitos de controle!
A UC envia um sinal de controle para a memória requisitando a leitura do
endereço em MAR!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Execução!
1!
00..001!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0.1100!
Cicuitos de controle!
11...111!A Memória lê o dado e o envia para o registrador
MBR (Memory Buffer Register)!
Uni
dade
de
Con
trol
e!Exemplo LOAD M(X): Ciclo de Execução!
1!
00..001!
Sinais de controle!
...!
Equipamentos de entrada e saída!
Unidade Lógica!e Aritmética!
11...111!
Circuitos lógicos e aritméticos!
00000001! 000000001100!
Memória!Principal!
0!1!...!
999!
PC!MAR!
IBR!IR!
MBR!
MQ!AC!
0.1100!
Cicuitos de controle!
11...111!
A UC envia sinais para a unidade lógica e
aritmética (ULA) copiar o valor de MBR para o
registrador AC.!
Exemplo LOAD M(X): Ciclo de Execução!
- Ciclo de execução completo!
- O conteúdo da memória no endereço 12 foi copiado para o registrador AC.!
- A próxima instrução pode ser executada a partir do ciclo de busca.!
Estrutura do Computador IAS: Exercício!
- A instrução ADD M(X) soma o valor na posição X da memória com o valor do registrador AC e grava o resultado no registrador AC.!
1) Qual a diferença entre o ciclo de busca desta instrução e o ciclo de busca da instrução LOAD M(X)?!
2) Descreva o ciclo de execução da instrução ADD M(X).!
Conceitos Básicos: Linguagens de Programação!
Leitura!!- Capítulo 2.1 do livro do Stallings
(Arquitetura e Organização de Computadores)!
Top Related