Устройство для обучения микропрограммированию

Иллюстрации

Показать все

Реферат

 

Изобретение относится к учебнолАбораторному оборудованию. Целью изобретения является расширение дидактических возмойсностей с повышением надежности и достоверности вводимой информации за счет возможности выполнения операции ускоренного умножения введением операндов, над которыми производятся действия, непосредственно в состав микропрограмм. Составными частями предлагаемого устройства являются микропроцессор, блок синхронизации, блок памяти, блок управления, блок регистрации, блок индикации, два блока сравнения, распределители импульсов, блок задания режима работы, коммутатор сигналов синхронизации, коммутатор сигналов управления микропроцессора, кo iмyтa- тор данных, коммутатор микрокоманд, регистр числа,счетчик адреса, И,элемент ИЛИ, регистр микрокоманды , Введен ряд связей между составньми частями устройства. Раскрыта структура формирователей импульсов ускоренного умножения, местного управления и непосредственного операнда . 3 з.п. ф-лы, 6 ил. с С 1C i4 СО

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (59 4 С 09 В !9/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А BTOPCHOMY СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (2)) 3673787/24-24 (22) 15.12,83 (46) 07.07.86, Бюл. ¹ 25 (71) Всесоюзное специализированное научно-производственное обьединение

"Союзвузприбор" (72) Ю,Е. Морозов и Н,Д. Федотов (53) 681.3,071(088.8) (56) Патент Великобритании № 1574251, кл, 656, опублик. 1980.

Патент США № 4225932, кл, 364-710, опублик,1980, (54) УСТРОЙСТВО ДЛЯ ОБУЧЕНИЯ МИКРОПРОГРАММИРОВАНИ10 (57) Изобретение относится к учебнолабораторному оборудованию. Целью изобретения является расширение дидактических возможностей с повышением надежности и достоверности вводимой информации за счет возможности выполнения операции ускоренного умно,.SU„„1243011 А 1 жения введением операндов, над которыми производятся действия, непосредственно в состав микропрограмм, Составными частями предлагаемого устройства являются микропроцессор, блок синхронизации, блок памяти, блок управления, блок регистрации, блок индикации, два блока сравнения, распределители импульсов, блок задания режима работы, коммутатор сигналов синхронизации, коммутатор сигналов управления микропроцессора, коммутатор данных, коммутатор микрокоманд, регистр числа, счетчик адреса, элемент

И,элемент ИЛИ, регистрмикрокоманды. Введен ряд связей между составными частями устройства, Раскрыта структура формирователей импульсов ускоренного умножения, местного управления и непосредственного операнда. 3 з,п, ф-лы, 6 ил.

1 124 30

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

На фиг,1 изображена структурная схема предлагаемого устройства; на фиг,2 — временные диаграммы работы устройства; на фиг,3 — структура микропроцессора; на фиг, 4 — схема распределителя импульсов ускоренного умножения; на фиг.5 — схема блока управления; на фиг ° 6 — схема распределителя импульсов непосредственчого операнда, 2Q

Устройство для обучения микропрограммированию содержит микропроцессор

1, блок 2 синхронизации, блок 3 памяти, блок 4 управления, блок 5 регистрации, блок 6 индикации, первый 7 и второй 8 блоки сравнения, распределители 9 и 10 импульсов, блок 11 . задания режима работы (записи †контроля), коммутатор 12 (сигналов синхронизации), коммутатор 13 (сигналов управления микропроцессора), коммутатор 14 (данных), коммутатор 15 (микрокоманд), регистр 16 (числа), счетчик 17 (адреса), элемент 18 И, элемент 19 ИЛИ, регистр 20 (микрокоманды). Микропроцессор 1 состоит из двух четырехраэрядных микропроцессорных секций, выполненных на одномкристалле по биполярной технологииинтегральных ин жекционных схем, Основными узлами микропроцессора ! являются (фиг.3): арифметико-логический узел 21 с 16-ю операциями и полной, схемой ускоренного переноса; восемь регистров общего назначения

22, последний является программным счетчиком 23; дополнительный, регистр

