Последовательный процессор
Изобретение относится к вычислительной технике. Целью изобретения является упрощение устройства. Процессор содержит блоки управления оперативным запоминающим устройством, постоянным запоминающим устройством и внешним запоминающим устройством, узел формирования адреса, счетчик команд, индексный регистр, блок умножения, синхрораспределитель, блок формирования константы сдвига, преобразователь последовательного кода в параллельный, дешифратор кода операции, блок приема прерывания, коммутаторы первого и второго операндов, коммутатор, коммутаторы команд и операндов, формирователь циклограммы, шифратор, счетчик, номера цикла, коммутатор признаков, операционный блок, регистр команд. 1 з.п. ф-лы, 2 ил.
Изобретение относится к области автоматики и вычислительной техники и может быть использовано в вычислительных устройствах последовательного действия. Целью изобретения является упрощение устройства. На фиг. 1 представлена функциональная схема последовательного процессора; на фиг. 2 функциональная схема операционного блока. Процессор содержит блок 1 управления оперативным запоминающим устройством (ОЗУ), блок 2 управления постоянным запоминающим устройство (ПЗУ), блок 3 управления внешним запоминающим устройством (ВЗУ), блок 4 формирования адреса, счетчик команд 5, индексный регистр 6, регистр множителя 7, регистр 8, блок 9 умножения, синхрораспределитель 10, блок 11 формирования константы сдвига, блок 12 модификации команд, преобразователь 13 последовательного кода в параллельный, дешифратор 14 кода операции, блок 15 приема прерывания, коммутаторы первого 16 и второй 17 операндов, коммутатор 18, коммутатор 19 команд, коммутатор 20 данных, формирователь 21 циклограммы, шифратор 22, счетчик 23 номера цикла, коммутатор 24 признаков, регистр 25 признаков, операционный блок 2, регистр 27 команд, первых вход 28 данных, вход 29 запроса на прерывание, первый управляющий выход 30, второй вход запроса 31 данных, третий вход 32 данных, вход 33 непрограммируемой команды, выход 34 адреса оперативному запоминающему устройству, четвертый вход 35 данных, информационный выход 36 процессора, выход 37 адреса постоянного запоминающего устройства. Операционный блок 26 содержит арифметико-логический узел 38, узел 39 формирования переноса, узел 40 формирования признаков, дешифратор 41 кода микрооперации, первый 42, второй 43, третий 44 информационные входы, вход 45 синхронизации, первый и второй управляющие входы 46 и 47, вход 48 кода микрооперации, первый информационный выход 49, информационные выходы 50 (со второго по пятый 51 54) операционного блока. Блоки 1, 2, 3 управления ОЗУ, ПЗУ и ВЗУ предназначены для формирования сигналов управления селекцией информации, поступающих из соответствующих блоков путем дешифрации соответствующих разрядов счетчика команд 5 или индексного регистра 6. Блок 4 формирования адреса ПЗУ предназначен для коммутации кода адреса ПЗУ из младшего байта счетчика команд 5 при выборке из ПЗУ команды, либо из младшего байта регистра команды 10 при выборке из ПЗУ операнда, при этом источником старших разрядов адреса ПЗУ соответственно является старший байт счетчика 5, либо старший байт индексного регистра 6. Младший байт счетчика команд 5 предназначен для организации естественной последовательной выборки команд и ПЗУ, его старший байт предназначен для хранения информации о текущем номере блока ОЗУ, текущем номере блока ПЗУ, а также о текущем номере массива ПЗУ в пределах выбранного блока и из которого в данный момент должна извлекаться текущая команда программы. Младший байт индексного регистра 6 предназначен для организации относительной адресации при считывании операндов, а его старший байт имеет назначение, аналогичное старшему байту счетчика 5 при выборке из ПЗУ операндов. Кроме того, некоторые комбинации в старшем байте индексного регистра 6 служат для адресации блоков ВЗУ. Регистр 7 множителя предназначен для хранения операнда при выполнении операций умножения и сдвигов, а также результатов операций и представляет собой регистр сдвига. Регистр 8 предназначен для хранения операнда и результата операций и также представляет собой регистр сдвига. При исполнении операций с удвоенной точностью, регистр 8 и регистр множителя 7 образуют единый регистр, причем младшие разряды операнда (результата) хранятся в регистре 7. Блок 11 формирования константы предназначен для преобразования двоичного кода младших разрядов адресной части команды в унитарный код, который указывает количество разрядов, на которое надлежит сдвинуть код операнда, а также номер разряда операнда при бытовых операциях и представляет собой реверсивный счетчик с параллельной записью и выходом переполнения (переноса и заема). Блок 12 модификации команд предназначен для организации относительной адресации памяти и представляет собой последовательный сумматор. Преобразователь 13 служит для преобразования последовательного кода старших разрядов команды, содержащих код операции в параллельный и хранения их в течение исполнительной стадии операции и представляет собой регистр с параллельной записью разрядов. Формирователь 21 циклограммы предназначен для формирования управляющих сигналов при организации записи в младший байт результата, в старший байт результата, в требуемый бит результата, либо в слово результате целиком и представляет собой формирователи пакетов импульсов соответствующей продолжительности и соответствующего расположения во времени в течение рабочего цикла операции и мультиплексора, который осуществляет выбор выхода требуемого формирователя в соответствии с выполняемой операцией. Регистр признаков 25 предназначен для хранения признаков, поступающих от операционного блока 26, переноса операционного блока 26, а также для хранения значения знаков первого и второго операндов. Регистр команд 37 служит для приема и хранения последовательного кода текущей команды программы, либо непрограммированной команды программы, либо непрограммированной команды в течение исполнительной стадии операции и представляет собой регистр сдвига. Операционный блок 26 предназначен для выполнения арифметических и логических операций над двумя числами, а также для выполнения операций пересылки операндов из источника в приемник или нескольких источников в несколько приемников. Операционный блок 26 также служит для формирования признаков условного перехода и переполнения разрядной сетки и т.д. Узел 39 формирования переноса операционного блока 26 предназначен для формирования сигнала переноса при выполнении арифметических процедур, в том, числе для блокировки распространения переноса в пределах одного слова, либо для распространения переноса в следующее слово (при выполнении точных арифметических операций). Характеристики процессора одноадресный, последовательный, с представлением числа в дополнительном коде с запятой, фиксированной после старшего (знакового) разряда. Формат команды младший байт адресная часть, старший байт код операции, а также признак операции с числом из ПЗУ (ПП) и признак модификации адресной части (ПМ). Порядок поступления информации младшими разряда вперед. Работу процессора можно условно разбить на три стадии: 1 выборка команды из ЗУ, 2 Выборка операнда из ЗУ, 3 дешифрация кода операции и собственно исполнение операции. Рассмотрим работу устройства в каждой стадии. 1. Выборка команды из ЗУ. В счетчике команд 5 производится формирование адреса следующей команды путем инкремента его содержимого. Адрес следующей команды из счетчика 5 последовательным кодом поступает через блок 4 формирования адреса на шину 37 и далее в блоки ПЗУ, где записана программа вычислений. По специальной команде предусмотрена выборка команды из ОЗУ в этом случае адресная часть команды поступает по шине 34 в блоки ОЗУ, где записана очередная команда, по шине 31 команда ОЗУ также следует в коммутатор 18. По адресу команды производится выборка всех блоков ОЗУ и ПЗУ одновременно, однако в коммутаторе 18 производится селекция соответствующего блока ОЗУ или ПЗУ по сигналам, поступающим из блоков 1 и 2 управления, которые осуществляют дешифрацию соответствующих разрядов старшего байта счетчика 5. Команда, селектированная коммутатором 18, поступает в коммутатор команды 19, который осуществляет коммутацию команды, поступающей из ЗУ, либо непрограммированной команды, поступающей из УВВ по шине 33 при поступлении запроса на прерывание. Запрос на прерывание формируется в УВВ при готовности к приему (выдачи) информации для внешнего устройства с низким быстродействием и поступает по шине 29. Запрос на прерывание обслуживается блоком 15 при условии завершения текущей многоцикловой операции по сигналу, поступающему со второго выхода дешифратора 14 кодов операций. Этот же сигнал разрешает инкремент счетчика 5, поступая на его первый ход. Естественная последовательность команд, формируемых счетчиком 5, может нарушаться, так он является программно доступным. 2. Выборка операнда из ЗУ (УВВ). Выбранная команда из коммутатора 19 поступает в блок 12, где производится модификация адресной части команды в соответствии с относительной организацией адресации. Модификация производится при наличии признака модификации (ПМ) в команде путем суммирования адресной части команды с младшим байтом индексного регистра 6, модифицированная таким образом команда записывается в регистр 27 команды, где хранится в последовательном коде в течение времени исполнения операции, кроме того, в регистре 27 осуществляется дешифрация на нулевой код адресной части команды (сигнал АМ=О). Из регистра 27 модифицированная адресная часть команды (АМ) поступает на шину адреса ОЗУ, ВЗУ и УВВ 34, а также в блок 11 формирования константы сдвига. Кроме того, в ряде операций адресная часть (или ее сегменты) может является первым операндом, т.е. используется способ непосредственной адресации. С этой целью третий выход регистра 27 соединен также с коммутатором 16 первого операнда. По адресу, выставленному на шину 34, может осуществляться считывание данных из ОЗУ, ВЗУ и УВВ. Кроме того, возможна выборка данных из ПЗУ в этом случае адресная часть команды (АМ) поступает через блок 4 формирования адреса на шину 37. Выборка данных из ПЗУ может осуществляться из блоков ПЗУ, отличных от блоков ПЗУ, из которых выбиралась текущая команда. С этой целью старший байт индексного регистра 6 содержит соответствующий номер блока ПЗУ, который поступает в блок 12 управления ПЗУ. В старшем байте индексного регистра 6 содержится также номер блока ВЗУ, из которого возможна выборка операнда. Формирование управляющих сигналов при работе с ВЗУ осуществляется блоком 3 управления ВЗУ. Выбранный из ЗУ операнда в последовательном коде поступает на входы коммутатора данных 20 из ОЗУ, либо ПЗУ через коммутатор 18, а из ВЗУ - непосредственно с шины 35 связи с ВЗУ. 3. Исполнительная стадия операции. Принятая в регистр 27 команда, содержащая в своем составе код операции, преобразуется в параллельный код в блоке 13, где хранится в течение всей исполнительной стадии. Кроме кода операции, в блок 13 записываются и хранятся признаки адресации (ПМ) и признак выборки данных из ПЗУ (ПП), а также старшие разряды адресной части, которые при некоторых операциях содержат определенные признаки, например определяют характер сдвиговых операций (вправо-влево, арифметический-логический). Параллельный код из регистра 13 поступает в дешифратор кода операций 14, шифратор 22 и формирователь 21 циклограммы. Дешифратор 14 формирует управляющие сигналы для коммутаторов первого 16 и второго 17 операндов, коммутатора признаков 24, а также формирует код микрооперации для операционного блока 26. Кроме того, дешифратор 14 формирует сигналы приема следующей команды в регистр команды 27 и записи кода операции следующей команды в регистр 13, а также сигналы формирования номера цикла текущей команды в счетчик 23 номера цикла. В свою очередь, код счетчика 27 номера цикла входит составной частью во входное слово дешифратора 14, таким образом, код номера цикла позволяет изменять выходное состояние дешифратора 14 в различных циклах выполнения операции. Кроме того, код счетчика 23 является составной частью входного слова операционного блока 26, позволяя осуществлять различные процедуры в различных циклах выполнения операции. Выходы дешифратора 14 осуществляют управление коммутаторами первого 16 и второго 17 операндов и коммутатора 24 признаков. При этом коммутатор первого операнда может осуществлять селекцию данных, поступающих из ЗУ через коммутатор 30 произведения, получаемого из блока 9 при выполнении операций умножения и сдвигов, а также модифицированную адресную часть команды (АМ) или отдельных ее сегментов при выполнении операций с непосредственной адресацией. Коммутатор 17 второго операнда осуществляет селекцию информации, поступающей от регистра 7, блока 9, индексного регистра 6 регистра 8, а также данных УВВ, поступающих по шине 28. Коммутатор 24 признаков производит селекцию различных признаков в ходе выполнения операции, в число коммутирующих признаков входят признаки условного перехода (), переполнения разрядной сетки (P), знаки первого, второго операндов и знак произведения, текущее значение разряда частного, а также дешифрированная на нуль адресная часть команды (АМ=О). Перечисленные признаки совместно с текущим значением переноса операционного блока 26 хранятся в регистре 25 признаков. Информация, поступающая из коммутаторов 16, 17 и 24, подается на соответствующие входы операционного блока 26 шины 42, 43 и 46 соответственно. На шину 44 поступает сигнал переноса, полученного в предыдущем такте, выданного по шине 52 операционного блока 26 и задержанного в регистре 25 в соответствии с алгоритмом работы последовательных суммирующих устройств. На шину 45 операционного блока 26 поступает временной сигнал указатель знакового разряда от синхрораспределителя 10. По шинам 46 и 47 в дешифратор 41 поступают соответственно код микроопераций и сигнал номера цикла, которые определяют характер процедуры, выполняемой в текущем цикле в блоке 26. Результат процедуры является совокупностью собственно результата, снимаемого с шины 49, набора признаков, снимаемых с шины 50, под шинами которого являются перенос 52, разряд частного 51, признак переполнения 54 и признак условного перехода 53. Под воздействием управляющих сигналов с дешифратора 41 арифметико-логический узел 38, узел 39 формирования переноса и узел 40 формирования признаков осуществляют выполнение требуемой процедуры. При этом в узле 38 предусмотрены следующие процедуры: ударные передача первого, второго операнда или признака в шину 49, бинарные логические (полный набор булевых операций) и арифметические (сложение вычитание) попарно любых двух переменных, условные ветвления, например: 1) ветвленные передачи Z:41, Пр 0 Z:42, Пр 1, 2) логические ветвления Z:41+42, Пр 0 Z:41-42; Пр 1 3) арифметические ветвления Z:41+42, Пр0 Z:41-42, Пр 1
Наконец, на узле 38 можно реализовать триарные процедуры полный набор нулевых функций от трех переменных, а также арифметических процедур с тремя переменными, однако из этих возможностей обычно требуется лишь некоторые, например:
арифметическое обогащение кода разности
Z:41-42+1 мл.р;
вычисление разряда частного
P4 41 + 42 + Пр,
где 41 знак остатка;
42 знак делителя;
Пр предыдущее значение разряда частного и ряд процедур над знаками. Узел 39 формирования переноса участвует при арифметических процедурах и позволяет блокировать перенос из любого разряда (управление блокировкой осуществляется по шине признака 46), либо распространять перенос в любой разряд, в том числе в следующее слово (что используется в арифметических операциях со словами кратной длины). Узел 40 формирования признаков позволяет определять признак условного перехода операции по равенству результата нулю, по знаку, по переносу, по переполнению, а также осуществлять переключение признака, полученного в предыдущем цикле в последующей, например: wi=i-1. Признак переполнения выделен в особую шину 54, поскольку процессор с числами с фиксированной запятой и формируется при арифметических процедурах, а также при нормализации чисел. Операционный блок 26 может быть реализован в виде БИС ПЗУ или ПЛМ. Такая реализация позволяет по требованию пользователя формировать необходимый набор процедур. Выбранные первый и второй операнды, а также признак поступают в последовательном (признак может поступать и в параллельном) коде в операционный блок 26, который осуществляет собственно вычислительную процедуру, описанную выше. Далее последовательный код результата (Z) поступает в регистры 6, 7, 8, счетчик 5, в шину "Число в ОЗУ, УВВ" 36. Запись в регистры осуществляется по управляющим сигналам шифратора 22, который распределяет сигналы в приемники (возможна запись в несколько приемников, например в накопитель 8, регистр множителя и ОЗУ) с одной стороны, а с другой стороны - под воздействием временного интервала заданной длительности и смещения, поступающего из формирователя 21, осуществляется запись в требуемые сегменты слова в заданный бит, заданный байт, во все слова целиком. Тип циклограммы определяет код операции, поступающий в формирователь 21 от регистра 13. Временные границы циклограммы определяют сигнал от блока 11 формирования константы сдвига и от синхрораспределителя 10. При работе устройства используется совмещение стадии выполнения команд, т. е. одновременно производится выборка k+1 команды выборка операнды по к команде и исполнительная стадия k-1 команды.
Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2MM4A Досрочное прекращение действия патента Российской Федерации на изобретение из-за неуплаты в установленный срок пошлины за поддержание патента в силе
Дата прекращения действия патента: 17.04.1998
Номер и год публикации бюллетеня: 14-1999
Извещение опубликовано: 20.05.1999