arquitetura de computadores i - ubiparaujo/cadeiras/arquitecturacomputadores/...arquitetura de...
TRANSCRIPT
![Page 1: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/1.jpg)
• Pedro Araújo
• Gab. 4.12 (6.15 , 6.21)
• E-mail: [email protected]
• www.di.ubi.pt/~paraujo/ArquiteturaComputadoresI
ARQUITETURA DE COMPUTADORES I 2019-2020
Engenharia Informática(11537)
![Page 2: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/2.jpg)
Aquisição de conhecimentos sobre as tecnologias utilizadas na construção de computadores digitais. Análise e síntese de sistemas digitais combinatórios e sequenciais. Introdução aos sistemas e arquiteturas digitais.
No final da unidade curricular o estudante deve ser capaz de compreender o funcionamento da maioria dos circuitos que compõem os computadores digitais, sendo capaz de realizar a respectiva análise e síntese.
Objetivo
![Page 3: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/3.jpg)
• Introdução dos conceitos
• Alertas/chamadas de atenção
• Propostas de trabalhos/desafios
• …
... melhoria contínua dos apontamentos da disciplina ...
• Resolução dos trabalhos práticos
• Pesquisas (net, etc)
• …
Teóricas(T) Práticas(P)
Aulas
![Page 4: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/4.jpg)
Programa (resumido)
Aulas teóricas(T) [ Noções sobre electricidade/electrónica ] A) Sistemas Digitais: sistemas analógicos vs digitais, computação analógica vs computação digital, conversão A/D e D/A, representação eléctrica dos sinais digitais; B) Álgebra de Boole: variáveis e funções lógicas, tabelas de verdade, axiomas e teoremas da álgebra de Boole, simplificação de funções; C) Aritmética binária: sistemas de numeração, códigos de representação, aritmética e métrica binária; D) Circuitos digitais: circuitos combinatórios, circuitos sequenciais; E) Memória: tipos ROM e RAM, estáticas e dinâmicas;
Aulas práticas (P) Apresentação e resolução de trabalhos práticos usando programas de simulação de circuitos digitais (LogiSim)
![Page 5: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/5.jpg)
[1] Textos
1.1) Sistemas Digitais - Princípios e Prática (3ª Edição Revista), Morgado Dias, ISBN=978-972-722-700-6, Editora FCA, 2013.
1.2) “Computer Systems - Digital Design, Fundamentals of Computer Architecture and Assembly Language”, Ata Elahi, Springer, 2018.
1.3) Apontamentos das aulas;
[2] Textos on-line
2.1) Introdução à Eletrônica para Artistas (e-book) https://www.embarcados.com.br/introducao-a-eletronica-para-artistas/
2.2) Simulador de circuitos digitais – Logisim: http://www.cburch.com/logisim/pt/index.html
2.3) Diversos pdf, simuladores, aplicativos, ...
Apoio
![Page 6: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/6.jpg)
Avaliação
• Teórica(TE) (freq. + exames) = 12 valores → freq. obrigatória Data: 2019/12/20 , 11-13h
• Prática(TP) = 8 valores → dois trabalhos feitos na aula, ambos obrigatórios, com entrega de
um pequeno relatório(pode ser apenas uma folha de rosto); a nota dos trabalhos conta
para todos os exames
Datas: TP1(3 valores): 4 Nov 2019 TP2(5 valores): 6 Jan 2020
• Nota Final: NF = TE + TP → Aprovação: NF >= 10
• Mínimos: TE+TP ≥ 6 + Assiduidade ≥ 85% aulas práticas (podem faltar a duas aulas) +
realização de todas as provas obrigatórias : caso não sejam atingidos o aluno terá NA(Não
Admitido) ficando excluído do processo de avaliação e tendo de repetir a UC.
• Melhoria de classificação em exame: só para TE → conta a melhor nota
• Condicionalmente, os trabalhos práticos podem contar para o ano seguinte, dispensando o aluno das aulas práticas (não podem ser melhorados)
• Alunos especiais (trabalhadores estudantes, etc): à partida têm de cumprir os critérios anteriores, mas devem contactar o docente para que o seu caso seja analisado
![Page 7: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/7.jpg)
Aula 1
Sistemas Analógicos vs Sistemas Digitais
![Page 8: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/8.jpg)
Sistema: conjunto de blocos (dispositivos e/ou componentes )interligados que desempenham uma função complexa. Cada bloco contribui para a execução de uma parte dessa função. 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
![Page 9: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/9.jpg)
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).
![Page 10: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/10.jpg)
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
![Page 11: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/11.jpg)
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).
![Page 12: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/12.jpg)
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
![Page 13: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/13.jpg)
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.
![Page 14: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/14.jpg)
Computação analógica Realizada por circuitos analógicos.
exemplo1 : 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)
exemplo2 : operação de soma → conta kilómetros de um automóvel de cada vez que o automóvel percorre 1000m é adicionado 1 ao indicador
![Page 15: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/15.jpg)
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.
![Page 16: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/16.jpg)
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.
![Page 17: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/17.jpg)
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
![Page 18: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/18.jpg)
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
![Page 19: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/19.jpg)
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
![Page 20: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/20.jpg)
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
(computador)
![Page 21: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/21.jpg)
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)
![Page 22: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/22.jpg)
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
![Page 23: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/23.jpg)
Aula 2
Álgebra de Boole – funções lógicas
![Page 24: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/24.jpg)
Á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 e Funções Booleanas / Variáveis 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 de Boole, variáveis boolenas, variáveis lógicas 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
![Page 25: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/25.jpg)
• 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);
• As linhas da tabela de verdade representam todas as combinações possíveis das variáveis de entrada da função: N variáveis de entrada originam M=2N combinações possíveis;
Tabelas de Verdade
Ex: Tabela de Verdade A, B : duas variáveis de entrada → N=2 combinações possíveis → M=2N= 4 S : função ou variável de saída
entrada saída
4 combinações possíveis
![Page 26: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/26.jpg)
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.
![Page 27: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/27.jpg)
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
![Page 28: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/28.jpg)
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
![Page 29: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/29.jpg)
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,...)
![Page 30: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/30.jpg)
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
![Page 31: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/31.jpg)
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
![Page 32: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/32.jpg)
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
![Page 33: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/33.jpg)
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
![Page 34: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/34.jpg)
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
![Page 35: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/35.jpg)
Resumo das Funções Lógicas
Fonte: José Augusto Baranauskas, Departamento de Computação e Matemática – FFCLRP-USP
![Page 36: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/36.jpg)
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: 1.A + B.C + 0 ←duais→ (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 respetivas 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.
![Page 37: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/37.jpg)
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 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 as somas designadas por maxtermos.
Exemplo: S(A,B,C) = (A+B+C ) . ( A +B+C) . ( A +B+C )
![Page 38: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/38.jpg)
Formas Mínimas
forma mínima: aquela em que o somatório do número de termos e de literais é mínimo. São usadas para implementar(construir) 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 objetivo 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 projeto de sistemas digitais.
![Page 39: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/39.jpg)
Aula 3
Álgebra de Boole – axiomas e teoremas
![Page 40: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/40.jpg)
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.
![Page 41: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/41.jpg)
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
![Page 42: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/42.jpg)
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
![Page 43: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/43.jpg)
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
![Page 44: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/44.jpg)
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
=
=
![Page 45: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/45.jpg)
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
= =
![Page 46: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/46.jpg)
AND/OR a partir de NAND / NOR
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
A
S B
A
S B
OR: S(A, B)= A+B = A+B
![Page 47: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/47.jpg)
Leis de DeMorgan
A . B = A + B A + B = A . B → A . B = A + B A + B = A . B
A B = S =
A B
S
A B
S
A B = S =
A B
S
A B
S
→ ???
![Page 48: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/48.jpg)
Análise de circuitos digitais
Análise: processo de decomposição de uma substância ou tópico complexo nos seus diversos elementos constituintes, a fim de se obter uma melhor compreensão do seu funcionamento. Circuitos digitais • A todo o circuito digital corresponde uma expressão booleana.
• Um circuito, por mais complexo que seja, é composto pela interligação de blocos lógicos básicos.
• Para obter a expressão lógica nas saídas de um circuito digital, parte-se das entradas em direção às saídas, escrevendo na saída de cada porta lógica a expressão equivalente.
![Page 49: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/49.jpg)
Análise de circuitos digitais
Ex: obter as expressões booleanas e a tabela de verdade geradas pelo seguinte circuito lógico:
A
C S
D
= A . (C + D)
Tabela de verdade Tabela de verdade simplificada
![Page 50: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/50.jpg)
Síntese de circuitos digitais
Síntese: reunião de vários elementos de modo a formar um todo unificado e coerente. Circuitos digitais • Síntese de um circuito digital: dada uma expressão booleana obter um circuito lógico correspondente;
• As expressões boolenas são obtidas a partir do enunciado do problema a resolver, regra geral em forma de tabelas de verdade.
![Page 51: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/51.jpg)
Problema: controlo do limpa-pára-brisas (LPB) de um automóvel
Um automóvel tem um sistema de LPB controlado por uma alavanca de comutador (C) junto ao volante ou por um sensor de chuva (S) colocado no vidro.
O LPB deve actuar sempre que estando ligada a chave da ignição(I), o condutor tenha ligado o comutador(C) ou o sensor(S) detecte chuva.
Síntese de circuitos digitais
Tabela de Verdade: contém todas as combinações possíveis de I, C e S, além da saída LPB N=3 variáveis M = 2N = 23 = 8 casos possíveis
Variáveis lógicas
Entrada Saída
I : chave ignição 0=desligada 1=ligada LPB: escovas do limpa-pára-brisas C : comutador manual 0=desligado 1=ligado 0=parado 1=a funcionar S : sensor de chuva 0=não chove 1=chove
→
(tabela simplificada)
→
![Page 52: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/52.jpg)
Síntese de circuitos digitais
Extração da expressão do circuito mintermos : extracção pelos “1’s” da função (combinações aonde a função vale “1”) → obtém-se uma expressão canónica do tipo AND-OR (soma de produtos)
I . C . S
Regras para extracção dos termos
0) cada termo(linha) vai ser um produto
1) considerar apenas termos(linhas) aonde a função vale “1”
2) para cada variável de entrada:
2.1) se essa variável vale “1” entra diretamente no termo
2.2) se a variável vale “0” então negada no termo
I . C . S I . C . S
Tabela de Verdade
Circuito resultante diretamente da expressão... bastante complexo!
LPB = I . C . S + I . C . S + I . C . S (forma canónica)
![Page 53: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/53.jpg)
Síntese de circuitos digitais
Circuito digital correspondente (muito mais simples que o anterior) LPB = I . ( S + C )
Simplificar a expressão obtida: obtenção de uma forma mínima
LPB = I . C . S + I . C . S + I . C . S (forma canónica)
I . ( C . S + C . S + C . S ) (p.distributiva)
I . ( C . S + C . (S + S) ) (p.distributiva)
I . ( C . S + C . 1 ) = I . ( C . S + C) (redundância)
I . ( S + C )
![Page 54: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/54.jpg)
Aula 4
Simplificação de funções lógicas
![Page 55: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/55.jpg)
Síntese de circuitos digitais(cont.)
Extracção da expressão do circuito
maxtermos extracção pelos “0’s” da função (combinações aonde a função vale “0”) obtém-se uma expressão canónica do tipo OR-AND (produto de somas)
Regras para extracção dos termos 0) cada termo vai ser uma soma (OR) 1) considerar cada linha aonde a função vale “0” 2) para cada variável de entrada: 2.1) se essa variável vale “0” então entra diretamente 2.2) se a variável vale “1” então entra negada
I + C + S
I + C + S
Tabela de Verdade
Circuito resultante diretamente da expressão... bastante complexo!
I + C + S I + C + S
I + C + S
LPB = (I + C + S) . (I + C + S) . (I + C + S) . (I + C + S) . (I + C + S)
![Page 56: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/56.jpg)
Síntese de circuitos digitais
Circuito digital correspondente (igual ao obtido anteriormente) LPB = I . ( S + C )
Simplificar a expressão obtida: obtenção de uma forma mínima
LPB = (I + C + S) . (I + C + S) . (I + C + S) . (I + C + S) . (I + C + S) (forma canónica)
(I + C) . (I + C) . (I + C + S) (adjacência) [ (A+B).(A+B)=A ]
I . (I + C + S) (redundância)
I . (C + S) = I . (S + C) igual à expressão anterior
![Page 57: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/57.jpg)
Simplificar
• reduzir o número de termos
• reduzir as variáveis em cada termo
• (converter para um único tipo de porta lógica, ex: AND,OR,NAND,NOR,...)
Métodos 1) Algébrico: a simplificação algébrica (por aplicação das regras da Álgebra de Boole) é trabalhosa e morosa, requerendo alguma “arte”; 2) Gráfico: permitem chegar rapidamente a expressões mais simples, embora não garantam de imediato a forma mínima;
2.1) Mapa de Karnaugh: aplicável facilmente para funções de até 4 variáveis (embora seja válido para outro nº de variáveis) 2.2) Mapa da Quine-McCluskey: para mais de 4 variáveis (embora seja válido para menos)
Métodos de simplificação
![Page 58: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/58.jpg)
Mapa de Karnaugh
Tabela de Verdade original Tabela de Verdade reagrupada
trocar as linhas de modo que só se altere uma variável em linhas adjacentes
I . C . S I . C . S I . C . S
I . C . S
I . C . S
I . C . S
LPB = I . C . S + I . C . S + I . C . S LPB = I . C . S + I . C . S + I . C . S
• Equivalente à Tabela de Verdade → duas formas de representar a mesma realidade
• Baseia-se na aplicação sucessiva do teorema da complementação: A + A = 1
Exs. a) X . Y + X . Y = X (Y + Y) = X . 1 = X
b) X . Y . Z + X . Y . Z + X . Y . Z + X . Y . Z = X . Y (Z + Z) + X . Y ( Z + Z) = X (Y + Y) = X
Problema do LPB
![Page 59: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/59.jpg)
Mapa de Karnaugh
I . C . S + I . C . S = I . C (S + S) = I . C
I . C . S + I . C . S = I . S (C + C) = I . S
Tabela de Verdade reagrupada
I . C . S
I . C . S
I . C . S
termos diferem em S S é eliminada
termos diferem em C C é eliminada
LPB = I . C + I . S
= I (C + S)
(expressão anterior)
Algebricamente
LPB = I . C . S + I . C . S + I . C . S
= I . C . S + I . C . S + [I . C . S] + I . C . S (idempotência) - [I.C.S] vai pertencer a dois grupos
= I . C (S + S) + I . S (C + C) (complementação)
= I . C + I . S = I (C + S) (distributividade)
![Page 60: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/60.jpg)
Mapa de Karnaugh
Tabela de Verdade
I . C . S
I . C . S
I . C . S
LPB = I . C + I . S (não é forma mínima)
I . (C + S) (forma mínima)
LPB = I . C . S + I . C . S + I . C . S
I . ( C . S + C . S + C . S)
I . ( C ( S + S) + C . S)
I . ( C + C . S )
I . ( C + S )
Mapa de Karnaugh
S = 1
I = 1
I . C . S I . C . S I . C . S I . C . S
I . C . S I . C . S I . C . S I . C . S
0 1 1 1
0 0 0 0
C = 1
![Page 61: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/61.jpg)
Mapa de Karnaugh Construção do mapa
1) desenhar um quadrilátero com M=2N células, tantas quantas as linhas da tabela de verdade (N=nº de variáveis independentes) 2) numerar as células de modo correspondente às diferentes combinações das variáveis independentes, de tal forma que entre duas células adjacentes apenas varie uma delas (quadriculas adjacentes são aquelas com uma aresta comum, incluindo as dos lados exteriores do quadrilátero pois na realidade a figura é um toro)
N=2 , M=4 N=3 , M=8 N=4 , M=16
A
B
A
B
C A
B
C
D
Convenção: nas células abrangidas pelo traço a correspondente variável toma o valor “1” , nas restantes toma o valor “0”
A=0 A=0 B=0 B=1 A=1 A=1 B=0 B=1
A=0 B=1 C=0
A=1 B=0 C=1
A=0 B=1 C=0 D=1
A=1 B=0 C=0 D=1
A B
A=1 A=0 B=0 B=1 A=1 A=0 B=0 B=1
![Page 62: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/62.jpg)
Mapa de Karnaugh
Regras do mapa 1) em cada célula do mapa coloca-se o correspondente valor da tabela de verdade;
2) agrupam-se o maior número possível de células com valores “1” (ou “0”) adjacentes, em grupos de 2n
(1, 2, 4, 8, 16) células, até todas estarem agrupadas;
2.1) deve considerar-se o menor número possível de grupos, desde que todas as células com “1” (ou “0”) estejam englobadas;
2.2) cada célula com “1” (ou “0”) pode participar em mais de um grupo;
2.3) diz-se que um grupo é primário se não está totalmente incluído noutro grupo maior; devem ser considerados apenas os grupos primários, não devendo ser considerados grupos dentro de grupos (pois são termos redundantes que não interessam para a simplificação);
3) cada grupo dá origem a um termo do qual são eliminadas as variáveis que estão simultaneamente dentro e fora do grupo; por cada grupo de U=2V células, são eliminadas V variáveis na expressão do grupo:
![Page 63: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/63.jpg)
Mapa de Karnaugh
Exemplo: N=4 variáveis , M=24=16 combinações
A
B
C
D
1
1
1 1
1 1 1
Tabela de Verdade Mapa de Karnaugh
Extracção da expressão do circuito, pelos mintermos:
• extracção pelos “1’s” da função (combinações aonde a função vale “1”) • obtém-se uma expressão canónica do tipo AND-OR [soma de produtos: A.B + C.D +...] • marcar no mapa as células em que a função vale “1” – agrupar segundo as regras indicadas
![Page 64: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/64.jpg)
A
B
C
D
1
1
1 1
1 1 1
Mapa de Karnaugh
grupo mais favorável, elimina 2 variáveis
X = A . B
células adjacentes elimina 1 variável
Y = B . C . D
grupo menos favorável, não elimina variáveis
Z = A . B . C . D
F = X + Y + Z = A . B + B . C . D + A . B . C . D (a expressão ainda pode ser simplificada)
grupo redundante: os seus 1’s já estão
agrupados em outros grupos
errado! células não adjacentes
errado! nº de 1’s não é potência de 2
Em cada célula do grupo:
• se uma variável muda de valor será eliminada
• se uma variável tem o valor “1” (a célula está abrangida pelo traço) então entra directamente
• se toma o valor “0” (está fora do traço) então entra negada
![Page 65: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/65.jpg)
Mapa de Karnaugh
Exemplo: N=4 variáveis , M=24=16 combinações
Tabela de Verdade
Mapa de Karnaugh
A
B
C
D
0
0
0 0
0 0
0
0 0
Extracção da expressão do circuito, pelos maxtermos:
• extracção pelos “0’s” da função (combinações aonde a função vale “0”) • obtém-se uma expressão canónica do tipo OR-AND [produto de somas: (A+B) . (C+D)....] • marcar no mapa as células em que a função vale “0” → agrupar segundo as regras
![Page 66: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/66.jpg)
A
B
C
D
0
Mapa de Karnaugh
grupo redundante: os “0’s” já estão todos
agrupados
0 elimina 1 variável
Z = A + C + D 0
0
0 0 0
0
0
elimina 1 variável
X = B + C + D
grupo mais favorável, elimina 2 variáveis
Y = A + B
elimina 1 variável
U = A + B + D
F = X . Y . Z . U = (B + C + D) . (A + B) . (A + C + D) . (A + B + D) (simplificar)
Em cada célula do grupo: • se uma variável muda de valor é eliminada • se uma variável tem o valor “1” (a célula está abrangida pelo traço dessa variável) então entra negada • se toma o valor “0” (está fora do traço) então entra directamente
![Page 67: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/67.jpg)
Mapa de Karnaugh - exemplos
A
B
A
B
S = A . B + A . B = A B + + S = A . B + A . B = A B
A
C
B
S = B . C + B . C = B C +
S = B . C + B . C = B C +
A
C
D
B
Funções XOR / NXOR
XOR → S(A, B)= A B = A . B + A . B
NXOR → S(A, B)= A B = A . B + A . B
+
+
![Page 68: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/68.jpg)
Mapa de Karnaugh Funções incompletamente especificadas
não é fornecida informação sobre todos os casos possíveis de acontecer;
determinadas combinações das entradas não estão previstas ou são impossíveis;
• nestas situações o resultado da função considera-se como indiferente (don’t care), sendo representado por X na tabela ou mapa de Karnaugh;
• o valor X não é um valor lógico válido, significa apenas que de momento é um valor indiferente e que mais tarde terá de assumir um valor válido (“0” ou “1”); no mapa de Karnaugh, X será substituído pelo valor que conduzir a uma maior simplificação;
Ex: uma barragem tem uma comporta que permite despejar a água quando em demasia. Para tal dispõe de dois sensores: C(barragem cheia) e V(barragem vazia). Pretende-se projetar um circuito para controlar o estado da comporta.
Tabela de Verdade
C
V
0 0
1 X
opção1 : X=0 → Comporta = C . V
opção 2: X=1 → Comporta = C
Mapa de Karnaugh
C
V
com
po
rta
Entradas: C , V 0=sem água 1=com água Saída: Comporta 0=fechada 1=aberta
√ melhor caso
![Page 69: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/69.jpg)
Aula 5
Sistemas de numeração
![Page 70: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/70.jpg)
Codificação ↔ Descodificação
Codificação
• fazer corresponder os dados a tratar a um conjunto de sinais digitais (“0” e “1”) • representação de dados em formato binário
ex: valores numéricos , caracteres alfanuméricos , imagens , sons , ... → valores binários
Descodificação
• traduzir valores binários para outras representações
ex: valores numéricos , caracteres alfanuméricos , imagens , sons , ... ← valores binários
Processamento
Sistema Digital
Interpretação
???
??? descodificação
codificação
![Page 71: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/71.jpg)
Sistemas de Numeração
Um valor N pode ser representado em decimal pela expressão:
N = ∑ Ai Bi = An Bn + An-1 Bn-1 + ... + A1 B1 + A0 B0 + A-1 B-1 + A-2 B-2 + ...
B – base do sistema de numeração (ou radix = nº de algarismos da base, incluindo o zero)
Ai – algarismos da base
i – índice posicional do algarismo
Bi – peso ou significância do algarismo Ai
Notas
1) Numa base B o algarismo de maior valor é B-1 (ex. decimal: B=10, maior algarismo 9)
2) Se B > 10, usam-se letras para representar os algarismos de valor maior que 9
![Page 72: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/72.jpg)
Exemplos de Sistemas de Numeração
(valores inteiros) Decimal: base → B = 10 algarismos → Ai = 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 pesos → Bi = 10i
ex: 12810 = 1 x 102 + 2 x 101 + 8 x 100 = 100 + 20 + 8 = 128 Binário: base → B = 2 algarismos → Ai = 0 , 1 pesos → Bi = 2i
ex: 1012 = 1 x 22 + 0 x 21 + 1 X 20 = 4 + 0 + 1 = 5 Octal: base → B = 8 algarismos → Ai = 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 pesos → Bi = 8i
ex: 248 = 2 x 81 + 4 x 80 = 16 + 4 = 20 Hexadecimal(hexa): base → B = 16 algarismos → Ai = 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F pesos → Bi = 16i
ex: 7CD16 = 7 x 162 + 12 x 161 + 13 x 160 = 1792 + 192 + 13 = 1997
![Page 73: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/73.jpg)
Números em diversas bases
TABELA – correspondência de números
Note-se que para um certo número n de bits o maior valor decimal representado é 2n-1
Exs: n = 3 bits , maior valor = 23-1 = 7 n = 4 bits , maior valor = 24-1 = 15(F)
![Page 74: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/74.jpg)
Conversão de Bases
I : parte inteira → divisões inteiras sucessivas por 2 - parar quando o quociente for zero - tomar restos por ordem inversa da sua obtenção
N = I.F F: parte fraccionária → multiplicações sucessivas por 2 - parar quando se atingir nº casas decimais pretendido - tomar parte inteira dos resultados por ordem da sua obtenção
Decimal(10) → Binário(2)
![Page 75: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/75.jpg)
Conversão de Bases Exemplo Parte inteira = 37 → converter por divisões inteiras sucessivas por 2 Converter para binário N = 37.41 Parte decimal = 0.41 → converter por multiplicações sucessivas por 2
Parte inteira
37 2 1 18 2 0 9 2 1 4 2 0 2 2 0 1 2 1 0
1 7
(LSB)
(MSB)
Parte decimal
37 = 1 0 0 1 0 1 (MSB) (LSB)
0.41 * 2 0 .82 * 2 1 .64 * 2 1 .28 * 2 0 .56 * 2 1 .12
(MSB)
(LSB)
tom
ar desd
e MSB
até LSB
0.41 = 0 . 0 1 1 0 1 (MSB) (LSB)
N = 37.41 = 100101.01101
Verificação 100101.01101 = 1x25 + 0x24 + 0x23 + 1x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 + 1x2-3 + 0x2-4 + 1x2-5 = = 32 + 0 + 0 + 4 + 0 + 1 + 0 + 0.25 + 0.125 + 0 + 0.031 = 37.406
em cada divisão tomar nota do resto
parar de dividir quando quociente
for zero
em cada multiplicação a parte inteira é
retirada
parar de multiplicar quando der zero, ou
atingir a precisão pretendida
![Page 76: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/76.jpg)
Conversão de Bases (cont.)
Binário(2) → Decimal(10) : aplicar a expressão dos sistemas de numeração
Exemplo: 1101.110002 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2 8 + 4 + 0 + 1 + 0.5 + 0.25 = 13 + 0.75 = 13.75
• Método Double-Dabble (evita somas com números grandes):
– Começando pelo bit mais à esquerda mutiplicar o seu valor por 2 e somar o resultado ao bit imediatamente à direita
– Multiplicar este resultado por 2 somando com o bit seguinte à direita
– Repetir este processo até todos os bits estarem convertidos
Exemplo: converter o valor binário 1101 para decimal
1 1 0 1
1*2=2 +1 3*2=6 +0 6*2=12 +1 13
![Page 77: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/77.jpg)
Conversão de Bases (cont.)
Decimal(10) → Hexadecimal(16) : divisões sucessivas por 16
Hexadecimal(16) → Decimal(10) : aplicar a expressão dos sistemas de numeração
Exemplo: 7CD16 =
• parar quando o quociente for zero • tomar restos por ordem inversa da sua obtenção (converter cada resto para hexa)
7 x 162 + C x 161 + D x 160 = 7 x 162 + 12 x 161 + 13 x 160 = 1792 + 192 + 13 = 1997
(MSB)
Exemplo: 1997 = B16 ?
1997 16 13 124 16 12 7 16 7 0
7
D
C (LSB)
1997 = 7CD16
MSB LSB
![Page 78: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/78.jpg)
Conversão de Bases
A5216 = 1010 0101 00102 = 1010010100102
Hexadecimal(16) ↔ Binário(2) • como cada algarismo hexa (0,1,...,F) é constituído por 4 bits (0000, 0001,..., 1111) basta converter
em grupos de 4 bit
11110011112 = 0011 1100 11112 = 3CF16
ex1: hexadecimal → binário : A5216 = B2 ? ex2: binário → hexadecimal : 11110011112 = B16 ?
![Page 79: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/79.jpg)
Conversão de Bases
Decimal(10) → Binário(2) : conversão por base intermédia • a conversão por divisões sucessivas por 2 pode originar muitas iterações • converter primeiro para uma base intermédia (ex. hexadecimal) e depois para binário
Ex: 37 = B2 ?? →
usando 1º) decimal → hexa 37 = 2516 hexadecimal como base intermédia 2º) hexa → binário 2516 = 0010 01012
37 2 1 18 2 0 9 2 1 4 2 0 2 2 0 1 2 1 0
1 7
(LSB)
(MSB)
37 16 16 5 2 0 2
37 = 1 0 0 1 0 12 = 0010 01012 (MSB) (LSB)
![Page 80: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/80.jpg)
Conversão de Bases
Ex: 10110101012 = 0010 1101 01012 = 2D516 = 2*162 + 13*161 + 5*160 = 512+208+5=725 2 D 5
Binário(2) → Decimal(10) : conversão por base intermédia a aplicação da expressão dos sistemas de numeração pode originar muitas iterações
Ex: 10110101012 = 1*29 + 0*28 + 1*27 + 1*26 + 0*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 = 725
Para reduzir o número de iterações vamos efectuar a conversão por uma base intermédia. Base intermédia hexadecimal(16) – começando da direita para a esquerda, separar em grupos de 4 bits, convertendo cada grupo para o algarismo hexadecimal correspondente e depois multiplicar pela potência de 16 de modo a obter o valor decimal
![Page 81: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/81.jpg)
Conversão de Bases
P1) 317 = binário ?
R1) usando a base hexadecimal como intermédia:
1º) converter o valor decimal para hexadecimal
Outros exemplos
(LSB) (MSB)
317 16 157 19 16 13 3 1 16 1 0
D 3 1
317 = 13D16
317 = 13D16 = 0001 0011 11012
P2) 100001110 2 = decimal ?
R2) usando a base hexadecimal como intermédia:
1º) separar em grupos de 4 digitos binários convertendo cada grupo para hexadecimal 100001110 2 = 0001 0000 1110 2 = 10E16
2º) converter o valor hexadecimal para decimal 10E16 = 1*162 + 0*161 + E*160 = 1*162 + 0*161 + 14*160 = 256 + 0 + 14 = 270
2º) converter o valor hexadecimal para binário, convertendo cada algarismo hexadecimal em grupos de 4 digitos binários
![Page 82: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/82.jpg)
Métrica Binária
Agrupamentos de n bits
Decimal (base 10) → prefixo K significa 1000 = 103 (potência inteira de 10)
Binário (base 2) → prefixo K significa 1024 = 210 (potência inteira de 2)
![Page 83: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/83.jpg)
Métrica Binária
Agrupamentos de n bytes
![Page 84: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/84.jpg)
Métrica Binária
A norma IEC 80000-13: Quantities and units – Part 13: Information science and technology , publicada em 2008 define os seguintes prefixos binários:
Consultar: Prefixes for binary multiples - http://physics.nist.gov/cuu/Units/binary.html
Exemplo: 1 KByte = 103 Byte = 1000 Byte (Kilo Byte) 1 KiByte = 210 Byte = 1024 Byte (Kibi Byte)
https://en.wikipedia.org/wiki/Binary_prefix#pebi
![Page 85: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/85.jpg)
Aula 6
Aritmética Binária
![Page 86: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/86.jpg)
Aritmética Binária As operações aritméticas em binário (soma, subtracção, mutiplicação, divisão) realizam-se de forma idêntica à decimal
SOMA
decimal
1(vai um)
7 + 6 ------- 1 3 uma volta à
base 10
sobrou para 10 3 bits a somar
binário
1 1(vai um)
0 1 1 1 + 0 1 1 0 ----------- 1 1 0 1
Tabuada da Soma 1
0 0 1 1 +0 + 1 + 0 + 1 ---- ---- ---- ---- 0 1 1 1 0
Carry = quantas voltas deu à base 2 Sum = o que sobrou para a base 2
“vai um“ transporte
ou Carry
a soma é feita coluna a coluna tendo em conta o Carry resultante da coluna anterior.
![Page 87: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/87.jpg)
Aritmética Binária
Soma: S=a+b
1(vai um)
a 0 0 1 1 + b +0 + 1 + 0 + 1 ---- → ---- ---- ---- ---- C S 0 0 0 1 0 1 1 0
Carry Sum
semi somador
½ +
a
b
S
C
Tabela de Verdade
Half - Adder
semi-somador porque não tem em consideração o Carry da soma anterior
Função com duas saídas: C e S
a
b
S = a . b + a . b = a b + a
b
C = a . b
LogiSim
![Page 88: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/88.jpg)
Somador completo
em cada coluna somam-se 3 bit: um bit por cada parcela a somar + carry da soma anterior por sua vez há saída de um bit de carry para a coluna seguinte, o qual pode ser 1 ou 0 (Ci = Carry_in Co = Carry_out Co’ e Ci’ – referem-se aos bits de carry intermédios)
somador completo
a
b
S
Co (Carry out)
(Carry in) Ci
Full - Adder
1 1 0 0
0 1 1 1 (a) + 1 0 1 0 (b) ------------------------------ 1 0 0 0 1
Co’=1 Co’=1
Co=1
Somador completo com dois semi-somadores
semi somador
½ +
a
b
S
C
semi somador
½ +
a
b
S
C
Co
Ci
a
b
S
Co’=0
Ci =0
![Page 89: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/89.jpg)
Somador completo
somador completo
a
b
S
Co (Carry out)
(Carry in) Ci
Full - Adder
LogiSim
![Page 90: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/90.jpg)
Aula 7
Aritmética Binária(cont.): soma e subtração
![Page 91: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/91.jpg)
N = 4 bit
Somador de N bit
1 1 0 0
0 1 1 1 (a) + 1 0 1 0 (b) ------------------------------ 1 0 0 0 1
Co’ Co’
Co=1
Co’
Ci=0
S3 S2 S1 S0
somador completo
a
b
S
Co
Ci somador completo
a
b
S
Co
Ci somador completo
a
b
S
Co
Ci somador completo
a
b
S
Co
Ci
Ci=0
Co=1 S3=0 S2=0 S1=0 S0=1
0 1 1 1
1 0 1 0
1 1 0 0
LogiSim
![Page 92: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/92.jpg)
Aritmética Binária
SUBTRAÇÃO Tabuada da Subtração
0 1 0 1 - 0 - 0 1 - 1 - 1 ---- ---- ---- ---- 0 1 - 1 0
resultado negativo – como representar? Borrow
decimal
4 6 4 16 - 2 7 - 2+1 7 ------- --------- ? 1 9
binário
1 0 1 1 1 0 - 0+1 1 1 0+1 1+1 1 ------------------------------ 0 1 0 0 1 1
decimal
6 - 7 ---- -1
binário
0 1 1 0 - 0 1 1 1 ---------- 1 1 1 1 1
como representar valores negativos em binário?
operação complexa!
Caso 1 Caso 2
![Page 93: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/93.jpg)
Números relativos Subtração → conduz ao aparecimento de números negativos, mas como os representar?
Existindo apenas os símbolos “0” e “1”, terá de ser usado um deles para representar o sinal
Soma : 5+2 = ?
5 0 101 +2 + 0 010 ---- -------- 7 0 111 ok!
Subtração : 5-2 = 5+(-2) = ?
5 0 101 - 2 + 1 010 ---- -------- 3 1 111 negativo???
Duas representações para o zero??? Zero é um valor positivo, devendo ter apenas uma representação
números relativos com 4 bits (sinal+magnitude)
“0” → nº positivo Hipótese 1: representar o sinal pelo bit mais à esquerda(bit de sinal) os restantes bits representam o valor (magnitude) “1” → nº negativo
![Page 94: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/94.jpg)
Código dos complementos Código dos complementos em decimal
Subtração → A – B = A + (10n – B) – 10n 10n : potência de 10 imediatamente acima de B
(10n – B) : complemento para 10 de B (quanto falta a B para chegar
à potência de 10 imediatamente acima)
Código dos complementos em binário
A – B = A + (2n – B) – 2n 2n : potência de 2 imediatamente acima de B = A + [(2n –1)– B] + 1 – 2n [(2n –1)– B] : complemento para 1 de B → obtém-se invertendo B bit a bit
[(2n –1)– B] + 1 : complemento para 2 de B → obtém-se invertendo B bit a
bit e somando 1 (fácil de calcular)
Ex: 5 - 2 = 5 + (-2) = 3
A=5 → 0 1 0 1 0 1 0 1 B=2 → 0 0 1 0 1 1 0 1 + 1 1 1 0 + 1 ---------- --------- 1 0 0 1 1 = 3 - 2 = 1 1 1 0
obter complemento para 2 inverter bit a bit e somar 1
não muda
subtrair 2n → desprezar o bit mais à esquerda
Ex: 75 – 46 = ?
75 75 – 46 → 75 + (102 – 46) - 102 = → + 54 ?? 54 129 – 102→ 129 : método complexo não usado na prática
![Page 95: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/95.jpg)
Números relativos Hipótese 2 “0” = nº positivo → restantes bits representam o valor em binário sinal é dado pelo → bit bit mais à esquerda sinal “1” = nº negativo → valor representado em código de complemento para 2
números relativos com 4 bits (código complementos)
Positivos → representados em código binário ex: 2 = 0010
Negativos → representados em código de complementos
obter o negativo/positivo de N em código complementos:
N → (inverter bit a bit) e (somar 1) → – N
ex1: 2 = 0010 → 1101 + 1 → 1110 = – 2
ex2: -2 = 1110 → 0001 + 1 → 0010 = 2
Regra prática: começando no bit mais à direita, manter todos os bits até encontrar o primeiro “1” inclusivé; a partir daí inverter todos os restantes bit ex: 2 → – 2 ; 2 = 0 0 1 0 → 1 1 1 0 = – 2
invertidos mantidos
![Page 96: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/96.jpg)
Números relativos Notas • Em código de complementos a n bits, se um valor começa por “0” trata-se de um positivo e o seu valor é
dado directamente pelos restantes bits
ex(4 bits): 0110 → 0x23 + 1x22 + 1x21 + 0x20 = + 6
• Se começa por “1” trata-se de um valor negativo, estando codificado em código de complementos para 2
ex(4 bits): 1010 → trata-se de um valor negativo, qual?
regra prática: 1 0 1 0 → 0 1 1 0
invertidos mantidos
Exemplos de nºs de 8 bits com sinal
MSB LSB
regra prática
regra prática
1) 01110110 = ? nº positivo → 0x27 + 1x26 + 1x25 + 1x24 + 0x23 + 1x22 + 1x21 + 0x20 = 118
2) 10011101= ? nº negativo → 01100011 = 0x27 + 1x26 + 1x25 + 0x24 + 0x23 + 0x22 + 1x21 + 1x20 = 99 → –99
3) 19 = ?(binário) nº positivo → 19 : 2 = 9 : 2 = 4 : 2 = 2 : 2 = 1 : 2 = 0 → 00010011 restos 1(LSB) 1 0 0 1(MSB)
4) -19 = ?(binário) nº negativo → 19 = 00010011 → 11101101
0101 + 1 -------- 0110 = 6 → - 6 (nº é negativo)
somar 1
![Page 97: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/97.jpg)
Soma / Subtração Soma de N bits • começando da direita para a esquerda (i.e, do menor para o maior peso), somam-se dois a dois os bits
de cada coluna tomando em consideração o bit de Carry proveniente da soma da coluna anterior (Ci) e propagando um bit de Carry para a coluna Seguinte (Co).
Exemplo: N = 4 bits : A = a3 a2 a1 a0 , B = b3 b2 b1 b0 ← c4 c3 c2 c1 c0 ←
A a3 a2 a1 a0 + B + b3 b2 b1 b0 ------ ------------------------ C S C4 S3 S2 S1 S0
para a soma seguinte proveniente da soma anterior (0 se primeira soma)
Ex: A = 2 B = 7
0 1 1 0 Ci=0
2 0 0 1 0 + 7 + 0 1 1 1 ---- ----------------------------- 9 0 1 0 0 1
somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci 0
a0
b0
a1
b1
a2
b2
a3
b3
c4
S3 S2 S1 S0
c3 c2 c1
![Page 98: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/98.jpg)
Soma/ Subtração Subtração de N bits
• usando as regras da adição binária, somar o aditivo com o complemento para 2 do subtrativo, desprezando o último bit de carry → A – B = A + (-B) = A + [(2n –1)– B] + 1 – 2n
complemento para 2 de B corresponde a desprezar (inverter B bit a bit e somar 1) o bit mais à esquerda
somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci somador completo
a
b
Co
S
Ci 1
a0
b0
a1
b1
a2
b2
a3
b3
c4
S3 S2 S1 S0
c3 c2 c1
Ex: A - B → 5 - 2 = 5 + (-2) = 3 1 = Ci
A=5 → 0 1 0 1 0 1 0 1 5 0 1 0 1 B=2 → 0 0 1 0 1 1 0 1 + 1 1 1 0 2 → 0 0 1 0 1 1 0 1 + 1 --------- ----------- ---------- 1 0 0 1 1 = 3 1 0 0 1 1 = 3 - 2 = 1 1 1 0
inverter bit a bit e somar 1
não muda
desprezar desprezar
inverter
bit a bit
(somar 1) ou:
não muda
![Page 99: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/99.jpg)
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci 1 a0
b0
a1
b1
a2
b2
a3
b3
c4
S3 S2 S1 S0
c3 c2 c1
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci
somador completo
a
b
Co
S
Ci 0 a0
b0
a1
b1
a2
b2
a3
b3
c4
S3 S2 S1 S0
c3 c2 c1
Soma/ Subtração
Ex: A + B = 5 + 1 = 6 0 0 1 0=Ci 5 0 1 0 1 + 1 + 0 0 0 1 ---- ----------------------------- 6 Co= 0 0 1 1 0
Ex: A - B → 5 - 1 = 5 + (-1) = 4 1=Ci
5 0 1 0 1 1 → 0 0 0 1 1 1 1 0 ---------- 1 0 1 0 0 = 4
desprezar Co
somar 1
não muda inverter
bit a bit
SOMA
SUBTRAÇÃO
![Page 100: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/100.jpg)
Soma/ Subtração
a3
a2
a1
a0
b3
b2
b1
b0
Ci
S3
S2
S1
S0
C0
b3
b2
b1
b0
a3
a2
a1
a0
“1”(Sub) : A-B = A + [(2n –1)– B] + 1 – 2n Op “0”(Sum) : A+B
somar 1
+
a3
a2
a1
a0
S3
S2
S1
S0
C0
a3
a2
a1
a0
+
0
b3
b2
b1
b0
Ci
b3
b2
b1
b0
Sum: A+B [Op=0]
a3
a2
a1
a0
S3
S2
S1
S0
C0
a3
a2
a1
a0
+
1
b3
b2
b1
b0
Ci
b3
b2
b1
b0
Sub: A-B = A + (-B) [Op=1]
Através de um bit de controlo (o qual pode ser comandado por software) pode seleccionar-se a operação a executar:
![Page 101: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/101.jpg)
ALU – Arithmetic and Logic Unit ALU : circuito digital usado para efectuar operações lógicas (and, or, not, xor,...) e aritméticas (sum, sub, mul, ...). É um dos principais blocos constituintes de um processador.
Exemplo de ALU : 74LS181 , 4bit arithmetic logic unit
H(HIGH)=“1” L(LOW)=“0” M controla o tipo de operação : M=1→lógica M=0→aritmética S3-S0 : controlam a operação a executar (segundo a tabela)
![Page 102: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/102.jpg)
Estrutura dos Processadores (CPU)
ALU
Unidade De
Controlo
(circuito digital)
Registos (memória)
Dados
Endereços
Controlo
Barramentos para
comunicação com o
exterior
![Page 103: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/103.jpg)
Aula 8
Aritmética Binária(cont.)
![Page 104: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/104.jpg)
Gama de representação Números sem sinal: usando-se n bits podem codificar-se 2n números inteiros, todos positivos
ex: n = 4 → 2n = 24 = 16 números
![Page 105: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/105.jpg)
Gama de representação
2n-1 positivos : 0 ↔ 2n-1 -1 2n-1 negativos : - 2n-1 ↔ -1
n bits permitem codificar 2n números inteiros sendo metade positivos e metade negativos [ 2n / 2 = 2n * 2-1 = 2n-1 ]
Ex: n = 4 → 2n = 24 = 16 ; 24-1 = 8
8 positivos : 0 ↔ 7 (23 -1) 8 negativos : -8 (- 23) ↔ -1
números relativos com 4 bits (código complementos)
Números com sinal: usando-se n bits podem codificar-se 2n números inteiros, sendo metade positivos e metade negativos (números relativos)
![Page 106: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/106.jpg)
Overflow Exemplos de operações a n=4 bits
A=5 0 101 + B=3 + 0 011 ----- ---------- 8 1 000 = -8 → somaram-se dois positivos e obteve-se um negativo ???
OVERFLOW
em ambos os casos excedeu-se a gama de representação
soma de dois valores positivos → resultado negativo Overflow ou soma de dois valores negativos → resultado positivo
Solução ?
A=-6 1 010 + B=-3 + 1 101 ----- ---------- - 9 1 0 111 = 7 → somaram-se dois negativos e obteve-se um positivo ? ??
![Page 107: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/107.jpg)
Overflow
Overflow → soma de dois operandos de n bits mas o resultado tem n+1 bits
Solução = acrescentar o número de bits necessários para permitir o resultado; Nos exemplos anteriores os operandos A e B tinham n=4 bits mas o resultado precisava de n=5 bits, assim basta acrescentar mais um bit, passando a usar-se n = 5 bits.
NOTAS • a subtração A-B (A e B > 0) nunca origina overflow pois o resultado está compreendido entre os dois operandos • na soma A+B se os operandos forem de sinal contrário (A>0 , B<0) ou (A<0 , B>0) nunca há overflow porque o
resultado está compreendido entre os dois valores (corresponde a uma subtração)
bit sinal
A=5 0 0101 + B=3 + 0 0011 ----- ---------- 8 0 1000 = 8
bit sinal
A=-6 1 1010 + B=-3 + 1 1101 ----- ---------- - 9 1 1 0111 → 0 1001 → -9
usando 5 bits:
![Page 108: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/108.jpg)
Comparador
Um comparador permite determinar se dois valores numéricos binários A e B de n bits são iguais, ou qual deles é maior.
A n bits
B n bits
A>B A<B A=B
S0
S1
S2 Ex: comparador de 1 bit
activa a saída que corresponde ao resultado da comparação
A
B
S0 = A . B A
B
S1 = A . B
A
B
S2 = A . B + A . B = A B +
![Page 109: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/109.jpg)
Comparador Exemplo: 74HCT85 – 4 Bit Magnitude Comparator
- comparador de 2 números de 4 bits (A3..A0 ; B3..B0);
- entradas adicionais para agrupamento em cascata (IA>B , IA<B , IA=B);
- saídas activas a “1” (OA>B , OA<B , OA=B);
![Page 110: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/110.jpg)
Código BCD – Binary Coded Decimal Código largamente usado em calculadoras que trabalham com numeração decimal
Codifica-se diretamente cada algarismo decimal em código binário a 4 bits
decimal → binário ex: 457 = 0001 1100 1001 (divisões sucessivas por 2)
decimal → BCD ex: 457 → 0100 0101 0111 4 5 7
Soma em BCD
Quando se somam dois dígitos BCD o resultado pode ser: (a) dígito válido e não há Carry : resultado correcto, nada a fazer; (b) dígito inválido e não há Carry : somar 6 e gerar um Carry para o dígito seguinte; (c) dígito válido e há Carry : somar 6 e manter Carry para o dígito seguinte; ex: (a) (b) (c) 1
3 0011 8 1000 9 1001 + 4 + 0100 + 3 + 0011 + 8 + 1000 ------- -------- ---- ------- ---- -------- 7 0111(ok) 11 1 1011 17 1 0001 + 0110 + 0110 -------- ---------- 0001 0001 0001 0111 1 1 1 7
(hexa)
![Page 111: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/111.jpg)
Código de Gray Código binário em que entre cada configuração adjacente só varia um bit
Importante para os circuitos sequenciais (com memória)
G0 = B0 B1
G1 = B1 B2
G2 = B2 B3
.....................
Gn = Bn
+
+
+
B0 = G0 G1 ... Gn
B1 = G1 G2 ... Gn
B2 = G2 G3 ... Gn
...........................................
Bn-1 = Gn-1 Gn
Bn = Gn
+
+
+
+ +
+
+ +
+ +
Binário → Gray
Gray → Binário
![Page 112: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/112.jpg)
Aula 9
Codificadores/Descodificadores Multiplex/Demultiplex
![Page 113: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/113.jpg)
Codificadores / Descodificadores Codificador c/prioridade
• Circuito que apresenta nas suas saídas o código binário correspondente ao número de ordem da entrada que estiver activa;
• Havendo mais de uma entrada activa o circuito dá prioridade (valida) a de maior número de ordem; • Um codificador com M=2N entradas terá N variáveis de saída;
.
.
.
.
.
.
M = 2N entradas
(ex: M=128, N=7) Codificador N saídas
(ex: N=7) (podem estar
várias activas)
Q0 Q1
QN-1
A0
A1
A2
A2N-1
Código binário da tecla actuada
Exemplo: codificador de teclado
![Page 114: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/114.jpg)
Codificador c/prioridade Codificador c/prioridade
• Ex: entrada→M=2N= 4 , saída→N=2
Codificador
A0
A1
A2
A3
Q0
Q1
GS
GS = Group Select indica que há alguma entrada activa GS = A0 + A1 + A2 + A3
Q1=A2+A3
Q0=A1.A2+A3
Tabela de Verdade
O código binário na saída (Q1, Q0), é igual ao número da entrada activa (A3...A0)
![Page 115: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/115.jpg)
Codificadores / Descodificadores
Descodificador
• Realizam a operação inversa dos Codificadores;
• Activam a saída correspondente ao código binário presente à entrada;
• Um descodificador com N variáveis de entrada tem M=2N variáveis de saída;
• Os descodificadores podem ter uma entrada adicional de “enable” (EN) ou “strobe” (G) que permite controlar (activar/desactivar) a função de descodificação;
.
.
.
.
.
.
N entradas
(ex: N=7) Descodificador M = 2N saídas
(ex: M=128)
(código binário)
Q0 Q1
Q2N-1
A0 A1
AN EN
![Page 116: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/116.jpg)
Descodificador Descodificador
Ex: entrada→N=2 , saída→M=2N= 4
Descodificador
A0
A1
Q0
Q1
Q2
Q3
Q3 = A0 . A1
Q0 = A0 . A1 Q2 = A0 . A1
Q1 = A0 . A1
Tabela de Verdade
Fica activa a saída (Q3...Q0) que corresponde ao código binário da entrada (A1,A0)
![Page 117: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/117.jpg)
Descodificador BDC – 7 segmentos
1
1
0 0 0
0 0 0
Permitem representar os algarismos de 0..9 (ou 0...F)
![Page 118: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/118.jpg)
Aula 10
Multiplex / Demultiplex
![Page 119: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/119.jpg)
Multiplex / Demultiplex
saída
I0
I1
Q
MULTIPLEX
SM
entr
adas
Q0
Q1
I
DEMULTIPLEX
SD
saíd
as
entrada
![Page 120: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/120.jpg)
Multiplex Multiplexer (MUX)
• Envia uma de N entradas possíveis(I0, I1, ... , IN-1), para uma única saída (Q), em função de uma palavra binária de controlo (ou selecção) → em cada instante apenas uma entrada está ligada à saída;
• Havendo N entradas → são necessários n bits de selecção, tal que N=2n
• É comum existir uma entrada de enable (EN), que permite activar/desactivar o circuito
I0
I1
. .
. .
IN-1
EN
Q
Sn-1 ... S1 S0
Entr
adas
(N
)
saíd
a
selectores
![Page 121: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/121.jpg)
Multiplex
Exemplo Entradas : N = 4 Selectores : n = 2 ( N=2n , 4 = 22 )
Q
I0
I1
I2
I3
EN active low
S1 S0
Tabela de verdade
![Page 122: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/122.jpg)
Demultiplex Demultiplexer (DEMUX)
• Envia uma única entrada(I) para uma de N saídas(Q0, Q1, ... , QN-1), seleccionada em função de uma palavra binária de controlo (ou selecção) → em cada instante a entrada está ligada a uma única saída;
• Havendo N saídas → são necessários n bits de selecção, tal que N=2n
• É comum existir uma entrada de enable (EN), que permite activar/desactivar o circuito
I
EN
entr
ada
Saíd
as (
N)
selectores
Q0
Q1
. .
. .
QN-1
Sn-1 ... S1 S0
![Page 123: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/123.jpg)
Demultiplex
Exemplo Saídas: N = 4 Selectores : n = 2 ( N=2n , 4=22 )
Tabela de verdade
I
EN active low
Q0
Q1
Q2
Q3
S1 S0
![Page 124: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/124.jpg)
Multiplex
Implementação de funções lógicas com multiplex
• Qualquer função de n variáveis pode ser implementada por um multiplex de N=2n entradas.
• As variáveis independentes da função são ligadas aos selectores do multiplex e a saída deste corresponde à saída da função.
Exemplo: circuito do LPB = I . (C + R) → n=3, N=23=8
0
1
2
3
4
5
6
7
EN
M
I C R
0
0
0
0
0
1
1
1
0
(S2 S1 S0)
LogiSim
![Page 125: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/125.jpg)
Aula 11
Circuitos sequenciais
![Page 126: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/126.jpg)
Circuitos Sequenciais
• Circuitos Sequenciais: os valores das saídas dependem dos valores das entradas mas também das condições anteriores a que o circuito esteve sujeito (variável de estado). Pressupõe que o circuito guarda informação sobre o passado (o tempo interfere) → implica a existência de memória.
• Circuitos Combinatórios: os valores das saídas dependem apenas da combinação dos valores das entradas. Os estados anteriores não influenciam o estado actual (o tempo não interfere) → o circuito não tem memória do passado.
Entradas Saídas = F(Entradas)
ex: LPB = F(I,S,C) = I . ( S + C )
Circuito combinatório
= F(Entradas, tempo)
![Page 127: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/127.jpg)
Flip-Flop
• Os circuitos de memória são obtidos a partir de células de memória unitárias, designados por circuitos bi-estáveis, pois podem permanecer em um de dois estados (0 ou 1), sendo também chamados Flip-Flop (F-F);
• O estado de um F-F é o valor que num determinado instante este apresenta na sua saída (se num determinado instante o F-F apresenta o valor 0 na saída então está no estado 0, caso contrário está no estado 1;
• Um F-F armazena um bit de informação (0 ou 1), uma vez que pode tomar em permanência qualquer um desses dois estados;
• Os F-F constituem o elemento base de estruturas de grande importância no projecto de sistemas digitais. Entre estas estruturas destacam-se os contadores e os registos(memória).
Exemplo (não usado na prática)
A S
O valor da entrada A é mantido indefinidamente na saída S
A S
![Page 128: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/128.jpg)
Flip-Flop D Latch (baseado em multiplex)
Q
I0
I1
S
D
E
Q
Q
Mux 2:1
D Q E Q
F-F Tipo D Latch (trinco)
D Q E Q 0
X D anterior
D Q E Q 1
0 1
0 1
1 0
![Page 129: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/129.jpg)
Q
I0
I1
S
Q
Q Q
I0
I1 S
D
CLK
(clock)
z
F-F Tipo D edge-trigger (transição ascendente)
F-F Tipo D edge-trigger (transição descendente)
D Q CLK Q
D Q CLK Q
Flip-Flop D edge-trigger (baseado em multiplex)
X = indeterminado (estado inicial) Q = assume o valor de D no momento da transição ascendente de CLK
Mux 2:1 Mux 2:1
![Page 130: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/130.jpg)
Registos
• O registo é um elemento que pode armazenar (registar) uma palavra constituída por n bits.
• É caracterizado por ter uma entrada de dados de n bits, uma saída de dados de n bits, e uma entrada de controlo que quando activada regista os n bits presentes na entrada de dados e exibe-os na saída, só voltando a alterar o valor registado quando se activar novamente a entrada de controlo.
E=1 Qn = Dn (estado transparente)
E=0 Qn = valores registados
CLK= 0 ou 1 Qn = valores anteriores registados
CLK= Qn = Dn novos valores registados
baseado em F-F latch baseado em F-F edge-trigger
![Page 131: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/131.jpg)
Registos: exemplo no LogiSim
![Page 132: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/132.jpg)
Aula 12
Circuitos sequenciais (cont.)
![Page 133: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/133.jpg)
Flip-Flop T (Toggle)
FF T : muda de estado a cada impulso ascendente do clock
D Q CLK Q
0 1
D Q CLK Q
1 0
D Q CLK Q
0 1
...
![Page 134: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/134.jpg)
Contadores
Contadores
• as saídas representam num certo código(ex.binário) o nº de impulsos aplicados na entrada
• “estados” são os valores que podem ser apresentados nas saídas
• “capacidade” é o maior valor que as saídas podem representar nesse código
• “módulo” é o número de estados que podem obter-se (igual à capacidade mais um)
exs: módulo = 4 → capacidade = 3 → estados = 0 , 1 , 2 , 3
módulo = 16 → capacidade = 15(F) → estados = 0 , 1 , 2 , ... , A , B , ... , F • quando a contagem atinge a capacidade(valor máximo possível) , começa um novo ciclo
exs: módulo = 4 → capacidade = 3 → estados = 0 , 1 , 2 , 3 , 0 , 1 , 2 ...
módulo = 16 → capacidade = 15(F) → estados = 0 , 1 , 2 , ... , A , B , ... , F , 0 , 1 , 2 ...
• a contagem pode ser ascendente(crescente, UP) ou descendente(decrescente, DOWN)
• [podem ser assíncronos ou síncronos (iremos ver apenas os assíncronos)]
![Page 135: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/135.jpg)
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
0 0
1 1
Contadores
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
1 0
0 1
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
1 1
0 0
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
0 1
1 0
[estado = Q1 Q0] estado 00 estado 01
estado 11 estado 10
CLK estado Q1 Q0
↑ 0 0 0
↑ 1 0 1
↑ 2 1 0
↑ 3 1 1
↑ 0 0 0
![Page 136: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/136.jpg)
Exemplo: contador binário assíncrono crescente (UP counter) de módulo 4 (capacidade=3)
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
Contadores
![Page 137: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/137.jpg)
Exemplo: contador binário assíncrono decrescente (DOWN counter) de módulo 4 (capacidade = 3)
D Q CLK Q
D Q CLK Q CLK
Q0 Q1
Contadores
3 1 1 2 1 0 1 0 1 0 0 0 3 1 1
![Page 138: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/138.jpg)
Contadores reais
• A maioria dos contadores reais dispõem de uma entrada de Reset (ou Clear) que permite parar a contagem e levar o contador ao estado 0;
• Podem também existir entradas (ou combinações de entradas) que permitem: • definir o sentido da contagem crescente ou decrescente (UP / DOWN); • definir o valor inicial da contagem (Preset); • permitir/bloquear a contagem (Enable);
Exemplo: MC14516B - Binary Up/Down Counter
saíd
as
RESET = 1 → estado 0 (Q3=Q2=Q1=Q0=0) UP/DOWN: 1=UP 0=DOWN CLOCK: sinal de clock [↑]
![Page 139: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/139.jpg)
Contadores : exemplo no LogiSim
Load Count Ação
0 ou z 0 Contador não conta (parado, STOP)
0 ou z 1 ou z Contagem UP
1 0 Contador carregará valor encontrado na entrada D.
1 1 ou z Contagem DOWN
Z = sem qualquer ligação (nem 0 nem 1)
![Page 140: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/140.jpg)
Contador módulo N
módulo N → capacidade = N -1 → o contador deverá contar de 0 , 1 , 2 , ... , N-1 , 0 , 1 , 2 ...
• ex: A) módulo 16 → capacidade = 15 → contagem: 0 , 1 , 2 , ... , 15(F) , 0 , 1 , 2 ...
• B) módulo 6 → capacidade = 5 → contagem: 0 , 1 , 2 , 3 , 4 , 5 , 0 , 1 , 2 ...
Q3 Q2 Q1 Q0
CLK CLR 0 MCLK
0 0 0 0 0 0 0 1 0 0 1 0 ... ... ... ... 1 1 1 1
(A – módulo 16)
4 bit
Enquanto o estado do contador for menor que limite, CLR=0 → contador em contagem crescente Logo que o estado do contador ultrapasse limite, CLR=1 → contador volta a zero, recomeçando a contagem
Q3 Q2 Q1 Q0
CLK CLR MCLK
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 estado
momentâneo
0 1 0 1
A B
A>B A=B A<B
limite
(B – módulo 6)
4 bit
comparador
![Page 141: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/141.jpg)
Contador módulo N=6 Realização no LogiSim
![Page 142: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/142.jpg)
[ contador módulo N – exemplo ]
Solução possível para módulo 6 → capacidade = 5 → contagem: 0 , 1 , 2 , 3 , 4 , 5 , 0 , 1 , 2 ...
Enquanto o estado do contador for menor que 5 os bits Q2 e Q1 nunca são simultaneamente 1 (*) CLR=0 → contador em contagem crescente Quando o estado do contador atinge 6, os bits Q2 e Q1 tornam-se simultaneamente 1 CLR=1 → contador volta a zero, recomeçando a contagem (*) embora isso possa acontecer em determinadas circunstâncias
Q3 Q2 Q1 Q0
CLK CLR MCLK
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 estado
momentâneo
![Page 143: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/143.jpg)
Aula 13
Registos de Deslocamento
![Page 144: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/144.jpg)
Sinal de Relógio
Sinal de relógio (clock) : controla as mudanças de estado dos F-F
T = período(clock cycle) [s] : tempo que decorre entre dois acontecimentos iguais
F = frequência(clock rate) [Hz] : nº de repetições de períodos por unidade de tempo
F = 1 / T (frequência é o inverso do período) , T = 1 / F (período é o inversa da frequência)
Duty Cycle = ton/(ton+toff) = ton/T * 100 [%] (razão de trabalho) → se ton= toff , DC=50%
(ex: rede eléctrica doméstica → F=50Hz, T=20ms)
Unidade de Frequência : Hz (Hertz)
impulso real
1
0
T
flanco ascencente flanco descendente tempo[s] (rising edge) (falling edge)
ton toff
![Page 145: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/145.jpg)
Registo de Deslocamento
São constituídos por um conjunto de células de memória (F-F), interligadas de modo que os valores das saídas sofrem um deslocamento(shift) por cada impulso de entrada (clock);
Ex: registo de deslocamento à direita (shift right) de 3 bits (Logisim)
![Page 146: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/146.jpg)
Registo de Deslocamento
Para além da função de deslocamento, os registos de deslocamento existentes apresentam várias funções adicionais, nomeadamente: - carregamento em paralelo : para conversão de dados série-paralelo e paralelo-série - deslocamento nas duas direcções (“bi-directional shift registers”); - inibição da operação de deslocamento (enable); - “clear” (reposição a zero)
Ex: registo de deslocamento à direita (shift right) de 3 bits com carregamento paralelo , Clear e Enable
![Page 147: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/147.jpg)
Registo de Deslocamento
Ex: registo de deslocamento bi-directional de 3 bits com carregamento paralelo
![Page 148: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/148.jpg)
Utilizações • Conversor paralelo-série e série-paralelo • Transmissão de dados em modo série (um bit de cada vez, através de um canal único)
Registo de Deslocamento
![Page 149: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/149.jpg)
Registo de Deslocamento
Contadores em anel Ex. Contador em Código de Johnson (Johnson-Mobius) N FlipFlop → 2*N estados N=3 → 6 estados
CLK A B C
↑ 0 0 0
↑ 1 0 0
↑ 1 1 0
↑ 1 1 1
↑ 0 1 1
↑ 0 0 1
![Page 150: ARQUITETURA DE COMPUTADORES I - UBIparaujo/Cadeiras/ArquitecturaComputadores/...ARQUITETURA DE COMPUTADORES I 2019-2020 Engenharia Informática(11537) Aquisição de conhecimentos](https://reader035.vdocuments.mx/reader035/viewer/2022062223/5fc849b3568de704085d7c04/html5/thumbnails/150.jpg)
Decimal Hexadecimal Binário Gray Johnson
0 0 0000 0000 0000
1 1 0001 0001 0001
2 2 0010 0011 0011
3 3 0011 0010 0111
4 4 0100 0110 1111
5 5 0101 0111 1110
6 6 0110 0101 1100
7 7 0111 0100 1000
8 8 1000 1100
9 9 1001 1101
10 A 1010 1111
11 B 1011 1110
12 C 1100 1010
13 D 1101 1011
14 E 1110 1001
15 F 1111 1000
Códigos Binário, Gray : N bit → 2N configurações Johnson : N bit → 2N configurações