t1 Изобретение относитс к автом тике и вычислительной технике и может быть использовано в ЭВМ и вычисли-тельных системах с микропрограммным управлением. Целью изобретр и вл етс сокращениеобъема оборудовани блока пам ти микрокоманд. На фиг,1 приведена функциональна схема микропрограммного устройства управлени с контролем; на фиг.2 функциональна схема мультиплексора на фиг.З - временна диаграмма работы устройства. Предлагаемое устройство (фиг.. 1) содержит блок пам ти микрокоманд, посто нное запоминающее устройство (ПЗУ) 1 с пол ми кода микроопераций 1.1, кода логических условий 1.2, не модифицируемых разр дов адреса 1.3, регистр 2 адреса, регистр 3 микроопе раций, мультиплексор 4, коммутатор 5, триггер 6 пуска, триггер 7 ошибки триггер 8. конца команды, генератор 9 тактовых импульсов, первый элемент И 10, второй элемент И 11, элемент ИЛИ 12, вход 13 шины единичного потенциала устройства, вход 14 пуска устройства, вход 15 кода команды уст ройства вход 16 логических условий устройства, вьгходы 17 микроопераций выход 18 ошибки устройства, первый 19, второй 20 и третий 21 выходы мультиплексора 4, выход 22 старшего разр да пол адреса ПЗУ 1, первый 23 и второй 24 выходы генератора 9 тактовых импульсов. Мультиплексор 4 (фиг.2) содержит дешифратор 25 и коммутатор 26. Устройство работает следующим образом . 1 В исходном состо нии все элементы пам ти установлены в О. Цепи установки исходного состо ни (не показаны). В поле логических условий нулевой чейки (с нулевым адресом) ПЗУ 1 записан код конца команды, ко .торьш поступает с выхода 1.2 ПЗУ 1 на управл ющий вход мультиплексора 4. По этому коду мультиплексор 4 формирует на выходе 21 единичный сигнал-, который присутствует на информационном входе триггера 8 конца команды и управл ющем входе коммутатора 5, На втором информационном вхо входе мультиплексора 4 присутствует единичный сигнал, подаваемый с выход шины 13 единичного потенциала. 9 Работа устройства начинаетс после поступлени на вход 14 сигнала Пуск, по которому устанавливаетс в единичное состо ние триггер 6 (фи-г.З). По переднему фронту первого тактового импульса с выхода 23 гене-п ратора 9 устанавливаетс в единичное состо ние триггер 8. По заднему фронту этого импульса в регистр 2 заноситс код команды с входа 15 устройства. Этот код записываетс в регистр 2 через коммутатор 5, на управл ющий вход которого подаетс единичный сигнал с выхода 21 мультиплексора 4. Таким образом формируетс адрес новой чейки ПЗУ 1. При отсутствии ошибки эта чейка должна содержать начальную микрокоманду микропрограммы. В тех случа х, когда она или несколько микропрограмм начинаютс с микрокоманд ветвлени , у которых поле логических условий зан то контрольным кодом, при программировании этих микропро- ; грамм (как и в прототипе) ввод тс дополнительно специальные начальные микрокоманды. В поле логических условий начальной микрокоманды записан контрольный код начала микропрограммы, который подаетс с выхода 1.2 ПЗУ 1 на управл ющий вход мультиплексора 4, формирующего по этому коду единичный сигнал на выходе 20. Этот сигнал поступает на инверсный вход первого элемента И 10. Благодар этому на информационном входе триггера 7 присутствует нулевой сигнал. В случае искажени кода операции микрокоманда новой чейки окажетс неначальной и в ее поле логических условий будет отсутствовать контрольный код. Из-за этого на выходе 20 мультиплексора 4 будет нулевой сигнал, который поступит на инверсньш вход элемента И 10. В то же врем на его пр мой вход поступают единичный сигнал с выхода триггера 8. Таким образом, на информационном входе триггера 7 будет присутствовать единичньй сигнал ошибки. Запись информации в триггер 7 произойдет по тактовому импульсу с второго выхода генератора 9. Если в этот момент на информационном входе триггера 7 присутствует сигнал ошибки , то он зафиксируетс на выходе 18. Одновременно с этим сигнал ошибки поспоступит через элемент ИЛИ 12 на вход установки в О триггера 6 пуска, который остановит устройство. В противном случае не произойдет и П( тому же тактовому импульсу с второго выхода 24 генератора 9 в регист 3 будет занесена часть кода первой микрокоманды, состо ща из кода микроопераций . Затем в регистр 2 по заднему фронту второго импульса с первого выхода 23 генератора 9 запишетс адрес следующей микрокоманды. Этот адрес поступит в регистр 2 с выхода 1,3 ПЗУ 1 (немодифицируема часть) и выхода 1,2 ПЗУ 1 через мультиплексор А с его выхода 19 (модифицируема часть) через коммутатор 5. При этом на управл ющий вход коммутатора 5 подаетс нулевой сигнал с выхода 2 мутпэтиплексора 4,
По второму тактовому HMnyjibcy с вт орого выхода 24 генератора 9 код микроопераций заноситс в регистр 3 далее работа устройства продолжаетс аналогично описанному. В микрокоманд ветвлени код логических условий поступает с пол 1.2 ПЗУ 1 на управл ющий вход мультиплексора 4, который выдел ет на свой выход 19 значение нужного логического услови с входа 16 устройства. В линейных микрокомандах с пол 1 , 2 ПЗУ 1 поступает нулевой код, если необходимо обеспечить значение младшего разр да нулевым, или единичный, если необходимо обеспечить единичное значение. Мультиплексор 4 согласно описанному алгоритму его работы формирует на своем выходе 19 соотватственно нулевой или единичный сигнал. Этот сигнал поступает вместе с немодифтщруемой частью адреса через коммутатор 5 на вход регистра 2. При считЬ1вании из ПЗУ 1 последней микрокоманды в поле логических условий которой записан код конца команды , мультиплексор 4 согласно описанному алгоритму eio работы формирует един.ичный сигнал на своем выходе 21. Дальнейший алгоритм перехода устройства к выполнению новой микропрограммы аналогичен описанному алгоритму начальной фазы функционировани устройства .
После считывани из ПЗУ 1 последней микрокоманды последней микропрограммь работа устройства прекращаетс по следующему алгоритму. Благодар току, что поле последней микроко-манды микропрограммы значение старшего разр да адреса задаетс единичным
с выхода 1.3 ПЗУ 1 )а второй элемент И 11 через выход 22 подаетс единичный сигнал. На первом входе элемента И 11 также присутствует единичный сигнал, он подаетс с выхода 21 мультиплексора 4, так как из пол логичеких условий последней микрокоманды последней микропрограммы считываетс записанный в него код конца команды, который подаетс с выхода 1.2 ПЗУ 1 на управл ющий вход мультиплексора 4 С поступлением на третий вход элемента И 11 тактового импульса с первого выхода 23 генератора 9 на выходе, элемента 11 по вл етс сигнал конца работы . Этот сигнал через элемент КИИ 12 поступает на вход установки в О триггера 6 пуска, обнул ет его и останавливает таким образом устройство При этом на выходе 18 устройства сигнал ошибки отсутствует, так как тактовый импульс с второго выхода 24 генератора 9 на вход синхронизации триггера 7 ошибки уже не поступает и триггер остаетс в прежнем нулевом состо нии. Сигнал конца работы формируетс элементом И 11 только тогда, когда в поле адреса микрокоманды записано единичное значение, старшего разр да адреса, а в поле логических условий этой же микрокоманды записан код конца команды. Это выполн етс только в последней микрокоманде последней микропрограммы, так как в ад ресные пол последних микрокоманд других микропрограмм не записываетс ничего.