O
CISC (complex Instruction Set Compute, ou “computador com um conjunto complexo
de instruções”) é uma arquitetura aonde é capaz executar várias centenas de
instruções complexas diferentes. E muita dessas instruções já é armazenado no
próprio CISC. Nesses dois pontos, de executar várias instruções e tendo algumas
já armazenadas, facilita a vida dos programadores.
Na
decada de 70, onde os compiladores e memorias eram muito inferiores, isso
influenciou no tamanho dos códigos, pela lentidão de transformá-lo em linguagem
de maquina, que possivelmente levaria á uma crise na produção de software. Para
prevenir tal crise, um grande numero de pesquisadores e projetistas,
argumentava que a complexidade do software, cada vez mais caro, deveria transporta-la
para o hardware, que cada momento fica mais barato. Foi assim que começou
surgiu o CISC, onde tem esse objetivo.
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;
·
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.
Assim,
ao reduzir o tamanho dos programas conseguiam-se dois propósitos: por um lado
era necessária uma menor quantidade de memória para armazenar o código; e por
outro o tempo de execução era, também, diminuído pois havia menos linhas de código
para executar.
Uma
característica das maquinas CISC, era a utilização de microcódigo, que permitia
os projetistas a implementação de
instruções complexas em hardware. O microcódigo é uma serie de instruções
menores que são executadas pelo nanoprocessador, que é como processador dentro
de outro processador. Porém, para manter um bom desempenho, o
microcódigo tinha que ser altamente optimizado, eficiente e bastante compacto para
que os custos de memória não começassem a crescer desmesuradamente, e com a adição de novos microcódigos acabava
tomando o processador mais lento, e com o aumento dos códigos do microcódigo
ficava mais difícil de testa-los e detectar e corrigir erros.
Por
essas dificuldades, os pesquisadores começaram a questionar se a implementação do microcódigo seria, realmente
o melhor caminho.
Fontes:
www.eteavare.com.br/arquivos/817_545.pptx