aula 1 sistemas analógicos vs sistemas digitais -...

41
Aula 1 Sistemas Analógicos vs Sistemas Digitais

Upload: votuyen

Post on 12-Jan-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Aula 1

Sistemas Analógicos vs Sistemas Digitais

Sistema: conjunto de blocos (dispositivos e/ou componentes )interligados que desempenham uma função complexa. Sistema digital: constituído por vários blocos, que no conjunto desempenham determinada função. Ex: Processador = memória + controladores + unidade lógica aritmética + ... Dispositivo: circuito composto por vários componentes que desempenha uma função simples. Ex: contadores, somadores, registos, ... Componente: cada uma das partes que constituem um dispositivo Ex: resistências, transistores, circuitos integrados Circuito integrado (chip): circuito em que os diversos componentes estão integrados sobre uma mesma base (substrato ou plataforma)

Definições

Sistemas analógicos vs Sistemas digitais

Sistemas analógicos: trabalham com grandezas representadas por semelhança (analogia) entre outras grandezas diferentes, de forma proporcional entre elas. Exs: • num termómetro, uma coluna de mercúrio representa a temperatura (grandeza física) • numa balança, a posição do ponteiro representa a massa a medir • num gráfico de barras, a altura das barras representa os valores medidos ou calculados Sinal analógico: a representação das grandezas faz-se de forma contínua, podendo assumir uma infinidade de valores – por exemplo, a coluna de mercúrio do termómetro pode ocupar qualquer posição ao longo da escala. Circuito analógico: é aquele que processa sinais analógicos (em termos de entradas e saídas).

Sistemas analógicos vs Sistemas digitais

f

(E)

Entrada

analógica

(S)

Saída

analógica

S = f (E) , função analógica

Temperatura ºC

-4

-2

0

2

4

6

8

10

Sinal analógico Circuito analógico

Sistemas analógicos vs Sistemas digitais

Sistemas digitais: trabalham com grandezas representadas através de dígitos (algarismos, números) que simbolizam quantidades numéricas (inteiras ou fraccionárias) Exs: • num termómetro, a temperatura é dada por um valor numérico no mostrador • numa balança, o valor medido é indicado por algarismos • num gráfico de barras, o valor medido ou calculado aparece junto à respectiva barra sinal digital: a representação das grandezas faz-se de forma discreta (por saltos), podendo assumir apenas assumir um número finito de valores discretos – por exemplo, nos termómetros a temperatura é habitualmente indicada apenas até ao décimo de grau Celsius [ex. a temperatura pode passar de 28.3ºC para 28.4ºC, não sendo mostrados valores intermédios]. Circuito digital: é aquele que processa sinais digitais (em termos de entradas e saídas).

Sistemas analógicos vs Sistemas digitais

Sinal digital Circuito digital

Temperatura ºC

-4

-2

0

2

4

6

8

10

F

(E)

Entrada

digital

(S)

Saída

digital

S = F(E) , função digital

Computação

NOTAS Computar significa somar, que é uma das quatro operações aritméticas elementares. Embora os computadores actuais realizem outras operações, as operações aritméticas permanecem como um núcleo importante de operações a executar. Vamos ver que é possível realizar estas operações usando sistemas analógicos ou digitais. O processo analógico é aqui apresentado apenas a título informativo, sendo o processo digital aquele que vai ser usado ao longo da disciplina. A ideia é realizar as operações aritméticas usando objectos de uso corrente.

Computação analógica Realizada por circuitos analógicos.

exemplo : operação de multiplicação → sistema de som doméstico O microfone produz um sinal eléctrico fraco, proporcional à intensidade do som captado, o qual é amplificado um certo número de vezes para produzir um sinal equivalente mas de maior intensidade que é aplicado a um altifalante. O amplificador funciona como um multiplicador saída = entrada * factor amplificação

microfone amplificador altifalante

Entrada: som fraco (ex:voz) Saída: som forte (amplificado)

Computação digital

