Реклама:

Таненбаум Э.- Архитектура компьютера. стр.189

В регистр Н может поступать функция АЛУ, которая проходит через правый вход (из шины В) к выходу АЛУ. Одна из таких функций — сложение входных сигналов АЛУ, только при этом сигнал ENA отрицателен, и левый вход получает значение 0. Если к значению шины В прибавить 0, это значение не изменится. Затем результат проходит через схему сдвига (также без изменений) и сохраняется в регистре Н.

Существует еще две линии управления, которые используются независимо от остальных. Они служат для управления выходом АЛУ. Линия SLL8 (Shift Left Logical — логический сдвиг влево) сдвигает число влево на 1 байт, заполняя 8 самых младших двоичных разрядов нулями. Линия SRA1 (Shift Right Arithmetic — арифметический сдвиг вправо) сдвигает число вправо на 1 бит, оставляя самый старший двоичный разряд без изменений.

Можно считать и записать один и тот же регистр за один цикл. Для этого, например, нужно поместить значение SP на шину В, закрыть левый вход АЛУ, установить сигнал INC и сохранить полученный результат в регистре SP, увеличив таким образом его значение на 1 (см. строку 8 в табл. 4.1). Если один и тот же регистр может считываться и записываться за один цикл, то как при этом предотвратить появление ненужных данных? Дело в том, что процессы чтения и записи происходят в разных частях цикла. Когда в качестве правого входа АЛУ выбирается один из регистров, его значение помещается на шину В в начале цикла и хранится там на протяжении всего цикла. Затем АЛУ выполняет свою работу, результат которой через схему сдвига поступает на шину С. Незадолго до конца цикла, когда значения выходных сигналов АЛУ и схемы сдвига стабилизируются, содержание шины С передается в один или несколько регистров. Одним из этих регистров вполне может быть тот, с которого поступил сигнал на шину В. Точная синхронизация тракта данных делает возможным считывание и запись одного и того же регистра за один цикл. Об этом речь пойдет далее.

Синхронизация тракта данных

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


⇐ Предыдущая страница| |Следующая страница ⇒