Você está na página 1de 20

Universidade Federal do Piau

Centro de Tecnologia
Departamento de Engenharia Eltrica

&,5&8,726',*,7$,6,,
Arquiteturas de Computadores

Prof. Marcos Zurita


zurita@ufpi.edu.br
www.ufpi.br/zurita

Teresina - 2011

1. Arquiteturas de Computadores
2. CPU, Barramento e Programa
3. Nveis de Abstrao
4. Memrias
5. Sistema de E/S
6. Noes de Desempenho
Bibliografia

2
Circuitos Digitais II Prof. Marcos Zurita

1. Arquiteturas de Computadores

3
Circuitos Digitais II Prof. Marcos Zurita

Arquiteturas de Computadores

O conceito de Arquitetura de um Computador refere-se


integrao entre a estrutura fsica e a estrutura lgica
de um computador.
Pode-se dizer tambm que o termo refere-se aos
atributos do sistema visveis para o programador, tendo
impacto direto sobre a execuo lgica de um programa.
De acordo com as unidades operacionais presentes num
sistema computacional e a forma como elas so
organizadas, pode-se classifica-los em:

Mquinas Von Neumann


Mquinas No Von Neumann
4
Circuitos Digitais II Prof. Marcos Zurita

Mquinas Von Neumann

Caracterizam-se por:

Composio a partir de 3 subsistemas bsicos:


CPU;
Memria Principal;
Sistema de Entrada e Sada (E/S).
Conceito de programa armazenado;
Execuo sequencial de instrues;
Um nico caminho entre a unidade de controle e a memria.

CPU
Regs

Memria

endereo

ULA

instrues/dados

Sistema
de E/S

Unidade de
Controle

5
Circuitos Digitais II Prof. Marcos Zurita

Ciclo de Von Neumann

A execuo de cada instruo numa mquina de Von


Neumann obedece a um ciclo composto por 3 passos:

Busca: a UC copia a instruo a ser executada da


posio de memria apontada pelo registrador PC para o
registrador IR (Instruction Register).
Decodificao: a UC decodifica a
Buscar
instruo armazenada em IR,
identificando o que deve ser
executado pela CPU.
Execuo: a UC comanda a ULA
Executar
Decodificar
para a execuo da instruo
decodificada e incrementa o reg.
PC para a prxima instruo.

Circuitos Digitais II Prof. Marcos Zurita

Mquinas Harvard

So um tipo particular de mquinas Von Neumann.


Conservam todas as caractersticas de uma mquina Von
Neumann, porm, possuem vias separadas de acesso a
dados e endereos entre a CPU e a Memria.
A existncia de acessos separados a programa e dados na
memria permite que a CPU possa acess-los
simultaneamente, adiantando o ciclo de execuo da
instruo seguinte.
Em contrapartida h um aumento na complexidade do
sistema e na quantidade de conexes CPU - Memria.
Sua implementao pode ser feita atravs de uma memria
de porta dupla (dual port memory) ou atravs de memrias
distintas para programa e dados.
7
Circuitos Digitais II Prof. Marcos Zurita

Implementao atravs de memria de porta dupla:


endereo

CPU
Regs

instrues

ULA

Memria
endereo
dados

Sistema
de E/S

Unidade de
Controle

- Permite arbitrar a parcela da memria dedicada a

programa e a parcela dedicada a dados;

/ Memrias dual port so mais complexas e mais caras.

8
Circuitos Digitais II Prof. Marcos Zurita

Implementao atravs de memrias distintas para


programa e dados:
Memria de
Programa
Memria de
Dados

endereo

CPU
Regs

instrues

ULA
endereo
dados

Sistema
de E/S

Unidade de
Controle

- Permite empregar memrias de tipos diferentes para


programa e dados. Ex.: Flash e RAM;
/ O tamanho do programa e dos dados limitado pela
dimenso de suas respectivas memrias (no possvel
arbitrar suas parcelas entre o montante total disponvel).
9
Circuitos Digitais II Prof. Marcos Zurita

Caminho de dados de uma tpica mquina de Von


Neumann

10
Circuitos Digitais II Prof. Marcos Zurita

Mquinas No Von Neumann

So todos sistemas computacionais que diferem das


caractersticas das mquinas Von Neumann. Ex.:

Computadores Analgicos: operam sobre grandezas


