Você está na página 1de 28

Arquitetura de Computadores II

Aula 2
Fundamentos do Projeto e
Anlise Quantitativos
Profa. Daniela Cascini
(cascini@decom.cefetmg.br)

Engenharia de Computao

Agenda

Definio da Arquitetura do Computador

Princpios Quantitativos de Projeto

Concluso

Definio da Arquitetura do Computador

Tarefa complexa do projetista do


computador:

Determinar quais atributos so importantes


para o novo computador.
Projetar o computador para maximizar
desempenho, tendo restries de custo,
potncia e disponibilidade.
Projeto do conjunto de instrues,
organizao funcional, projeto lgico, e
implementao.
3

Definio da Arquitetura do Computador

Antiga definio de arquitetura de


computadores = ISA (Instruction Set
Architecture)

Outros aspectos do projeto de computadores


eram chamados de implementao.
Insinuao de que a implementao menos
importante e menos desafiadora
Arquitetura de Computadores >> ISA

Definio da Arquitetura do Computador

Arquitetura do conjunto de instrues:

Classes de ISAs: arquiteturas de registradores de


propsito geral (GPRs), operando so registradores
ou locais de memria.

MIPS: 32 GPRs e 32 regs de PF.

Endereamento de memria: endereamento de


bytes.
Modos de endereamento: registrador, imediato,
deslocamento
Tipos de operandos: 8 bits (ASCII), 16 bits
(Unicode), 32 bits (inteiro,PF), 64 bits(preciso dupla.
PF)
Operaes: transferncia de dados, lgica e
aritmtica, controle e PF.
5

Definio da Arquitetura do Computador

Instrues de fluxo de controle: desvios


condicionais, saltos incondicionais,chamadas e
retorno de procedimento.
Codificao do ISA: tamanho fixo ou varivel.

ISA utilizado neste curso: MIPS 64

Definio da Arquitetura do Computador

Arquitetura de computadores real:

Requisitos especficos da mquina alvo


Projeto para maximizar a performance dadas as
restries: custo, consumo de energia e
disponibilidade
Inclui ISA, microarquitetura (organizao),
hardware

Organizao: aspectos de alto nvel do projeto de um


computador, ex: sistema de memria, interconexo de
memria, projeto da CPU.
Hardware: projeto lgico detalhado e encapsulamento.

Instruction Set Architecture (ISA)


software

instruction set

hardware

Propriedades de uma boa abstrao

Sobrevive por vrias geraes (portabilidade)


Usada de vrias maneiras (generalista)
Prov convenientes funcionalidades para os nveis mais
altos.
Permite uma implementao eficiente para os nveis mais
baixos.
8

Exemplo MIPS
r0
r1

r31
PC
lo
hi

Armazenamento programvel
2^32 x bytes
32 x 32-bit GPRs (R0=0)
32 x 32-bit FP regs (paired DP)
HI, LO, PC

Tipos de dados ?
Formatos ?
Modos de

endereamento?

Operaes aritmticas
Add, AddU, Sub, SubU, And, Or, Xor, Nor, SLT, SLTU,
AddI, AddIU, SLTI, SLTIU, AndI, OrI, XorI, LUI
SLL, SRL, SRA, SLLV, SRLV, SRAV

Operaes com a memria


LB, LBU, LH, LHU, LW, LWL,LWR
SB, SH, SW, SWL, SWR

Controle

As instrues tem o comprimento de 32-bits

J, JAL, JR, JALR


BEq, BNE, BLEZ,BGTZ,BLTZ,BGEZ,BLTZAL,BGEZAL

Definio da Arquitetura do Computador

O que realmente importa o


funcionamento do sistema completo.

Hardware, compilador, sistema operacional e


aplicao.

O projeto de uma arquitetura um


processo iterativo:

Busca das solues possveis.


Projeto em vrios nveis.

10

Princpios Quantitativos
1.Explorar o paralelismo
2.Princpio da localidade
3.Foco no caso comum
4.Lei de Amdahl
5.Equao de desempenho do computador

11

Explorando o paralelismo

Nvel de sistema: Aumento do throughput


(vazo) de um servidor via mltiplos
processadores ou mltiplos discos.

Permite: (1) distribuir a carga entre


processadores e discos (2) escalabilidade

Projeto detalhado do hardware

Busca em paralelo em mltiplos bancos de


memria (sistema de cache).
Pipeline: sobreposio da execuo de
instrues para reduzir o tempo total da
tarefa.
12

Execuo de instrues com o pipeline


Time (clock cycles)
Cycle 1 Cycle 2
Reg

