You are on page 1of 54

Arquitetura de

Computadores
Jos Filho

1/11

Sistemas Computacionais

2/11

Sistemas Computacionais

3/11

Estudo de Sistemas (Computacionais)


Os sistemas (incluindo os computacionais) so
extremamente complexos se forem estudados em
todos seus detalhes
SOLUO Diferentes nveis de ABSTRAO

Abstrao: distino entre as propriedades externas


de um componente e os detalhes internos de sua
construo.
Exemplo:
Utilizamos dispositivos eltricos sem entender a sua tecnologia
Beneficiamo-nos de servios de terceiros sem conhecer com
detalhes suas atividades
Ubiquidade um desejo ainda no atingido para sistemas
computacionais
4/11

Introduo a Organizao de
Computadores
Campo com mudanas rpidas:
Tubo de vcuo transistor CI VLSI
Dobrando a cada 1,5 anos:

Capacidade de memria
Velocidade do processador
Lei de Moore

Algumas Coisas que sero aprendidas:


Como computadores funcionam: fundamentao bsica
Como analisar seus desempenhos (ou como no fazer isso!)
Questes que influenciam computadores recentes (caches, pipelines)

Por que aprender isso?


Voc quer ser um cientista da computao
Voc quer construir softwares (necessidade de desempenho)
Voc precisa tomar decises ou oferecer expertise na rea
5/11

O que um Computador?
Componentes:
Entrada (mouse, teclado, USB)
Sada (monitor, impressora)
Memria (disk drives, DRAM, SRAM, CD, DVD, flash
memory)
Rede

Foco inicial: o processador (controle e via de dados)


Implementado usando milhes de transistores
Impossvel entender olhando cada transistor
Precisamos de...

6/11

Abstrao
Removendo camadas
temos mais informao
Uma abstrao omite
detalhes desnecessrios,
ajudando a reduzir a
complexidade
Quais detalhes nos
parecem familiares nessas
abstraes ao lado?

7/11

Instruction Set Architecture


Instruction Set Architecture = Conjunto de
Instrues
Uma abstrao muito importante
Interface entre nvel de hardware e software de baixo nvel
Padroniza instrues, padres de bits da linguagem de
mquina, etc.
Vantagem: Implementaes diferentes da mesma arquitetura
Desvantagem: As vezes dificulta o uso de novas invenes

Conjunto de Instrues relativamente recentes:


80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

VEREMOS EM PRXIMAS AULAS


8/11

Arquitetura Bsica dos Computadores


Atuais

9/11

Mas Nem Sempre Foi Assim...


De onde surgiram os computadores atuais?
J ouviu falar em baco e hollerith?
baco
Original do oriente mdio
Calculador decimal manual

Herman Hollerith (1860-1929)


Funcionrio do Departamento de Recenseamento dos
Estados Unidos
Construiu sua Mquina de Recenseamento ou Mquina
Tabuladora - 1866
Utilizava carto perfurado

Reduziu de 10 para 3 anos o perodo de realizao de censo


de 1890
10/11

Computadores Mecnicos
Maquina de Pascal: Blaise Pascal (16231662)
Operaes: Soma e Subtrao
Manivela

11/11

Computadores Mecnicos
Maquina Analtica: Charles
Babbage(1792-1871)

Componentes
Armazenamento
Engenho
Seo de Entrada
Seo de Sada

Cartes Perfurados (similar aos utilizados em


teares inglses)
Resolvia polinmios.
12/11

Computadores Mecnicos
Maquina Diferencial, 1822:
Para Calcular automaticamente tabelas matemticas,
necessrias sobretudo para a navegao.

13/11

Computadores Mecnicos
Mquina Analtica, 1834:
Programvel. As instrues entravam por
meio de cartes perfurados; tinha memria
para 1000 nmeros de 50 algarismos, tinha
uma unidade aritmtica, impresso
automtica, uma operao aritmtica por
segundo. Usava base 10, era uma maquina
mecnica, trabalhava a vapor.

14/11

Ada, Condessa de Lovelace


Primeira
Programadora.
Desenvolveu
algoritmos que
permitiriam maquina
Analtica de Babbage
computar os valores
de funes
matemticas.
15/11

Computador Eltrico
Advento da Energia Eltrica
Desenvolvimento da tecnologia Eletrnica
Dispositivos eletromagnticos.
Rels