fsicas no necessariamente discretizadas;
Mquinas Paralelas: mltiplos processadores
executando programas deforma cooperativa;
Redes Neuroniais Artificiais: sadas geradas a partir do
aprendizado da rede a estmulos externos. No h um
programa sendo executado;
Mquinas de Fluxo de Dados: No h execuo de um
programa. Realizam operaes conforme os dados
envolvidos so disponibilizados.
11
Circuitos Digitais II Prof. Marcos Zurita

2. CPU, Barramento e Programa

12
Circuitos Digitais II Prof. Marcos Zurita

CPU (UCP)

Central Processor Unit - Unidade Central de Processamento.

Constitui um dos 3 subsistemas bsicos de um computador juntamente com a memria e o sistema de E/S.
responsvel pela execuo dos programas armazenados na memria. Composto a partir de 3 partes bsicas:

ULA: Unidade Lgica e Aritmtica responsvel pela


execuo das principais operaes lgicas e aritmticas
da mquina.
Registradores: so pequenas memrias de alta
velocidade internas CPU.
UC: Unidade de Controle responsvel por buscar as
instrues na memria principal, decodifica-las e
coordenar as demais partes para executa-la.
13
Circuitos Digitais II Prof. Marcos Zurita

Programa

um conjunto sequencial de instrues armazenadas


numa sequncia de endereos da memria.
A execuo de um programa
Instrues
Endereos
00
corresponde a execuo
01
02
sequencial de suas instrues;
03
04
A sequncia de execuo das
PC
05
06
instrues definida dinamica07
08
mente em tempo de execuo.
09
0A

Existncia de instrues de
0B
0C
controle da sequncia.
0D
0E
0F

14
Circuitos Digitais II Prof. Marcos Zurita

Barramento

um conjunto de vias (fios) responsveis pela


interconexo de sistemas ou subsistemas.
Podem ser externos CPU, conectando, memria e
dispositivos de E/S ou internos ela, conectando seus
componentes.
Podem ser divididos em 3 categorias bsicas:

Barramento de dados
Barramento de endereos
Barramento de sinais de controle

15
Circuitos Digitais II Prof. Marcos Zurita

3. Nveis de Abstrao

16
Circuitos Digitais II Prof. Marcos Zurita

Nveis de Abstrao

Estabelecem o grau de detalhamento com que um dado


sistema descrito.
Maior o nvel de abstrao:

menor o nvel de detalhamento (mais abstrata);


descrio mais simples;
compreenso mais simples.

Menor o nvel de abstrao:

maior o nvel de detalhamento (menos abstrata);


descrio mais complexa;
compreenso mais difcil.
17
Circuitos Digitais II Prof. Marcos Zurita

Reduo do nvel de abstrao

Ex.: Uma soma descrita em 5 nveis de abstrao.


c=a+b

Nvel Funcional

a
b
cin

Nvel de Blocos

Somador
Completo
de 1 bit

c
cout

Nvel de Portas Lgicas

Nvel de Transistores

Nvel de Leiaute

18
Circuitos Digitais II Prof. Marcos Zurita

Computador

uma mquina eletrnica de lgica programvel,


representvel por uma hierarquia de nveis de abstrao.
Nvel 5

Nvel das Linguagens Orientadas


Soluo de Problemas
Traduo (compilador)

Nvel 4

Nvel da Linguagem Assembly


Traduo (montador)

Nvel 3

Nvel do Sistema Operacional


Interpretao parcial (Sistema Operacional)

Nvel 2

Nvel da Arquitetura do
Conjunto de Instrues (ISA)
Interpretao (Microprograma) ou execuo direta

Nvel 1

Nvel da Microarquitetura
Hardware

Nvel 0

Nvel da Lgica Digital

19

Circuitos Digitais II Prof. Marcos Zurita

Nvel 0: Lgica Digital

Composto por componentes lgicos elementares tais como


portas lgicas, registradores e barramentos.
Seria possvel definir ainda nveis de abstrao abaixo desse
nvel, tal como o nvel da malha de transistores ou o nvel de
leiaute, entretanto isso no convm a essa abordagem.

Nvel 1: Microarquitetura

Neste nvel o computador descrito por meio de blocos


funcionais (formados a partir de componentes lgicos
elementares), tais como a ULA, a unidade de controle, o
conjunto de registradores, etc.

20
Circuitos Digitais II Prof. Marcos Zurita

Nvel 2: Arquitetura do Conjunto de Instrues (ISA)

A partir deste nvel a mquina deixa de ser representada por


componentes fsicos (hardware) e passa a ser representada
por um conjunto de instrues (software).
O conjunto de instrues que compem o nvel ISA
denominado Linguagem de Mquina, puramente numrica.

