Arithmetic Logic Shift Unit (ALSU) é um membro da Arithmetic Logic Unit (ALU) em um sistema de computador. É um circuito digital que executa operações lógicas, aritméticas e de deslocamento. Em vez de ter registros individuais calculando as microoperações diretamente, o computador implanta uma série de registros de armazenamento que são conectados a uma unidade operacional comum conhecida como unidade lógica aritmética ou ALU. 

Agora, para implementar a microoperação, o conteúdo dos registros especificados é alocado nas entradas da Unidade Lógica Aritmética comum. A unidade lógica aritmética executa uma operação que leva como resultado e é transferida para um registrador de destino. A Unidade Lógica Aritmética pode ser um circuito combinatório para que a operação completa de transferência de registro dos registros de alimentação através da ALU e para o registro de destino seja realizada ao longo de uma quantidade de pulso de clock. Às vezes, as microoperações de deslocamento são realizadas em uma unidade separada, mas às vezes são feitas como parte de uma ALU completa. 

Uma etapa do ALSU

Podemos combinar e fazer uma ALU com variáveis ​​de seleção comuns adicionando circuitos aritméticos, lógicos e de deslocamento. Podemos ver o estágio Um de uma unidade de mudança lógica aritmética no diagrama abaixo. Algumas microoperações específicas são selecionadas por meio das entradas S1 e S0.

O multiplexador 4 x 1 na saída escolhe entre a saída aritmética associada entre Ei e uma saída lógica em Hi. Os dados no multiplexador são selecionados através das entradas S3 e S2 e as outras duas entradas de dados para o multiplexador obtêm as entradas Ai - 1 para a operação shl e Ai + 1 para a operação shl .

Nota: O carry de saída Ci + 1 de um estágio aritmético especificado deve ser anexado ao carry de entrada Ci do próximo estágio na sequência.

O circuito cujo um estágio é dado no diagrama abaixo fornece 8 operações aritméticas, 4 operações lógicas e 2 operações de deslocamento, e cada operação é selecionada pelas 5 variáveis ​​S3, S2, S1, S0 e Cin. 

A tabela abaixo mostra as 14 operações realizadas pela Unidade Lógica Aritmética:

  1. As primeiras 8 são operações aritméticas que são selecionadas por S3 S2 = 00
  2. As próximas 4 são operações lógicas que são selecionadas por S3 S2 = 01
  3. As duas últimas são operações de deslocamento que são selecionadas por S3 S2 = 10 e 11

Tabela de funções de ALSU