Professional Documents
Culture Documents
INTRODUO
1
Como tornar a linguagem de mquina (L1) mais simples de
ser utilizada ?
Projetar um novo conjunto de instrues, formando uma
linguagem L2, mais fcil de se programar.
1a Alternativa: Traduo
Mtodo que consiste na substituio de cada
instruo do programa escrito na linguagem L2 por
uma seqncia de instrues equivalente na
linguagem L1.
O computador executa o programa em L1.
2a Alternativa: Interpretao
Mtodo onde um programa escrito na linguagem L1
recebe os programas escritos em L2, e cada
instruo em L2 executada por uma seqncia
equivalente em L1.
O computador executa o programa em L1.
Comparao entre Traduo e Interpretao:
Similares.
Ambas executam seqncias equivalentes em L1 de
cada instruo em L2.
Na traduo, o programa em L2 descartado,
obtendo-se um programa equivalente em L1.
Mquina Virtual: um computador hipottico de
linguagem de mquina de um nvel mais elevado do que a
linguagem inerente do computador.
Pode-se ter tambm mquinas virtuais baseadas em
outras mquinas virtuais.
2
Mquina Multinvel: um computador que possui
mquinas virtuais dispostas em camadas ou nveis, umas
sobre as outras. Cada linguagem utiliza a sua predecessora
como base.
Os programas em Ln ou so interpretados por
um interpretador em execuo em uma
Nvel n Mquina Virtual Mn, linguagem de mquina de nvel inferior, ou
com linguagem de
mquina Ln so traduzidos para a linguagem de mquina
de uma mquina de nvel inferior.
...
3
1.1. Consideraes Sobre Mquinas Virtuais
4
1.2. Mquinas Multinvel Contemporneas
Traduo (compilador)
Nvel de linguagem de
Nvel 4 montagem
Traduo (montador)
Nvel de mquina
Nvel 2
convencional
Interpretao (microprograma)
Os microprogramas so
executados diretamente pelo
hardware
5
Nvel 0 - Nvel de Lgica Digital
Nvel de portas lgicas.
Entrada: 0 ou 1
Sada: funo simples sobre as entradas (AND, etc.).
Nvel 1 - Nvel de Microprogramao
o nvel real de linguagem de mquina.
Cada computador tem seu nvel de microprogramao.
Em geral, o nmero de instrues (micro-instrues) no
ultrapassa 20.
Maior parte: movimentao de dados.
Possui microprogramas executados neste nvel:
Define uma linguagem de nvel 2.
Interpreta as instrues de nvel 2.
Nvel 2 - Nvel de Mquina Convencional
Existe muita semelhana entre os fabricantes neste nvel.
Cada fabricante tem o seu Manual de Referncia de
Linguagem de Mquina.
Nvel 3 - Nvel de Sistema Operacional
um nvel hbrido.
Uma parte das instrues deste nvel idntica as
instrues do nvel 2 que so interpretadas pelos
microprogramas.
Uma outra parte interpretada pelo sistema
operacional.
6
Nvel 4 - Nvel de Linguagem de Montagem
Prov um mtodo para as pessoas escreverem programas
para os nveis 1, 2 e 3 (linguagem simblica).
Os programas escritos em linguagem de montagem so
traduzidos para as linguagens de nvel 1, 2 ou 3 e
interpretados pela mquina virtual ou real.
Quem faz a traduo o programa montador.
Nvel 5 - Nvel de Linguagem de Alto Nvel
Exemplos: Basic, C, Cobol, Fortran, Lisp, Modula 2 e
Pascal.
Compilador: traduz os programas em linguagem de alto
nvel para os nveis 3 ou 4.
Nvel 6 e superiores - ?
Depende da aplicao.
Pode ser criado para atender a necessidades especficas.
Arquitetura de Computadores ou Organizao de
Computadores: o estudo de como projetar as partes de
um computador que so visveis aos programadores.
7
1.3. Evoluo das Mquinas Multinvel
1940s:
2 nveis: lgica digital e mquina convencional.
Difcil de entender e construir.
No confiveis.
1951:
3 nveis: lgica digital, microprogramao e mquina
convencional.
Interpretador embutido e imutvel.
Simplificao do hardware: passa a ter que executar
microprogramas.
Maior confiabilidade (menos vlvulas).
1950s:
Surgimento dos montadores e compiladores.
1960s:
Surgimento do nvel de sistema operacional.
Sistemas batchs (em lote).
Sistemas time-sharing (tempo compartilhado).
1970s:
Generalizao da interpretao e nvel de
microprogramao.
8
1.4. Hardware, Software e Mquinas Multinvel
10
1.5. Evoluo dos Computadores
11
1936 - Z1 - Zuse
Primeira mquina calculadora a rels a funcionar.
1940 - Calculadora - Stibbitz
Aritmtica binria.
Memria dinmica a capacitores (necessitavam de
refrescamento).
1944 - Mark I - Aiken
72 palavras de 23 dgitos decimais.
Ciclo de instruo de 6 segundos.
12
1951 - Whirlwind I - M.I.T.
Primeiro computador de tempo real.
1951 - UNIVAC I - Eckert/Mauchley
Primeiro computador vendido comercialmente.
1952 - IAS - von Neumann
Programao por chaves e cabos era lenta.
O programa era armazenado na forma digital na
memria junto com os dados.
Substituio da representao decimal (10 vlvulas por
dgito) na memria pela representao digital.
Projeto bsico atual: mquina de von Neumann.
Memria
Entrada
Unidade
Unidade Lgica e
de Aritmtica Sada
Controle
Acumulador
13
Memria: 4096 palavras de 40 bits.
Palavra: 40 bits.
2 instrues de 20 bits.
1 no inteiro 39 bits com sinal.
Instruo: 20 bits.
8 bits - tipo de instruo.
12 bits - endereo de 1 palavra na memria.
Instrues tpicas envolvendo o Acumulador (Ac):
Ac Ac + Contedo de uma palavra na memria.
Memria Ac.
1953 - 701 - IBM
2K palavras de 36 bits de ncleo de ferrite.
2 instrues por palavra.
1956 - 704 - IBM
4K palavras de 36 bits.
Hardware de ponto-flutuante.
15
Linha IBM 360:
Modelo
Propriedade 30 40 50 65
Desempenho Relativo 1 3,5 10 21
Tempo de Ciclo (ns) 1000 625 500 250
Memria Mxima (K) 64 256 256 512
Bytes Buscados por Ciclo 1 2 4 16
No Mximo de Canais de Dados 3 3 4 6
Omnibus
(*) CPU: Unidade Central de Processamento.
16
Primeiro supercomputador.
1978 - VAX - DEC
Primeiro supermini de 32 bits.
17
Supercomputadores: maximizam o nmero de FLOPs
(Operaes em Ponto-Flutuante por segundo).
A Famlia Intel
1971 - 4004
Primeiro microprocessador (CPU em uma nica
pastilha).
O objetivo era servir de base para a construo de
calculadores.
4 bits, 45 instrues, 4Kbytes de endereamento.
1972 - 8008
Processador de 8 bits construdo para controlar terminais.
8 bits, 48 instrues, 16Kbytes de endereamento.
1973 - 8080
Caractersticas: 64Kbytes de endereamento, clock 10
vezes mais rpido que o do 8008, compatvel com a
famlia TTL.
1976 - 8085
Nova verso do 8080, mais rpido.
Incorpora gerador de clock e sinais de controle de sistema
internamente a pastilha.
1978 - 8086
Caractersticas: 16 bits, 1Mbytes de endereamento.
Utilizado para a construo de microcomputadores.
Deu origem a famlia 80x86.
18
1979 - 8088
Verso simplificada do 8086, com via de dados de 8 bits.
Permitiu a construo de microcomputadores mais
baratos
Escolhido pela IBM como o microprocessador do
IBM PC original.
1982 - 80186
Verso do 8086 que incorpora o gerador de clock,
controlador de interrupo, temporizador e unidade de
acesso direto a memria. Foi pouco usado.
1982 - 80188
Verso simplificada do 80186, com via de dados de 8 bits.
1983 - 80286
Verso do 8086 com 16Mbytes de endereamento.
1Gbytes de espao de endereamento de memria virtual.
Unidade de gerenciamento de memria.
CPU do microcomputador PC-AT e de algumas verses
do PS/2.
1985 - 80386
Verso do 8086 de 32 bits.
Suporte a multi-tarefa.
4Gbytes de endereamento.
64Tbytes de espao de endereamento de memria virtual.
80386DX: via de dados externa de 32 bits.
19
80386SX: via de dados externa de 16 bits. Permitiu a
migrao do hardware do 80286 de forma mais direta.
1989 - 80486
Verso melhorada do 80386.
8Kbytes de memria cache interna.
Caractersticas de mquinas RISC.
80486DX: verso com o co-processador numrico 80387.
80486SX: verso sem o co-processador numrico.
1992 - Pentium
Verso melhorada do 80486, com via de dados externa de
64 bits, trabalhando internamente com 2 processadores.
Cache interno de 16Kbytes (8 para dados e 8 para
instrues).
1995 - Pentium Pro
Verso do Pentium com cache de nvel 2 embutido na
pastilha do microprocessador.
20
A Famlia Motorola
1974 - 6800
Primeiro microprocessador da Motorola de 8 bits.
1978 - 6809
Evoluo do 6800 com registradores adicionais, novas
instrues de manipulao de dados de 16 bits e mais
modos de endereamento.
1975 - 6502
Microprocessador popular da Motorola, utilizado nas
mquinas Apple, compatvel com o 6800.
1979 - 68000
Microprocessador de 16/32 bits possuindo vias de dados
internas de 32 bits e externas de 16 bits, registradores de
32 bits. Nem todas as instrues trabalham com 32 bits.
No compatvel com os anteriores (projeto novo).
Utilizado no microcomputadores Macintosh.
Deu origem a famlia 680x0.
1980 - 68008
Verso do 68000 com via de dados externa de 8 bits e vias
de endereos de 20 bits (1Mbytes de endereamento), que
no foi muito utilizado.
1983 - 60010
Evoluo do 68000 com controle de memria virtual.
16Mbytes de endereamento.
21
1983 - 60012
Verso do 60010 com 2 Gbytes de endereamento.
1984 - 68020
Microprocessador de 32 bits, com memria cache interna
de 256 bytes. Todas as instrues trabalham com 32 bits.
Utilizado pelas estaes de trabalho Sun, Apollo e HP.
1987 - 68030
Verso melhorada do 68020 e com uma unidade de
gerenciamento de memria dentro da pastilha.
Equivalente ao 80386.
1990 - 68040
Verso com co-processador numrico 68881.
Memria cache interna de 4Kbytes para dados e
instrues independentes.
Equivalente ao 80486.
1994 - 68060
Apresenta um projeto super-escalar, com mltiplas
unidades de execuo.
22
A Famlia Zilog
1974 - Z80
Processador de 40 pinos, sendo uma verso melhorada do
8080, de 8 bits.
1979 - Z8000
Microprocessador de 16 bits capaz de enderear at
8Mbytes de memria.
Possui memria cache para dados e instrues de 256
bytes e unidade de gerenciamento de memria.
23