УСТРОЙСТВО УПРАВЛЕНИЯ ЦИФРОВОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ Советский патент 1968 года по МПК G06F9/46 

Описание патента на изобретение SU224159A1

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

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

Это позволяет уменьшить общий объем оборудования машины.

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

Это позволяет перейти на программы, соответствующие причинам прерывания.

В блоке прерывания команд единичные выходы триггеров первого регистра запроса канала соединены через схему «ИЛИ» с единичным входом общего триггера запроса внешних устройств, выходы которого через клапаны подсоединены ко входам триггеров приостановки, а выходы последних соединены со входами синхронизатора. Выходы первого регистра запроса соединены с соответствующими входами второго регистра запроса, выходы второго регистра запроса и синхронизатора через схему, «ИЛИ» соединены со входами приоритетного дешифратора номера устройства, выходы которого соединены с кодовыми шинами номера адреса ячейки запоминающего устройства блока управления.

Это позволяет организовать обмен машины с внешними устройствами.

На фиг. 1 изображена блок-схема предлагаемого устройства; на фиг. 2 - блок-схема блока программного прерывания; на фиг. 3 - блок-схема блока прерывания команд.

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

Адресное запоминающее устройство разделено на две части, по 64 ячейки в каждой. Одна часть используется для программного прерывания, другая - для командного прерывания.

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

а) ячейки очередного адреса команды (счетчика адреса команд);

б) ячейки первого адреса;

в) ячейки второго адреса;

г) ячейки третьего адреса;

д) ячейки начального адреса или адреса перехода, обеспечивающей выполнение команд в машине.

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

В ходе выполнения команд производится обращение к различным рабочим ячейкам.

Номер ячейки, к которой производится обращение, определяется в блоке 2 формирования номера ячейки адресного запоминающего устройства, состоящем из регистра 3 номера уровня и регистра 4 номера ячейки в уровне.

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

Состояние регистра 4 номера ячейки в уровне изменяется в ходе выполнения команд.

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

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

Переключение уровней может производиться:

1) программно - по командам;

2) автоматически - при появлении причин прерывания, причем при одновременном появлении нескольких причин переключение производится на более приоритетный уровень.

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

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

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

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

Командное прерывание происходит следующим образом.

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

Адрес ячейки оперативного накопителя, к которой производилось обращение, модифицируется на «+1» и записывается в тот же дежурный регистр, из которого он (адрес) был прочитан, чтобы в следующий раз обращение производилось к следующей ячейке оперативного накопителя.

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

Адресное запоминающее устройство связано с регистром 6 адреса, связанным с оперативным накопителем по шинам 7. Устройство 8 центрального управления связано с блоком 2 шинами 9, по которым осуществляется обращение к различным ячейкам уровня в коде выполнения команд. По шинам 10 осуществляется программное переключение уровней. На блок 11 связи с внешними устройствами поступают сигналы от внешних устройств по шинам 12. Блок 11 связан с блоком 2 по шинам 13, осуществляющим автоматическое переключение уровня.

Первая часть адресного запоминающего устройства (ячейки 0÷63) разделена на восемь уровней по восемь рабочих ячеек-регистров каждый. На регистрах одного любого уровня может выполняться одна программа, а всего в машине может выполняться до восьми различных программ, каждая на своем уровне. Естественно, количество основных программ, одновременно выполняемых в машине, всегда будет меньше восьми, так как для успешного выполнения основных программ в машине необходимо иметь несколько обслуживающих программ, например, программу-координатор, управляющую одновременно выполнением основных программ и организующую работу внешних устройств; программу, обеспечивающую связь машины с оператором; программу, обслуживающую сбои, и др.

В машине уровни устройства 1 распределены следующим образом: 0, 1, 2-й уровни основных программ;

3÷7-й уровни обслуживающих программ.

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

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

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

В рассматриваемой машине установлено следующее соответствие причин прерывания и обслуживающих программ:

3-й уровень - указатели состояния внешних устройств;

4-й уровень - экстракод;

5-й уровень - ввод с пишущей машинки (связь оператора с машиной);

6-й уровень - сбои внешних устройств;

7-й уровень - сбои вычислителя.

Причины прерывания фиксируются в блоке программного прерывания в регистрах указателей, соответствующих классу причин:

а) В регистрах 13 сбоев вычислителя (фиг. 2) фиксируются сбои, возникающие при работе вычислителя;

- неверное чтение из блока 1 или оперативного накопителя;

- обращение к оперативному накопителю по нецифровому адресу;

- переполнение и др.

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

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

Прерывание внутри 7-го уровня (как и всех остальных обслуживающих уровней) - одноступенчатое. Это достигается при помощи соответствующего триггера блокировки уровня.

При любом (программном или автоматическом) переключении уровня устанавливается в единичное состояние триггер блокировки того уровня, на который произошло переключение, и выход на этот уровень блокируется до тех пор, пока не закончится выполнение обслуживающей программы данного уровня. Соответственно триггеры 14÷18 - триггеры блокировки 7÷3-го уровней.

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

