CALCULADORA SIMPLES COM ULA

Documentos relacionados
EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

Unidade Lógica e Aritmética

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

Somadores Binários E.T.M./2005 (revisão)

Montagem, testes, depuração e documentação de circuitos digitais

CALCULADORA SIMPLES COM ULA

Unidade Lógica e Aritmética

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

CONTROLE DE UM SERVO MOTOR

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Calculadora Simples em VHDL

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Painel Luminoso com LEDs

Painel Luminoso com LEDs

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

Caracterização de Portas Lógicas

Processador nanopcs-3

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica PROGRAMA EMENTA OBJETIVOS

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Processador nanopcs-4

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

Projeto com Linguagens de Descrição de Hardware

Relatório de Prática no LABORATORIO

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Departamento de Engenharia Elétrica e de Computação SEL 405 Lab. de Introdução aos Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 6

Banco de Registradores

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Comunicação Serial Assíncrona

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

ARITMÉTICA BINÁRIA. Adão de Melo Neto

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Circuito de Recepção Serial Assíncrona

SSC0112 Organização de Computadores Digitais I

Interface com Sensor Ultrassônico de Distância

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Parte # 1 - Circuitos Combinatórios

Turma PCS2304. Objetivos. Site da disciplina. Professor Edson Midorikawa Edson T. Midorikawa 25/02/2008.

Verificador de Senhas

Multiplicador Binário com Sinal

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

Sistema de Aquisição de Dados

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

PCS3515 Sistemas Digitais. Blocos Básicos

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

Departamento de Engenharia Elétrica e de Computação SEL 384 Laboratório de Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 4:

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos

Introdução ao Laboratório Digital

Parte # 2 - Circuitos Combinatórios

Eletrônica Digital Lista de Exercícios

Processador nanopcs-1

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

3. Revisão de Eletrônica Digital

CONTROLE DE UM SERVO MOTOR

EPUSP PCS 2021 Laboratório Digital II. Sistema de Radar

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

3 Circuitos Combinacionais

Faculdade de Computação Curso de Sistemas de Informação Sistemas Digitais Lista 3 Prof. Dr. Daniel A. Furtado

Capítulo 6 Aritmética Digital: Operações e Circuitos

Arquitetura de Computadores I

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Operações com números binários

UM PROCESSADOR SIMPLES

EELi02 Circuitos Lógicos

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE ENGENHARIA ELÉTRICA PLANO DE ENSINO

Transcrição:

CALCULADORA SIMPLES COM ULA Versão 2013 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam operações aritméticas básicas. A parte experimental inclui o projeto de uma calculadora simples que executa as operações de soma e subtração, além de multiplicação e divisão por 2 para valores em complemento de dois, utilizando o circuito integrado 74181 (ULA de 4 bits). OBJETIVOS Após a conclusão desta experiência, os seguintes tópicos devem ser conhecidos pelos alunos: Operações binárias em complemento de 2; Circuitos aritméticos; Unidade lógica e aritmética. 1. PARTE TEÓRICA 1.1. Soma / Subtração Usando Complemento de Dois Sabe-se que numa operação aritmética em complemento de dois, não se corrige o resultado como no caso da notação em complemento de um. É necessário, porém, somar-se 1 ao complemento bit a bit do número: (Complemento de 2) = (Complemento de 1) + 1. Numa subtração, portanto, costuma-se forçar um vem-um na coluna de bits menos significativos dos operandos: Exemplos: 7-3 = 4 4-6 = -2 1 vem-um forçado 1 vem-um forçado 0 1 1 1 7 0 1 0 0 4 1 1 0 0-3 (complemento de 1) 1 0 0 1-6 (complemento de 1) 0 1 0 0 4 1 1 1 0-2 (complemento de 2) Numa soma de dois números de mesmo sinal (positivos ou negativos), a complementação não é necessária e, portanto, não há vem-um forçado. Exemplo: -2 + (-3) = -5 1 1 1 0-2 (complemento de 2) 1 1 0 1-3 (complemento de 2) 1 0 1 1-5 (complemento de 2) 1 Esta experiência foi baseada nas experiências Somadores binários e Calculadora Simples, desenvolvidas para o Laboratório Digital. Calculadora Simples com ULA (2013) 1

