Устройство центрального управления процессора

ZIP архив

Текст

(54)(57) 1 УПРАВЛЕНИЯ блок буйер ной п микро транс регисвого,и селмых,ым с м ло ер мац тораинфолоканый второго рмации б льной ла слагаемого и с выко вход кот У ОСУДАРСТВЕННЫЙ КОМИТЕТ СССО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЦТИ СПИСАНИЕ ИЗОБР , К А 8 ТОРСНОМУ СВИДЕТЕЛЬСТ(прототип). УСТРОЙСТВО ЦЕНТРАЛЬНОГО ПРОЦЕССОРА, содержащееизации команд, блок локальамяти, блок счетчиков, блок рограммного управления, блок ции адреса, сумматор адреса, ры командной инйормации первторого и третьего уровней кторы первого и второго слагаеыходы которых соединены с пер- вторыМ входами сумматора адса соответственно, выход которого инеи с соответствующими входадреса блока локальной памяти,а трансляции адреса и селектор ого слагаемого, первыи инйоронный вход которого соединеным инйормационным входом сел зы и индекса блокаяти, первый информационрого подключен к первовходу управляющеи информации ства и информационному входу буйеризации команд, а второй БО,;113617 инйормационный вход - к второму вхоуправляющей инйормации устройства,первый информационный выход блокалокальной памяти подключен к первому выходу управляющей информацииустройства, а второй информационный выход - к второму выходу упра ляющей инйормации устройства, инй мационному входу блока трансляции адреса, инйормационному входу се."ектора первого слагаемого, выходы микро- приказов блока микропрограммного управления подключены к соответствующим управляющим входам блока локальной памяти, блока счетчиков и блока буйеризации команд, селекторов первого Е и второго слагаемых и блока трансляции адреса, вход внешних запросов блока микропрограммного управления С соединен с входом внешних запросов устройства, а вход признаков ветвле- Ф ния - с соответствукицими выходамипризнаков ветвления блока буфериза- фееф ции команд, сумматора адреса и бло-. нефф ка трансляции адреса, выход абсо- М лютного адреса которого соединен ф) с соответствующими входами абсолют- фей ного адреса блока локальной памя ас) ти и блока буферизации команд, вы- асЯ ходы регистров командной информации., первого, второго и третьего уровней соединены с соответствующими инйормационными входами блока микропрограм много управления и г пресными входами ф локальной памяти, вход адреса команды которого соединен с входом команды селектора первого слагаемого и выходом адреса команды блока счетчиков, первый индюрмационный вход которого соединен с выходом регистра.командной индюрмации первого уров 1136Если 29 р адреса команды равен единице, то начало команды расположено в секции 41 в Ъ -й строке по адресу (23-28 р) адреса команд, а конец команды может быть расположен в 5 следующей О(+1)-1 строке, и следовательно, будет считан из секции 42 по адресу 1(23-28 р)+(29 р)ядре"а команды.Таким Образом, на входы коммута О торов 57 и 58 выходной информации при чтении команды из секций 41 и 42 поступают 8 байт командной информации из каждого столбца, в которьи может бить расположена выби раемая команда.Одновременно со считыванием комантного слова из памяти 41 и 42 из памяти 43 адресов, памяти 44 действительности памяти .45 связнос ти считываются по тому же адресу 1 -й строки адреса команды (22-28 р), поступающему на адресные входы соответствующих памятей через коммутаторы 48-50 адресов, соответственно. 2 старшие части адреса командного слова, признаки действительности и номер столбца продолжения. На схемах 61 сравнения все сосчитанные из памяти 43 адресов адреса сравниваются со ЗО старшей частью п 1 Ярр адреса выбираемой команды с учетом признака действительности на элементах. И 62, Искомая команда (начало ее) находится в том столбце, в котором обнаружено сравнение. Номер столбца сравне ния формируется на выходах элементов И 62. Значение номера:сравнения, равное нулю, указывает на то, что в БКС требуемой команды не обнаружено, 111 Аналогично, значение номера продолже-, ния, равное нулю, указывает на то, что продолжения данной командной последовательности в БКС нет. По номеру сравнения производится управления коммутатором 57 выходной информации младших 4 байт команд ной информации, в которых находится либо конец (если 29 р адреса коман ды равен нулю), либо начало команды (если 29 р адреса команды равен едини це) .Если 29 адреса команды равен нулю, то управление коммутатором 58 произнпдится по выходу 69 номера у сравнения, если 29 р адреса команды равен единице, то управление комму" татором 58 производится по выходу 177 1670 номера столбца продолжения. Сформированное на выходах коммутаторов57 и 58 командное слово поступаетна сдвигатель 59, на котором осуществляется.сдвиг влево входного командного слова по коду (29,30 р) адресакоманды, так что на выходе сдвигателя 59 команда выравнивается по своему старшему разряду. Сформированнаятаким образом команда поступает нарегистр 60 команд и далее с его выхода 28 на вход селектора 2 первогоуровня. Одновременно со считываниемиз памяти комантных слов и их памятей 43 и 44 ведется считывание по тому же адресу 1 с -й строки через четвертый коммутатор 50 из памяти 45связностиВыходная информация памяти связности поступает на вход третьегокоммутатора 63 выходной информации,управление которым производится повыходу 69 номера сравнения. Выходная1.информация коммутатора 63 запоминается на регистре 66 номера продолжения,Нокер сравнения выхода 69 поступает на узел 68 анализа (Фиг,2 а) на-,хождения команды в буфере команд.На другие входы этого узла поступает значение 29, 30 р адреса командыи старшие два разряда команды, сформированной на выходе сдвигателя 59,(выход 71 формата команды), Дешифратор 43 расшифровывает команды В.-АОрмата (выход 77) и Х-Формата (вы- .ход 78). Команда считается обнаруженной в буФере в также Т 1, еслиФункция Р (выход 27) Г = (ном.ср.ФО),:9 мТ 29 р). Вй ЙКСК 30 р+ (нам.продолж ь О)Если узел 68 анализа указываетна отсутствие команды в памяти командных слов, то производится процедура накачки требуемого командного слова в память 41 и 42 командных слов из оперативной памяти. Приэтом Осуществляются соответствующиезаписи адреса командного слова Ыпамять 43 адресов и признаков действительности и продолжения в памяти44 и 45.Накачка памятей 41 и 42 новымкомандным словом возможна как при от-,сутствии требуемой команды в БКС, Таки заблаговременно. Заблаговременнаянакачка памятей 41 н 42 носит назва"ние предварительной накачки (преднакачки) и осуществляется в те моменты времени, когда адресный и инФормационный тракты и оборудование процессора свободны от обращения в главную память за операндами. Как правило это те моменты времени, когда процессор выполняет команды М-формата, или моменты, когда процессор из-за конфликтов возникающих)при совмещенном выполнении команд, не может начать выполнение следующей команды, пока не.выполнится команда.Адрес очередного, командного сло ва (АКС)(8-28 р), накачиваемого в памяти 41 и 42 командных слов при преднакачке, формируется на выходе адресного сумматора 16 сложением адреса текущей команды (8-31 р) блока счетчика команд со значением счетчика преднакачки 86 и единицы. При на О качке очережного.командного слова в памяти 41 и 42 производится проверка наличия этого командного слова в БКС. Для этого по адресу АКС (22-28 р), поступающему на адресные входы памяти 43 адресов, памяти 44 признаков действительности через коммутаторы 48 и 49 производится считцвание из памятей 43 и 44 и анализ на схемах 61 сравнения и элемен тах И 62 наличия командного слова в , БКС. Если командное слово находится в БКС, то делается только отметка о продолжении в памяти 45 связности в предыдущей Й)-й строке. Если же командного слова не обнаружено, то старшие щ разрядов его адреса АКС (8-22) записываются в память 43 адресов по линии 39 по адресу АКС (22-28) через коммутатор 48 в 40 столбец, номер которого определен как номер кандидата на замещение. Одновременно в аналогичном столбце памяти 44 и 45 по этому же адресу АКС (22-28) сбрасываются в ноль. признак 4 действительности и номер продолжения.Номер столбца-кандидата на замещение для двухстолбцового буфера опре-. деляется.следующим образом. При каждой выборке команды из 1 -Й строки 50 секций 41 и 42 БКС, в такте выборки команды, если она оказывается в памяти командных слов, в соответствующую -ю строку памяти 46 замещения записывается одноразрядный номер срав- у кения "0" (если сравнение обнаружено в первом столбце) или "1" (если сравнения не обнаружено в первом столбце). В процедуре преднакачки в такте Т 4 из памяти 46 замещения по адресу очередного командного слова АКС (22-28) считывается информация, и инверсия ее значения определяет номер столбца памятеР 43 - 45 и секций 41 и 42 БКС для записи в них соответственно старших щ разрядов адреса командного слова АКС, признака действительности номера продолжения, равного нулю, и командного слова. Таким образом, замещается информация того столбца к которому дольше не былообращений.Прием нового командного слова ведется в такте Т 5 в намять командных слов по адресу командного слова АКС (22-28); поступающему на вход секций 41 и 42 через коммутатор 47 адресов и сумматор 53 (на котором в этот момент ведется сложение с нулем) с выхода буферного регистра 56. Одновременно по этому же адресу через третий коммутатор 49 адресов в память 44 признаков действительности записывается признак . Як 1 а в предыдущей 5-1)-й строке памяти 45 связности по адресу (АКС (22-28)-1), поступающему на вход памяти 45 через сумматор 54 и коммутатор 50, в столбце, номер которого указан буферным регистром 55 делается отметка о продолжении, т,е, записывается номер того столбца памяти командных слов БКС, в который принято данное командное слово.На буферный регистр 55 заносится номер столбца памяти 41 и 42 командных слов, в который принято очередное командное слово. При приеме последующего командного слова состояние регистра 55 определяет тот номер столбца памяти 45 свяэйости, где необходимо делать отметку о продолжении,.В буферный регистр 55 может быть записан также номер сравнения выхода 69, если команды находятся в памяти 41 и 42, а воэможности пред- накачки нет, - номер сравнения выхода 69, определенный в процедуре пред- накачки или состоянием буферного регистра 64, который хранит номер сравнения команды передачи управления до момента возврата к старой ветви в случае неуспешного перехода.При выполнении команды передачи управления модифицированный адрес команды новой ветви выступает в качестве адреса очередной команды через селектор 9. Осушестяляется по19 11361пытка выборки этой очередной команды из памяти 41 и 42 командных словнесмотря на то, что признак результата от предццущей команды ещене получен. Если эта очередная команда находится в памяти 41 и 42,производится выполнение тех тактовэтой и последующих за ней команд, вкоторых нет необратимых действий,до момента получения признака результата от предыдущей команды.Вслучае признака результата, соответствующего успешному переходу,продолжается иоследовательность действий по выполнению команд новой 13ветви и потери на выполнение команды йередачи управления здесь минимальны. В случае, если признак результата в предыдущей команде не соответствует переходу, выполнение команд 20новой ветви прекращается и производится возврат к командам старойветви,В случае, если переход успешен,но команды новой ветви нет в памяти 2541 и 42, ведется накачка требуемогокомандного слова этой новоч ветвив память 41 и 42, При этом во всехстолбцах памяти 45 связности по адресу (ЛКС (22-28)-1) сбрасываются 1 ЗОпризнаки (номера) продолжения, т.е.связность командных слов, расположенных смежно в памяти 41 и ч 2, ноимеющих разные старшие части адре-.сов, разрушается, Связностькомандныхзслов вновь устанавливается только после приема первого командного словаиз новой ветви,В случае выполнения команд записи в оперативную (буферную) память 40ведется проверка нахождения информации в памяти 41 и 42 командных словпо адресу записи. Дрес записи с выходаблока 17 трансляции адреса поступает поадресному входу 39 через коммутаторы 4845и 49 на адресные входы памяти 43адресов и памяти 44 признаков действительности и затем проверяетсяна схемах 61 сравнения и элементахИ 62 на наличие в памяти командныхслов. Если по адресу записи информация имеется в памяти 41 и 42, то выполня- ется .микроподпрограмма, по которой строка памяти 41 и 42 по этому ад, ресу объявляется недействительной (сбрасываются признаки действитель ности в памяти 44), а во всех столб77 20 цах памяти 45 связности в предыдущей строке сбрасываются признаки(номера) продолжения,Возможно и другое решение, предусматривающее запись операнда одновременно в главную память и в память41 и 42 в тот столбец, в котором .обнаружено сравнение. Такое решение, однако, потребовало бы наличияна информационном входе памяти 41и 42 селектора для приема информациизаписываемого в память операнда.11 роцесс работы и преднакачки команд может быть осуществлен по временной диаграмме (фиг. 16) совмещенно с выполнением . текущих команд. Работа блока буферизации команд осуществляется в тактах Т 1-Т 5.ф Т 1 - такт выборки команды, В пер"вом его полутакте командасчитывается из памяти 41 и42, во втором полутакте ве"дется запись, номера столбцакандидата на замещение в па"мять 46 замещения и анализналичия команды в БКС,Т 2 - такт модификации адреса. Если выполняется процедуранакачки БКС, то в Т 2 вырабатывается адрес командногослова, а также модифицируется (вычитается "1") счетчикпреднакачки, если счетчик команд при продвижении указывает на команду из следующегокомандного слова.ТЗ - такт трансляции адреса командного слова. В этом тактесчетчик преднакачки модифицируется (прибавляется "1") для выработки адреса следующего командного слова.Т 4 - такт выдачи информации из оперативной (буферной) памяти и проверки матрицы адресов буфера команд, В первом полутакте ведется считывание и проверка состояния памяти 43 адресов и памяти 44 признаков действительности. Если анализ показал, что требуемое команд.ное слово имеется в памяти ко.мандных слов, то во втором полутакте ведется запись только. в память 45 связности/и процесс преднакачки завершается, а информация, поступающая иэ оперативной памяти,игнорируется. Если анализпоказал, что требуемого команд -ного слова нет в памяти 41 и42 командных слов, то вовтором полутакте ведется запись адреса в память 43 адресов и сброс битов действительности и признаков (номера) продолжения в памяти 44признаков действительности Ои в памяти 45 связности,Т 5 - такт приема командного слова,поступившего иэ оперативной(буферной) памяти в память41 и 42, Прием осуществляется во втором .полутакте. Кроме того, в втором полутакте устанавливается в "1"бит действительности и впредыдущей строке памяти 45 20связности записывается признак (номер) продолжения.Счетчик 82 команд (Фиг. 5) вычисляет адрес следующей команды на основании адреса текущей команды и ее25 формата. Адрес текущей команды хранится на счетчике 82 (8/28 р) и регистре 84 (29, 30 р). Два младшие разряды адреса с регистра 84 поступают на вход сумматора 85 в качестве первого слагаемого, Вторым слагаемым является еод длины команды (КДК) поступающий по входу 33 с регистра команд первого уровня. При вычислении адреса следующей команды в такте Т 2 И текущей, команды эти две величины складываются, и новое значение 29, 30 р адреса из сумматора 85 через селектор 83 записывается на регистр 84. Если в результате сложения воз никает перенос, на счетчике 82 прибав ляется единица к текущему значению 8/28 р адреса. В командах передачи управления на счетчике команд принимается адрес перехода с выхода се лектора 11.Счетчик 86 преднакачки предназначен для выработки адреса следующего. командного слова, накачиваемого в БКС. относительно счетчика команд. Значение счетчика 86 преднакачки всегда показывает разницу в двойных словах между адресом командного слова текущей команды и адресом последнего накаченного в память 41 и 42 командного слова.Если начала требуемой команды нет в БКС, то адрес накачиваемого командного слова равен значению счетчика (8-28 р), т.е. значение счетчика86 равно нулю, и прибавление единицыне производится. Счетчик 86 увеличивает свое содержимое на единицувсякий раэ, когда производится записьочередного командного слова в память41, 42 командных слов. Из счетчика86 преднакачки вычитается единицавсякий раз, когда при формировании адреса следующей команды возникает перенос в 28 р счетчика команд исчетчик команд указывает на следующее командное слово. По достижениисчетчиком 86 преднакачки максимального значения преднакачки (выход89 дешифратора 88), которое выбирается меньше максимального количества командных слов, помещаемых в одинстолбец памяти 41,. 42, дальнейшие попытки преднакачки приостанавливаютсядо тех пор, пока значение счетчика86 не уменьшится. Это предотвращае: порчу информации в памяти 41,42в случае такого количества преднакачек, когда память БКС может переполниться при преднакачках, и последнеепринятое командное слово можетзатереть в БКС строку, в которой находится очередная для выполнениякоманда,С другой стороны, значение счетчика 8 б преднакачки может умейьшиться только до нуля. Для ограничения счета до 7 (Ч - величинащцх щахмаксимал ной преЧнакачки) и ограйичения вычитания до "0" предназначен дешифратор 88 этих состояний, который через элементы НЕ 89 закрывает соответствующий элемент И 90, с вь 1 хо да которых снимаются "игналы прибавления или вычитания. В исходном состоянии и в командах передачи управления на счетчик 86 преднакачки заносится "0", так как должны накачиваться командные слова новой ветви, с новой точки отсчета,Счетчик 87 предназначен для выработки идентификатора ССП, адреса хранения ССП в локальной памяти. Он является двухразрядным счетчиком инструкции по модулю 4 соответственно четырем уровням совмещения, и для каждой очередной команды указывает очередное место хранения ее СДЛ в локальной памяти, В исходном состоянии он устанавливается в "0".Значение счетчика 87 устанавливается в соответствующих разрядах управляющей инФормации регистра 3 первого уровня одновременно с приемом командной инФормации. Затем 5 идентиФикатор ССЛ передвигается с уровня на уровень вместе со всей инФормацией данного уровня.Блок локальной памяти (Фиг. 6) воспринимает для буФерного хранения 10 состояние всех основных регистров про. цессора и инФормацию оперативной памяти и выдает исходные операнды в операционные устройства через регистры первого и второго операндов 1 дяииой 8 байт. Выход регистра второго операнда является основной внутренней загрузочной инФормационной магистралью процессора, через которую осуществляется выдача инФормации в 20 оперативную память, а также загрузка всех оперативных регистров про" цессора.(регистра ССП, регистра преФикса, регистров управления, блока таймеров и т.п.). 25Для обеспечения возможности одновременного считывания двух исходных операндов длиной в 8 байт блок содержит две памяти 91 и 92, обращение к которым независимое. 30У,Жаждая из памятей 91 и 92 разбита на 8 Фиксированных зон, по 8 строк длиной в двойное слово в каждой зоне, Зоны памяти 91 следующие:1 - эона хранения слов состоянияинструкций (ССИ), которая занимает 4 строки для случая совмещения четырех команд остальныестроки свободньц2 - эона хранения регистров общего40назначения (РОН), в каждой строке которой хранятся два РОН (четный и нечетный), каждый длинойпо 4 байт;3 - зона хранения регистра плавающей4точки (РПЛ), в которой заняты 4строки для хранения РПЛ, остальные 4 строки свободныф4 - эона хранения копий управляющихрегистров (УР), в каждой строкекоторой хранятся два УР (четныйи нечетный)5 - рабочая зона 1 для хранения промежуточных результатов, начальных, конечных, текущих адресовоперандов в командах 58-Формата;6 - рабочая зона 2 для храненияисходнь 1 х операндов и командах расширенной точности и десятичной арифметики и копии преФикса,7,8-две зоны для хранения идентификатора процессора и констант,используемых в процессе выполнения команд н микроподпрограмм;Зоны памяти 92 могут быть следующими:1 - зона хранения исходных ССП текущих команд, которая занимает 4строки для хранения ССП четырехкоманд, выполняющихся совмещенно;2 - зона РОН, которая дублирует идентичную зону памяти 91;3 - эона,РПЛ, которая дублирует идентичную зону в памяти 91,4 - зона хранения начальных адресовтаблиц сегментов нескольких задачв каждой строке которой хранитсяинФормация управляющих регистровУР(1) и УР(0) для двух задач (кодадреса начала таблицы сегментови размеры таблиц сегментов истраниц). Данная эона заполняетсяи проверяется прн каждом выполнении команды загрузки управления.5-8-эоны, которые дублируют идентичные эоны памяти 91,Предполагается, что быстродействие локальной памяти таково, чтов одном машинном такте (цикле) к нейвозможны два обращения. Обращениек локальной памяти производится подуправлением приказов, вырабатываемых в каждой команде в первом полутакте тактов Т 1, Т 2, ТЗи микрокоманд первого, второго и третьегоуровней совмещения в первом или втором полутакте, причем номер полутактазадается в самой микрокоманде,Блок 10 локальной памяти работает следующим образом.В начале выборки каждой команды в первом полутакте такта Т 1 произ" водится запись текущего ССП по входу 36 через селектор 94 в память 92 по адресу, равному идентиФикатору хранения ССП в локальной памяти, принимаемому с выхода 30 блока счет: чика команд через селектор 100 на регистр 102 адресаПри передвижении кода команды нг следующий уровень совмещения вместе с ней передвиг гается и код этого идентиФикатора.С каждой очередной командой идентиФикатор ССП на нулевом уровне увеличивается на 1 ф счет организован по модулю количества уровней совмещения, в рассматриваемом случае - по модулю четыре.Таким. образом, для четырех команд выполняющихся одновременно на четырех уровнях совмещения, обеспечивается сохранность в локальной памяти их исходных ССП, причем адрес хранения ССП (идентификатор) в зоне ССП известен и хранится на соответствующем уровне для каждой команды. 10В следующем такте Т 2, такте модиФикации адреса, производится в первом полутакте считывание из локальной памяти значений индекса и базы. Адрес индекса из зоны РОН; указанный 5 в поле команды первого уровня совмещения, поступает на регистр 101 адреса памяти 91 через селектор 99 по. входу 33, а адрес базы (иэ зоны РОН), также указанный в поле коман ды первого уровня совмещения, поступает на регистр 102 адреса памяти 92 через селектор 100 к входу 33. При этом устанавливается адрес зоны РОН, Считанные значения индекса и базы поступают на выходыне регистры 97 и 98 через селекторы 95 и 96. Если младший разряд адреса индекса или базы равен 1, что указывает на нечетный РОН, то на селекторах 97 или. ЗО 98 производится соответствующий сдвиг влево на четыре байта так что индекс и база всегда располагаются в выходных регистрах 97 и 98, выровненные по из левому разряду. Значе 35 ния индекса и базы поступают по выходным линиям 38 на входы адресного сумматора 16 процессора через селекторы 13 и 14.В следующем такте трансляции адрер са ТЗ производится также в первом полутакте запоминание слова состояния инструкции (ССИ) по входам 31 и 37 через селектор 93 в памяти 91,Адрес запоминания текущего ССИ в зоне ССИ равен адресу хранения ССП в зоне ССП данной команды и берется из поля идентиФикатора ССП на первом уровне совмещения. Он поступает на регистр 101 адреса памяти 91 через50 селектор 99 по входу 33.Сохранность текущего ССИ в локаль ной памяти позволяет микропрограмме в любом такте. обратиться к его содержимому по адресу идентиФикатора 55 на соответствующем уровне. Это необходимо, например, при выполнении команд передачи управления, когда для возврата к старой ветви необходимо значение продвинутого счетчика команд, при прерываниях, когда необходимо запоминать старое ССП, в командах, где используется модиФицированный адрес не как адрес операнда, а в качестве операнда (код сдвига, номер канала и абонента и т,п.), в процедурах восстановления по контролю, где используется значение адреса испорченного в оперативной памяти операнда и т,п.Все указанные действия в тактах Т 1, Т 2, ТЗ выполняются в первом полутакте под управлением приказов, вырабатываемых в каждой команде, независимо от кода команды.В следующем такте работы прЬцессора, такте Т 4, во втором его полу- такте ведется считывание исходного первого операнда в командах М -ормата, или первого и второго операндов в командах-Формата, под управлением микрокоманды.второго уровня совмещения на регистры 97 и 98.В зависимости от кода команды считывание из эоны РОН, РПЛ или УР ведется по адресам операндов, указанных в соответствующем поле команды второго уровня совмещения. Соответственно адрес первого операнда поступает на регистр 102 адреса памяти 92 через селектор 100, адрес второго операнда (в командах К -Формата) поступает на регистр 101 адреса памяти 91 через селектор 99. Значения операндов считываются на выходныерегистры 97 и 98 через селекторы 95 и 96. Если указаны нечетные номера РОН или УР, то производится при этом соответствующий сдвиг влево на 4 байта. В случае, если операнды длинные (8 байт), или если казан номер четного РОН или УР, считывание производится без сдвига, т.е. могут быть сосчитаны сразу два РОН (УР)четный и нечетньп, находящиеся в одной строке локальной памяти. В следующем такте Т 5 производится загрузка регистров 107 и 108 и передача в операционное устройство через регистры 107 и 108 второго и первого операндов.Загрузка регистров 107 и 108 ведет ся под управлением микрокоманды второго уровня совмещения, причем в случае выполнения команды- Формата первый операнд поступает с выходарегистра 98 через узел. 106 коррекции (Фиг. 7) на вход регистра 108, а второй операнд поступает с выхода регистра 97,через селектор 103, сдвигатель 104 (без сдвига), узел 105 5 корекции на вход регистра 107. При загрузке регистров 107 и 108 производится анализ конАликта по чтению операнда, модификация которого в предыдущей команде еще не завер шена.Такой анализ производится узлом 116 обнаружения конфликтов (фиг, 6) путем сравнения адресов чтения операндов, запомненных на буферных реги- И страх 124, с адресом записи результата в предыдущей команде с выхода 35 регистра 7 третьего уровня. При этом учитывается длина записываемого результата (по линии 118) и чет ность номера РОН (РПЛ) результата и считанных операндов.Обнаружение конфликта проводится независимо от каждого операнда на двух отдельных схемах. В результате 25 обнаружения конфликта вырабатывается соответствующий трахразрядный код управления узлами 105 и 106 коррекции операндов, через которые на неизменяемые части регистров 107 и З 0 108 поступает содержимое соответствую щих частей регистров 97 и 98, а на из-, меняемые части регистров 107.и 108 поступают соответствующие части результата, выработанного в предь- дущей команде.В случае выполнения команды 8 -Жор мата второй операнд поступает иэ опе ративной (буферной) памяти по входу 20 через селектор 103 сдвигатель 40 104, узел 105 коррекции на вход регистра 107. При этом на сдвигателе 104 производится сдвиг влево по номеру байта (три младших разряда адреса операнда), так, что операнд выравни вается по своему левому разряду. Код сдвига вырабатывается сумматором 113 сдвига, не один вход которого посту" пает номер байта, на второй вход- константа сдвига. Константа сдвига 50 указывается в микрокоманде и используется при выполнении команд загрузки полуслов, символов и при каждом случае необходимого Ьормирования операнда путем сдвига. Сдвиг 55 кольцевой и может быть задан от О до 7 байт. Этот же сдвигатель 104 исполь" зуется и при чтении операнда из локальйых памятей или приеме через селетор 103 любой другой информации в командах записи в оперативную (буФерную) память, В этом случае код сдвига также вырабатывается на сумматоре 113, но номер байта при этом вычитается, т.е. сдвиг осуществляется по,номеру байта вправо. Прием на регистр 107 информации осуществляется по маркеру, поступающему через селектор 114, Маркер восьмиразрядный, и единица в разряде маркера разрешает изменение соответствующего байта регистра 107, а ноль - сохраняет прежним значение данного байта.Маркер приема на регистр 107 либо явно указывается в микрокоманде (вход 1 селектора 114), либо считывается из памяти констант маркера (вход 40 селектора 114), обращение к которой ведется по адресу, составленному из трехразрядного кода номера байта и трехразрядного кода длины операнда, указанного в микрокоманде.Сочетание работы сдвигателя 104 и маркера дает возможность Формировать операнды из частей различных источников, а также формировать операнд в случае нецелочисленной его границы, т.е. когда он расположен в двух смежных ячейках оперативной (буферной) памяти.1На третьем уровне совмещения, в такте Т 6, ведется прием содержимого регистра 107 второго операнда через. селектор 111 на буферный регистр 112 результата в командах загрузки РОН, РПЛ, УР. Кроме того, в этом такте ведется прием содержимого изменяемого операнда (первого или второго) на регистр 1 15 восстановления операнда. Выход регистра 115 поступаетна вход селектора 103, и в процедурах восстановления операнда по контролю его содержимое может восстановить испорченный операнд РОН или РПЛ в локальной памяти.В последнем такте выполнения команды, такте Т 7 записи результата, результат операционного устройства, принятый через селектор 111 на буферный регистр 112, поступает через селекторы 93 и 94 на информационные входы памятей 91 и 92 и записывается в соответствующую зону (РОН илиРПЛ) по адресу первого операнда, указанному в поле команды третьего уровня (вход 35). Запись производится подуправлением микрокоманды третьегоуровня во вторам лолутакте, Залисьв обе памяти ведется по маркеру записи в локальную память, заданномув микрокоманде третьего уровня,причем информация сдвигается на селекторах 93 и 94 вправо на 4 байта, еслирезультат пишется в нечетный РОЙ.При выполнении команд 83 -форматанеобходимо некоторые промежуточныерезультаты сдвигать на 1 или несколь, ко байт. Эти действия осуществляются под управлением микрокоманд,в которых задается чтение промежуточного результата из рабочей зоны, по адресу, явно указанному вмикрокоманде, на регистр 97 в первом полутакте, сдвиг его на сдвигателе 104 яа необходимое число байти запись снова в рабочую зону по тому же или другому адресу в памяти91 и 92 во втором полутакте одногои того же машинного цикла,25Введение раздельных селекторов 93и 94 для памятей 91 и 92 дает возможность использовать более оптимально весь объем памяти за счет недубли-рованных зон для .хранения ССП, ССИ, 30начальных адресов таблиц сегментов.Таким образом, возможность применения локальной памяти в процессоре большой производительности с йуровнями совмещения достигнута путем 35построения управления и селекции адресов от 1 (б "1-4) различных уровней совмещения с разделением времени обращения к локальной памяти в разных полутактах для микрокоманд, 40выполняющихся одновременно.По числу уровней совмещенйя, вы"полняемых микропрограммно, память134 констант, регистр 136 адресовмикрокоманд, память 137 микропрограим 45и регистр 138 микрокоманд в блоке8 микропрограммного управления(фиг. 8) разделены на секции. Вслучае предлагаемого устройствацентрального управления процессоратаких секций 3,По входам 33 - 35 с регистров 3,5 и 7 командной информации первого,второго и третьего уровней поступаюткоды операций выполняемых команд. 55На шифраторе 133 адреса первоймикрокоманды при условии наличиякоманды в БКС (вход 27) по коду операции команды на первом уровне ,вырабатывается адресная константа первой микрокоманды. (Если требуемой для выполнения команды в буфере БКС не.обнаружено, то на шифраторе 133 вырабатывается адресная константа первой микрокоманды процедуры накачки командного слова). Адресная константа первой микрокоманды поступает в коммутатор 1.35 адресов микро- команд, затем в регистр 136 адресов микрокоманд. По. этому адресу происходит выборка первой микрокоманды из памяти 137 микропрограмм. Первая микрокоманда помещается на регистр 138 микрокоманд. Адрес следующей микро- команды вырабатывается в коммутаторе 135 адреса, номера секции 137 памя ти микропрограмм, условий ветвления, содержащихся в слове микрокоманды и оценивающих соответствующие признаки ветвления на выходе 27 адресных констант, поступающих в коммутатор 135 адресов микрокоманд и памяти 134 констант. Признаки ветвления на выхо де 27 вырабатываются в блоках процес сора при выполнении ими микрокоманд и могут влиять на выработку адреса следующей микрокоманды, если это указано в мик,юкоманде.Кроме обработки команд блок 8 микропрограммного управления обрабатывает пультовые, таймерные операции, прерывания и процедуры восстанов. - ления по контролю. Запросы на обработку этих процедур поступают по входу 29. 1.в схему 132 приоритета. Адресные константы процедур, задающие фиксированные адреса первых микрокоманд микропрограмм обработки этих процедур, поступают по вхо-, даи 140 в коммутатор 135 адресов микрокоманд, Далее обработка процедур ведется так же, как и выполнение команд.В памяти 134 констант хранятся не только адресные кочстанты, но и другие данные необходимые при выполнении команд (например, признак привилегированности выполняемых команд, длины операндов и т.д,). Константы и микроприказы поступают в устройство центрального управления процессора по выходам 22.Двухсекционная память 52, 153 - буфер быстрой переадресации (БПА) блока трансляции адреса (фиг. 9) служит для хранения и оперативного3111361 использования строк таблицы страниц, наиболее часто используемых. Буфер 152, 153 быстрой переадресации организован как память по типу "КЭШ" (сяа(г). Используется адресно-ассоциа 5 тивный способ поиска информации в буфере быстрой переадресации. Обращение ведется сразу к обоим столбцам 152, 153 по младшим 6 разрядам (15/20) анализируемого логического 10 адреса страницы, поступающим из регистра 146 логического адреса. Значение поля старших разрядов логичес" кого адреса (8/14) регистра 146 логического адреса сравнивается на второй 15 и четвертой схемах 154 сравнения со значением считанного из обоих столбцов 152, 153 поля логического адреса. Если обнаруживается равенство значений этих полей в одном из 20 столбцов, то это означает, что требуемая строка таблицы страниц имеется в буфере быстрой переадресации и записана в поле реального адреса того столбца, где обнаружено это 25 равенство.В буфере 152, 153 быстрой переадресации могут храниться строки таблиц от многих задач одновременно, так как для каждой задачи может быть що задана своя таблица переадресации и свои параметры размеры страниц и сегментов). С этой целью в памятях 152 и 153 имеется поле хранения иден" тификаторя таблицы сегментов. На .регистре 151 активного номера таблицы сегментов запоминается идентификатор той таблицы сегментов, которая активна в- данный момент.Всякий раз при обращении к буФеру быстрой переадресации одновременно с логическим адресом считывается и поле идентификатора сегмен" та, значение которого сравнивается на первой и третьей схемах 154 45 сравнения со значением регистра 151 активного номера таблицы. сегментов. Равенство логических адресов, выявляе мое на второй и четвертой схемах 154 сравнения, учитывается лишь при сов падении поля идентификатора сегмента и активного номера таблицы сегментов.Активный номер таблицы сегментов в регистре 151 устанавливается кяж" 55 дый раз при выполнении команды загруз ки управляющего регистра 145, хранящего адрес начала таблицы сегмен" 32тов, размеры страницы и сегмента. Содержание этого управляющего регистра145 сохраняется в специальной зоне 4блока 10 локальной памяти по адресу,который и является его идентифика-.тором.Если при обращении к буферу 152,153 не обнаруживается нужной строкитаблицы страниц, то происходит попризнаку ветвления на выходе 27,Формируемому на элементе И 155, обращение за нужными строками таблицсегментов и страниц в оперативнуюпамять и накачка буфера переадресации,Процедура накачки буфера переадресации состоит в следующем.Вычисляется на ядресном сумматоре 16 адрес входа в таблицу сегментов. На первое слагаемое через селектор 13 поступает по входу 38 значение адреса начала таблиц сегментов, сосчитанное из зоны управляюшихрегистров блока 10 локальной памяти,на второе слагаемое поступает нольи на третье слагаемое через селектор15 поступает с выхода селектора149 значение индекса сегмента.Вычисленный реальный адрес строкитаблицы сегментов по входу 37 поступает через селектор 147 ня регистр150 реального адреса и после префиксации на схеме 148 через элементы И 155ИЛИ 57 поступает в блок 19 выработкизапросного слова в УП.Содержимое строки таблицы сегмен-.тов является реальным адресом начала таблицы страниц, Для Формирования адреса входа в таблицу страницна первое слагаемое поступает ноль,на второе слагаемое через селектор 14по входу 24 - содержимое регистразторого операнда, на третье слагае-мое через селектор 15 - индекс страницы с выхода селектора 149, Выдачаадреса таблицы страниц в блок 19запроса в устройство управленияпамятью проводится аналогично адресу таблицы сегментов,Требуемая строка таблицы странициз регистра 107 операнда два.повходу 24 поступает на селектор 147,а затем на регистр 150 реальногоадреса.Разряды реального адреса (8/19)подверга,отся префиксацин на схеме148 префиксации, а зятем помещаютсяв нужную строку и секцию буфера 152и 153 быстрой переадресации одновременно с разрядами 8 - 14 логического адреса с выхода регистра 146 в поле логического адреса и одновременно со значением регистра 151 5 активного номера сегментов в поле но мера сегмента, Выбор столбца для занесения информации в процедуре накачки буфера переадресации ведется аналогично выбору столбца при 10 замещении в буфере командных слов. В памяти 158 замещения в такте Т 2 трансляции адреса запоминаются номе, ра столбцов, в которых обнаружено сравнение адресов, В процедуре на качки инверсия содержимого этой памяти определяет номер столбца, в который необходимо вести записьинформации.На регистр 167 запросного слова 20 , в блоке 18 связиоперационным устройством (Фиг. 14) в такте Т 5 .заносится код операции по входу 34 с регистра 5 команд второго уровня, код сдвига (младшие шесть разря дов модифицированного адреса с регистра 150) с выхода 39 блока 171 маска программы с регистра 166 маски программы, Кроме того, на регистр 167 может быть занесен код типа СУ ЗО (позиционно) по коду микрокоманды, если рассматриваемое устройство используется в мультипроцессорной системе с несколькими типами ОУ, являющимися общими ресурсами для нескольких процессоров, В последнем случае информация результата каждого типа ОУ поступает в процессор на вход 21 через селектор (не показан на фиг. 1) под управлением блока 18.В блоке связи с устройством управления памятью (Фиг. 15) запросное слово Формируется на регистре 173. По входу 39 поступает абсолютиый адрес, а также значения 20 разряда логического адреса и размер страницы для Формирования номера УУП.Если рассматриваемое устройство используется в мультипроцесорной системе с несколькими УУП, то информация из каждого УУП, выдаваемая по запросу от процессора, должна пос,тупать на вход 20 через селектор(не показан на Фиг. 1) под управлением блока 19, После маркеров по . входу 37 из сумматора 16 адресапоступают три младших разряда логического адреса (номер байта передаваемой информации), по входу 22 поступают микроприкаэы и константа, задающая длину операнда, записываемого в память. Считанное из памяти 168 маркеров поле маркеров записывается в регистр 173 запрос" ного слова в устройство управления памятью.В регистре 169 хранится ключ защиты слова состояния программы. Под управлением микроприказов 22 этот ключ запоминается на регистре 173 запросного слова в устройство управ" ления памятью. Из микроприказов 22 Формируется код операции устройства управления памятью который записывается на регистр 173.В запросное слово в устройство . управления памятью входит и номер устройства управления памятью, так как предлагаемое устройство центрального управления процессора может быть использовано в составе иультипроцессор.Номер. устройства управления па мятью вырабатывается на элементах 170 - 172 на основании разряда (20) логического адреса, разряда (20) абсолютного адреса, разм.ра страницы, поступающих по входу 39 из блока трансляции адреса и микрвнриказов, управляющих выработкой номера устройства управления памятью. СФормированный номер устройства управления памятью записывается на регистр 173. Сформированное запросное слово выдается в устройство управления памяти по выходу 26, Кроме того, в блок 10 локальной памяти по выходу 40 передается маркер управления приемом второго операнда на регистр 107 а в блок 8 микропрограммного управленчя выдается по выходу 27 признак ветвления в случае нецелочисленной границы операнда (т.е. когда операнд расположен в двух смежных ячейках оперативной памяти).Предложенное изобретение обеспечивает существенное преимущество в быстродействии по сравнению с известным за счет использования трехвходового сумматора 16 адреса для модника ции адреса, позволяющего все модификации производить не за два такта, как в известном устройстве, а эа один, наличия буфера 1 командных слов большой емкости (128 лвойных слов), что позволяет хранить в буфере командных слов несколько програманык113 ня, о т л и ч а ю щ е е с я тем,что с целью повьпюения быстродействия, в него введены селекторы первого, вто" рого и третьего уровней, первый се" лектор адреса команды, второй селектор адреса команды, селектор третьего слагаемого, блок связи с операционным устройством и блок связи с устрой ством управления памятью, выход запроса которого соединен с первым запросным входом устройства, а вход адреса - с первым информационным входом второго селектора адреса команд и выходом сумматора адреса, третий вход которого соединен с выходом селектора третьего слагаемого, вход абсолютного адреса которого соединен с входами абсолютного адреса блока связи с операционным устройством и блока связи с устройством управления памятью и подключен к выходу,абсолютного адреса блока трансляПйй адреса, информа- ционный вход которого соединен с информационным входом блока связи с устройством управления памятью, вторым информационным входом второго селектора адреса команд.и информационным входом блока связи с операционным устройством, выход которого соединен с вторым запросным выходом устройства, а вход управляющей информации соединен с выходом регистра командной информации второго урОв ня, первыми информационными входами селекторов первого, второго и третье" го уровней, вторые информационные входы этих селекторов соединены с выходом регистра командной информации третьего уровня, вход которого соединен с выходом селектора третьего. уровня, выход селектора второго уровня соединен с входом регистра командной информации второго уровня, третий информационный вход которого соединен с выходом регистра командной информации первого уровня и входом управляющей информации селектора третьего слагаемого, первый инФормационный вход которого.соединен с выходом счетчика предварительной накачки блока счетчиков, выход идентификатора которого соединен с первым информационным входом селектора первого уровня, выход которого соединен с входом регистра командной информации первого уровня, а второй информационный вход - с информационным выходом блока буФериэации команд, выход первого б 177селектора адреса команды соединен с входами. адреса команды блока буферизации команд и блока локальной памяти, вход адреса которого соединен с первым входом первого селектора адреса команды, второй вход которого соединен с выходом адреса команды блока счетчиков, выходы .микроприказов блока микропрограммного управления подключены к соответствующим входам управления селекторов первого, второго и третьего Уровней, второго селектора адреса команд, селектора третьего слагаемого, блока связи с операционным устройством и блока связи с устройством управления памятью, выход признака ветвления которого соединен с входом признакаветвления блока микропрограммного управления, а выход маркера записи операнда два соединен с входом маркера записи;операнда два блока локальной памяти.2, Устройство по п. 1, о т л ич а ю.щ е е с я тем, что блок связи с операционным устройством содержит регистр маски программы слова состояния программы и регистр запросного слова в операционное устройство, выход которого является выходом блока, а вход управления соединен с вхо дом управления регистра маски и входом управления блока, информационный вход регистра маски соединен с информационным входом блока, а выход - с входом маски регистра запросного слова в операционное устройство, вход абсолютного адреса которого соединен с входом абсолютного адреса бло ка.3, Устройство по п. 1, о т л ич а ю щ е е с я тем, что блок связи с устройством управления памятью содержит блок памяти маркеров, регистр ключа защиты из слова состояния программы, четыре элемента И, три элемента НЕ, три элемента ИЛИ и ре,гистр запросного слова в устройство управления памятью, выход которого является выходом запроса блока, а вход абсолютного адреса подключен к входу абсолютного адреса блока, первому входу первого элемента И, первому входу второго элемента И,и первому входу третьего элемента И, 1 второй вход которого соединен с вторым входом второго элемента И, первым входомчетвертого элемента И, управляющим входом блока памяти мар-, 1136 177 36циклов, а также за счет наличия селек. тора 9, позволяющего быстро формировать адрес команды передачи управ" ления для поиска этой команды в блоке 1,5В известном устройстве в случае успешного перехода тратится восемь тактов, а в случае неуспешного пере хода пять.Повышение быстродействия процессо ра достигнуто также благодаря введению в устройство схемы коррекции опе рандов в случае определения конфликта по операнду из-за совмещения операций. Сохранение в локальной памяти копии исходных операндов, ССП, префик са и управляющих регистров позволяет выполнять повторение команд, в которых произошла ошибка. Кроме того,путем введения банка внутренних данных локальной памяти упорядочивается структура процессора, увеличиваются его функциональные возможности по выполнению различных тестов и диагностических процедур, сокращается регистровое оборудование на построение ряда управляющих и рабочих регистров. Введение недублированных зон локальной памяти повышает оптимальность использования памяти, что также уменьшает оборудо" вание на построение соответствующих буферных регистров (таблицы начал адресов сегментов, значения модифицированных адресов операндов и счетчика команд).Суммарный выигрыш в быстродействии составляет 31,47.1136 керов, управляющим входом регистра запросного слова в устройство, управления памятью и управляющим входом блока, вход адреса блока соединен с входом адреса блока памяти маркеров, выход маркера которого соединен с выходом маркера записи два блока и входом маркера регистра запроеного слова в устройство управления памятью, вход защиты которого соединен с выходом четвертого элемента И, второй вход Которого соединен с выходом регистра ключа защиты из слова состояния программы, вход которого ооединен с информационным входом блока, выход ветвления которого соединен с выходом приз иаков блока памяти маркеров, выход 1 третьего элемента И соединен с входом первого элемента НЕ и с первыми входами первого и второго элементов ИЛИ, выходы которых подключены к первому.и второму кодовым входам регистра запросного слова в устройство управления памятью соответственно, второй вход первого элемента ИЛИ соединен с выходом третьегоэлемента ИЛИ и входом второго элемента НЕ, выход которого соединен с . вторым входом второго элемента ИЛИ, выход первого элемента НЕ соединен с вторым входом первого элемента И, третий вход которого соединен с выходом третьего элемента НЕ, вход которого соединен с выходом второго элемента И и вторым входом третьего элемента ИЛИ.Изобретение относится к областивычислительной техники и предназначено для работы в составе мультипроцессора быстродействующих ЭВМ.Известно устройство центрального. управления процессора .с несколькими уровнями совмещения, содержащееблок выборки команд, регистр команд,дешифратор команд, буферы очередикоманд, буферы адресов операндов,блок управления выборкой команд исумматор Я .Связь между блоками асинхронная,управление блоками схемное. Асинхронность связей и схемное управление приводят к усложнению аппаратуры,Блок выборки команд содержит тригруппы по четыре регистра в каждой,что недостаточно для хранения командпрограммных циклов и поэтому приводит к уменьшению быстродействияпри выполнении программных циклов.Наиболее близким к предлагаемомупо технической сущности являетсяустройство центрального управления 25процессора цифровой вычистительнойсистемы, содержащее буфер команд,регистры команд первого, второгои третьего уровней, блок местной памяти, регистры операндов;,цвухвходовой сумматор, счетчик команд,регистр адреса операндов, блок микропрограммного управления иблок блокировки уровней совмещения, причем вход буфера командявляется входом устройства, а выходсоединен с входом регистра командпервого уровня, второй в . к входудвухвходового сумматора, а третий -к входу регистра команд второго уровня, выход которого соединен с входом регистра команд третьего уровня, выход которого является выходомустройства, адресные входы блокаместной памяти соединены с выходами регистров. команд первого и третьего уровней, управляющий вход - с выходом блока микропрограммного управления, а выход - с входами регистровоперандов, выходы которых являютсявыходами информации устройства иподключены к входам двухвхоцовогосумматора, выход которого подключенк входу регистра адреса операндов,выход которого является выходом устройства, вход блока блокировки уровней совмещения является входом устройства, а выход соединен с входом .блока микропрограммного управления,выходы которого соединены с управляющими входами соответствегно регистра адреса операндов, буферакоманд, регистров первого, второгои третьего уровней, регистров опе 11361771136177 гг ц и и е тч Составитель П.грышева Техред З.Палий истобород ректор Н. Король дакто Тираж 710Государственного комиелам изобретейий и откМосква, Ж, Раушская одписное За иал ППП "Патент", г. Ужгород, ул. Проектная, 4 287/3ВНИИПОпо13035рандов, двухвходового сумматора и счетчика команд, выход которого является выходом устройстве Я ,Однако лля модификации адреса используется двухвходовой сумматор вместо трехвходового, что увеличивает время выполнения модификации адреса в командах 8 Х формата (типа принятых в ЕС ЭВМ). Отсутствие буфера командных слоев достаточной емкос ти приводит к потере времени при выполнении команд передачи управления.Целью изобретения является повы" шение быстродействия процессора, 15Цель достигается тем, что в устройстве центрального управления процессора, содержащем блок буферизации команд, блок локальной памяти, блок счетчиков, блок микропрограммного управления, блок трансляции адреса, сумматор адреса, регистры командной у информации первого, второго и третье" го уровней и, селекторы первого и вто- РОГО. СлагаеМЬМу ВЫХОДЫ которых Соединены с первым и вторым входами сум матора адреса соответственно, выхбд которого соединен с соответствующими входами адреса блока локальной . памяти блок трансляции адреса и се"1) лектора первого слагаемого, первый кнформационный вход которого соединен с первым информационным входом селектора второго слагаемого и; с выходом информации базы и индекса блока локальной памяти, пер вый информационный вход, которого подключен к первому входу управляю- щей информации устройства и информационному входу блока буферизации команд, а второй информационный 40 вход - к второму вхоДу управляющей информации устройства, первый информационный выход блока локальной памяти подключен к первому выходу управляющей информации устройства, 45 а второй информационный выход - к второму выходу управляющей информации устройства, инФормационному входу блока трансляции адреса, информационному входу селектора первого слагае мого, выходы микроприкаэов блока микропрограммного управления подключены к соответствующим управляющим входам блока локальной памяти, блока счетчиков и блока буферизации ко- Б манд, селекторов первого и второго слагаемых и блока трансляции адреса, вход внешних запросов блока микропрограммного управления соединен с входом внешних запросов устройства, а вход признаков ветвления - с соответствующими выходами признаков ветвления блока буферизации команд, сумматора адреса и блока трансляции адреса, выход абсолютного адреса которого соединен с соответствующими входами абсолютного адреса блока локальной памяти и блока буферизации команд, выходы регистров командной информации первого, второго и третьего уровней соединены с соответствующими информационнымн входами блока микропрограммного управления н адресными входами блока локальной па мяти, вход адреса команды которого соединен с входом команды селектора первого слагаемого н выходом адреса команды блока счетчиков, первый информационный вход которого соединен с выходом регистра командной информации первого уровня, введены селекторы первого, второго и третьего уровней, первый селектор адреса команды, второй селектор адреса команды, селектор третьего слагаемого, блок связи с операционным устройством и блок связи с устройством управления памятью, выход запроса которого соединен с первым запросным входом устройства, а вход адреса - с первым информационным входом второго селектора адреса команд и выходом сум матора адреса, третий вход которого соединен с выходом селектора третьего слагаемого, выход абсолютного адреса которого соединен с входами абсолютного адреса блока связи с операцион" ным устройством и блока связи с устройством управления памятью и подключен к выходу абсолютного адреса блока трансляции адреса, информационный вход которого соединен с ин формационным входом блока связи с устройством управления памятью, вторым информационным входом второго селектора адреса команд и информационным входом блока связи с операционным устройством, выход которого соединен с вторым запросным выходом устройства, а вход управляющей информации соединен с выходом регистра командной информации второго уровни, первыми информационными входами селекторов первого, второго и третьего уровней, вторые информационные входы этих селекторов соедииены с выходом регистра команднойинформации третьего уровня, вход которого соединен с выходом селекторатретьего уровня, выход селектора вто.рого уровня соединен с входом регистра командной информации второгоуровня, третий информационный входкоторого соединен с выходом регистра командной информации первого уровня и входом управляющей информации 10селектора третьего слагаемого, первый информационный вход которого соединен с выходом счетчика предварительной накачки блока счетчиков,выход идентификатора которого соединен с первым информационным входомселектора первого уровня, выходкоторого соединен с входом регистра командной информации первогоуровня, а второй информационный вход. 20с информационным выходом блока буферизации команд, выход первого селектора адреса команды соединен свходами адреса команды блока буферизации команд и блока локальной 25памяти, вход адреса которого соединен с первым входом первого селектора адреса команды, второй вход которого соединен с выходом адресакоманды блока счетчиков, выходы ми- З 0кроприказов блока микропрограммногоуправления подключены к соответствующим входам управления селекторовпервого, второго и третьего уровней,второго селектора адреса команды Э Яселектора третьего слагаемого блока)связи с операционным устройством иблока связи с устройством управленияпамятью, выход признака ветвления которого соединен с входом признакаветвления блока микропрограммного управления, а выход маркера записи операнда два соединен с входом маркеразаписи операнда два блока локальнойпамяти,Блок связи с операционным устрой ством содержит регистр маски програм" мы слова состояния программы и регистр запросного слова в операционное устройство, выход которого 50 является выходом блока, а вход управ ления соединен с входом управления регистра маски и входом управления блока, информационный вход регистра маски соединен с информационным 55 входом блока, а выход - с входом маски регистра запросного слова в операционное устройство, вход абсолютного адреса которого соединен с входом абсолютного адреса блока,Блок связи с устройством управления памятью содержит блок памяти маркеров, регистр ключа защиты из слова состояния программы, четыре элемента И, три элемента НЕ, три элемента ИЛИ и регистр запросного слова в устройство управления памятью, выход которого является выходом запроса блока, а вход абсолютного адреса подключен к входу абсолютного адреса блока, нервому входу первого элемента И, первому входу второго элемента И и первому входу третьего элемента И, второй вход которого соединен с вторым входом второго элемента И, первым входом четвертого элемента И, управляющим входом блока памяти маркеров, управляющим входом регистра запросного слова в устройство управления памятью и управляющим входом блока, вход адреса блока соединен с входом адреса блока памяти маркеров, выход маркера которого соединен с выхо" дом маркера записи два блока и входом маркера регистра запросного слова в устройство управления памятью, вход защиты которого соединен с выходом четвертого элемента И, второй вход которого соединен с вьжодом регистра ключа защиты из слова состояния программы, вход которого соединен с информационным входом блока, выход ветвления которого соединен с выходом признаков блока памя" ти маркеров, выход третьего элемента И соединен с входом первого элемента НЕ и с первыми входами первого и второго элементов ИЛИ, выходы которых подключены к первому и вгоро- му кодовым входам регистра запросного слова в устройство управления памятью соответственно, второй вход первого элемента ИЛИ соединен с выходом, третьего элемента Ю 1 И и входом второго элемента НЕ, выход которого соединен с вторым входом второго элемента ИЛИ, выход первого элемента НЕ соединен с вторым входом первого элемента И, третий вход которого соединен с выходом третьего элемента НЕ, вход которого соединен с выходом второго элемента И и вторым входом третьего элемента ИЛИ.На фиг. 1 представлена структурная схема устройства центральногоуправления, на фиг, 2 а, о - структурная схема блока буферизации команд (буфера команд) на фиг. 3 структурная схема узла анализа нахождения команды в буфере команд, 5 на Фиг. 4 а, 5 - структурные схемы первого и второго коммутаторов выходной информации столбцов буфера командф на Лиг. 5 - структурная схема блока счетчиков, на фиг. 6 - структурная схема блока локальной памяти, на фиг. 7 . в .структурная схема узла обнаружения конфликтов по использованию первого и второго операндов 1 на Лиг. 8 - струк ф турная схема узла коррекции первого операнда при конфликтах (схема узла коррекции второго операнда идентична) на фнг. 9 - структурная схема блока микропрограммного управления про цессора, на фиг. 10 - структурная схеме приоритетаф, на фиг, 11 - структурная схема блока трансляции адресана фиг. 12 - структурная схема префиксации реального адреса при преобразовании его в абсолютный адрес на Фиг. 13 - схема селектора формирования индекса сегмента и страницы в зависимости от установленных и управляющем регистре. размеров сегмен та и страницы; на Фиг. 14 - структурная схема блока связи с операцион" ным устройством; на фиг, 15 - структурная схема блока связи с устройством управления памятью; на фиг, 16 -З временная диаграмма работы устройства центрального управления для совмещенного выполнения четырех команд.Устройство центрального управления процессора (Фиг. 1) содержит .40 блок 1 буферизации команд (буфер команд), селектор 2 первого уровня, регистр 3 командной информации пер" вого уровняуправляющая информация может устанавливаться на уровне одновременно с командной; идентификатор слова состояния программы, код длины команды, признаки, характерные для команды, сигналы программных и схемных ошибок, сигналы сравнения р по адресу и т.н.), селектор 4 второго уровня, регистр 5 командной информации второго уровня, селектор 6 третьего уровня, регистр 7 командной инФормации третьето уровня, блок 8 у микропрограммного управления, первый селектор 9 адреса команд, блок 10 локальной памяти, второй селектор 11 адреса команд, блок 12 счетчиков, селекторы 13 - 15 первого, второ го и третьего слагаемых, сумматор 16 адреса блок 17 трансляции адреса, блок 18 связи с операционным устройством, блок 19 связи с устройством управления памятью, первый вход 20 управления (из устройства управления памятью), второй вход 21 управляющей информации 21 (из операционного устройства), выходы 22 микроприказов первый выход 23 управляющей информации (в операционное устройство ; второй выход 24 управляющей информации в операционное устройство и устройство управления памятью ), второй запросный выход 25 (в операционное устройство), первый запросный выход 26 (в устройство управления памятью), выходы 27 признаков ветвления, информационный выход 28 буфера . команд, вход 29 внешних запросов, выходы ЗО идентификатора 31, адреса команды, 32 счетчика предварительной накачки блока счетчиков, выходы ЗЗ - 35 регистров первого, второго и третьего уровней, выход 36 первого селектора адреса команд, выход 37 сумматора адреса, выход 38 информации базы и индекса, выход 39 абсолютного адреса блока трансляции адреса, выход 40 маркера записи операнда два.Блок 1 буферизации команд(фиг. 26,3) содержит первую и вторую секции 41 и 42 памяти командных слов (БКС) (41.1,42, 1 первые столбцы секций, 412, 42,2 - вторые столбцы секций), память 43 адресов командных слов, память 44 признаков действительности каждой строки памяти командньпс слов, память 45 связностей строк, память 46 замещения, коммутаторы 47 - 51 адресов строк, первый элемент И 52, сумматор 53 адреса строки при выборке "разорванной" (расположенной в двух смежных словах) команды, сумматор 54 связности для выработ ки адреса строки памяти связности при внесении в нее номера столбца продолжения, буферный регистр 55 свяэ- ностеВ для указания столбца памяти связности, в котором делается отметка о продолжении, буферный регистр 56 адреса для проверки наличия команды в памяти 41 и 42 при преднакачке и в команде записи, коммутаторь 1 57 и 58 выходной информации столбцов памяти .командных слов, сдвигатель 59, на выходе которого формируется выбираемая команда, регистр 60,команды, схема 61 сравнение адресов, второй и третий элементы И 62, коммутатор 63 5 выходной информации столбцов памяти связности, регистр 64 номера столбца) в котором обнаружена команда лри ее выборке, элементы НЕ 65 для определения столбца-кандидата на замешение, 10 регистр 66 номера столбца продолжения, элемент ИЛИ 67, узел 68 анализа наличия команды в секциях 41 и 42, , выход 69 номера столбца сравнения, выход 70 номера столбца продолжения., 15 выход 71 формата команды.Блок 1 буферизации команд предназначен для заблаговременного накопления и сохранения команд, выполняемых процессором ло программе, и, 20 таким образом, для сокращения потерь времени процессора на выборку команд из оперативной (буферной) памяти как при последовательном выполнении команд, так и при передачах управ ления.В предлагаемом устройстве выбран двухстолбцовый вариант буфера команд. Узел 68 анализа наличия команды в буфере (Фиг. 3) содержит две схемы 72 сравнения, дешифратор 73, четыре элемента НЕ 74, четыре элемента И 75 и элемент ИЛИ 76, выход 77, соответствующий командам 811-формата, выход 78, соответствующий командам Я 1( "ормата.3Коммутатор 57 выходной информации столбцов памяти командных слов (фиг. 4 а) содержит элемент НЕ 79, два элемента И 80 для приема инфор мации .4-7 байт от первой секции буфе1ра команд и элемент ИЛИ 81. Коммутатор 58 выходной информации столбцов .памяти командных слов (фиг. 4 О) содержит два элемента НЕ 79, четыре 45 элемента И 80 (два из них - дляприема информации 0-3 байт от второй секции буфера команд) и элемент ИЛИ 81.Блок 12 счетчиков (Фиг. 5) содер жит счетчик 82 команд, селектор 83, регистр 84, сумматор 85 для 29, 30 разрядов адреса команды, счетчик 86 предварительной накачки, счетчик 87 идентификатора хранения ССП (слово ,у состояния программы) в локальной памяти, дешифратор 88, два элемента НЕ 89 и два элемента И 90 (прибавления и вычитания единицы на счетчике лреднакачек).Блок 10 локальной памяти (фиг.6).процессора содержит две памяти 91 и92 (каждая иэ которых имеет 64 строчки ло 8 байт для хранения информации), селекторы 93 и 94 входной ин"формации памяти, сдвигатели 95 и 96выходной информации памяти (на 0или 4 байта влево), регистры 97 и988 выходной информации памяти селекторы .9 и 100 адресов памяти, региЯстры 101 и 102 адресов памяти, селектор 103 входной информации блока,сдвигатель 104 входной информации,узлы 105 и 106 коррекции второго ипервого операндов, регистры 107 и 108второго и первого операндов, селектор109 иикрокоманд первого и второгоуровней совмещения, селектор 110микрокоманд трех уровней совмещения,селектор 111 приема результата операционного устройства, буферный регистр112, сумматор 113 кода сдвига, селектор 114 маркера второго операнда,регистр 115 восстановления операнда,узел 116 обнаружения конфликтов (поиспользованию операндов), вход 117узлов 105 и 106 коррекции, выход 118селектора 11 микрокоманд, выходы119 и 120 узла обнаружения конфликтов (выходы кода управления коррекцией второго и первого операнда), инФормационные входы адресов чтения операндов 12 1 и 122 узлаобнаружения конфликтов, выход 123узла 106 коррекции первого операнда 1 входы 22.1-22.3 микрокомандтрех уровней совмещения.Блок локальной памяти процессорапредназначен для приема, хранения.модификации и выдачи (в процессевыполнения команд с совмещением операций) значений РОН, РПЛ, копий управляющих регистров (УР), копийпрефикса, копий исходных ССП (слово состояния програьпфч) и ССИ (слово состояния инструкции) для каждойиз одновременно выполняющихся команд,исходных операндов в командах плавающей точки с повышеннойточностью,исходных операндов в командах десятичнойарифметики, начальных, текущих и конец,ных адресов операндов в кокандах55-Формата, ра,"личных констант, начальных адресов таблиц сегментовдля 15 задач, идентификатора процессора, 1136177 12(Фиг, 7) содержит буферные регистры124 адресов чтения операндов, схемы125 сравнения Ор адресов, схемы 126 сравнения младшего разряда 5адресов, восемь элементов И 127и четыре элемента ИЛИ 128,Узел 106 коррекции первого операнда (Фиг, 8) содержит три элемента НЕ 129 управляющего кода 120, 1 Овосемь элементов И 130 и четыре эле"мента ИЛИ 131.Блок 8 микропрограммного управления процессора (Фиг.9) содержитсхему 132 приоритета запросов на 15обращение к памяти микропрограмм,шифратор 133 адреса первой микрокоманды, память 134 констант, коммутатор 135 адресов микрокоманд,регистр 136 адресов микрокоманд, 2 апамять 137 микропрограмм, регистр138 микрокоманд, входы 139 запросов,вход 140 адресных констант, вход29,1 запроса памяти микропрограмм,вход 29,2 адреса первой микрокоманды 25по запросу. Блок Я предназначен дляуправления работой процессора высокопроизводительной ЭВМ с совмещением выполнения команд.Схема 132 приоритета (Фиг.10) содержит восемь триггеров 141 (четыретриггера запросов и четыре триггера выбора первого адреса микрокоман,"ды), три элемента НЕ 142 и три элемента И 14335Блок 17 трансляции адреса (фиг.11)содержит регистр 144 префикса, управлявший регистр 145, регистр 146 логического адреса, селектор 147 реального адреса, схему 148 префиксации,селектор 149 Формирования индексасегмента и страницы в зависимостиот установленных в управляющемрегистре размеров сегмента и страницы, регистр 150 реального адреса,регистр 151 активного номера таблицы сегментов, буферные памяти 152и 153 быстрой переадресации, четыре схемы 154 сравнения, семь элементов И 155, три элемента НЕ 156,два элемента ИЛИ 157 выдачи абсолютного адреса, память 158 замещения столбцов блока трансЛяции, выход 27 признака ветвления по обращению к микропрограмме накачки буфера переадресации.Блбк 17 трансляции адреса предназначен для преобразования логического адреса операнда или команды в реальный, а затем в абсолютный.Схема 148 префиксации (фиг.12) содержит две схемы 159 сравнения, два элемента НЕ 160, четыре элемента И 161 элемент ИЛИ 162 формирования абсолютного адреса.Селектор 149 Формирования индекса сегмента и страницы (Фиг. 13) содержит дешифратор 163 конкретного сочетания размеров сегмента и страницы для управления выбором индекса страницы, восемь элементов И 164 (для управления выбором индекса сегмента и для выдачи индексов) и элемент ИЛИ 165 Формирования индекса,Блок 18 связи с операционным устройством (Фиг14) содержит регистр 166 маски программы слова состояния программы и регистр 167 запросного слова в операционное устройство. Блок связи с операционным устройством. (СУ) предназначен для обеспечения взаимодействия процессора с операционными устройствами по загрузке операционного устройства ко дом операции и операндами и по получению от операционного устройства результатов операции.Блок 19 связи с устройством управления памятью (Фиг. 15) содержит блок 168 памяти маркеров, регистр 169 ключа защиты из слова с;остояния программы, четыре элемента И 170, три элемента НЕ 171, три элемента ИЛИ 172 и регистр 173 запросного слова в устройство управления памятью, выход 27 признака ветвления по нецелочисленной границе адреса операнда. Блок связи с устройством управления памятью (УУП) предназначен для обеспечения взаимодействия процессора с оперативной (буферной) памятью по обмену информацией. Обмен инициируется путем передачи от процессора в устройство управления памятью запросного слова, содержащего номер запрашиваемого УУП (если рассматривается мультипроцессорная система с несколькими УУП), абсолютный адрес обращения к памяти, код операции обращения (чтение, запись и т.п,), маркер записи, ключ защиты.Устройство центрального управления процессора выполняет команды тина принятых в ЕС ЭВМ.Работа устройства центрального управления процессора рассматривается на примере выполнения команды Формата Н типа сложения с фиксированной точкой (фиг.16),В устройстве центрального управления процессора существует 4уровня выполнения команд (Фиг. 16)и соответственно 4 уроовня совмещения.Такты ТО,Т 1 - такты нулевогоуровня, Т 2,Т 3 - такты первого уровня, команда принимается на регистр 3командной информации первого уровня через селектор 2, Т 4, Т 5 - тактывторого уровня, на регистр 5 команд ной информации второго уровня команда.принимается через селектор 4. Тб,15Т 7 - такты третьего уровня, на регистр 7 командной информации третьего уровня команда принимается через.селектор 6. Типовые команды Форматов РР, РХ выполняются за 8 тактов,проходя последовательно 4 уровня.Команды, требующие для своего выполнения больше 8 тактов, либо находятся на каком-либо уровне большее коли 25чество тактов, либо после второгоили третьего уровней возвращаютсяна первый уровень и внов проходятпоследовательно по всем уровням.Управление процессором в тактах ТО,Т 1, Т 2 выполняется схемно, в тактахТЗ - Т 7 - микропрограммно. Перепись. с уровня на уровень производитсямикропрограммно.под управлениемблока 8 микропрограммного управления.Рассмотрим работу блока буферизации команд (Фиг. 2 а, о ) на примеревыполненря команд типа принятых вЕС ЭВИ, Допустим, что выполняютсякоманды Формата% длиной в 2 байта,не требующие обращения в главную па Омять за операндами, команды формата ЯХ длиной 4 байта и команды Формата 53 длиной в 6 байтов. Командырасположены в ячейках главной памяти в командных словах, каждое4длиной в 8 байт. Выборка из главнойпамяти производится 8-байтнымисловами по 24-разрядному адресу(разрядность адреса 8-31), причемразряды 8-28 адресуют командное слово, а разряды 29-31 (номер байта)тот номер байта в командном слове,в котором расположен старший байткоманды. Адрес текущей команды вырабатывается на блоке счетчика команд 55процессора (СК) (8/31), причем 31всегда равен "О", Разрядность счетчика команд (8-31) представляется в ниде (щ+М+ И разрядов и принимаетсяв=15(8-22 р), М 6(23-28 р), й (29-31 р),Допустим также, что выборкакоманды иэ памяти командных слов(БКС) проводится в такте выборкИкоманды, а выработка адреса следующей команды в следующем такте -такте модификации адреса, В тактевыборки команды производится обращение к секциям 41 и 42 памяти командных слов (БКС) по 1( разрядам ад-реса текущей команды. В каждой стро"ке каждого столбца БКС 41 и 42 расположено 8-байтовое командное слово.В соответствующей К -й строке соответствующего столбца памяти 43 адресов записаны старшие (8-22) ю разрядов адреса командного слова, в соответствующих строках столбцов памяти44 признаков действительности записаны признаки действительности ДК(условимся, что если к 1, то содержимое соответствующей 1-и строки БКС 41 (42) действительно и вней находится требуемая команда,еслиО, то команды в памяти командных слов соответствующего столбца по данному адресу нет). В соответствующей строке соответствующегостолбца памяти 45 связности записанномер столбца БКС, в котором нахо-дится в процолжение данной команднойпоследовательности, Если в 1 -йстроке памяти 45 связности записанаинформация, не равная нулю, то этоозначает, что продолжение командыимеется в БКС, и для анализа этогоне требуется считывать %-1)-ю стро"ку памяти 43 адресов в случае "разорванной" ксманди,Каждий столбец памяти командныхслов состоит из двух секций Секция 41 содержит младшие 4 байта командного слова, секция 42 - старшие 4 байта командного слова. Обращение к секции 41 ведется по адресус выхода первого коммутатора 47 адресов, обращение к секции 42 - поадресу с вихода сумматора 53 адреса,который при выборке комднди суммирует значение младших 1 разрядовадреса команды созначением 29 р адреса команды. Если 29 р адреса команды равен нулю, то вся команда, независимо от ее Формата, расположенав одной строке секций 41 и 42,буфера БКС, и адреса обращения к секциям41 и 42 одинаковы.

Смотреть

Заявка

3600197, 01.06.1983

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

НИКИТИН АНАТОЛИЙ ИВАНОВИЧ, ЗАК ЛАРИСА СЕМЕНОВНА, ЦУКАНОВ ЮРИЙ ПЕТРОВИЧ, МЕГЕЛЬ КЛАВДИЯ ИВАНОВНА, ЗАСОКО АЛЕКСАНДР БОРИСОВИЧ, МАЛИКОВА НАДЕЖДА МИХАЙЛОВНА, НЕСТЕРОВА ЛЮДМИЛА ГРИГОРЬЕВНА, ИГНАТКИН НИКОЛАЙ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: G06F 15/00

Метки: процессора, центрального

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

Код ссылки

<a href="https://patents.su/34-1136177-ustrojjstvo-centralnogo-upravleniya-processora.html" target="_blank" rel="follow" title="База патентов СССР">Устройство центрального управления процессора</a>

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