Устройство для выполнения команд реализации систем многоместных логических функций

 

(72) Автор изобретения

В. Ф. Мелехин (7! ) Заявитель

Ленинградский ордена Ленина политехнический им. М. И. Калинина C (54): УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ -КОМАНД РЕАЛИЗАЦИИ

СИСТЕМ МНОГОМЕСТНЫХ ЛОГИЧЕСКИХ, ФУНКЦИЙ!

Изобретение относится к вычислительной технике.

Известно устройство, содержащее арифметико-логический блок, блок памяти и блок управления. В этом устройстве вы-числение системы многоместных логических функций выполняется программным путем.

В качестве элементарных операций при этом используются либо коьФанды и оразрядных двухместных логических операций, либо команды условных переходов. Двухместные логические операции выполняются в ариф метико-логическом блоке, а модификация адреса команды при условных переходах — в блоке управления с помощью узла выбора условия перехода и счетчи-, ка команд 1

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

Известен процессор для управления производственным процессом, в котором применена специальная логическая схема для выполнения логических операции над информацией, поступающей по шине передачи данных 2 )

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

Наиболее близким по, технической cymности к изобретению является устройство, содержащее ячейки памяти, регистр

15 числа, регистры первого и второго операндов и регистр адреса, причем выход каждой ячейки памяти соединен с соответствующими информационными входа20 ми регистра числа, регистра первого -операнда и регистра второго операнда. Данное устройство может вьп1олнять функции арифметико-логического устройства с табличной реализацией поразрядных двух3 999051

4 мации, выход которого подключен к второму информационному. входу коммутатора условия перехода, выход регистра резульгага соединен с информационными входами переключателей первой группы и дешифратора, выход которого подключен к информационным входам переключателей второй группы, а выходы переключателей первой и второй -групп.соединены с соответствующими разрядами. информационного входа блока памяти, управляющие входы регистра операнда, регистра резуль гага, переключателей первой и. второй групп соединены с вторым выходом блока микропрограммного управления, управляющий вход пятого коммутатора информации соединен с, третьим выходом регистра команд, управляющие. входы с первого по четвертый KQMMyraropoa ин- . формации соединены с четвертым выходом регистра команд и с первым выходом блока элементов ИЛИ, первые входы которых подключены к шестому выходу регистра команд, а вторые входы — к первому выходу регистра операнда, четвертый и пятый информационные входы мультиплексора адресных кодов соединены соответственно с пятым. выходом регистра команд и вторым выходом блока . элементов ИЛИ, второй выход регистра операнда подключен к шестому информационному входу мультиплексора адресных . кодов, седьмой информационный вход которого соединен с третьим входом устрой- .

crsa.

На фиг. 1 представлена структурная схема устройства; на. фиг. 2 — пример реализации узла формирования управляющих сигналов; на фиг. 3 — пример размещения та6пнц в выделенном сегменте; на фиг..4 — временная диаграмма работы устройства; на фиг. 5 - пример:кодирования альтернативных решений.

Устройство содержит блок 1 памяти, выход 2 устройства; первый 3, второй, 4 и третий 5 входы устройства; регистр

6 команд; первый 7, второй 8, третий

9, четвертый 10, пятый 11 и шестой

12 выходы регистра 6 команд, информационный 13 и управляющий 14 входьг регистра 6 команд; счетчик 15 команд, информационный 16, счетный 17 и управляклций 18 входы счетчика 15 команд; коммутатор 19 условия перехода с первым . 4 информационным, вторым 20 информационным и управляющим 21 входами; мультиплексор 22 адресных кодов; информационные входы 23- 2.8 мультиплексо-. ра 22, его управляющий вход 29, адрес45 местных и одноместных логических функций. Таблицы можно изменять путем перезаписи их в ОЗУ (3) .

Однако это устройство не имеет средсга для выполнения системы многоместных логических функций. Поэтому в ЭВМ с таким устройством хранения и преобразования для вычисления системы многоместных логических функций возможен только программный способ, недостатка- .1й ми которого являются сложность программ, значительные затраты памяти для их хранения, сравнительно большое время выполнения программ.

Гжелью изобретения является повышение производительности.

Поставленная цель достигается тем, что в устройство, содержащее блок памяти, регистр команд, счетчик команд, коммута ор условия перехода, мульти-.:20 плексор адресных кодов, выход которого соединен с адресным входом блока памяти, блок микропрограммного управления, вход которого соединен. с первым выходом регистра команд, информационный 25 вход которого соединен с информационным выходом блока памяти, являющимся выходом устройства, информационный вход блока памяти является первым входом уст- ройства, первый информационный вход ЗО мультиплексора . адресных кодов подключен к выходу счетчика команд, второй информационный вход — к второму выходу регистра команд, третий информационный .. вход соединен с третьим, четвертым, .

3S пятым и шестым выходами регистра команд, информационный вход счетчика команд соединен с информационным выходом блока памяти, счетный вход счетчика команд подключен к выходу коммутатора

46 условия перехода, первый информационный вход которого является вторым входом устройства, управляющие входы блока памяти, регистра команд, счетчика команд, коммутатора условия перехода и мультиплексора адресных кодов соединены с первым выходом блока микропрограммного управления, введены регистр операнда, блок элементов ИЛИ, пять коммутаторов информации, регистр результата, дешифратор и две группы переключателей, причем информационные входы регистра операнда и с первого по четвертый коммутаторов информации соединены с информацноннымвыходом блока памяти, выходы пе ого, второго, третьего н четвер. того коммутаторов информации соединены с информационными входами регистра результата и пятого коммутатора инфорS 999051 4 ный 30 и управлякхций 31 входы блока Х1 — коды на соответствующих входах;

