Maquina mutinivel
Para aproximar os seres humanos da máquina, é usada uma separação em camadas das arquiteturas de computadores. Dessa forma, quanto mais camadas tiver uma arquitetura, mais próxima da linguagem humana será a linguagem de alto nível do computador. Veja na imagem a seguir:
Nível 0 - de Lógica Digital
Neste nível situa-se a descrição da máquina como uma malha de portas lógicas interconectadas. Subconjuntos destas portas lógicas determinam dispositivos lógicos combinacionais e sequenciais, que podem ser formalmente explicados através da álgebra booleana. Neste nível não existe o conceito de programa como uma sequência de instruções. Nível 1 - Nível de Microprogramação Microarquitetura Neste nível encontram-se dispositivos e recursos, tais como, ULAs, vias de dados, registradores, multiplexadores, decodificadores, etc. Cada um destes dispositivos e recursos é eficiente em executar um número limitado de operações, definidas por sinais de controle. O nível de microprogramação já suporta o conceito de programa (microprograma) como uma sequência de instruções a serem executadas. Pode-se dizer também que o nível de microprogramação oferece uma visão detalhada do processador/microprocessador (microarquitetura ou caminho de dados).
Nível 2 - Máquina Convencional/ Conjunto de Instruções
Neste nível há o que normalmente conhecemos como linguagem de máquina. Ou seja, para cada microprocessador, este nível introduz uma ou mais máquinas virtuais, cuja linguagem é interpretada por um ou mais microprogramas.
Para se ter uma ideia mais clara, quando um fabricante descreve a instrução de nível 2 ADD R, que adiciona o conteúdo do registrador R ao conteúdo de um acumulador (default), nada é especificado sobre a estrutura de hardware, ou a sequência de microoperações capaz de executá-la. O microprograma, por sua vez, é inteiramente baseado nesta informação.
O nível de máquina convencional oferece uma visão da