Você está na página 1de 41

Sistemas Digitais

Capítulo1: Introdução
Slides to accompany the textbook Digital Design, First Edition,
by Frank Vahid, John Wiley and Sons Publishers, 2007.
http://www.ddvahid.com

Prof. Luciano C. A. Pimenta


Tradução e Adaptação para o Português
Prof. Ricardo de Oliveira Duarte
DELT – EE – UFMG
Copyright © 2007 Frank Vahid
Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities,
Digital
subject to keeping Design
this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf
with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means.
Copyright © 2007 1
Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors
Frank Vahid
may obtain PowerPoint source or obtain special use permissions from Wiley – see http://www.ddvahid.com for information.
1.1

Porque estudar Sistemas Digitais?


• Entender como computadores funcionam.
• Projetar dispositivos eletrônicos
– Maior capacidade de processamento.
– Maior capacidade de armazenamento.
– Possibilitam:
• Dispositivos melhores: Melhores gravadores,
cameras, carros, celulares, aparelhos
médicos,...
• Novos dispositivos: Video games, PDAs, ...
– Conhecidos por sistemas embarcados.
• Milhares de novos dispositivos a cada ano.

Satellites DVD Video Musical


players recorders instruments
Portable
music players Cell phones Cameras TVs ???

1995 1997 1999 2001 2003 2005 2007


• Os anos indicados na linha do tempo acima, mostram quando a
Digital Design versão DIGITAL de cada uma das aplicações mostradas passaram
a dominar o mercado mundial.
Copyright © 2007 2
– (Not the first year that a digital version appeared)
Frank Vahid
Note: Slides with animation are denoted with a small red "a" near the animated items
1.2

O que o termo “Digital” significa?


• Sinal Analógico (contínuo) • Sinal Digital (discreto)
– Infinitos valores. – Número de valores finitos.
• Ex: voltagem em um fio • Ex: botão pressionado em um
gerado por um microfone teclado
Sound waves
move the
membrane, 1 2 3 4

2
which moves Sinal
the magnet,
Digital
microphone
Sinal
which creates
analógico
current in the nearby wire
Valores possíveis: Valores possíveis:
1.00, 1.01, 2.0000009, 4

valor
valor

0, 1, 2, 3, or 4.
... infinitos valores 3
2
1
0
tempo tempo
Digital Design
Copyright © 2007 3
Frank Vahid
Sinais digitais somente com 2 valores: Binário
• Um sinal digital binário – apresenta
somente dois valores possíveis.
– Representados como 0 e 1

valor
– Um dígito binário (binary digit) ou bit
– Consideraremos somente sinais digitais 1
0
binários no curso. tempo
– A representação binária se tornou popular:
• Transistores, dispositivo eletrônico básico
dos sistemas digitais, produzem os dois
níveis de sinais (0 e 1) (mais no Cap. 2)
• Armazenamento/Transmissão de um dos
dois valores é mais fácil do que três ou mais
valores (Ex.: um bip longo ou sem bip,
reflexão ou não de um feixe de luz, etc.)

Digital Design
Copyright © 2007 4
Frank Vahid
Exemplo dos benefícios da digitalização
• Sinais analógicos (ex.: áudio) estão

Volts
sujeitos a perda da qualidade. 3 3
– Níveis de voltagens não
2 2
armazenados/copiados ou
transmitidos perfeitamente. 1 Sinal original 1 Sinal recebido
• A versão digital permite maior 0 0
perfeição armaz/copia/transm. tempo tempo
– Amostra a voltagem a uma taxa Como corrigi-lo?
01 10 11 10 11

Transmissões demoradas
(Ex., telefonia celular)
fixa, guarda a amostra usando
codificação binária. a2d
Volts
a
– Níveis de voltagem ainda não
podem ser considerados perfeitos. Sinal digitalizado 1
1
– Entretanto podemos distinguir
melhor os 0s de 1s. 0 0
tempo tempo
Correção possível. Fácil
m distinguir 0s de1s, recupera
Considere: Sinal digital imperfeito,
01 10 11 10 11
es
d2a m
1 V: “01” Entretanto se aumentarmos o
Volts