24 и рабочий регистр 25, которые могут быть использованы для операций как с одинарной,.так и с двойной точностью,", регистр 26 операций, основное назначение которого — хранение кода микрооперации в данном такте работы микропроцессора 1, регистр 26 имеет разрядность двенадцать и каждый рязряд его является управляющим для отдельных узлов, входящих в сос11 3 тав микропроцессора 1 (на фиг.3 выходные связи регистра 26 не показаны), мультиплексоры входа информации 27, выхода информации 28 и адреса 29, мультиплексор 27 соединен с входом узла 2! и коммутирует на его вход операнды различных источников микропроцессора и входную информацию, которая поступает в процессор 1 через коммутатор 14 (фиг,3), мультиплексор 28 выдает информацию на выходные шины, а мультиплексор 29 — на адресные шины значение программного счетчика 23, а также значения рабочего 25 и дополнительного 24 регистров; программируемая логическая матрица 30, с помощью которой девятиразрядное управляющее слово микропро- цессора 1 преойразуетсяся в двадцатиразрядное, которое заносится в регистр операции 26.

Основными составными частями рас-. пределителя 9 (фиг,4) являются элементы И 31 и 32; триггеры 33 и 34, инвертор 35, элементы И 36 — 39, элементы ИЛИ 40 и 41, Блок 4 содержит (фиг.5) пегистры

42 и 43, переключатель 44 (ввода информации и синхроимпульса, подаваемого из блока 12 на вход С регистров 42 и 43, куда последовательно заносится необходимая информация), тумблерный регистр 45 {управления входами микропроцессора), переключатель 46 (Пуск" ), переключатель 47 (режима "Одиночный-непрерывный"), переключатель 48 (" Сброс" ), перек" лючатель 49 (" Сброс регистра числа"), переключатель 50 (ввода информации в регистр числа), переключатель 51 (" Сброс счетчика адреса блока памяти"), переключатель 52

"Запись-работа", регистратор 53 (сравнения), Распределитель 10 содержит элементы И 54 и 55, мультиплексор 56, элемент ИЛИ 57, триггер 58, вход R которого соединен с переключателем 48, Структура устройства для обучения микропрограммированию выбрана исходя из условия наиболее наглядной демонстрации принципа. микропрограммного управления, Используемые режимы работы дают возможность изучить управление функционированием как основногс обрабатывающего устройства †микро-.

30)I

50

3 124 процессора, так и всего устройства в целом.

Предлагаемое устройство для обучения микропрограммированию работает следующим образом. 5

При изучении работы микропроцессора ) по отдельным микрооперациям набранные значения данных и микрокоманд в регистрах 42 и 43 блока 4 через соответствующие коммутаторы 14 и 15 (фиг.!) подаются на его входные шины. Синхронизация работы микропроцессора 1 происходит импульсом

2д (фиг ° 2), который подается в него через коммутаторы 12 и )3. Результат !5 выполчения микрооперации на шинах адреса и даннь|х фиксируется в блоке

5. Наличие выходных управляющих сиг-, налов микропроцессора определяется в блоках 7 и 8 и фиксируется блО- 20 ком 4, Состояние всех регистров индицируется в блоке 6. Для изучения системы команд в шаговом режиме в устройстве используется блок 4(фиг.5). В 25 регистры 42 и 43 с помощью переключателя 44 и синхроимпульса, подаваемого из блока 12 на вход С регистров

42 и 43 последовательно заносится необходимая информация, Переключатели

46 — 48 определяет режим работы блока 2, Переключатель 52 определяет режим работы блока 3 памяти.

Следующим этапом работы с устройством является составление последова35 тельностей микрокоманд выполнения сложения, умножения, деления. При этом составленная последовательность микрокоманд заносится в блок 3, и микропроцессор 1 работает под его 40 управлением. Запись микрокоманд в блок 3 осуществляется иэ регистра 16 с помощью блока 11, формирующего необходимые последовательности сигналов. Микрокоманда заносится в ре-: 45 гистр 16 последовательным кодом, значение которого "0" или "1" подается из блока 4 переключателем 50 (фиг ° 5), а стробирующий импульс — с коммутатора 12, После занесения в регистр 16 с коммутатора 12 подается импульс запи-. си, переписывающий информацию в бло)ка 3. При этом значение счетчика 17 автоматически получит приращение +1.