Ao contrário do caso anterior, no sistema digital trabalha-se directamente com valores numéricos, a questão que se coloca é quais valores? No sistema decimal usamos dez algarismos representados por [0, 1, 2, … , 9], que se tornam fáceis de reconhecer e de tratar pelo homem. Se os quiséssemos usar no sistema digital, os circuitos eléctricos teriam de ser capazes de reconhecer e de trabalhar com dez valores diferentes de corrente (ou tensão), o que tecnologicamente é complicado. Mas porque usamos dez algarismos? Porque não vinte? Ou doze? Ou cinco? Ou apenas dois? (já agora, será que podia ser apenas um?). Mais à frente veremos que é possível trabalhar apenas com dois algarismos [0, 1] e ainda assim é possível realizar as mesmas operações que realizamos com os dez algarismos decimais.

Computação digital

Sendo assim, os circuitos digitais apenas precisam de distinguir dois estados, designados por bit (binary digit) e que podem ser designados do seguinte modo: “0” = bit zero, Falso(False), Nada, Baixo(Low/L), OFF bit “1” = bit um, Verdade(True), Tudo, Alto(High/H), ON Vejamos como são representados os bit’s e porque assumem aquelas designações. Havendo apenas dois bit [0,1] dizemos que há apenas dois estados que é preciso distinguir. Para tal, o mais simples é considerar uma situação de tudo/nada ou ainda de existe/não existe ou em termos eléctricos, ligado/desligado. Note-se que não é importante quantificar quanto vale “tudo” ou quanto vale “existe” ou ainda quanto vale “ligado” ou “desligado”, importa apenas distinguir a situação de existir ou não existir, estar ligado ou não estar ligado, etc. Isto simplifica muito a construção dos circuitos electrónicos.

Em termos práticos foi necessário determinar um valor concreto para o valor da tensão a usar nos circuitos, tendo sido seleccionado o valor de 5V. Assim fez-se a seguinte atribuição (há outras possibilidades que serão abordadas mais tarde):

+5.0V

+2.0V

+0.8V

0V

valores nesta faixa [+2.0V ↔ +5.0V] correspondem ao bit “1”

valores nesta faixa [ 0V ↔ +0.8V] correspondem ao bit “0”

valores nesta faixa [ +0.8V ↔ +2.0V] são indeterminados, não

devendo ser usados em circuitos digitais (zona proibida)

Computação digital

“0” = bit zero, Falso(False), Nada, Baixo(Low/L), OFF bit “1” = bit um, Verdade(True), Tudo, Alto(High/H), ON

“1” = 5v

“0” = 0v

Aula 1 (cont.)

Sistemas Analógicos vs Sistemas Digitais

Convenções possíveis: Lógica positiva: O símbolo “1” está associado ao nível de tensão mais elevado(5v) e o símbolo “0” está associado ao nível de tensão mais baixo(0v) situação mais usada. Lógica negativa: O símbolo “1” está associado ao nível de tensão mais baixo(0v) e o símbolo “0” está associado ao nível de tensão mais elevado(5v).

Lógica Positiva Versus Lógica Negativa

A tecnologia digital tem várias vantagens sobre a analógica:

• Circuitos mais simples de projetar e de entender

• Maior imunidade ao ruído (ou seja, a interferências)

• Maior precisão nos cálculos efectuados

• Mais fácil de armazenar a informação (apenas 2 bit)

Porém, as grandezas do mundo real são praticamente todas analógicas, pelo que a utilização dos computadores digitais implica a conversão entre analógico para digital e vice-versa.

Computação digital

Conversão analógico <-> digital

O diagrama a seguir ilustra o processo de introdução do computador digital num mundo essencialmente analógico.

mundo real analógico

ex: temperatura, som,

luminosidade, velocidade ...

obter sinal

analógico

(sensores) digital

digital

actuar

(actuadores)

Conversor A/D

Analógico→Digital

Conversor D/A

Digital→Analógico

Processamento

Digital

Conversão A/D (analógico digital) Trata-se de converter sinais que variam de forma contínua ao longo do tempo, em sinais discretos.

Para isso, são tomadas amostras a intervalos de tempos regulares do sinal analógico de entrada, as quais são convertidas para valores numéricos e armazenadas em forma de bit´s (0’s e 1’s).

É um processo conhecido por digitalização.

O número de amostras a tomar está relacionado com o tipo de sinal analógico a digitalizar. Ex: digitalizar um tema musical e guardar o resultado num certo formato (ex:MP3)

A/D

entrada saída

analógica digital

