Você está na página 1de 32

Arquitetura e organizao de

computadores.
Aula 21
Macroarquitetura e arquiteturas avanadas
Prof. Diovani Milhorim

Macro arquitetura
O modelo que o programador enxerga da mquina
representado pelo conjunto de instrues e os recursos de
hardware a ele associado.
Historicamente este nvel desenvolvido antes dos
demais. a interface entre o hardware e o software.
Programas em linguagens de nvel superior so
transformados em programas no formato ISA.
Software executa no nvel ISA.

Macro arquitetura
A p l i c a ti v o s

Nvel ISA inclui:


instruction set
memria (modelo)
registradores acessveis
pelo programador

S is te m a O p e r a c io n a l

Lin g u a g e m d e M q u in a
A r q u ite tu r a
R IS C

Este nvel define a Macro


Arquitetura do sistema

U ti l t r i o s

M ic r o p r o g r a m a o

C i r c u i t o s E l e tr n i c o s

Macro arquitetura
A Macro arquitetura define
Set de instrues
Formato de instrues
Formato de memria
Endereamento de memria
Acessos memria
Quantidade e uso de registradores

Macro arquitetura
Exemplo: diferena de endereamento de memria

Macro arquitetura
Exemplo: diferena de formato de instruo.

Pentium II

Ultra Sparc II

Macro arquitetura

Existem duas arquiteturas


projeto de processadores:

dominantes

no

Microprocessadores CISC (Complex Instruction Set


Computer)
Microprocessadores RISC (Reduced Instruction Set
Computer)

Arquitetura CISC
Microprocessadores CISC (Complex Instruction Set
Computer) so fceis de programar e permitem um uso
eficiente de memria.
A pouco tempo atrs as mquinas eram programadas
nica e exclusivamente em linguagem Assembly
(linguagem de mquina), e as memrias eram lentas e
caras, o que justificou a filosofia CISC.
Assim, projetos de microprocessadores clssicos, tais
como o Intel 80x86 e o Motorola 68K series, seguiram a
filosofia CISC.

Arquitetura CISC
Mudanas recentes na tecnologia de software e
hardware forou uma reavaliao em termos de
arquitetura.
Assim, muitos processadores CISC mais modernos tm
implementado alguns princpios RISC (Reduced
Instruction Set Computer), tornando-se arquiteturas
hbridas mais convenientes.
No fundo, a idia CISC ganhou fora devido ao fato de
ela gerar a necessidade de compiladores de simples
desenvolvimento, uma vez que muitas instrues de
mquina so realizadas pelo prprio processador.

Atributos de CISC
Possui um formato de 2 operandos, onde as instrues
tm uma fonte e um destino, permitindo
Comandos de registrador-registrador, registrador-memria, e
memria-registrador; e
Mltiplos modos de endereamento para acesso memria.

Instrues de tamanho varivel de acordo com o modo


de endereamento
Instrues que requerem mltiplos ciclos de clock para
executar

Caractersticas de Processadores CISC


Possuem uma lgica de decodificao de instruo
complexa, originada pela necessidade de suportar
modos de endereamento mltiplos
Possuem um nmero pequeno de registradores de
propsito geral, devido ao fato de as instrues poderem
operar diretamente na memria, alm de uma
quantidade limitada de espao em chip no dedicada
Possuem muitos registradores de propsito especfico
tais como, apontadores de pilha, tratadores de
interrupo, etc.
Possuem um registrador Condition code alterado de
acordo com efeitos causados por algumas instrues
(menor do que, igual a, maior do que, e gravao de
ocorrncia de certas condies de erro)

O Uso da Microprogramao em CISC


Objetivo: otimizar o desempenho da mquina
Microprogramao to fcil de implementar quanto o
Assembly, e muito menos caro do que hardwarizar uma
unidade de controle
A facilidade de novas instrues de microcdigos permitiu
a projetistas tornar as verses mais recentes de mquinas
CISC compatveis com as mais antigas: um novo
computador pode executar um mesmo programa executado
em um computador antigo, pois o novo contm o
superconjunto das instrues do antigo
Como cada instruo torna-se mais capaz, menos
instrues podem ser usadas para implementar uma dada
tarefa
Conjuntos de instrues de microprogramas podem ser
escritos de modo a compartilhar os alicerces de linguagens
de alto nvel, reduzindo a complexidade de compiladores

