Микропрограммный процессор

 

ОП ИСАНИЕ

ИЗОБРЕТЕНИЯ

Союз Советских

Социалистических

Республик

К АВТОРСКОМУ СВИ ЕТЕЛЬСТВУ (61) Дополнительное к авт, свид-ву (22) Заявлено 040178 (21) 2566799/18-24 {51)М. КЛ. с присоединением заявки № (23) Приоритет

G 06 F 15/00

Государственный комитет

СССР по делам изобретений н открытий

Опубликовано150680. Бюллетень ¹ 22

Дата опубликования описания 1506.80 (53} УДК 681,14 (088. 8) (72) Авторы изобретения

Б-.П.Б. Беляускас, P.È. Валаткайте, Г. Б. Жинтелис, О.М. Ланцман, Д. К. Лукшен е, A.È. Йемейкшиc и К-P.Ñ. Светикас (71) Заявитель

Специальное конструкторское бюро вычислительных машин (54 ) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР

Изобретение относится к вычислИтельной технике и может быть использовано в ЦВМ.

Известно устройство, осуществляющее асинхронную связь между более медленной оперативной памятью и более быстродействующим процессором (1) .

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

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

Цель изобретения — увеличение быстродействия процессора.

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

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

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

На черте>ке приведена схема микропрограммного процессора.

Схема микропрограммного процесса1 а состоит из блока 1 памяти, арифетика-логического устройства 2, блока 3 обмена данными, адресного блока 4, буферной памяти данных 5 и блока 6 микропрограммного управления. Оперативная память 1 связана с блоком 3 обмена данными входными информационны и шинами 7, выходными инФормационными шинами 8, шинами 9 управляющего слова памяти и шинами

1G контроля состояния памяти, а с блоком 6 микропрограммного управления шинами 10 контроля состояния памяти. Блок 3 обмена.да .ыми содержит регистр 11 данных, регистр 12 слова памяти, счетчик 13 текущего адреса, связанный с коммутатором

14 данных и через элемент 15 задерж15 ки и блок выборки элементов 16 И с входными элементами 17 И регистра

11 данных, а также содержит блок 18 определения момента обращения к оперативной памяти (блок проверки ло2О гических условий), связанный по входу 36 .с арифметика-логическим устройством 2 и счетчиком 13 текущего адреса, а па выходу с входными эл ментами И регистра 12 слова памя>5 ти,. Блок 3 обмена данными связан с арифметика-логическим устройствам 2 и буферной памятью данных 5 выходными информационныи шинами 19 и входными информационными шинами 20.

Адресный блок 4 содержит счетчик

21 адреса команды и счетчики 22 и

23 адресов операндов (и счетчиков), связанные па выходу с арчфметикологическим устройством 2, а также содержит регистры 24, 25 и 26, номера байта (n регистров), относящиеся соответственно к адресу команды и адресам операндов .. Буферная память данных 5 связана с арифметико-логическим устройством 2 вход40 ными и выходными информационными шичами. Блок 6 микропрограммного управления содержит регистр 27 текущего цикла, память микропрограмм 28, дешифратор 29 микрокоманд, формирователь 30 сигналов блокировки и блок

31 блокировки процессора, элементы

32, 33, 34, 35, 17, 37, 38, 39 И.

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

741269 полей происходит побайтно, а их длина определяется командой. За один цикл процессора может выполняться одна операция обработки данных, име ощих длину 1 байт.

Цикл оперативной памяти можно услонно разделить на четыре равные части, отличающиеся между собой процессами, которые происходят н памяти, т.е. на части, соответствующие различным состояниям памяти. В состоянии 0 в оперативной памяти принимается управляющее слово, определяющее адрес данных и характер операции. В состоянии 1 работа памяти определяется операцией: в операции чтения происходит выборка данных, в операции записи прием данных, подлежащих хранению в памяти. Состояния 2 и 3 определяют регенерацию считанной информации или запись 20 информации, принятой в состоянии 1.

Таким образом, данные для записи должны быть подготовлены процессором до того, как память достигнет состояния 1, а в операции чтения данные могут быть использованы процессором не ранее, чем память достигнет состояния 2, т.е ° по истечении времени выборки Т>. Длительность цикла оперативной памяти в предлагае- 3g мом микропрограммном процессоре составляет 2,5 мкс, длительность цикла процессора 0,625 мкс, т.е. одну четвертую часть цикла оперативной памяти.