t0 t1 t2 t3 t4 t5 t6 t7 tempo

n5

n6

n4

n1 n0

som

0 t0 n0 (10011001)

1 t1 n1 (11000110)

2 t2 n2 (00110100)

3 t3 n3 (10101101)

. … ……………..

amostra tempo valor(exemplo)

(ex: ficheiro MP3)

Conversão D/A (digital analógico)

Trata-se de converter valores numéricos discretos (armazenados em formas de bit’s), num sinal que varia continuamente ao longo do tempo.

A precisão da conversão está relacionada com o número de amostras disponíveis.

Ex: reproduzir o tema musical anteriormente digitalizado e cujas amostras foram guardadas num ficheiro de um certo formato (ex:MP3)

0 t0 n0 (10011001)

1 t1 n1 (11000110)

2 t2 n2 (00110100)

3 t3 n3 (10101101)

. … ……………..

amostra tempo valor (exemplo)

(ex: ficheiro MP3)

D/A

entrada saída

digital analógica

t0 t1 t2 t3 t4 t5 t6 t7 tempo

n5

n6

n4

n1 n0

som

Aula 2

Álgebra de Boole – funções lógicas

Álgebra de Boole

Em 1854, o matemático Inglês George Boole desenvolveu um conjunto de regras algébricas durante a sua investigação sobre as leis fundamentais da mente humana associadas ao raciocínio Álgebra de Boole Em 1938, Claude Shannon dos Bell Laboratories, adaptou a Álgebra de Boole à utilização em circuitos digitais.

Variáveis Lógicas e Funções Lógicas • São apenas usados dois valores: 1(verdade) e 0(falso)

• As variáveis são designadas por variáveis lógicas, variáveis de Boole, variáveis boolenas ou binárias;

• Uma variável lógica é uma variável cujo domínio compreende 2 valores lógicos, representados pelos símbolos 0 e 1;

• Uma função lógica, função de Boole, função boolena ou função binária é uma função cujos domínio e contradomínio (entradas/saídas) são constituídos pelo conjunto formado pelos símbolos {0 , 1}.

George Boole (1815-1864)

Claude Shannon (1916-2001)

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

• As tabelas de verdade podem representar qualquer função lógica;

• Uma tabela de verdade é um quadro formado por tantas colunas quantas as variáveis de uma dada função (variáveis de entrada ou independentes) mais a coluna correspondente à função (variável de saída ou dependente);

• Tipicamente as funções lógicas comportam diversas variáveis de entrada para apenas uma variável de saída (embora estas também possam ser várias);

• Nas linhas da tabela de verdade representam-se todas as combinações binárias possíveis das variáveis da função: N variáveis de entrada originam M=2N combinações possíveis;

Tabelas de Verdade

Ex: Tabela de Verdade N=2 variáveis de entrada: A, B combinações possíveis → M=2N=22=4 S : função ou variável de saída

entrada saída

4 combinações possíveis

As funções lógicas elementares são:

• identidade (igualdade)

• negação, complementação, inversão: NÃO → NOT

• conjunção, intersecção, produto lógico: E → AND

• disjunção, reunião, soma lógica: OU → OR

A partir destas funções elementares é possível definir outras funções básicas:

• NÃO E / NOT AND → NAND

• NÃO OU / NOT OR → NOR

• OU EXCLUSIVO / EXCLUSIVE OR → XOR

Funções Lógicas Elementares

As funções NÃO E (NAND) e NÃO OU (NOR) dizem-se completas (universais) devido ao facto de

ser possível construir qualquer função lógica com base numa destas duas funções.

Função Identidade (Igualdade)

S(A) = A : saída igual à entrada

Tabela de Verdade/Símbolo

Funções Lógicas Elementares

Função Intersecção (Produto Lógico)

S(A, B) = A.B → AND : verdade se e só se todas as entradas forem verdade

Tabela de Verdade/Símbolo

Função Reunião(Soma Lógica)

S(A, B) = A+B → OR : verdade desde que uma ou mais entradas sejam verdade

Tabela de Verdade/Símbolo

A S

A S

A S

A

S B

A

S B

Função Negação (Complementação ou Inversão)

S(A) = A → NOT : saída é o inverso da entrada

Tabela de Verdade/Símbolo

Funções Lógicas Básicas