A taxa de amostragem 3
2 V: “10”
3 V: “11” E usarmos mais bits para 2
Codificar o sinal nos
Digital Design 1
Aproximaremos do sinal original.
Copyright © 2007 0 tempo 5
Frank Vahid
Áudio digitalizado: Benefícios da compressão
• Áudio digitalizado pode Exemplo de compressão de dados:
ser comprimido 00 --> 0000000000
01 --> 1111111111
– Ex.: MP3s, blu-ray, etc. 1X --> X
– Um CD pode armazenar
aprox. 20 músicas sem 0000000000 0000000000 0000001111 111111111
compressão, mas 200
comprimidas. 00 00 10000001111 01

• Fotos e figuras (jpeg),


e vídeos (mpeg), e
outros sinais.
• Digitalização de sinais
proporcionam muitos
outros benefícios …
Digital Design
Copyright © 2007 6
Frank Vahid
Digitalização de fenômenos analógicos
• A digitalização de fenômenos
analógicos requer:
– Um sensor que mede o
fenômeno físico analógico e
converte o valor medido em
um sinal elétrico.
– Um conversor analógico-digital
que converte o sinal elétrico
Conversor analógico-digital
em códigos binários. O
conversor deve amostrar
(medir) o sinal elétrico a uma
taxa regular e converter cada
amostra em um valor de bits.

Digital Design
Copyright © 2007
Frank Vahid
Como codificamos dados na forma binária?
a
fenomeno • Algumas entradas são botão

analógico
intrinsecamente binárias 0 1

– Botões: não pressionados (0),


sensores e
outras entradas pressionados (1) red blue green black
sinal dado • Algumas entradas são
elétrico digital 0 0 0
intrinsecamente digitais
A2D – Só necessitam codificação em red blue green black

dado binário.
digital 0 0 1
– Ex.: entradas provenientes de
Sistema Digital teclados: codificação red=001, red blue green black
blue=010, ...
dado dado • Algumas entradas são 0 1 0
digital digital
analógicas ar 33 graus
D2A
– Necessitam conversão
sinal
elétrico analógica-digital. Sensor de
Atuadores e – Como mostrado no slide temperatura
outras saídas anterior – amostragem e
codificação.

Digital Design 0 0 1 0 0 0 0 1
Copyright © 2007 8
Frank Vahid
Como codificar texto: ASCII, Unicode
• ASCII: codificação de cada Símbolo Codificação Símbolo Codificação

caractere, letra, número, R


S
1010010
1010011
r
s
1110010
1110011
simbolo com 7- (ou 8-) bits T 1010100 t 1110100
L 1001100 l 1101100
• Unicode: codificação N 1001110 n 1101110
E 1000101 e 1100101
padrão atual. Usa 16-bits 0 0110000 9 0111001
. !
para codificar. <tab>
0101110
0001001 <space>
0100001
0100000
– Codifica caracteres de várias
línguas estrangeiras.
Pergunta:
O que essa sequencia ASCII representa?
1010010 1000101 1010011 1010100
ASCII (acrônimo para American Standard
Code for Information Interchange) a

REST
Digital Design
Copyright © 2007 Note: small red “a” (a) in a slide indicates animation 9
Frank Vahid
Como codificar números: Números binários
Essa forma de gerar
• Cada posição (ordem) números obedece as
regras da
representa uma quantidade. Notação Posicional

• Um símbolo em uma posição


(ordem) significa “quantas 5 2 3
vezes daquela quantidade”. 104 103 102 101 100
– Base dez (decimal)
• Dez símbolos: 0, 1, 2, ..., 8, e 9
• Maior que 9 – próxima posição
– Cada posição é uma potência
de10.
– Base dois (binário) 1 0 1 Q: Quanto?
• Dois símbolos: 0 e 1 24 23 22 21 20 + =
• Maior que 1 -- próxima posição a

– Cada posição é uma potência


