UNIDADE LÓGICA ARITMÉTICA (ULA) Princípios Básicos de Funcionamento
Modelo de Von Neumann Todo computador é formado por: Unidade de Central de Processamento (CPU) Periféricos de Entrada e Saída Memórias
Modelo de Von Neumann A CPU contém: Elementos de Armazenamento (Registradores) Unidade Lógica e Aritmética (ULA) Circuitos de Controle e Temporização.
Modelo de Von Neumann Componentes Básicos de um Computador
Modelo de Von Neumann
Nosso objeto de estudo será a UNIDADE LÓGICA E ARITMÉTICA
Unidade Lógica e Aritmética Podemos considerá-la como 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.
Unidade Lógica e Aritmética É a parte do computador onde são feitas as operações aritméticas e lógicas com os dados O tipo de operação a ser executado é determinado por sinais vindos da unidade de controle. Os dados a serem operados são lidos dos dispositivos de entrada para a memória e após obtidos os resultados enviados novamente para a memória e daí para os dispositivos de saída de dados.
Unidade Lógica e Aritmética 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 ULA passaram a ser implementados com a tecnologia de semi-condutores.
Unidade Lógica e Aritmética A ULA pode realizar diversas operações, entre elas: Adição Subtração Operações lógicas (E, OU, XOR, Inversão) Deslocamento (à esquerda e à direita) Comparação
Unidade Lógica e Aritmética Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando as quantidades são iguais. A ULA pode executar funções lógicas com letras e com números.
Unidade Lógica e Aritmética As ULA’s mais modernas realizam também as operações de multiplicação e divisão. As operações são realizadas pela leitura de dois registradores fontes do banco de registradores, e com a escrita do resultado no registrador de destino.
Unidade Lógica e Aritmética Podemos concluir então, que a ULA: Executa operações aritméticas comuns Toma decisões lógicas, resolvendo sintaxes lógicas em uma programação.
Unidade Lógica e Aritmética Uma ULA pode ser construída como uma cascata de vários estágios idênticos. Não existem regras de como projetar cada estágio da ULA. Em geral, a aplicação determina o circuito de cada estágio da ULA.
Unidade Lógica e Aritmética Na próxima figura é mostrado o diagrama em blocos da ULA, onde: /RACARGA – Habilita a transferência do conteúdo do barramento de dados para o Acumulador, quando houver uma transição positiva do /CLOCK. /RBCARGA - Habilita a transferência do conteúdo do barramento de dados para o Registrador Temporário, quando houver uma transiçãopositiva do /CLOCK.
Unidade Lógica e Aritmética MODOULA – Define o modo (aritmético = 1 ou lógico = 0) de operação de UL. S0, S1, S2, S3 – define a operação as ser realizada. /FLAG – Armazena o estado dos Flags no Registrador de Flags. /UM – Define o estado fo carry de entrada. /ULALER – Habilita a transferência do resultado para barramento de dados.
Unidade Lógica e Aritmética Existem diversos circuitos integrados disponíveis comercialmente que são classificados e vendidos como ULA, apesar de não apresentarem a capacidade lógica e aritmética de uma ULA.
Unidade Lógica e Aritmética Esses circuitos são capazes de realizar várias operações lógicas e aritméticas diferentes com dados binários de entrada. A operação específica é determinada pelo código binário específico que é aplicado nas entradas dos bits seletores de função. Cada circuito possui um conjunto específico de funções que pode executar, diferente das demais ULA’s.