Sei sulla pagina 1di 13

Arquitetura e Organização de Computadores

Linguagem, níveis e máquinas reais

 As pessoas querem fazer X e os


computadores querem fazer Y.
 Solução do problema:
 Criação de um conjunto de instrução diferentes
das instruções de máquina;
 Esse novo conjunto de instrução formam uma
linguagem que denomina-se L1;
 O conjunto de instruções de máquina formam
uma linguagem que denomina-se L0;
 Formas diferentes de execução (programas em L1
e programas em L0);
Arquitetura e Organização de Computadores

Como executar programas escritos em L1?

 Técnica de tradução
 Tradução de L1 para L0 (substituição de instruções de
L1 para uma seqüência de instruções de L0
equivalente), um novo programa em L0 é gerado.
 Técnica de interpretação (interpretador)
 Interpretador: programa escrito em L0 que tem como
entrada programas escritos em L1, examina cada
instrução em L1 executando a seqüência equivalente
em L0.
Arquitetura e Organização de Computadores

Tradução x Interpretação
 É gerado uma novo  Cada instrução L1 é
programa em L0; examinada,
 O programa em L1 é decodificada e
descartado; executada;
 O novo programa L0 é  Nenhum programa é
carregado na memória gerado em L0;
do computador e  O interpretador
controla o computador; controla o computador
e o programa em L1 é
apenas uma coleção de
dados.
Combinação de ambos
Arquitetura e Organização de Computadores
Programas em Ln são
Interpretados ou traduzidos,
Máquina real Mn, com linguagem
para linguagem da máquina
de máquina Ln de nível inferior.
.
.
Máquina real M3, com linguagem
Programas em L2 são
de máquina L3 Interpretados por interpretadores
que rodam em M1 ou M0, ou são
traduzidos para L1 ou L1.
Máquina real M2, com linguagem
de máquina L2
Programas em L1 são
Interpretados por interpretador
que rodam em M0 ou M0, ou são
Máquina real M1, com linguagem traduzidos para L0.
de máquina L1
Programas em L0 podem ser
Executados diretamente pelos
Máquina real M0, com linguagem
Circuitos eletrônicos.
de máquina L0
Arquitetura e Organização de Computadores

Máquinas multiníveis contemporâneas


 Dois ou mais níveis, podendo ter até seis níveis:

Nível 5 Nível de linguagem orientado a problemas


Tradução (compilador) Instruções executadas
pelo microprograma
Nível 4 Nível de linguagem de montagem (assembly)

Tradução (assembler)
8 a 32 registrados
+ caminho de dados
Nível 3 Nível do sistema operacional da máquina + ULA

Interpretação parcial (sistema operacional)


Registradores
Nível 2 Nível de arquitetura de conj. de instr. (ISA)
Interpretação (microprograma) ou execução direta
Memórias de um bit
Nível 1 Nível de microarquitetura
hardware
Portas lógicas
Nível 0 Nível lógico digital
Arquitetura e Organização de Computadores

Evolução de máquinas multiníveis

 Hardware
 Circuitos digitais, dispositivos de entrada e
saída, etc.
 Software
 Instruções detalhada de como fazer algo:
programas.

 Hoje em dia é difícil distinguir a diferença entre


ambos. São logicamente equivalentes.
 Qualquer operação executada por um software
pode ser embutida em um hardware.
Arquitetura e Organização de Computadores

A invenção da microprogramação

 1940 - computadores tinham apenas


dois níveis
 (ISA):
 Onde era feita toda a programação.
 Lógico digital:
 Circuitos que executavam os programas;
 Eram complicados;
 Difíceis de entendem e montar;
 Não confiáveis.
Arquitetura e Organização de Computadores
A invenção da microprogramação

 1951 – Wilkes, sugeriu a construção de um


computador de três níveis, para simplificar o
hardware.
 Deveria haver então um interpretador imutável
embutido (microprograma).
 executava programas de nível ISA por
interpretação.
 Reduziu-se o número de instruções, do conjunto
de instruções ISA para um conjunto limitado de
instruções, então seria necessário um número
menor de circuitos elétricos.
 Em 1970 todas as máquinas tinham essa
estrutura de três níveis.
Arquitetura e Organização de Computadores

A invenção do sistema operacional

 Processo de utilização da máquina era


complexo;
 Eliminação do trabalho do operador;
 Para tanto um programa era mantido
na máquina (sistema operacional):
 Os programadores produziam cartões de
controle junto com o programa, que eram
lidos e executados pelo SO.
Arquitetura e Organização de Computadores

Migração de funcionalidades para o


microcódigo

 Em 1970 a microprogramação se tornou


comum;
 Todos queriam gerar um conjunto de
instruções maior e melhor;
 Instruções redundantes:
 Ex.: INC (INCrement), adiciona mais 1, também
existia a instr. ADD.
 Exemplos de instruções adicionadas:
 Instruções para multiplicação e divisão de
inteiros;
 Instruções aritméticas para ponto flutuante.
 Etc.
Arquitetura e Organização de Computadores
Migração de funcionalidades para o
microcódigo

 Outras características adicionadas:


 Acelerar cálculos com vetores;
 Permitir movimentação de programas na
memória após o inicio da execução;
 Sistemas de interrupção para
entrada/saída;
Arquitetura e Organização de Computadores

Eliminação da microprogramação

 O microprogramas engordaram entre


1960 e 1970;
 Ficaram mais lentos, a medida que
mais volumosos;
 Os pesquisados sugeriram a redução
no número de instruções eliminando o
microprograma;
 O controle do caminho de dados foi
feito via hardware;
Arquitetura e Organização de Computadores

Marcos da arquitetura de computadores

 A geração zero – computadores mecânicos


(1942 - 1945);
 A primeira geração – válvulas (1945 - 1955);
 A segunda geração – transistores (1955 -
1965);
 A terceira geração – circuitos integrados
(1965 – 1980);
 A quarta geração – integração em escala
muito grande (1980 - ?);
 A quinta geração – computadores invisíveis;

Potrebbero piacerti anche