Устройство предварительной выборки команд

Иллюстрации

Показать все

Реферат

 

1. УСТРОЙСТВО ПРЕДВАРИТЕЛЬНОЙ ВЫБОРР КОМАНД, содержащее блок регистров команд, блок управления выборкой команд и блок управления, причем информационный вход устройства соединен с информационным входом блока регистров команд, выход которого является информационным выходом устройства, первый выход блока управления соединен с управляющим входом блока регистров команд, первый выход блока управления выборкой комавд является адресным выходом устройства, отличающееся тем, что, с целью повьппения производительности, в него введены мультиплексор, дешифратор и блок хранения команд перехода, содержащий регистр сдвига, элемент задержки,элемент НЕ, элемент Ш1И, две группы элементов И, группу сумматоров по модулю два, две групг : регистров,группу элементов ИЛИ, а блок управления выборкой команд содержит элемент И, три элемента ИЛИ, сумматор по модулю два, параллельный накаш1иваю1ций сумматор , два мультиплексора и счетчик, а блок управления содержит группу элементов ИЛИ, группу элементов И, элемент ИЛИ и регистр сдвига, -vpjj.j. ййддМ1 |У : А чем первые входы сумматоров по модулю два группы блока хранения команд перехода соединены с выходами счетчика, параллельного накапливающего сумматора, элемента И и первым выходом блока управления выборкой команд, входы адреса перехода устройства соединены с первьв и входами элементов И первой группы, с входами элемента НЕ и элемента задержки , с информационными входами регистров первой и второй групп блока хранения команд перехода, выход элемента ИЛИ и выходы элемен- . тов ИЛИ группы которого соединены g с первыми группами информационных входов первого и второго мультиплексоров , с первыми управляющими входами первого и второго мультиплексоров и с первым входом первого элемента ИЛИ блока управления выборкой § Команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторым входом первого элемента ИЛИ, с вторыми и третьими управляющими входами первого и второго мультиплекЮ свров блока управления выборкой коСО манд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регистра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд сое

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

° IW

РЕСПУБЛИК..Я0„„1107123

g g С 06 F 9/46

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

flO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫПФ

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Ю 3

САЭ

1 (21) 3578919/18-24 (22) 11.04.83 (46) 07.08.84. Бюп. 9 29 (72) Г.Г. Сигалов, А.М. Люперсольский, Ю.И. Иванченко и В.Н. Заблоцкий (53) 681.325 (088.8) (56) 1. Патент США Ф 1081986, кл. С 06 F 9/06, опублик. 1967.

2. Авторское свидетельство СССР

