Buscar

Filosofia de Design antes RISC

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

Prévia do material em texto

Filosofia de Design antes RISC 
Um dos princípios básicos de design para todos os processadores é 
adicionar velocidade ao fornecer alguma memória muito rápida para 
armazenar informações temporariamente. Essas memórias são 
conhecidas como registradores. 
Por exemplo, cada CPU inclui um comando para adicionar dois 
números. A operação básica de uma CPU seria carregar esses dois 
números nos registradores, adicioná-los e armazenar o resultado em 
outro registrador, por fim, pegar o resultado do último registrador e 
devolvê-lo à memória principal. 
 
No entanto, os registros têm a desvantagem de serem um tanto 
complexo de implementar. Cada um é representado por transistores no 
chip, neste aspecto a memória principal tende a ser muito mais simples 
e barata. Além disso, os registros adicionam complexidade à fiação, 
porque a unidade de processamento central precisa ser conectada a 
todos os registros para usá-los igualmente. 
Como resultado disso, muitos projetos de CPU limitam o uso de 
registradores de uma forma ou de outra. Alguns incluem poucos 
registros, embora isso limite sua velocidade. Outros dedicam seus 
registros a tarefas específicas para reduzir a complexidade; por 
exemplo, um registro pode ser capaz de fazer operações em um ou mais 
dos outros registros, enquanto o resultado pode ser armazenado em 
qualquer um deles. 
No mundo dos microcomputadores dos anos 70, esse era mais um 
aspecto das CPUs, já que os processadores eram lentos demais - na 
verdade, havia uma tendência de o processador ser mais lento do que a 
memória com a qual se comunicava. 
Nesses casos, fazia sentido excluir quase todos os registros e, então, 
fornece ao programador um bom número de maneiras de lidar com a 
memória para tornar seu trabalho mais fácil. 
Dado o exemplo da adição, a maioria dos projetos de CPU se 
concentrava em criar um comando que pudesse fazer todo o trabalho 
automaticamente: chamar os dois números que seriam adicionados, 
adicioná-los e armazená-los diretamente. Outra versão poderia ler os 
dois números da memória, mas armazenaria o resultado em um registro. 
Outra versão poderia ler um da memória e outro de um registro e 
armazená-lo na memória novamente. E assim por diante. 
O objetivo geral na época era fornecer todos os modos de 
endereçamento possíveis para todas as instruções, um princípio 
conhecido como ortogonalidade. Isso levava a uma CPU complexa, mas 
em teoria capaz de configurar cada comando possível individualmente, 
tornando o design mais rápido do que o programador usando comandos 
simples.

Outros materiais