CISC
Este artigo não cita fontes confiáveis. (Dezembro de 2016) |
CISC (sigla para Complex Instruction Set Computer, ou, em uma tradução literal, "Computador com um Conjunto Complexo de Instruções"): é uma linha de arquitetura de processadores capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.
Os processadores baseados na computação de conjunto de instruções complexas contêm uma micro-programação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua micro-programação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade.
Examinando do ponto de vista um pouco mais prático, a vantagem da arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina; disponibilizando, assim, praticamente todas as instruções que serão usadas em seus programas. Os processadores CISC têm a vantagem de reduzir o tamanho do código executável por já possuirem muito do código comum em vários programas, em forma de uma única instrução.
Porém, do ponto de vista do desempenho, os CISCs têm algumas desvantagens em relação aos RISCs, entre elas a impossibilidade de se alterar alguma instrução composta para melhorar o desempenho de processamento. O código equivalente às instruções compostas do CISC pode ser escrito nos RISCs da forma desejada, usando um conjunto de instruções simples, da maneira que mais se adequar. Sendo assim, existe uma disputa entre tamanho do código X desempenho.
- Controle microprogramado;
- Instruções de dois operandos ADD CX,mem;
- Modos registrador-registrador, registrador-memória, e memória-registrador;
- Múltiplos modos de endereçamento à memória, incluindo indexação (vetores);
- Instruções de largura (tamanho) variável, conforme modo de endereçamento utilizado;
- Instruções requerem múltiplos ciclos de máquina para execução, variando também com o modo de endereçamento;
- Poucos registradores;
- Registradores especializados