Desvantagens de CISC
Como as novas geraes de uma famlia de processador
geralmente envolve a gerao antecessora, tanto o
conjunto de instrues quanto o hardware do novo chip
tornam-se mais complexos
Instrues diferentes levam quantidades diferentes de
perodo de relgio para executar, o que pode tornar a
mquina excessivamente lenta
Instrues muito especializadas no so usadas com a
frequncia suficiente a ponto de justificar sua existncia
aproximadamente 20% das instrues disponveis so
usadas em um programa tpico
Instrues CISC tpicas setam condition codes, o que
demanda tempo de execuo, alm do fato de os
programadores terem um esforo extra em lembrar de
examin-las

Arquitetura RISC

Microprocessadores
RISC
(Reduced
Instruction Set Computer) so aqueles que
utilizam
um
pequeno
conjunto
de
instrues altamente otimizado.
Os primeiros
projetos RISC foram
desenvolvidos nos anos 70 e 80 pelas
universidades de Stanford e Berkeley,
respectivamente.

Arquitetura RISC
Algumas caractersticas RISC importantes
so:
Execuo em um ciclo de clock. Esta caracterstica resultado
da otimizao de cada instruo, aliada a uma tcnica chamada
de Pipelining - Pipelining uma tcnica que permite execuo
simultnea de partes, ou estgios, de instrues, tornando o
processo mais eficiente;
Grande nmero de registradores para evitar uma quantidade
elevada de interaes com a memria.
Conjunto reduzido de instrues
Instrues menos complexas
Unidade de controle hardwarizada
Baixa capacidade de endereamento para operaes de
memria, com apenas duas instrues bsicas, LOAD e STORE

Arquitetura RISC
Pipelining

A tcnica de pipelining permite que o processador tire proveito


mximo de suas estruturas internas, dividindo o ciclo de
processamento em tarefas menores. A execuo destas tarefas em
seguncia e que permitem o melhor aproveitamento do hardware.
Para que ocorra pipelining necessrio:

Instrues com tempo de execuo prximos e previsveis


(execuo em um nico ciclo)
Baixo nmero de instrues.

Pipelining
SEM PIPELINING
COM PIPELINING

Tarefas de Microprocessador:
Busca instruo na memria
Executa a instruo ou calcula um endereo
Acessa um operando na memria de dados
Escreve o resultado em um registrador

Pipelining
Arquitetura Pipeline com Quatro Estgios
P1

P2

P3

P4

U n id a d e d e
b u sca d a
in s tr u o

A n a lis a d o r
da
in s tr u o

U n id a d e d e
b u sca d o s
dados

U n id a d e d e
e xe cu o d a
in s tr u o

P1

I n s t r . 1 I n s t r. 2

I n s t r. 3

I n s t r. 4

I n s t r. 5

I n s t r. 6

I n s tr. 7

P2

I n s t r. 1

I n s t r. 2

I n s t r. 3

I n s t r. 4

I n s t r. 5

I n s t r. 6

P3

I n s t r. 1 I n s t r. 2

I n s t r. 3

I n s t r. 4

I n s t r. 5

P4

I n s t r. 1

I n s t r. 2

I n s t r. 3

I n s tr. 4
te m p o

Arquitetura RISC
Uso de um grande banco de Registradores:
A importncia de se usar registradores que entre os dispositivos
de armazenamento disponveis, os registradores constituem os
dispositivos que oferecem acesso mais rpido que a memria
principal ou a memria cache.
Um banco de registradores fisicamente pequeno, fica contido na
ULA e na Unidade de Controle e usa endereos de tamanho muito
menor que endereos da memria cache e memria principal. Os
registradores armazenam os operandos mais utilizados
minimizando operaes de transferncia de dados entre eles e a
memria.

Arquitetura RISC
Uso de um grande banco de Registradores:

O Banco de Registradores atua como uma Memria


Cache, armazenando de forma temporria e de acesso
rpido s informaes, surge portanto a questo de
saber se no seria melhor e mais simples utilizar uma
Memria Cache e o pequeno conjunto tradicional de
registradores.

Arquitetura RISC
Uso de um grande banco de Registradores:
A escolha entre Banco de Registradores ou Memria Cache no
parece bvio. Entretanto existe uma caracterstica em que a
abordagem de banco de registradores claramente superior do que
a memria cache que em relao ao mecanismo de
endereamento.
Portanto para melhora do desempenho o uso de bancos de
registradores baseados em janelas superior ao uso de cache para
armazenar variveis escalares locais. Um desempenho maior pode
ser obtido pela adio de uma cache apenas para instrues.

