Устройство предварительной выборки команд
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1107123
Авторы: Заблоцкий, Иванченко, Люперсольский, Сигалов
Текст
.,ЯО 1107123 За) С 06 Р 9/46 ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫПФОПИСАНИЕ ИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Ьй лжо:кл Ю 3 Я САЭ 1(56) 1. Патент США В 1081986,кл, С 06 Р 9/06, опублик. 1967.2. Авторское свидетельство СССРВ 610109 кл. С 06 Р 9/00, 1976(54)(57) 1. УСТРОЙСТВО ПРЕДВАРИТЕЛЬНОЙ ВЫБОРАМИ КОМАНД, содержащее блокрегистров команд, блок управлениявыборкой команд и блок управления,причем информационный вход устройства соединен с информационным входом блока регистров команд, выходкоторого является информационным выходом устройства, первый выход блока управления соединен с управляющим входом блока регистров команд,первый выход блока управления выборкой команд является адресным вы.ходом устройства, о т л и ч а ю щ ее с я тем, что, с целью повышенияпроизводительности, в него введенымультиплексор, дешифратор и блокхранения команд перехода, содержащийрегистр сдвига, элемент задержки,элемент НЕ, элемент ИЛИ, две группы элементов И, группу сумматоров по модулю два, две групг . регистров, группуэлементов ИЛИ, а блок управлениявыборкой команд содержит элемент И,три элемента ИЛИ, сумматор по модулюдва, параллельный накапливающий сумматор, два мультиплексора н счетчик,а блок управления содержит группуэлементов ИЛИ, группу элементов И,элемент ИЛИ н регистр сдвига, причем первые входы сумматоров по модулю два группы блока хранения команд перехода соединены с выходами счетчика, параллельного накапливающего сумматора, элемента И и первым выходом блока управления выборкой команд, входы адреса перехода устройства соединены с первыми входами элементов И первой группы, с входами элемента НЕ и элемента задержки, с информационными входами . регистров первой и второй групп блока хранения команд перехода, выход элемента ИЛИ и выходы элемен- . тов ИЛИ группы которого соединены с первыми группами информационных входов первого и второго мультиплексоров, с первыми управляющими входами первого и второго мультиплек" соров и с первым входом первого элемента ИЛИ блока управления выборкой команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторым входом первого элемента ИЛИ, с вторыми и третьими управляющими входами первого и второго мультиплексбров блока управления выборкой команд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регистра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд соеааае 5760/34 Тавр фПа тает 1107123 Уагород, ул. Про1107123 динены с первым и вторым входамиэлемента ИЛИ этого блока и с выходом мультиплексора, первый и второйвходы которого соединены соответственно с информационным входом устройства и с выходом дешифратора, группа входов которого соединена сгруппой выходов параллельного накапливающего сумматора блока управления выборкой команд, выход первогоэлемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блокарегистров команд, а в блоке управлейия выборкой команд выходы первого ивторого мультиплексоров соединены соответственно с первым входом счетчикаи входом параллельного накапливающего сум атора, разрядный выход которого соединен с вторыми входамисчетчика и третьего элемента ИЛИ,выход которого соединен с прямым вхо.дом элемента И, выходы сумматора помодулю два и второго элемента ИЛИсоединены с третьей группой информационных входов второго мультиплексора, а в блоке управления вторые входы элементов И группы соединены ссоответствующими выходами регистрасдвига, выходы элементов И группысоединены с первыми входами элементов ИЛИ группы, вторые входы которыхсоединены с выходом элемента ИЛИ и ссоответствующим установочным входомрегистра сдвига, а в блоке хранениякоманд перехода выходы регистра сдви"га соединены с вторыми входами соответствующих элементов И первой Изобретение относится к вычислительной технике и может быть использовано при построении процессоров вычислительнщ, систем.Известно устройство, осуществляю щее предварительную выборку команд из оперативной памяти, содержащее четыре буферных регистра по бч разряда, узел селекции,регистр кода команды, инкрементор, адресный сумматор, регистр слова состояния прог- . раммы и два регистра адреса оперативной памяти 11.группы, выходы которых соединены с первыми управляющими входами регист" ров первой и второй групп, второе управляющие входы последних соединены с выходами соответствующих элементов И второй группы и с соответствующими входами элемента ИЛИ, выходы регистров первой группы соединены с вторыми входами соответствующих сумматоров по модулю два два группы, выходы которых соединены с входами соответствующих элементов И второй группы, выход каждого регистра второй группы соединен с соответствующими входами всех элементов ИЛИ группы, выход элемента. НЕ соединен с вторыми управляющи. ми входами всех регистров первой группы, выход элемента задержки соединен с входом регистра сдвига.рой п.1, о т л ч а ю щ е е с я тем, что блок регистров команд содержит группу регистров, информационные входы которых соединены с информационным входом блока и с первыми выходами предыдущих регистров группы, а первый управляющий вход каждого из регистров группы соединен с управляющим входом блока и с вторым выходом предыдущего регистра группы, вход запуска блока соединен с вторыми управляющими входами регистров группы, а выход блока соединен с выходами первого регистра группы, выходами первых тридцати двух разрядов и вторым разрядным выходом второго регист. ра группы. Недостатком устройства является то, что при изменении последовательного порядка выполнения команд предварительная выборка оказывается выполненной неверно, что ведет к простоям процессора в ожидании окончания выборки требуемой команды и, следовательно, снижению производительности.Наиболее близким к изобретению по технической сущности является устройство для буферизации команд, содержащее буфер команд, состоящийиз первого, второго и третьего буФерных регистров, .блок управлениябуфером команд, состоящий из блокаанализа заполнения буфера и блокауправления продвижением, блок управдления выборкой, состоящий из регистра адреса, блока наращивания адресов команд и блока управления выборкой команд, причем первый выходблока управления выборкой соединенс первым выходом устройства, первыйвход которого соединен с первым.входом буфера команд, второй входкоторого соединен с вторым выходомблока управления выборкой, третийвыход которого соединен с шестымвходом блока управления буфером.команд, первый выход которого соединен с третьим входом буфера команд, первый, второй, третий и четвертый выходы которого соединены соответственно с третьим, четвертым,пятым и шестым выходами устройства,второй вход которого соединен стретьим входом блока управления выборкой и первым входом блока управления буфером команд, второй, третийи четвертый входы которого соединенысоответственно с пятым, шестым иседьмым выходами буфера команд, пятый вход соединен с вторым выходомблока управления выборкой, второйвход которого соединен с вторым выходом блока управления буферомкоманд, а первый вход и четвертыйвыход соединены соответственно стретьим входом и вторым выходомустройства 2),Однако известное устройство осуществляет предварительную выборку только с последовательным наращиванием адресов команд, вследствие чего при нарушениях последовательного порядка выполнения команд возникают простои процессора, а следовательно, снижается его производительность.Такое устройство реализует алгоритм частичной предварительной выборки, поскольку при наличии двух последовательных команд с длиной кода 6 байтов (Формат) предварительная выборка следующих команд блокируется, и, кроме того, предварительная выборка производится только во время выполнения последней полностью выбранной в буфер команды, что при времени ее выполнения,меньшем времени выборки из оперативной памяти, приводит к дополнительнцм простоям процессора.Цель изобретения - повышение 5 производительности устройства .Поставленная цель достигаетсятем, что в устройство, содержащееблок регистров команд, блок управления выборкой команд и блок управле ния, причем информационный вход устройства соединен с информационнымвходом блока регистров команд, выход которого является информационным выходом устройства, первый выход 15 блока управления соединен с управляющим входом блока регистров команд,первый выход блока управления выборкой команд является адресным выходом устройства, введены мультиплек сор, дешиФратор и блок хранениякоманд перехода, содержащий регистрсдвига, элемент задержки, эле"мент НЕ, элемент ИЛИ, две группыэлементов И, группу сумматоров по 25 модулю два, две группы регистров,группу элементов ИЛИ, а блок управления выборкой команд содержит элемент И, три элемента ИЛИ, сумматорпо модулю два, параллельный накапли вающий сумматор, два мультиплексораи счетчик, а блок управления содержит группу элементов ИЛИ, группуэлементов И, элемент ИЛИ и регистрсдвига, причем первые входы сумматоров по модулю два группы бпокахранения команд перехода соединеныс выходами счетчика, параллельногонакапливающего сумматора, элемента И и первым выходом блока уп равления выборкой команд, входы адреса перехода устройства соединены спервыми входами элементов И первойгруппы, с входами элемента НЕ и элемента задержки,с информационными вхо дами регистров первой и второй1 фрупп блока хранения команд перехода, выход элемента ИЛИ и выходыэлементов ИЛИ группы которого соединены с первычи группами информацион ных входов первого и второго мультиплексоров, с первыми управляющимивходами первого и второго мультиплексоров и с первым входом первогоэлемента ИЛИ бпока управления выбор 55 кой команд, вторые группы информационных входов первого и второгомультиплексоров которого соединены сгруппой входов адреса команд устройства, вторьи входом первого элемен23 25 11 О 71 та ИЛИ, с вторыми и третьими управляющими входами первого и второго мультиплексоров блока управления выборкой команд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регист О ра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд соединены с первым и вторым входами элемента ИЛИ этого блока и с выходом мультиплексора, первый и второй вх ды которого соединены соответственно с информационным 20 входом устройства и с выходом дешифратора, группа входов которого соединена с группой выходов параллельного накапливающего сумматора бпока управления выборкой команд, выход первого элемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блока регистров команд, а в блоке управления выборкой команд выходы первого и второго мультиплексоров соединены соответственно с первым входом счетчика и входом параллельного накапливающего суммато" ра, разрядный выход которого соединен35 с вторыми входами счетчика и третьего элемента ИЛИ, выход которого соединен с прямым входом элемента И, 1 выходы сумматора по модулю два и второго элемента ИЛИ соединены с третьей группой информационных входов второго мультиплексора, а в блоке управления вторые входы элементов И группы соединены с соответствующими выходами регистра сдвига, выходы элементов И группы соединены с первыми входами элементов ИЛИ группы, вторые входы которых соединены с выходом элемента ИЛИ и с соответствующим гстановочным входом регистра сдвига, а в блоке хране 50 ноя команд перехода выходы регистра сдвига соединены с вторыми входами соответствующих элементов И первой группы, выходы которых соединены с первыми управляющими входами ре 55 гистров первой и второй групп, вторые управляющие входы последних соединены с выходами соответствующих элементов И второй группы и ссоответствующими входами элемента ИЛИ, выходы регистров первойгруппы соединены с вторыми входамисоответствующих сумматоров по модулю два группы, выходы которыхсоединены с входами соответствующихэлементов И второй группы, выходкаждого регистра второй группысоединен с соответствующими входамивсех элементов ИЛИ группы, выходэлемента НЕ соединен с вторымиуправляющими входами всех регистровпервой группы, выход элемента задержки соединен с входом регистрасдвига,Кроме того, блок регистров команд содержит группу регистров, информационные входы которых соединены с информационным входом блокаи с первыми выходами предыдущихрегистров группы, а первый управляющий вход каждого из регистровгруппы соединен с управляющимвходом блока и с вторым выходом предыдущего регистра группы, вход запуска блока соединен с вторыми управляющими входами регистров группы,а выход блока соединен с выходамипервого регистра группы, выходамипервых тридцати двух разрядов и вторым разрядным выходом второго регистра группы.На фиг.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.М разрядов.107123 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.Ь, группу сумматоров 38.1-38.Ь по модулю два,группу регистров 39.1-39.Ь, вторую группу регистров 40.1-40.Ь по К разрядов каждый, элемент ИЛИ 4 1 группу элементов ИЛИ 42.1-42.К.Блок 1 (фиг.2) предназначен для приема, хранения и передачи на выход устройства предварительно выбранных из оперативной памяти команд.Блок 5 управления (фиг.3) предназначен для управления приемом и продвижением информации в блокеБлок 4 управления выборкой команд (фиг.4) предназначен для формирования адреса оперативной памяти и сигнала запуска выборки команд по этому адресу.Мультиплексор 2 предназначен для выделения из входного потока отдельных команд. одишифратор 3 предназначен для управления мультиплексором 2.Блок 6 (фиг.5) предназначен для хранения адресов выполняющихся команд перехода, нарушавших последовательный порядок выполнения команд, и адресов, на которые они передавали управление.Устройство работает следующим образом.В начале работы устройства сигналом с входа 8 устройства устанавливают в "1" все разряды реверсивного регистра 22 сдвига блока 5 управления (фиг.3). Затем после установки на выходе 11 устройства адреса памяти, поступающего на четвертый вход 10 блока 4 управления выборкой команд вместе с сигналом управления, запускается выборка командной информации сигналом, поступающим на первый выход 11 блока управления выборкой с элемента И 24 (фиг.4), при этом сигнална втором входе 17 блока 4 управления выборкой команд отсутствует,так как в блоке 1 есть свободныерегистры (буфер пуст). По окончании выборки командная информацияпоступает в блок 1 и в мультиплексор 2. Если информация, поступающая 10 в блок 1, выбрана из памяти по адресу, поступившему в блок 4 управления выборкой команд с третьего 18или четвертого 10 входов, то вместе с командной информацией в млад- " 15 ший разряд соответствующего регистра 19 группы блока 1 заносится 1 ффф,которая является признаком того,что адрес находящейся в этом регистре командной информации не является 20 .последовательным продолжением адресаинформации, выбранной иэ оперативной памяти перед этим.По окончании выборки с помощьюдешифратора 3 по значениям младших 25 разрядов адреса мультиплексор 2пропускает на свой выход 13 стар-,шие разряды кода операции, определяющие длину команды, адрес которойустановлен на первом выходе 11 блока 4 управления выборкой команд .Этот адрес подается также и на первый вход блока 6 (фиг.5), Если этотадрес есть в одном из регистров 39группы, то на выход 18 поступает 35сигнал совпадения с выхода элемента ИЛИ 41 и адрес команды, котораяподлежит выборке и помещению в следующий регистр блока 1, с выходовсоответствующего регистра 40 груй 40 ы По сигналу совпадения поступающему на третий вход 18 блока 4 управления выборкой команд, первый29 и второй 30 мультиплексоры(фиг.4) передают адрес команды наасинхронный счетчик 26 и параллельный накапливающий сумматор 27 вместес сигналом начальной установки, формируется сигнал запуска выборки изаписывается "1" в младший разрядсоответствующего регистра 19 группыблока 1. Если в блоке 6 совпадениянет, то на основании значений старших разрядов кода операции, поступающих на первый вход 13 блока 4 управ 55ления выборкой команд сумматор 311по модулю два и элемент ИЛИ 32 формируют код длины команды, которыйчерез второй мультиплексор 30 поступает на вход параллельного накапли1107 9вающего сумматора 27, складывается с установленным там адресом, образуя адрес следующей команды. Если при этом в сумматоре 27 возникает сигнал переноса, который подается на вход асинхронного счетчика 26 и формирует адрес слова памяти, подлежащего выборке, то формируется сигнал запуска выборки иэ оперативной памяти. Если переноса нет, новый адрес поступает на входы дешифратора 3 (младшие разряды) и блока 6, и процесс повторяется.Если по окончании очередной выборки иэ оперативной памяти блок15 1 окажется полностью заполненным, блок 5 управления выдает сигнал (с инверсного выхода последнего разряда реверсивного регистра сдвига) на второй выход 17, который, поступая на второй вход блока 4 управления выборкой команд, блокирует выдачу сигнала запуска выборки на первый выход 11 блока 4 до тех пор, пока не освободится хотя бы один регистр 19 группы в блоке 1.Параллельно с описанным процессом выполняются команды в арифметико-логическом устройстве (не показано) процессора, поступающие с30 выхода 12 блока 1, Если в процессе обработки выполняется команда перехода и если она нарушает последовательный порядок обработки команд, то соответствующий сигнал, ее адрес и адрес, на который она передает управление, выдаются на второй вход 9 блока 6 и записываются в соответствующие регистры 39 и 40 групп блока 6 (на время записи) сигналом,ао поступающим на четвертый вход блока .4 управления выборкой команд, блоки" руются первый и второй мультиплексоры (фиг.4), а если, кроме того, в младшем разряде второго регистра 19.2 группы блока 1 установлен "Оф,45 то адрес перехода передается на четвертый вход 10 блока управления 123 10выборкой и запускается выборка нового слова памяти и выдается си. нал на вход 8 блока 5 управления, который поступает на установочный четвертый вход реверсивного регистра 22 сдвига (фиг.3) и устанавливает все разряды регистра 22 в "1", если же в младшем разряде второго регистра 19.2 группы блока 1 установлена , то выдается сигнал на вход 8 блока 5 управления, по которому производится сдвиг.информации в блоке 1 на один регистр вниз.Если выполненная команда перехода не нарушает последовательности и если в младшем разряде второго регистра 19.2 группы содержится "1", то на вход 8 блока 5 управления поступает сигнал, по которому в реверсивном регистре сдвига устанавливаются в "1" все разряды, кроме первого.Если команд перехода, нарушающих последовательный порядок выполнения команд, в пределах первого регистра 19. группы блока 1 не встретилось, то по окончании обработки всех команд, начало которых находится в первом регистре 19,1 группы, поступает сигнал на вход 8 блока 5 управления, по которому производится сдвиг информации в блоке 1 на один регистр вниз.После каждой выборки по сигналу "Конец выборки", который подается на вход 8 блока 5 управления, выдаются сигналы приема на первый выход 16 и происходит сдвиг информации в реверсивном регистре сдвига на один разряд вверх.Таким образом, при заданных параметрах процессора и характеристиках нагрузки использование предлагаемого устройства позволяет повысить производительность процессора на 20-223 при незначительном увеличении объема оборудования.
СмотретьЗаявка
3578919, 11.04.1983
ПРЕДПРИЯТИЕ ПЯ М-5339
СИГАЛОВ ГДАЛИЙ ГРИГОРЬЕВИЧ, ЛЮПЕРСОЛЬСКИЙ АЛЕКСАНДР МИХАЙЛОВИЧ, ИВАНЧЕНКО ЮРИЙ ИВАНОВИЧ, ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ
МПК / Метки
МПК: G06F 9/54
Метки: выборки, команд, предварительной
Опубликовано: 07.08.1984
Код ссылки
<a href="https://patents.su/10-1107123-ustrojjstvo-predvaritelnojj-vyborki-komand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство предварительной выборки команд</a>
Предыдущий патент: Арифметическое устройство в системе остаточных классов
Следующий патент: Устройство для последовательного выделения единиц из разрядного двоичного кода
Случайный патент: Устройство для декоративной отделки железобетонных изделий