Arquitetura CISC e RISC
CISC
Essa arquitetura surgiu com a intenção de transferir a complexidade do software para o hardware, pelo fato do hardware ser mais barato que o software tendo essa ideologia como objetivo principal. Reduzindo o custo do sistema, as dificuldades de escrita dos compiladores, os custos do desenvolvimento do software, o software do sistema, a diferença entre linguagem de programação e máquina, fazendo com que a linguagem de alto nível se torne eficiente, melhorar a compactação do código, facilitar a detecção e correção de erros, tornando mais vantajoso economicamente.
Com a redução do número de instruções para que fosse executada uma determinada tarefa, passou-se a reduzir o tempo de execução, aumentando seu desempenho, diminuindo as linhas de código e reduzindo a quantidade de memória para executar o código. Foi implementado o modo de endereçamento complexo, reduzindo de quatro instruções para apenas uma, carregando as duas posições da memória para os registros, multiplicando e voltando a armazenar na memória o resultado, todas essas operações feitas em baixo nível, ou seja, no hardware.
Outra de suas características primordiais era a utilização do micro-código, pois permitia que as instruções fossem mais complexas no hardware, tornando a execução direta. Fazendo com que a máquina carregue a instrução da memória, pegando sua instrução na entrada e ativando alguns circuitos, decodificando e enviando para a unidade de execução, tornando a mais rápida. O único problema é que ela pode ocupar algum espaço, devido à quantidade do número de instruções.
Como o micro-código estava cada vez mais rápido e melhor, o conjunto de instruções cresceu rapidamente e o número de instruções por programa decresceu. Mas para manter um bom desempenho, ele deveria ser otimizado, eficiente e compacto para que os custos de memória não crescessem sem controle, com isso os micro-programas se tornaram enormes, dificultando os testes, a detecção e a correção dos