CPU MAC

From PSXDEV
Jump to: navigation, search

Contents

Full adder

Full adder.jpg Full Adder
in1 = a
in2 = b
in3 = carry_in
out1 = carry_out
out2 = sum

Half adder

Half adder.jpg Half Adder
in1 = a
in2 = b
out1 = carry_out
out2 = sum

Carry adder

Этот элемент по функционалу похож на Full Adder, за исключением того, что его Carry In всегда равен 1.

Xnor or.jpg

out1 = XNOR (a,b) = sum
out2 = OR (a,b) = carry out


Weighted sum

270px 270px

Не до конца понятно назначение этих ячеек, но они обычно находятся на последних стадиях умножителей. Так что скорее всего они занимаются вычислением взвешенной суммы промежуточных результатов.

Поэтому кодовое обозначение их будет "взвешенные суммы" (weighted sum, WS).

Подробнее...

MUX Array

Эти ячейки находятся на начальных стадиях умножителей. Ячейка состоит из 4-х частей, каждая часть представляет собой 2 связанных мультиплексора.

Входной мультиплексор по сигналу C выбирает между двумя входами, а выходной мультиплексор по сигналу D выдает наружу либо предыдущее значение, либо текущее (то есть организует своеобразную цепочку сдвига на 1 разряд).

300px Подробнее..

Какой-то особой логики искать тут бессмысленно, равно как и искать аналогов в стандартных схемах умножителей.

Наряду с ячейками Weight sum это просто "ячейка-помощник", которая заменяет собой 8 мультиплексоров, для оптимизации места на кристалле.