Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal Rural de Pernambuco Unidade Acadêmica de Serra Talhada Infra-Estrutura de Hardware Alunos: Gerson Rodrigues e Felipe Oliveira Unidade lógica e aritmética - ULA Breve definição: A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é um circuito digital que realiza operações lógicas e aritméticas. A ULA é uma peça fundamental da unidade central de processamento (CPU), e até dos mais simples microprocessadores. É na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido durante a II Guerra Mundial, e sua tecnologia já estava disponível quando os primeiros computadores modernos foram construídos. O matemático John von Neumann propôs o conceito de ULA em 1945, quando escreveu um relatório sobre os fundamentos para um novo computador chamado EDVAC. Pesquisas sobre ULAs ainda são uma parte importante da ciência da computação. A tecnologia utilizada foi inicialmente relés, herança da telefonia, e posteriormente válvulas, herança da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade aritmética e lógica passaram a ser implementados com a tecnologia de semi-condutores. Fonte: http://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica Visão Geral Para desenvolver o presente projeto, utilizamos uma ferramenta gráfica para projeto e simulação de circuitos lógicos, o Logisim. Unidade lógica aritmética feita a partir do Logisim. Componentes da ULA A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, complemento a 2 de B e determina se um número é maior, menor ou igual. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se um número é positivo, negativo ou se é zero. Para exibir os valores que serão inseridos na ULA para que ela faça as possíveis operações citadas acima, pode-se utilizar um Display de 7 segmentos. Este display foi feito pra que mostre números de 7 à -7 se a operação da ULA fugir desse intervalo o display não funcionara corretamente. Os resultados de maior, menor e igualdade também são mostrados no display, sendo que, se a operação for verdadeira mostrará -1 (menos um) no display, caso contrario, mostrará zero indicando que a operação é falsa. Display de 7 segmentos Para que o Display funcione mostrando os números perfeitamente, criamos uma tabela da verdade, onde ao inserirmos os valores em forma de binário pelos operadores X,Y,Z,W ele acende as ‘’luzes’’ formando o número desejado, sendo que o display mostra número no intervalo de 7 à -7. Tabela Verdade do Display de 7 segmentos da ULA de 7 a -7 Nº X Y Z W A B C D E F G Sinal 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 0 3 0 0 1 1 1 1 1 1 0 0 1 0 4 0 1 0 0 0 1 1 0 0 1 1 0 5 0 1 0 1 1 0 1 1 0 1 1 0 6 0 1 1 0 1 0 1 1 1 1 1 0 7 0 1 1 1 1 1 1 0 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 0 -7 1 0 0 1 1 1 1 0 0 0 0 1 -6 1 0 1 0 1 0 1 1 1 1 1 1 -5 1 0 1 1 1 0 1 1 0 1 1 1 -4 1 1 0 0 0 1 1 0 0 1 1 1 -3 1 1 0 1 1 1 1 1 0 0 1 1 -2 1 1 1 0 1 1 0 1 1 0 1 1 -1 1 1 1 1 0 1 1 0 0 0 0 1 Mapa de Karnaugh Transformando as expressões alcançadas no mapa de Karnaugh em circuitos lógicos Somador de 4 bits Para construir um somador que fizesse uma operação entre números possíveis formados com 4 bits, por exemplo 0001 que quer dizer 1, 1001 que quer dizer 9 e etc, sabendo que só é possível exibir no Display números entre o intervalo de -7 a 7, agrupamos quatro somadores completos interligados, onde o “vai um” de um somador se liga ao “vem um” do próximo somador. Somador completo Somador de 4 bits Subtrator 4 de bits Para o Subtrator, adicionamos nos bits de entrada das postas B um inversor, que logicamente faz o papel de inverter o bit de entrada e assim soma os bits do B mais um (complementa 2) e então soma com os bits das portas A. é assim que funciona o Subtrator. Inversor do bit de entrada B Localização do inversor Igualdade Para verificar se um número é igual a outro, é necessário utilizar o subtrator, onde ao analisarmos o resultado da subtração podemos identificar se um número é igual ou não ao outro, por lógica se a subtração de um numero por outro restar 0, então significa que os numero são iguais, caso a subtração dê qualquer outro valor, significa dizer que os números são diferentes, e para isso utilizamos um circuito lógico que verifica se a igualdade é verdadeira. Verificador de igualdade Posicionamento na ULA Maior que e Menor que Para verificar se um número é maior ou menor que outro, também se utiliza o Subtrator, onde se observa a seguinte lógica, ao subtrairmos dois números podemos analisar o valor do resultado (positivo ou negativo) da operação e determinar se um número é maior ou menor que o outro, por exemplo, ao subtrair 5 – 2 teremos como resultado o numero 3 positivo, então significa dizer que o primeiro numero (5) é maior que o segundo numero (2), no outro sentido uma subtração, 2 – 5, teremos como resultado -3 (3 negativo) o que significa dizer que o primeiro numero(2) é menor que o segundo numero(5) subtraído. Nos circuito lógico o maior que ou o menor que é identificado pelo primeiro bit, o bit de sinal. Verificador de sinal Posicionamento na ULA OBS: No Display, caso a operação seja verdadeira, aparecerá o valor de 1, caso contrário aparecerá 0. AND BIT A BIT Nesse circuito será realizada a operação lógica AND, de bit a bit, ou termo a termo, por exemplo, A0 e o B0 são colocados em uma porta AND onde será realizada a operação, e assim para o A1 e B1, A2 e B2, A3 e B3. Para comparar bit a bit, dois números formados por 4 bits, agrupasse quatro portas AND’s ligadas nos seus respectivos bits de entrada Porta AND bit a bit AND completo bit a bit Posicionamento na ULA XOR BIT A BIT Nesse circuito será realizada a operação lógica XOR, de bit a bit, ou termo a termo, por exemplo, A0 e o B0 são colocados em uma porta XOR onde será realizado a operação, e assim para o A1 e B1, A2 e B2, A3 e B3. Para comparar bit a bit, dois números formados por 4 bits, agrupasse quatro portas XOR’s ligadas nos seus respectivos bits de entrada Porta XOR bit a bit XOR completo bit a bit Posicionamento na ULA MULTPLEXADOR O multiplexador é um circuito combinacional dedicado com a finalidade de selecionar, através de variáveis de seleção, uma de suas entradas, conectando-a eletronicamente à uma única saída. Esta operação é denominada de multiplex ou multiplexação, que significa seleção e tanto as entradas como a saída são denominadas também de canais de entrada e saída. Visão do multiplexador implementado Tabela Verdade do Multiplexador Função S0 S1 S2 Saída A+B 0 0 0 E0 A-B 0 0 1 E1 Comp2 0 1 0 E2 A=B 0 1 1 E3 A>B 1 0 0 E4 A<B 1 0 1 E5 AandB 1 1 0 E6 AxorB 1 1 1 E7 Posicionamento na ULA Negar A Esse circuito serve para negar a porta de entrada A, fazendo com que ela fique sempre zero caso o seletor selecione a operação de complementar 2(010). O complementar 2 funciona da seguinte forma: primeiro a porta de entrada A tem que ser zero, por isso o circuito Negar A foi feito, em seguida A porta de entrada B é invertida e depois é somada mais 1(um) e assim o número é invertido para negativo. Negar Localização do Negar A Seletor AND & XOR Esse seletor serve como um mutiplexador que libera as saidas quando o seletor é selecionado para exibir a operção AND(110) ou XOR(111). Seletor AND & XOR Localização do seletor AND & XOR Seletor do Somadorde 4 bits Esse seletor seleciona a operação em que o somador é necessario para a solução da operação. Seletor do Somador de 4 bits
Compartilhar