logo

O que é ALU (Unidade Lógica Aritmética)?

No sistema de computador, ALU é o componente principal da unidade central de processamento, que significa unidade lógica aritmética e realiza operações aritméticas e lógicas. Também é conhecida como unidade inteira (IU) que é um circuito integrado dentro de uma CPU ou GPU, que é o último componente a realizar cálculos no processador. Ele tem a capacidade de realizar todos os processos relacionados a operações aritméticas e lógicas, como operações de adição, subtração e deslocamento, incluindo comparações booleanas (operações XOR, OR, AND e NOT). Além disso, os números binários podem realizar operações matemáticas e bit a bit. A unidade lógica aritmética é dividida em AU (unidade aritmética) e LU (unidade lógica). Os operandos e o código usados ​​pela ALU informam quais operações devem ser executadas de acordo com os dados de entrada. Quando a ALU conclui o processamento da entrada, a informação é enviada para a memória do computador.

O que é ALU

Exceto a realização de cálculos relacionados à adição e subtração, as ALUs lidam com a multiplicação de dois números inteiros, pois são projetadas para executar cálculos de números inteiros; portanto, seu resultado também é um número inteiro. No entanto, as operações de divisão normalmente não podem ser executadas pela ALU, pois as operações de divisão podem produzir um resultado em um número de ponto flutuante. Em vez disso, a unidade de ponto flutuante (FPU) geralmente cuida das operações de divisão; outros cálculos não inteiros também podem ser realizados pela FPU.

Além disso, os engenheiros podem projetar a ALU para realizar qualquer tipo de operação. No entanto, a ALU se torna mais cara à medida que as operações se tornam mais complexas porque a ALU destrói mais calor e ocupa mais espaço na CPU. Esta é a razão pela qual os engenheiros fabricam ALU poderosas, o que fornece a garantia de que a CPU também é rápida e poderosa.

Os cálculos necessários à CPU são realizados pela unidade lógica aritmética (ALU); a maioria das operações entre eles são de natureza lógica. Se a CPU for mais poderosa, ela será projetada com base na ALU. Então cria mais calor e consome mais potência ou energia. Portanto, deve haver moderação entre o quão complexa e poderosa a ALU é e não ser mais cara. Esta é a principal razão pela qual CPUs mais rápidas são mais caras; portanto, eles consomem muita energia e destroem mais calor. As operações aritméticas e lógicas são as principais operações executadas pela ALU; ele também executa operações de mudança de bits.

Embora a ALU seja um componente importante do processador, o design e a função da ALU podem ser diferentes nos diferentes processadores. Por exemplo, algumas ALUs são projetadas para realizar apenas cálculos inteiros e outras são para operações de ponto flutuante. Alguns processadores incluem uma única unidade lógica aritmética para realizar operações, e outros podem conter inúmeras ALUs para completar cálculos. As operações realizadas pela ALU são:

    Operações Lógicas:As operações lógicas consistem em NOR, NOT, AND, NAND, OR, XOR e muito mais.Operações de mudança de bits:É responsável pelo deslocamento nas localizações dos bits para a direita ou para a esquerda por um determinado número de casas que é conhecido como operação de multiplicação.Operaçoes aritimeticas:Embora execute multiplicação e divisão, isso se refere à adição e subtração de bits. Mas as operações de multiplicação e divisão são mais caras de realizar. No lugar da multiplicação, a adição pode ser usada como substituto e a subtração para a divisão.

Sinais da Unidade Lógica Aritmética (ALU)

Uma variedade de conexões elétricas de entrada e saída são contidas na ALU, o que levou à transmissão dos sinais digitais entre os componentes eletrônicos externos e a ALU.

A entrada da ALU recebe sinais dos circuitos externos e, em resposta, a eletrônica externa obtém sinais de saída da ALU.

Dados: Três barramentos paralelos são contidos pela ALU, que incluem dois operandos de entrada e saída. Esses três barramentos lidam com o número de sinais, que são iguais.

Código de operação: Quando a ALU vai realizar a operação, é descrito pelo código de seleção de operação que tipo de operação uma ALU vai realizar a operação aritmética ou lógica.

Status

    Saída:Os resultados das operações da ALU são fornecidos pelas saídas de status na forma de dados suplementares, pois são sinais múltiplos. Normalmente, sinais de status como overflow, zero, carry out, negativo e outros são contidos por ALUs gerais. Quando a ALU conclui cada operação, os registradores externos contêm os sinais de saída de status. Esses sinais são armazenados nos registradores externos que os tornam disponíveis para futuras operações da ALU.Entrada:Quando a ALU executa a operação uma vez, as entradas de status permitem que a ALU acesse informações adicionais para concluir a operação com sucesso. Além disso, o carry-out armazenado de uma operação anterior da ALU é conhecido como um único bit de 'carry-in'.
