Buscar

aula05 06

Prévia do material em texto

Arquitetura de Computadores
Aula 05-06 – Máquinas Multiníveis
Prof. Sand Luz Corrêa
 
Roteiro
● Computador Digital
● Linguagem de Máquina
● Tradução e Interpretação
● Máquina Multinível
● Conjunto de Instrução
 
Computador Digital
● Conjunto de circuitos eletrônicos capaz de
resolver problemas através de instruções que lhe
são passadas.
● Por questões de custo, os circuitos de cada
computador são capazes de executar diretamente
apenas um conjunto simples e limitado de instruções:
● Capturar valores a partir de uma porta de entrada
● Executar operações aritméticas e lógicas
● Mover dados de um local para outro
● Mover valores para uma porta de saída
.
 
Linguagem de Máquina
● O conjunto de instruções que o computador executa
diretamente forma uma linguagem com a qual as
pessoas podem se comunicar com a máquina.
● Essa linguagem é chamada Linguagem de Máquina. 
● A Linguagem de máquina de um computador é
definida no projeto de seu processador e a escolha
das instruções envolve 2 critérios:
● Simplicidade
● Desempenho
 
Linguagem de Máquina
● Toda linguagem é formada por um conjunto de
símbolos
● Caracteres alfanuméricos maiúsculos ou minúsculos,
caracteres numéricos, símbolos de pontuação, etc
● Como os computadores surgiram para resolver
problemas matemáticos de forma rápida e
confiável:
● Optou-se por representar internamente os dados e as
instruções através de algarismos
● Sinais elétricos (um sinal de voltagem ou corrente) são
convertidos em algarismos
● Logo, precisamos de um valor de tensão para cada
algarismo 
 
Linguagem de Máquina
Algarismo Nível de tensão
0 +1.0V
1 -1.0V
2 +1.5V
3 +2.0V
4 +0.5V
5 -1.5V
6 -2.0V
7 +2.5V
8 +3.0V
9 -2.5V
● Problema:
● P a r a u m a f a i x a
estreita de tensão
– Valores próximos
– Pouca confiabilidade
● Para uma faixa de
tensão larga
– Maior consumo de
energia
– Maior dissipação de
calor
 
Linguagem de Máquina
● Solução
● Codificação de símbolos via algarismos usando o
sistema binário
● Vantagens
– Apenas dois valores para ser representados: 0 e 1
– É possível trabalhar com uma faixa estreita de tensões
– Muitos componentes eletrônicos básicos são binários
● Deixa ou não passar corrente
● Chaves abertas ou fechadas
● Campos magnéticos orientados para sul ou para o norte
 
Linguagem de Máquina
● Resumindo:
● Linguagem compreendida pelo hardware do
computador
● É formada por instruções representadas por
símbolos 0 ou 1
● 0 e 1 são normalmente chamados de dígito binário
ou bit
 
Linguagem de Máquina
● Por ser muito simples (simplificada, básica) é
difícil programar aplicações usando linguagem
de máquina.
● Por esse motivo, usamos linguagem de alto 
nível para desenvolver programas (C,Java,
C++,Python,PHP,Ruby,etc.).
● Todo programa escrito em linguagem de alto
nível deve ser convertido em linguagem de
máquina antes de ser executado. 
 
Linguagem de Máquina e
Linguagem de alto nível
 
Tradução e Interpretação
● Há duas formas de fazer tal conversão
● Sejam:
● L1: uma linguagem de alto nível
● L0: uma linguagem de máquina
 
Tradução e Interpretação 
● 1a. Forma:
● Tradução: 
– Substitui cada instrução em L1 por uma sequência
de instruções em L0, criando um novo programa. 
– O programa resultante é completamente formado
por instruções em L0.
– O programa em L0 é executado
 
Tradução e Interpretação
● 2a. Forma:
● Interpretação: 
– um programa escrito em L0 toma o programa L1
como entrada
– O programa escrito em L0 é denominado
interpretador
– Para cada instrução de L1, o interpretador
executa uma sequência de inst ruções
equivalentes em L0
 
______
____
______
___
_____
Compilador
0001
1001
0010
1010
1111
______
____
______
___
_____
Interpretador
0001
Compilação Interpretação
Código Fonte
Código Binário
Código Fonte
Instrução Binária
Próxim
a Instru ção
 
Tradução e Interpretação
Linguagem Tradução Interpretação
Desempenho Maior Menor
Portabilidade Menor Maior
Facilidade de 
Teste/depuração
Menor Maior
 
Tradução e Interpretação
● Tradução e Interpretação são amplamente
usados
● Exemplo de Linguagens que utilizam tradução
● ADA, Pascal, C, C++, C#, Delphi, Fortran, Visual
Basic
● Exemplo de L inguagens que ut i l izam
interpretação
● Smalltalk, Python, Lua, PHP, Ruby
● Exemplo de Linguagens que utilizam ambos
● Java
 
Máquina Multinível
● Um computador moderno pode ser entendido como uma
máquina com n níveis.
 
Máquina Multinível
Linguagem de Máquina
Linguagem Assembly
Linguagem C
Ruby
DSL(Domain Specific 
Language)
 
Máquina Multinível Contemporânea
Linguagens orientadas a problemas
Linguagem de montagem
Sistema Operacional
Arquitetura do conjunto de instrução
Microarquitetura
Lógica digital
Nível 5
Nível 4
Nível 3
Nível 2
Nível 1
Nível 0
Hardware
Software
 
Máquina Multinível 
● Nível -1: Nível dos Dispositivos
 
Máquina Multinível 
● Nível 0: Lógica Digital
 
Máquina Multinível 
● Nível 1: Microarquitetura
● Nível dos registradores, unidade de aritmética e
lógica, sinais controle, etc.
 
Máquina Multinível 
● Nível 2: Arquitetura do Conjunto de Instrução
● Determina as instruções de máquina que são
executadas diretamente pelo hardware
 
Máquina Multinível 
● Nível 3: Sistema Operacional
● Fronteira entre hardware e software.
● Oferece :
– novas abstrações e instruções
– organização diferente para a memória principal
– a capacidade de executar 2 ou mais programas de forma
concorrente
 
Máquina Multinível 
● Nível 4: Linguagem de Montagem
● Primeiro nível orientado a programadores comuns.
● Oferece uma linguagem simples orientada a utilização
humana (mnemônicos) – Linguagem Assembly.
 
Máquina Multinível 
● Nível 5: Linguagens Orientadas a Problemas
● Formado pelas linguagens de alto nível, usadas nas
soluções de problemas (aplicações). C, C++, Java,
Python, Lua, PHP. 
 
Bibliografia
● Capítulo 1 do Livro Organização Estruturada de
Computadores, Andrew Tanenbaum, 5a.
Edição, Prentice-Hall
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27

Continue navegando