de 2. 4+ 1= 5
Digital Design
Copyright © 2007 10
Frank Vahid
Como codificar números: Números binários
• Sistemas digitais trabalham
com números binários.
– Na base 10 existem termos 29 28 27 26 25 24 23 22 21 20
específicos para as ordens:
• unidade, dezena, centena, 512 256 128 64 32 16 8 4 2 1
milhar, etc...

– Na base 2 não:
• um, dois, quatro, oito,
dezesseis, etc…
• A contagem das ordens são
potências exatas da base 2.

512 256 128 64 32 16 8 4 2 1 a

Digital Design
Copyright © 2007 11
Frank Vahid
Primeiro Método de Conversão de Números
Decimais para Binários (Método da Subtração)
• Objetivo
Número decimal a converter: 12
– Coloque 1 nas ordens necessárias
para se atingir a quantidade do
32 16 8 4 2 1
número decimal desejado.
• Comece da esquerda para a direita. 1 =32
32 16 8 4 2 1 muito
• Coloque 1 na ordem se o peso
correspondente do número for igual ou 0 1 =16
menor . 32 16 8 4 2 1 muito
• Caso contrário coloque 0. a

• Continue nesse processo até que a 0 0 1 =8


quantidade do número decimal 32 16 8 4 2 1 ok, continue…
desejado seja atingida.
0 0 1 1 =8+4=12
32 16 8 4 2 1 PRONTO!

0 0 1 1 0 0 resposta
32 16 8 4 2 1
Digital Design
Copyright © 2007 12
Frank Vahid
Primeiro Método de Conversão de Números
Decimais para Binários (Método da Subtração)
• Método da subtração
Quantidade restante: 12
– Fácil para seres humanos, mais
complicados para implementar em
32 16 8 4 2 1
sistemas digitais.
– Devemos subtrair uma ordem binária 1 32 é muito
32 16 8 4 2 1
da quantidade restante a ser
convertida. 0 1 16 é muito
• Então, teremos um novo resto 32 16 8 4 2 1
a
(quantidade restante) e continuamos
com o mesmo processo. 0 0 1 12 – 8 = 4
• Paramos quando o resto é igual a 0 32 16 8 4 2 1
(zero).
0 0 1 1 4-4=0
32 16 8 4 2 1 Pronto!

0 0 1 1 0 0 resposta
32 16 8 4 2 1
Digital Design
Copyright © 2007 13
Frank Vahid
Conversão de Números Decimais em Binário:
Exemplo do Método de Subtração
• Converter o número “23” de decimal para binário
Resto ou Quantidade restante Número binário
23 0 0 0 0 0 0
32 16 8 4 2 1

23 0 1 0 0 0 0
-16 32 16 8 4 2 1
a
7

7 0 1 0 1 0 0
-4 32 16 8 4 2 1
3 8 é maior que 7

3 0 1 0 1 1 0
-2 32 16 8 4 2 1
1

1 0 1 0 1 1 1
-1 32 16 8 4 2 1
Digital Design 0
Copyright © 2007 Pronto! 23 em decimal é 10111 em binário. 14
Frank Vahid
Segundo Método de Conversão de Números
Decimais para Binários (Método da Divisão)
• Divida o número decimal por 2. O resto da divisão vai ser o símbolo
da ordem do número binário (da menor ordem para a maior).
– Continue dividindo o quociente por 2 até o quociente ser igual a 0.
• Exemplo: Converta o número decimal 12 para binário
Número decimal Número binário
6
Método mais 2 12 Divida por 2 0
apropriado para -12 1
se implementar 0
em Resto → Símbolo
sistemas
digitais Continue dividindo, pois o quociente (6) é maior que 0
3
2 6 Divida por 2 0 0
-6 2 1
0
Resto → Símbolo
Digital Design Continue dividindo, pois o quociente (3) é maior que 0
Copyright © 2007 15
Frank Vahid
Conversão de Números Decimais em Binário:
Exemplo do Método da Divisão
• Exemplo: Converta o número decimal 12 para binário

Número decimal Número binário


1 1 0 0
2 3 Divida por 2 4 2 1
-2
1
Resto → Símbolo

