Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 297

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Цикл выполнения команды начинается с выборки ее из ОЗУ и передачи в регистр РК. После чтения команды к счетчику команд СК. добавляется единица, чтобы под­ готовить выборку из ОЗУ очередной команды в следую­ щем цикле. Затем в адресном регистре АР формируется исполнительный адрес операнда, операнд выбирается из ОЗУ, поступает в регистр операнда РО и производится его сложение с содержимым аккумулятора АЛУ. Процесс выполнения команды может быть разбит на такты мик­ роопераций следующим образом:

1- й такт— передача из СК в АР; 2- й такт — чтение из ОЗУ в РК;

3- й такт— добавление единицы в СК; 4- й такт— сложение адресной части РК с содержи

мым ИР и передача результата в АР; 5- й такт — чтение из ОЗУ в РО;

6- й такт — сложение содержимого РО и АЛУ, конец операции и возврат к первому такту.

Каждому такту соответствует определенный функци­ ональный сигнал.

Известны два основных метода построения логики формирования функциональных сигналов. Один из них состоит в том, что для каждой команды процессора име­ ется набор логических схем, которые в нужных тактах возбуждают соответствующие функциональные сигналы. Такой принцип управления получил название «жесткой» или «запаянной» логики.

В современных процессорах при построении устройств управления часто используется другой подход, основан­ ный на использовании принципа микропрограммного уп­ равления. В таком устройстве управления схемы вклю­ чения функциональных сигналов управляются регистром, в который считывается управляющая информация из постоянного запоминающего устройства (ПЗУ). Считы­ вая последовательно слова из ПЗУ в этот регистр, мож­ но организовать требуемую последовательность функци­ ональных сигналов.

Рассмотрим организацию устройства управления под­ робнее. Типичная структурная схема устройства управ­ ления с «жесткой» логикой показана на рис. 5-21. В со­ став устройства управления входит регистр кода опера­ ции, который является частью регистра команды РК, счетчик тактов СТ, дешифратор кода операции, деши­ фратор тактов, логические схемы образования функцио­

362


нальных сигналов, формирователи функциональных сиг­ налов, блок синхроимпульсов. Выполняемая команда хранится в регистре РК. Дешифратор кода операции преобразует этот код в сигнал, появляющийся на соот­ ветствующей данной команде выходной шине дешифра­ тора. Блок синхроимпульсов после завершения очеред­ ного такта работы процессора добавляет к СТ единицу.

Р и с . 5 - 2 1 . С т р у к т у р н а я с х е м а у с т ­ р о й с т в а у п р а в л е н и я с ж е с т к о й л о ­ г и к о й .

Дешифратор тактов формирует в требуемой последо­ вательности и выдает на свои выходные шины сигналы, соответствующие текущему такту выполняемой процес­ сором команды.

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

Микропрограммный принцип организации управле­ ния заключается в том, что каждой микрооперации ста­ вится в соответствие слово (или часть слова), называе­ мое микрокомандой и хранимое в памяти подобно тому, как хранятся в памяти команды обычной вычислитель­ ной машины. При таком подходе команде соответствует

363

микропрограмма, т. е. набор микрокоманд, указываю­ щих, какие функциональные импульсы и в какой после­ довательности необходимо возбуждать для выполнения данной операции. Этот подход получил название микро­ программирования или «хранимой логики»-, второй тер­ мин подчеркивает то обстоятельство, что в микропро­ граммной машине логика управления реализуется не в виде смонтированной электронной схемы, а в виде зако­ дированной информации, содержащейся в запоминаю­ щем устройстве.

Идея микропрограммирования была высказана Уилк­ сом еще в 1951 г., однако до недавнего времени этот принцип управления не находил широкого применения в вычислительных машинах. Объясняется это несколькими причинами. С одной стороны, не существовали достаточ­ но надежные и дешевые быстродействующие ЗУ для хра­ нения микропрограмм, с другой стороны, неправильно понимались задачи микропрограммирования и те выго­ ды, которые оно может принести. Предполагалось, что главная ценность микропрограммирования состоит в том, что каждый потребитель может сконструировать се­ бе из микропрограмм тот набор команд, который наибо­ лее выгоден для его конкретной задачи. Переход от од­ ного набора команд к другому достигался бы путем простой замены информации в запоминающем устройстве без каких-либо физических переделок в аппаратуре. Од­ нако в этом случае для того, чтобы полностью использо­ вать предполагаемые преимущества микропрограммной машины, программист должен быть одновременно также и инженером-разработчиком аппаратуры, хорошо знаю­ щим различного рода тонкости работы вычислительной машины. Это противоречит основной тенденции развития вычислительной техники, состоящей в том, чтобы путем совершенствования средств математического обеспечения вычислительной машины, в частности путем использо­ вания методов автоматического программирования, ос­ вободить программиста от необходимости детально изу­ чать устройство машины и в максимальной степени при­ близить язык программирования к языку человека. По­ этому потребители считали микропрограммные машины трудными для программирования и предпочитали обыч­ ные вычислительные машины с фиксированным набором команд и хорошим математическим обеспечением.

Однако в последние годы интерес к микропрограм­

364


мному принципу управления возродился. Были созданы постоянные запоминающие устройства с циклом обра­ щения 0,5 мксек и даже 0,25 мксек. В настоящее время созданы постоянные запоминающие устройства на инте­ гральных схемах, обладающие еще большим быстродей­ ствием. Изменился подход к микропрограммированию, которое сейчас рассматривается не как средство повы­

шения гибкости программи­

 

 

 

рования, а как метод пост­

 

 

 

роения системы

управления

 

 

 

процессором,

удобный

для

 

 

 

инженера-разработчика

вы­

 

 

 

числительной

