Sie sind auf Seite 1von 28

Introduo Arquitetura de Computadores

Renan Manola
Introduo ao Computador
2010/01

Introduo Conceitos (1)

Computador Digital

uma mquina que pode resolver problemas


executando uma srie de instrues que lhe so
fornecidas. Mquina Programvel.

Programa

Um conjunto de instrues que descrevem a maneira


de se realizar uma determinada tarefa.

Somar 2 nmeros
Comparar o valor de um nmero com zero.
Copiar um conjunto de dados de uma parte da memria para outra parte.

Introduo Conceitos (2)

Linguagem de Mquina

Instrues bsicas de um determinado computador.


Linguagem primitiva (binria), mas a linguagem que a
mquina realmente entende. Complicada para uso
humano.

Nveis de Abstrao
Organizao Estruturada de Computadores

Projeto de computadores de maneira sistemtica e


organizada.

Traduo (Compilao) x Interpretao (1)

Linguagens de alto nvel

C, C++, Delphi, Pascal, Fortran, JAVA,...


Facilitam a comunicao dos seres humanos com a mquina, sendo
linguagens mais prximas dos humanos.
Devem ser convertidas em linguagem de mquina para serem
executadas.
Mtodos de converso: a traduo e a interpretao.

Traduo (Compilao) x Interpretao (2)

Traduo (Compilao)

Interpretao

Programa completo de alto nvel primeiro convertido para


a linguagem de mquina para ento ser executado.
Ex: C, Pascal.
Depois de cada instruo de alto nvel ser examinada e
decodificada, ela executada imediatamente.
Ex: Haskell.

Mtodos Hbridos

Ex: Java

Traduo (Compilao) x Interpretao (3)

Mquina Virtual

Seja L0 uma linguagem de mquina e L1 uma linguagem em um nvel de


abstrao acima de L0.

Mquina Virtual

Abstrao M1 atravs de L1
Mquina (M1) hipottica, cuja linguagem de mquina a linguagem L1.

Mquinas Multi-Nveis

Camadas ou nveis de abstrao.


Nvel ou Camada: uma mquina (computador real ou virtual) e a
correspondente linguagem, sobre a qual uma nova camada pode ser
acrescentada.
A linguagem ou o nvel mais baixo o mais simples, enquanto a linguagem ou
o nvel mais alto o mais sofisticado.

Mquina de Vrios Nveis (1)


Nvel n

Mquina virtual Mn, com


linguagem de mquina Ln

Nvel 3

Mquina virtual M3, com


linguagem de mquina L3

Nvel 2

Mquina virtual M2, com


linguagem de mquina L2

Nvel 1

Nvel 0

Mquina virtual M1, com


linguagem de mquina L1
Computador real M0, com
linguagem de mquina L0

Programas em Ln podem ser


interpretados por um interpretador
executando em uma mquina de
nvel mais baixo, ou traduzidos para
a linguagem de mquina de uma
mquina mais abaixo
Programa em L2 pode ser
interpretado por interpretadores
executando em M1 ou em M0,
ou traduzido para L1 ou L0
Programa em L1 pode ser
interpretado por um interpretador
executando em M0,
ou traduzido para L0
Programa em L0 diretamente
executado por circuitos eletrnicos

Mquina de Vrios Nveis (2)

Cada mquina virtual tem associada a si uma linguagem de


mquina, composta de todas as instrues que essa mquina
pode executar.
Uma mquina define uma linguagem.
Uma linguagem define uma mquina.
Um computador com n nveis pode ser visto como n mquinas
virtuais distintas.
Uma pessoa cuja tarefa seja escrever programas para a
mquina virtual do nvel n nem precisa saber de como
funcionam os nveis abaixo dele.

Mquina de Vrios
Nveis Modernas

Nvel dos Dispositivos

Situado abaixo do nvel 0


Microeletrnica
Caractersticas fsicas
Malha de transistores
Tecnologias de fabricao de circuitos integrados

Nvel 0 ou Nvel da Lgica Digital

composto pelo hardware da mquina


Portas Lgicas so os objetos de interesse dos projetistas de
computadores nesse nvel
As portas lgicas (basicamente portas AND, OR e NOT) so os
elementos primrios de circuitos lgicos mais complexos.
Combinao de portas lgicas:

