Você está na página 1de 23

05/12/2012

1
Arquitetura de Von Neumann e
os Computadores Modernos
Arquitetura de Computadores e Software Bsico Aula 5
Flvia Maristela (flaviamsn@ifba.edu.br)
Arquitetura de Von Neumann e as
mquinas modernas
Onde esto os componentes de Von Neumann na arquitetura
moderna?
CPU Processador
Barramento Placa me
Memria RAM, Cache, Registradores e Disco
Dispositivos de E/S Mouse, teclado, impressora e monitor
05/12/2012
2
Processadores
Processador
Responsvel por executar todas as tarefas
solicitadas ao computador
Componentes importantes, definidos pela
Arquitetura de Von Neumann
ULA, UC e Registradores
Definies e comparativos sero
apresentados nos trabalhos
05/12/2012
3
Projeto de Computadores
Modernos
Como melhorar o desempenho das
mquinas?
Aumentar a velocidade do barramento?
Diminuir o atraso do barramento memria
processador ?
Aumentar a quantidade de ncleos?
Aumentar a quantidade de registradores?
Aumentar a quantidade de memria cache?
Overclock?
05/12/2012
4
Como melhorar o desempenho das
mquinas?
(...) grande parte dos arquitetos de computadores
busca o paralelismo (fazer duas ou mais coisas
ao mesmo tempo) como um meio de conseguir
desempenho ainda melhor para dada
velocidade de relgio.
A. Tanenbaum
Como melhorar o desempenho das
mquinas?
Tecnologias mais avanadas
circuitos mais rpidos;
Modificao da organizao da CPU
uso de mltiplos registradores
Uso de memria cache
Pipeline de instrues.
05/12/2012
5
Tipos de paralelismo
Paralelismo no nvel de Instruo
Paralelismo explorado dentro das instrues
individuais para obter da mquina mais instrues
por segundo
Exemplo: pipeline
Paralelismo no nvel de processador
Vrias unidades de processamento trabalham juntas
para resolver o mesmo problema.
Exemplo: mquinas multiprocessadas*
Histrico
Dcada de 60
Programas faziam o prefetc ou busca
antecipada
Instrues eram armazenadas em um
conjunto de registradores (que perfaziam um
buffer
Busca antecipada divide a execuo da instruo
em BUSCA, ARMAZENAMENTO E EXECUO
05/12/2012
6
Histrico
Por volta da dcada de 70
Surge o conceito de pipeline
A idia:
Dividir a execuo de instrues em partes
menores, cada uma manipulada por uma parte do
hardware e todas elas podem executar em
paralelo
Pipeline
Unidade de
busca de
instruo
Unidade de
decodificao
de instruo
Unidade de
busca de
operando
Unidade de
gravao
Unidade de
execuo de
instruo
05/12/2012
7
Pipeline
A CPU se divide em partes funcionais distintas,
chamadas de estgios
Cada estgio responsvel por uma
determinada atividade.
A idia bsica:
novas entradas so aceitas, antes que as entradas que j
tenham sido aceitas tenham terminado.
Vrias instrues so realizadas de forma simultnea, em
estgios diferentes.
Pipeline
(-- exemplo --)
Fonte: ic.uff.br
05/12/2012
8
Pipeline
(-- exemplo --)
Fonte: ic.uff.br
Pipeline
O tempo para cada instruo o mesmo que sem
pipeline.
O tempo global, necessrio para execuo de vrias
instrues, menor.
Potencialmente 3 vezes mais rpido que o processo no
pipeline.
No exemplo da Lavanderia:
Sem Pipeline: 4 tarefas em 12 ciclos.
Pipeline: 4 tarefas em 6 ciclos.
Objetivo: aumentar o throughput
05/12/2012
9
Pipeline
(-- exemplo 2 --)
Fonte: Material de prof. Leandro Coelho
Pipeline
Requisitos:
Cada instruo passa por todos os estgios do
pipeline.
Todos os estgios podem ser executados em
paralelo
No h conflito, por exemplo, nos acesso memria
Possveis problemas:
Se os estgios no possuem a mesma durao, h
um atraso (espera) em cada transio deste caso.
Uma instruo de desvio condicional pode invalidar
diversas buscas de instruo.
05/12/2012
10
Barramento
Barramento
Conjunto de vias que permitem a interligao entre dispositivos
A estrutura simples de um computador mostra que os componentes
se comunicam e esto conectados por um barramento
Estrada controlada para comunicao entre dispositivos
Memria Dispositivos E/S Processador
05/12/2012
11
Barramento
Onde se localiza o barramento?
Na placa me do computador podemos
identificar diversas trilhas de conduo
Estas trilhas definem o barramento:
Vias por onde trafegam os bits de dados e as
instrues
IMPORTANTE: Na placa me existe um chip especial,
chamado de chipset, responsvel por controlar o fluxo de
dados no computador.
Barramento
(-- viso 1 --)
05/12/2012
12
Barramento
(-- viso 2 --)
Barramento
Viso Geral
Computador tem barramentos diferentes
Largura (quantidade de bits passantes)
ISA (16 bits)
PCI Express (32 ou 64 bits)
Velocidade
05/12/2012
13
Barramento
Barramentos de maior destaque:
Barramento da placa me
Barramento interno da CPU
Dispositivos que iniciam a transmisso no
barramento mestre
Dispositivos passivos escravos
Barramento
(-- Estudo de Caso: Pentium 4 --)
AGP/
PCI Bridge
PCI BUS
33.3 MHz, 32 bits (133 MB/s)
ISA Bridge
ISA BUS
8 MHz, 16 bits (16 MB/s)
Ncleo Cache
P4 1GHz
Memria
100 MHz, 64 bits, 3.2 GB/s
1 GHz, 256 bits (32 GB/s)
USB
Kbd Mouse
IDE Bus
33 MB/s
SLOT AGP
S
L
O
T


P
C
I
S
L
O
T


P
C
I
S
L
O
T


P
C
I
S
L
O
T



I
S
A
S
L
O
T



I
S
A
S
L
O
T



I
S
A
05/12/2012
14
Evitando conflitos entre os diferentes
dispositivos
Todo dispositivo tem um endereo associado e uma IRQ (Interrupt
Request)
Quem seleciona as IRQs?
Antes: seleo manual (jumpers)
Hoje: Plug-and-Play
Hardware compatvel (placa me e BIOS)
Sistema Operacional
Dispositivo (bvio)
Placa me
BIOS
Dispositivo
Dispositivo
Dispositivo
MEM
Veja a lista de IRQs em: http://www.pcnineoneone.com/howto/irq1.html
Evitando Conflitos Jumpers
05/12/2012
15
Memria
Memria
Definio
Tipos
Relao entre custo x capacidade x
velocidade
Uma intuio sobre gerncia de memria
e questes que precisamser
respondidas...
... e sero, em BREVE!
05/12/2012
16
Memria
Definio:
Qualquer dispositivo computacional que sirva
para armazenar os dados, seja de forma
temporria ou de forma definitiva
Exemplos:
ROM: Read Only Memory
RAM: Random Access Memory
Cache
Disco Rgido
Classificao
Memrias podem ser classificadas de
acordo com a persistncia dos dados em:
Voltil: quando a persistncia de dados est
relacionada presena de energia eltrica
Exemplos: RAM, Cache
No Voltil: quando os dados persistem
mesmo na ausncia de energia eltrica
Exemplos: ROM, Disco
05/12/2012
17
Hierarquia de Memria
Endereo de memria
Conceitualmente, a memria constituda
por uma srie de clulas
Cada clula contem um dado
Cada clula possui um endereo
Os programas usam o endereo das clulas
para saber o contedo das clulas
Uma memria com n clulas possui
endereos de 0 n-1
05/12/2012
18
Endereo de Memria
Todas as clulas de memria tem a mesma
quantidade de bits.
Pergunta: Quantas possveis combinaes de bits
so possveis numa clula de k bits?
O endereo das clulas de memria podem ser
expressos:
atravs dos nmeros binrios
atravs de notao octal
Atravs de notao hexadecimal
Endereo de Memria
11
10
1
2
3
4
5
6
7
8
9
0
8 bits
n clulas com endereo 0 n-1
clula de k bits
capacidade de memria (em bits)?
Assumindo que todas as clulas so
endereveis, qual o nmero de bits
para expressar este endereamento?
05/12/2012
19
Memria Cache
SRAM
Alta velocidade
Baixa densidade
Alto custo
Alto consumo
DRAM
Baixa velocidade
Alta densidade
Baixo custo
Baixo consumo
Necessita atualizao constante
Histrico
(-- Cache --)
Primeiros microcomputadores:
SRAMs
Microcomputadores de segunda gerao:
DRAMs
Primeiros 80386
A partir da o clock do barramento das CPUs
aumentou
o tempo de acesso das DRAMs no acompanhou
Utilizar apenas SRAMs seria muito caro
05/12/2012
20
Memria Cache
A idia semelhante memria virtual, porm
totalmente implementada por hardware
Transparente para o software
Os dados do cache so apenas uma cpia da
memria principal
O objetivo reduzir o tempo de acesso
memria
Memria Cache
CPU
Controlador
de Cache
Memria cache
Memria RAM
05/12/2012
21
Controlador de Cache
Determina se um endereo est no cache
Acessa o cache (em operao normal)
Move a linha de cache da memria principal
para o cache em caso de falha
Gerencia os acessos entre cache e memria
principal
Cache hit
CPU encontra o item na cache
Cache miss
CPU no encontra item na cache
Bloco
conjunto de dados de tamanho fixo que obtido da memria
RAM e colocado em cache
05/12/2012
22
Questes sobre cache
Organizao
Poltica de substituio
Polticas de leitura e escrita
Endereos virtuais ou fsicos
Consistncia
Unificado ou particionado
Tamanho
do cache
da linha
do conjunto
Para pensar...
Quais as funes de cada um dos componentes da Arquitetura de Von
Neumann?
Que relao possvel estabelecer entre esta arquitetura e a arquitetura
moderna de computadores?
O que barramento?
Como e porque ele arbitrado?
Quais os principais barramentos do computador? Porque eles so
considerados principais?
Quais as vantagens de utilizar barramentos mltiplos?
Pesquise detalhadamente como funciona o PnP.
Porque a USB, que serial, substituiu as portas paralelas?
O que memria?
Quais os tipos de memria?
05/12/2012
23
Para pensar
Porque a memria voltil importante?
Quais os tipos de memria voltil?
O que nos diz a hierarquia de memria?
O que memria cache?
Qual a sua importncia?
Para que servem os nveis de cache?
Como feito o endereamento de memria?
Qual a importncia deste endereamento?
O que time-sharing?
O que trade-off?
O que significa transparencia em computao?

Você também pode gostar