аппаратуры.

 

 

 

Программист,

работающий

 

 

 

на

современной

машине

с

 

 

 

микропрограммным

управ­

 

 

 

лением, может, вообще гово­

 

 

 

ря, не подозревать о ее мик­

 

 

 

ропрограммной

природе

и

 

 

 

использовать

все современ­

 

 

 

ные

средства

математичес­

 

 

 

кого

обеспечения,

включая

 

 

 

алгоритмические

языки

са­

 

 

 

мого высшего уровня. В то

Р и с .

5 - 2 2 . С т р у к т у р н а я

с х е ­

же

время

использование

м а

м и к р о п р о г р а м м н о г о

у с т ­

микропрограммного принци­

 

р о й с т в а у п р а в л е н и я .

 

па облегчает разработку ло­

 

 

 

гики процессора и предоставляет возможность ее легкой переделки в процессе разработки.

Типичная структурная схема микропрограммного уст­ ройства управления показана на рис. 5-22. В состав уст­ ройства управления входит регистр кода операции, по­ стоянное запоминающее устройство (ПЗУ), адресный регистр ПЗУ, регистр микрокоманды, дешифратор мик­ роопераций, формирователи функциональных сигналов

иблок синхроимпульсов.

Вкаждом такте работы процессора из ПЗУ в регистр микрокоманды поступает очередная микрокоманда, ко­ торая расшифровывается дешифратором микроопера­

ций и формирует в блоке формирования функциональных сигналов сигналы, необходимые для выполнения микро­ операции АЛУ, блока управляющих регистров и интер­ фейса процессора.

365


Блок синхроимпульсов синхронизирует работу ПЗУ и формирователей функциональных сигналов. Адрес очередной микрокоманды образуется в адресном регист­ ре ПЗУ. Совокупность микрокоманд, обеспечивающих выполнение команды, называется микропрограммой.

Запуск микропрограммы выполнения команды осу-

 

 

 

---------------------1

ю

RZ

А

К8

Р и с . 5 - 2 3 . С т р у к т у р а

м и к р о к о м а н д ы

п р о ц е с с о р а

с м а г и ­

с т р а л ь н ы м А Л У .

 

 

ществляется путем передачи содержимого регистра кода операции в адресный регистр ПЗУ. Таким образом, каж­ дая команда процессора инициирует выполнение отдель­ ной микропрограммы. В ходе выполнения команд они могут использовать общие участки микропрограмм, на­ зываемые микроподпрограммами. Адрес следующей мик­ рокоманды обычно определяется адресным полем регист­ ра микрокоманды.

Из сравнения структурных схем на рис. 5-21 и 5-22 видно, что ПЗУ с регистром микрокоманды, дешифрато­ ром микроопераций и адресным регистром ПЗУ в мик­ ропрограммном устройстве управления выполняет те же функции, что и счетчик тактов, дешифратор тактов, де­ шифратор команд и комбинационные схемы образова­ ния функциональных сигналов в устройстве управления с «жесткой» логикой.

Содержание тактов в ходе выполнения команды при микропрограммном управлении принципиально может быть таким же, как и при управлении с «жесткой» логи­ кой. Типичная структура микрокоманды в процессоре с магистральным АЛУ показана на рис. 5-23. Микроко­ манда содержит пять полей, которые выполняют следу­ ющие функции:

КМО — определяет код микрооперации;

R1 и R2 — определяют номера регистров, содержимое которых участвует в данной микрооперации; А — определяет адрес следующей микрокоманды;

КВ — код ветвления, который определяет установку младшего разряда адреса следующей микро­ команды в зависимости от результата выпол­ нения предыдущей микрокоманды.

366


Порядок выполнения микрокоманд соответствует по­ следовательности их записи в микропрограмме, кроме случаев ветвления в микропрограмме, когда следую щ ая, подлеж ащ ая выполнению микрокоманда определяется по результату выполнения данной или предыдущей мик­ рокоманды.

Примером может служить операция умножения, в которой одна из основных микроопераций может быть выражена следующим образом: «сложить множимое с частичным произведением, если очередной разряд мно­ жителя равен единице». В качестве другого примера мож­ но привести операцию нормализации, где необходимо сдвигать содержимое аккумулятора, если старший раз­ ряд мантиссы равен нулю. В процессорах с жесткой логикой условность микрооперации легко реализуется путем подачи на вход соответствующей схемы И сиг­ нала, соответствующего данному условию. В микро­ программных процессорах применение микрокоманд с условными кодами микрооперации хотя принципиально и возможно, но невыгодно, так как при неудовлетворе­ нии условия исполнение данной микрокоманды было бы пустой тратой времени. Поэтому микрокоманды имеют, как правило, безусловные коды микроопераций, однако последовательность микрокоманд в микропрограмме должна быть переменной или, как говорят, должна раз­ ветвляться в зависимости от выполнения определенных условий.

Порядок выполнения микрокоманд в микропрограм­ ме может быть организован так же, как выполнение по­ следовательности команд в программе вычислительной машины. Можно иметь, например, микропрограммный счетчик микрокоманд, который содержит адрес следую­ щей микрокоманды и увеличивает его на единицу после выполнения каждой микрооперации. Микрокоманды бу­ дут в этом случае выбираться из последовательных яче­ ек памяти. Специальные микрокоманды условного и без­ условного перехода могут засылать в счетчик произволь­ ные величины, образуя требуемые разветвления. Подоб­ ными микропрограммными машинами являются машины RW-440, RTW-133 и др.

Однако последующие микропрограммные системы (НАПРИ, МИР, микропрограммные модели IBM 360, ЕС ЭВМ) были разработаны с учетом того, что для микро­ программ более эффективной процедурой является ука-

367