В 610109 кл. G 06 F 9/00, 1976 (прототип) . (54) (57) 1. УСТРОЙСТВО ПРЕДВАРИТЕЛЬНОЙ ВЫБОРАМИ КОМАНД, содержащее блок регистров команд, блок управления выборкой команд и блок управления, причем информационный вход устройства соединен с информационным входом блока регистров команд, выход которого является информационным выходом устройства, первый выход блока управления соединен с управляющим входом блока регистров команд, первый выход блока управления выборкой команд является адресным вы.ходом устройства, о т л и ч а ю щ ее с я тем, что, с целью повышения производительности, в него введены мультиплексор, дешифратор и блок хранения команд перехода, содержащий регистр сдвига, элемент задержки,элемент НЕ, элемент ИЛИ, две группы элементов И, группу сумматоров по модулю два, две групг . регистров, группу элементов ИЛИ, а блок управления выборкой команд содержит элемент И, три элемента ИЛИ, сумматор по модулю два, параллельный накапливающий сумматор, два мультиплексора н счетчик, а блок управления содержит группу элементов ИЛИ, группу элементов И, элемент ИЛИ н регистр сдвига, причем первые входы сумматоров по модулю два группы блока хранения команд перехода соединены с выходами счетчика, параллельного накапливающего сумматора, элемента И и первым выходом блока управления выборкой команд, входы адреса перехода устройства соединены с первыми входами элементов И первой группы, с входами элемента НЕ и элемента задержки, с информационными входами . регистров первой и второй групп бпока хранения команд перехода, выход элемента ИЛИ и выходы элемен- . тов ИЛИ группы которого соединены с первыми группами информационных входов первого и второго мульти лексоров, с первыми управляющими входами первого и второго мультиплексоров и с первым входом первого элемента ИЛИ блока управления выборкой команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторым входом первого элемента ИЛИ, с вторыми и третьими управляющими входами первого и второго мультиплексбров блока управления выборкой команд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регистра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд сое1107123 динены с первым и вторым входами элемента ИЛИ этого блока и с выходом мультиплексора, первый и второй входы которого соединены соответственно с информационным входом устройства и с выходом дешифратора, группа входов которого соединена с группой выходов параллельного накапливающего сумматора блока управления выборкой команд, выход первого элемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блока регистров команд, а в блоке управлейия выборкой команд выходы первого и второго мультиплексоров соединены соответственно с первым входом счетчика и входом параллельного накапливающего сум. атора, разрядный выход которого соединен с вторыми входами счетчика и третьего элемента ИЛИ, выход которого соединен с прямым входом элемента И, выходы сумматора по модулю два и второго элемента ИЛИ соединены с третьей группой информационных входов второго мультиплексора, а в блоке управления вторые входы элементов И группы соединены с соответствующими выходами регистра сдвига, выходы элементов И группы соединены с первыми входами элементов ИЛИ группы, вторые входы которых соединены с выходом элемента ИЛИ и с соответствующим установочным входом регистра сдвига, а в блоке хранения команд перехода выходы регистра сдвига соединены с вторыми входами соответствующих элементов И первой

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

Известно устройство, осуществляю- 5 щее предварительную выборку команд из оперативной памяти, содержащее четыре буферных регистра по бч разряда, узел селекции, регистр кода команды, инкрементор, адресный сумматор, регистр слова состояния прог-раммы и два регистра адреса оперативной памяти t.t 1. группы, выходы которых соединены с первыми управляющими входами регист ров первой и второй групп, вто..-;оe управляющие входы последних соединены с выходами соответствующих элементов И второй группы и с соответствующими входами элемента ИЛИ, выходы регистров первой группы соединены с вторыми входами соответствующих сумматоров по модулю два два группы, выходы которых соединены с входами соответствующих элементов И второй группы, выход каждого регистра второй группы соединен с соответствующими входами всех элементов ИЛИ группы, выход элемента. НЕ соединен с вторыми управляющими входами всех регистров первой группы, выход элемента задержки соединен с входом регистра сдвига.

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

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

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

1107!23 из первого, второго и третьего буферных регистров, .блок управления буфером команд, состоящий из блока анализа заполнения буфера и блока управления продвижением, блок управ.1 ления выборкой, состоящий из регистра адреса, блока наращивания адресов команд и блока управления выборкой команд, причем первый выход блока управления выборкой соединен с первым выходом устройства, первый вход которого соединен с первым. входом буфера команд, второй вход которого соединен с вторым выходом блока управления выборкой, третий выход которого соединен с шестым входом блока управления буфером. команд, первый выход которого соединен с третьим входом буфера команд, первый, второй, третий и четвертый выходы которого соединены соответственно с третьим, четвертым, пятым и шестым выходами устройства, второй вход которого соединен с третьим входом блока управления выборкой и первым входом блока управления буфером команд, второй, третий и четвертый входы которого соединены соответственно с пятым, шестым и седьмым вь!ходами буфера команд, пятый вход соединен с вторым выходом блока управления выборкой, второй вход которого соединен с вторым выходом блока управления буфером команд, а первый вход и четвертый выход соединены соответственно с третьим входом и вторым выходом устройства (2).

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

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

Цель изобретения - повышение