Automatizao dos processos mecnicos.

16/11

Maquina Enigma
Enigma o nome por que conhecida uma mquina
electro-mecnica de criptografia com rotores, utilizada
tanto para criptografar como para descriptografar
mensagens secretas, usada em vrias formas na
Europa a partir dos anos 1920. A sua fama vem de ter
sido adaptada pela maior parte das foras militares
alems a partir de cerca de 1930. A facilidade de uso e
a suposta indecifrabilidade do cdigo foram as principais
razes para a sua popularidade. O cdigo foi, no
entanto, decifrado, e a informao contida nas
mensagens que ele no protegeu geralmente tida
como responsvel pelo fim da Segunda Guerra Mundial
17/11
pelo menos um ano antes do que seria de prever.

Maquina Enigma

18/11

COLOSSUS

19/11

Alan Turing (1912-1954)

20/11

Alan Turing (1912-1954)

21/11

Mark I - 1944
Primeiro computador eletromecnico
Desenvolvido pela Universidade de
Harvard, com apoio da IBM
Medidas:

700.000 peas
800.000 metros de fios
17 metros de comprimento por 2 metros de altura
70 toneladas
Soma 0,3 segundos
Multiplicao 6 segundos
22/11

1 Gerao (1945-1955)

ENIAC 1945 (Eletronic Numeral Integrator and Computer)


Primeiro computador eletrnico.
Desenvolvido na Universidade de Pensilvnia.
Projeto do exrcito dos Estados Unidos para o clculo da trajetria de
projteis.
Alguns nmeros:

17.000 vlvulas.
50.000 comutadores.
70.000 resistncias.
Soma 0,0002 segundos.
Multiplicao 0,003 segundos.
111 m3.
27 toneladas.
Consumo 100.000 a 200.000 watts.

Programao conexo de fios tipo painel de telefonista.

23/11

1 Gerao (1945-1955)

24/11

1 Gerao (1945-1955)

25/11

1 Gerao (1945-1955)

26/11

1 Gerao (1945-1955)

27/11

John Von Neumman (1903-1957)

28/11

John Von Neumman (1903-1957)

29/11

1 Gerao (1945-1955)

30/11

Mquina de von Neumann

Mquina de von Neumann


Proposta em 1946
Mquina composta por:

Memria (MEM)
Armazena dados, onde alguns destes dados so interpretados como instrues
de um programa a ser executado pela CPU
A caracterstica fundamental da mquina de von Neumann quedados e
programas esto armazenados numa mesma memria!

Unidade Central de Processamento (CPU)

Unidade de controle (UC)


Unidade de clculos aritmticos e lgicos (UAL)
Registrador de instruo (IR)
Ponteiro de instruo (IP)
Registrador de uso geral (acumulador - ACC)

Dispositivos de Entrada e Sada

Base para a maioria das arquiteturas atuais

31/11

Voltando Arquitetura Bsica dos


Computadores Atuais

32/11

1 Gerao (1945-1955)

33/11

2 Gerao (1955-1965)

34/11

2 Gerao (1955-1965)

35/11

3 Gerao (1965-1980)

36/11

3 Gerao (1965-1980)

37/11

4 Gerao (1980-?)

38/11

4 Gerao (1980-?)

39/11

Arquitetura de Computadores

Estudar Arquitetura de
Computadores essencial para o
entendimento do funcionamento
dos recursos computacionais.

40/11

Arquiterura

... Atributos que tm impacto


direto sobre a execuo lgica
de um programa. (stallings 2002)

Visualizar o estgio final mesmo antes de construir.

41/11

Arquitetura de Computadores

42/11

Como se fazer entender pelo computador?

Linguagem do computador : 100011000001 (bits)


Nmeros binrios: base da teoria computacional

1. Primrdios: uso da linguagem nativa em binrio!!!


2. Linguagem de Montagem (Assembly)
Montador: traduz uma verso simblica das instrues para sua representao
binria na arquitetura

add A, B montador 100011000001


1. Linguagem de Programao de alto-nvel
Compilador: traduz instrues de alto-nvel para instrues binrias diretamente
ou via um montador

A + B compilador add A, B montador 100011000001 ou


A + B compilador 100011000001

43/11

Mas s isso?

Existe ainda um programa que gerencia os recursos da mquina


