Risc e Cisc
As diferenças entre ambas arquiteturas se deve a época em que foram criadas, foram criadas para amenizar problemas gerados em suas respectivas épocas.
Primeiro fator foi o uso da memória nos códigos, nos anos 70 a memória era artigo de luxo nos computadores e os códigos criados para rodar determinados tipos de programas eram muito grandes e acabavam ocupando muito espaço da memória, a arquitetura CISC foi criada justamente para otimizar a tradução dos compiladores e reduzir o tamanho dos códigos para que pudesse haver uma redução no custo dos computadores, códigos reduzidos é igual a menos espaço de memória ocupado e menos espaço de memória ocupado é menos dinheiro gasto. Visavam também transferir as funcionalidades feitas em softwares, por programadores, para hardwares , pois o custo para criação de determinadas funções eram era muito cara para ser implementado em software ( por utilizar muita memória ), então decidiram criar algumas funções já pré estabelecidas em hardware, tanto para facilitar a vida do programador quanto para reduzir mais ainda o custo.
Já na época em que a arquitetura RISC foi criada a memória já não era algo tão caro e mais acessível, mas o fator que possibilitou a criação desta arquitetura foi para reduzir o numero de chips utilizados em um computador, com funções distintas, a um único chip com quase todas as funções dos outros. E para que isso foram deixadas de lados as tarefas menos significativas que o processador efetuava para que pudessem otimizar as tarefas mais realizadas por ele, sendo assim tarefas mais complexas não poderiam ser feitas a nível de hardware ( que era onde estavam sendo feita a maioria das funções na arquitetura CISC ) e sim de software , pois a memória que essas instruções iriam ocupar já não era algo tão importante assim.
Compiladores também foi algo que sofreu uma grande evolução ao longo das arquiteturas, compiladores tradicionais nem sempre usam só acesso a registradores para suas