Вы находитесь на странице: 1из 23

05/12/2012

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

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

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

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

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

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

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

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

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

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
Processador

Memria

Dispositivos E/S

10

05/12/2012

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 --)

11

05/12/2012

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

12

05/12/2012

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 --)
100 MHz, 64 bits, 3.2 GB/s

Memria

Ncleo
AGP/
PCI Bridge

SLOT AGP
SLOT PCI

PCI BUS
33.3 MHz, 32 bits (133 MB/s)

SLOT PCI

1 GHz, 256 bits (32 GB/s)

SLOT PCI

P4 1GHz

USB
33 MB/s

ISA Bridge
ISA BUS
8 MHz, 16 bits (16 MB/s)

IDE Bus
SLOT ISA

Kbd

SLOT ISA

Mouse

SLOT ISA

Cache

13

05/12/2012

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)

Dispositivo
MEM

Dispositivo

Placa me

Dispositivo

BIOS

Veja a lista de IRQs em: http://www.pcnineoneone.com/howto/irq1.html

Evitando Conflitos Jumpers

14

05/12/2012

Memria

Memria
Definio
Tipos
Relao entre custo x capacidade x
velocidade
Uma intuio sobre gerncia de memria
e questes que precisam ser
respondidas...
... e sero, em BREVE!

15

05/12/2012

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

16

05/12/2012

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

17

05/12/2012

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
0
1
2

n clulas com endereo 0 n-1

3
4

clula de k bits

capacidade de memria (em bits)?

6
7

Assumindo que todas as clulas so


endereveis, qual o nmero de bits
para expressar este endereamento?

8
9
10
11
8 bits

18

05/12/2012

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

19

05/12/2012

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
Memria cache

Memria RAM

CPU

Controlador
de Cache

20

05/12/2012

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

Cache miss

CPU encontra o item na cache

CPU no encontra item na cache

Bloco

conjunto de dados de tamanho fixo que obtido da memria


RAM e colocado em cache

21

05/12/2012

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?

22

05/12/2012

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?

23

Вам также может понравиться