projeto digital e arquitetura de computadores

99
Copyright © 2007 Elsevier 1-<1> Capítulo 1:: Sobre 0s e 1s Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Tradução: Prof. Sylvio Silveira Santos Disciplina: Introdução à Arquitetura de Computadores Curso de Sistemas de Informação PUC Minas Betim Fevereiro de 2011

Upload: sylvio-silveira-santos

Post on 05-Dec-2014

1.642 views

Category:

Education


5 download

DESCRIPTION

Transparências em Português do Livro "Digital Design and Computer Architecture", de David M. Haarris e Sarah L. Harris, Ed. Morgan Kaufmann, 2007, USA - Capítulo 1.

TRANSCRIPT

Page 1: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<1>

Capítulo 1:: Sobre 0s e 1s

Digital Design and Computer Architecture

David Money Harris and Sarah L. Harris Tradução: Prof. Sylvio Silveira Santos

Disciplina: Introdução à Arquitetura de Computadores

Curso de Sistemas de Informação – PUC Minas Betim

Fevereiro de 2011

Page 2: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<2>

Capítulo 1:: Tópicos

• Background

• Plano do Jogo

• A Arte de Administrar a Complexidade

• A Abstração Digital

• Sistemas de Numeração

• Portas Lógicas

• Níveis Lógicos

• Transistores CMOS

• Consumo de Energia

Page 3: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<3>

Plano de Fundo

• Os microprocessadores revolucionaram o mundo

– Celulares, Internet, avanços rápidos na medicina, etc.

• A indústria de semicondutores cresceu de 21 bilhões de

dólares em 1985 para 213 bilhões em 2004

Page 4: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<4>

Objetivos do Curso

• O objetivo deste curso é levar você a:

– Aprender o que se situa dentro do gabinete, rack ou

caixa de um computador

– Aprender os princípios atualizados de um projeto

digital

– Aprender a depurar sistematicamente seus projetos

complexos de sistemas computacionais

– Compreender o funcionamento de um

microprocessador e como ele é construído

Page 5: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<5>

A Arte de Administrar a Complexidade

• Abstração

• Abordagem disciplinada

• Para assim introduzir os três aspectos mais

importantes da Arquitetura de Computadores:

– Hierarquia

– Modularidade

– Regularidade

Page 6: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<6>

Abstração

• Consiste na arte de

esconder detalhes

quando eles não são

importantes

Physics

Devices

Analog

Circuits

Digital

Circuits

Logic

Micro-

architecture

Architecture

Operating

Systems

Application

Software

electrons

transistors

diodes

amplifiers

filters

AND gates

NOT gates

adders

memories

datapaths

controllers

instructions

registers

device drivers

programs

focus o

f th

is c

ours

e

Page 7: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<7>

Disciplina

• Procura-se restringir as escolhas de projeto

– De modo a poder trabalhar em um nível mais elevado de

abstração

• Exemplo: Sistemas Digitais

– Consideram-se tensões discretas em vez de tensões

contínuas usadas em circuitos analógicos

– Circuitos digitais são mais simples de projetar do que

circuitos analógicos – com eles podemos construir sistemas

mais sofisticados

– Sistemas digitais vem contínuamente substituindo

predecessores analógicos rápidamente:

• I.e., câmeras digitais, TVs digitais, telefones celulares, tablets, CDs,

etc.

Page 8: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<8>

Três Aspectos Importantes

• Hierarquia em um rifle de caça

– Este é um exemplo da divisão de um sistema em

módulos e sub-módulos

• Modularidade

– O estabelecimento de interfaces e funções bem

definidas

• Regularidade

– Encorajamento da uniformidade, de modo que os

módulos possam ser reutilisados com facilidade

Page 9: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<9>

Exemplo: O Antigo Rifle Flintlock

• Hierarquia

– Três módulos

principais: gatilho,

corpo e cano

– Sub-módulos do

gatilho: martelo,

pederneira (pedra de

isqueiro), disparador,

etc.

Page 10: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<10>

Exemplo: O Antigo Rifle Flintlock

• Modularidade

