projeto digital e arquitetura de computadores
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
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
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
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
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
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
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
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.
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
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.
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
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
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/
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
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
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
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
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 =
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
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
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
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]
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
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
Copyright © 2007 Elsevier 1-<24>
Números Hexadecimais
• Base 16
• Abreviação para se escrever números binários
muito longos
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
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
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
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)
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?
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
Copyright © 2007 Elsevier 1-<31>
• Decimal
• Binário
Adição
37345168+
8902
carries 11
10110011+
1110
11 carries
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+
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!
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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?
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?
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
Copyright © 2007 Elsevier 1-<64>
O Que é Ruído?
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
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
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
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
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
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
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!
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
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
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
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)
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
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)
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
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
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
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
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
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
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
Copyright © 2007 Elsevier 1-<85>
Estrutura da Porta CMOS
pMOS
pull-up
network
output
inputs
nMOS
pull-down
network
Copyright © 2007 Elsevier 1-<86>
Porta NOR
Como poderíamos construir uma porta NOR
com tres entradas?
Copyright © 2007 Elsevier 1-<87>
Porta NOR3 (Com 3 Entradas)
Porta NOR com tres entradas
B
CY
A
Copyright © 2007 Elsevier 1-<88>
Outras portas CMOS
Como poderemos construir uma porta AND de
tres entradas?
Copyright © 2007 Elsevier 1-<89>
Outras portas CMOS
Porta AND de tres entradas
AB
Y
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
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
Copyright © 2007 Elsevier 1-<92>
Exemplo de Pseudo-nMOS
Pseudo-nMOS NOR4
A B
Y
weak
C D
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.
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
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
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
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
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
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