Desvantagens da Arquitetura RISC

fato que mquinas RISC so mais baratas e mais


rpidas do que as CISC, o que pode nos induzir a
pensar que elas so as mquinas do futuro.
Entretanto, o custo de um hardware mais simples a
necessidade de um software mais complexo. Isto bom
ou ruim?

Cisc x Risc
RISC x CISC:
Mquinas RISC conseguem maior MIPS que mquinas CISC .
Para instrues de ponto flutuante, as mquinas RISC necessitam de
hardware especial para terem desempenho equivalente s CISC.
Mltiplos conjuntos de registradores das RISC contribuem para um
maior desempenho.
Alguns programas criados em linguagens de alto nvel precisam de uma
biblioteca de procedimentos para rodar eficientemente em mquinas
RISC, o que pode ser realizado via microcdigo nas CISC.
As arquiteturas RISC so mais fceis de produzir devido sua
simplicidade e menor nmero de transistores.
Compiladores para RISCs so mais complexos pois precisam usar
eficientemente os recursos de pipeline e de alocao de registradores.

CISC versus RISC

Arquiteturas paralelas
Pipeline e desenhos superescalares podem promover ganhos de 5X
a 10X.
Para ganhos na faixa de 50X ou 100X deve-se usar mltiplas CPUs.
Arquiteturas que possuem 2 ou mais CPUs interligadas e que
funcionam em conjunto na execuo de tarefas independentes ou
no processamento simultneo de uma mesma tarefa.
Motivado pelo elevado custo de desenvolvimento de processadores
mais rpidos e por aplicaes que precisam de grande poder
computacional.

Arquiteturas paralelas
Vantagens:
Desempenho;
Escalabilidade;
Relao custo/desempenho;
Tolerncia a falhas e disponibilidade ;
Balanceamento de carga.
Desvantagens:
Problemas de comunicao e sincronizao;
Organizar de forma eficiente os processadores;
Tolerncia contra falhas dependente do sistema operacional.

Arquiteturas paralelas
Classificao quanto ao grau de paralelismo:
SISD (Single Instruction Single Data) - suportam uma nica seqncia
de instrues e apenas uma seqncia de dados.
SIMD (Single Instruction Multiple Data) - suportam uma nica seqncia
de instrues e mltiplas seqncias de dados.
MISD (Multiple Instruction Single Data) - suportam mltiplas seqncias
de instrues e uma nica seqncia de dados.
MIMD (Multiple Instruction Multiple Data) - suportam mltiplas
seqncias de instrues e mltiplas seqncias de dados.
A grande maioria dos computadores com um nico processador pertencem
a arquitetura SISD, enquanto os sistemas com mltiplos processadores
pertencem a arquitetura MIMD.

Arquiteturas paralelas
SMP: Symetrical MultiProcessadores (memria compartilhada)
NUMA: Non-Uniform Memory Access (memria privativa)
M IM D

S is t e m a s F r a c a m e n te
A c o p la d o s

S is te m a s F o r te m e n t e
A c o p la d o s

SM P

N U M A

C lu s te r

S is te m a s
O p e r a c io n a is
de Rede

S is te m a s
D i s tr ib u d o s

Arquiteturas paralelas
SMP:
Todos os processadores realizam as mesmas funes.
Tempo de acesso memria uniforme para todos os processadores.
Vantagem: melhor balanceamento.
Desvantagem: implementao mais complexa.
Formas de interligao com a memria:
Barramento nico.

. . .
U CP

U CP

U CP

C a ch e

C a ch e

C a ch e

M e m r ia
P r in c ip a l

D is p o s itiv o s
de E/S

Arquiteturas paralelas

P1

P2

P3

P4

P5

P6

P7

P8

P9

B a r r a m e n t o i n te r n o

M 1

M 2

M 3

B a r r a m e n t o i n te r - c o n j u n t o

C o n ju n to

Sistemas NUMA: tempo de acesso memria depende da


localizao fsica do processador.

Arquiteturas paralelas
Formas de se interligar processadores:

(b ) A n e l

(c) G r id 2 D

(d ) To r u s 2 D

(e ) H ip e r c u b o

Arquiteturas paralelas
SIMD: Computadores Vetoriais.