Continue dividindo, pois o quociente (1) é maior que 0


0 1 1 0 0
2 1 Divida por 2 8 4 2 1
-0
1
Resto → Símbolo

Como o quociente é 0, podemos concluir que12 é 1100 em binário.

Digital Design
Copyright © 2007 16
Frank Vahid
Base Dezesseis: Outra Base normalmente usada
por projetistas de Sistemas Digitais
8 A F • Adequada porque cada ordem (posição) representa 4
símbolos em binário.
164 163 162 161 160
– Usado como um modo compacto de se escrever números
8 A F binários.

1000 1010 1111


• Conhecida como base hexadecimal, ou somente hexa
hexa binário hexa binário
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101 Q: Escreva11110000 em hexa
6 0110 E 1110
Olhando na tabela ao lado, apenas
7 0111 F 1111
substituímos o número binário pelo
a símbolo
hexadecimal correspondente:

11110000
Digital Design
Copyright © 2007
Frank Vahid
F0 17
Base Decimal
• Base10 = {0,1,2,3,4,5,6,7,8,9}
• Tamanho da Base = 10 símbolos
• Símbolos = de 0 a 9
• Exemplo:
110110 = 1*100 + 0*101 + 1*102 + 1*103

Digital Design
Copyright © 2007
Frank Vahid
Base Binária
• Base2 = {0,1}
• Tamanho da Base = 2
• Símbolos = 0 e 1
• Exemplo:
11012 = 1*20 + 0*21 + 1*22 + 1*23
= 1 + 0 + 4 + 8 = 1310

