Buscar

Arquitetura de Computadores K&S ParteII

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Tecnologia e Computação – Campus Canoas Área: 
Curso: 
Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
Tradução do capítulo 14 de 
"A Balanced Introduction to Computer Science and Programming" 
de David Reed, Creighton University, Prentice Hall 
 
 
Dentro do Computador - A arquitetura de von Neumann 
Parte II - Parte Operativa com simulador de memória 
Apesar da Parte Operativa da CPU descrever como um computador executa computações sobre dados 
armazenados em registradores, nós ainda não explicamos como os dados entram nos registradores e como os 
resultados das operações da ULA são acessados fora da CPU. 
Estas duas tarefas envolvem conexões entre a CPU e a memória principal. Como visto no capítulo 1, todos os 
programas e dados ativos estão armazenados na memória principal de um computador. Nós podemos pensar da 
memória principal como uma grande coleção de posições de memória, na qual cada posição é acessível através 
de um endereço. De mesma maneira que os endereços de uma rua (por exemplo, Tristão monteiro, 590) 
permitem um carteiro encontrar um destinatário, um endereço de memória (por exemplo, posição de memória 
31) permite a CPU encontrar e acessar um pedaço específico da memória principal. 
Um barramento conecta a memória principal com a CPU, permitindo ao computador copiar dados e instruções 
em registradores e então copiar os resultados das computações de volta para a memória principal. A figura 14.6 
ilustra a interação entre a memória principal de um computador e a CPU; as setas escuras representam o fluxo de 
dados da parte operativa da CPU, enquanto as setas mais claras representam o barramento que conecta a 
memória principal aos registradores. 
 
Figura 14.6: Um barramento conecta a memória principal à CPU 
Transferindo dados para e a partir da memória principal 
Enquanto um programa está sendo executado, a Unidade de Controle processa as instruções do programa e 
identifica que valores de dados serão necessários para realizar as tarefas especificadas. Os valores desejados são 
então buscados a partir da memória principal através do barramento da memória principal, carregados em 
registradores e utilizados pelas operações da ULA. 
 
 
 Tecnologia e Computação – Campus Canoas Área: 
Curso: 
Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
Como um exemplo concreto, imagine que você tem um arquivo contendo 1.000 números e precisa computar a 
soma destes números. O arquivo pode ser carregado na memória principal - por exemplo, nas posições de 
memória 500 até 1499. Então, a Unidade de Controle pode realizar os seguintes passos para somar estes 
números e armazenar a soma resultante de volta na memória. 
1. Inicializar um dos registradores, por exemplo R0, com o valor 0. Este registrador irá armazenar a 
soma total dos números. 
2. Para cada número armazenado nos endereços de memória de 500 até 1499: 
a. Copiar o número da memória principal para outro registrador, por exemplo R1. 
b. Executar um ciclo através da parte operativa da CPU para somar R0 e R1 e armazenar o resultado 
de volta em R0. 
3. Quando todos os valores dos números no arquivo tiverem sido processados, o valor em R0 terá a soma 
total. Este valor pode então ser copiado de volta para uma posição na memória principal. 
 
Note que cada número deve ser transferido em um registrador antes que ele possa ser acrescentado à soma 
total. Na prática, transferir dados entre a memória principal e a CPU ocorre em uma velocidade bem menor do 
que a de um ciclo de CPU. Isto é principalmente devido ao fato de que os sinais elétricos devem viajar por uma 
grande distância - por exemplo, a partir de um chip de RAM separado para o chip da CPU. No tempo que leva 
para os dados trafegarem pelo barramento da memória principal e alcançar os registradores, vários ciclos de CPU 
pode ocorrer. Os processadores modernos compensam este atraso com hardware especial que permite que 
várias instruções sejam buscadas ao mesmo tempo. Ao buscar várias instruções de antemão, o processador pode 
começar a lidar com uma próxima instrução e executar computações úteis enquanto uma transferência de dados 
anterior está ainda em andamento. 
Parte Operativa com simulador de memória 
Para ajudar a visualizar as relações 
entre a CPU e a memória principal, o 
simulador da parte operativa da CPU 
foi acrescido com uma memória 
principal. Este simulador estendido 
(K_S/KandS/dpandmem.html) inclui 
uma memória principal que pode 
armazenar até 32 números, com 
endereços entre 0 e 31. Um novo 
barramento, rotulado Barramento da 
Memória Principal, conecta a 
memória principal com a CPU; este 
barramento permite que dados 
sejam copiados da memória principal 
para os registradores, bem como 
permite que os resultados da ULA 
possam ser armazenados na 
memória principal. Como no 
exemplo anterior, esta versão do 
simulador não possui uma Unidade 
 
