Устройство буферизации команд процессора

Номер патента: 1092506

Автор: Никитин

Есть еще 5 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

СОЮЗ СОВЕТСНИХссиижРЕСПУБВИН 6 Г 9/ ПИС Е ИЗОБ ТЕНИ ВИДЕТЕЛЬСТ К АВТОРСИ 3540520/18-2412.01.8315.05,84. Бюл. РА.И.Никитин681.325(088,8)1. Авторское св703, кл. 0 06 ГЭлектронная нычЕС 1045, М"фин1981, с. 30-32,(21) ,. (22)(46)(72) (53) (56) Р 30 детельство СССР9/46, 1971.ислительная мансы и статисти-79(прототип) шинака" о ГОСУДАРСТ 8 ЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬТИИ(54)(57) 1. УСТРОЙСТВО БУФЕРИЗАЦИИ КОМАНД ПРОЦЕССОРА, содержащее блок памяти командных слов, блок памяти адресов, блок памяти признаков дейст вительности, первый коммутатор адресов, блок сравнения адресов, буферный регистр адреса, адресный сумматор и регистр команды, выход которого подключен к выходу команды устрой ства, вход первого слагаемого адресного сумматора соединен с адресным . входом устройства, выход адресного сумматора соединен с адресным выходом устройства, с входом буферного регистра адреса, с первым входом пер ного коммутатора адресов и с информационным нходом блока памяти адресов, адресный вход которого подключен к первому выходу первого коммутатора адресов, второй выход которого соединен с первым информационным входом блока сравнения адресон, информационный вход блока памяти признаков действительности подключен к входу микрокоманд устройства, а выход - к нходу разрешения сравнения блока сравнения адресов, информацинный вход блока памяти командных слов соединен с информационным входом устройства, о т л и ч а ю щ е ес я тем, что, с целью повышения быстродействия, оно содержит блок памяти связности строк, блок памяти замещения, блок анализа, блок выработки приращения адреса преднакачки, блок замещения, три коммутатора выходной информации, сдвигатель, сумматор адреса строки, сумматор связности, второй, третий, четвертый и пятый коммутаторы адресов, буФерный регистр, шифратор, регистр номера сравнения, регистр номера продолжения, селектор и элемент И, вход управления записью блока памяти командных слов соединен с выходом селектора, с информационным входом блока памяти связности строк, с управляющим входом буферного регистра, с входами управления записью блока памяти признаков действительности и блока памяти адресов, вход управления считыванием блока памяти командных слов соединен с входом микрокоманд устройства, с первым входом блока выработки приращения адреса пред- накачки, с первым входом адресного сумматора, с первым входом элемента И, с входом управления записью блока памяти связности строк, с управляющими входами коммутаторов адресов, с информационными входами буферногорегистра, с управляющими входами селектора, блока замещения, блока памяти замещения, с первым входом сумматора связности и с входом управления считыванием блока памяти адресов, вход адреса записи блока памяти командных слов соединен с выходом второго коммутатора адресов и с первым входом сумматора адреса строки, вход адреса считывания, блока памяти командных алов соединен с выходом сумматора адреса строки, ныходы блока памяти командных слов соединены соответственно с информационными входами первого и второго коммутаторов выходной информации, управляющий вход первого и перный управляющий вход второго коммутаторов выходной информации соединены с выходом шифратора, с первым входом блока анализа, с управляющим входом третьего коммутатора выходной информации, с1092506 Рлт Ю Корректор Л.Пилипенко ак аий илиал ППП "Патент", г.ужгород, ул.Проектная,Составитель М.Кудряшедактор Л.Алексеенко Техред Л.Коцюбняк 56/33 ВНИИПИ Госу по делам 113035, Мосвходом регистра номера сравнения ис первыми информационными входамиблока замещения и селектора, выходыпервого и второго коммутаторов выходной информации подключены к информационным входам сдвигателя, упранляющий вход которого соединен с адресным входом устройства, с входом первого слагаемого адресного сумматора,с вторым входом блока анализа, с вторым управляющим нходом второго коммутатора выходной инФормации с первыми нходами второго, третьего, четвертого и пятого коммутаторов адресови с нторыми входами первого коммутатора адресов и элемента И, первыйвыход сдвигателя соединен с входомрегистра команды, а второй выходс третьим входом блока анализа, первый и второй выходы которого являются соответственно сигнальным и кодовым выходами устройства, четвертыйвход блока анализа подключен к третьему управляющему входу второго коммутатора выходной информации и к выходу регистра номера продолжения,вход которого соединен с выходомтретьего коммутатора выходной информации, информационный вход которогоподключен к выходу блока памяти связности строк, вход управления чтением которого соединен с Выходом буФерного регистра, а адресный входс выходом четвертого коммутатора адресов, нторой вход которого соедикекс выходом сумматора связнос и, а третий вход - с выходом адресного сумматора, с вторыми входами третьего ипятого коммутаторов ацресон, выходкоторого подключен к адресному входублока памяти замещения, информационный вход которого сое,цинен с первымвыходом блока замещения, выход блока памяти замещения соединек с вторым инФормационным входом блока замещения, второй выход которого подключен к второму информационномувходу селектора, третий информационный вход которого соединен с Выходомрегистра номера сравнения, ныхоц третье о коммутатора адресов подключенк адресному входу блока памя.си призкаков действительности, выход буферного регистра соединен с вторым входом второго коммутатора адресов стретьим входом третьего коммутатораадресов и с вторым входом сумматораснязнОсти ВыхОД блока выработки приращения адреса преднакачки подключенк входу второго слагаемого адресногосумматора, управляющий нход блока выработки приращения адреса преднакачки подключен к сигнальному входу устройства, выход элемента И соединенс вторым входом сумматора адресастроки, выход блока памяти ацресонподключен к второму информационномувходу блока сравнения адресов, выход которого соединен с входом шифратора, пятый вход блока анализа соединен с входом логического нуля устройства, второй вход блока выработки приращения адреса преднакачки соединен с сигнальным входом устройстна.2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок анализа содержит дешифратор, две схемы сравнения, четыре элемента НЕ, четыре элемента И и элемент ИЛИ, выход которого подключен к первому выходу блока, входы элемента ИЛИ соединены соответственно с выходами элементов И, первые входы которых соединены с выходом первого элемента НЕ, вход которого соединен с выходом первой схемы сравнения, второй вход первого элемента И соединен с выходом второго элемента НЕ, вход которого соединен с первым входом блока.3, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок выработки приращения адреса преднакачки содержит два. элемента НЕ, дна элемента И, дешифратор и счетчик преднакачки, выход которого является выходом блока и соединен с входом дешифратора, а входы - соответственно с выходами элементов И, первые входы которых являются соответственно входом микрокоманд и входом переноса устройства а вторые входы соединены с выходами элементов НЕ, входы которых соединены с входами дешифратора,4. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок замещения содержит узел учета хронологии, узел Формирования кандидата на замещение и регистр хронологии, выход которого подключен к первому выходу блока, первый вход регистра хронологии соединен с выходом узла учета хронологии, а второй вход - с вторым информационным входом блока и с входом узла Формирования кандидата на замещение, выход которого соединен с вторым выходом блока, входы узла учета хронологии подключены соответственно к первому информационному и .к управляющему входам блока.5. Устройство по пп, 1 и 4, о л и ч а ю щ е е с я тем, что узел учета хронологии содержит элемент НЕ и группу элементов И, причем первый вход узла соединен с первыми Входами элементов И группы, выходыкоторых соединены с выходом узла, вторые входы первого, второго и последнего элементов И группы соединены через элемент НЕс вторым входом узла, вторые входы остальных элементов И группы соединены с вторым входом узла. б. Устройство по пп. 1 и 4, о тл и ч а. ю щ е е с я тем, что узел Формирования кандидата на замещение1092506 содержит четыре элемента НЕ, три элемента И и элемент ИЛИ, причем входблока через первый и второй элементы НЕ соединен с первыми входами первЬго и второго элементов И, вторыевходы которых соответственно соединены с входом узла непосредственнои через третий элемент НЕ, выходы1 Изобретение относится к вычислительной технике и предназначено для работы в центральном процессоре быстродействующих ЭВИ, выполняющем команды различных форматов и длины, 5Известно устройство выборки команд, предназначенное для выборки команд длиной в 2, 4, 6 байтов, произвольно расположенных в командных словах. Устройство содержит восемь буферных регистров (каждый длиной в 8 байт для хранения восьми последрвательных командных слов, образующих стэк команд, два дополнительных буФерных регистра для хранения двух последовательных командных слов в командах передачи управления, счетчики адресов текущей выполняемой команды, адресов самого "старого" командного слова и самого последнего командного слова, выбранных из памяти и хранящихся в буфере, схемы сравнения адресов текущей команды с адресами "верхней" к "нижней" границ стэка команд для определения нахождения команды в буфере (стзке 1 ко манд. Данное устройство позволяет накачивать запас команд одновременно с выполнением екущкх команд оно позволяет также начинать выполнение команд новой ветви в командах 30 передачи управления, не дожидаясь признака результата в предыдущей команде, если эти команды новой ветви находятся в стзке 13.Недостатками такого устройства 35 являются утрата информации всего стэка команд, если адрес перехода таков, что команд новой ветви нет в стэке, относительно небольшая емкость стэка, а также значительные затраты оборудования на построение счетчиков верхней и нижней границ стэка, на построение схем сравнения адреса текущей команды с адресами границ стэка, на построение селекторов выходной информации стэка.Наиболее близким к предлагаемому является устройство буферизации команд процессора, содержащее блок буферной памяти команд по типу "КЭШ", расположенный в устройстве управле первого и второго элементов И соединены с входами элемента ИЛИ, выходкоторого через четвертый элемент НЕсоединен с первым входом третьегоэлемента И, второй вход которого соединен с входом узла, выход которогосоединен с выходами элемента ИЛИ итретьих элементов И и НЕ. ния памятью, к блок выборки команд,расположенный в центральном процессоре. Блок буферной памяти команд содержит блок памяти командной информации ( на 32 командных слова 1, информационный вход которого является информационным входом устройства, а адресный вход соединен с выходом буферного регистра адреса, блок памятипризнаков действительности (содержитдва бита действительности соответственно двум полублокам 1 и коммутаторадресов, выходы которых соединены ссоответствующими входами блока сравненкя адресов, выход которого является управляющкм выходом устройства,кнфор мационный вход блока памятипризнаков действительности являетсявходом микрокоманд устройства, а адресный соединен с адресным входомблока памяти адресов к с выходомкоммутатора адресов, вход которогосоединен с кнформацконньмк входамибуферного регистра адреса и блокапамяти адресов к с выходом регистрареального адреса памяти, а второйвход - с выходом буферного регистрареального адреса. Обращение к блбкубуферной памяти команд ведется поадресно-ассоциативному принципу,причем блок памяти командных слов выполнен в виде одного отделения (столбца 1, В блок буферной памяти командинформация поступает из оперативнойпамяти в режимах преднакачки и вслучае отсутствия требуемой командыв блоке буферной памяти команд. Выходная информация блока буферной памяти поступает на информационныйвход блока выборки команд, содержащего трк буферных регистра. команд(каждый длиной в 4 байта ), два регистра, хранящих адреса команд, находящихся на буферчых регистрах команд, инкрементор выработки адресовпреднакачкк, выход которого соединенс первым входом регистра реальногоадреса и с первым входом адресногосумматора, выход которого соединенс вторым .входом регистра реальногоадреса, а второй вход - с первым входом второго регкстра адреса команд,1092506 первый вход которого соединен с выходом регистра реального адреса, а.второй - с соответствующим входомадресного сумматора, с входом инкрементора и с выходом первого регистра адреса, выход первого регистра команд является выходом команды устройства. Известное устройство осуществляет предварительную выборку команд и позволяет значительно снизить считыванием блока памяти командных слов соединен с входом микрокоманд устройпотери времени, связанные с выборкой команд из главной памяти ЭВМ Г 2 1,Недостатками этого устройства являются его неэффективная работа и ства, с первым входом блока выработки приращения адреса преднакачки,с первым входом адресного сумматора,случае выполнения команд передачи управления, а также значительные затра- с первым входом элемента И, с входом управления записью блока памяти связности строк, с управляющими входамикоммутаторов адресов, с информационными входами буферпого регистра, суправляющими входами селектора, блока замещения, блока памяти замещения,с первым входом сумматора связностии с входом управления считываниемблока памяти адресов, вход адресазаписи блока командных слов соединенс выходом второго коммутатора адреЦель изобретения - повышение быстродействия устройства. соэ и с первым входом сумматора адреса строки, вход адреса считывания Поставленная цель достигается тем,блока памяти командных слон соединенс выходом сумматора адреса строки,выходы блока памяти командных словсоединены соответственно с информационными входами первого и второгокоммутаторов выходной информации,управляющий вход первого и первыйуправляющий вход второго коммутаторов выходной информации соединены что в устройство буферизации командпроцессора, содержащее блок памятикомандных слов, блок памяти адресов,блок памяти признаков действительносс выходом шифратора, с первым входом блока анализа, с управляющим входомтретьего коммутатора выходной информации, с входом регистра номера сравнения и с первыми информационнымивходами блока замещения и селектора,выходы первого и второго коммутаторов выходной информации подключенык информационным входам сдвигателя,управляющий вход которого соединенс адресным входом устройства, с входом первого слагаемого адресного сумматора, с вторым входом блока анализа, с вторым управляющим входом ьторого коммутатора выходной информаподключен к входу микрокоманд устройции, с первыми входами второго,третьего, четвертого и пятого комму.таторов адрссов и с вторыми входамипервого коммутатора адресов и элемента И, первый выход сдвигателясоединен с входом регистра команды,а второй выход - с третьим входомблока анализа, первый и второй выходы которого являются соответственно сигнальным и кодовым выходами устройстэа, четвертый вход блока анализа подключен к третьему управляющему входу второго коммутатора выходной информации и к выходу регистра номера продолжения, вход которого соедиты оборудования на построение блокавыборки команд. Кроме того, принятодностолбцовый вариант блока памятикомандных слов. В этом варианте команды новой ветви, накачиваемые вблок памяти командных слов, могутзатирать команды старой ветви, находящиеся в блоке буферной памяти команд, и, таким образом, производительность процессора еще более снижается. ти, первый коммутатор адресов, блоксравнения адресов, буферный регистрадреса, адресный сумматори регистркоманды, выход которого подключен квыходу команды устройства, вход первого слагаемого адресного сумматорасоединен с адресным входом устройства, выход адресного сумматора соединен с адресным выходом устройства, свходом буферного регистра адреса, спервым входом первого коммутатораадресов и с информационным входомблока памяти адресов, адресный входкоторого подключен к первому выходупервого коммутатора адресов, второйвыход которого соединен с первым информационным входом блока сравненияадресов, информационный вход блокапамяти признаков действительности стэа, а выход - к входу разрешениясравнения блока сравнения ацресоэ,информационный вход блока памяти командных слов соединен с информационным входом устройства, эведень блокпамяти связности строк, блок памятизамещения, блок анализа, блок выработки приращения адреса преднакачки,блок замещения, три коммутатора выходной информации, сдвигатель, сумматор адреса строки, сумматор связности, второй, третий, четвертый ипятый коммутаторы адресов, буферныйрегистр, шифратор, регистр номера сравнения, регистр номера продолжения, селектор и элемент И, вход управления записью блока памяти командных слов соединен с выходом селектора, с информационным входомблока памяти связности строк, с управляющим входом буферного регистра,с входами управления записью блокапамяти признаков действительности иблока памяти адресов, вход управлениянен с выходом третьего коммутатора выходной информации, информационный вход которого подключен к выходу блока памяти связности строк, вход управления чтением которого соединен с выходом буферного регистра, а адресный вход - с выходом четвертого коммутатора адресов, второй вход которого соединен с выходом сумматора связности, а третий нход - ,с выходом адресного сумматора, с 10 вторыми входами третьего и пятого .коммутаторов адресов, выход которого подключен к адресному входу блока памяти замещения, информационный вход которого соединен с первым выходом блока замещения, выход блока памяти замещения соединен с вторым информационным входом блока замещения, второй выход которого подключен к второму информационному входу се лектора, третий информационный вход которого соединен с выходом регистра номера сравнения, выход третьего коммутатора адресов подключен к адресному входу блока памяти признаков 25 действительности, выход буферного регистра адреса соединен с вторым входом второго коммутатора адресов, с третьим входом третьего коммутатора адресов и с вторым входом сумма тора связности, выход блока выработки приращения адреса преднакачки под- . ключен к входувторого слагаемого адресного сумматора, управляющий вход блока выработки приращения адре.З 5 са преднакачки подключен к сигнальному входу устройства, выход элемента И соединен с нторым входом сумматора адреса строки, выход блока памяти адресов подключен к второму информационному входу блока сравнения адресов, выход которого соединен с входом шифратора, пятый вход блока анализа соединен с входом логического нуля устройства, второй вход блока выработки приращения адреса пред накачки соединен с сигнальным входом устройства.При этом блок анализа содержит дешифратор, две схемы сравнения, четыре элемента НЕ, четыре элемента И 50 и элемент ИЛИ, выход которого подключен к первому выходу блока, входы элемента ИЛИ соединены соответственно с выходами элементов И, первые входы которых соединены с выходом 55 первого элемента НЕ, вход которого соединен с выходом первой схемы сравнения, второй вход первого элемента И соединен с выходом второго элемента НЕ, вход которого соединен щ с первым входом блока.Блок выработки приращения адреса 1 реднакачки содержит два элемен, та НЕ, дна элемента И, дешифра- . ;тор и счетчик преднакачки, выход 65 которого является выходом блокаи соединен с входом дешифратора,а входя - соответственно с выходамиэлементов И, первые входы которыхявляются соотнетстненно входом микрокоманд и входом переноса устройства, а вторые входы соединены с выходами элементов НЕ, входы которых соединены с входами дешифратора,Блок замещения содержит узел учета хронологии, узел формированиякандидата на замещение и регистрхронологии, выход которого подключен к первому выходу блока, первыйвход регистра хронологии соединенс выходом узла учета хронологии, авторой вход - с вторым информационным входом блока и с входом узла формирования кандидата на замещение,выход которого соединен с вторым выходом блока, входы узла учета хронологии подключены соответственно кпервому информационному и к управляющему входам блока.Узел учета хронологии содер-итэлемент НЕ и группу элементов И, причем первый вход узла соединен с первыми входами элементов И группы, выходы которых соединены с выходом узла, вторые входы первого, второго ипоследнего элементов И группы соединены через элемент НЕ с вторым входом узла, вторые входы остальныхэлементов И группы соединены с вторым входом узла.Узел формирования кандидата на замещение содержит четыре элемента НЕ,три элемента И и элемент ИЛИ, причемвход блока через первый и второй элементы НЕ соединен с первыми входамипервого и нторого элементов И, вторые входы которых соотнетственно.соединены с входом узла непосредственнои через третий элемент НЕ, выходыпервого и второго элементон И соединены с входами элемента ИЛИ, выходкоторого через четвертый элемент НЕсоединен с первым входом третьегоэлемента И,второй вход которого соединен с входом узла, выход которогосоединен с выходами элемента ИЛИ итретьих элементов И и НЕ.На фиг. 1 а и 1 б представленаструктурная схема устройства буферизации команд; на фиг. 2 - структурная схема блока анализа; на фиг.Зструктурная схема блока выработкиприращения адреса преднакачки; нафиг. 4 - структурная схема блокасраннения адресов; на фиг, 5 - структурная схема блока замещения; нафиг. б - пример построения шифратора; на фиг. 7 - структурная схема селектора; на фиг, 8 - построение узла учета хронологии; на фиг, 9построение узла формирования кандидата на замещение,(Фиг. 1) содержит блок 1 памяти командных слов, группу входов 2 схемысравнения, блок 3 памяти адресов,блок 4 памяти признаков действительности, блок 5 памяти связности строк(каждый из указанных блоков можетв общем случае состоять иэ нескольких подблоков - столбцов, чтение иэкоторых осуществляется одновременно,а запись может вестись н каждый мо- , 10мент времени только в один из них,называемый столбцом - кандидатом назамещение ), блок 6 памяти замещения,коммутаторы 7 - 11 адресов, элементИ 12, сумматор 13 адреса строки, сумматор 14 связности, 6.буферный регистр15, буферный регистр 16 адреса, коммутаторы 17 и 18 выходной информации,сдвигатель 19, регистр 20 команды,блок 21 анализа, блок 22 сравненияадресов, шифратор 23, регистр 24 номера сравнения, блок 25 замещения,селектор 26, коммутатор 27 выходнойинформации, регистр 28 номера столбца продолжения, блок 29 выработкиприращения адреса преднакачки, адресный сумматор 30, вход 31 микрокомандустройства, сигнальный вход 32 устройства, адресный вход 33 устройства,информационный вход 34 устройства,вход 35 адресного сумматора, адресный выход 36 устройства, выход 37команды устройства, вход 38 блокаанализа, вход 39 блока анализа, вход40 блока анализа, сигнальный и кодовый выходы 41.1 и 41.2 устройства.Блок 21 анализа (Фиг. 2) содержитдве схемы 42 сравнения, дешифратор43, элементы НЕ 44, элементы И 45,.элемент ИЛИ 46.Блок 29 выработки приращения адреса преднакачки (Фиг. 3 ) содержитэлементы НЕ 47, элементы И 48, счетчик 49, дешифратор 50.Блок 22 сравненля адресов (фиг.4)содержит схемы 51 сравнения и элемен ты И 52.Блок 25 замещения (Фиг. 51 содержит узел 53 учета хронологии, узел54 формирования кандидата на замещение и регистр 55 хронологии.Шифтатор 23 (фиг.б) содержит элементы ИЛИ 56,Селектор 26 (фиг. 7) содержит элементы И 57 и элемент ИЛИ 58.Узел 53 учета хронологии (фиг. 8)содержит Элементы НЕ 59, элементыИ 60.Узел 54 формирования кандидата назамещение (фиг, 9) содержит элементыНЕ 61, элементы И 62 и элемент ИЛИ 63,Рассмотрим работу устройства на 60примере выполнения команд типа принятых в ЕС ЭВМ. Будем считать, что выполняются команды формата Бя длиной "2 байта, не требующие обращения нглавную память за операндами, коман ды Формата ВМ длиной в 4 байта и команды Формата ББ длиной в 6 байтов.Команды расположены в ячейках главной памяти н командных словах, каждое длиной в 8 байт. Выборка из главной памяти производится 8-байтными словами по 24-разрядному адресу(разрядность адреса 8-31), причемразряды 8-28 адресуют каждое слово,а разряды 29-31 (номер байта) адресуют тот номер байта в каждом слове,н котором расположен старший байт-(Ома нды.Если 29 р адреса равен нулю, тоначало команды ( старший байт ) расположено в старших четырех байтах командного слова, если 29 р адреса равен единице, то начало команды распоОжено в младших четырех байтах командного слона, Адрес текущей команды, поступающий на вход 33, нырабатынается на счетчике команд процессора.Будем считать, что выборка команды проводится н такте выборки команды, а выработка адреса следующей команды - н следующем такте - тактемодификации адреса.Примем также, что каждый столбецблоков 1, 3, 4, 5 и б содержит 64строки (ячейки) и н каждом столбцеблока 1 амяти командных слов располагается 8-байтовое командное слово,Обращение к блокам ведется по младшим разрядам адреса команды.Устройство работает следующим Образом.В такте выборки команды производится Обращение к блокам 1, 3, 4, 5ПаМлтИ ПО аДРЕСУ тЕКУЩЕй КОМаНДЫ аДресный вход 33 1,В блоке 3 памяти адресов записаны старшие разряды адреса командногослона, в блоке 4 памяти признаковдействительности - признаки действительности, н блоке 5 памяти связности - номер столбца блока 1, н котором находится продолжение данной командной ПОследоватЕльиооти. Если вблоке 5 памяти связности записана информация, не равная нулю, это означает что прОдОлжение команды имеетсян блоке 1.Каждый столбец блока 1 памяти командных слон представлен н виде двухсекций, Первая секция содержит старшие 4 байта командного слова, втораямладшие 4 байта. Обращение к второйсекции ведется по адресу с выходагервого коммутатора 7 адресон, обращение к первой секции - по адресу свыхода сумматора 13, который при выборке команды суммирует значение адреса с выхода коммутатора 7 со значением 29 р адреса текущей команды.Если нся команда расположена н однойстроке блока 1, то адреса обращенияк обеим секциям одинаковы, если нача 1092506ло команды расположено во второйсекции, то младшая часть команды будет сосчитана иэ следующей строкиблока 1. При чтении команды иэ блока1 восемь байтов командной информациипоступают на входы коммутаторов 17и 18. Одновременно из блока 3 памяти адресов, блока 4 памяти признаковдействительности, блока 5 памятисвязности считываются по тому же адресу через коммутаторы 8, 9 и 10 ад Оресов соответственно старшие частиадреса командного слова, признакидействительности и признак или номерстолбца продолжения. На схемах 51сравнения все сосчитанные иэ блока 3 15памяти адресов адреса сравниваютсясо старшей частью адреса выбираемойкоманды с учетом признака действительности на элементах И 52. Искомаякоманда (начало ее 1 находится н том,же столбце, н котором обнаруженосравнение. Номер сравнения формируется на шифраторе 23. Значение номерасравнения, равно нулю, указывает нато, что н блоке 1 требуемой командыне обнаружено. Аналогично, значение .номера продолжения, равное нулю,указывает на то, что продолжения данной командной последовательности вблоке 1 нет, По номеру сравнения про- З 0изводится управление коммутатором17 выходной информации младших четырех байт командной информации,в которых находится либо конец команды,если29 р адреса текущей команды равен нулю",либо ее начало, если 29 р адреса равен единице,Управление коммутатором 18 старших четырех байт информации производится по номеру 39 сравнения, если29 р адреса текущей команды ранен 40нулю, или по номеру 40 продолжения,если 29 р адреса равен единице, Сформированное на выходах коммутаторов17 и 18 командное слово поступаетна сдвигатель 19, на котором осущестнляется сдвиг влево входного командного слона кодом младших раэрядонадреса команды так, что на выходесднигателя 19 команда выравниваетсяпо своему старшему разряду, Сформированная таким образом команда поступает на регистр 20 команды и далее с его выхода 37 н процессор навыполнение блока 1.Выходная информация блока 5 поступает на вход коммутатора 27 выходнойинформации, управление которым производится по номеру 39 сравнения.Выходная информация коммутатора 27запоминается на регистре 28 номерастолбца продолжения.60Номер 39 сравнения поступает наблок 21 анал.лза нахождения командыв блоке 1. На другие входы этогоблока поступают старшие два разрядакоманды, сформированной на выходе 65 сдвигателя 19, формат команды 38, номер 40 продолжения, младшие разряды адреса команды. На выходе 41.1 формируется сигнал, указывающий, что вся команда находится в блоке 1. На выходе 41.2 Формируется сигнал, если информация по данному адресу находится в блоке 1.Если блок 21 анаюйза указывает на отсутствие команды в блоке 1 памяти командных слов, то производится процедура накачки требуемого командного слова в блок 1 командных слов из оперативной памяти При этом осуществляются соответствующие записи адреса командного слова в блок 3 памяти адресов и признаков действительности и продолжения в блоки 4 и 5 памяти.Накачка блока 1 новым командным словом возможна как при отсутствии требуемой команды н блоке 1, так и заблаговременно.Заблагонременная накачка блока 1 носит название преднакачки и осуществляется в те моменты времени, когда адресный и информационный тракты и оборудование процессора свободны от обращения в главную память за операндами. Как правило, это те моменты времени, когда процессор выполняет команды РН-формата, или моменты, когда процессор из-за конфликтов, возникающих при соылещенном выполнении команд, не может начать выполнение следующей команды, пока не выполнится предыдущая команда.Адрес очередного командного слова, накачиваемого н блок 1 памяти командных слов при преднакачке, формируется на выходе адресного сумматора 30 сложением адреса текущей команды команд со значением счетчика 49 преднакачки и единицы.Значени счетчика 49 всегда показывает разницу в двойных слонах между адресом командного слова текущей команды и адресом последнего слова, накаченного н блок 1 памяти командных слов. Если начала требуемой команды нет н блоке 1, то значение счетчика 49 равно нулю и прибавление единицы не производится. Счетчик 49 увеличивает свое содержимое на единицу всякий раз, когда произведена запись очередного командного слова в блок 1 памяти командных слов. Из счетчика 49 преднакачки вычитается единица всякий раэ, когда при Формировании адреса следующей команды возникает перенос. По достижении счетчиком 49 преднакачки максимального значения преднакачки, которое ныбирается меньше максимального количества командных слов, помещаемых в блок 1, дальнейшие попытки преднакачки приостанавливаются до тех пор, пока значение начетчика 49не уменьшится, Это предотвращаетпорчу информации в блоке 1 в случаетакого количества преднакачек, когда блок 1 может переполниться припреднакачках и последнее принятоекомандное слово может затереть в блоке 1 ячейку, в которой находитсяочередная для выполнения команда.С другой стороны, значение счет-чика 49 преднакачки может уменьшаться только до нуля. Для обеспечения 1 Оэтих условий служат дешифратор 50состояний счетчика 49, равных нулю,и состояний, равных Ч,где Нвеличина максимальной йредварительной накачки) и элементы НЕ 47, Сигналы прибавления +1 и вычитания -1к значению счетчика 49 вырабатываются с выходов соответствующих элементов И 48, При предварительной накачке очередного командного слова вблок 1 производится проверка каличия этого командного слова в блоке 1,Для этого по адресу, поступающемуна адресные входы блока 3 памяти адресов, блока 4 признаков действительности через коммутаторы 8 и 9 производится считывание из блоков 3 и 4памяти и анализ на схемах 51 сравнения наличия командного слова в блоке 1, Если командное слово находится в блоке 1, то делается только отметка о продолжении в предыдущейстроке блока памяти 5 связности. Есл,. же командного слова не обнаружено, то старшие разряды его адресазаписываются в блок памяти адресовпо линии 36 по адресу через коммутатор 8 в столбец, номер которого наосновании информации хронологии определяется блоком 25 замещения, навход которого поступает информация, 40считанная из блока 5 памяти замещения по адресу, поступающему черезкоммутатор 11. кандидатом на замещение выбирается тот столбец, информация которого наиболее,цолго не требо валась до текущего момента. При каждой выборке команды из блока 1 в такте выборки команды, если она Указывается в блоке памяти командных слов,в соответствующую ячейку блока 6 па- ОМРмяти замещения записывается информация.хронологии обращения, определяемая на основании номера 39 сравненияи предыдущего содержания этой ячейки блока б памяти замещения.При очередном обращении к баскуксмандных слов из блока б памяти замещения считывается информация в регистр 55 хронологии. Затем, если обнаружено сравнение в одном из столбцов, то узел 53 вырабатывает сигналы,оОизменяющие состояние определенныхбит регистра 55 хронологии,Биты регистра 55 хронологии изменяются под непосредственным управлением битов номера 39 сравнения. 65 После модификации регистра 55 хррнологии его содержимое запоминается в блоке б памяти замещения по адресу той же ячейки.В случае, если сравнение не обнаружено ни в одном из столбцов, номеркандидата на замещение определяется узлом 54. Узел 54 формирует биты номера столбца кандидата на замещение таким образом, что этот номер с наибольшей вероятностью не равен ближайшим по времени использования, в которых было обнаружено сравнение.В процедуре предварительной накачки значение, считанное по адресу очередного командного слова иэ блока б памяти замещения, определяет номер столбца блоков 3, 5 4, 1 памяти длязаписи в них соответственно старшихразрядов адреса командного слова,признаков действительности и связности и командного слова.Прием нового команцного слова ведется в выбранный столбец блока по адресу командного слова, поступающему через коммутатор 7 адресов с выхода буферного регистра 16. Одновременно по этому же адресу через коммутатор 9 адресов в блоке 4 записывается признак,цействительности, равный единице, а в предыдущей строке блока 5 памяти связности по адресу, поступающему на вход блока 5 памяти связности строк через сумматор 14 связности и коммутатор 10 адресов строк, в столбце, номер которого указан буферным регистром 15 связности, ,целается отметка о продолжении, т.е. записывается номер столбца блока 1, в который было принято это новое командное слово.Этот же номер заносится затем на буферный регистр 15.В буферный регистр 15 может быть записан также номер 39 сравнения, если команды находятся в блоке 1, а возможности преднакачки нет, номер 39 сравнении определенный в процедуре преднакачки, или состояние буФерного регистра 24, который хранит номер сравнения команды передачи управления до момента возврата к старой ветви в случае неуспешного перехода.Прл выголнении команды передачи управления модифицированный адрес команды новой ветви выступает в качестве адреса очередной команды, по которому немецленно ведется обращение к блокам 1, 3, 4, 5. Если команда новой ветви находится в блоке, то потери времени на выборку команды минимальны. Если команды новой ветви нет в блоке 1, ведется накачка требуемого командного слова этой новой ветви в блок 1 по адресу команды новой ветви. При этом во всех столбцах блока 5 памяти связностипо адресу предыдущей строки сбрасываются признаки номера ) продолжения, т.е, связность командных слов, расположенных смежно в блоке 1, но имеющих разные части адресов, разрушается. Связность командных слов 5 вновь устанавливается только после приема первого командного слова иэ новой ветви.Повышение эффективности исользования предлагаемого устройства бу феризации команд достигается тем,Люгер М что при каждом переходе в буфере разрушается не вся информация, а лишь некоторая ее часть, заполняемая новым программным циклом. Это повышает вероятность обнаружения команды новой ветви в буфере команд. Кроме того, обеспечивается выборка команды за один машинный такт независимо от расположения ее в командном слове,Применение изобретения позволяет повысить быстродействие устройства.

Смотреть

Заявка

3540520, 12.01.1983

ПРЕДПРИЯТИЕ ПЯ М-5769

НИКИТИН АНАТОЛИЙ ИВАНОВИЧ

МПК / Метки

МПК: G06F 9/32, G06F 9/50, G06F 9/54

Метки: буферизации, команд, процессора

Опубликовано: 15.05.1984

Код ссылки

<a href="https://patents.su/13-1092506-ustrojjstvo-buferizacii-komand-processora.html" target="_blank" rel="follow" title="База патентов СССР">Устройство буферизации команд процессора</a>

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