Digital Design
Copyright © 2007
Frank Vahid
Base Hexadecimal
• Base16={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
• Tamanho da Base = 16
• Símbolos = de 0 a F
• Exemplo:
110116 = 1*160 + 0*161 + 1*162 + 1*163
= 1 + 0 + 256 + 4096 = 435210

Digital Design
Copyright © 2007
Frank Vahid
Resumo de Conversão de Bases
• Métodos para Conversão de Bases
• Qualquer Base → Base 10 (Somatório dos pesos relativos)
– Ex.: [102] → 0*20 + 1*21

• Qualquer Base 10 → Qualquer Base Y (Método Divisões Sucessivas)


– Ex.: 1310 → BASE 2
13 2
1 6 2
0 3 2
1 1 2
1 0
1310 = 11012
• HEX → BIN (Desmembramento). Ex.: B116 → BASE 2 = 1011 0001
• BIN → HEX (Agrupamento). Ex.: 1100 01002 = C416

Digital Design
Copyright © 2007
Frank Vahid
Representação de Números Positivos e Negativos
 Existem três tipos de notações para representar números
em Sistemas Digitais:

Sinal e magnitude

Complemento a um

Complemento a dois

 A representação de números positivos é a mesma em


qualquer notação!

 A diferença de uma notação a outra está na representação


dos números negativos!
Digital Design
Copyright © 2007 22
Frank Vahid
Representação de Números Positivos e Negativos
 Vamos tomar como exemplo uma CPU ou um sistema
digital que representa dados numéricos de tamanho
máximo igual a 4 bits.

 16 valores (números) diferentes podem ser representados


com 4 bits (24) nesse sistema digital ou CPU.

 A grosso modo, metade dos números será positiva e


metade negativa.

Digital Design
Copyright © 2007 23
Frank Vahid
Notação Sinal e Magnitude

 O bit mais significativo (bit mas à esquerda)


representará o sinal do número:

Convenção: 0 = positivo; 1 = negativo


 Os três outros bits de menor significância (bits à direita
do bit mais significativo) formarão a magnitude (módulo
do número a ser representado):

0 (000) até 7 (111)


–1
 Intervalo de números para n bits = +/- 2n -1
 Incoveniente: 2 representações distintas para o 0 (zero)
Digital Design
Copyright © 2007 24
Frank Vahid
Notação Sinal e Magnitude +

-7 +0
-6 1111 0000 +1
1110 0001 0 100 = + 4
-5 +2
1101 0010

-4 1100 0011 +3 - 421


1 100 = - 4
-3 1011 0100 +4
1010 0101
-2 +5
1001 0110 -
-1 1000 0111 +6
-0 +7
Digital Design Desperdício: 2 representações para o número 0.
Copyright © 2007 25
Frank Vahid
Notação Complemento a 1
 Seja N um número positivo e N o número negativo
correspondente na representação complemento a um.

n
N = (2 - 1) - N

Exemplo: complemento a um do número +7

0111 = (+7)
Método direto:
Se quero o (-7), simplesmente faço o complemento bit a bit do número
a ser convertido. Isso significa substituir todos “0” por “1” e vice-versa

0111 → 1000
Digital Design
Copyright © 2007 26
Frank Vahid
Notação Complemento a 1
-0 +0
-1 1111 0000 +1
1110 0001
-2 +2 +
1101 0010
-3 1100 0011 +3 0 100 = + 4
-8 421 +1
-4 1011 0100 +4 1 011 = - 4
1010 0101
-5 +5 -
1001 0110
-6 1000 0111 +6 Desperdício: Ainda 2
-7 +7 representações para o
Digital Design número 0.
Copyright © 2007 27
Frank Vahid
Notação Complemento a 2

 Possui uma única representação para o 0 (zero).

 Possui um número negativo a mais que a representação


complemento a um.

 Representação que é utilizada pelos cálculos da unidade


de ponto fixo da CPU (aritmética inteira) e em operações
aritméticas em sistemas digitais.

Digital Design
Copyright © 2007 28
Frank Vahid
Notação Complemento a 2
-1 +0
-2 1111 0000 +1
1110 0001
-3 +2 +
1101 0010
-4 1100 0011 +3 0 100 = + 4
-8 421
-5 1011 0100 +4 1 100 = - 4
1010 0101
-6 +5 -
1001 0110
-7 1000 0111 +6
Digital Design -8 +7
Copyright © 2007 29
Frank Vahid
Notação Complemento a 2
Método direto:
Número em complemento a 2 = complemento bit a bit + 1

ou

Número em complemento a 2 = Número em complemento 1 + 1 no bit


menos significativo (bit mais à direita)

0111 = 1000 + 1 → 1001 (representação de -7)

1001 = 0110 + 1 → 0111 (representação de 7)

Digital Design
Copyright © 2007 30
Frank Vahid
Limites de Representação de Números em cada
Notação
• Quais os limites de representação de números positivos e
negativos para cada notação?

Pense e responda escrevendo os limites em função de


variáveis que você julgar importante para essa descrição.
Obs.: Use b para representar a base e n para representar o número
máximo de bits para representação do número decimal na base b.

Digital Design
Copyright © 2007 31
Frank Vahid
Números Reais: Representação em Ponto Fixo

• A representação em ponto fixo é assim chamada


porque a faixa de números que pode representar um
determinado valor é fixa, ou seja, a posição da vírgula
é predeterminada.

Digital Design
Copyright © 2007 32
Frank Vahid
Representação de números fracionários
positivos e negativos em ponto fixo

• A notação usada em computadores para a representação


em ponto fixo, é o complemento a 2.

• Não possui dupla representação para o zero.

• Proporciona uma maior velocidade de cálculo se


comparada às outras duas notações estudadas.

Digital Design
Copyright © 2007 33
Frank Vahid
Exemplos de número positivo em ponto fixo
 Representação do número +10,5:
(reservados 1 bit para sinal, 4 bits para parte inteira e 4 para a fracionária.)

 Representação do número +34,0625:


(reservados 1 bit para sinal, 6 bits para parte inteira e 6 para a fracionária.)

Digital Design
Copyright © 2007 34
Frank Vahid
Exemplo de número negativo em ponto fixo
Representação do número -23,75:
(reservados 1 bit para sinal, 5 bits para parte inteira e 5 para a fracionária.)
• 23,75 = 01011111000
• -23,75 (Usando complemento a 2) = 10100001000
• Verificando: -32+8+0,25 = -23,75

Digital Design
Copyright © 2007 35
Frank Vahid
Limitações da representação em ponto fixo
• Na aritmética com números representados em ponto fixo, há de se ter cuidado para que os resultados
estejam ‘dentro’ da faixa fixa (números muito grandes ou muito pequenos). Ou seja, é necessário que o
resultado da operação aritmética feita não extrapole o limite de representação dos bits que reservamos
tanto para a parte inteira como para a parte fracionária.

• Caso contrário as operações produzirão resultados não precisos.

• Altera-se a faixa de representação.

• Caso não se alcance a precisão desejada, busca-se uma solução com representação em Ponto Flutuante.

Digital Design
Copyright © 2007 36
Frank Vahid
Exercícios
Suponha que sua CPU faça cálculos com 8 bits.
a) Determine quantos bits que você usaria para a parte inteira
e para a parte fracionária para atender corretamente a
representação de cada parcela e do resultado das
operações nas situações 1, 2, 3 e 4 abaixo:
b) Represente os números das situações 1, 2, 3 e 4 em ponto
fixo usando o que você definiu no item a).