Função OU EXCLUSIVO (EXCLUSIVE OR) →

XOR:

saída é verdade se o nº de entradas verdade for ímpar

A

S B

A

S B

A

S B

Função NÃO E → NAND: S(A, B) = A.B

corresponde à negação da função AND

Função NÃO OU → NOR: S(A, B) = A + B

corresponde à negação da função OR

Funções Lógicas – interpretação física

Convenções

interruptor aberto = 0 interruptor fechado = 1

lâmpada apagada = 0 lâmpada acesa = 1

- Fonte de alimentação + (pilha, bateria,...)

Funções Lógicas - interpretação física : AND

Função AND : S(A, B) = A.B A

S B

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Função AND : S(A, B) = A.B A

S B

Funções Lógicas - interpretação física : AND (cont.)

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Funções Lógicas – interpretação física: OR

Função OR : S(A, B) = A+B A

S B

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Funções Lógicas – interpretação física: OR (cont.)

Função OR : S(A, B) = A+B A

S B

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Funções Lógicas – interpretação física : NOT

A S Função NOT): S(A) = A

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Resumo das Funções Lógicas

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

Expressões Lógicas Equivalentes, Complementares e Duais

Duas expressões lógicas são duais quando se pode obter uma a partir da outra, nomeadamente: • transformando todos os “.” em “+” e todos os “+” em “.” • transformando todos os “0” em “1” e todos os “1” em “0” • mantendo as ocorrências das variáveis

ex: a expressão lógica 1.A + B.C + 0 é dual de (0+A) . (B+C) . 1

Duas expressões lógicas (S1,S2) são complementares quando para todas as combinações possíveis nas respectivas tabelas de verdade (linhas), se tem S1=S2 (S1=0/S2=1, ou, S1=1/S2=0), ou seja, todas as linhas são complementares.

Uma expressão lógica é um conjunto de variáveis lógicas e constantes lógicas (0, 1) associadas entre si pelas funções lógicas elementares (“.” e “+”). A existência de uma variável ou do respetivo complemento é designada por ocorrência ou literal. ex: S = A.B + B.1 + C.0

Duas expressões lógicas (S1,S2) são equivalentes quando para todas as combinações possíveis nas respectivas tabelas de verdade (linhas), se tem S1=S2 (S1=S2=0, ou, S1=S2=1), ou seja, todas as linhas são iguais. Se S1≠S2 em pelo menos uma linha, então S1 e S2 não são equivalentes.

Formas Canónicas

forma canónica (geral): de uma função booleana é qualquer produto de somas ou soma de produtos em que cada um dos termos envolve todas as variáveis, em forma directa ou complementada. As formas canónicas são úteis na análise de circuitos lógicos, nomeadamente para a simplificação de funções lógicas, usando métodos gráficos ou numéricos. forma canónica soma de produtos: quando a expressão de uma função lógica é constituída por somas lógicas de produtos lógicos que contêm todas as variáveis lógicas da função. Esta forma canónica é também designada por primeira forma canónica, sendo os produtos (parcelas) designados por mintermos.

Exemplo: S(A,B,C) = A . B . C + C . B . A + B . A . C forma canónica produto de somas: quando a expressão de uma função lógica é constituída por produtos lógicos de somas lógicas que contêm todas as variáveis lógicas da função. Esta forma canónica é também designada por segunda forma canónica, sendo os factores designados por maxtermos.

Exemplo: S(A,B,C) = (A+B+C ) . ( A +B+C) . ( A +B+C )

Formas Mínimas

forma mínima: aquela em que o somatório do número de termos/factores e de literais é mínimo. São usadas para implementar os circuitos da forma o mais simples possível. forma mínima soma de produtos: quando a função lógica é constituída por uma soma de produtos tal que o somatório do número de produtos e do número de literais é mínimo.

exemplo: S(A,B,C) = A . B . C + B . C

forma mínima produto de somas: quando a função lógica é constituída por um produto de somas tal que o somatório do número de somas e do número de literais é mínimo.

exemplo: S(A,B,C)= (B+C).(B +C).(A +C) Notas: 1) a forma mínima de uma função lógica não é necessariamente única nem conduz necessariamente à implementação mais simples. 2) a engenharia de sistemas digitais tem por objectivo a implementação de circuitos que executem as funções desejadas a um custo mínimo. 3) a minimização (obtenção das formas mínimas) da implementação de funções lógicas constitui uma fase importante do projecto de sistemas digitais.

