Projeto da Cálculadora Eletrônica



Documentos relacionados
Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Aritmética Binária e. Bernardo Nunes Gonçalves

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

CALCULADORA SIMPLES COM ULA

CAPÍTULO 6 ARITMÉTICA DIGITAL

Circuitos Digitais Cap. 5

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

ULA Sinais de Controle enviados pela UC

Organização e Arquitetura de Computadores I

Exemplo de Subtração Binária

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Aula 8 Circuitos Integrados

Figura 1 - Diagrama de um sistema de controle de temperatura que requer conversão analógico-digital para permitir o uso de técnicas de processamento

Operações aritméticas

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

5º Experimento: Somador Binário de números com sinal

Hardware de Computadores

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

EA773 - Experimento 5

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Codificação 1. Introdução. C 2 R r {! + codificação

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

3 Sistemas de Numeração:

Circuitos Combinacionais. Sistemas digitais

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

Experimento 03 Circuito Decodificador e Multiplex

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

3. Arquitetura Básica do Computador

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Sistemas de Numeração

Disciplina: : ELETRÔNICA DIGITAL

Funções de Posicionamento para Controle de Eixos

Guia de consulta rápida

Arquitetura de Computadores. Ivan Saraiva Silva

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke

Introdução à Engenharia de

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Circuitos Digitais. Conteúdo. Introdução. Códigos. Outros Códigos BCD de 4 Bits. Código BCD Circuitos Combinacionais.

Representação de Dados

Funções Lógicas e Portas Lógicas

Experimento 06 Unidade Aritmética

EA075 Conversão A/D e D/A

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Organização Básica do Computador

Circuitos Digitais Cap. 6

Aula 6 Aritmética Computacional

Lista de Exercícios Sistemas de Numeração

Organização e Arquitetura de Computadores I

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Ano letivo: 2012/2013. Sistemas de numeração. Pág.: 1/11. Escola profissional de Fafe SDAC. Trabalho elaborado por: Ana Isabel, nº905 TURMA 7.

Projeto de Máquinas de Estado

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Fabio Bento

ARQUITETURA DE COMPUTADORES

Princípios de funcionamento dos computadores

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

T-530. Características. Características técnicas TELE ALARME MICROPROCESSADO. Aplicação

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Aula 3 - Sistemas de Numeração

Dispositivos de Entrada e Saída

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Análise de Sugestão de Compra

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

2 Formalidades referentes ao trabalho

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER.

Instruções para a atividade

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

Capítulo 3 Processadores de Propósito Geral: Software

Sistemas de numeração

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Arquitetura de Rede de Computadores

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

Modelagemde Software Orientadaa Objetos com UML

Laboratório - Uso da calculadora do Windows com endereços de rede

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

A Estação da Evolução

Arquitetura de Computadores

Aula 04. Código BCD, Códigos Alfa-numéricos e Sistemas de Detecção de Erros

ARQUITETURA DE COMPUTADORES

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Transcrição:

UNIVESIDADE ESTADUAL DE FEIA DE SANTANA LOUIVAL OLIVEIA DA SILVA Projeto da Cálculadora Eletrônica Feira de Santana, 10 de unho de 2004

UNIVESIDADE ESTADUAL DE FEIA DE SANTANA LOUIVAL OLIVEIA DA SILVA Projeto da Calculadora digital elatório do Problema da Calculadora Digital apresentado para avaliação da Disciplina de Arquitetura e Organização de Computadores do 2º. semestre, do Curso de Engenharia de Computação, da Universidade Estadual de Feira de Santana sob orientação do Prof. Márcio. Feira de Santana, 10 de unho de 2004

Sumário Introdução...4 O Projeto... 5 Componentes Empregados... 6 Comparações Numéricas... 6 Comparações entre dois números qualquer... 6 Verificando se um número é zero... 6 Teclado... 7 Display...7 A Unidade Aritmética Lógica...7 Detecção de Overflow/Underflow... 7 Soma e Subtração...8 Multiplicação... 8 Divisão...8 Conclusão...9 eferências Bibliográficas... 10 Anexo I...11

Introdução As calculadoras digitais são uma constante no cotidiano do homem moderno, porém mesmo se propondo a atingir objetivos tão modestos e triviais uma calculadora digital emprega uma complexa gama de dispositivos e conexões quando observada a nivél de projeto de circuito digital. O presente trabalho visa explanar sobre o projeto de desenvolvimento de um dispositivo capaz de realizar as quatro operações matemáticas básicas, a partir de componentes eletrônicos simples. Algumas simplificações foram feitas para tornar o projeto menos complexo, como o não tratamento de números negativos, e a manipulações de números inteiros somente. A primeira parte do projeto procura dar uma visão ampla do projeto, passando depois a explicar de forma mais detalhada os componentes de cada módulo da calculadora e as considerações que foram feitas para se implementar cada um destes módulos, e suas conexões.

O Projeto Neste projeto de calculadora digital evidêncio-se três módulos principais, dois destes fazem a interface com o usuário, que são o teclado e o display digital, o terceiro e mais complexo é o responsavél pela execução das funções da calculadora. Como evidênciado no diagrama abaixo que destaca os principais módulos e seus subcomponentes. O ciclo de operação da calculadora para este projeto foi definido como segue abaixo sem nenhuma variação:

Estas instruções são digitadas no teclado do equipamento que é composto por dez teclas que representam cada digito no sistema decimal, acrescido de mais quatro botões que acionam as operações básicas implementadas neste projeto (Soma, Subtração, Multiplicação e Divisão), e por fim um botão Igual que indica ao sistema que a entrada de dados foi finalizada, para que este execute a operação informada e que imprima o resultado no Display de dois digitos presente no aparelho. Componentes Empregados 3-State É um componente elétrônico assume o valor lógico da entrada quando a porta inferior está com sinal 1, caso contrário a sua saída não corresponde a nenhum estado lógico válido, ficando assim no Terceiro estado U23C U79B XO É uma porta lógica que só assume o valor verdade quando um e somente uma das suas entradas é verdadeira, retornando falso em todas as outras possibilidades, ou seja quando os valores de suas entradas são iguais. NO Este tipo de porta lógica faz uma negação a uma porta O normal. U49 74LS199 PE K M CE D7 7 D6 6 D5 5 D4 4 D3 3 D2 2 D1 1 D0 0 egistradores Armazena os valores das entradas somente num transição de clock, mantendo este valor na saída até que outra transição de clock ocorra. Comparações Numéricas Para realizar certas operações fez-se nescessários em algumas operações a comparação entre dois números, para determinar se este é zero ou se tem os mesmos valores, os processos para realizar tais comparações são explicados abaixo: A0 A1 A2 A3 B0 B1 B2 B3 Comparações entre dois números qualquer - As comparação entre dois números binários foram feitas se utilizando de 4 portas U1A U1B XO de duas entradas e uma NO de duas entradas, em cada porta XO se introduzio os bits correspondentes em cada par de número a U2A ser comparado e as saídas dessas XO foram U1C U1D igual ligadas á entrada de uma NO que indicava quando todos os valores se correspondiam, ou sejam quando o valor de todas as XO davam Falso.

Verificando se um número é zero Certificar-se de que um determinado valor binário é zero é uma operação simples, basta ligar todas os bits deste número às entradas de uma porta NO, assim a saída indicará se todas as entradas estão em zero. Teclado As entradas do usuários são feitas através de um teclado numérico de 0 a 9 que é implementado utillizando-se um conjunto de portas O ligadas a uma matriz que determina os valores binários de cada número pressionado, este valor é então armazenado num conjunto de Flip-Flops antes de serem copiados para os egistradores A ou B de acordo com o número que está sendo digitado. S0 S1 U24C V14 5V SOMA SUB S2 S3 S4 MULT DIV ON S5 S6 igual S7 S8 V17 0V S9 V15 0V V16 0V V18 0V U25B U41A U42A U33A U34 U35A U38 U35B U40 U39 U32 U20B U27A S S K _ U27B U31A S U31B S Display O display da calculadora proposta configura certo grau de complexidade devido ao fato que este deve represntar valores inteiros no intervalo de 0 a 91 (inclusive), para simplificação do projeto valores negativos não foram considerados. O valor a ser exibido no display da calculadora sempre corresponde ao valor do registrador de resuldo da calculadora, assim para se exibir os valores temporários das entradas A e B desativa-se a entrada B e soma o valor de A assim se obtém a na saida, repete-se a mesma operação com a entrada B, desativando a A. uando o valor do registrador de resultado da calculadora e modificado então inicia-se uma contagem sequêncial em que a cada operação o valor do contador é comparado ao valor do registrador

de resultado, quando os valores se igualarem a contagem cessa, neste ponto dois outros contadores de década possui separados o valor das dezenas e o valor das unidades, esta separação se dá paralelamente à contagem do contador principal que a cada iteração aciona o contador de decadas que a cada dezena se reinicia acionando o contador de dezenas. Assim ao final do processo basta converter os valores do contador de decadas e do contador de unidades para um displays de 7-segmentos que representarão corretamente as dezenas e as unidades. U1A V4 10V +V V7 1 2 1 2 U1C BCD-99 A0 A1 A2 A3 A4 A5 A6 Ua Ub Uc Ud Ue Uf Ug EN CLK Da Db Dc Dd De Df Dg BCD-99 U49 74LS199 PE K M CE D7 7 D6 6 D5 5 D4 4 D3 3 D2 2 D1 1 D0 0 U1B U10B U69 V3 5V +V U6A U6B U6C U6D U7A U7B U7C U2A U2B U3A U3B U4A U4B U5A U10A U9A U8B U8A U5B U72 74LS247 A3 g A2 f A1 e A0 d c b a LT BI BO U13A U11A U9B U12A U12B U74 74LS247 A3 g A2 f A1 e A0 d c b a LT BI BO A Unidade Aritmética Lógica A unidade aritmética Lógica (UAL) é o circuito responsavél por efetuar as operações matemáticas definidas para a calculadora, neste projeto as funções definidas foram a soma, subtração, multiplicação e divisão. As duas primeiras são mais fáceis de implementar, pois se utilizam de algoritimo relativamente fácil e direto, enquanto as duas últimas nescessitam de um algoritimo mais elaborado, e portanto de maior complexidade.

A0 A1 A2 A3 A4 A5 U1 A6 EA ULA7Bits FUNC S0 S1 S2 S3 S4 S5 S6 COUT Todas as funções acima se baseiam na utilização de um conjunto se somadores completos, como demonstrador no Anexo I. Além do resultado da operação este Somador/Subtrator completo pode detectar a ocorrência do Overflow e Underflow, possuindo também circuitos lógicos para desabilitar cada porta individualmente, estas carácteristicas adicionais são utilizadas na implementação das operações de Multiplicação e da Divisão. B0 B1 B2 B3 B4 B5 B6 EB Detecção de Overflow/Underflow uando um número é tão grande que não pode ser representado no hardware envolvido diz-se que houve um Overflow, de forma análoga diz-se que houve um Underflow quando um número é tão pequeno que não pode ser representado no hadware envolvido. Neste problema somente o segundo evento é pertinente, pois ele ocorre quando subtraimos um número qualquer por outro maior que ele, assim utiliza-se este evento para determinar o fim das subtrações sucessivas que compoem a divisão. O hardware de detecção de overflow é exibido ao lado é adicionado ao Carry Out do somador completo mais significativo, e o valor de sua saída indica a presença de Overflow/Underflow na operaçõa corrente. Soma e Subtração As operações de adição e feita utilizando-se quantro somadores completos, que utilizam como entradas os valores dos registradores A e B. As operações de subtração utilizam o mesmo circuito porém invertendo todas as entradas de B e acionando o Carrie- In do primeiro somador, para gerar o chamado complemento de dois do número B, que é o valor do número negativo correspondente a B, obténdo-se assim a função de subtração A e B, substituindo esta operação pela soma de a por menos B, o que é matemáticamente equivalente. O modelo de implementação deste somador pode ser observado no Anexo I. Multiplicação A multiplicação é a soma sucessiva de um número, sendo assim projetou-se a calculadora para aproveitar o hardware utilizado para soma nesta operação também. Ela se utiliza do registrador A e anula o B fazendo a soma sucessiva de A pelo resultado da soma anterior, até que B se torne igual ao valor do contador de iterações, obtendo-se assim a multiplicação de A por B. Há duas operações que devem ser especialmente tratadas, a primeira é a multiplicação por zero, que deve sempre resultar em zero, como a condição de parada se satisfaz com a igualdade entre B e o valor do contador de passos, deve-se evitar a

ocorrência da soma pois, mesmo com os valores iguais haverá ainda uma operação, para tal há um conjunto de portas lógicas que desativam as entradas A e B do somador quando o valor do contador for zero, assim a multiplicação quando B for zero sempre resultará em zero. Isto apaga qualquer valor previamente contido no registrador de resultado. 5V +V Contador de Iterações Comparação dos números Verifica se é zero Divisão A divisão é feita apartir de um contador de contador de 4 bits e um segundo contador de 2 bits que registra o estado da divisão. Esta operação é implementada a partir do seguinte algoritimo: 1. ESULTADO = A + ZEO; 2. C = ZEO; 3. ENUANTO (ESULTADO A > ZEO) FAÇA: ESULTADO = ESULTADO A; C = C + 1; 4. ESULTADO = C; 5. EXIBI ESULTADO; Estas operações são executadas no sistema através dos blocos de contadores logo abaixo do Somador e do Mux na saida do Somador utilizado para alternar entre o valor do Somador e o valor do contador da divisão.

U55B U54D U57A U61B V19 0V V11 5V +V U55A U55C U62A U55D U23B U23C U48B U66A U48A L2 L3 U43A Conta _ K o _ número K de Subtrações feitas K L4 U47A _ L5 U61A U57B V9 1 2 1 2 U53D U63D U65A U53A U54A U61C V8 5V +V U52B U52A Marca o Estado K Atual _ Define o Inicio/Fim da Divisão U58A S D _ U57D U28C U57C U65B U60A U63C U55E U55F

Conclusão Apesar deste projeto ser demasiadamento simplificado quando comparado ao de uma calculadora convencional, sua implementação se mostrou massante e penosa, especialmente no que diz respeito às implementação das operações de multiplicação e divisão, sua implementação também mostrou como os mais simples circuitos eletrônicos quando devidamente agrupados conseguem executar operações diversas. Este projeto peca por ter poucas otimizações, muitas das lógicas combinacionais são redundantes ou poderiam ser efetuadas de forma mais concisa. Talvez se pudesse reduzir de forma significativa o número de componentes empregados.

eferências Bibliográficas PATTESON, David A. e HENNESSY, ohn L., Organização e projeto de computadores a interface hardware/software, Segunda edição. io de aneiro, LTC, 2000. GASKI, Daniel D., Principles Of Digital Design, Prentice-Hall Inc., 1997 IDOETA, Ivan V., CAPUANO, Francisco F., Elementos de Eletrônica Digital. 6ª Edição. São Paulo: Érica, 1984. TOCCI,.. Sistemas Digitais: Princípios e Aplicações, LTC, 2000, 7 edição

Anexo I Somador e Subtrator completo de 5 bits: V3 5V Overflow U47D U47C B4 U44D U48A U18A A4 U16A U46D U46C U15A U44C S4 U47B U47A B3 U44B U45D U45C A3 U45B U46B U46A U45A U44A S3 U14A U19F B2 U13A U12A U43D A2 U43C U11A U10A U43B U42D S2 S1 U42C U43A U9A U8A U7A A1 U5A U24D U42B B1 U19E U19D U6E U6D U6A B0 U1D U4C U4D A0 Func S0 U2B U3B U3A U2A U1A