NÍVEL 5 [Nível das linguagens orientadas para solução de problemas] <-- tradução (compilador) --> NÍVEL 4 [Nível da linguagem do montador] <-- tradução (montador) --> NÍVEL 3 [Nível do sistema operacional] <-- Interpretação parcial (sistema operacional) --> NÍVEL 2 [Nível da arquitetura do conjunto de instruções] <-- Interpretação (microprograma) ou execução direta--> NÍVEL 1 [Nível da microarquitetura] <-- Hardware --> NÍVEL 0 [Nível da lógica digital]
NÍVEIS PROJETADOS PARA OS PROGRAMADORES DE APLICAÇÃO (com um problema para resolver)
NÍVEL 5 - linguagens de alto nível (BASIC, C, C++, C#, JAVA etc.). Em geral são traduzidos (compilados) para os níveis 4 e 3.
NÍVEL 4 - linguagem de motagem: forma simbólica de representação das linguagens dos níveis mais baixos.
-------------------------------------------------------------------------------------
NÍVEIS PROJETADOS PARA RODAR OS INTERPRETADORES E TRADUTORES NECESSÁRIOS PARA SUPORTAR OS DEMAIS NÍVEIS
NÍVEL 3 - além das instruções do NÍVEL 2, este nível também suporta um conjunto de novas instruções, uma organização diferente da memória, a capacidade de rodar dois ou mais programas de forma simultânea, além de diversas outras características.
NÍVEL 2 - define como as instruções de máquina são executadas interpretativamente pelo microprograma ou diretamente pelo hardware.
NÍVEL 1 - caminho de dados (registradores, UAL) (este nível já foi chamado de nível do microprograma em edições anteriores de TANENBAUM, mas, a partir do momento que o caminho de dados também pode ser executado diretamente pelo hardware, o nome mudou para microarquitetura)
NÍVEL 0 - portas lógicas
-----------------------------------------
Níveis 1, 2 e 3 = linguagens de máquina numéricas
Níveis 2 e 3 = sempre interpretados
Níveis 4 e 5 = em geral, mas nem sempre, suportados por tradução
Fonte: TANENBAUM, 2001, 4ª ed., p. 3 e 4