Nvel 3: Sistema Operacional

um nvel hbrido, isto , parte das instrues deste nvel


tambm pertencem ao nvel ISA.
Alm das instrues comuns ao nvel ISA, este nvel
implementa instrues mais complexas tais como aquelas
necessrias execuo simultnea de mltiplos programas.
21
Circuitos Digitais II Prof. Marcos Zurita

Nvel 4: Linguagem Assembly

Trata-se do primeiro nvel cuja linguagem voltada para


programadores de aplicao.
Instrues deixam de ser puramente numricas e passam a
ser representadas por palavras ou abreviaes prximas
linguagem humana.
A execuo de programas escritos nesse nvel feita
atravs de sua traduo para os nveis 1, 2 ou 3, por uma
ferramenta chamada Montador (Assembler).

Nvel 5: Linguagens Orientadas Soluo de Problemas

Linguagens de alto nvel tais como C, C++, Pascal, Java, etc.


Execuo de programas feita geralmente atravs de sua
traduo para os nveis 3 ou 4, por um Compilador.
22
Circuitos Digitais II Prof. Marcos Zurita

4. Memrias

23
Circuitos Digitais II Prof. Marcos Zurita

Memria

Conjunto de posies endereveis capaz de armazenar


uma faixa limitada de valores em cada endereo.
Bit: dgito binrio (0 ou 1);
Byte: conjunto de 8 bits;
Palavra (word): conjunto de
2 ou mais bytes*.
Memria MxN:
Memria organizada em M
endereos de N bits cada;

2M endereos

M bits de
endereo

00
01
02

...

N bits

2M-1

Capacidade: M * N bits.
Valores
de N bits

24
Circuitos Digitais II Prof. Marcos Zurita

Recebe: endereo e dado;


Entrega: nada.

endereo
dado

Operao de Leitura:

Recebe: endereo;
Entrega: dado.

endereo

00
01
02

...

Operao de Escrita:

2M-1
00
01
02

dado

...

2M-1

Qualquer circuito puramente combinacional de M


entradas e N sadas pode ser substitudo por uma
memria MxN devidamente programada.
25
Circuitos Digitais II Prof. Marcos Zurita

Classificao das Memrias:

Tempo de reteno:

Forma de acesso:

Voltil: perde os dados armazenados ao ser desligada.


No voltil: retm os dados armazenados mesmo desligada;
Sequencial: o endereo de leitura/escrita obedece sequncia
preestabelecida. Exs.: FIFO, LIFO (pilha), fitas magnticas;
Aleatrio: a leitura/escrita pode ser feita acessado-se
diretamente o endereo desejado. Ex.: Memria DDR;

Tipo de acesso:

Escrita e leitura: Exs.: Disco rgido, memria RAM, pen-drive;


Somente leitura: Exs.: CD de msica (original).
26
Circuitos Digitais II Prof. Marcos Zurita

Tecnologia:

Semicondutora Exs.: memria Flash (pen-drive), RAM;


Magntica Exs.: Disco rgido, fita magntica;
ptica - Exs.: CD, DVD, Blue-Ray.

Tipo de armazenamento:

Esttica: o dado retido enquanto houver alimentao.


Dinmica: mesmo a memria permanecendo alimentada, os
dados armazenados se corrompem passado um certo tempo
aps sua escrita (geralmente alguns nanossegundos).
Necessidade de um sistema de refresh (leitura e reescrita
peridica do seu contedo);

27
Circuitos Digitais II Prof. Marcos Zurita

Registradores

So pequenas memrias de alta velocidade, internas


CPU, dedicadas a armazenar valores temporrios de
uma instruo, bem como dados de controle necessrios
sua execuo.
Sua implementao mais comum atravs de um
conjunto de flip-flops.
Cada registrador pode ter um nmero arbitrrio de bits,
conforme sua funo, podendo ser divido em partes.
Registrador AX (16 bits)
b15 b14 b13 b12 b11 b10 b9

Registrador AH (8 bits)

b8

b7

b6

b5

b4

b3

b2

b1

Registrador AL (8 bits)

Circuitos Digitais II Prof. Marcos Zurita

b0

28

Gargalo de Von Neumann

Para uma mesma tecnologia, a velocidade com que a