A figura 1.1 mostra um circuito de soma/subtração em complemento de 2 usando um somador binário. Figura 1.1 - Circuito de Soma / Subtração em Complemento de 2 com somador binário. 1.2. Multiplicação e Divisão As operações de multiplicação e divisão podem ser implementadas em um circuito digital através de um processo iterativo que envolve diversos passos computacionais (Midorikawa, 2004) (Tocci & Widmer, 2011). Por exemplo, a figura 1.2 abaixo ilustra um exemplo de multiplicação. 13 1101 multiplicando 11 1011 multiplicador 0000 valor inicial do produto parcial + 1101 soma multiplicando, bit do multiplicador é 1 1101 0110 1 desloca para a direita + 1101 soma multiplicando, bit do multiplicador é 1 1 0011 1 1001 11 desloca para a direita 0100 111 só desloca para a direita, bit do multiplicador é 0 + 1101 soma multiplicando, bit do multiplicador é 1 1 0001 111 1000 1111 desloca para a direita 143 10001111 produto Figura 1.2 Exemplo de Multiplicação Binária. Embora estas operações sejam complexas, certas situações podem levar a simplificações no circuito digital que as implementa. Uma destas situações é a da divisão por dois, onde, no caso de números positivos sem sinal, a operação pode ser implementada apenas por um deslocamento de bits de uma posição à direita. Exemplos: 6 / 2 = 3 5 / 2 = 2 0 1 1 0 =6 0 1 0 1 =5 desloca à direita de uma posição desloca à direita de uma posição 0 0 1 1 =3 0 0 1 0 =2 O mesmo pode ser aplicado para a multiplicação de números inteiros positivos por dois, onde esta operação pode facilmente ser implementada com um deslocamento de bits de uma posição à esquerda. Calculadora Simples com ULA (2013) 2

1.3. Unidade Lógica e Aritmética (ULA) A Unidade Lógica e Aritmética (ULA) é um circuito combinatório responsável pela execução de somas, subtrações e funções lógicas, em um sistema digital. Na figura 1.3 é mostrado um esquema simplificado de uma ULA. Figura 1.3 - Esquema Simplificado de uma ULA. A operação que deve ser executada com os dados (A e B) é determinada pelos sinais de controle (S) e o resultado é obtido na saída (F). A complexidade da ULA é proporcional à complexidade do sistema em que será utilizada; assim, sistemas simples permitem ULAs simples, e sistemas sofisticados exigem ULAs sofisticadas. Uma vez estabelecido o porte do sistema, existe também o compromisso entre velocidade e preço. Por exemplo, as calculadoras eletrônicas exigem ULAs que permitem operações complexas, porém com velocidade de operação baixa, reduzindo-se o custo; já os computadores de grande porte exigem velocidade de operação elevada, aumentando o custo da ULA. Atualmente têm-se várias alternativas de circuitos integrados que incluem uma ULA. Entre elas estão o 74181, 74381 e 74LS881. A seguir será apresentada uma descrição de uma ULA integrada, o circuito integrado 74181. 1.4. Circuito Integrado 74181 uma ULA de 4 bits O circuito integrado MSI 74181 é uma ULA de 4 bits que tem possibilidade de executar 16 operações aritméticas binárias e 16 operações lógicas. A figura 1.4 apresenta um diagrama simplificado deste circuito integrado. Figura 1.4 - Diagrama Simplificado da ULA 74181. Calculadora Simples com ULA (2013) 3

