Organização Estruturada de Computador - Aula 1 



Nesta aula abordaremos os temas de linguagens de computadores, níveis e máquinas virtuais e máquinas multiníveis contemporâneas.

O texto abaixo é um resumo dos seções 1.1.1 e 1.1.2  do capítulo 1 do lívro: Organização Estruturada de Computadores de Andrew S. Tanenbaum, 4a Edição, 2001.

Importante: O resumo abaixo deve ser complementado, pelo aluno, com a leitura do texto original do livro.


Tópicos


Introdução

    O computador :

    Os circuitos de um computador (Hardware)
   
    Instruções da  linguagem de máquina
(decidida pelos projetistas de computadores) devem:
    A linguagem de máquina (binária-baixo nível) está muito distante de uma linguagem natural (humana-alto nível)

    O que as pessoas precisam fazer é complexo   X   o conjunto de instruções do computador é simples
       Solução: Criar uma hierarquia de abstrações de níveis mais altos baseadas nos níveis mais baixos.
                     Criar uma organização estruturada de computadores para facilitar a comunicação homem-máquina 
 
Up

Linguagens, Níveis e Máquinas Virtuais

    Supondo a existência das linguagens:
    Como compatibilizar L1 com L0? Temos 2 soluções:
 
  TRADUTOR
:
  INTERPRETADOR:
    Observação: Pode ser utilizada uma metodologia híbrida: tradutor + interpretador

    Ao invés de pensar em tradução ou interpretação, pode-se imaginar a existência de um computador hipotético, ou de uma máquina virtual M1, cuja linguagem de máquina seja L1 (e uma máquina real M0 com linguagem L0)

    Os programas poderiam ser escritos em L1, para a máquina M1 e:
  1. serem executados diretamente em M1 se esta máquina fosse de custo de construção baixo, ou
  2. serem  traduzidos ou interpretados para L0 e executados em M0
    Na prática se implementa a solução 2 acima. As pessoas escrevem programas para máquinas virtuais como se elas realmente existissem.

    Muitos níveis de máquinas virtuais podem ser implementados. Cada linguagem usa a sua linguagem antecessora como base, de modo que um computador que use essa técnica pode ser visto como um conjunto de camadas ou níveis um em cima do outro como mostra a figura que segue.

image 1-1

Figura 1.1 Máquina de vários níveis (Obtida do material, disponível na internet, do livro do Tanenbaum, 2001)

 
Up

Máquinas Multiníveis Contemporâneas

A grande maioria dos computadores modernos é formada por 2 ou mais níveis. A Figura abaixo mostra o esquema de um computador com 6 níveis:

image 1-2


Figura 1.2 Computador com 6 níveis. O método por meio do qual cada nível é suportado aparece indicado abaixo do nível (junto com o nome do nível que o suporta). (Obtida do material, disponível na internet, do livro do Tanenbaum, 2001)

    Nível 0: Nível da Lógica Digital
    Nível 1: Nível da Microarquitetura
    Nível 2: Nível da Arquitetura do Conjunto de Instruções (nível ISA - Instruction Set Architeture)
    Nível 3: Nível do Sistema Operacional
    Nível 4: Nível da linguagem do montador ou de montagem (Assembly language)
    Nível 5: Nível das linguagens orientadas para solução dos problemas
  Observações finais importantes:
Up