Funes aritmticas;
Memrias (registradores);
Processadores.

Nvel 1 ou Nvel da Microprogramao (1)

Neste nvel, inicia-se o conceito de programa como uma


seqncia de instrues a serem executadas diretamente
pelos circuitos eletrnicos.

Poucas so as mquinas que tm mais de 20 instrues


no nvel do microprograma, e a maior parte destas
instrues envolve a movimentao de dados de uma
parte da mquina para outra, ou alguns testes simples.

Utilizada especialmente (geralmente) em mquinas CISC


(Complex Instruction Set Computer).

RISC x CISC

CISC - Complex Instruction Set Computer

RISC - Reduced Instruction Set Computer

Arquitetura cujo processador capaz de executar centenas de instrues


complexas diferentes, sendo assim extremamente verstil.
Exemplos: 386, 486 da Intel.
Muitas das instrues guardadas no prprio processador.
Uma linha de arquitetura de computadores que favorece um conjunto
simples e pequeno de instrues.
Exemplos: SPARC, MIPS, PowerPC, DEC Alpha, etc.
Considerado mais eficiente que as CISC
As instrues tendem a ser executadas em poucos (ou mesmo um nico)
ciclos de relgio.

Tamanho do cdigo X Desempenho

Geralmente, o desempenho de um RISC melhor do que de um CISC;


Cdigo gerado por um RISC tende a ser mais longo e complexo.

Nvel 1 ou Nvel da Microprogramao (2)

Enxerga-se:

Um conjunto de 8 a 32 registradores
Um circuito chamado ULA (Unidade Lgica e Aritmtica)

Os registradores e a ULA so conectados para formar o


Caminho de Dados (Data Path), estrutura sobre a qual
os dados fluem.

A operao bsica do caminho de dados consiste na


seleo de um ou de dois registradores para que a ULA
opere sobre eles.

Nvel 1 ou Nvel da Microprogramao (3)

Interpretador de um microprograma

Busca, decodifica e executa as instrues, uma a uma,


usando o caminho de dados para a realizao de uma
tarefa.

Pode ser controlado por hardware ou por software

Exemplo: Execuo de uma instruo de SOMA (ADD)

A instruo deve ser executada na memria, seus operandos


devem ser localizados e trazidos para os registradores, a soma
deve ser calculada na ULA, e o resultado deve ser
encaminhado para o lugar apropriado

Nvel 2 ou Nvel ISA

Nvel ISA Instruction Set Architecture


Nvel da Arquitetura do Conjunto de Instrues
Nvel Convencional de Mquina

Conjunto das Instrues Executveis por uma mquina (processador)


Cada mquina ou processador tem sua linguagem prpria de nvel 2, a
qual documentado em manuais especficos de cada fabricante.

Discute-se:

Tipo de Dados
Modelos de Memria e de Endereamento
Formato e Tipos de Instrues
Fluxo de Controle

Nvel 3 ou Nvel do Sistema Operacional (SO) (1)

Esse nvel suporta um conjunto de novas instrues, uma


organizao diferente da memria, a capacidade de rodar
dois ou mais programas de forma simultnea, e outros.

Fornece servios bsicos para os nveis acima. Tais


servios so: interface (grfica ou linha de comando) com
o usurio (Shell), gerenciamento de memria,
escalonamento de processos, acionamento de
dispositivos de entrada e sada de dados etc.

Geralmente desenvolvido de forma hbrida, ou seja, parte


em uma linguagem de alto nvel, e parte diretamente em
linguagem de mquina.

Nvel 3 ou Nvel do Sistema Operacional (SO) (2)

Nveis abaixo: programadores de sistema, que so


especialistas em projetar e implementar novas mquinas
virtuais. Predominncia de interpretao e linguagens
freqentemente numricas, bom para as mquinas, mas
ruim para as pessoas.
Nveis acima: dirigidos aos programadores de aplicao
com problemas a serem solucionados. Predominncia de
traduo, e as linguagens contm palavras e abreviaturas
significativas para as pessoas.
Figura

Nvel 4 ou Nvel de Linguagem de Montagem

Uma forma simblica de representao das linguagens dos