– Função do corpo do

rifle: assegurar a fixação

do cano e da trava do

gatilho

– Interface do gatilho:

comprimento e

localização dos pinos de

montagem

• Regularidade

– Partes intercambiáveis

Page 11: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<11>

A Abstração Digital

• Sabemos que a maior parte das variáveis físicas é

contínua, por exemplo

– A tensão em um fio

– A frequência de uma oscilação

– A posição de uma massa

• Em vez de considerar todos os valores, a

abstração digital considera apenas um sub-

conjunto discreto de valores

Page 12: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<12>

A Máquina Analítica

• Projetada por Charles Babbage de 1834 a 1871

• Considerada como sendo o primeiro computador

• Construída a partir de engrenagens mecânicas, onde cada engrenagem representava um valor discreto de 0 a 9

• Babbage morreu antes que ela fosse finalizada

• Com base no projeto de Babbage, a Máquina Analítica foi construída recentemente. Veja-se em: http://www.computerhistory.org/babbage/

Page 13: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<13>

Disciplina Digital: Valores Binários

• Como sabemos, típicamente são considerados

apenas dois valores discretos:

– 1’s e 0’s

– 1, VERDADEIRO (TRUE, ALTO)

– 0, FALSO (LOW, BAIXO)

• 1 e 0 podem ser representados por níveis de

tensões específicas, engrenagens rotatórias, níveis

de fluidos, etc.

• Todos os circuitos digitais dependem de níveis de

tensões específicas para representar 1 e 0

• Bit: Binary Digit

Page 14: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<14>

• Nascido de pais professores

• Aprendeu matemática sozinho,

associando-se em seguida ao

corpo de professores da faculdade

Queen’s College na Irlanda.

• Escreveu An Investigation of the

Laws of Thought (1854)

• Introduziu o conceito de variáveis

binárias

• Introduziu as três operações

lógicas: AND, OR, e NOT.

George Boole, 1815 - 1864

Page 15: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<15>

• Números decimais

• Números binários

Sistemas Numéricos

537410

=

10

's c

olu

mn

10

0's

co

lum

n

10

00

's c

olu

mn

1's

co

lum

n

11012 =

2's

co

lum

n

4's

co

lum

n

8's

co

lum

n

1's

co

lum

n

Page 16: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<16>

• Números decimais

• Números binários

Sistemas Numéricos

537410

= 5 × 103 + 3 × 102 + 7 × 101 + 4 × 100

five

thousands

10

's c

olu

mn

10

0's

co

lum

n

10

00

's c

olu

mn

three

hundreds

seven

tens

four

ones

1's

co

lum

n

11012 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 13

10one

eight

2's

co

lum

n

4's

co

lum

n

8's

co

lum

n

one

four

no

two

one

one

1's

co

lum

n

Page 17: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<17>

• 20 =

• 21 =

• 22 =

• 23 =

• 24 =

• 25 =

• 26 =

• 27 =

Potências de Dois

• 28 =

• 29 =

• 210 =

• 211 =

• 212 =

• 213 =

• 214 =

• 215 =

Page 18: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<18>

• 20 = 1

• 21 = 2

• 22 = 4

• 23 = 8

• 24 = 16

• 25 = 32

• 26 = 64

• 27 = 128

• São fáceis de memorizar até 29

Potências de Dois

• 28 = 256

• 29 = 512

• 210 = 1024

• 211 = 2048

• 212 = 4096

• 213 = 8192

• 214 = 16384

• 215 = 32768

Page 19: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<19>

• Conversão de Binário para Decimal:

– Converter 101012 para decimal

• Conversão de Decimal para Binário:

– Converter 4710 para binário

Conversão de Números

Page 20: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<20>

• Conversão de Binário para Decimal:

– Converter 100112 para decimal

– 16×1 + 8×0 + 4×0 + 2×1 + 1×1 = 1910

• Conversão de Decimal para Binário:

– Converter 4710 para binário

– 32×1 + 16×0 + 8×1 + 4×1 + 2×1 + 1×1 = 1011112

Conversão de Números