5 производительности устройства .

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

15 блока управления соединен с управляющим входом блока регистров команд, первый выход блока управления выборкой команд является адресным выходом устройства, введены мультиплек20 сор, дешифратор и блок хранения команд перехода, содержащий регистр сдвига, элемент задержки, элемент НЕ, элемент ИЛИ, две группы элементов И, группу сумматоров по

25 модулю два, две группы регистров, группу элементов ИЛИ, а блок управления выборкой команд содержит элемент И, три элемента ИЛИ, сумматор по модулю два, параллельный накапли30 вающий сумматор, два мультиплексора и счетчик, а блок управления содержит группу элементов ИЛИ, группу элементов И, элемент ИЛИ и регистр сдвига, причем первые входы сумматоров по модулю два группы бпока хранения команд перехода соединены с выходами счетчика, параллельного накапливающего сумматора, элемента И к первым выходом блока уп40 равления выборкой команд, входы адреса перехода устройства соединены с первыми входами элементов И первой группы, с входами элемента НЕ и элемента задержки,с информационными вхо45 дами Регистров первой и второй

1 рупп блока хранения команд перехода, выход элемента ИЛИ и выходы элементов ИЛИ группы которого соединены с первычи группами информацион50 ных входов первого и второго мультиплексоров, с первыми управляющими входами первого и второго мультиплексоров и с первым входом первого элемента ИЛИ блока управления выбор55 кой команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторьи входом первого элемен25

S 11О71 та ИЛИ, с вторыми и третьими управляющими входами первого и второго мультиплексоров блока управления выборкой команд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регист- 10 ра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд соединены с первым и вторым входами элемента ИЛИ этого блока и с выходом мультиплексора, первый и второй вх ды которого соединены соответственно с информационным 20 входом устройства и с выходом дешифратора, группа входов которого соединена с группой выходов параллельного накапливающего сумматора блока управления выборкой команд, выход первого элемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блока регистров команд, а в блоке управления выборкой команд выходы первого и второго мультиплексоров соединены соответственно с первым входом счетчика и входом параллельного накапливающего сумматора, разрядный выход которого соединен

35 с вторыми входами счетчика и третье го элемента ИЛИ, выход которого соединен с прямым входом элемента И, 1выходы сумматора по модулю два и второго элемента ИЛИ соединены с третьей группой информационных входов второго мультиплексора, а в блоке управления вторые входы элементов И группы соединены с соответствующими выходами регистра сдвига, выходы элементов И группы соединены с первыми входами элементов ИЛИ группы, вторые входы которых соединены с выходом элемента ИЛИ и с соответствующим гстановочным входом регистра сдвига, а в блоке хране50 ния команд перехода выходы регистра сдвига соединены с вторыми входами соответствующих элементов И первой группы, выходы которых соединены с

iïåðâûìè управляющими входами ре55 гистров первой и второй групп, вторые управляющие входы последних соединены с выходами соответствую23 щих элементов И второй группы и с соответствующими входами элемента ИЛИ, выходы регистров первой группы соединены с вторыми входами соответствующих сумматоров по модулю два группы, выходы которых соединены с входами соответствующих элементов И второй группы, выход каждого регистра второй группы соединен с соответствующими входами всех элементов ИЛИ группы, выход элемента НЕ соединен с вторыми управляющими входами всех регистров первой группы, выход элемента задержки соединен с входом регистра сдвига, Кроме того, блок регистров команд содержит группу регистров, информационные входы которых соединены с информационным входом блока и с первыми выходами предыдущих регистров группы, а первый управляющий вход каждого из регистров группы соединен с управляющим входом блока и с вторым выходом предыдущего регистра группы, вход запуска блока соединен с вторыми управляющими входами регистров группы, а выход блока соединен с выходами первого регистра группы, выходами первых тридцати двух разрядов и вторым разрядным выходом второго регистра группы.

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