Ifetch

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Reg

DMem

ALU

Ifetch

Cycle 6 Cycle 7

Reg

ALU

O
r
d
e
r

Ifetch

ALU

I
n
s
t
r.

Cycle 3 Cycle 4 Cycle 5

Reg

DMem

Reg

13

Limites do sistema de pipeline


Hazards impendem a execuo de uma
instruo durante o clock designado.
Hazards
estruturais:
Duas
instrues
diferentes necessitam do mesmo hardware ao
mesmo tempo.
Hazards de dados: A instruo depende do
resultado de uma instruo prvia que ainda
est no pipeline
Hazards de controle: Causado pelo atraso
entre a busca das instrues e as decises
sobre o controle de fluxo (desvios e saltos).
14

Princpio da localidade
Um programa gasta 90% de seu tempo de
execuo em apenas 10% do cdigo!
Localidade
temporal: Um item de
memria referenciado tende a ser
acessado novamente em breve. (ex,
loops)
Localidade espacial: Itens de memria
com o endereo prximo a algum item
referenciado tendem a ser acessados em
breve. (ex, acesso a vetores)
15

Nveis da hierarquia de memria

16

Foco no caso comum (1)

O senso comum direciona o projeto de


computadores
J que trata-se de Engenharia, o caso comum
valioso
Ao projetar um trade-off deve-se favorecer o
caso freqente
E.g., As unidades de busca e decodificao
so usadas mais frequentemente do que um
multiplicador, ento otimize os primeiros.

17

Foco no caso comum (2)

O caso freqente geralmente mais simples e


portanto mais fcil de ser aprimorado do que o
caso infrequente.

E.g., overflow raro quando adiciona-se 2 nmeros,


ento o aumento do desempenho devido a otimizao
do caso mais comum que o de no ocorrncia de
um overflow.
Pode ocorre do overflow ficar mais lento, mas o
desempenho geral ser melhorado em conseqncia
da otimizao do caso normal

Como determinar qual o caso freqente e


como quantitativamente o desempenho ser
melhorado?
Lei de Amdahl
18

Lei de Amdahl
Ganho de velocidade =
desempenho com a melhoria/ desempenho sem a
melhoria

Frao melhorada: sempre menor ou igual a 1.


Ganho de velocidade melhorado: sempre maior ou
igual a 1.

19

Lei de Amdahl

Ganho de velocidade

20

Exerccio 1 Lei de Amdahl


Suponha que queiramos melhorar o
processador usado para servio na Web. O
novo processador 10 vezes mais rpido em
computao na aplicao de servio da Web do
que o processador original. Considerando que o
processador original est ocupado com clculos
40% do tempo e esperando por E/S 60% do
tempo qual o ganho de velocidade obtido pela
incorporao da melhoria?

21

Equao de desempenho do processador

22

Exerccio 2

Suponha que tenhamos feito as seguintes


medies:

Frequncia das operaes de PF = 25%


CPI mdio das operaes de PF = 4,0
CPI mdio das outras instrues = 1,33
Considere que a alternativa de projeto seja diminuir o
CPI mdio de todas as operaes de PF para 2,5.
Utilize a equao de desempenho para avaliar o
ganho de velocidade.

23

Exerccio 3

Suponha que temos duas implementaes do


mesmo ISA
Para um determinado programa

A mquina A tem um tempo de ciclo do clock de 250


ps e um CPI de 2.
Mquina B tem um tempo de ciclo de clock de 500 ps
e um CPI de 1.2

Usando Equao do Desempenho

Qual mquina mais rpida para este programa, e de


quanto?

24

Exerccio 1 Lei de Amdahl - Resposta

Ganho de velocidadegeral =
1/(0,6 + 0,4/10) = 1/ 0,64 1,56

25

Exerccio 2

26

Exerccio 3

Ambos computadores executam o mesmo nmero


de instrues = I

CPU execution time (A) = I 2.0 250 ps = 500 I ps


CPU execution time (B) = I 1.2 500 ps = 600 I ps

Computador A mais rpido que computador B por


um fator de
1.2 = 600 I ps
500 I ps

27

Concluso

Arquitetura de Computadores >> Conjunto de Instrues

Conjunto de habilidades para o projeto de arquiteturas


5 princpios quantitativos para projeto
Abordagem quantitativa
Interfaces slidas que realmente funcionem
Acompanhamento da tecnologia e antecipao

Mudana de paradigma de computao seqencial para


computao paralela
Leiam o captulo 1 e o apndice A!

28

Você também pode gostar