Buscar

1 Introducao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagens, N´ıveis e Ma´quinas Virtuais
Disciplina: Arquitetura de Computadores
Profa. Daniella Dias
24 de maio de 2016
Arquitetura de Computadores 24 de maio de 2016 1 / 22
Organizac¸a˜o x Arquitetura de Computadores
Arquitetura
Sa˜o os atributos de um sistema vis´ıveis para o programador. Esses
atributos teˆm impacto direto sobre a execuc¸a˜o lo´gica de um programa.
Conjunto de instruc¸o˜es
Nu´mero de bits usados para representar os va´rios tipos de dados
Mecanismos de entrada e sa´ıda
Te´cnicas de enderec¸amento de memo´ria
Organizac¸a˜o
Unidade operacionais e interconexo˜es que implementam as especificac¸o˜es
da arquitetura.
Sinais de controle
Interface entre o computador e perife´ricos
Tecnologia de memo´ria utilizada
Arquitetura de Computadores 24 de maio de 2016 2 / 22
Organizac¸a˜o x Arquitetura de Computadores
Projeto da arquitetura
Se o computador tera´ a instruc¸a˜o de multiplicac¸a˜o.
Projeto da organizac¸a˜o
A instruc¸a˜o de multiplicac¸a˜o sera´ implementada por uma unidade
especial de multiplicac¸a˜o ou por um mecanismo que fac¸a uso repetido
da unidade de adic¸a˜o do sistema.
Arquitetura de Computadores 24 de maio de 2016 3 / 22
Organizac¸a˜o x Arquitetura de Computadores
Conceitos distintos (importante)
Fam´ılias de computadores → mesma arquitetura e organizac¸o˜es
diferentes.
Diferentes prec¸os e desempenhos
Mudanc¸as de tecnologia
Arquitetura pode durar muitos anos e abranger va´rios modelos
(organizac¸a˜o)
Exemplo → Sistema 370 da IBM (1970)
Clientes com diferentes necessidades de desempenho (e orc¸amento).
Possibilidade de futuras aquisic¸o˜es sem compromenter os softwares ate´
enta˜o desenvolvidos.
Arquitetura foi melhorada e atualmente pertence a linha de mainframes
da empresa.
Arquitetura de Computadores 24 de maio de 2016 4 / 22
Organizac¸a˜o Estruturada de Computadores
Computador digital → executa instruc¸o˜es
Software → conjunto de instruc¸o˜es
Hardware → executa conjunto limitado de instruc¸o˜es
Instruc¸o˜es executadas em hardware sa˜o simples: soma, comparac¸a˜o,
transfereˆncia de dados...
Linguagem de ma´quina → conjunto de instruc¸o˜es ba´sicas
Compat´ıvel com o uso da ma´quina
Compat´ıvel com o desempenho requerido
Custo e complexidade reduzidos
Arquitetura de Computadores 24 de maio de 2016 5 / 22
Organizac¸a˜o Estruturada de Computadores
Problema
A linguagem de ma´quina (bina´ria) esta´ muito distante da linguagem
natural do usua´rio.
Soluc¸a˜o
Criar uma hierarquia de abstrac¸o˜es, com os n´ıveis mais altos baseados nos
n´ıveis mais baixos:
Organizac¸a˜o estruturada de computadores.
Arquitetura de Computadores 24 de maio de 2016 6 / 22
Linguagens, N´ıveis e Ma´quinas Virtuais
Supondo 2 linguagens:
L1: Linguagem natural do usua´rio (alto n´ıvel, complexa)
L0: Linguagem da ma´quina (baixo n´ıvel, simples)
Como compatibilizar L1 e L0?
Utilizac¸a˜o de um tradutor (compilador)
Utilizac¸a˜o de um interpretador
Existe tambe´m uma soluc¸a˜o h´ıbrida (tradutor + interpretador)
Pode-se pensar em uma ma´quina virtual M1 com linguagem L1 e em
uma ma´quina real M0 com linguagem L0
Programas escritos em L1 para M1
Executados diretamente em M0
Traduzidos ou interpretados para M0
Arquitetura de Computadores 24 de maio de 2016 7 / 22
Linguagens, N´ıveis e Ma´quinas Virtuais
L0 e L1 muito diferentes → aumento na complexidade do processo de
traduc¸a˜o/interpretac¸a˜o
Muitos n´ıveis (ma´quinas virtuais) podem ser implementados
Hierarquia de ma´quinas virtuais (ou de n´ıveis)
Programas sa˜o escritos para ma´quinas virtuais (como se elas
realmente existissem)
Cada linguagem usa a antecessora como base
Computador pode ser visto como um conjunto de camadas ou n´ıveis
Um programador do n´ıvel n na˜o tem conhecimento dos n´ıveis
inferiores. (Quem precisa conhecer o n´ıvel inferior?)
Arquitetura de Computadores 24 de maio de 2016 8 / 22
Computador: Ma´quina de Va´rios N´ıveis
Arquitetura de Computadores 24 de maio de 2016 9 / 22
Ma´quina de Va´rios N´ıveis Moderna
Arquitetura de Computadores 24 de maio de 2016 10 / 22
N´ıvel da Lo´gica Digital
Portas lo´gicas → cada porta uma ou mais entradas (0 ou 1)
Algumas portas combinadas formam uma memo´ria de 1 bit.
Algumas memo´rias de 1 bit combinadas em grupos de 16, 32 ou 64
bits para formar registradores.
Alguns registradores combinados formam um processador!
Arquitetura de Computadores 24 de maio de 2016 11 / 22
N´ıvel da Microarquitetura
Nesse n´ıvel enxerga-se um conjunto comumente de 8 a 32
registradores que formam uma memo´ria local e a ULA (Unidade
Lo´gica Aritme´tica).
Realiza operac¸o˜es aritme´ticas muito simples.
Os registradores sa˜o conectados a` ULA pelo caminho de dados.
O caminho de dados pode ser controlado via software
(microprograma) ou hardware.
Arquitetura de Computadores 24 de maio de 2016 12 / 22
N´ıvel ISA (Instruction Set Architecture)
N´ıvel da arquitetura do conjunto de instruc¸o˜es
Fabricantes de computadores publicam “Manual de Refereˆncia da
Linguagem de Ma´quina” ou “Princ´ıpios de Operac¸a˜o do Computador
Modelo XYZ”.
Descric¸a˜o do conjunto de instruc¸o˜es que tal arquitetura deve
implementar.
Arquitetura de Computadores 24 de maio de 2016 13 / 22
N´ıvel do Sistema Operacional
N´ıvel h´ıbrido: instruc¸o˜es do n´ıvel ISA + novas instruc¸o˜es
Organizac¸a˜o diferente da memo´ria
Capacidade de executar mais de um programa ao mesmo tempo.
Arquitetura de Computadores 24 de maio de 2016 14 / 22
N´ıvel da Linguagem do Montador
Linguagem de mais alto n´ıvel (fa´cil compreensa˜o) – (assembly).
Geralmente usam o processo de traduc¸a˜o (compilac¸a˜o) diferente dos
n´ıveis inferiores.
Programas nesse n´ıvel sa˜o traduzidos para linguagens dos n´ıveis
inferiores e depois interpretados pela ma´quina virtual correspondente.
O programa que realiza essa traduc¸a˜o e´ chamado de Montador
(assembler).
Arquitetura de Computadores 24 de maio de 2016 15 / 22
N´ıvel das linguagens de alto n´ıvel
Utilizado por programadores de aplicac¸a˜o (C, Pascal, Java, Delphi,
etc).
Programas desse n´ıvel, geralmente, sa˜o traduzidos para o n´ıvel de
Montador ou SO por compiladores, podendo tambe´m serem
interpretados.
Linguagem Java
Traduzida para o ISA Java ou “bytecode Java”
Interpretada pela ma´quina virtual Java.
Arquitetura de Computadores 24 de maio de 2016 16 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis
Hardware e software sa˜o equivalentes logicamente
O hardware e´ simplesmente o software petrificado
Fatores de escolha entre hardware e software:
Custo
Velocidade
Confiabilidade
Frequeˆncia esperada de mudanc¸as
Os n´ıveis apresentados foram definidos desde o in´ıcio?
Arquitetura de Computadores 24 de maio de 2016 17 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis: Criac¸a˜o da
microprogramac¸a˜o
Primeiros computadores (de´cada de 40): 2 n´ıveis → ISA e lo´gica
digital
Construc¸a˜o de um computador em 3 n´ıveis, acoplando um
interpretador (microprograma) para executar programas do n´ıvel ISA
Reduc¸a˜o do hardware
Aumento da confiabilidade (tecnologia da e´poca: va´lvulas)
Arquitetura de Computadores 24 de maio de 2016 18 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis: Criac¸a˜o do Sistema
Operacional
Inicialmente, programadores operavam e gerenciavam o computador
(1 programa/vez)
Execuc¸a˜o de um programa continha va´rios passos
Desenvolvido por volta de 1960, com o objetivo de facilitar a
operac¸a˜o do computador
SO estava sempre na memo´ria
Carto˜es de controle comandavam instruc¸o˜es do SO
SO evoluiu e melhorou va´rias func¸o˜es (E/S principalmente)
As instruc¸o˜es do SO eram conhecidas por macros do SO ou chamadas
ao supervisor (atualmente: chamadas ao sistema)
1960 (MIT): SO comcompartilhamento de va´rios usua´rios (terminais
ligados ao computador por linhas telefoˆnicas) → Sistemas de Tempo
Compartilhado.
Arquitetura de Computadores 24 de maio de 2016 19 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis
Microprogramac¸a˜o → aumento do hardware via programac¸a˜o.
Migrac¸a˜o de funcionalidade para o microco´digo (de´cadas de 1960 e
1970).
Aumento do nu´mero de instruc¸o˜es diretamente no microprograma:
Multiplicac¸a˜o e divisa˜o de inteiros
Aritme´tica em ponto flutuante
Chamada e retorno de procedimento
Acelerar a execuc¸a˜o e loops
Manipulac¸a˜o de strings
Novas funcionalidades:
Acelerar o processamento de programas envolvendo ca´lculo matricial
Deslocamento do programa na memo´ria durante sua execuc¸a˜o
Tratamento de interrupc¸o˜es
Suspensa˜o de um programa e in´ıcio de outro
Arquitetura de Computadores 24 de maio de 2016 20 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis
Crescimento dos microprogramas, tornando-se lentos.
A eliminac¸a˜o da microprogramac¸a˜o e retorno das instruc¸o˜es e
funcionalidade ao hardware
Volta ao modo de como era antes (ISA e Lo´gica Digital)
Mas ”a roda continuou (e continua) girando...”
O hardware de hoje pode ser o software de amanha˜ e vice-versa.
Arquitetura de Computadores 24 de maio de 2016 21 / 22
Evoluc¸a˜o das ma´quinas multin´ıveis
“O ce´rebro humano, de um ponto de vista estritamente funcional, pode
ser definido como um sistema complexo de 100 bilho˜es de neuroˆnios. Para
conter o mesmo nu´mero de elementos do ce´rebro, um computador dos
anos 40, a fase das va´lvulas, teria o tamanho de Sa˜o Paulo. Em fins dos
anos 50, com os transistores, bastava um computador com as dimenso˜es
do Cristo Redentor. Anos 60: o computador seria como um oˆnibus.
Atualmente, com a aglomerac¸a˜o de alguns milho˜es de componentes num
u´nico chip, ce´rebro e computador entraram num acordo de dimenso˜es.”
Arquitetura de Computadores 24 de maio de 2016 22 / 22

Outros materiais