Устройство предварительной выборки команд (фиг.1) содержит блок 1 регистров команд, мультиплексор 2, дешифратор 3, блок 4 управления выборкой команд, блок 5 управления, блок 6 хранения команд перехода, информационный вход 7, установочный вход 8, вход 9 адреса перехода, вход 10 адреса команд, выход 11 адреса команд, выход 12 команд, выход 13 мультиплексора, второй 14 и третий 15 выходы блока 4, первый 16 и второй 17 выходы блока 5 управления, выход 18 блока 6.

Блок 1 (фиг.2) содержит группу регистров 19.1-19.М разрядов.

7 1

Блок 5 управления (фиг. 3) содержит группу элементов ИЛИ 20, группу элементов И 2 1, регистр 22 сдвига и элемент ИЛИ 23.

Блок 4 управления выборкой команд (фиг.4) содержит элемент И 24, третий элемент ИЛИ 25, асинхронный счетчик 26, параллельный накапливающий сумматор 27, первый элемент ИЛИ

28, первый мультиплексор 29, второй мультиплексор 30, сумматор 31 по модулю два и второй элемент ИЛИ 32.

Блок 6 (фиг.5) содержит кольцевой регистр 33 сдвига, элемент 34 задержки, элемент НЕ 35, первую груп пу элементов И 36.1-36.Ь, первую группу элементов И 37.1-37.L, группу сумматоров 38.1-38.Ь по модулю два,группу регистров 39.1-39.L, вторую группу регистров 40.1-40.L по К разрядов каждый, элемент ИЛИ 4 1 группу элементов ИЛИ 42.1-42.К.

Блок 1 (фиг.2) предназначен для приема, хранения и передачи на выход устройства предварительно выбранных из оперативной памяти команд .

Блок 5 управления (фиг.3) предназначен для управления приемом и продвижением информации в блоке

Блок 4 управления выборкой команд (фиг.4) предназначен для формирования адреса оперативной памяти и сигнала запуска выборки команд по этому адресу.

Мультиплексор 2 предназначен для выделения из входного потока отдельных команд. о

Дишифратор 3 предназначен для управления мультиплексором 2.

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

Устройство работает следующим образом.

В начале работы устройства сигналом с входа 8 устройства устанавливают в "1" все разряды реверсивного регистра 22 сдвига блока 5 управления (фиг.3). Затем после установки на выходе 1f устройства адреса памяти, поступающего на четвертый вход 10 блока 4 управления выборкой команд вместе с сигналом управления, запускается выборка командной информации сигналом, поступающим на первый выход f 1 бло107123 ка управления выборкой с элемента И 24 (фиг.4), при этом сигнал на втором входе f7 блока 4 управления выборкой команд отсутствует, так как в блоке 1 есть свободные регистры (буфер пуст). По окончании выборки командная информация поступает в блок 1 и в мультиплексор 2. Если информация, поступающая

10 в блок 1, выбрана из памяти по адресу, поступившему в блок 4 управления выборкой команд с третьего 18 или четвертого 1О входов, то вместе с командной информацией в младший разряд соответствующего регистра 19 группы блока 1 заносится которая является признаком того, что адрес находящейся в этом регистре командной информации не является

2О .последовательным продолжением адреса информации, выбранной иэ оперативной памяти перед этим.

По окончании выборки с помощью дешифратора 3 по значениям младших

25 разрядов адреса мультиплексор 2 пропускает на свой выход 13 стар- . шие разряды кода операции, определяющие длину команды, адрес которой установлен на первом выходе 11 блока 4 управления выборкой команд .

Этот адрес подается также и на первый вход блока 6 (фиг.5). Если этот адрес есть в одном из регистров 39 группы, то на выход 18 поступает

35 сигнал совпадения с выхода элемента ИЛИ 41 и адрес команды, которая подлежит выборке и помещению в следующий регистр блока 1, с выходов соответствующего регистра 40 rpyR40 ы. По сигналу совпадения, поступаю" щему на третий вход 18 блока 4 управления выборкой команд, первый