Page 21: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<21>

Valores Binários e sua Faixa

• Número decimal de N- digitos

– Quantos valores? 10N

– Faixa? [0, 10N - 1]

– Exemplo: Nº decimal de 3 dígitos:

• 103 = 1000 valores possíveis

• Faixa: [0, 999]

• Número binário de N-bits

– Quantos valores? 2N

– Faixa: [0, 2N - 1]

– Exemplo: Nº binário de 3 dígitos:

• 23 = 8 valores possíveis

• Faixa: [0, 7] = [0002 to 1112]

Page 22: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<22>

Números Hexadecimais

Hexadecimal Decimal Equivalente Binario Equivalente

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

A 10

B 11

C 12

D 13

E 14

F 15

Page 23: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<23>

Números Hexadecimais

Hexadecimal Decimal Equivalente Binario Equivalente

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

8 8 1000

9 9 1001

A 10 1010

B 11 1011

C 12 1100

D 13 1101

E 14 1110

F 15 1111

Page 24: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<24>

Números Hexadecimais

• Base 16

• Abreviação para se escrever números binários

muito longos

Page 25: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<25>

• Conversão de hexadecimal para binário:

– Converter 4AF16 (também escrito 0x4AF) para

binário

• Conversão de hexadecimal para decimal:

– Converter 0x4AF para decimal

Conversão de Hexadecimal para

Binário

Page 26: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<26>

• Conversão de hexadecimal para binário:

– Converter 4AF16 (também escrito 0x4AF) para

binário

– 0100 1010 11112

• Conversão de hexadecimal para decimal:

– Converter 4AF16 para decimal

– 162×4 + 161×10 + 160×15 = 119910

Conversão de Hexadecimal para

Binário

Page 27: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<27>

Bits, Bytes, Nibbles…

• Bits

• Bytes & Nibbles

• Bytes

10010110nibble

byte

CEBF9AD7least

significant

byte

most

significant

byte

10010110least

significant

bit

most

significant

bit

Page 28: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<28>

Potências de Dois

• 210 = 1 kilo ≈ 1000 (1024)

• 220 = 1 mega ≈ 1 milhão (1,048,576)

• 230 = 1 giga ≈ 1 bilhão (1,073,741,824)

Page 29: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<29>

Estimando Potências de Dois

• Qual é o valor de 224?

• Quantos valores poderá uma variável de 32-

bits representar?

Page 30: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<30>

Estimando Potências de Dois

• Qual é o valor de 224?

- 24 × 220 ≈ 16 milhões

• Quantos valores poderá uma variável de 32-

bits representar?

-22 × 230 ≈ 4 bilhões

Page 31: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<31>

• Decimal

• Binário

Adição

37345168+

8902

carries 11

10110011+

1110

11 carries

Page 32: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<32>

• Adicionar os

seguintes números

binários de 4 bits

• Adicionar os

seguintes números

binários de 4 bits

Exemplos de Adição Binária

10010101+

10110110+

Page 33: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<33>

• Adicionar os

seguintes números

binários de 4 bits

• Adicionar os

seguintes números

binários de 4 bits

Exemplos de Adição Binária

10010101+

1110

1

10110110+

10001

111

Overflow!

Page 34: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<34>

Overflow

• Os sistemas digitais trabalham com um

número fixo de bits

• Um overflow na adição ocorre quando o

resultado excede a capacidade de

armazenagem dos registros disponíveis

• Veja-se o exemplo anterior de 11 + 6

Page 35: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<35>

Números Binários com Sinal

• Números representados por meio de

Sinal/Magnitude

• Números representados por meio de

complemento de dois

Page 36: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<36>

Números Representados Através de

Sinal/Magnitude

• 1 bit de sinal, N-1 bits de magnitude

• O bit de sinal é o mais significativo (bit mais à esquerda)

– Nº positivo: bit de sinal = 0

– Nº negativo: bit de sinal = 1

• Exemplo: representação de ± 6 por meio de sinal/magnitude:

+6 =

- 6 =

• Faixa de representação sinal/magnitude de um número de N

bits:

1

1 2 2 1 0

2

0

: , , , ,

( 1) 2n

N N

na i

i

i

A a a a a a

A a

Page 37: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<37>

Números Representados Através de

Sinal/Magnitude

• 1 bit de sinal, N-1 bits de magnitude

• O bit de sinal é o mais significativo (bit mais à esquerda)

– Nº positivo: bit de sinal = 0

– Nº negativo: bit de sinal = 1

Exemplo: representação de ± 6 por meio de sinal/magnitude:

+6 = 0110

- 6 = 1110

• Faixa de representação sinal/magnitude de um número de N

bits: [-(2N-1-1), 2N-1-1]

1

1 2 2 1 0

2

0

: , , , ,

( 1) 2n

N N

na i

i

i

A a a a a a

A a

Page 38: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<38>

Números Representados Através de

Sinal/Magnitude

• Problemas:

– A adição não funciona, como por exemplo em

-6 + 6:

1110

+ 0110

10100 (errado!)

– Existem duas representações para o zero (± 0):

1000

0000

Page 39: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<39>

Números Representados pelo

Complemento de Dois

• Não apresentam os problemas decorrentes da

representação tipo sinal/magnitude:

– A adição funciona!

– Existe uma única representação para o 0

Page 40: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<40>

Números Representados pelo

Complemento de Dois

• O mesmo que binário sem sinal, mas o bit mais significativo

tem valor de -2N-1

• Número de 4 bits mais positivo:

• Número de 4 bits mais negativo:

• O bit mais significativo ainda indica o sinal

(1 = negativo, 0 = positivo)

• Faixa de um N-bit representado por meio de complemento de

dois:

2

1

1

0

2 2n

n i

n i

i

A a a

Page 41: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<41>

Números representados pelo

Complemento de Dois

• O mesmo que binário sem sinal, mas o bit mais significativo

tem valor de -2N-1

• Número de 4 bits mais positivo: 0111

• Número de 4 bits mais negativo: 1000

• O bit mais significativo ainda indica o sinal

(1 = negativo, 0 = positivo)

• Faixa de um N-bit representado por meio de complemento de

dois: [-(2N-1), 2N-1-1]

2

1

1

0

2 2n

n i

n i

i

A a a

Page 42: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<42>

“Tomando o Complemento de Dois”

• Tomando o Complemento de Dois

• Método: 1. Inverter os bits

2. Adicionar 1

• Exemplo: Inverter o sinal de 310 = 00112

Page 43: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<43>

“Tomando o Complemento de Dois”

• Tomando o Complemento de Dois

• Método: 1. Inverter os bits

2. Adicionar 1

• Exemplo: Inverter o sinal de 310 = 00112

1. 1100

2. + 1

1101 = -310

Page 44: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<44>

Exemplos de Complementos de Dois

• Tomar o complemento de dois de 610 =

01102

• Qual é o valor decimal correspondente a

10012?

Page 45: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<45>

Exemplos de Complementos de Dois

• Tomar o complemento de dois de 610 =

01102

1. 1001

2. + 1

10102 = -610

• Qual é o valor decimal correspondente a

10012? 1. 0110

2. + 1

01112 = 710, portanto 10012 = -710

Page 46: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<46>

• Adicionar 6 + (-6) usando números em complementos de

dois

• Adicionar -2 + 3 usando números em complementos de dois

Adição de 2 Números em

Complemento de Dois

+01101010

+11100011

Page 47: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<47>

• Adicionar 6 + (-6) usando números em complementos de

dois

• Adicionar -2 + 3 usando números em complementos de dois

Two’s Complement Addition

+01101010

10000

111

+11100011

10001

111

Page 48: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<48>

Aumento da Largura dos Bits

• Um valor pode ser extendido de N bits para M bits

(onde M > N) usando:

– Extensão de sinal

– Extensão de zero

Page 49: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<49>

Extensão de Sinal

• O bit de sinal é copiado nos bits mais

significativos.

• O valor do número permanece o mesmo

• Exemplo 1:

– 4-bits: representação de 3 = 0011

