Maquinas multiníveis
Os circuitos eletrônicos de um computador são capazes de identificar e executar um conjunto simples de instruções chamadas linguagem de máquina, estas por sua vez são de difícil manipulação. Para contornar esta situação os computadores foram divididos em níveis com o intuito de tornar o uso mais agradável para o usuário, surgindo o conceito de máquina virtual. Para estabelecermos uma ligação entre elas utilizamos duas técnicas (tradução e interpretação).
A tradução tem como objetivo gerar uma seqüência de instruções de nível inferior equivalentes a cada instrução de nível superior que lhe é passado como entrada.
A interpretação tem como objetivo examinar uma instrução de nível superior de cada vez e executando a seqüência equivalente de instruções de nível inferior diretamente.
O computador é dividido em uma série de camadas ou níveis, cada linguagem utiliza a sua predecessora como base com o intuito de tornar cada vez mais conveniente.
Máquinas multiníveis atuais
São muito comuns entre os computadores modernos a existência de seis níveis, como está mostrado na figura:
É importante mencionar ainda a existência de um nível mais abaixo do nível zero denominado nível de dispositivos.
O nível 0 é o hardware verdadeiro da máquina, é o nível da lógica digital, os objetos interessantes são denominados portas.
Embora construídas a partir de elementos analógicos, as portas podem ser modeladas com precisão como dispositivos digitais.
Cada porta possui uma ou mais entradas digitais (sinais representando 0 ou 1) e fornece como saída funções simples dessas entradas.
O nível 1 é o verdadeiro nível de linguagem da máquina, nesse nível há definitivamente um programa, denominado microprograma, que interpreta as instruções de nível 2. Poucas são as máquinas que possuem mais de 20 instruções nesse nível, e a maior parte