nveis mais baixos.
Prov um mtodo para as pessoas escreverem programas
para os nveis 1, 2, e 3 de uma maneira no to
desconfortvel.
Mnemnicos para as instrues de mquina.
Montador: programa que executa a traduo ou
interpretao dos programas em linguagem de montagem
para uma linguagem do nvel 1, 2 ou 3.

Nvel 5 ou Nvel de Linguagens de Alto Nvel

Linguagens projetadas para serem utilizadas por


programadores de aplicao com problemas a serem
resolvidos.
Os programas escritos nessas linguagens so geralmente
traduzidos para o nvel 3 ou nvel 4 por tradutores
conhecidos como compiladores, embora s vezes sejam
interpretados.

Mais Nveis ???

Os nveis 6 e superiores consistem em colees de


programas projetados para criar mquinas especialmente
adequadas para certas aplicaes, contendo grandes
quantidades de informao acerca da aplicao.

Mquinas virtuais voltadas a aplicaes:

Administrao, educao, projeto de computadores, realidade


virtual, etc.

Dependendo do projeto da arquitetura, os nveis podem


variar.

Arquitetura de Computadores

Ponto fundamental: os computadores so projetados como


uma srie de nveis, cada um deles construdo em cima de
seus precursores.

Cada nvel representa uma abstrao distinta, com diferentes


objetos e operaes presentes (Arquitetura do Nvel).

Abstrai-se o que irrelevante, reduzindo a complexidade e


focando no que interessa.

Arquitetura de Computadores: o estudo de como


projetar as partes de um sistema de computador visveis aos
programadores.

Hardware, Software e Firmware

Hardware

Software

composto de instrues,
computacionais - os programas.

algoritmos

por

suas

representaes

Firmware

composto por objetos tangveis (parte fsica) - circuitos integrados, placas de


circuito impresso, cabos, fontes de alimentao, memrias, impressoras, etc.

Software embarcado, trata-se de um software que controla o hardware


diretamente. Ex.: BIOS (Basic Input/Output System).

Hardware e Software so logicamente equivalentes.

Montadores, Ligadores, Carregadores, Compiladores e Interpretadores (1)

Montadores (Assemblers)

Geram um arquivo objeto. Em geral, no pode ser executado


diretamente pela mquina, por conter referncias a sub-rotinas e dados
especificados em outros arquivos.

Ligadores (Linkers)

Montam um programa em linguagem de mquina a partir de sua verso


em linguagem de montagem.

So programas especiais que recebem como entrada arquivos objetos e


geram como sada o programa final em linguagem de mquina.
Gera um programa executvel a partir de um ou mais arquivos objeto.

Carregadores (Loaders)

Para executar um programa, um loader deve ser utilizado.

O carregador , em geral, parte do sistema operacional.

Montadores, Ligadores, Carregadores, Compiladores e Interpretadores (2)

Compiladores

So programas que recebem como entrada arquivos texto contendo


mdulos escritos em linguagem de alto nvel e geram como sada arquivos
objeto correspondentes a cada mdulo.
Se todas as bibliotecas ou mdulos so apresentados como entrada, geram
um programa executvel diretamente.

Interpretadores

Recebem como entrada arquivos texto contendo programas em linguagem


assembly ou linguagem de alto nvel, ou arquivos binrios com instrues
de mquina, e os executam diretamente.
Interpretadores percorrem os programas, a partir de seu ponto de entrada,
executando cada comando.
Processadores so interpretadores implementados em hardware!

Execuo de um Programa
Programa em Ling.
de Alto Nvel

Compilador

Memria

Programa em Ling.
de Montagem
Objeto: rotinas da biblioteca
(em ling de mquina)

Carregador

Montador

Objeto: mdulo em ling


de mquina

Ligador

Executvel: programa
em ling de mquina

Referncias

Andrew S. Tanenbaum, Organizao Estruturada de Computadores, 4


edio, Prentice-Hall do Brasil, 2001.
Lcia Helena M. Pacheco, Viso Geral de Organizao Estruturada de
Computadores e Linguagem de Montagem. Universidade Federal de
Santa Catarina. Centro Tecnolgico, Departamento de Informtica e de
Estatstica.

Das könnte Ihnen auch gefallen