Синхронизация тракта данных
Как происходит синхронизация этих действий, показано на рис. 4.2. Здесь в начале каждого цикла генерируется короткий импульс. Он может выдаваться задающим генератором, как показано на рис. 3.20, в. На спаде импульса устанавливаются биты, которые будут запускать все вентили. Этот процесс занимает определенный отрезок времени ?w. Затем выбирается регистр, и его значение передается на шину В. На это требуется время ?х. Далее АЛУ и схема сдвига начинают оперировать поступившими к ним данными. После промежутка ?у выходные сигналы АЛУ и схемы сдвига стабилизируются. В течение следующего отрезка, ?г, результаты проходят по шине С к регистрам, куда они загружаются на фронте следующего импульса. Загрузка должна запускаться фронтом сигнала и осуществляться мгновенно, так что даже в случае изменений каких-либо входных регистров изменения в шине С будут происходить только после полной загрузки регистров. На фронте импульса регистр, запускающий шину В, приостанавливает свою работу и ждет следующего цикла. На рисунке имеются еще регистры МРС и MIR, а также память. Их предназначение мы обсудим чуть позже.
Важно понимать, что хотя в тракте данных нет никаких запоминающих элементов, для прохождения сигнала по нему требуется определенное время. Изменение значения на шине В вызывает изменения на шине С не сразу, а только после паузы (это объясняется задержками на каждом шаге). Следовательно, даже если один из входных регистров изменяется, новое значение сохраняется в регистре задолго до того, как старое (и уже неправильное) значение этого регистра, помещенное на шину В, сможет достичь АЛУ.

Для такой системы требуется жесткая синхронизация и довольно длинный цикл; должно быть известно минимальное время прохождения сигнала через АЛУ; регистры должны загружаться с шины С очень быстро. Если подойти к этому вопросу с достаточным вниманием, можно сделать так, чтобы тракт данных функционировал правильно.
Цикл тракта данных можно разбить на подциклы. Начало подцикла 1 инициирует спад синхронизирующего сигнала. Далее показано, что происходит во время каждого из подциклов. В скобках приводится величина подцикла.
1. Устанавливаются сигналы управления (?w).
2. Значения регистров загружаются на шину В (?x).
3. Действуют АЛУ и схемы сдвига (?у).
4. Результаты проходят по шине С обратно к регистрам (?z).
На фронте следующего цикла результаты сохраняются в регистрах.
Никаких внешних сигналов, указывающих на начало и конец подцикла и сообщающих АЛУ, когда нужно начинать работу и передавать результаты на шину С, нет. В действительности АЛУ и схема сдвига работают постоянно. Однако их входные сигналы недействительны в течение периода ?w + ?х. Точно так же их выходные сигналы недействительны в течение периода ?w + ?х + ?у. Единственными внешними сигналами, управляющими трактом данных, являются спад синхронизирующего сигнала, с которого начинается цикл тракта данных, и фронт синхронизирующего сигнала, инициирующий загрузку регистров с шины С. Границы подциклов определяются только временем прохождения сигнала, поэтому разработчики тракта данных должны все очень четко рассчитать.

Ваш отзыв