CPU pode operar notavelmente superior velocidade
da memria principal.
Consequentemente, o ciclo de execuo de uma
instruo ser tanto mais rpido quanto menos acessos
ela exigir memria externa.
Gargalo de Von Neumann: baixa limitao da taxa de
transferncia entre a memria principal e a CPU em
relao taxa com a qual a CPU capaz de operar.
Soluo: reduzir o trfego de dados CPU Memria
Principal.
29
Circuitos Digitais II Prof. Marcos Zurita

Memria Cache

Uma das formas de se contornar o gargalo de Von


Neumann atravs do uso de memrias cache.
Como a memria principal lenta em relao CPU,
pode-se aumentar o desempenho do sistema fazendo
com que a CPU acesse a memria principal indiretamente atravs de uma memria intermediria de maior
velocidade.
Memria Cache: memria rpida e pequena, intermediria entre a memria principal e os registradores.
CPU
Regs

ULA

Cache

Memria
Principal

Unidade de
Controle

Circuitos Digitais II Prof. Marcos Zurita

30

Princpio da Localidade

Referncias memria em curtos intervalos de tempo


tendem a usar uma pequena frao da memria total.
O processador mantm na cache as informaes que
(em funo da localidade) mais provavelmente
necessitar em seguida.
O armazenamento em cache reduz o tempo mdio de
acesso informao.
Cache primria - interna ao processador.
Cache secundria - externa ao processador.

31
Circuitos Digitais II Prof. Marcos Zurita

Hierarquia de Memria

Num computador, a memria dividida em nveis


hierrquicos:

mais rpida
mais cara
menor capacidade

Registradores

Cache
Memria Principal
(RAM)
Memria Secundria
(HD, CD, DVD, etc.)

mais lenta
mais barata
maior capacidade

32
Circuitos Digitais II Prof. Marcos Zurita

5. Sistema de E/S

33
Circuitos Digitais II Prof. Marcos Zurita

Sistema de E/S

Constitui um dos 3 componentes elementares de um


computador.
Conjunto formado
pelos dispositivos
responsveis pela
comunicao entre
a CPU e o mundo
externo.

34
Circuitos Digitais II Prof. Marcos Zurita

De maneira geral, os dispositivos de E/S so compostos


por duas partes:

Controladora: contm os circuitos necessrios


comunicao com o barramento da CPU e boa parte dos
circuitos de controle do perifrico. Ex.: Placa de Vdeo;
Perifrico controlado: dispositivo propriamente dito.
Ex.: Monitor.

35
Circuitos Digitais II Prof. Marcos Zurita

Comunicao de E/S
Quanto ao tipo de comunicao entre a controladora e o
perifrico, pode-se classifica-la basicamente em 2 tipos:

Paralela: todos os bits de um simbolo (byte, word, etc)


so transmitidos simultaneamente. Ex.: ATA, PCI, IDE.

- Simplicidade;
/ Elevada densidade de interconexes;
/ Dificuldade de sincronizao altas taxas.

Serial: os bits de um simbolo so transmitidos sequencialmente. Ex.: RS-232, USB, PS/2, SATA, FireWire.

- Baixa densidade de interconexes;


- Capaz de operar altas taxas;
/ Complexidade;
36
Circuitos Digitais II Prof. Marcos Zurita

6. Noes de Desempenho

37
Circuitos Digitais II Prof. Marcos Zurita

Noes de Desempenho

Desempenho da CPU:

MIPS: Milhes de Instrues Por Segundo;


MFLOPS: Milhes de Operaes em Ponto Flutuante Por
Segundo.

Vazo (throughput): a taxa de transferncia de dados


ou de execuo de aes por unidade de tempo.

Latncia: o tempo que um dispositivo leva para fornecer


uma resposta aps uma solicitao ou estmulo.
Bom Desempenho: Baixa latncia e elevada vazo.

38
Circuitos Digitais II Prof. Marcos Zurita

Andrew S. Tanenbaum, Organizao


Estruturada de Computadores, 5a Ed.,
Pearson, 2006.
J. L. Hennessy & D. A. Patterson, Arquitetura
de Computadores - Uma Abordagem
Quantitativa, Editora Campus, 2003.
Willians Stallings, Arquitetura e Organizao
de Computadores, 5 Edio, Pearson, 2003.
Albert Paul Malvino, Microcomputadores e
Microprocessadores, McGraw-Hill, 1985.
Herbert Taub, Circuitos Digitais e
Microprocessadores, Mcgranw-Hill, 1984.
Notas de aula do professor Ivan Saraiva, UFPI.
39
Circuitos Digitais II Prof. Marcos Zurita