1 памяти; блок 32 микропрограммного- < GK>, С С,и)* "- содержимое счетчика уйравления с входом 33, первым 34 и 15 команд в текуший момент времени вторым 35 выходами; регистр 36 операн- и в следующий момент времени. да, информационный 37 и управляющий у В счетчик 15 команд записывается

38 входы регистра 36, первый 39 и вто- w разрядный код Х16(тп. 1), где rn — чисрой 40 выходы регистра 36; блок 41 ло разрядов в коде адреса блока 1 памяэлементов ИЛИ, первый 42 и второй 43 ти. Входы X <(m:1) подключены к тем

16 ходы блока,41 элементов ИЛИ, первый. разрядам выхода Y fn:1g, которые соот 44 и второй 45 их выходы; . коммутато- 10 ветствуют положению адреса перехода

2 ры 46-50 информации, имеющие соответ-, в .командах безусловного перехода, напственно информационные входы 51 — 55, ример младшим: X jm .1) = (fin.1).

16 2 .управляющие входы 56-60, регистр 61 Коммутатор 1 9 условия перехода вь1-. результата с информационным входом 62 полняет функцию, выбора одного из разряи управляющим входом 63, дешифратор 1$ дов кода, имеющегося на его информаци"64; группы переключателей 65 и 66 онных входах 4 и 20, номер 1 которого с, входами 67-70; узел 71 памяти соотв тву т коду V2 на упрвйшем

21 микропрограмм с адресным входом 72 входе 21: и управляющим входом 73; регистр 74 при Ч З:1) = 000: Y = Х1, 21 19 11 адреса микрокоманд с входами 75 и 76, 10 =X20 регистр 77 микрокоманд с входами 78 при Ч21(3:1 j = 001: Ч = Х1 = и 79 и выходами 80 и 81; узел 82 =Х ; формирования микрокоманд с входами при Ч21 (3: 13= 010! (= Х

78 и 79 и выходами 80 и 81; узел 82 =X (2); формирования управляюших сигналов с 25 входами 83, 84 и с выходом 85,генера- при Ч2 (3 1) = 111: Y = Х тор 86 тактовых импульсов; элементы = Х4El), 21 . 19 11

НЕ 87 и 88; элемент И НЕ 89, элемен- где y = X - сигнал на выходе коммуl9 11 ты И 90. татора 19, поступающий на вход 17, Блок 1 памяти, может работать в трех щ Х20 — переменная на входе 20; X/7 1)режимах в зависимости от кода Ч (2:1(код на входе 4, представлякщий собой

3! на управляющем входе 31: осведомительные сигналы о ходе вычисПрн Ч31пн 00 - рЕжИМ ХраНЕНИя ИифОр- ЛИтЕЛЬНОГО ПрОцЕССа. КОд Х4 МОжЕт СОмации; держать перенос из старшего разряда, ° при Ч 1пп 10 - режим .чтения, при .значение младшего разряда, знак и другие этом - соответствую пие освепомительные сигналы, 2 in 1) * — Н(А), - gp которыепоступаютизарифметико-логическопри ЧЗ1нн 11 — режим записи, при, го устройства и сцвигателя (н е показаны) . этом: Мультиплексор 22 адресных кодов й(Л): = X ГЪ:1) имеет четыре информационных канала, где Н (А) — содержимое ячейки накопите- которым соответствуют входы 23 — 25 ля с адресом А; Х3, Х вЂ” коды на вхо- и группа входов 26, 27,. 28 и 5 . На пах .30 и З,У2- код на выходе 2, n — управляющий вход 29 поступает код ночисло разрядов в блоке 1 памяти. мера канала. При этом на выход (YZ =

2 2 регистр 6 команд работает в двух ре- Х30) передается код канала, номер кожимах: торого соответствует коду Ч2 . Каждый при 014 Π— режим хранения, канал и выход мультиплексора 22 имекл при 014 = 1 - режим записи кода Х1 н разрядов соответственно числу разря, в регистр, дов на адресном входе ЗО блока 1 памягде 0„, Х вЂ” сигналы на входах 14 и ти. В четвертом канале tn разрядов разде50

13. лены на четыре группы, которым соответВ регистр 6 записывается п разряд- ствуют входы 26, 27, 28 и 5. За счет ный код Х13(п 1) = 2 (n . 1). этих соединений в четвертом канале муль;

Счетчик команд 15. работает в 3-х - типлексора 22 реализуется следукщая. режимах: функция лсонкатенации при Ч н — — 00: иренение инеорменин; m B<(mi1)=X (m . 1joX (т:1)еК (m . )е при Ч18 = 11: модификация кода.адре- 284 28 3 5 5 3 11L 11 ) 45i 45 13

Са: ®" > 1:МСК> +Х1„, где Ч.®, X« У (П „ ;1), 7 99 где В» — код на входах четвертого кана:ла мультиплексора 22;

Х1, Y - коды Hà i- м входе и j —.м выходе, содержащие m, m. разрядов, со1 ответственно, О - знак конкатенации.

На вход 5 подается константа C (пт,1)

На первый, второй и третий каналы мультиплексора 22 согласно фиг. 1 по-. ступают коды

9051 8 входы 62 регистра 61 результата и 55 коммутатора 50 информации (4.1)-Х (4.1)- оУ o Ó o ×

При О = 1 производится запись кода Х >в регистр 61; Переключатели

65 и 66 имеют по 3 состояния и работают следующим образом 6,Г Ч-,Х C4 ) ., ь1 61 Щ 64

1$ где Р— состояние большого выходного с опро тивления.