В микропрограммном процессоре предусмотрена аппаратура, позволяюща:; частично или полностью совместить циклы обработки данных процессороМ с циклами оперативной памяти, что приводит к. увеличению быстродействия процессора. Совмещение достигается эа счет того, что в процессоре организуется выборка и размещение данных в памяти группами при байтовой обработке, что позволяет при обработке данных текущей выборки заранее организовать обращение к оперативной памяти с целью чтения или записи данных, которые потребуются по окончании обработки данных теку- 50 щей выборки. Обмен между оперативной памятью и остальной частью микропрограммного процессора происходит

8-байтовыми словами.

Основной для органиэации такого 55 обмена является разделение текущего адреса байта данных или текущего адреса команды на две части: физический адрес слова памяти и номер байта н слове памяти, причем физичес- 60 ким адресом слова являются старшие разряды адреса байта, а номерами байта в слове — младшие разряды адреса байта. Физический адрес слова и номер байта в процессе обработки мо- 65 гут изменяться независимо друг от друга °

Обмен данными с оперативной памятью и обработка происходят н предлагаемом микропрограммном процессоре следующим образом, При необходимости чтения или записи данных в регистре 12 слова формируется управляющее слово, содержащее физический адрес 8-байтового слова памяти,запрос обращения к оперативной памяти, код операции памяти и другие данные, и передаются н блок 1 памяти через шины 9 управляющего слова. В операции чтения по окончании времени выборки Т>, что соответствует состоянию памяти 2, сигналы контроля состояния памяти 10 разрешают запись

8-байтового слова с информационных шин 8 памяти в регистр 11 данных через элементы 32 И. Если н управляющем слове указана операция записи, то после приема управляющего слона,что соответствует состоянию памяти 1, оперативная память принимает через входные информационные шины 7-8-.бай-. товое слово, сформированное заранее в регистре 11 данных.

Текущие адреса команды и операндов хранятся в адресном блоке 4 таким образом, что физический адрес слова памяти, которому принадлежат байты команды или операндов, содержится в счетчиках 21, 22, 23 соответственно, а номера байтов — в регистрах 24, 25 и 26. Если в регистр 11 данных выбрано слово, соответствующее физическому адресу в счетчиках 21, 22 или 23, значение номера байта переписывается под управлением микрокоманд иэ регистра

24, 25 или 26 через элементы 33, 34 или 35 И в счетчик 13 текущего адреса; нужный байт появляется на выходе коммутатора 14 данных и может быть использован арифметико-логическим устройством 2.Последовательное изменение физического адреса осуществляется под управлением микрокоманд непосредственно в счетчиках 21 и 22 или 23, а переход к непоследовательно расположенным словам осуществляется путем измерения адресов в арифметикологическом устройстве 2, для чего выходы счетчиков 21, 22, 23 и регистров 24, 25 и 26 соединены со входами арифметико-логического устройства 2. а выходы счетчикон с выходными шинами 20 арифметико-логического устройства 2.

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

После выборки нужного количества байтов данных текущее значение счет741269 чика 13 может быть возвращено под управлением микрокоманд в . егистр

24, 25 или 26 номера байта.

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

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

19 на вход арифметико-логического устройства 2. Одновременно происходит побайтнаЯ выборка другого операнда из буферной памяти 5 и формирование байта результата. Результат как правило должен быть размещен в оперативной памяти. Накопление результата происходит в регистре 11 данных на месте использованных байтов исходных данных под управлением счетчика 13 текущего адреса следующим образом.

Значение счетчика 13, в соответствии с которьм сформирован выход коммутатора 14 данных, поступает через элемент 15 задержки на блок 16 выборки элементов И. Элеменг 15 задержки обеспечивает запаздывание счетчика 13 текущего адреса на один цикл процессора. Таким образом, когда новым значением счетчика 13 выбирается очередной байт исходных данных, на блоке 16 выборки элементов И имеется предыдущее значение номера байта а на выходных шинах арифметико-логи ческого устройства 2 имеется результат обработ,è предыдущего байта.

Этот результат и записывается под управлением микрокоманд в регистр

11 данных через элементы 17 И на место, определяемое блоком 18 выборки элементов И, который дешифрует задержанное значение номера байта.

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