As tabelas I e II a seguir apresentam a descrição dos pinos e as operações da ULA. Tabela I - Descrição dos pinos da ULA 74181. Pinos Tipo Descrição A 0 a A 3 e B 0 a B 3 Entrada Dados C n Entrada Bit de "vem um" S 0 a S 3 Entrada Seleção da operação Modo de operação: M Entrada M=0 - para operações aritméticas M=1 - para operações lógicas F 0 a F 3 Saída Dados (resultado) C n+4 Saída Bit de "vai-um" G e T Saídas Utilizadas para expansão utilizando carry look-ahead A=B Saída Indica igualdade das duas entradas Tabela II - Sinais e Operações da ULA 74181. Seleção Funções Funções Aritméticas ( M = 0 ) Lógicas S 3 S 2 S 1 S 0 ( M = 1 ) C n = 1 (sem carry) C n = 0 (com carry) 0 0 0 0 F A F = A F = A + 1 0 0 0 1 F (A ORB) F = A OR B F = (A OR B) + 1 0 0 1 0 F A B F A ORB F A ORB + 1 0 0 1 1 F = 0 F = -1 (*) F = 0 0 1 0 0 F A.B F = A + A B F = A + A B + 1 0 1 0 1 F B F = (A OR B) + A B F = (A OR B) + A B + 1 0 1 1 0 F = A B F = A - B - 1 F = A - B 0 1 1 1 F A B F A B - 1 F A B 1 0 0 0 F A ORB F = A + A.B F = A + A.B + 1 1 0 0 1 F (A B) F = A + B F = A + B + 1 1 0 1 0 F = B F A ORB + A. B F A ORB + A. B + 1 1 0 1 1 F = A. B F = A. B - 1 F = A. B 1 1 0 0 F = 1 F = A + A F = A + A + 1 1 1 0 1 F A ORB F = (A OR B) + A F = (A OR B) + A + 1 1 1 1 0 F = A OR B F A ORB + A F A ORB + A + 1 1 1 1 1 F = A F = A - 1 F = A * (-1) 10 é representado por (1111) 2 em C2. As saídas G e T são os sinais "gerador de vai-um", correspondentes ao bit mais significativo e, utilizandose o circuito integrado 74182, look-ahead carry generator, permitem a expansão da largura da palavra a ser manipulada. Calculadora Simples com ULA (2013) 4

As operações de subtração são executadas em complemento de dois (C2). Por exemplo, (-1) é representado por (1111). As operações lógicas são executadas bit a bit. Por exemplo, se a operação AND é aplicada às entradas A = 1011 e B = 0110, resulta F = 0010. O resultado de uma operação de comparação é apresentado na saída A = B. Para tanto, deve-se executar a operação A - B - 1 com C n = 1; se as duas entradas são iguais, a saída A = B toma o valor 1. Esta saída tem a configuração open-colector para que seja possível implementar uma função wired-and dentre duas ou mais saídas deste tipo pertencentes a diferentes ULAs, quando se deseja expandir a largura da palavra a ser manipulada. A saída C n+4 representa o sinal de vai-um do último bit da palavra. Ela pode ser usada para propagar o vai-um para o próximo estágio quando não há preocupação com a velocidade do circuito. O sinal C n+4 também pode ser usado em conjunto com a saída A = B para indicar as condições A>B e A<B. OBSERVAÇÃO: Na realidade, em se tratando de um circuito combinatório, a ULA 74181 pode trabalhar com operandos representados em lógica positiva ou negativa. A Tabela II acima mostra o significado dos bits de seleção de operações quando se considera o uso de lógica positiva. Consulte o manual (datasheet) do componente para o caso do uso de lógica negativa. Calculadora Simples com ULA (2013) 5

2. PARTE EXPERIMENTAL 2.1. Especificação do Projeto Projetar o circuito da Calculadora Simples com ULA, onde a figura 2.1 ilustra os sinais de entrada e saída do circuito. D 3 D 2 D 1 D 0 I 2 I 1 I 0 Execute Calculadora Simples com ULA S 3 S 2 S 1 S 0 Figura 2.1 Circuito da Calculadora Simples com ULA. O circuito deve realizar uma função, determinada pela entrada I (3 bits), sobre o dado de entrada D de 4 bits e o conteúdo do registrador interno A de 4 bits. A tabela 2.1 apresenta as funções a serem implementadas. O resultado deve ser armazenado em A apenas no acionamento do sinal EXECUTE. O circuito da Calculadora Simples com ULA deve trabalhar com valores de 4 bits em notação de complemento de dois. Tabela 2.1 Tabela de funções da Calculadora Simples com ULA. Código I 2 I 1 I 0 Função 0 1 0 1 0 1 0 Soma (A A + D) 1 Subtração (A A D) 0 Multiplicação por 2 (A A 2) 1 Divisão por 2 (A A 2) 0 Carga de valor em A (A D) 1 Reset (A 0) 0 Reservado 1 Reservado Para o projeto do circuito devem ser usados componentes básicos como portas lógicas, decodificadores, multiplexadores, somadores binários, registradores, deslocadores e flip-flops. a) Dividir o projeto em módulos complementares. Documente isto usando um diagrama de blocos. b) O planejamento deve incluir uma descrição do funcionamento do circuito. Indique como cada operação é implementada. c) Execute simulações com os casos de testes desenvolvidos para cada módulo do projeto. As cartas de tempo devem apresentar os resultados esperados. Calculadora Simples com ULA (2013) 6