Значение регистра 16 и счетчика 17 индицируется в блоке 6. Для контроля правильности записанной в блок 3 информации блок 1! переводит-»,- p(лси..: контроля, при котором из блока 3 с инхроимпульсом коммутатора 12 осущес и»-. ляется контрольное чтение. При этом информация вновь заносится в регистр

16, Счетчик 17 указывает на ячейку, иэ которой производится чтение.

Формат микрокоманды — двадцать четыре разряда. Разряды 1-9 используются для управления микропроцессором разряды 10-19 являются управляющими разрядами блоков устройства для обучения микрапрограммированию, разряды 20-24 являются разрядами адреса следующей микрокоманды, Разряды микрокоманды имеют следующие значения: разряды "один-девять"управление микропроцессором 1; разряд ")0" — свободньп ; разряд "одиннадцать — управление входом перекоса узла 2) разряд "двенадцать" — управление выходом младшего разряда дополнительного регистра осуществляется блоком 8; разряд "тринадцать" — управление выходом переноса узла 21 осуществляется блоком 7; разряд "четырнадцать — управление занесением информации в блок с шин выхода данных микропроцессора 1; разряд ипятнадцать — управление занесением информации в блок с шин выхода микропроцессора 1; разряд "шестнадцать" управление младшим разрядом дополнительного регистра 24 при ускоренном умножении; разряд семнадцать — обращение за операндом при делении; разряд "восемнадцать" — признак операнда; разряд "девятнадцать" — конец микропрограммы; разряды "двенадцать-двадцать. четыре" — адрес следую. щей микрокоманды.

Такт выполнения микрокоманды начинается считыванием из блока 3 импульсом СИМ, который используется для синхронизации микропроцессора 1 и вырабатывается в блоке 2 (фиг.2е) . 3aдержка, которая возникает при считывании составляет примерно 100 нс, дает возможность непосредственно вводить операционную часть микрокоманды в процессор 1 (фиг.2ж), которая заносится в его регистр операции по фронту переключения из "0" в "l".

Управляющая и адресная часть микрокоманды заносятся в регистр 20 микрокоманды с синхроимпульсом (СИ)2 (фиг. 2и). К управляющему входу мультиплексора 56 подключен разряд "во1243011 семнадцать" регистра 20. Адресная часть микрокоманды заносится в регистр 20 по установочным входам (второй и третий входы счетчика 21) (фиг,2н), После этого, если необходимо, анализируются признаки выполнения операции (как правило, выходного переноса узла 2!) н блоке 7 или значения младшего разряда дополни- !О тельного регистра (при выполнении операции умножения в блоке 8), В блоки 7 и 8 эти признаки и значения по даются из микропроцессора 1 (фиг,2н).

Опросы этих значений производятся им- 15 пульсом СИ 4 (фиг,2р), вырабатываемым блоком 2, При этом значение регистра

20 в зависимости от результата увеличивается на +1 или на +2 (фиг.2н) °

После этого импульсами СИ 1 (фиг,2а), 2р вырабатываемыми блоком 2, модифицированное значение адреса заносится в счетчик 17 (фиг,2с), и начинается такт выполнения следующей микракоманды ° По заднему фронту импульса СИ 1 25 формируется короткий импульс, который сбрасывает регистр 20 перед новым занесением адреса из блока 3 (фиг ° 2т).

Операнды, над которыми произвоцятся операции, хранятся в блоке 3, в том ЗО же, что и управляющая информация, Для занесения их в процессор 1 необходимо в разряде признака операнда микрокоманды (18) установить "1" (фиг,2и), а сам операнд расположить в следующей ячейке бпока 3 в разря" дах 10-17. При этом:в данном такте схема выдачи операнда формирует им- пульс считывания из следующей ячейки блока 3. Этот импульс считывания фор- 0 мируется блоком 10 между задними фронтами импульсов СИ 3 и СИ 4 (фиг,2к), Операнд (фиг,3) заносится в регистр 20 и через распределитель

10 и коммутатор 14 подается на входные шины данных микропроцессора 1, Данные останутся на входных шинах до момента исполнения операции занесения (фронта иэ "1" в "0" импульI а синхронизации микропроцессора 1

СИ;1 (фиг,2м), При этом действие управляющих сигналов разрядов 10-17 блокируется, В микропроцессоре 1 используются следующие методы умножения и деления, 5

1). Двоичное умножение.

Множитель вносится в дополнительный регистр 24 микропроцессо1ра 1, множимое — н один из регистров общего назначения 22. Умножение осуществляется noi редством выполнения ряда сложений и сдвигов. Если младший разряд множителя равен нулю, то выпОлияется сдвиг вправо с удвоенной точностью — младший разряд рабочего регистра ?5 поступает в старший разряд ,цополнительного регистра 24, а младший разряд регистра 24 теряется ° Если младший разряд регистра 24 равен единице, то выполняется операция сложения и сдвига, 2). Двоичное деление, Деление (пятнадцать разрядов максимум) вводится в составной регИстр, состоящий из дополнительного регистра 24 и рабочего регистра ?5, и делитель подается на первый вход микпропроцессора 1, Деление осуществляется путем выполнения, рядов вычитаний и сдвигов, начиная со старших разря,цон. На каждом этапе делитель сравнивается с содержимым рабочего регистра ?5 микропроцессора 1 для определения того, нужно ли производить вычитание и сдвиг или просто сцвиг