Если ри обработке поля данных cIIpaва налево текущее значение номера байта в счетчике 13 НБ = О или при обработке поля данных слева направо НБ = 7, происходит обработка последнего байта в слове, и для продолжения операции бзз прностанова в следующем цикле процессора необходимо, чтобы в регистр 11 данных были приняты новые данные, или чтобы регистр 11 данных к началу следующего цикла был освобожден от результата, Для этого необходимо сформировать запрос обращения к оперативной памяти раньше, чем процессор закончит обработку последнего байта в слове, Если поле данных заканчивается в пределах данного слова памяти, то новое обращение для выборки данных не требуется, т,е. момент формирования запроса на выполнение операции памяти зависит и от текущей длины обрабатываемого поля. Формирование управляющего слова определяется схемой 18 определения момента обращения к оперативной памяти,формирующей управляющие сигналы как функции текущего значения номера байта НБ и текущего значения длины поля Л. Текущее значение длины поля, 2О укаэыв.- щее в ка цый момент времени количество байтов данных, подлежащих обработке в данной операции, формируетая в процессе обработки в арифметико-логическом устройстве 2 и передается в схему 18 определения момента обращения к оперативной памяти через шины 36 текущей длины поля ° Схема 18 может. проверять несколько различных соотношений номера

M байта и длины в зависимости от выполняемой операции, Например, при обработке байтов оля слева направо может проверяться соотношение типа (НБ =- 5) ° (ЛЪ2) + (НБ = 6): (Л> 1) +

Э5 + (НБ = 7), где знак + указывает логическое сложение.

Если схема 18 сформировала управляющий сигнал, то в регистре 12 слона памяти формируется требуемое щ угравляющее слово, причем физический адрес очередного слова памяти записывается под управлением микрокоманд через элементы 37, 38 или 39 и из нужного счетчика (21„ 22 или 23).Посщ ле этого операция памяти считается инициированной, а содержимое счетчиков 21, 22 или 23 может изменяться процессором с целью подготовки следующего обращения.

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

oI".ерации памяти в этом случае может формироваться во,время обработки процессором байта 5, байта 6 или байта 7 текущего слова данных. Если запрос на выполнение операции памяти формируется во время обработки байта

5, то первая половина цикла памяти (Т ) используется процессором для

6О обработки байтов 6 и 7, а после выборки и приема в регистр 11 данных нового слова памяти при состоянии памяти 2 начинается обработка байта

О следующего слова без приостановки

65 действия процессора. В этом случае

741269 процессор работает одновременно и параллельно с блоком памяти в тече ние всего цикла памяти, т.е. осуществляется полное перекрытие цикла оперативной памяти циклами процессора. Обращение к блоку памяти во время обработки процессором байта 6 или байта 7 возможно тогда, когда обработка заданного поля начинается с этих байтов. Однако в этих случаях возможно только частичное перекрытие цикла памяти циклами процессора, так как процессор не имеет запаса текущих данных на два цикла процессора, соответствующих времени выборки оперативной памяти (ТБ ), и его действие должно блокироваться до получения нового слова данных из памяти, т.е. до достижения памятью состояния 2.

10 ройства и оперативную память низкого быстродействия, В предлагаемом микропрограммном процессоре при его реализации может модифицироваться величина порции данных для обмена с оперативной памятью и соотношение между длительностью цикла оперативной памяти длительного процессора, что приведет к изменению разрядности счетчика 13 и регистров 24, 25, 26, к изменению разрядности регистра 11 данных,блока 16 выборки, а также к выбору другого объема буферной памяти данных 5.

Уменьшение времени выполнения операций находится в пределах от

1,6 до 2 раэ для различных операций.

Блокирование действия процессора производится в блоке б микропрограммного управления. .Блок 6 микропрограммного управления содержит постоянную память 28.для хранения микропрограмм, согласно которым выполняются операции процессора. Номер текущего. цикла процессора хранится в регистре 27 текущего цикла и представляет собой одновременно и адрес постоянной памяти 28, по 30 которому находится слово микрокоманды данного цикла. Извлеченное из памяти 28 слово дешифруется на дешифраторах 29 микрокоманд, на вы- ходах которых формируются сигналы 35 уг...давления вентилями микроопераций.

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

Блок 31 блокировки процессора при наличии сигнала с Формирователя

30 анализирует состояние оперативной памяти по сигналам, поступающим по шинам 10 контроля состояния памяти. Если память находится в состоянии 2, которое означает, что в оперативной памяти завершается запись предыдущего 8-байтового слова результата, либо выбрано новое 8-байтовое слово Данных, действие процессора не блокируется, т.е. микропрограмма процессора продолжается без задержки.

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

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

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

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

741269

Заказ 332б/7

Подписное

ЦНИИП И

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

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

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

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

1. Патент США 9 35á4507, кл. 340-172.5, 1971.

2. Хассон С. Микропрограммное управление. М., Мир, 1974 (прототип),

Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор 

 

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

Процессор // 739539

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

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

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

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

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

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

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