2.2. Montagem, Teste e Depuração do Circuito Nesta etapa, o grupo deve planejar os procedimentos de montagem modular, testes e depuração dos módulos do circuito da Calculadora Simples com ULA. d) A montagem deve ser realizada e testes iniciais devem ser planejados pelo grupo. O grupo deve propor um roteiro para a demonstração do correto funcionamento deste circuito. e) Documente o processo de montagem, teste e depuração do circuito. 2.3. Programas de Teste do Circuito Completo Agora o grupo deve desenvolver programas para realizar algumas computações abaixo. f) Executar a seguinte sequência de instruções: RESET CARREGA 6 em A Subtrai 1111 2 Divide por 2 Qual deve ser o resultado final em A após a execução desta sequência? g) Desenvolver um plano de execução para os seguintes cálculos: i. F = (A + B) - C ii. F = ((A * 2) B) + C iii. F = (A + B C) / 2 h) Elaborar uma tabela contendo todos os sinais que devem ser ativados para a execução de cada plano. i) Executar cada plano para pelo menos um conjunto de valores positivos e negativos. Perguntas: 1. Explique como a operação de multiplicação por 2 poderia ser implementado usando a ULA. 2. Mostre como outras operações (p.ex. operações lógicas) poderiam ser acrescentadas no circuito. 3. Como seria o projeto do circuito da Calculadora se ao invés de uma ULA, fosse usado um somador binário? 4. Na operação de multiplicação por 2 usando a operação de deslocamento para a esquerda, em que situação pode ocorrer estouro? Como isto pode ser detectado? 3. BIBLIOGRAFIA Fairchild Semiconductor. TTL Data Book. Mountain View, California, 1978. FREGNI, Edson e SARAIVA, Antonio M. Engenharia do Projeto Lógico Digital: Conceitos e Prática. Editora Edgard Blucher Ltda, 1995. MIDORIKAWA, E. T. Multiplicador binário. Apostila de Laboratório Digital, versão de 2004. PCS/EPUSP. Somadores binários. Apostila de Laboratório Digital, 2001. PCS/EPUSP. Calculadora simples. Apostila de Laboratório Digital, 2008. Texas Instruments. TTL Logic Data Book, 1994. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: principles and applications. 11th ed., Prentice-Hall, 2011. WAKERLY, John F. Digital Design Principles & Practices. 4 th edition, Prentice Hall, 2006. Calculadora Simples com ULA (2013) 7

4. MATERIAL DISPONÍVEL Circuitos Integrados TTL: 7400 portas NAND de 2 entradas 7402 portas NOR de 2 entradas 7404 portas inversoras 7408 portas AND de 2 entradas 7410 portas NAND de 3 entradas 7420 portas NAND de 4 entradas 7474 flip-flops tipo D 7486 portas XOR 74157 4 multiplexadores de 2 para 1 74175 registrador de 4 bits 74181 ULA de 4 bits 74193 contador síncrono up/down de 4 bits 74194 registrador deslocador bidirecional de 4 bits 74195 registrador deslocador de 4 bits 5. EQUIPAMENTOS NECESSÁRIOS 1 painel de montagens experimentais. 1 fonte de alimentação fixa, 5V ± 5%, 4A. 1 osciloscópio digital. 1 multímetro digital. Histórico de Revisões E.T.M./2003 revisão e adaptação. M.D.M. e E.T.M./2005 revisão. E.T.M./2008 revisão. E.T.M./2012 versão inicial com ULA. E.T.M./2013 revisão. Calculadora Simples com ULA (2013) 8