:влево (в сторону старших разрядов) .

На каждом такте цифра частного заносится н младший разряд дополнитель" ного регистра 24 микропроцессора 1, По окончании деления частное окажется в регистре 24, остаток — в рабочий регистр 25 °

3), Ускоренное умножение.

Методом ускоренного умножения, реализуемом в микропроцессоре 1 янляется алгоритм Бута, Заключается он н следующем:

1, Множимое заносится в нулевой регистр общего назначения микропроцессора (РОНО) 22, множитель - в регистр 24, обнуляемый рабочим регист» ром (P,,P) 25> где будет храниться произведение, ?, Анализируется младший разряд .множителя с помощью распределителя 9.

Если он равен 1, то PP = PP — РОНО, если — О, то PP = PP + РОНО.

3. Выполняем арифметический сдвиг вправо содержимого регистров 24 и 25, анализируем новый младший разряд и предшествующий ему и преобразуем произведение. по правилу:

У - 1 У

0 0 PP = PP + О (нет операции сложения) 1243011

При реализации ускоренного умножения с помощью распределителя 9 по алгоритму Бута (разряд 15 микрокоман10 ды) в первом цикле проверки анализируется младший разряд РД, а в последующих циклах — предыдущий РД; — 1 и последующий РД . младшие разряды

О1 регистра 24, При этом предыдущий

15 выдвинутый из РД разряд запоминается во вспомогательном триггере (не показан), Значение счетчика 17 увеличивается на +1 или +2 в зависимости от значений

Условия модификации адреса при ускоренном умножении запишутся в сле25 дующем виде:

V(Т1ЛРД ° ЛРД ° МК Л MK ) () 1 — 1 ()z 3$ 17 (ltIC n МК ) Л((Т(ЛРД ) V (TIЛРД, ЛРД )); (4) MAÄÄC, (= ((Т(РД, ) CC (Tl ЛРД„;,CC РД ° )) A (МК, ЛМ(С ), где Т вЂ” значение триггера первого

1 цикла °

Указанные импульсы, соответствующие условиям модификации адреса согласно уравнениям (1) — (4), подаются с выходов блоков 7 и 8 и распределителя 9 на входы элемента 19, от- 40 куда поступают на вход счетчика 17, соответствующий увеличению результата показаний счетчика на +1, +2.

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

\ умножения и деления, в том числе и ускоренного умножения.

Повышение достоверности вводимой информации достигается при использовании блока 2 и коммутатора 12 воз- 55 можностью контроля микрокоманды после записи ее в регистре 16 (контроль ное считывание), 35

0 PP = PP + РОНО

1 0 PP = PP — РОНО

1 1 PP = PP + О (нет операции сложения)

4, Действие третье повторяется (n-1) раз, где n — число разрядов множителя, считая знаковый, Произведение получается с учетом знаков, Второй блок сравнения младшего разряда дополнительного регистра микропроцессора 1 формирует импульс модификации адреса, занесенного в адресную часть регистра 20 °

Если обозначить МК вЂ” разряд микрокоманды, РД вЂ” значение младшего разряда дополйительного регистра (РД)24, то условие формирования запишется следующим образом:

МА = MK, л. РД л MKä„, (1) Аналогично для первого блока сравнения выходного переноса узла 21 (выМА (Т! л РД,R МК л MK ) ход ПАЛУ), условие формирования импульса модификации следующее:

МА;1АЛУ = МК л ВЫХ ПАЛУ) МК т(2) РД; „и РД, ° "1-0" или "0-1".

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

1243011

20 вторые выходы которых подключены "оответственно к первому и второму входам элемента ИЛИ, третий вход котод5 рого соединен с первым выходом первого распределителя импульсов, а выход — с вторым входом счетчика, третий вход которого подключен к второму выходу первого распределителя импульсов, а четвертый вход — к выходу блока памяти, соединенному с четвертым входом второго регистра и вторым входом третьего коммутатора, второй вход второго коммутатора подключен к первому выходу второго распределителя импульсов, второй выход которого соединен с вторым входом соединены соответственно с вторыми выходами первого регистра и счетчика и выходом блока задания режимов работы, блок синхронизации, элемент

ИЛИ, элемент И, выход которого подключен к третьему входу блока регистрации, четвертый вход которого соединен с первым выходом четвертого коммутатора, о т л и ч а ю щ е е с я 10 тем, что, с целью расширения дидактических возможностей устройства, 1 в него введены второй регистр и два распределителя импульсов, первые входы которых соединены с выходом элемента И, подключенным к вторым входам первого и второго блоков сравнения, третьи входы которых и вторые входы распределителей импульсов подключены к выходу второго регистра; соединенному с первым входом. первого коммутатора, второй и третий входы которого подключены соответственно к вторым выходам четвертого коммутатора и блока управления, тре25 тий выход которого подключен к входу блока синхронизации, четвертый, пятый, шестой и седьмой выходы — к первым входам соответственно второго коммутатора, третьего коммутатора, элемента И и счетчика, восьмой и девятый выходы — соответственно к первому и второму входам первого регистра, а вход — к третьему выходу четвертого коммутатора, четвертый вы- 35 ход которого соединен с первым входом блока задания режимов работы и третьим входом блока памяти, первыи вход с первым выходом блока синхронизации, а второй и третий входы — с 40 первыми выходами соответcTBенно пер— вого и второго блоков сравнения, блока задания режимов работы, второй вход элемента И соединен с вторым входом блока задания режимов работы, второй вход элемента И подключен к второмУ выходу блока синхронизации, третий вход первого распределителя импульсов соединен с вторым выходом микропроцессора, 2, Устройства по п.1, о т л и ч аю щ е е с я тем, что в нем первый распределитель импульсов содержит последовательно включенные первый элемент И, второй элемент И, первый триггер, третий элемент И и первый элемент ИЛИ,, выход которого является вторым выходом распределителя, последовательно соединенные второй триггер„ четвертый элемент И и второй элемен.. ИЛИ, вью<од которого является первым пьгходом распределителя, последовательно включенные инвертор и пятый элемент И, выход которого соединен с вторым входом второго элемента

1ШИ, .и шестой элемент И, выход кото-. рого соединен с вторым входом первого элемента ИЛИ,, а первый, второй и третий входы †;оответственно с выходом первого элемен га И, вторым выходом первого триггера и вторым выхо— дам второго триггера, выход первого 3лемента И подключен к первому входу второгс триггера и к вторым входам гретьего, четвертого и пятого элементов И, первый выход первого триггера ссединен с третьим входом пятого элемента И, вторым входом второго лемента И и вторым входом второго триггера, второй выход первого триггера подключен к третьему входу четвертого элемента И, четвертый вход которого соединен с выходом инвертора, первый и второй входы первого элемента И являктся соответственно первьгм и вторым входами распределигеля, а вход ннвертора, второй вход второго триггера, третий вход третьего элемента 11 и четвертый вход tuecтого элемента И вЂ” третьим входом расг.ределителя, 3, Устройство по п.1, о т л и ч ак щ е е с я тем, что в нем второй распределитель импульсов содержит последовательно включенные первый элемент И, элемент ИЛИ и триггер, выход которого является вторым выходом распределителя, мультиплексор, вход и выход которого являются саответст1243011

12 венно вторым входом и первым выходом распределителя, и второй элемент И, выход которого соединен с вторым входом элемента ИЛИ, первые и вторые

5 входы первого и второго элементов И являкгся соответственно первым и вторым входами распределителя.

4. Устройство по п,1 о т л и ч а- 1ð ю щ е е с я тем, что в нем блок управления содержит первый регистр, первый и второй выходы которого являются соответственно первым и четвертым выходами блока, второй регистр, выход которого является пятым выходом блока, первый переключатель, пер-: вый и второй выходы которого соединены с первыми входами соответственно первого и второго регистра, третий регистр, выход которого является вторым выходом блока, второй, третий и четвертый переключатели, выходы которых являются третьим выходом блока и соединены с вторыми входами первого и второго регистров, пятый, шестой, седьмой и восьмой переключатели, выходы которых являются соответственно шестым, седьмым, восьмым и девятым выходами блока, и регистратор, вход которого и третьи входы первого и второго регистров являются входами блока.

) б EO I

2я 1

РО

Ра (г и Удлини

ЮиУ

c%/А . 8 ФЛУГА

1243011 ддлолб ddnw14

49 дюж

8дм я

Ez дадона

1g

Az дзота

Ю

Щг. о

ВНИИПИ Заказ 3709/51 ТиРаж 455 Подписное

Произв.-полигр. пр-тие, r. Ужгород, ул. Проектная, 4