Altifigence Academy

6 / 24 · Conceito

Planeje o uso de recursos compartilhados com uma FSM

Acumule quatro valores com um único somador, definindo as transições de estado e a captura.

O estado de controle expressa um cronograma de operações

Um recurso compartilhado exige que as operações sejam planejadas ao longo do tempo. Considere somar x0 a x3 com um único somador e um acumulador de dez bits. Capture os quatro operandos quando uma solicitação for aceita. Mudanças externas posteriores não devem alterar uma solicitação pendente. O controlador seleciona um operando, habilita a acumulação e decide quando o resultado se torna válido.

Use os estados IDLE, ADD0, ADD1, ADD2, ADD3 e DONE. A borda de aceitação em IDLE captura as entradas e zera acc. As quatro bordas seguintes somam um operando armazenado por vez. Imediatamente após a borda de ADD3, a soma final está armazenada e o estado torna-se DONE. DONE mantém o resultado até o consumidor aceitá-lo. Esta versão simples retorna a IDLE nessa borda e não aceita simultaneamente uma nova solicitação.

BordaEstado anteriorAçãoacc novo
0IDLECapturar 3,5,7,9 e zerar acc0
1ADD0Somar 33
2ADD1Somar 58
3ADD2Somar 715
4ADD3Somar 9, entrar em DONE24
5DONEO consumidor aceita o resultado24

Distinga a disponibilização após a borda 4 da transferência na borda 5. Pausas do consumidor podem prolongar DONE indefinidamente. Reutilizar recursos reduz o hardware aritmético, mas limita a taxa de processamento em comparação com um pipeline que aceita entradas a cada ciclo. Suportar a conclusão simultânea com uma nova solicitação exige uma prioridade explícita entre a entrega do resultado anterior e a inicialização da nova solicitação.

Acumulador de quatro valores
  1. IDLE: Aceitar e capturar os quatro valores
  2. ADD0..ADD3: Reutilizar um único somador em quatro bordas
  3. DONE: Manter o resultado até seu consumo

Derive os controles do estado: habilitação do acumulador nos estados ADD, seleção do operando correspondente ao estado e validade do resultado em DONE. Forneça valores padrão para as saídas combinacionais de controle. Defina a aceitação de modo que uma solicitação continuamente ativa não se repita por acidente. O reset retorna a IDLE e descarta o trabalho pendente. Uma implementação baseada em contador pode reduzir a codificação de estados, mas ainda precisa do mesmo cronograma borda a borda.

Experimente

Quais são os valores de acc após ADD0 até ADD3 para quatro entradas de 255? O que deve acontecer quando ready da saída vale zero na borda 5?

Ler a explicação

Os valores são 255, 510, 765 e 1020, todos cabendo em dez bits. Com ready=0, não ocorre entrega; mantenha DONE, acc=1020 e valid=1.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.