У6< М 64 — сигналы на выходах регистра 61 результата и дешифратора

64.

На выходе дешифратора 64 всегда один и только один разряд равен "1 ", номер которого соответствует коду, подаваемому на вход дешифратора.

Ф Использование переключателей 65 и

66 с тремя состояниями выхода позволяет объединить несколько источников сигнала на информационном входе 3 блока

1 памяти.

Из узла 71 памяти микропрограмм при сигнале 0 = 1 на управляющем вхо13 де 73 производится считывание кода микрокоманды из ячейки с адресом, код. которого поступает на вход 72 с выхода регистра 74 адреса микрокоманд. Счи35 танная микрокоманда поступает на вход

78 и записывается в регистр 77 микрокоманд. Микрокоманда имеет два поля.

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

Ему соответствует выход 81. Несинхро.иизированные управляющие сигналы с выхода 81 поступают на вход 83 узла 82

gS Ьоомирования управляющих сигналов. Этот узел содержит элементы И, каждый из которых соответствует определенному управляющему сигналу. На один вход weментов И подается несинхронизированный управляющий сигнал с входа 83, а на второй — тактовый имп,ульс, поступающий:от генератора 86 тактовых импульсов через управляющий вход 84. Синхронизация осуществляется таким образом, ттобы управляюцпте сигналы на выходах

S5 узла 82 соответствовали требуемой временной диаграмме работы устройства.

В устройстве используется табличный способ реализации многоместных

Функции, реализуемые мультиплексо-ром 22, можно представить в следуктцем виде при VZ> = 00.:- Мд=- В 1 = Ч.15 т при U gg 01: Yg = В 2 = Y при Ч =* 10: Ч р = 85 -Уц О т110 11оо 9 при V2 11: (=В4---сну оч от где Y2> — код на выходе мультийлексора 22.

Регистр 36 операнда используется для записи и хранения операнда — вектора Р двоичных переменных. Его информационный вход 37 подключен к Р младшим разрядам выхода 2 блока 1 памяти.

Регистр 36 работает в двух режимах: при 0Э = 1. — запись кода ХЭ-т, при Ugg = 0 — хранение.

rae У41() — 1-й разряд кода на выходе блока 41.

Этот код разделен на две части:

Каждый из коммутаторов 46-50 информации переключает на выход один из р зр д в кода Х 1(13 -Х 4(, поступающего на информационный вход. Номер переключаемого разряда соответствует коду j на управляющем входе:1 = j+ 1.

Выходные сигналы У, 6 — М+„коммутаторов 46 — 49 информации образуют четырехразрядный код, поступающий на

6 (п1 .1) = Хц 1 „ (ттк1 1);

В $rn ° 1)=X y (пт 1)у

Вз (пт:1)=Х25.-112 (тт11 . 1)о ((11 .1)о (1о(т .1) (1"9: 1).

Блок 41 элементов ИЛИ выполняет операцию поразрядной дизъюнкции кодов

4Ъ Э9 +2 12

41 " Ц 1 4ЭС 2е - Ц > 4Д 4Э

41 4»t-44 ) 4Й 49 ")

44 4о »2 +Э

Y (16,1)=О, Х Г16,1)+ О Ц, где Ы(0,1,2...» (Х )- ближайшее целое, не превьппаю;шее Х .

Так, в рассмотренном примере дпя размещения таблицы f 5 выбраны разряды Sð мл= 17 и 17 + 4 = 21. При этом приведенное выше условие выполняется, при 1 = 2:

=4=2, t=2 2.

9 - -- -- 9990 логических функций. Предусмотрена воэ,можность выполнения команды реализации системы иэ четырех многоместных логических функций и команды реализации одной многоместной логической функ- % ции. С помощью этих команд может быть составлена программа дпя реализации систем из любого числа функций.

Таблицы реализуемых функций размещаются в выделенном сегменте накопите-

as блока памяти. Этот сегмент содержит йо.п — разрядных ячеек. Для запоминания каждого элемента таблицы реализуемой функции используется один разряд. Таким образом, в выделенном сегменте может быть размещено М и элементов таблиц.

На фиг. 3 для пррстоты изображения показан небольшой сегмент накопителя блока 1 памятигсодержаший 32 ячейки с номерами 0 — 31; n = 24; Сначала рассмотрим возможные способы размещения таблиц одиночных логических функций; Число аргументов Р реализуемой логической функции может быть различным.

Если Р"- тгакс=Во 2+ с ro дпя разме- 25 . щения такой функции используется один разряд сегмента накопителя. Так в примере, показаном на фиг. 3, 4с= 32,Ртмсгкс

= 5. В первом разряде сегмента, йапример, размещается таблица функции 30

f„(x„,x z>Õ3, Х . X5. ). При Р(Ртм г в одном разряде сегмента можно™размешатъ несколько таблиц, обеспечивая их плотную упаковку . Так во втором разряде показано расположение таблиц двух четырехместных функций f > (X„, Х, Х >, X 4 ) и

У (Х.г, Х2,Х,Х, ) в ячейках 0 — 15 и

16 — 31, соответственно. В третьем разряпе показано возможное расположение г таблиц четырехместной логической Функции f4.ß11 Х2 ХЭ,Х4) в ячейкй 0

15 и двух трехместных: f5 (X„,Хд, Х ) в ячейках 16 — 23 и fÜ (Х1, Х2, 3) ячейках 24 — 31.

Таблицы системы четырех логических функций должны размещаться в четырех соседних разрядах 4К+1, 4К+2, 4К+3, 4К+4, K=O,1,.... Так на фиг. 3 в разрядах 5 — 8 показано расположение та лиц четырех пятиместных логических функций.

Если число аргументов Р) Р„„ „сто для размещения таблицы может быть использовано несколько разрядов выделенного сегмента, отстоящих друг от Ъруга на четыре разряда. Так, например, .о

55 ласть накопителя, соответствуккцая 9

16 разрядам выделенного сегмента может быть использовано для размещения

51 10 таблиц четырех шестиместных логических функций.

На фиг. 3 для примера приведено размещение таблицы шестиместной логической функции f15 в разрядах семнадцать и двадцать Один. Функция может быть задана перечислением номеров F i, на которых она принимает значиние 1 ".

Так в рассматриваемом примере:

41 41 4 .4

В младшем из используемых разрядов (семнадцатом) размещены ацементы таблиц, соотвеп=твующие младшим тридцатидвум номерам наборов 1 =* 0 — 31, а в старшем (двадцать первом) разряде.соответствующие следующим тридцатидвум номерам наборов г = 32 — 63.

При этом s семнадцатом ряде между номером г набора и номером ячейки К.г справедливо соотношение: гг. = 4 (i <31), а в старшем (двадцать первом) разряде для номера ячейки N2a номера ) набора — соотношение: N - =i 32 (i > 31).

В соответствии с принятой (фйг. 1) схемой соединений коммутаторов 4650 информации, при выборе номера младшего разряда S » для размещения таблицы функции с числом аргументов

Р>Рт макснеобходимо У итывать следУюшее условие:

S .„„„т.макс

Р-Р г..

В соответствии с принятым способом сначала следует размещать таблицы систем многоместных логических функций, затем одиночных функций с числом аргу- . ментов 9)Р,л „, и далее в любые свободные разряды™ размещать таблицы остальHblK функций.

Если число реализуемых логических функций велико и одного сегмента накопителя блока 1 памяти с числом ячеек

Мо недостаточно для размещения всех

° Ф где (Хр ...Х + 1) i — конституента единицй, соответствующая 1- му набору переменных (Хр ...Х +1 ).

" Рмюн

Числа разрядов ill. в выделенных группах переменных согласно их назначению и связям, представленным на фиг. 1, . должны удовлетворять следукицим условиЯМ: Ь = Р -Ьч М

10 1 2 ((mg ф+)

-*" =Р <и"сt

m>g=m<=m-(m +щ +m ), П =Ф П1 - п1

° 45 1 1я фф

40 28 мЫКс Ф

И

5 (2Ь 21 2S)

11 9990 таблиц, то может быть выделено несколько сегментов. Число сегментов накопителя, используемых для хранения твбпип, устанавливается при программировании задачи и не определяется жестко схемой S устройства.

Рассмотрим, как выполняется адресация к элементам таблиц.

Адрес ячейки в блоке 1 памяти при обращении к таблицам формируется с цомощью четвертого канала мультиплексора 22 кода адреса.

На вход 5 подается фиксированный код С (п1, 1), являющийся адресом области накопителя, в которой могут разме щвться табпицы реализуемых функций.

Код X 2Ь (.1 t pl 1 ) соответствует номеру сегмента в выделенной области накопите . Таким образом, код С5оХ26 является адресом сегмента накопителя, в котором размещены таблицы реализуемых функций. Код Хй„оХ2 доопределяет адрес ячейки, в которой хранится результат реализуемых функций. Число разрядов

m2> кода Х щ от) 1 1) соответствует мини-. мальному числу Фм н двоичных переменных, таблица логической функции от которых может быть записана в бпок памяти.

