organização e projetos de computadores ©2005 elsevier editora ltda hennessy patterson 1 capítulo...

42
Hennessy • Patterson 1 Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Capítulo 4

Upload: internet

Post on 17-Apr-2015

134 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 1

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Capítulo 4

Page 2: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 2

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Desempenho• Meça, informe e resuma• Faça escolhas inteligentes• Veja através da propaganda de marketing• Vital para entender a motivação organizacional

subjacente

Por que alguns hardwares são melhores do que outros para diferentes programas?

Que fatores do desempenho de sistema são relacionados ao hardware? (por exemplo,

precisamos de uma nova máquina ou de um novo sistema operacional?)

Como o conjunto de instruções da máquina afeta o desempenho?

Page 3: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 3

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Qual destes aviões possui o melhor desempenho?

• O quanto mais rápido é o Concorde comparado com o 747?

• O quanto maior é o 747 do que o Douglas DC-8?

Page 4: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 4

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Desempenho do computador: TEMPO, TEMPO, TEMPO

• Tempo de resposta (latência)- Quanto tempo leva para meu trabalho ser realizado?- Quanto tempo leva para realizar um trabalho?- Quanto tempo preciso esperar para a consulta ao banco

de dados?• Vazão (throughput)

- Quantos trabalhos a máquina pode realizar ao mesmo tempo?

- Qual é a velocidade de execução média?- Quanto trabalho está sendo feito?

Se atualizarmos uma máquina com um novo processador, em que melhoramos?

Se acrescentarmos uma máquina ao laboratório, em que melhoramos?

Page 5: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 5

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Tempo de execução

• Tempo decorrido- conta tudo (acessos a disco e a memória, E/S etc.)- um número útil, mas normalmente não é ideal para fins de

comparação• Tempo de CPU

- não conta E/S ou tempo gasto executando outros programas

pode ser dividido em tempo de sistema e tempo de usuário• Nosso foco: tempo de CPU do usuário

- tempo gasto executando as linhas de código que estão “em” nosso programa

Page 6: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 6

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Definição de desempenho do livro

• Para um programa sendo executado na máquina X,DesempenhoX = 1 / Tempo_execuçãoX

• “X é n vezes mais rápido do que Y”DesempenhoX / DesempenhoY = n

• Problema:- a máquina A executa um programa em 20

segundos- a máquina B executa o mesmo programa

em 25 segundos

Page 7: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 7

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Ciclos de clock

• Em vez de informar o tempo de execução em segundos, normalmente usamos ciclos

segundos= ciclos segundosprograma programa ciclos

• Os ”tiques” de clock indicam quando iniciar as atividades (uma abstração):

tempo

• tempo de ciclo = tempo entre os tiques = segundos por ciclo• velocidade de clock (freqüência) = ciclos por segundo (1Hz. = 1 ciclo/segundo)Um clock de 4Ghz possui um tempo de ciclo de

Page 8: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 8

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Como melhorar o desempenho

segundos = ciclos segundosprograma programa ciclos

• Portanto, para melhorar o desempenho (tudo mais sendo igual), você pode (aumentar ou diminuir?)

________ o número de ciclos necessários para um programa, ou________ o tempo de ciclo de clock ou, dito de outra maneira,________ a velocidade de clock.

Page 9: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 9

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Quantos ciclos são necessáriospara um programa?

• Poderíamos considerar que o número de ciclos é igual ao número de instruções

1ª. In

stru

ção

2ª. In

stru

ção

3ª. In

stru

ção

4ª.

5ª.

6ª.

Tempo

Essa suposição é incorreta; diferentes instruções levam a diferentes períodos em diferentes máquinas.Por quê? Dica: Lembre-se de que essas são instruções de máquina, não linhas de código C.

Page 10: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 10

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Diferentes números de ciclospara diferentes instruções

Tempo

• A multiplicação leva mais tempo do que a adição• As operações de ponto flutuante levam mais tempo do que as operações de inteiros• Acessar a memória leva mais tempo do que acessar os registradores

• Importante: mudar o tempo de ciclo normalmente muda o número de ciclos necessários para várias instruções (veja mais posteriormente)

Page 11: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 11

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Exemplo