29 и второй 30 мультиплексоры (фиг.4) передают адрес команды на асинхронный счетчик 26 и параллель ный накапливающий сумматор 27 вместе с сигналом начальной установки, формируется сигнал запуска выборки и записывается "1" в младший разряд соответствующего регистра 19 группы блока 1. Если в блоке 6 совпадения нет, то на основании значений старших разрядов кода операции, поступающих на первый вход 13 блока 4 управ55 ления выборкой команд сумматор 31

1 по модулю два и элемент ИЛИ 32 формируют код длины команды, который через второй мультиплексор 30 поступает на вход параллельного накапли1107

9 вающего сумматора 27, складывается с установленным там адресом, образуя адрес следующей команды. Если при этом в сумматоре 27 возникает сигнал переноса, который подается на вход асинхронного счетчика 26 и формирует адрес слова памяти, подлежащего выборке, то формируется сигнал запуска выборки иэ оперативной памяти. Если переноса нет, новый адрес поступает на входы дешифратора 3 (младшие разряды) и блока 6, и процесс повторяется.

Если по окончании очередной выборки иэ оперативной памяти блок

1 окажется полностью заполненным, блок 5 управления выдает сигнал (с инверсного выхода последнего разряда реверсивного регистра сдвига) на второй выход 17, который, поступая на второй вход блока 4 управления выборкой команд, блокирует выдачу сигнала запуска выборки на первый выход 11 блока 4 до тех пор, пока не освободится хотя бы один регистр

19 группы в блоке 1.

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

30 выхода 12 блока 1. Если в процессе обработки выполняется команда перехода и если она нарушает последовательный порядок обработки команд, то соответствующий сигнал, ее адрес и адрес, на который она передает управление, выдаются на второй вход 9 блока 6 и записываются в соответствующие регистры 39 и 40 групп блока 6 (на время записи) сигналом, 40 поступающим на четвертый вход блока .4 управления выборкой команд, блоки« руются первый и второй мультиплексоры (фиг.4), а если, кроме того, в младшем разряде второго регистра !

9.2 группы блока 1 установлен "0", 45 то адрес перехода передается на четвертый вход 10 блока управления

123 10 выборкой и запускается выборка нового слова памяти и выдается си&вал на вход 8 блока 5 управления, который поступает на установочный четвертый вход реверсивного регистра

22 сдвига (фиг.3) и устанавливает все разряды регистра 22 в 1 если же в младшем разряде второго регистра 19.2 группы блока установлена "!", то выдается сигнал на вход 8 блока 5 управления, по которому производится сдвиг.информации в блоке на один регистр вниз.

Если выполненная команда перехода не нарушает последовательности и если в младшем разряде второго регистра 19.2 группы содержится

"1", то на вход 8 блока 5 управления поступает сигнал, по которому в реверсивном регистре сдвига устанавливаются в "1" все разряды, кроме первого.

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

19.! группы блока 1 не встретилось, то по окончании обработки всех команд, начало которых находится в первом регистре 19.! группы, поступает сигнал на вход 8 блока 5 управления, по которому производится сдвиг информации в блоке 1 на один регистр BHHs.

После каждой выборки по сигналу

"Конец выборки", который подается на вход 8 блока 5 управления, выдаются сигналы приема на первый выход

16 и происходит сдвиг информации в реверсивном регистре сдвига на один разряд вверх.

Таким образом, при заданных параметрах процессора и характеристиках нагрузки использование предлагаемого устройства позволяет повысить производительность процессора на 20-22Х при незначительном увеличении объема оборудования.

1107123

1107123

1107123

1107123

ЗНИИНИ Зааае 5760/34 Тнрав 699 Подиисыое

Oamaaa йШ "Патеит", г.Уагород, ул.Проектыаа, 4