Если требуется реализовать погическую р при P

Рмин переменных

PMMH 1.

2 г = ч (t,...х „„„+ ),. ю, 1=0. где Р„„- максимальное число дВоич цФ переменных, логическая <рункиия от кото81 12 рых может бьггь решп1зоввнв с помощью одной команды;

)ЧУ вЂ” число ячеек сегмента накопителя в блоке 1 памяти, выделенного для хранения таблиц многоместных логичесК8х функйий

nr — максимальное число сегментов, которое может быть выдецено для разме;щения таблиц реализуемых логических функций; п — число разрядов в коде адреса на входе 30 блока 1 памяти; и - число разрядов в ячейках блока 1 памяти индексы i у переменных rn; соответствуют номерам позиций на фиг. l.

Рассмотрим пример определения чисел разрядов m В вьщеленных группах

1 переменных.

Пусть N =- 32, 11 = 32, tn = 12, 11с = 32 Рмакс = 8

Используя .приведенные вы ие уравнения, подучим:

m =Г„ „,-Е Н =а- о За=З; в =2, „=) (-(л )=)да З2(-(2ЗУ=О; =2(,=_#_ z"сГ=З Ч2" Г=

12 Ъ (п1э+п „о+п1,„) =12-(2+о+ХИ, и щ= =п„- и =5-З=й;

40 28 Макс д2" " 1

mg=mpm +т +m 1=12-(5+2+Э) =2, 2Ь 27 28!

Рассмотрим порядок подключения информационных входов 51 — 54 коммутаторов информации 46 - 49 к выходу 2 блока 1 памяти. В соответствии с принятым способом размещения табпиц систем многоместных логических функций и описанными выше связями упрввпяющих входов 56 — 58 и выходов коммутаторов 46 — 49 информации первый разряд (младщий) информационного входа 51 (Х f4) ) следует подключить к первому (мпвдшему) разряду выхода 2 блока

1 памяти (Ч t j)т

)(р, f1) У, +) >, Х5„ 2)= Y (5), )(5 И)= УД СЬ)

1.б

В Об)пем случае:

Х,(i)=Y (4(-Ч)а ), "ы () = Ъ((-") 1

