RISC E CISC - Arquitetura
Monografias: RISC E CISC - Arquitetura. Pesquise 862.000+ trabalhos acadêmicosPor: rodrigoacademico • 1/5/2014 • 4.098 Palavras (17 Páginas) • 468 Visualizações
Arquitetura
de Computadores
| RISC | CISC |
Arquitetura CISC
Motivação:
No inicio dos anos 70, porque os compiladores eram muito pobres e pouco robustos, porque a memória era lenta e cara causando sérias limitações no tamanho do código, levou a que uma certa corrente previsse uma crise no software. O hardware era cada vez mais barato e o software cada vez mais caro. Um grande número de investigadores e projetistas defendiam que a única maneira de contornar os grandes problemas que se avizinhavam era mudar a complexidade do (cada vez mais caro) software e transportá-la para o (cada vez mais barato) hardware.
Se houvesse uma função mais comum, que o programador tivesse de escrever vezes sem conta num programa, porque não implementar essa função em hardware? Afinal de contas o hardware era barato e o tempo do programador não. Esta ideia de mover o fardo da complexidade do software para o hardware foi a ideia impulsionadora por trás da filosofia CISC, e quase tudo o que um verdadeiro CISC faz tem este objectivo.
Alguns investigadores sugeriram que uma maneira de tornar o trabalho dos programadores mais fácil seria fazer com que o código assembly se parecesse mais com o código das linguagens de alto nível (C ou Pascal). Os mais extremistas falavam já de uma arquitetura de computação baseada numa linguagem de alto nível. Este tipo de arquitetura era CISC levado ao extremo. A sua motivação primária era reduzir o custo global do sistema fazendo computadores para os quais fosse mais fácil de programar. Ao simplificar o trabalho dos programadores, pensava-se que os custos seriam mantidos num nível razoável.
Aqui está uma listagem das principais razões para se promover este tipo de arquitetura:
• Reduzir as dificuldades de escrita de compiladores;
• Reduzir o custo global do sistema;
• Reduzir os custos de desenvolvimento de software;
• Reduzir drasticamente o software do sistema;
• Reduzir a diferença semântica entre linguagens de programação e máquina;
• Fazer com que os programas escritos em linguagens de alto nível corressem mais eficientemente;
• Melhorar a compactação do código;
• Facilitar a detecção e correção de erros.
Sumariando, se uma instrução complexa escrita numa linguagem de alto nível fosse traduzida em, exatamente, uma instrução assembly, então:
• Os compiladores seriam mais fáceis de escrever. Isto pouparia tempo e esforço para os programadores, reduzindo, assim, os custos de desenvolvimento de software.
• O código seria mais compacto, o que permitiria poupar em memória, reduzindo o custo global do hardware do sistema.
• Seria mais fácil fazer a detecção e correção de erros o que, de novo, permitiria baixar os custos de desenvolvimento de software e de manutenção.
Introdução:
O nome CISC (Complex Instruction Set Computer) advém do fato de se considerar complexo um conjunto constituído de grande quantidade de instruções, com múltiplos modos de endereçamento, entre outras críticas. Em uma época inicial da computação em que a memória era cara e pequena e, por isso, os códigos gerados pelos compiladores deveriam ser compactos e eficientes na execução. Dessa forma, os projetistas precisavam obter boa densidade do código de máquina, ou seja, cada instrução deveria fazer muito, de modo que o programa completo tivesse poucas instruções.
O surgimento, em 1951, do conceito de microprogramação facilitou o trabalho de projetar instruções complexas, implementando-as em microcódigo. O microcódigo reside em memória de controle, pode-se acelerar sua execução com essas memórias sendo rápidas. A criação de novas instruções é, na maioria das vezes, quase sem custo e sem aumento de espaço, facilitando a implementação do conceito de famílias de processadores. Um bom exemplo disso é a arquitetura x86. Outra vantagem do emprego de microcódigo reside na rapidez da execução de instruções que estão armazenadas em memória (memória ROM de controle) bem mais rápido que a memória convencional.
O primeiro sistema de computação lançado com microcódigo e que originou, também, o conceito de família de computadores foi introduzido pela IBM em 1964, o Sistema IBM/360. Posteriormente, a DEC (Digital Equipament Corporation) introduziu sua família de PDP, mais tarde substituída pelo sistema VAX, um dos melhores exemplos de máquina CISC.
Três Aspectos que são considerados básicos aos projetistas de arquiteturas CISC.
• Uso de microcódigo.
• Construção de conjuntos com instruções completas e eficientes (completeza no conjunto).
• Criação de instruções de máquina de “alto nível”, ou seja, com complexidade semelhante à dos comandos de alto nível.
Características:
Em geral o desenvolvimento das arquiteturas CISC tende a seguir algumas regras básicas:
• Formato de dois operandos mais comum – instruções com campos de origem e destino.
• Uso de modos registrador para registrador; registrador para memória e memória para registrador.
• Uso de múltiplos modos de endereçamento para a memória, incluindo indexação para o caso de vetores.
• Instruções com largura variável, com a quantidade de bytes variando de acordo com o modo de endereçamento utilizado.
• As instruções requerem múltiplos ciclos de relógio
...