– 8-bits: valor extendido em sinal: 00000011

• Exemplo 2:

– 4-bits: representação de -5 = 1011

– 8-bits: valor extendido em sinal: 11111011

Page 50: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<50>

Extensão Zero

• Zeros são copiados nos bits mais significativos.

• O valor irá mudar no caso de números negativos.

• Exemplo 1:

– 4-bits; valor = 00112 = 310

– 8-bits: valor extendido em zero: 00000011 = 310

• Exemplo 2:

– 4-bits: valor = 1011 = -510

– 8-bits: valor extendido em zero: 00001011 = 1110

Page 51: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<51>

Comparação de Sistemas Numéricos

-8

1000 1001

-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Two's Complement

10001001101010111100110111101111

00000001 0010 0011 0100 0101 0110 0111

1000 1001 1010 1011 1100 1101 1110 11110000 0001 0010 0011 0100 0101 0110 0111

Sign/Magnitude

Unsigned

Sistema Numérico Faixa

Sem Sinal [0, 2N-1]

Sinal/Magnitude [-(2N-1-1), 2N-1-1]

Complemento de Dois [-2N-1, 2N-1-1]

Por exemplo, representação em 4-bits:

Page 52: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<52>

Portas Lógicas

• Realizam funções lógicas:

– inversão (NOT), AND, OR, NAND, NOR, etc.

• Com uma única entrada:

– Porta NOT, buffer

• Com duas entradas:

– AND, OR, XOR, NAND, NOR, XNOR

• Com múltiplas entradas

Page 53: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<53>

Portas Lógicas de Uma Entrada

NOT

Y = A

A Y0 1

1 0

A Y

BUF

Y = A

A Y0 0

1 1

A Y

Page 54: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<54>

Portas Lógicas de Uma Entrada

NOT

Y = A

A Y0 1

1 0

A Y

BUF

Y = A

A Y0 0

1 1

A Y

Page 55: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<55>

Portas Lógicas de Duas Entradas

AND

Y = AB

A B Y0 0 0

0 1 0

1 0 0

1 1 1

AB

Y

OR

Y = A + B

A B Y0 0 0

0 1 1

1 0 1

1 1 1

AB

Y

Page 56: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<56>

Portas Lógicas de Duas Entradas

AND

Y = AB

A B Y0 0 0

0 1 0

1 0 0

1 1 1

AB

Y

OR

Y = A + B

A B Y0 0 0

0 1 1

1 0 1

1 1 1

AB

Y

Page 57: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<57>

Mais Portas Lógicas de Duas Entradas

XNOR

Y = A + B

A B Y0 0

0 1

1 0

1 1

AB

Y

XOR NAND NOR

Y = A + B Y = AB Y = A + B

A B Y0 0 0

0 1 1

1 0 1

1 1 0

A B Y0 0 1

0 1 1

1 0 1

1 1 0

A B Y0 0 1

0 1 0

1 0 0

1 1 0

AB

YAB

YAB

Y

Page 58: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<58>

Mais Portas Lógicas de Duas Entradas

XNOR

Y = A + B

A B Y0 0

0 1

1 0

1 1

AB

Y

XOR NAND NOR

Y = A + B Y = AB Y = A + B

A B Y0 0 0

0 1 1

1 0 1

1 1 0

A B Y0 0 1

0 1 1

1 0 1

1 1 0

A B Y0 0 1

0 1 0

1 0 0

1 1 0

AB

YAB

YAB

Y

1

0

0

1

Page 59: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<59>

Portas Lógicas de Múltiplas Entradas

NOR3

Y = A+B+C

B C Y0 0

0 1

1 0

1 1

AB YC

A0

0

0

0

0 0

0 1

1 0

1 1

1

1

1

1

AND4

Y = ABCD

AB YCD

Page 60: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<60>

Portas Lógicas de Múltiplas Entradas

NOR3

Y = A+B+C

B C Y0 0

0 1

1 0

1 1

AB YC

A0

0

0

0

0 0

0 1

1 0

1 1

1

1

1

1

1

0

0

0

0

0

0

0