• Nosso programa favorito é executado em 10 segundos nocomputador A, que possui um clock de 4GHz. Estamos tentandoajudar um projetista de computador a construir uma nova máquinaB, que execute esse programa em 6 segundos. O projetistadeterminou que um aumento substancial na velocidade de clock épossível, mas esse aumento afetará o restante do projeto da CPU,fazendo com que o computador B exija 1,2 vez mais ciclos de clockdo que o computador A para esse programa. Que velocidade declock devemos pedir para que o projetista almeje?

• Não entre em pânico! Podemos resolver isso facilmente usando os princípios básicos

Page 12: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 12

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Agora que entendemos os ciclos

• Um determinado programa exigirá- um determinado número de instruções

(instruções de máquina)- um determinado número de ciclos- um determinado número de segundos

• Temos um vocabulário que relaciona essas quantidades:- tempo de ciclo (segundos por ciclo)- velocidade de clock (ciclos por segundo)- CPI (ciclos por instrução) — uma aplicação com

excessivo uso de ponto flutuante pode ter uma CPI mais alta

• MIPS (milhões de instruções por segundo) — isso seria mais alto para um programa usando instruções simples

Page 13: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 13

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Desempenho

• O desempenho é determinado pelo tempo de execução

• Qualquer uma das outras variáveis igualam o desempenho?

- número de ciclos para executar o programa?- número de instruções no programa?- número de ciclos por segundo?- número médio de ciclos por instrução?- número médio de instruções por segundo?

• Armadilha comum: pensar que uma das variáveis é indicadora do desempenho, quando na realidade não é.

Page 14: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 14

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Exemplo de CPI• Suponha que tenhamos duas implementações da mesma

arquitetura do conjunto de instruções (ISA)

Para um determinado programa,

A máquina A tem um tempo de ciclo de clock de 250 ps e uma CPI de 2,0A máquina B tem um tempo de ciclo de clock de 500 ps e uma CPI de 1,2

Que máquina é mais rápida para esse programa e o quanto?

• Se duas máquinas possuem a mesma ISA, qual de nossas quantidades (por exemplo, velocidade de clock, CPI, tempo de execução, número de instruções, MIPS) será sempre idêntica?

Page 15: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 15

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Exemplo de número de instruções

• Um projetista de compilador está tentando decidir entre duas seqüências de código para um determinada máquina. Baseado na implementação de hardware, existem três classes diferentes de instruções: Classe A, Classe B e Classe C, e elas exigem um, dois e três ciclos, respectivamente.

A primeira seqüência de código possui 5 instruções: 2 de A, 1 de B e 2 de C. A segunda seqüência possui 6 instruções: 4 de A, 1 de B e 1 de C.

Que seqüência será mais rápida? O quanto mais rápida? Qual é a CPI para cada seqüência?

Page 16: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 16

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Exemplo de MIPS

• Dois compiladores diferentes estão sendo testados para uma máquina de 4GHz com três classes diferentes de instruções: Classe A, Classe B e Classe C, e elas exigem um, dois e três ciclos, respectivamente. Ambos os compiladores são usados para produzir código para um grande software.

O código do primeiro compilador usa 5 milhões de instruções da Classe A, 1 milhão de instruções da Classe B e 1 milhão de instruções da Classe C.O código do segundo compilador usa 10 milhões de instruções da Classe A, 1 milhão de instruções da Classe B e 1 milhão de instruções da Classe C.

• Que seqüência será mais rápida de acordo com o MIPS?• Que seqüência será mais rápida de acordo com o tempo

de execução?

Page 17: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 17

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Benchmarks

• A melhor forma de determinar desempenho é executando uma aplicação real

- Usa programas típicos do workload esperado- Ou, típico da classe de aplicações esperada — por

exemplo, compiladores/editores, aplicações científicas, design gráfico etc.

• Benchmarks pequenos- ótimos para arquitetos e projetistas- fácil de padronizar- pode ser forçado

• SPEC (System Performance Evaluation Cooperative)- as empresas concordaram sobre um conjunto de

programas e entradas reais- valioso indicador do desempenho (e da tecnologia do

compilador)- ainda pode ser forçado

Page 18: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 18

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Jogos de benchmark

• ]A Intel reconheceu, envergonhada, na sexta-feira que um bug em um programa de software conhecido como um compilador levou a empresa a anunciar uma velocidade 10 por cento maior dos seus chips microprocessadores em um benchmark da área. Entretanto, os analistas do setor disseram que o erro de codificação foi um comentário infeliz sobre uma prática comum de “mentir” nos testes de desempenho padronizados. O erro foi atribuído à Intel dois dias atrás pela concorrente Motorola, em um teste conhecido como SPECint92. A Intel reconheceu que havia “otimizado” seu compilador para melhorar suas pontuações de teste. A empresa também havia dito que não gostava da prática, mas que foi forçada a fazer as otimizações por que seus concorrentes estavam fazendo o mesmo. No coração do problema da Intel está a prática de “ajustar” os programas de compilador para reconhecerem certos problemas de computação no teste e, então, substituir por partes especiais do código escritas a mão.

Sábado, 6 de janeiro de 1996 — New York Times

Page 19: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 19

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

SPEC ‘89

• “Melhorias” e desempenho de compilador

Taxa d

e d

esem

pen

ho S

PEC

Compilador

Compilador melhorado

Page 20: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 20

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

SPEC CPU2000

Page 21: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 21

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

SPEC 2000 • Dobrar a velocidade de clock dobra o desempenho?• Uma máquina com uma velocidade de clock mais lenta pode ter

um desempenho melhor?

Page 22: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 22

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Experiência

• Telefone para um grande vendedor de computadores e diga que você está com dificuldade de decidir entre dois computadores diferentes, especificamente, que está confuso quanto aos pontos fortes e fracos dos processadores

(Por exemplo, entre Pentium 4 2Ghz e Celeron M 1.4Ghz)

• Que tipo de resposta você provavelmente receberá?

• Que tipo de resposta você poderia dar a um amigo com a mesma dúvida?

Page 23: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 23

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Lei de Amdahl

Tempo de execução após melhoria =Tempo de execução não afetado + (Tempo de execução afetado / Quantidade de melhoria)

• Exemplo:

“Suponha que um programa seja executado em 100 segundos em uma máquina, com multiplicação responsável por 80 segundos desse tempo. O quanto precisamos melhorar a velocidade da multiplicação se queremos que o programa seja executado 4 vezes mais rápido?”

Que tal torná-lo 5 vezes mais rápido?

• Princípio: Torne o caso comum rápido

Page 24: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 24

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Exemplo

• Suponha que melhoramos uma máquina fazendo todas as instruções de ponto flutuante serem executadas cinco vezes mais rápido. Se o tempo de execução de algum benchmark antes da melhoria do ponto flutuante é 10 segundos, qual será o aumento de velocidade se metade dos 10 segundos é gasta executando instruções de ponto flutuante?

• Estamos procurando um benchmark para mostrar a nova unidade de ponto flutuante descrita acima e queremos que o benchmark geral mostre um aumento de velocidade de 3 vezes. Um benchmark que estamos considerando é executado durante 100 segundos com o hardware de ponto flutuante antigo. Quanto do tempo de execução as instruções de ponto flutuante teriam que considerar para produzir nosso aumento de velocidade desejado nesse benchmark?

Page 25: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 25

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Lembre

• O desempenho é específico a um determinado programa- O tempo de execução total é um resumo

consistente do desempenho• Para uma determinada arquitetura, os aumentos de

desempenho vêm de:- aumentos na velocidade de clock (sem efeitos de

CPI adversos)- melhorias na organização do processador que

diminuem a CPI- melhorias no compilador que diminuem a CPI

e/ou a contagem de instruções- escolhas de algoritmo/linguagem que afetam a

contagem de instruções

• Armadilha: Esperar que a melhoria em um aspecto do desempenho de uma máquina afete o seu desempenho total

Page 26: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 26

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Vamos construir um processador

• Estamos quase prontos para entrar no Capítulo 5 e iniciar a construção de um processador

• Primeiro, vamos revisar a lógica booleana e construir a ALU de que precisaremos (material do Apêndice B)

Page 27: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 27

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Revisão: álgebra booleana e portões

• Problema: Considere uma função lógica com três entradas: A, B e C.

- A saída D é verdadeira se pelo menos uma entrada for verdadeira

- A saída D é verdadeira se exatamente duas entradas forem verdadeiras

- A saída F é verdadeira apenas se todas as três entradas forem verdadeiras

• Mostre a tabela de verdade para essas três funções.• Mostre as equações booleanas para essas três funções.• Mostre a implementação consistindo de portões

inversores, AND e OR

Page 28: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 28

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Uma ALU (unidade lógica aritmética)

• Vamos construir uma ALU para dar suporte às instruções andi e ori– construiremos apenas uma ALU de 1 bit e usaremos 32

delesOperação

resultado

Implementação possível (soma-dos-produtos):

Page 29: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 29

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Revisão: O multiplexador

• Seleciona uma das entradas para ser a saída, com base em uma entrada de controle

Nota: chamamos isso de um máximo de duas entradas, mesmo que ele tenha três entradas!

• Vamos construir nossa ALU usando um MUX:

Page 30: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 30

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Diferentes implementações

• Não é fácil decidir a “melhor” maneira de construir algo- não queremos entradas demais em um único portão- não queremos ter que atravessar muitos portões- para nossos objetivos, a facilidade de compreensão éimportante

• Vejamos uma ALU de 1 bit para adição:

• Como poderíamos construir uma ALU de 1 bit para add, and e or?

• Como poderíamos construir uma ALU de 32 bits?

Page 31: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 31

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Construindo uma ALU de 32 bits

Page 32: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 32

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

E quanto à subtração (a b)?

• Método do complemento a dois: simplesmente negue b e some.

• Como negamos?• Uma solução muito inteligente:

Page 33: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 33

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Acrescentando uma função NOR

• Também podemos escolher inverter a. Como obtemos um “a NOR b”?

Page 34: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 34

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Adequando a ALU ao MIPS

• Precisamos oferecer suporte à instrução set-on-less-than (slt)

- lembre-se: slt é uma instrução aritmética

- produz um 1 se rs < rt e produz um 0 em caso contrário

- use subtração: (a-b) < 0 implica a < b• Precisamos aceitar teste de igualdade (beq

$t5, $t6, $t7)- use subtração: (a-b) = 0 implica a = b

Page 35: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 35

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Suporte a slt

• Podemos imaginar a idéia?

• Use esta ALU para o bit mais significativoTodos os outros bits

Page 36: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 36

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Suporte a slt

Page 37: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 37

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Teste de igualdade

• Observe as linhas de controle:

Nota: zero é um 1 quando o resultado é zero!

Page 38: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 38

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Conclusão

• Podemos construir uma ALU para aceitar o conjunto de instruções MIPS

- idéia básica: usar um multiplexador para selecionar a saída que desejamos

- podemos realizar subtração eficientemente usando o complemento a dois

- podemos duplicar uma ALU de 1 bit para produzir uma ALU de 32 bits

• Pontos importantes sobre hardware- todos os portões estão sempre operando- a velocidade de um portão é influenciada pelo número de

entradas do portão- a velocidade de um circuito é influenciada pelo número de

portões na série (no “caminho crítico” ou no “nível mais profundo da lógica”)

• Nosso foco principal: compreensão; entretanto,- Mudanças inteligentes na organização podem melhorar o desempenho (semelhante a usar melhores algoritmos no

software)- Vimos isso na multiplicação; agora vejamos na adição

Page 39: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 39

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Problema: o somador com carry rippleé lento• Uma ALU de 32 bits é tão rápida quanto uma ALU

de 1 bit?• Existe mais de uma maneira de fazer adição?

- dois extremos: carry ripple e soma-de-produtos

Você consegue ver o ripple? Como você se livraria dele?

Inviável! Por quê?

Page 40: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 40

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Somador com carry look-ahead

Um método intermediário entre nossos dois extremos• Motivação:

- Se não soubéssemos o valor do carry-in, o que poderíamos fazer?

- Quando sempre geraríamos um carry?- Quando propagaríamos o carry?

• Nos livramos do ripple?

• Viável! Por quê?

Page 41: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 41

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Use princípio para construir somadores maiores

• Não podemos construir um somador de 16 bits dessa maneira... (grande demais)• Poderíamos usar o carry ripple dos somadores CLA de 4 bits• Melhor ainda: Use o princípio CLA novamente!

Page 42: Organização e Projetos de Computadores ©2005 Elsevier Editora Ltda Hennessy Patterson 1 Capítulo 4

Hennessy • Patterson 42

Organização e Projetos de Computadores

©2005 Elsevier Editora Ltda

Resumo da ALU• Podemos construir uma ALU para aceitar adição MIPS• Nosso foco está na compreensão, não do desempenho• Processadores reais usam técnicas mais sofisticadas para aritmética• Onde o desempenho não é vital, as linguagens de descrição de hardware

permitem que os projetistas automatizem completamente a criação do hardware!