Detector de MSB

O detector de MSB informa o indice do bit mais significativo em 1 no barramento de entrada, junto com um sinalizador de habilitacao que fica alto apenas se ao menos um bit estiver em 1. Varrendo do topo, localiza o primeiro um, a funcao classica de prioridade usada para normalizacao e estimativa de magnitude.

Básico

Primeiro um em 4 bits

Para a entrada 0110 o bit mais alto em 1 esta no indice 2, entao o detector entrega 2 e ativa a habilitacao. Quando a entrada e 0000 nao ha bit em 1, a habilitacao fica em baixo e o indice fica indefinido.

InputEnableIndex
00000-
000110
001011
010012
011012
100013
Intermediário

Varrer uma palavra mais larga

Em uma entrada de 8 bits o detector retorna a posicao do primeiro 1 visto do extremo mais significativo. Para 00101101 o primeiro um esta no indice 5. Equivale a contar zeros a esquerda menos um.

Varrer uma palavra mais larga
Avançado

Normalizacao em ponto flutuante

Normalizar um valor significa deslocar seu um mais significativo para uma posicao fixa. O indice do MSB fornece diretamente a quantidade de deslocamento, por isso unidades de contagem de zeros a esquerda alimentam normalizadores de ponto flutuante, arbitros de prioridade e estimadores de log2.

Normalizacao em ponto flutuante

Citações

  • Shannon, C. E. (1938). A symbolic analysis of relay and switching circuits. Referência 1
  • Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson.
  • Wakerly, J. F. (2018). Digital design: Principles and practices (5th ed.). Pearson.