Figura 14.7: Primeiro, 43 é carregado a partir da memória em R0. 
 
 Tecnologia e Computação – Campus Canoas Área: 
Curso: 
Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
de Controle explícita. O usuário deve trabalhar como se fosse a Unidade de Controle, selecionando os ajustes 
desejados no barramento da memória principal para controlar o fluxo de dados. 
As figuras 14.7 até 14.9 demonstram o uso do simulador para somar dois números armazenados na memória. 
Quando a CPU deve somar dois números armazenados na memória, o primeiro passo é copiar um dos números 
para um registrador. Na figura 14.7, o usuário selecionou o primeiro número a ser somado, naquele momento na 
posição de memória 0, clicando no botão R/W próximo àquela posição (R/W se refere ao fato de que o botão 
seleciona que posição da memória será lida (Read) ou escrita (Written). O usuário também configurou as setas 
em torno do barramento da memória principal para que elas conectem a memória principal aos registradores. 
Note que este barramento pode mover dados entre a memória principal e os registradores ou a partir da ULA 
para a memória principal, dependendo como o 
usuário posiciona as chaves do barramento. O 
usuário pode abrir ou fechar estas chaves 
clicando nelas, efetivamente conectando ou 
desconectando o barramento. Uma vez dentro 
da CPU, o barramento da memória principal 
conecta-se ao barramento C, o qual armazena 
o número no registrador R0 (pois o botão do 
barramento C está posicionado para R0). 
A figura 14.8 ilustra o próximo passo no nosso 
exemplo, o qual envolve copiar o segundo 
número para um registrador. Como o usuário 
escolheu o botão R/W próximo à posição de 
memória 1 e posicionou o botão do 
barramento C para R1, o conteúdo da posição 
1 será buscado e armazenado no registrador 
R1. 
 
A figura 14.9 mostra o ciclo de CPU durante o 
qual a ULA soma os conteúdos de R0 e R1. Note 
que os botões de ajuste do barramento A, do 
barramento B e da operação da ULA são os 
mesmo como os das figuras 14.3 até 14.6; isto é 
por conta dos dois exemplo envolverem a 
mesma tarefa de somar os números em R0 e 
R1. Na figura 14.9, no entanto, as chaves do 
barramento da memória principal estão 
ajustadas para que o resultado da soma seja 
enviado para a memória principal, ao invés de 
que seja enviado para os registradores. 
 
 
 
 
Figura 14.8: Segundo, -296 é carregado a partir da memória em R1. 
 
Figura 14.9: Finalmente, os valores são somados e a soma é 
armazenada de volta na memória. 
 
 Tecnologia e Computação – Campus Canoas Área: 
Curso:Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
 
Duas observações interessantes podem ser feitas em relação ao comportamento do simulador. Primeiro, o 
simulador precisa de mais tempo para copiar dados entre a memória e a CPU do que ele precisa para executar 
um ciclo de CPU. 
Este atraso simula o efeito do tempos de acesso lentos associados com a memória principal. Em um computador 
real, cerca de até 10 ciclos de CPU podem ocorrer no tempo que leva para uma transferência de dados entre a 
CPU e a memória principal. 
A segunda observação é que, mesmo enquanto os dados estão sendo buscados a partir da memória, as 
operações ainda estão sendo executadas na parte operativa da CPU. Por exemplo, na figura 14.8, o número em 
R0 (43) é enviado através dos barramentos A e B para a ULA, produzindo a soma 86. Isto pode parecer lixo, pois o 
resultado das operações da ULA é ignorado (devido ao barramento C está desconectado). 
De maneira surpreendente, isto reflete precisamente o funcionamento interno da CPU. É mais eficiente para a 
CPU executar computações desnecessárias enquanto dados estão sendo transferidos para ou a partir da memória 
do que adicionar circuitos extras para reconhecer se o barramento C estava desconectado. 
 
 
 
 
 Tecnologia e Computação – Campus Canoas Área: 
Curso: 
Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
 
 
 
 
 
- 
 
 
 
 Tecnologia e Computação – Campus Canoas Área: 
Curso: 
Disciplina: 
Cursos de Computação 
 Arquitetura e Organização I Edemar Costa Oliveira Professor : 
Verificação: 
Aula Nº: 1 
G1 G2 
Trabalho 
 
 
 
 
 
Parte II - Parte Operativa com simulador de memória

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes