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

 

1. УСТРОЙСТВО БУФЕРИЗАЦИИ КОМАНД ПРОЦЕССОРА, содержащее блок памяти командных слов, блок памяти адресов, блок памяти признаков действительности , первый коммутатор адресов , блок сравнения адресов, буферный регистр адреса, адресный сумматор и регистр команды, выход которого подключен к выходу команды устройства , вход первого слагаемого адресного сумматора соединен с адресным . входом устройства, выход адресного сумматора соединен с адресным выходом устройства, с входом буферного регистра адреса, с первым входом первого коммутатора адресов и с информационным входом блока памяти адресов , адресный вход которого подключен к первому выходу первого комм татора адресов, второй выход которого соединен с первым информационным входом блока сравнения адресов, информационный вход блока памяти признаков действительности подключен к входу микрокоманд устройства, а выход - к входу разрешения сравнения блока сравнения адресов, информационный вход блока памяти командных слов соединен с информационным входом устройства, отличающеес я тем, что, с целью повышения быстродействия, оно содержит блок памяти связности строк, блок памяти замещения, блок анализа, блок выработки приращения адреса преднакачки , блок замещения, три коммутатора выходной информации, сдвигатель, сумматор адреса строки, сумматор связности, второй, третий, четвертый и пятый коммутаторы адресов, буферный регистр, шифратор, регистр номера сравнения, регистр номера продолжения , селектор и элемент И, вход управления записью блока памяти командных слов соединен с выходом селектора , с информационным входом блока памяти связности строк, с управляющим входом буферного регистра, с входами управления записью блока памяти признаков действительности и блока памяти адресов, вход управления считыванием блока памяти командных слов соединен с входом микрокоманд устройства, с первым входом бло (/) ка выработки приращения адреса преднакачки , с первым входом адресного сумматора, с первым входом элемента И, с входом управления записью блока памяти связности строк, с управляющими входами коммутаторов адресов, с информационными входами буферного регистра, с управляющими входами селектора , блока замещения, блока памяти замещения, с первым входом сумматора связности и с входом управления считыванием блока памяти адресов, вход адреса записи блока памяти командных слов соединен с выходом второго коммутатора адресов и с первым О5 входом сумматора адреса строки, вход адреса считывания .блока памяти командных слов соединен с выходом сумматора адреса строки, выходы блока памяти командных слов соединены соответственно с информационными входами первого и второго коммутаторов выходной информации, управляющий вход первого и первый управляющий вход второго коммутаторов выходной информации соединены с выходом шифратора , С первым входом блока анализа , с управляющим входом третьего коммутатора выходной информации, с

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

РЕСПУБВИН (Я) (l1) (51) G 06 Г 9/46

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

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3540520/18-24 ,.(22) 12.01.83 (46) 15.05.84. Бюл. Р 18 (72) A.È.Íèêèòèí (53) 681.325(088.8) (56) 1. Авторское свидетельство СССР

Р 301703, кл. G 06 F 9/46, 1971.

2. Электронная вычислительная машина ЕС1045, М.,"Финансы и статистика", 1981, с. 30-32, 77-79(прототип). (54)(57) 1. УСТРОЙСТВО БУФЕРИЗАЦИИ

КОМАНД ПРОЦЕССОРА, содержащее блок памяти командных слов, блок памяти адресов, блок памяти признаков действительности, первый коммутатор адресов, блок сравнения адресов, буфер— ный регистр адреса, адресный сумматор и регистр команды, выход которого подключен к выходу команды устройства, вход первого слагаемого адресного сумматора соединен с адресным . входом устройства, выход адресного сумматора соединен с адресным выходом устройства, с входом буферного регистра адреса, с первым входом первого коммутатора адресов и с информационным нходом блока памяти адресов, адресный вход которого подключен к первому выходу первого коммутатора адресов, второй выход которого соединен с первым информационным входом блока сравнения адресон, информационный вход блока памяти признаков действительности подключен к входу микрокоманд устройства, а выход — к нходу разрешения сравнения блока сравнения адресов, информационный вход блока памяти командных слов соединен с информационным входом устройства, о т л и ч а ю щ е ес я тем, что, с целью повышения быстродействия, оно содержит блок памяти связности строк, блок памяти замещения, блок анализа, блок выработки приращения адреса преднакачки, блок замещения, три коммутатора выходной информации, сдвигатель, сумматор адреса строки, сумматор связности, второй, третий, четвертый и пятый коммутаторы адресов, буферный регистр, шифратор, регистр номера сравнения, регистр номера продолжения, селектор и элемент И, вход управления записью блока памяти командных слов соединен с выходом селектора, с информационным входом блока памяти связности строк, с управляющим входом буферного регистра, с входами управления записью блока памяти признаков действительности и блока памяти адресов, вход управления считыванием блока памяти командных слов соединен с входом микрокоманд устройства, с первым входом блоЯ ка выработки приращения адреса преднакачки, с первым входом адресного сумматора, с первым входом элемента

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

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

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

И, первые входы которых соединены с выходом первого элемента НЕ, вход которого соединен с выходом первой схемы сравнения, второй вход первого элемента И соединен с выходом второго элемента HE вход которого соединен с первым входом блока.

3. Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок выработки приращения адреса преднакачки содержит дна элемента НЕ, дна элемента И, дешифратор и счетчик преднакачки, выход которого является выходом блока и соединен с входом дешифратора, а входы — соответственно с выходами элементов И, первые входы которых являются соответственно входом микрокоманд и входом переноса устройства„ а вторые входы соединены с выходами элементов НЕ, входы которых соединены с входами дешифратора.

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

5. Устройство по пп. 1 и 4 л и а ю щ е е с я тем, что узел учета хронологии содержит элемент

HE и группу элементов И, причем первый вход узла соединен с первыми входами элементов И группы, выходы которых соединены с выходом узла, вторые входы первого, второго и последнего элементов И группы соединены через элемент HE с вторым входом узла, вторые входы остальных элементов И группы соединены с вторым входом узла.

Ъ

6. Устройство по пп. 1 и 4, о тл и ч а. ю щ е е с я тем, что узел формиронания кандидата на замещение

1092506 содержит четыре элемента НЕ, три элемента И и элемент ИЛИ, причем вход блока через первый и второй элементы НЕ соединен с первыми входами первЬго и второго элементов И, вторые входы которых соответственно соединены с входом узла непосредственно и через третий элемент НЕ, выходы

Изобретение относится к вычислительной технике и предназначено для работы в центральном процессоре быстродействующих 3ВМ, выполняющем команды различных форматов и длины. 5

Известно устройство выборки команд, предназначенное для выборки команд длиной в 2, 4, 6 байтов, произвольно расположенных в командных словах. Устройство содержит восемь буферных регистров (каждый длиной в 8 байт} для хранения восьми последрвательных командных слов, образующих стэк команд, два дополнительных буферных регистра для хранения двух последовательных командных слов в командах передачи управления, счетчики адресов текущей выполняемой команды, адресов самого "старого" командного слова и самого последнего командного слова, выбранных из памяти и хранящихся в буфере, схемы сравнения адресов текущей команды с адресами "верхней" к "нижней" границ стэка команд для определения нахождения команды в буфере (стзке) команд. Данное устройство позволяет накачивать запас команд одновременkiv с выполнcнке к текущих команд оно позволяет также начинать выполнение команд новой ветви в командах 30 передачи управления, не дожидаясь признака результата в предыдущей команде, если эти команды новой ветви находятся в стзке j.13.

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

Наиболее близким к предлагаемому является устройство буферизации команд процессора, содержащее блок буферной памяти команд по типу "КЭШ", расположенный в устройстве управле- 50 первого и второго элементов И соединены с входами элемента ИЛИ, выход которого через четвертый элемент НЕ соединен с первым входом третьего элемента И, второй вход которого соединен с входом узла, выход которого соединен с выходами элемента ИЛИ и третьих элементов И и НЕ. ния памятью, к блок выборки команд, расположенный в центральном процессоре. Блок буферной памяти команд содержит блок памяти командной информации (на 32 командных слова f, информационный вход которого является информационным входом устройства, а адресный вход соединен с выходом буферного регистра адреса, блок памяти признаков действительности (содержит два бита действительности соответственно двум полублокам1 и коммутатор адресов, выходы которых соединены с соответствующими входами блока сравненкя адресов, выход которого является управляющкм выходом устройства, кнфор .ацконный вход блока памяти признаков действительности является входом микрокоманд устройства, а адресный соединен с адресным входом блока памяти адресов к с выходом коммутатора адресов, вход которого соединен с информационны к входами буферного регистра адреса и блока памяти адресов к с выходом регистра реального адреса памяти, а второй вход — c выходом буферного регистра реального адреса. Обращение к блоку буферной памяти команд ведется по адресно-ассоциативному принципу,причем блок памяти командных слов выполнен в виде одного отделения (столбца j. В блок буферной памяти команд информация поступает из оперативной памяти в режимах преднакачки и в случае отсутствия требуемой команды в блоке буферной памяти команд. Выходная информация блока буферной памяти поступает на информационный вход блока выборки команд, содержащего трк буферных регистра. команд (каждый длиной в 4 байта ), два регистра, хранящих адреса команд, находящихся на буферчых регистрах команд, инкрементор выработки адресов преднакачкк, выход которого соединен с первым входом регистра реального адреса и с первым входом адресного сумматора, выход которого соединен с вторым .входом регистра реального адреса, а второй вход — с первым входом второго регкстра адреса команд, 1092506 первый вход которого соединен с выходом регистра реального адреса, а .второй — с соответствующим входом адресного сумматора, с входом инкрементора и с выходом первого регистра адреса, выход первого регистра команд является выходом команды устройства. Известное устройство осуществляет предварительную выборку ко манд и позволяет значительно снизить считыванием блока памяти командных слов соединен с входом микрокоманд устройпотери времени, связанные с выборкой команд из главной памяти ЭВМ 32 3.

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

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

1092506 нен с выходом третьего коммутатора выходной информации, информационный вход которого подключен к выходу блока памяти связности строк, вход управления чтением которого соединен с выходом буферного регистра, а адресный вход — с выходом четвертого коммутатора адресов, второй вход которого соединен с выходом сумматора связности, а третий нход— ,с выходом адресного сумматора, с вторыми входами третьего и пятого .коммутаторов адресов, выход которого подключен к адресному входу блока памяти замещения, информационный вход которого соединен с первым выходом блока замещения, выход блока памяти замещения соединен с вторым информационным входом блока замещения, второй выход которого подключен к второму информационному входу се- 20 лектора, третий информационный вход которого соединен с выходом регистра номера сравнения, выход третьего коммутатора адресов подключен к адресному входу блока памяти признаков 25 действительности, выход буферного регистра адреса соединен с вторым входом второго коммутатора адресов, с третьим входом третьего коммутатора адресов и с вторым входом сумма- 3р тора связности, выход блока нырабо.гки приращения адреса преднакачки подключен к входу второго слагаемого адресного сумматора, управляющий вход блока выработки приращения адре-35 са преднакачки подключен к сигнальному входу устройства, выход элемента И соединен с нторым входом сумматора адреса строки, выход блока памяти адресов подключен к второму информационному входу блока сравнения адресов, выход которого соединен с входом шифратора, пятый вход блока анализа соединен с входом логического нуля устройства, второй вход блока выработки приращения адреса пред- 45 накачки соединен с сигнальным входом устройства.

При этом блок анализа содержит дешифратор, две схемы сравнения, четыре элемента НЕ, четыре элемента И 50 и элемент ИЛИ, выход которого подключен к первому выходу блока, входы элемента ИЛИ соединены соответственно с выходами элементов И, первые входы которых соединены с выходом 55 первого элемента НЕ, вход которого соединен с выходом первой схемы сравнения, второй вход первого элемента И соединен с выходом второго элемента НЕ, вход которого соединен щ3 с первым входом блока.

Блок выработки приращения адреса

-преднакачки содержит два элемен, та НЕ, дна элемента И, дешифра- .

; тор и счетчик преднакачки, выход.65 которого является выходом блока и соединен с входом дешифратора, а входя — соответственно с выходами элементов И, первые входы которых являются соотнетстненно входом микрокоманд и входом переноса устройства, а вторые входы соединены с выходами элементов НЕ, входы которых соединены с входами дешифратора.

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

Узел учета хронологии содер-ит элемент НЕ и группу элементов И, причем первый вход узла соединен с первыми входами элементов И группы, выходы которых соединены с выходом узла, вторые входы первого, второго и последнего элементов И группы соединены через элемент НЕ с вторым входом узла, вторые входы остальных элементов И группы соединены с вторым входом узла.

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

На фиг. 1а и 1б представлена структурная схема устройства буферизации команд; на фиг. 2 — структурная схема блока анализа; на фиг.З структурная схема блока выработки приращения адреса преднакачки; на фиг. 4 — структурная схема блока сраннения адресов; на фиг. 5 — структурная схема блока замещения; на фиг. б — пример построения шифратора; на фиг. 7 — структурная схема селектора; на фиг. 8 — построение узла учета хронологии; на фиг. 9 построение узла формирования кандидата на замещение.

1092506

Устройство буферизации команд (Фиг. 11 содержит блок 1 памяти командных слов, группу входов 2 схемы сравнения, блок 3 памяти адресов, блок 4 памяти признаков действительности, блок 5 памяти связности строк (каждый из указанных блоков может в общем случае состоять иэ нескольких подблоков - столбцов, чтение иэ которых осуществляется одновременно, а запись может вестись н каждый момент времени только н один из них, называемый столбцом — кандидатом на замещение I, блок 6 памяти замещения, коммутаторы 7 - 11 адресов, элемент

И 12, сумматор 13 адреса строки, сум- 15 матор 14 связности, б буферный регистр

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, элементы HE 44, элементы И 45,.

1элемент ИЛИ 46.

Блок 29 выработки приращения ад- 49 реса преднакачки (фиг. 3 I содержит элементы НЕ 47, элементы И 48, счетчик 49, дешифратор 50.

Блок 22 сравнения адресов (фиг.4I содержит схемы 51 сравнения и элемен-4g ты И 52.

Блок 25 замещения (фиг. 5t содержит узел 53 учета хронологии, узел

54 формирования кандидата на замещение и регистр 55 хронологии.

Шифтатор 23 (фиг.б) содержит элементы ИЛИ 56.

Селектор 26 (фиг. 71 содержи-. элементы И 57 и элемент ИЛИ 58.

Узел 53 учета хронологии (фиг. 8) содержит Элементы HE 59, элементы

R 60.

Узел 54 формирования кандидата на замещение (фиг. 9) содержит элементы

НЕ 61, элементы И 62 и элемент ИЛИ 63.

Рассмотрим работу устройства на примере выполнения команд типа принятых в ЕС ЭВМ. Будем считать, что выполняются команды формата Бя длиной "

2 байта, не требующие обращения н главную память за операндами, коман- 65 ды формата HX длиной в 4 байта и команды Формата SS длиной в 6 байтов.

Команды расположены в ячейках главной памяти н командных словах, каждое длиной в 8 байт. Выборка из главной памяти производится 8-байтными словами по 24-разрядному адресу (разрядность адреса 8-31), причем разряды 8-28 адресуют каждое слово, а разряды 29-31 (номер байта ) адресуют тот номер байта в каждом слове, н котором расположен старший байт

-к ома нды.

Если 29 р адреса равен нулю, то начало команды (старший байт р расположено в старших четырех байтах командного слова, если 29 р адреса равен единице, то начало команды распо1ожено в младших четырех байтах командного слона. Адрес текущей команды, поступающий на вход 33, нырабатынается на счетчике команд процессора.

Будем считать, что выборка команды проводится в такте выборки команд», а выработка адреса следующей команды — н следующем такте — такте модификации адреса.

Примем также, что каждый столбец блоков 1, 3, 4, 5 и б содержит 64 строки (ячейки! и н каждом столбце блока 1 памяти командных слов располагается 8-байтовое командное слово.

Обращение к блокам ведется по младшим разрядам адреса команды.

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

В такте выборки команды производится обращение к блокам 1, 3, 4, 5 памяти по адресу текущей команды (адресный вход 33 !.

В блоке 3 памяти адресов записаны старшие разряды адреса командного слона, в блоке 4 памяти признаков дейстнителbHocTH — признаки действительности, н блоке 5 памяти связности — номер столбца блока 1, н котором находится продолжение данной командной последовательности. Если в блоке 5 памяти связности записана инФормация, не равная нулю, это означаeò „что продол>!(ение команды имеется н блоке 1.

Каждый столбец блока 1 памяти командных слон представлен н виде двух секций. Первая секция содержит старшие 4 байта командного слова, втораямладшие 4 байта. Обращение к второй секции ведется по адресу с выхода первого коммутатора 7 адресон, обращение к первой секции — по адресу с выхода сумматора 13, который при выборке команды суммирует значение адреса с выхода коммутатора 7 со значением 29 р адреса текущей команды.

Если нся команда расположена н одной строке блока 1, то адреса обращения к обеим секциям одинаковы, если нача1092506 ло команды расположено во второй секции, то младшая часть команды будет сосчитана иэ следующей строки блока 1. При чтении команды иэ блока

1 восемь байтов командной информации поступают на входы коммутаторов 17 и 18. Одновременно из блока 3 памяти адресов, блока 4 памяти признаков действительности, блока 5 памяти связности считываются по тому же адресу через коммутаторы 8, 9 и 10 ад- 10 ресов соответственно старшие части адреса командного слова, признаки действительности и признак или номер столбца продолжения. На схемах 51 сравнения все сосчитанные иэ блока 3 15 памяти адресов адреса сравниваются со старшей частью адреса выбираемой команды с учетом признака действительности на элементах И 52. Искомая команда (начало ее 1 находится э том

;же столбце, в котором обнаружено сравнение. Номер сравнения формируется на шифраторе 23. Значение номера сравнения, равно нулю, указывает на то, что в блоке 1 требуемой команды не обнаружено. Аналогично, значение . номера продолжения, равное нулю,указывает на то, что продолжения данной командной последовательности в блоке 1 нет. По номеру сравнения про- 30 изводится управление коммутатором

17 выходной информации младших четырех байт командной информации,в которых находится либо конец команды,если

29 р адреса текущей команды равен нулю", либо ее начало, если 29 р адреса равен единице.

Управление коммутатором 18 старших четырех байт информации производится по номеру 39 сравнения, если

29 р адреса текущей команды равен 40 нулю, или по номеру 40 продолжения, если 29 р адреса равен единице. Сформированное на выходах коммутаторов

17 и 18 командное слово поступает на сдэигатель 19, на котором осущест- 45 вляется сдвиг влево входного командного слова кодом младших разрядов адреса команды так, что на выходе сдвигателя 19 команда выравнивается по своему старшему разряду. Сформированная таким образом команда поступает на регистр 20 команды и далее с его выхода 37 в процессор на выполнение блока 1.

Выходная информация блока 5 посту- 55 пает на вход коммутатора 27 выходной информации, управление которым производится по номеру 39 сравнения.

Выходная информация коммутатора 27 запоминается на регистре 28 номера столбца продолжения.

Номер 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

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

С другой стороны, значение счетчика 49 преднакачки мажет уменьшаться только до нуля. Для обеспечения iO этих условий служат дешифратор 50 состояний счетчика 49, равных нулю, и состояний, равных Ч,„ „(где Н величина максимальной йредварительной накачки) и элементы HE 47. Сигналы прибавления +1 и вычитания -1 к значению счетчика 49 вырабатываютcR с выходов соответствующих элементов И 48. При предварительной накачке очередного командного слова в блок 1 производится проверка наличия этого командного слова в блоке 1.

Для этого по адресу, поступающему на адресные входы блока 3 памяти адресов, блока 4 признаков действительности через коммутаторы 8 и 9 производится считывание из блоков 3 и 4 памяти и анализ на схемах 51 сравне(ния наличия командного слова в блоке 1. Если командное слово находится в блоке 1, то делается толька отметка а продолжении в предыдущей строке блока памяти 5 связности. Есл.:. же командного слова не обнаружена, та старшие разряды его адреса записываются в блок памяти адресов па линии 36 по адресу через коммутатор 8 в столбец, номер которого на основании информации хронологии определяется блоком 25 замещения, на вход которого поступает информация, "О считанная из блока 5 памяти замещения по адресу, поступающему через коммутатор 11. кандидатом на замещение выбирается тот столбец, информация которого наиболее,цолго не треба-45 валась до текущего момента. При каждой выборке команды из блока 1 в тактc" .выборки команды, если ана указывается в блоке памяти командных слов, в соответствующую ячейку блока б па- < .Э «Я мяти замещения записывается информация.хранологии обращения, определяемая на основании номера 39 сравнения и предыдущего содержания этой ячейки блока б памяти замещения.

При очередном обращении к баску ксмандных слов из блока б памяти замещения считывается информация в регистр 55 хронологии. Затем, если обнаружено сравнение в одном из столбцов, то узел 53 вырабатывает сигналы,ác изменяющие состояние определенных бит регистра 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, Если команда новой ветви находится в блоке, то потери времени на выборку команды минимальны. Если команды новой ветви нет в блоке 1, ведется накачка требуемого командного слова этой новой ветви в блок 1 по адресу команды новой ветви. При этом ва всех столбцах блока 5 памяти связности

1092506

14

13 по адресу предыдущей строки сбрасываются признаки (номера ) продолжения, т.е..связность командных слов, расположенных смежно в блоке 1, но имеющих разные части адресов, разрушается. Связность командных слов 5 вновь устанавливается только после приема первого командного слова иэ новой ветви.

Повышение эффективности использования предлагаемого устройства бу- 10 феризации команд достигается тем, 3 1 52 О J4 что при каждом переходе в буфере разрушается не вся информация, а лишь некоторая ее часть, заполняемая новым программным циклом. Это повышает вероятность обнаружения команды новой ветви в буфере команд.

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

Применение изобретения позволяет повысить быстродействие устройства.

109250б

1092506

tPua 5

1092506

1092506

Рюти

Составитель М. Кудряшев

Техред Л.Коцюбняк Корректор JI. Пилипенко

Редактор Л.Алексеенко

Филиал ППП "Патент", r.Óæãoðoä, ул.Проектная, 4

Заказ 3256/33 Тираж 699 Подписное

ВНИИПИ Госуд.-жатвенного комитета СССР по делам и; бретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

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

 

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