durante a execuo dos programas: o SISTEMA OPERACIONAL
(SO)
Operaes de Entrada/Sada (E/S), carga do programa na
memria, excees, etc.
O SO funciona como um gerente dos recursos, escondendo o
acesso direto ao hardware dos usurios
Mais ainda: multiprocessamento, gerncia de arquivos,
processamento distribudo, ...
Assim, existem diversas camadas e servios disponveis para
auxiliar nossa comunicao com a mquina:
Um modelo em camadas e servios uma forma interessante de abstrao para
a comunicao
44/11

Organizao
Refere-se s unidades operacionais e
suas interconexes.
Desta forma, uma mesma arquitetura
pode ser implementada por meio de
diferentes organizaes.
* Tecnologia
semicondutores.

de

fabricao:

Memria

optica,

magntica,
45/11

Arquitetura dos Micros do Padro PC

46/11

Barramentos
Praticamente todos os componentes de um computador,
como processadores, memrias, placas de vdeo e
diversos outros, so conectados placa-me a partir do
que chamamos de barramento. Sem entrar em termos
tcnicos, ele o encaixe de que cada pea precisa para
funcionar corretamente.
H barramentos especficos para praticamente todos os
componentes conectados ao sistema, geralmente em
siglas muito conhecidas pelos usurios, mas que no
so atreladas diretamente funo que realizam.

47/11

Barramento
Na literatura os barramentos costumam
ser representados por setas grossas,
bidirecionais ou unidirecionais indicando o
sentido do fluxo dos dados ou
informaes; em algumas situaes
associa-se a essas setas um nmero que
diz quantas vias (fios, linhas etc.) o
barramento em questo disponibiliza para
o trfego de informaes (usualmente
48/11
binrias).

Barramento
Em verdade, o barramento de um sistema de
computao o elemento responsvel pela
interligao dos componentes, conduzindo, de
modo sincronizado, o fluxo de informaes
(dados, endereos e controle) de uns para os
outros de acordo com uma programao de
atividades previamente definida pela unidade de
controle (UC em ingls CU) do
microprocessador.
49/11

Barramentos e funes

H trs funes distintas nos principais barramentos de um


computador, que, em termos simples, conectam o processador, a
memria e os outros componentes conectados a ele pelo que
chamamos de barramentos de entrada e sada.
Barramento de dados como o prprio nome j deixa a entender,
por este tipo de barramento que ocorre as trocas de dados no
computador, tanto enviados quanto recebidos.
Barramento de endereos indica o local onde os processos
devem ser extrados e para onde devem ser enviados aps o
processamento.
Barramento de controle atua como um regulador das outras
funes, podendo limit-las ou expandi-las em razo de sua
demanda.
50/11

Barramentos de entrada e sada


Alm da comunicao entre o computador e a memria,
voc pode adicionar diversos outros dispositivos sua
placa-me, com um barramento especial para cada um
deles. Alguns dos formatos mais conhecidos neste
quesito so o PCI, o AGP e at mesmo o USB,
amplamente utilizado em pendrives, impressores,
teclados, mouses e outros perifricos.
H dezenas de explicaes e termos mais tcnicos para
barramentos e suas especificidades em computao.
Este pequeno artigo serve apenas de introduo para o
tema, apresentando apenas os conceitos mais bsicos
sobre ele.
51/11

Interface

Interface o nome dado ao circuito que


controla um dispositivo de entrada ou
sada,
enviando
ou
recebendo,
informaes do processador ou do chipset
agindo como um adaptador chipset,
agindo como um adaptador desse
dispositivo.
52/11

Portas
As portas so caminhos por onde
passa a informao entre o pc
computador e um perifrico. Cada
porta tem um nmero e dedicada a
uma funo em particular.
Por exemplo, a maioria do trfego da
Web passa pela porta nmero 80 ou
3128.
53/11

Perifricos
so aparelhos ou placas de expanso que
enviam
ou
recebem
informaes
do
computador. Na informtica, o termo "perifrico"
aplica-se a qualquer equipamento ou acessrio
que seja ligado CPU (unidade central de
processamento), ou, num sentido mais amplo,
ao computador. Exemplos de perifricos so:
impressoras,
digitalizadores,
leitores
e
gravadores (drives) de CDs e DVDs, leitores de
cartes de memria e disquetes, mouses,
teclados, cmeras de vdeo, entre outros.
54/11

You might also like