O que é ALU

Configurações da ALU

A descrição de como a ALU interage com o processador é fornecida abaixo. Cada unidade lógica aritmética inclui as seguintes configurações:

java e balanço
  • Arquitetura do conjunto de instruções
  • Acumulador
  • Pilha
  • Registre-se para se registrar
  • Registrar pilha
  • Registrar memória

Acumulador

O resultado intermediário de cada operação é contido pelo acumulador, o que significa que a Arquitetura do Conjunto de Instruções (ISA) não é mais complexa porque é necessário armazenar apenas um bit.

Geralmente, eles são muito rápidos e menos complexos, mas para tornar o Accumulator mais estável; os códigos adicionais precisam ser escritos para preenchê-lo com valores adequados. Infelizmente, com um único processador, é muito difícil encontrar acumuladores para executar paralelismo. Um exemplo de acumulador é a calculadora de mesa.

Pilha

Sempre que as operações mais recentes são executadas, elas são armazenadas na pilha que contém os programas em ordem de cima para baixo, que é um pequeno registro. Quando os novos programas são adicionados para execução, eles pressionam para colocar os programas antigos.

Arquitetura Registro-Registro

Inclui um local para 1 instrução de destino e 2 instruções de origem, também conhecida como máquina de operação de 3 registros. Esta Arquitetura de Conjunto de Instruções deve ser maior para armazenar três operandos, 1 destino e 2 fontes. Após o término das operações, seria difícil escrever os resultados de volta nos Registradores e também o comprimento da palavra deveria ser maior. No entanto, isso pode causar mais problemas de sincronização se a regra de write-back for seguida neste local.

O componente MIPS é um exemplo da arquitetura registro a registro. Para entrada, utiliza dois operandos, e para saída, utiliza um terceiro componente distinto. O espaço de armazenamento é difícil de manter, pois cada um precisa de uma memória distinta; portanto, deve ser premium em todos os momentos. Além disso, pode ser difícil realizar algumas operações.

Cadastro - Arquitetura Stack

Geralmente, a combinação de operações de Registro e Acumulador é conhecida como Arquitetura de Registro - Pilha. As operações que precisam ser executadas na arquitetura da pilha de registros são colocadas no topo da pilha. E seus resultados são mantidos no topo da pilha. Com a ajuda do método de polimento reverso, operações matemáticas mais complexas podem ser decompostas. Alguns programadores, para representar operandos, utilizam o conceito de árvore binária. Isso significa que a metodologia de polimento reverso pode ser fácil para esses programadores, enquanto pode ser difícil para outros programadores. Para realizar operações Push e Pop, é necessário criar novo hardware.

Registro e memória

Nesta arquitetura um operando vem do registrador e o outro vem da memória externa por ser uma das arquiteturas mais complicadas. A razão por trás disso é que cada programa pode ser muito longo, pois precisa ser mantido em espaço total de memória. Geralmente, esta tecnologia é integrada à tecnologia Register-Register Register e praticamente não pode ser usada separadamente.

Vantagens da ALU

ALU tem várias vantagens, que são as seguintes:

  • Suporta arquitetura paralela e aplicações com alto desempenho.
  • Ele tem a capacidade de obter a saída desejada simultaneamente e combinar variáveis ​​inteiras e de ponto flutuante.
  • Ele tem a capacidade de executar instruções em um conjunto muito grande e possui uma alta faixa de precisão.
  • Duas operações aritméticas no mesmo código, como adição e multiplicação ou adição e subtração, ou quaisquer dois operandos podem ser combinados pela ALU. Para o caso, A+B*C.
  • Ao longo de todo o programa, eles permanecem uniformes e são espaçados de forma que não podem interromper parte intermediária.
  • Em geral é muito rápido; portanto, fornece resultados rapidamente.
  • Não há problemas de sensibilidade nem desperdício de memória com ALU.
  • Eles são mais baratos e minimizam os requisitos da porta lógica.

Desvantagens da ALU

As desvantagens da ALU são discutidas abaixo:

  • Com a ALU, as variáveis ​​flutuantes têm mais atrasos e o controlador projetado não é fácil de entender.
  • Os bugs ocorreriam em nosso resultado se o espaço de memória fosse definido.
  • É difícil entender os amadores porque seu circuito é complexo; além disso, o conceito de pipeline é complexo de entender.
  • Uma desvantagem comprovada da ALU é que existem irregularidades nas latências.
  • Outro demérito é o arredondamento, que afeta a precisão.