• Multi-entrada XOR: Paridade ímpar

• Obs: O que você nota de errado na figura à direita?

AND4

Y = ABCD

AB YCD

B C Y0 0

0 1

1 0

1 1

A0

0

0

0

0 0

0 1

1 0

1 1

1

1

1

1

0

0

0

0

0

0

0

1

Page 61: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<61>

Níveis Lógicos

• Definem tensões discretas para representar 1 e 0

• Por exemplo, poderíamos definir:

– 0 como sendo TERRA ou 0 volts

– 1 como sendo VDD ou 5 volts

• O que se pode dizer de 4.99 volts? Representa um

0 ou um 1?

• O que se pode dizer de 3.2 volts?

Page 62: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<62>

Níveis Lógicos

• Deve-se definir uma faixa de tensões para

representar 1 e 0

• Deve-se definir faixas diferentes para saídas e

entradas, afim permitir margem adequada para

flutuações devido a ruídos nos sistemas

• O que é ruído?

Page 63: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<63>

Níveis Lógicos

• Deve-se definir uma faixa de tensões para

representar 1 e 0

• Deve-se definir faixas diferentes para saídas e

entradas, afim permitir margem adequada para

flutuações devido a ruídos nos sistemas

Page 64: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<64>

O Que é Ruído?

Page 65: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<65>

O Que é Ruído?

• Qualquer coisa que degrada o sinal

– Por ex., resistência, ruído devido à fonte de

alimentação, acoplamento indutivo de fios próximos,

etc.

• Exemplo: uma porta (driver) poderia ter na saída um

sinal de 5 volts mas, devido à resistência de um fio

longo, o sinal poderia chegar ao receptor com um valor

degradado, por exemplo, 4.5 volts

Driver ReceiverNoise

5 V 4.5 V

Page 66: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<66>

Adoção de Valores Limitados

• Tendo-se entradas válidas lógicamente

definidas, cada elemento do circuito deverá

produzir saídas lógicamente válidas

• Devemos ser cuidadosos do uso de faixas

limitadas de tensão para representar valores

discretos

Page 67: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<67>

Níveis Lógicos

Driver Receiver

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput Characteristics

VO H

VDD

VO L

GND

VIH

VIL

Logic High

Input Range

Logic Low

Input Range

Logic High

Output Range

Logic Low

Output Range

Page 68: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<68>

Margens de Ruído

Driver Receiver

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput Characteristics

VO H

VDD

VO L

GND

VIH

VIL

Logic High

Input Range

Logic Low

Input Range

Logic High

Output Range

Logic Low

Output Range

NMH = VOH – VIH

NML = VIL – VOL

Page 69: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<69>

Características de Transferência DC

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL, V

IH

0

A Y

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL

VIH

Unity Gain

Points

Slope = 1

0V

DD / 2

Buffer Ideal: Buffer Real:

NMH = NML = VDD/2 NMH , NML < VDD/2

Page 70: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<70>

Características de Transferência DC

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput CharacteristicsV

DD

VO L

GND

VIH

VIL

VO H

A Y

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL

VIH

Unity Gain

Points

Slope = 1

0

Page 71: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<71>

Escalonamento da Tensão VDD

• Chips nos anos 1970 e 1980 foram projetados usando VDD = 5 V

• Com o aperfeiçoamento da tecnologia, houve redução do VDD

– Para evitar queimar transistores delicados

– Economizar energia

• 3.3 V, 2.5 V, 1.8 V, 1.5 V, 1.2 V, 1.0 V, …

• Devemos tomar cuidado ao conectar chips com tensões diferentes de alimentação

Chips muitas vezes operam dentro do limite de tensão de alimentação, mas se nos esquecermos disto, forçando muito e sem refrigeração, eles podem queimar!

Page 72: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<72>

Exemplos de Famílias Lógicas

Família

Lógica

VDD VIL VIH VOL VOH

TTL 5 (4.75 - 5.25) 0.8 2.0 0.4 2.4

CMOS 5 (4.5 - 6) 1.35 3.15 0.33 3.84

