Для того чтобы реализовать с помощью использованного ранее ОБ необходимо сформировать распределенные во времени управляющие сигналы обеспечивающие выполнение обработки данных.
Функциональная схема ОБ:
Есть ALU выход которого соединен со сдвиговым регистром. На входы ALU подадим выходы с регистрового файла А и В. Мы с вами говорили, что после того как будет выполнена та или иная арифметическая операция, которая задается некоторым сигналом, идущим из УБ, который задает выполняемую операцию, результат может быть подан на RGC и RGC можем выполнить попутно операцию сдвига. После этого идет шинный формирователь который образует шину С которая поступает опять на вход регистрового файла. Шинный формирователь позволяет отключать свои выходы от тех линий к которым они подключны. Мы здесь поставили шинный формирователь потому что к входу регистрового файла могут быть подключены другие источники данных( в данном случае источник данных связанный с выполнением операции пересылка данных из основной памяти). Поэтому мы должны уметь отключать выход нашего операционного устройства от этого входа чтобы на этот вход можно было подать другие данные, которые идут в том числе из ЗУД.
Для этого здесь стоит шинный формирователь который обеспечивает отключение в нужный момент выходы операционного устроиства от входа регистрового файла или в нужный момент времени он подключается, т.е. мы должны управлять состоянием выхода этого шинного формирователя. Сигнал мы этот назовем «выход».
Мы говорили что между ОБ и Уб есть связь связанная с передачей в ОБ сигналов или команд распределенных как-то во времени, а также ОБ должен сформировать признаки сигнала. Если бы этой связи не было то в соответствии с теоремой о структурном синтезе автоматов у нас автомат был бы частного вида. Поэтому связь должна быть. Значит, ОБ должен как-то управлять работой УБ. Современные процессоры формируют признаки результата или флаги: признак на равенство 0 результата, переполнение. Для сформирования этих признаклв мы должны добавить к этой схеме элементы: сигнал Cn-перенос из старшего разряда ALU, Cn-1-перенос в старший разряд ALU. Это у нас будет n разрядный результат. И для того чтобы сформировать сигнал переполнения используется схема которая дает флаг переполнения. RG используется для запоминания флагов.
Примечание: Условием переполнения при оперировании с числами в дополнительном коде явяется не равенство Cn-1 и Cn;
Следующий флаг, который формируеся – флаг нуля ZF, флаг переноса(CF) и можно еще флаг знака (SF);
Этот регистр должен страбироваться в нужный момент времени.
Понятнее сейчас становится вывод: для работы ОБ необходимы распределенные во времени управляющие сигналы. Если их не будет, то ОБ будет функционировать не так как надо.
Сначало надо подать операнды, потом подать код операции, после этого надо зафиксировать результат через какое-то время в сдвиговом регистре, возможно подать сигнал сдвига, если арифметико-логическая операция совмещается со сдвиговой операцией, после этого в нужный момент открыть выход шинного формирователя, чтобы записать результат в регистровый файл, самим регистровым файлом необходимо управлять в начале и в конце операции, изменяя операции выполняемые регистровым файлом необходимо использовать эти признаки результата при выполнении следующей команды.
Мы должны разработать устройство, которое сможет вырабатывать эти сигналы. Поэтому следующий вопрос – микропрограммы.
