Регистры с параллельной записью называются, также регистрами памяти. В них могут использоваться, как прозрачные "защелки", так и триггеры с динамическим управлением.
На рис.1 приведена схема 8-ми разрядного регистра памяти с общим входом управления записью информацией и ее условное обозначение. Высокий уровень на входе C переписывает информацию с входа на выход (Qi=Di), а низкий уровень - защелкивает данные.
Последовательные регистры или, как их еще называют, регистры сдвига (рис. 2) выполняются на основе триггеров с динамическим синхровходом, ( справедливо для регистров с одним тактирующим сигналом). В двухтактных можно использовать и прозрачные регистры - "защелки". Функция записи в n-разрядном регистре сдвига на D-триггерах задается в виде условий: D0=DS=x, Di=Q(i-1), где i=1,2,...,n-1. DS - вход для последовательной записи.
С приходом очередного положительного фронта синхроимпульса C , сигнал с входа i-го триггера через время tзд.р. окажется на его выходе и поступит на вход следующего (i+1)-го триггера. Однако на его выход эта информация не перепишется, т.к. длительность активного фронта t0,1 меньше tзд.р. На этом процесс сдвига данных на один разряд закончится до прихода следующего положительного фронта тактового сигнала. Отсюда понятно, почему нельзя использовать триггеры со статическим управлением. Каждый раз при C = 1 вся цепочка окажется прозрачной от входа DS до выхода Q7 и значение DS = x будет записано во все триггеры.
В обозначениях регистров сдвига направление стрелки, указывающей сдвиг, условно. В разных справочниках, ее направление различно. Условно принимается, что сдвиг производится от младшего разряда к старшему. Практические схемы регистров дополняются схемами, подключаемыми к каждому триггеру и имеющими вход параллельной записи Di, общий вход разрешения записи L и общий асинхронный вход сброса ~R всех триггеров. Эти схемы подключаются к незадействованным входам ~Ri, ~Si триггеров. Данному описанию соответствует таблица истинности 1.
Di и X - могут принимать любые значения, но Di в пределах одной строки, неизменно. Минимизируя логические функции ~Ri и ~Si с помощью таблиц Карно получим: ~Si = ~(L*Di*~R) и ~Ri = ~R*(~L + Di). Этой паре уравнений соответствует схема, показанная на рис.3, где приведено также условное обозначение регистра сдвига выполненного по такой схеме.
Вход ~R обладает наивысшим приоритетом, если ~R=0, то ~Ri=0, а ~Si=1 и все триггеры обнуляются, независимо от сигналов L,Di и C. Меньшим приоритетом обладют входы L и Di. Если ~R = 1, то при L = 1, производится параллельная запись информации и Qi = Di независимо от сигнала C. И, наконец, если на входах ~R и L пассивные уровни, то ~Ri = ~Si = 1, тоже пассивный уровень и регистр хранит информацию, либо производит ее сдвиг.
Одно из применений регистров сдвига с параллельной загрузкой кода заключается в преобразовании параллельного формата данных в последовательный, передаче этих данных по однопроводной линии связи (вторая линия должна быть, как минимум "землей" или экраном) и обратном преобразовании последовательной информации в параллельную (рис.4).
Такая схема применяется в коммуникационных портах ЭВМ (COM-порты), в микросхеме К580ИК51, а также в модемах.