LVTTL 3.3 (3 - 3.6) 0.8 2.0 0.4 2.4

LVCMOS 3.3 (3 - 3.6) 0.9 1.8 0.36 2.7

Page 73: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<73>

Transistores

• Portas Lógicas usualmente são construídas a partir de

transistores

• O transistor é uma chave com três portas controladas em

regime de chaveamento

– Duas das portas são conectadas dependendo da tensão na terceira porta

– Por ex., na chave abaixo, os dois terminais (d e s) ficarão conectados

(ON) sòmente quando o terceiro terminal (g) for 1

g

s

d

g = 0

s

d

g = 1

s

d

OFF ON

Page 74: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<74>

Robert Noyce, 1927 - 1990

• Apelidado de “Prefeito do Vale

do Silício”

• Co-fundador da Fairchild

Semiconductors in 1957

• Co-fundador da Intel in 1968

• Co-inventor do circuito integrado

Page 75: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<75>

Silício

Silicon Lattice

Si SiSi

Si SiSi

Si SiSi

As SiSi

Si SiSi

Si SiSi

B SiSi

Si SiSi

Si SiSi

-

+

+

-

Free electron Free hole

n-Type p-Type

• Transistores são construídos a partir do silício, um semicondutor

• O silício puro é um condutor pobre, pois não possui cargas livres

• O silício dopado é um bom condutor, pois possui cargas livres negativas,

(elétrons) e cargas livres positivas, (buracos). Temos:

a) N-type (Elétrons livres, cargas livres negativas)

b) P-type (Cargas livres positivas, buracos)

Page 76: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<76>

Transistores MOS

n

p

gatesource drain

substrate

SiO2

nMOS

Polysilicon

n

gate

source drain

• Transistores de Óxido Metálico:

Transistores Metal oxide silicon (MOS):

– A porta de um poli-silício (é usado geralmente um metal)

– Óxido (dióxido de silício): é um isolante

– Silicio dopado

Page 77: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<77>

Transistores: nMOS

n

p

gate

source drain

substrate

n n

p

gatesource drain

substrate

n

GND

GND

VDD

GND

+++++++

- - - - - - -

channel

Gate = 0, logo está OFF

(não há conexão entre

source e drain)

Gate = 1, logo está ON

(há um canal entre

source e drain)

Page 78: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<78>

Transistores: pMOS

• O transistor pMOS é exatamente o oposto

– ON quando Gate = 0

– OFF quando Gate = 1

SiO2

n

gatesource drain

Polysilicon

p p

gate

source drain

substrate

Page 79: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<79>

Função Transistor

g

s

d

g = 0

s

d

g = 1

s

d

g

d

s

d

s

d

s

nMOS

pMOS

OFFON

ONOFF

Page 80: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<80>

Função Transistor

• Transistores nMOS dão passagem para 0, podendo conectar

a fonte (Source) ao terra GND

• Transistores pMOS dão passagem para 1, podendo conectar

a fonte a VDD

pMOS

pull-up

network

output

inputs

nMOS

pull-down

network

Page 81: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<81>

Portas CMOS: Porta NOT

VDD

A Y

GND

N1

P1

NOT

Y = A

A Y0 1

1 0

A Y

A P1 N1 Y

0

1

Page 82: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<82>

Portas CMOS: Porta NOT

VDD

A Y

GND

N1

P1

NOT

Y = A

A Y0 1

1 0

A Y

A P1 N1 Y

0 ON OFF 1

1 OFF ON 0

Page 83: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<83>

Portas CMOS: Porta NAND

A

B

Y

N2

N1

P2 P1NAND

Y = AB

A B Y0 0 1

0 1 1

1 0 1

1 1 0

AB

Y

A B P1 P2 N1 N2 Y

0 0

0 1

1 0

1 1

Page 84: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<84>

Portas CMOS: Porta NAND

A

B

Y

N2

N1

P2 P1NAND

Y = AB

A B Y0 0 1

0 1 1

1 0 1

1 1 0

AB

Y

A B P1 P2 N1 N2 Y

0 0 ON ON OFF OFF 1

