Com relação à organização multinível das arquiteturas modernas de computadores, assinale a opção correta.
- A)A transição entre níveis superiores e inferiores na hierarquia de máquinas multinível ocorre sempre por meio de compilação, sendo a interpretação reservada para linguagens de script de alto nível.
Errada, porque a passagem entre níveis não ocorre sempre por compilação; pode haver interpretação, e isso não fica restrito a linguagens de script.
- B)A implementação de um interpretador para o nível ISA diretamente sobre o nível lógico digital é teoricamente inviável, devido à complexidade da tradução direta de linguagens formais em circuitos lógicos.
Errada, porque um interpretador para a ISA pode ser implementado em níveis inferiores, inclusive sobre lógica digital, sem inviabilidade teórica.
- C)A principal função do nível de sistema operacional em uma máquina multinível é fornecer abstrações de hardware, como arquivos, processos e dispositivos virtuais, construídas sobre o nível ISA.
Certa, pois o sistema operacional fornece abstrações como arquivos, processos e dispositivos virtuais sobre a ISA e o hardware.
- D)No nível da microarquitetura de uma máquina multinível com controle de caminho de dados realizado por hardware, haverá necessariamente um programa armazenado para controlar a interpretação das instruções.
Errada, porque a microarquitetura com controle por hardware não exige necessariamente um programa armazenado para interpretar instruções.
- E)O nível ISA de uma máquina multinível concentra-se na estrutura sintática das instruções e ignora aspectos como os efeitos causados pela execução das operações ou pelos modos de endereçamento.
Errada, porque o nível ISA considera não só a sintaxe das instruções, mas também seu significado, efeitos e modos de endereçamento.
Gabarito: C
A organização multinível das arquiteturas modernas divide o computador em camadas, cada uma com sua função: na base está o hardware físico, acima vem a microarquitetura, depois o nível ISA (conjunto de instruções), em seguida o sistema operacional e, por fim, as linguagens de alto nível e aplicações. A graça desse modelo é justamente esconder a complexidade de uma camada atrás de abstrações úteis para a camada de cima. Assim, você não precisa pensar em portas lógicas quando escreve um programa, e nem em processos e arquivos quando olha para transistores. Na arquitetura em camadas, cada nível oferece serviços ao nível superior e depende dos recursos do nível inferior. O sistema operacional é o nível que cria abstrações como processo, arquivo, memória virtual e dispositivo virtual, usando as instruções disponibilizadas pela ISA e os recursos do hardware. Por isso, ele funciona como uma ponte entre o software e a máquina física. O gabarito é a letra C porque descreve exatamente essa função do sistema operacional: fornecer abstrações de hardware construídas sobre o nível ISA. É a cara clássica da organização multinível: transformar peças brutas da máquina em algo mais amigável para o usuário e para os programas. Em provas, a banca gosta de misturar os papéis de compilador, interpretador, ISA, microarquitetura e sistema operacional. Se você lembrar que o sistema operacional não é a ISA, mas usa a ISA para construir abstrações, já sai na frente de muita pegadinha.