Aula 3

Álgebra de Boole – axiomas e teoremas

Axiomas e Teoremas da Álgebra de Boole

Axioma: afirmação aceite como óbvia e verdadeira, que não é provada ou demonstrada, sendo considerada ponto de partida para a construção ou aceitação de uma teoria. Teorema: afirmação que pode ser provada como sendo verdadeira através de outras afirmações já demonstradas, como outros teoremas, ou através de axiomas.

Provar é o processo de mostrar que um teorema está correto. Princípio da dualidade: aplica-se tanto a axiomas como a teoremas. Se tivermos um axioma/teorema relacionando variáveis lógicas, pode obter-se um outro axioma/teorema fazendo as trocas de símbolos e sinais associados (“0”↔”1” , “.”↔”+”)

Os dois axiomas/teoremas são designados por axiomas/teoremas duais.

Axiomas e Teoremas da Álgebra de Boole

Propriedades 1) A+B = B+A ; A.B = B.A comutatividade OR/AND) 2.1) A.(B+C) = (A.B)+(A.C) distributividade em relação ao produto 2.2) A+(B.C) = (A+B).(A+C) distributividade em relação à soma, inválida em álgebra convencional 3) A+B+C = (A+B)+C = A+(B+C) ; A.B.C = (A.B).C = A.(B.C) associatividade OR/AND NOTA: as funções NAND, NOR e XOR não são associativas ( ex: A.B.C ≠ (A.B) . C ) (ex. A=0,B=0,C=1) Precedências: o produto tem precedência sobre a soma, ex: A+B.C = A+(B.C) alterar precedência usar parêntesis, ex: (A+B).C

1) Seja A uma variável lógica A=0 ou A=1 (A=0 se A≠1 , A=1 se A≠0)

2) produto lógico (AND) 0.0 = 0 ; 0.1 = 1.0 = 0 ; 1.1 = 1 3) soma lógica (OR) 0+0 = 0 ; 0+1 = 1+0 = 1 ; 1+1 = 1 4) complemento, negação (NOT) 0 = 1 ; 1 = 0

Axiomas e Teoremas da Álgebra de Boole

1) A+A = A ; A.A = A (idempotência)

2) A+0 = A ; A.1 = A (0=elemento neutro soma lógica; 1=elemento neutro produto lógico)

3) A+1 = 1 ; A.0 = 0 (1=elemento absorvente soma lógica ; 0=elemento absorvente produto lógico)

4) A = A (involução)

5) A+A = 1 ; A.A = 0 (complementos)

6) A+A.B = A ; A.(A+B) = A (absorção) [prova: A+A.B = A.(1+B) = A.1 = A]

7) A.B+A.B = A ; (A+B).(A+B) = A (adjacência) [prova: A.B+A.B = A.(B+B) = A.1 = A]

8) A+A.B = A+B ; A.(A+B) = A.B (redundância) [prova: ? ]

NOTA: existem outros teoremas para além dos apresentados a seguir

Leis de DeMorgan

O Teorema de DeMorgan estabelece um procedimento para complementar funções lógicas:

Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP

A . B = A + B A + B = A . B ou A . B = A + B A + B = A . B

Extensão a 3 (ou mais) variáveis

AND: S(A, B, C) = A.B.C = (A.B).C

OR: S(A, B, C) = A+B+C = (A+B)+C

A

B B S C

A

B S C

A

B S

C

A

B S

C

A.B.C = A + B + C A . B . C= A + B + C A + B + C = A . B .C A + B + C= A . B . C

Leis de DeMorgan

=

=

NOT a partir de NAND / NOR

A S Função NOT): S(A)= A

A

S

NAND: S(A, B)= A.B , se B=A A.A = A

NOR: S(A, B)= A + B , se B=A A+A = A

A

S

A S

A

S

A

S

= =

AND/OR a partir de NAND / NOR

= A

S B

A

S B

A

S B

A

S B

AND: S(A, B)= A.B = A.B

= A

S B

A

S B

A

S B

A

S B

OR: S(A, B)= A+B = A+B