Básico sobre arquitetura de computadores
1.1 Arquitetura do Núcleo
1.1.1 Modelo de Computação
Antes de começar esse artigo, precisamos refletir sobre o que um programador faz. A princípio muitos dirão que se trata de construir um algoritmo e implementar.
Podemos criar um algoritmo que simule uma cena diária. Talvez podemos criar algo que se assemelhe com o momento da saída para a caminhada ou quando vamos fazer compras.
Parece ser algo fácil e muitas respostas irão surgir, que vão das mais básicas como pegar a chave e abrir a porta ou algumas vão para algo mais detalhado, descrevendo os músculos que vão se mover quando a mão girar a chave na fechadura.
O motivo para essas respostas serem tão diferentes está na incompletude da pergunta inicial.
Todas as ideias (incluindo os algoritmos) precisam de uma maneira de serem expressas. Para descrever uma nova noção, utilizamos novas noções mais simples.
Além disso, queremos evitar círculos viciosos, portanto a explicação seguirá o formato de uma pirâmide. Cada nível de explicação crescerá horizontalmente. Não podemos construir essa pirâmide de modo infinitos, pois a explicação deve ser finita; desse modo paramos no nível de noções básicas e primitivas que optamos deliberadamente por não expandir mais. Portanto, escolher o que é básico fundamentalmente para expressar qualquer noção.
A construção de um algoritmo se torna impossível sem a construção de um conjunto definitivo de noções básicas, que assim atuará como blocos de construção.
Exemplo:
Levar a mão ao bolso
Pegar a chave
Levar a mão até a porta
Abrir a porta
-------> Porta Casa
--------->Porta Trabalho
O modelo de computação é um conjunto de operações básicas e seus respectivos custos.
Na computação os custos, geralmente são usados para raciocinar sobre a complexidade dos algoritmos por meio do cálculo do custo combinado de todas as suas operações.
A maioria dos modelos de computações também são máquinas abstratas. Isso significa que esses modelos descrevem um computador hipotético, cujas às operações básicas do modelos.
Esse é um artigo que tem total embasamento no livro de Igor Zhirkov: Programação em Baixo Nível. Estou escrevendo aqui sobre ele para melhor fixação dos estudos em minha mente e com isso posso compartilhar conhecimentos com os demais.