б) В регистре сбоев внешних устройств фиксируются сбои, возникающие при работе последних.

При появлении сбоя любого внешнего устройства устанавливается в единичное состояние соответствующий указатель в регистре сбоев внешних устройств и через схему 19 или общий триггер 20 причины «Сбой внешнего устройства». В конце выполнения очередной команды в машине осуществляется переход на 6-й уровень, если прерывание по сбоям внешних устройств разрешено, т.е. если прерывание на 6-й уровень не заблокировано тумблером на пульте управления; если машина не выполняет программу более приоритетного 7-го уровня; если машина уже не находится на 6-м уровне (если триггер блокировки 15 находится в нулевом состоянии).

При этом устанавливаются в единичное состояние триггер 15 и в нулевое - триггер причины 20.

B программе 6-го уровня осуществляется программный поиск сбойного устройства. Для этого производится командный анализ состояния указателей в регистре сбоев внешних устройств.

в) Причиной для прерывания на 5-м уровне является запрос оператора на ввод с пишущей машинки.

Ввод разрешен, когда:

- в машине нет сбоев вычислителя или внешних устройств;

- машина не занята в этот момент на вывод;

- машина уже не находится на 5-м уровне.

Разрешение осуществляется при помощи схем 21 сборки и триггера. Если ввод разрешен (триггер разрешения ввода с пишущей машинкой находится в единичном состоянии) и от оператора через ключ 22 поступил запрос на ввод с пишущей машинки, устанавливается в единичное состояние триггер 23 причины «Ввод с пишущей машинки» и в конце выполнения очередной команды в машине осуществляется переход на 5-й уровень. При этом устанавливаются в единичное состояние триггер 16 блокировки 5-го уровня и в нулевое состояние - триггер 23 причины «Ввод с пишущей машинки». На регистрах 5-го уровня выполняется программа, организующая ввод с пишущей машинки (ПМ) и обеспечивающая связь оператора с машиной.

г) Причиной выхода на программу 4-го уровня является экстракоманда, встретившаяся в программах 0÷3-го уровней. При этом устанавливается в единичное состояние триггер 24 причины «Экстракод», и в конце выполнения очередной команды в машине осуществляется переход на 4-й уровень, если прерывание по экстракоду разрешено, т.е. если:

- в машине не выполняются программы более приоритетных 5÷7-го уровней;

- машина уже не находится на 4-м уровне (т.е. если триггер 17 блокировки 4-го уровня находится в нулевом состоянии). При этом триггер 24 причины «Экстракод» устанавливается в нулевое состояние, а триггер 17 блокировки 4-го уровня - в единичное.

д) В регистре указателей внешних устройств фиксируется состояние занятости устройств (на фиг. 2 этот регистр не показан).

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

- машина не выполняет более приоритетных программ 4÷7-го уровней;

- машина уже не находится на 3-м уровне;

- прерывание на 3-й уровень вообще разрешено.

При этом устанавливается в единичное состояние триггер 18 блокировки 3-го уровня и в нулевое состояние триггер 25 причины «Указатель внешних устройств».

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

В программе 3-го уровня производится программный поиск окончившего работу внешнего устройства. Для этого организуется программный анализ состояния указателей внешних устройств.

Возврат на прерванный уровень всегда осуществляется программно. Для этого на каждом уровне необходимо знать номер уровня предыдущей программы. Для запоминания номера предыдущего уровня используется дополнительный регистр номера уровня, в который переписывается содержимое основного регистра уровня при автоматическом и программном переключениях уровней. В начале выполнения прерывающей программы по специальной команде состояние регистров уровней (основного и дополнительного) запоминается в оперативном накопителе в отдельных ячейках для каждого уровня. Для формирования выходных сигналов служат схемы совпадения 27 и ключи 28. Работой триггера 25 управляет схема сборки 29.

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

Для хранения адресов текущей обменной информации каждого устройства используется вторая половина устройства 1 (ячейки 64÷127).

Всего к машине можно подключить 64 устройства (через восемь специальных канальных коммутаторов на восемь внешних устройств каждый).

Функциональная схема организации приостановок приведена на фиг. 3. При готовности внешнего устройства внести или принять очередное слово информации в машину из этого устройства посылается запрос на обмен информацией. Запросы внешних устройств на такт обмена фиксируются в блоке приостановок на соответствующих устройствам триггерах в первом регистре 30 запросов (в канальном коммутаторе).

Периодически в каждом такте работы машины производится опрос первых регистров запросов всех каналов и, если хотя бы одновнешнее устройство требует обмена, в машину по шинам 31 посылается общий сигнал «Запрос внешних устройств», по которому устанавливается в единичное состояние общий триггер 32 запросов внешних устройств. Для этого служат ключи 33 и схема сборки 34. Следующий тактовый импульс передает состояние триггера 32 запросов в триггер 35 приостановки и содержимое регистра 30 в регистр 37 (необходимость последнего вызвана тем, что запросы от внешних устройств поступают несинхронно с тактовыми импульсами машины). Единичное состояние триггера 35 означает, что должно быть приостановлено выполнение очередной команды и организован такт обмена информацией между машиной и запрашивающим внешним устройством, т.е. должен быть организован такт приостановки, в котором:

а) формируется номер устройства, запрос которого будет удовлетворяться в этом такте;

б) по сформированному номеру читается содержание соответствующего дежурного регистра устройства 1;

в) выполняется обмен информацией между машиной и соответствующим внешним устройством.

Номер устройства (номер дежурного регистра) формируется следующим образом.

Специальным сигналом «Передать номер устройства» по шине 36, вырабатываемым в машине, опрашивается регистр 37 запросов канала. Если состояние регистра 3 отлично от нулей, по этому сигналу в приоритетном дешифраторе 38 формируется номер того устройства, запрос на приостановку от которого поступил. Если в регистре записан «0», сигнал поступает в следующий канал.

Если поступило несколько запросов одновременно, формируется номер более приоритетного устройства.

Приоритет устройств установлен аппаратурно и тесно связан с номером: чем меньше номер, тем выше его приоритет. Сформулированный номер устройства выдается на кодовые шины номера «дежурного регистра» устройства 1. Триггер этого устройства в первом регистре запросов, приостановка которого удовлетворяется, и общий триггер запросов 32 переводятся в нулевое состояние.

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

В блоке прерывания команд применены ключи 39 и схемы 40 анализа разрядов регистров на «0».

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

название год авторы номер документа
Комбинированный канал 1986
  • Лопато Георгий Павлович
  • Смирнов Геннадий Дмитриевич
  • Пронин Владислав Михайлович
  • Рымарчук Александр Григорьевич
  • Карпейчик Виктор Владимирович
SU1405067A1
Устройство для контроля микропроцессорной системы 1989
  • Комаров Валерий Михайлович
SU1640693A1
Вычислительная система 1977
  • Бурцев В.С.
  • Рыжов В.И.
  • Хайлов И.К.
  • Бабаян Б.А.
  • Сахин Ю.Х.
  • Никитин Ю.В.
  • Лаут В.Н.
  • Горштейн В.Я.
  • Назаров Л.Н.
  • Ялунин Е.В.
  • Жеренов А.И.
  • Пентковский В.М.
SU692400A1
Устройство для сопряжения оперативной памяти с внешними устройствами 1981
  • Верига Маргарита Андреевна
  • Овсянников Валерий Иванович
  • Погодаев Валерий Викторович
  • Шевченко Тарас Григорьевич
SU993237A1
Устройство микропроцессорного управления и обработки информации 1979
  • Диденко Константин Иванович
  • Пшисуха Леонид Михайлович
  • Солодовников Вячеслав Григорьевич
  • Топорков Валентин Васильевич
  • Усенко Константин Михайлович
  • Чернец Николай Васильевич
SU947867A1
Управляющая векторная вычислительная система 1982
  • Прангишвили Ивери Варламович
  • Бабичева Елена Владимировна
  • Малюгин Владимир Дмитриевич
  • Соколов Владимир Владимирович
  • Денисенко Сергей Васильевич
  • Вейц Александр Вениаминович
  • Иванов Александр Иванович
  • Шкатулла Анатолий Иванович
  • Зверков Борис Семенович
  • Зрелова Татьяна Ивановна
  • Левертов Яков Анатольевич
  • Тодуа Джондо Альпезович
  • Гоголадзе Омар Васильевич
  • Вепхвадзе Анзор Николаевич
  • Гудушаури Гмаи Шалвович
  • Голубев Александр Павлович
  • Березенко Александр Иванович
  • Корягин Лев Николаевич
SU1120340A1
УПРАВЛЕНИЕ СКОРОСТЬЮ, С КОТОРОЙ ОБРАБАТЫВАЮТСЯ ЗАПРОСЫ НА ПРЕРЫВАНИЕ, ФОРМИРУЕМЫЕ АДАПТЕРАМИ 2010
  • Густав Зитманн, Iii
  • Дейвид Краддок
  • Томас Грегг
  • Доналд Уилльям Шмидт
  • Брентон Франсуа Белмар
  • Марк Фаррел
  • Деймиан Лео Осисек
  • Ричард Тарша
  • Джанет Истон
RU2526287C2
Устройство для сопряжения процессоров в мультипроцессорной системе 1984
  • Молоков Владимир Петрович
  • Митьковский Валерий Иванович
SU1188747A1
Устройство для контроля выполнения программ 1989
  • Мызь Александр Николаевич
  • Якименко Виталий Григорьевич
SU1709319A1
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ УПРАВЛЯЮЩЕЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ 1995
  • Кладов В.Е.
  • Орлов Д.В.
RU2094842C1

Иллюстрации к изобретению SU 224 159 A1

Формула изобретения SU 224 159 A1

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

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

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

SU 224 159 A1

Авторы

Смирнов Г.Д.

Качков В.П.

Даты

1968-11-26Публикация

1965-03-15Подача