Х ()-.М (4(i-фЗ1, S

)((1 ) = ((4(г Н).

Рассмотрим форматы команд реализации одной многоместной логической функции (код операции KO1) и ревлиэации системы четырех многоместных логических функций (код операции KO2).

Полям команд, имеющим рвзпичное функцнональн(е назначение, на фиг. 1

- соответствуют следук)щие группы выходов реггстра 6 команд: 7 — код операции; 8 —; 9 - код номера одного из четырех разрядов, соответствуюшего таблице -реализуемой логической функции (в команде реализации сггстем логических функций это поле не исщпьэуется); нумерация разрядов начикается с; 10 - код номера группы из 4 - 2 44 разрядов, в которой phc.;положены требуемые твбпицы, нумерация групп начкнается с куля (при 4 2 4 ) Пэто поле в формате команды отсутствует); 11 — код номера сегмента нвкопитепя бпока 1 памяти, s котором хранятся требуемые таблицы; 12 — код, уточ- 30 ня кипи и положение требуемой твбпицы при Р< рмакс, СЬределение кодов, соответствукяцих выходам 7 — 11 очевидно из их назначения. 3S

Рассмотрим методику определения - кода Y12 соответствующего группе выходов

12 регистра 6 команд.-Дпя определения условий, в зависимости от которых определяется код У1>, выделим в коде, храни-(Е мом в регистре 36 операнда, три составляющие: (оь ()о„,„с: 1) = (З, („„„с:(от))о зь((као )) М(Ю ) и

Кок Чз (,а„кс. (РИ))о ) (В (т„о+ )) поступает на вход бпока 41 эпементов

ИЛИ, на другой вход которых подается код . .Ф2 щщ 1) . 3Е

При реализации P-местной логической функции (ипи системы функций) код (Р„кс):(Рат)) =О„р, а код Y3 p" (m4,++1) ) соответствует значениям старших (P-п)4О) рвзоядов вектора условий (операнда). При этом

КОд о12 (Qq 1 1 МожЕТ дОПОПНЯТЬ. ТОШкКО

08k 14 своими старшими (Р а„" р) Рвзрядвмн код, поступающий из регистра 36. Цель такого дополнения — обеспечить адресацию элементов упакованных таблиц.

Введем в рассмотрение переменную = Р- п4о, При д=т1 дополнения не требуется, при этом. «Ñ «.1 =0--0 .

При а< щ1, вылепим s коде У12 л«:13 две составпякщие: „ -,р1=М„

Вторая составляющая ц f«fd 1) со этветствует тем разрядам формируемого бпоком 41 эпементов ИЛИ 41 кода, которые содержат двоичные переменные вектора условий. Поэтому:

Ч„2Еа:1) =0...Î

llpH tA12-а 4П)44 Код ч(. 2 Щ12 . (6+1Ц

{первая coczasnsrrorrrasr кода У, (щ: 1) соответствует номеру Н(- группы- из

1: = 4 ° 21 ")4О 45 разрядов, в которой находятся требуемые табпипьц нумерация начинается с нуля.

При m -8>m44 коде (2(п 12,(д 1Ц выделим две части: о (юад (+ Ï" (1 (" И .(. 45 ))

Ы Ф5()) код м12(т : (rrrg +1Ä частью кока )7 о (1>(m ч. (тааччЦ, кот рый соответствует омеру ) ) r- p rr> четырех разрядов, и которых, находятся требуемые твбжшы; нумерация групп начинается с нуля.

Код ((rr) ф3+1Ц соответствует помеРУкгя гру из 2 Ячк со Въ

Р ствую)цих положению требуемых табпиц .в выдепенном сегмевте нвкоттепя бпока

1 памяти. Нумерация групп начинается с нуля.

Дпя иллюстрации методики .Рассмотрим примеры опредепения кодов команд реализации многоместных логических функций и систем многоместных логических-фуйкций, рвзмешение табпип которых показано на фиг. 3, .и при условии, что чиспа разрядов ) ц; в выделенных группах переменных соответствуют рассмотренному выше примеру. . Пусть сегмент с твбпицами функций занимает начальные ячейки бпока 1 па- . мяти с адресами О - 31. Соответственно этому попучим Cg 00.

Дпя реализации логической функции

%,,(Х1... Kg) ., табцицв которой распопоженв s 1-м paepsrpe сегмента, получим сцедук)ший код команды т,оЧ о (О (ОЧ „о )

15 0000 где У-(= K01 (код операции команды реализации многомес гной логической функйии), Yg= АО (адрес. операнда), >g 00, V < отсутствует, „„= ОООО0.

Определим переменную д:

3 с3 Р(п 5 3 2<т 5 -и=ч- (4. м= р. ) оу„, (2: у, ае.

Y p: Я=оо.

Определим переменные:

-d=5 -2 =3 = m

12 ++

t =+2 4О 45-4.25 -3-2 Ф

Р.-t -m и Код Y (5 >) соответствует номеру группы И,-из четырех разрядов, в которой находится таблица f< . Поскольку таблица fq размещена в первом разряде, m то М;= О.V)2 t 5 .3)- 000.

Таким образом;

У„ (5 1 = Ооооо.

B регистр 36 операнда записывается аргумент: Y36= ОООХ5Х, Х Х Х,. На- 25 выходах регистра 36. и блока 41 элеменros ИЛИ получим: Y a(3. "мГз "1

У4„=Х4РХ42=УЗ (а:4)ЧУ„2 Р И)= ЗО (000Х Х„) (00000)-00.0Х Х, 144 P () (ф1 (5 3) 000 р

Ygg (2, <3=Y4„$2:1З=Х Х, ° э5

Соответственно получим следукиций ,код на входе четвертого канала мультиплексора 22:

B4f42 1) =С оХ26оХ2.)оХщ — С5о (11о V<>oY40 !О

= 00 ОООООХУХ4Х Х Х,(°

Таким образом видно, что полученный код соответствует выбранному адресу сегмента накопителя (0000000), а адрес ячейки в сегменте определяется набором двоичных переменных вектора Х5Х4Х Х Х .

На управляющих входах 56-59 инфор»мацки получим:

Ч = ... =ЧУ 1З(11У оУ+ = Y44(3 t3= 00О, 56

На управляющем входе 60 коммутатора 50 информации получим:, Ч f2 "Ц= те(2 1) =00

Таким образом, на выходе коммутато- >> ра 50 информации получим:

Ъ="(" ="46="К ("1 = У"

51 16 т.е. обеспечивается выделение разряда, соответствующего положению таблицы функции Х„.

Рассмотрим код команды 1 îУ8оУ с о (,оо1(р (реализации функции Х5 (М1,Х2,13), таблица которой размещена (Фиг. 3) в третьем разряде ячеек 16 — 23: У-1 =

=:К01, Уя = АО, Y = 10, g ® отсутствует, Y.(1= ООООО.

Далее, согласно изложенной выше методики получим:

3 Р т 3 3 О

М1 -(3= 5 7 3п „

" ("" =" 2t- (" "3 "12 :(" "

У12(5:3) оУ„(2 1).

Код @ 2 (.5: 33 соответствует номеруМ, групйы из четырех разрядов, в которых находится таблица f, согласно принятому выше расположению таблиц (фиг. 3) таблица Р находится в третьем разряде, относящемся к первой группе с номером Иг= О, поэтомуУ., 5:З)= ! = OOO; код У<< (2: 1) соответствует номеру Щ группы из 2 = 2 = 8 ячер з

ГЯ ек, соответствующих положению таблицы . функции fg, согласно фиг. 3 таблица расположена в ячейках 16 — 23, что соответствует третьей группе ячеек по 8 с номером Игй= 2 (нумерация с нуля) поэтому У„ f 2 1) = 10, и окончательно получим:

У fS: j= 00010.

Прй выполнении команды получим: (8: 1) = 00000 Х,Х (,Х.„(4с(3: 1)= ц зХаХ1 1 1 q>=Y < (8; 4) М

>Yggf5: 1)= (00000) > (00010) =

= 00010;

У44(3: 1) Ygf5 . 3 = 000, (45(2.: 1)=

=Vga(2: 1) = 10; 84 (12: 1) =

-C5oV о (оУ4Ь= 000000010X X Õ„.

Полученный код соответствует адресУ восьми ячеек 16 — 23. Выбор одной из восьми ячеек осуществляется кодом

Х Х Х., соответству1ошим набору пере менных реализуемой функции.

На управляющих входах коммутаторов информации 46 - 50 получим:

Ч56(3: 1Д = ... =Чую: 13,=У 0оУ,р =

4+(4: 13 000 VÜÎl2: 1) =

= (2:1) = 10.

Соответственно получим:

У5Ь У62 Г3 3 Ч148 Х53 f t3$, что соответствует положению таблицы реализуемой функции.

Рассмотрим код команды реализации логической функции f 15 (X1 X 6 . ), табли. ца которой занимает несколько (два) раз17 9990 рядов в выделенном сегменге. На фиг. 2. таблица функции f 1 размещена в семнадцатом и двадпать первом разрядах: Ì-r =

= KO1,Уц = АО. КодУ (2rÄ определяет положение требуемого разряда с . 5 таблицей в группе из четырех разрядов.

Семнадцатый и двадцать первый разряды — первые в соогветствукяпих четверках разрядов (фиг. 3). Г1оэтому = 00. y o oooo.

«О

Определим код Yg2(5 r 1):

o1= - 40 = 6 - 3 Ф 3; п112- р,„= 5 - 3 = 2 < т 4;

1 = 4 2 4Р 45 = 4 2 6-3-2

Согласно фиг. 3 таблица функции 115 находится в третьей группе разрядов по

1 = 8, соответственно получим Nr = 2, 121(+ ) 12 (5: 4 3 = 10 (нумерация групп .начинается с нуля);

Y<

312(5 Ц = 10000.

Коды в команде реализации системы многоместных логических функций выбираются по той же методике. Код (2:1) может быть любым. В частности можйо принять Ч (2: 1 ) = 00.

Для примера рассмотрим составление кода команды для реализации системы логических функций Е11, f 4, габлицы которых размещены в разрядах 9 — 16, З0 число аргументов Р = 6, У-« = К02 (код операции команды реализации системы многоместных логических функций); Ч0 = А0««Yg= 00 (не используется), У<0 не используется, Ч«1 З

= 00000.

Определим код Ч-ц2(5 : 11:

< = Р— тп4 = 6 — 3 - 3;

Ф. 2-d = 5 — 3 = 2(tA,И, -6= 4-2 4о 45 = 8

Р- п -rn

Щ

Nr- - 2«Ч1 тп12 .(a ))=y„2 (5: 4):= о1 42С4:13=Ч д 3: 1) =* 000, У12(5: 1 3 = 01000.

Окончательно получим код команды:

К02 АО.ОО 00000 01000.

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

Микропрограмма реализации системы многоместных логических функций.

М

НАЧАЛО.

А=92= (р > Yg = H(A) 1(РЗЬ 7: =Чу t nmrrc ") «

51 18 (Счнгывание операнда иэ блока 1 памяти по адресу, код которого поступает с выхода 8 регистра 6 команд через второй канал (вход 24) мультиплексора 22, и зались Р, млалших разрядов считан-- . ного кода в регистр 36 операнда)

М2.

А 8 С>оУ оу оУ; у, Н(А, В 11:=Ya f ":(»)), ={ч„ ч«,+Р <Р(1т =Х f4:1); (Считывание из накопителя блока 1 r .. памяти содержимого ячейки, хранящей результаты реализуемых функций, выделение с помощью коммутаторов 46 — 49 информации четырех разрядов, соответст « вующих результатам реализуемых функций и запись их в регистр 61 резуль. тата+) .

KOHE U.

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

М 29 — 01. 31 - 10« 38 - 1.

М2. >2«3 1 1; Ч3.1 = 10«063 = 1.

На структурном уровне представления усгройсгва (фиг. 1) .его работа рассматривается в "дискретном времени . За дискрет принято время цикла То обращения к бпоку 1 памяти.

Для реализации требуемой временной диаграммы цикл Т делится на такты с помощью тактовых импульсов, вырабатываемых генератором 86 тактовых импульсов, и управляющие.сигналы на выходах 34, 35 блока 32 микропрограммного управления в узле 82 синхронизируются соответствующими тактовыми импульсаНа фиг. 4 показаны три цикла работы устройства: цикл считывания команды системы многоместных логических функФ ций и два цикла ее.выполнения, соответствующие приведенной выше микропрою

pauvre. Cmmamu 6(1), ... Сщ(4) представляк г тактовые импульсы на выходе генератора 86. На фиг. 4 "приведен@ временные диаграммы управляющих сйг3« -1 «U>6 «0 4«ЗВ«063 « а также показаны моменты времени, когда происходят изменения многоразряд переменнь Ч2 и Ч „°

После управпяккцих сйгналов в формате микрокоманды, которому соогвегсгву20

19 МЬб ет выход 81 регистра 77 микрокоманд (фиг. 1) срдержит несколько подполей, . используемых для кодирования различных управлякагих сигналов. Между ними может быть установлено, например, следую- %

mee соответствие:

81 14" . y „(э 2) м„(2 Я )

"ВЖ)» Ъ (З:13

YS1> Ч V SP: ) у Ро 9) Vç., (2 1)

781 (<< ) 36

"(ц1 1 2 "ЬЗ ч рз) ()6 с81

Ч8„(«) О-,о

В узле 82 осуществляется синхронизация управлякщих сигналов в соответствии с временной диаграммой: И ЗА 81И <ЩГ4)

18=1, p:2) =Ч81P Ц С $4) ,„= „Г 4)=Y (6:q;

Ч29 УЗ4 8 t) (81(В11

%=УЗ 110:э)=У „РО 9ис (эдас РВ

"gg gg E2) =1 1(12)С8Ь(4) = З1= Ä)1Z)(C P)+C, P));

ОЧО=У (4 =Ч 1С14ИСВ (Я+С (4)) Работа блока 32 ми -ропрограммного управления происходит следукецим образомм (фиг. 1 и фиг. 4). В первом такте первого цикла происходит считывание ко- <> да микрокоманды из узла 71 памяти микропрограмм по адресу, поступакщему с выхода регистра 74 адреса микрокоманд.

В начале второго такта считывания микрокоманда записывается в регистр 77 микрокоманд. В третьем такте осушествляется считывание бчередной команды .иэ блока 1 памяти по адресу, постуцакщему из счетчика 15 команд. В четвертом такте считывания команда записывается

И

s регжтр 6 команд, содержимое счетчика 15 команд увеличивается иа единицу, код операции, сос гветствукщий адресу первой микрокоманды требуемой микропроЫ 20 граммы, записывается по входу 33 в регистр 74 адреса микрокоманд. Работу устройства в втором и третьем циклах можно проследить по (фиг. 4) диаграмме с использованием рассмотренной выше микропрограммы. В этих циклах адрес следукицей микрокоманды поступает в регистр 74 с выхода 80 регистра 77 микрокоманд. В третьем цикле выполняется вторая (последняя) микрокоманда рассматриваемой микропрограммы. Поэтому за ней должна следовать микрокоманда считывания очередной команды, выполнение которой было рассмотрено в первом цикле.

Рассмотрим работу устройства при . выполнении команд записи результага реализации системы многоместных логических функций из регистра 61 в блок 1, памяти, Возможны два случая: решения, принимаемые на наборах двоичных переменных вектора условий не являются альтернативными и могут приниматься в любых сочетаниях и случай альтернативных решений, когда на каждом наборе может быть принято одно и только одно решение. В последнем случае с целью экономии памяти номера решений следует кодировать. Пример кодирования альтернативных решений R„-R9, принимаемых на наборах двоичных переменных векгора условий Х = Х4, Х, Х К. ), и полупредставлен на фиг. 6;

В командах вывода результата из регистра 61 и записи его в блок 1 памяти адрес ячейки указавается в поле адреса первого операнда,.которому соответс.т-. вует выход 8 в регистре 6 команд. Ðaботу устройства можно представить с помошью следукщих микропрограмм.

Микропрограмма вывода результата из регистра 61 решений беэ дешифрации.

НАЧАЛО.

М1 А Вй Тб Хэ 4: 1 : =

=Я4:1);

H(A) *= Хфз: 11 (" Запись в блок 1 памяти слова, 4 младших разряда которого соответствуют содержимому регист ра 61.1 ).

КОНЕЦ.

При этом формируется следукщий набор управлякщих сигналов:

М1,Ч = 01; Ч 1 = 11> О э = 1. ...Микропрограмма вывода результата из ра истра 61 решений с дешифрацией.

НАЧАЛО.

М1.А=В =18 Х (% 1) =у (1ь.11;

Н{А) =Х п;1);

1 22 функций и команда вывода реэультатф на каждую систему реализуемых функций экономия памяти составляет 3584 бнт.

Ф ормула изобретения

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

ИЛИ, лять коммутаторов информации, регистр результата, дешифратор и две группы переключателей, причем информа циоиные входы регистра операнда и с первого по четвертый коммутаторов информации соединены с информационным выходом блока памяти, выходы первого второго, третьего и четвертого коммутаторов информации соединены,с информа) циониымн входами регистра результата и пятого коммутатора информации, выход которого подключен к второму информа- ционному входу коммутатора условия перехода, выход-,регистра результата соеди- нен с информационнымн входами переключ чвтелей первой группы и дешифрай ра, выa6tt которого подключен к информацион21 . 99905 (Запись в блок 1 памяти слова, 1 6 младших разрядов которого соответствует сигналам нв выходе дешифратора

64.+) .

КОНЕ U. S

При этом формируется следующий набор управляющих сигналов:

29 . oOlle VV31 11119» U70

Рассмотрим особенности работы уст ройствв при выполнении команды условного перехода по результату реализации .многоместной логической функции. При этом выполняется следующая микропрограмма.

Микропрограмма реализапии многомест- з ной логической функции.

НАЧАЛО.

М1. Я=В Ъ 2 (®

36 операнда ).

М2.д=Ь=СП oY (=Н(Щ

4 5 и 45 ФО 2 +4 Ф (ск 45) =(cK иъ +Ч„

l (" Считывание из блока 1 памяти содержимого ячейки, хранящей результат реализуемой функции, выделение i -го разряда, соответствуюшего этому результату; модификация содержимого счетчика 15 команд прибавлением результата реализации многоместной логической функции.").

KOHEU.

При выполнении микропрограммы фор40 мирук гся следующие наборы управляющих сигналов.

Мl ° V29 01» Ч 31 . 10» 038 1»

М2.Ч ц= 1 1» »Ч 10; Ч дч = 000э 8

В сравнении с использованием програм. много метода для вычислении систем многоместных логических функций рассмотренное устройство позволяет экономить ячейки памяти для хранения программ, уцрости гь 50 программирование и увеличить быстродействие.

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

23 9990 ным входам переключателей второй группы, а выходы переключателей первой и второй групп соединены с соответствующими разрядами информационного входа блока памяти, управляюшие входы регист- i ра операнда, регистра результата, переюпочателей первой и второй групп соедийены с вторым выходом блока микропрограммного управления, управляюший вход пятого

«оммутатора информации соединен с.треть-а им выходом регистра команд, управлякицке входй с первагопо четвертый коммутаторов информации соединены с четвертым выходом регистра команд и с первым выхо-., дом блока элементов ИЛИ, первые входы .1 которых подключены к шестому выходу регистра команд, а вторые входы — к пер- вому выходу регистра операнда, четвертый и пятый информационные входы мультиплексора адресных кодов соединены соответ- 20 ственно с пятым Выходом регистра ко51 24 манд и вторым выходом блока элемепи оа

ИЛИ,второй выход регистра операнда подключен к шестому информационному входЯ мультиплексора адресных кодов, седьмой информационный вход которого соединен с третьим входом устройства.

Источники информации, принятые во внимание при экспертизе

1. Девятков В. В. Программная реализация управляюших алгоритмов. — "Asтоматизированное проектирование дискретных управлякиних устройств." М., "Наука", 1980, с. 30-47.

2. Опубликованная заявка Франции № 2378311, кл. Се 06 F 9/06, Св 06 F 15/46, 1978.

3. Авторское свидетельство СССР № 640300, кл. С 06 F 15/00, 1976 (прототип) .

Составитель А. Жеренов

Редактор, Т. Киселева Техред E.Ларитончик Корректор О.Билак

Заказ 11 57/72 Тыраж 704 Подписное

ВНИИПИ Государственного комитета СССР по делам. изобретений и открытий

113035; Москва, Ж-35, Раушская наб., д. 4/5.Филиал ППП Патент", г. Ужгород, ул. Проектная, 4

Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций Устройство для выполнения команд реализации систем многоместных логических функций 

 

Похожие патенты:

Изобретение относится к устройствам программного управления и предназначено для использования в составе автоматизированных систем управления и регулирования с использованием ЭВМ вышестоящего уровня

Изобретение относится к устройству и способу, обеспечивающим повышение надежности, удобство сопровождения и удобочитаемость программных средств

Изобретение относится к устройству и способу, обеспечивающим повышение надежности, удобство сопровождения и удобочитаемость программных средств

Изобретение относится к транслятору для машинного языка программирования высокого уровня, в частности к способу и устройству для реализации таблицы кодировки символов, которая обеспечивает быстрый доступ к идентификаторам таблицы кодировки символов

Изобретение относится к транслятору для машинного языка программирования высокого уровня, в частности к способу и устройству для реализации таблицы кодировки символов, которая обеспечивает быстрый доступ к идентификаторам таблицы кодировки символов

Изобретение относится к автоматике и вычислительной технике, а точнее к приоритетной обработке данных, и предназначено для использования в мультипроцессорных системах, в локальных сетях и в системах распределенного управления

Изобретение относится к вычислительной технике и может быть использовано для организации доступа к коллективно используемому ресурсу

Изобретение относится к области цифровой вычислительной техники и предназначено для обработки двух или больше компьютерных команд параллельно

Изобретение относится к автоматике и вычислительной технике и может найти применение при построении распределенных систем программного управления технологическими процессами
Наверх