
Como prometido na última vez, estamos iniciando uma análise detalhada da Unidade Aritmética e Lógica (ALU).
O conteúdo geral do ciclo “UDB. O que é isso? "
Parte 1. Introdução. Pld.Parte 2. Datapath.Parte 3. Datapath FIFO.Parte 4. Datapath ALU. (Artigo atual)
Parte 5. Caminho de Dados. Pequenas coisas úteis.Parte 6. Módulo de gerenciamento e status.Parte 7. Módulo de controle de tempo e redefiniçãoParte 8. Endereçando UDB21.3.2.4 ALU do Datapath
O núcleo da ALU consiste em três funções programáveis independentes de 8 bits: um bloco aritmético / lógico, um bloco de registro de deslocamento e um bloco de sobreposição de máscara.
Operações aritméticas e lógicas
As funções da ALU selecionadas dinamicamente usando a RAM de configuração são mostradas na tabela abaixo.
Tabela 21-8. Funções da ALU
Realizar
A entrada é usada em operações aritméticas. Conforme mostrado na tabela 21-9, existem valores de transporte padrão para determinadas funções.
Tabela 21-9. Funções Carry In.
Além dessas aplicações aritméticas regulares, há mais três opções para usar a hifenização. Os bits CI SELA e CI SELB definem as regras para o uso da entrada de entrada para cada medida. Configuração dinâmica A RAM seleciona a configuração A ou B a cada ciclo. Os parâmetros são mostrados na tabela 21-10.
Tabela 21-10. Recursos adicionais
Se o carry forward for usado, ele será usado em várias funções, como mostrado na tabela 21-11. Observe que, para as funções de decremento e subtração da unidade, o nível de transferência ativo é baixo (inverso).
Tabela 21-11. Rastreado Carry In Features.
Realizar
Realizar - saída opcional do Datapath, formada com base em um bit alto especificado estaticamente. O valor pode ser passado na cadeia para a entrada de transferência para um bloco mais antigo. Observe que, no caso de funções de decremento e subtração, a execução é invertida.
Tabela 21-12. Recursos Realizar.
Estrutura de transferência
Os parâmetros
carregam dentro e para escolher o bit mais significativo, para gerar
executar são mostrados na Figura 21-15. Os valores de
execução com trava podem ser usados como
transferência para operações aritméticas subsequentes. Esse recurso pode ser usado para implementar funções de maior capacidade usando ciclos.
Figura 21-15. Operação de transferência.Operação de turno
A operação de mudança ocorre independentemente da operação da ULA, conforme a tabela 21-13.
Tabela 21-13. Funções da operação de mudança.
O valor de saída da operação de turno é emitido com o Datapath. As saídas para mudar para a direita (
sor ) e para a esquerda (
sol_msb ) são
configuradas com os mesmos bits. O bit de configuração estática (SHIFT SEL no registro CFG15) determina qual saída de deslocamento é usada como saída do Datapath. Na ausência de um deslocamento, os sinais
sor e
sol_msb são definidos como LSB e MSB da função ALU, respectivamente.
Os bits de configuração SI SELA e SI SELB determinam o deslocamento de dados para a operação especificada. Configuração dinâmica A RAM seleciona a configuração A ou B para cada ciclo de clock. Os dados enviados por push são usados apenas ao deslocar para a esquerda e direita, essa entrada não é usada para pular e reorganizar petiscos. Os valores selecionados e os casos de uso estão relacionados a um deslocamento à direita e um deslocamento à esquerda e são mostrados na Tabela 21-14.
Tabela 21-14. Mudança de funções
A saída ao deslocar para a esquerda é obtida do bit especificado como alto. Quando deslocados para a direita, os dados de entrada são enviados da posição sênior selecionada (MSB). A saída, mesmo ao deslocar para a esquerda, mesmo ao deslocar para a direita, é travada e pode ser usada no próximo compasso. Esse recurso pode ser usado para implementar uma mudança de maior capacidade em vários ciclos.
Figura 21-16. Operação de turno.Vale ressaltar que os bits isolados ao escolher o MSB ainda são alterados. No exemplo mostrado, o bit 7 ainda é deslocado para sil quando deslocado para a direita e o bit 5 é deslocado para o bit 4 quando deslocado para a esquerda. O bit de saída (direito ou esquerdo) de um grupo isolado será perdido.
Operação de sobreposição de máscara da ALU
O registro de máscara de 8 bits no espaço estático dos registros de configuração do UDB define a operação de mascaramento. Nesta operação, uma máscara (operação AND) com o valor desse registro é sobreposta na saída da ALU. Um uso típico da operação de mascaramento da ALU é a implementação de temporizadores e contadores autônomos com uma resolução que é um múltiplo da potência de dois.
21.3.2.5 Entradas do Datapath e Multiplexação
Conforme mostrado na Tabela 21-15, cada Datapath possui 9 entradas, incluindo 6 entradas do rastreamento de canal. Isso inclui os endereços de configuração da RAM, FIFO, sinais de controle para carregar registros de dados, além de mudar e transferir entradas de dados.
Tabela 24-15. Entradas do Datapath
Como mostra a Figura 21-17, cada entrada possui um multiplexador 6 em 1, portanto, todas as entradas são intercambiáveis. As entradas são processadas de duas maneiras: por nível ou por diferencial. O endereço na RAM da configuração dinâmica, bem como os valores de deslocamento e dados, são sensíveis ao nível. Os sinais de dados FIFO e de registro de carga são sensíveis a diferenças.
Figura 21-17. Sinais de entrada do datapath.No próximo artigo, passaremos para uma revisão de pequenas coisas úteis.