Arquitetura computadores
Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.
Uma instrução pode ser definida como um comando para o processador.
Linguagem de máquina corresponde ao conjunto de instruções primitivas do computador. Devem ser simples, reduzindo a complexidade e custo dos circuitos.
Tradução é o método pelo qual um programa escrito numa linguagem L2 é substituído por um outro programa escrito em L1, então executado pela máquina M1, cuja linguagem de máquina é L1.
Interpretação é o método pelo qual um programa escrito em L1 executa cada instrução do programa escrito em L2, através de uma seqüência de instruções L1 equivalentes.
Máquina virtual compreende um computador hipotético para uma determinada linguagem, tendo esta como linguagem de máquina.
Para uma melhor compreensão da arquitetura de um computador, podemos dividí-lo em níveis de hierarquia. Nível compreende uma máquina M com sua linguagem de máquina L, dentro de um computador.
Uma máquina define uma linguagem, assim como uma linguagem define uma máquina.
Um computador com n níveis pode ser visto como n diferentes máquinas virtuais, cada uma com a sua linguagem de máquina.
Um programador de nível n não precisa conhecer os níveis inferiores.
Nível 0 ou nível de lógica digital é o hardware verdadeiro da máquina, cujos circuitos executam os programas em linguagem de máquina de nível 1. Não existe aqui o conceito de programa como uma seqüência de instruções a serem executadas. Neste nível, os objetos são denominados portas.
Nível 1 ou nível de microprogramação é o verdadeiro nível de máquina, havendo um programa denominado microprograma, cuja função é interpretar as instruções de nível 2. A instrução neste nível é denominada microinstrução.
Nível 2 ou nível convencional de máquina é o primeiro nível de máquina virtual. A linguagem de máquina deste nível é comumente denominada