1. (+7,75) + (6,25)
2. (+5,99) – (4,625)
3. (+12,125) + (4,0125)
4. (-8,1212) + (0,65)

Digital Design
Copyright © 2007 37
Frank Vahid
Exercício 1: Resposta
• +7,75 e +6,25 poderiam ser representados com 4 bits
(incluindo o sinal) para a parte inteira e 4 bits para a
parte fracionária.
• Entretanto o resultado da soma dos dois operandos vai
dar +14,0 que extrapolaria o limite de representação
dos 4 bits que reservamos para a parte inteira.
• De forma a produzir o resultado correto, nesse
exercício deveremos representar a parte inteira com 5
bits e os 3 bits restantes reservaremos para a parte
fracionária.

Digital Design
Copyright © 2007 38
Frank Vahid
Exercício 1 - Resposta
+7,75: 00111110
+6,25: 00110010
+14,0: 01110000

Digital Design
Copyright © 2007 39
Frank Vahid
1.3
Projeto de Sistemas Digitais: Programação de
Microprocessadores Vs. Projeto de Circuitos Digitais
Sistema detector de movimentos Microprocessor Circuito Digital• Microprocessadores é a
em ambientes escuros programado Customizado primeira opção para
implementar um sistema
digital
– Fáceis de programar
– Baratos (menos que $1)
– Fáceis de comprar.

I0 P0 void main() 1
I1 P1 a
{ 0
I2 P2 while (1) { 1
I3 P3 P0 = I0 && !I1; b
I4 P4 0
// F = a and !b,
I5 P5 1
I6 P6 } F
0
I7 P7 }
6:00 7:057:06 9:009:01 time

Digital Design
Copyright © 2007 40
Frank Vahid
Projeto de Sistemas Digitais: Quando
Microprocessadores Não Satisfazem
• Para que projetar circuitos digitais Sensor de Q: Quanto tempo de
se consigo projetar com Imagens Micro- execução demanda cada
processor
microprocessadores de forma uma das soluções?
mais rápida e barata? (a) (Ler, 5+8+1
Comprimir,
– Microprocessadores podem não Memória e Armazenar) =14 seg
atender requisitos de tempo.
– Ou serem muito grandes, ou Sensor de
Circuito
Imagens Circuito
consumir muita energia, etc. Leitura Compressão
.1+.5+.8
Tempo de execução (em segundos) de
tarefas básicas de um câmera digital (b) =1.4 seg
implementada em um microprocessador Circuito a
Memória
Armazenamento
versus um circuito digital customizado:
Tarefa Microprocessador Circuito Digital
Sensor de
Customizado Imagens Circuito Circuito
Leitura Compressão
Ler 5 seg 0.1 seg .1+.5+1
Comprimir 8 seg 0.5 seg (c) =1.6 seg
Microprocessad
Memóri or(Armazena)
Armazenar 1 seg 0.8 seg a Melhor
Compromisso
Digital Design
Copyright © 2007 41
Frank Vahid

Você também pode gostar