0 1 ON OFF OFF ON 1

1 0 OFF ON ON OFF 1

1 1 OFF OFF ON ON 0

Page 85: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<85>

Estrutura da Porta CMOS

pMOS

pull-up

network

output

inputs

nMOS

pull-down

network

Page 86: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<86>

Porta NOR

Como poderíamos construir uma porta NOR

com tres entradas?

Page 87: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<87>

Porta NOR3 (Com 3 Entradas)

Porta NOR com tres entradas

B

CY

A

Page 88: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<88>

Outras portas CMOS

Como poderemos construir uma porta AND de

tres entradas?

Page 89: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<89>

Outras portas CMOS

Porta AND de tres entradas

AB

Y

Page 90: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<90>

Portas de Transmissão

• nMOS passa 1’s de modo deficiente

• pMOS pass 0’s de modo deficiente

• A porta de transmissão é uma chave melhor que

passa bem tanto 0 quanto 1

• Quando EN = 1, a chave está ON:

– EN = 0 e A está conectada a B

• Quando EN= 0, a chave está OFF:

– A não está conectada a B

A B

EN

EN

Page 91: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<91>

Portas Pseudo-nMOS

• Portas nMOS gates substituem redes tipo pull-up

network com um transistor fraco pMOS que

sempre estará ON

• O transistor pMOS é chamado de fraco porque

ele faz com que o output seja ALTO (HIGH)

sòmente quando a rede não estiver levando-o

para BAIXO (LOW)

Y

inputsnMOS

pull-down

network

weak

Page 92: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<92>

Exemplo de Pseudo-nMOS

Pseudo-nMOS NOR4

A B

Y

weak

C D

Page 93: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<93>

Gordon Moore, 1929 -

• Co-fundador da Intel em

1968 com Robert Noyce.

• Lei de Moore:

O número de transistores

em um chip de

computador dobra a cada

ano (observado em 1965)

• Desde 1975, a contagem

de transistores vem

dobrando a cada dois

anos.

Page 94: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<94>

Lei de Moore

• “Se o automóvel seguisse o mesmo ciclo de desenvolvimento que o

computador, um Rolls-Royce custaria hoje $100, faria um milhão de

milhas por galão e poderia queimar uma vez por ano . . .”

– Robert Cringley

Page 95: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<95>

Consumo de Energia

• Potência = Energia consumida por unidade de

tempo

• Temos dois tipos de consumo de potência:

– Consumo dinâmico de potência

– Consumo estático de potência

Page 96: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<96>

Consumo Dinâmico de Potência

• Corresponde à potência necessária para carregar as

capacitâncias das portas dos transistores

• A energia necessária para carregar uma capacitância C até

VDD é CVDD2

• Se o circuito estiver funcionando na freqüência f, e todos

os transistores comutados (de 1 para 0 ou vice versa) nesta

freqüência, o capacitor estará carregado f/2 vezes por

segundo (descarga de 1 para 0 é livre).

• Logo, o consumo dinâmico de potência total é:

Pdynamic = ½CVDD2f

Page 97: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<97>

Consumo Estático de Potência

• Refere-se à potência consumida quando as portas

ainda não estão comutando

• É causado pela corrente de fornecimento (qiescent

supply current, IDD) também chamado de corrente

de fuga (leakage current)

• Logo, a potência estática de consumo é:

Pstatic = IDDVDD

Page 98: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<98>

Exemplo de Consumo de Potência

• Estimar o consumo de potência de um computador

de mão wireless

– VDD = 1.2 V

– C = 20 nF

– f = 1 GHz

– IDD = 20 mA

Page 99: Projeto Digital e Arquitetura de Computadores

Copyright © 2007 Elsevier 1-<99>

Power Consumption Example

• Estimar o consumo de potência de um computador

de mão:

• VDD = 1.2 V

– C = 20 nF

– f = 1 GHz

– IDD = 20 mA

P = ½CVDD2f + IDDVDD

= ½(20 nF)(1.2 V)2(1 GHz) +

(20 mA)(1.2 V)

= 14.4 W