11 / 20 · Conceito
Amplie para N×N e conte as bordas de conclusão
Parametrize o tamanho espacial N separadamente do comprimento de redução K.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Separe o tamanho espacial do comprimento de redução
Uma grade de PEs N×N produz um bloco de saída N×N. K é a dimensão de redução e não precisa ser igual a N. Com N=3 e K=5, A é 3×5, B é 5×3 e C é 3×3. Nove PEs consomem cinco termos cada, executando quarenta e cinco MACs. N determina as conexões e a defasagem; K determina a largura de acumulação, a contagem de termos e a duração da injeção.
Use a convenção estabelecida: clear termina antes de E0, as entradas estão estáveis antes de E_t, MAC e encaminhamento registrado ocorrem nessa borda e não há pipeline adicional do multiplicador. A(i,k) é injetado em k+i e percorre j saltos. B(k,j) é injetado em k+j e percorre i saltos. Ambos chegam a PE(i,j) em k+i+j.
O PE final conclui após E_(K+2N−3). Contar E0 inclusive produz K+2N−2 bordas com advance. Para N=K=2, o número da última borda é três e a contagem é quatro. Para N=3, K=5, o último número é oito e a contagem é nove.
Parametrize as ligações e os contadores
Na coluna zero, a entrada A de um PE vem da fronteira; nas demais, vem da saída A registrada do vizinho à esquerda. A regra de B é análoga para a fronteira superior e o vizinho acima. Conecte valid e as etiquetas job/k pelas mesmas ligações e compartilhe clear e advance por toda a grade.
Exija N≥1, K≥1 e AW≥2W. Um count que armazena de zero a K precisa de max(1,ceil(log2(K+1))) bits. Uma etiqueta k que armazena de zero a K−1 precisa de max(1,ceil(log2 K)) bits. Essas larguras diferem quando K é potência de dois; evite declarações de largura zero para K=1.
A última injeção na fronteira ocorre em E_(K+N−2), seguida de N−1 bordas de esvaziamento. As contagens de cálculo excluem inicialização, carregamento de memória e transferência de saída. Com P bordas de pausa, as bordas físicas decorridas tornam-se K+2N−2+P. Estágios adicionais de pipeline exigem uma nova análise de temporização.
Experimente
Para N=4, K=3, encontre a primeira e a última borda MAC de PE(2,1), a borda final da grade, a contagem de bordas de cálculo e a contagem de bordas físicas com duas pausas.
Ler a explicação
PE(2,1) consome k0 em E3 e k2 em E5. A grade termina após E8, exigindo nove bordas com advance, E0..E8. Duas pausas produzem onze bordas físicas, excluindo inicialização e transferência de saída.