Sistemas de
Computação
Aula 2: Estrutura de Computadores de Propósito
Geral
Leandro Santiago
Estrutura de
Computadores de
Propósito Geral
Computadores de Propósito Geral
→ Programar o ENIAC era uma tarefa tediosa e demorada
◦ Primeiro computador eletrônico de uso geral
◦ Continha mais de 17.000 válvulas e 800 quilômetros de cabo
◦ Programação era feita através de 6.000 chaves manuais
→ 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 ideia também foi concebida por Alan Turing
3
Computadores de Propósito Geral
→ De 1946 a 1952, Neumann e seus colegas no Instituto de Estudos
Avançados (IAS) de Princeton desenvolveram o computador “IAS”
→ O IAS serviu como protótipo para vários computadores de
propósito geral subseqüentes
4
John von Neumann
→ Físico e matemático do século XX, figura
importante na história da computação
→ Propôs a Arquitetura de Von Neumann
◦ Computador eletrônico de programa
armazenado
◦ Código e dados em memória única
→ (Quase) a mesma empregada até hoje
→ Consequência da memória única:
◦ Impossível ler uma instrução e dados
simultaneamente
◦ Gargalo de Von Neumann.
5
Os 4 Principais Componentes Estruturais
→ CPU - Controla a operação do computador e execução as funções
de processamento de dados
→ Memória Principal - Armazena dados
→ I/O - Move os dados entre o computador e seu ambiente externo
→ Interconexão de Sistema - mecanismos que são usados para
comunicação entre CPU, memória principal e I/O
6
Estrutura do Computador IAS
7
Estrutura do Computador IAS
8
Estrutura do Computador IAS: Memória
→ Memória do IAS
→ 1024 palavras de 40 bits
◦ Números e instruções
representados na forma
binária
9
Estrutura do Computador IAS: Memória
→ Memória do IAS
→ 1024 palavras de 40 bits
◦ Números e instruções
representados na forma
binária
10
Estrutura do Computador IAS: Memória
11
Estrutura do Computador IAS: Controle
12
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
13
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 copia o dado lido para o registrador IR
(registrador de instrução)
14
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
15
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
16
Exemplo LOAD M(X): Ciclo de Busca
17
Exemplo LOAD M(X): Ciclo de Busca
18
Exemplo LOAD M(X): Ciclo de Busca
19
Exemplo LOAD M(X): Ciclo de Busca
20
Exemplo LOAD M(X): Ciclo de Busca
21
Exemplo LOAD M(X): Ciclo de Busca
→ Ciclo de busca completo
◦ O código da instrução a ser executada está em IR
◦ O valor do campo endereço da instrução a ser executada está em
MAR
→ Vamos ver o ciclo de execução
22
Exemplo LOAD M(X): Ciclo de Execução
23
Exemplo LOAD M(X): Ciclo de Execução
24
Exemplo LOAD M(X): Ciclo de Execução
25
Exemplo LOAD M(X): Ciclo de Execução
26
Exemplo LOAD M(X): Ciclo de Execução
27
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
Note que o ciclo de busca da próxima instrução deve buscar a
instrução do IBR, em vez da memória! – Ciclo de busca à direita!
E a instrução subsequente (terceira)? De onde ela deve ser
buscada?
28
Exemplo LOAD M(X): Ciclo de Busca
29
Exemplo LOAD M(X): Ciclo de Busca
30
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).
31
Próxima Aula
→ Entendendo Desempenho
32
leandro@[Link]