Центральный процессор для многопроцессорной вычислительной системы

 

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

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

Известен процессор, содержащий первый и второй блоки сопряжения, первый и второй блоки регистров, блок контроля, блок постоянной памяти, блок обработки целых чисел, блок обработки вещественных чисел, блок постоянной памяти, блок логической обработки (1).

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

Наиболее близким по технической сущности к предлагаемому устройству является процессор вычислительной системы (2), содержащий первый и второй блоки сопряжения, блок регистров, блок контроля, блок постоянной памяти, блок обработки целых чисел, блок обработки вещественных чисел, блок логической обработки, информационную магистраль, магистраль управления, магистраль контроля, адресно-числовой вход-выход и информационный вход-выход первого блока сопряжения являются первым и вторым информационными входами-выходами процессора, первый информационный вход и адресный выход второго блока сопряжения являются информационным входом и адресным выходом процессора, первый выход блока постоянной памяти является управляющим выходом процессора, второй выход блока постоянной памяти и его адресный вход соединен со вторым информационным входом-выходом и адресно-числовым входом-выходом второго блока сопряжения, второй выход которого через информационную магистраль соединен со вторым информационным входом-выходом первого блока сопряжения, первым информационным входом-выходом блока обработки целых чисел, первым информационным входом блока регистров, первым информационным входом-выходом блока обработки вещественных чисел и первым информационным входом-выходом блока логической обработки, выходы группы второго блока сопряжения через магистраль управления подключены к управляющим входам первого блока сопряжения, блока обработки целых чисел, блока регистров, блока обработки вещественных чисел, блока контроля, блока логической обработки, третий информационный вход-выход первого блока сопряжения через магистраль контроля соединен со вторыми информационными входами-выходами блоков обработки целых чисел, регистров, обработки вещественных чисел, логической обработки и информационным входом блока контроля, выход которого подключен ко входу считывания блока постоянной памяти и управляющему входу второго блока сопряжения. В этом процессоре большинство исключительных ситуаций, а также случаи работы с динамикой типов и форматов обрабатываются без прерывания процессора и выхода на процедуры операционной системы. Выполнение операций ведется с использованием конвейера в блоках обработки. Возможно одновременное выполнение операций над целыми и вещественными числами. Формирование адресов в командах обращения в память производится в блоке обработки целых чисел, а сформированный адрес передается в первый блок сопряжения. Это, однако, снижает производительность, поскольку невозможно параллельное выполнение команды обработки целых чисел и обращений в память. Кроме того, недостатком данного процессора является необходимость сохранения и восстановления содержимого регистров, требующих большого числа обращений в память.

Цель изобретения повышение быстродействия процессора.

На фиг. 1 представлена блок-схема центрального процессора; на фиг. 2 - схема блока обработки адресов памяти; на фиг. 3 схема блока обработки адресов регистров; на фиг. 4 схема первого блока дешифрации команд; на фиг. 5 схема второго блока дешифрации команд; на фиг. 6 блок регистров; на фиг. 7 блок обработки целых чисел; на фиг. 8 блок обработки вещественных чисел; на фиг. 9 блок логической обработки; на фиг. 10 блок контроля; на фиг. 11 блок постоянной памяти.

Центральный процессор содержит первый блок 1 дешифрации команд, блок 2 регистров, второй блок 3 дешифрации команд, блок 4 контроля, блок 5 постоянной памяти, блок 6 обработки целых чисел, блок 7 обработки вещественных чисел, блок 8 логической обработки, блок 9 обработки адресов памяти и блок 10 обработки адресов регистров.

Процессор имеет первый информационный выход-выход 11, второй информационный вход-выход 12, управляющий вод 13, адресный выход 14 и управляющий выход 15, а также информационную магистраль 16, магистраль 17 управления, магистраль 18 контроля.

Первый блок 1 дешифрации команд имеет информационные входы-выходы 19 - 1. 19 3, адресно-числовой вход-выход 20, управляющий вход 21, адресный вод 22, блок 2 регистров выполнен как совокупность 2-х блоков регистров прототипа (2) и имеет информационные входы-выходы 23 1 и 23 2, управляющий вход 24, адресный вход 25, блоки 3, 4, 5, 6, 7, 8 выполнены и подключены также как в прототипе, блок 9 обработки адресов памяти имеет информационные входы-выходы 44 1 и 44 2, управляющий вход 45, адресный выход 46 и информационный выход 47, блок 10 обработки адресов регистров имеет первый управляющий вход 49, информационный вход 50 и адресный выход 51.

В состав блока 9 обработки адресов памяти входят регистр 52 базы текущей процедуры, регистр 53 тега базы, регистр 54 границы, регистр 55 тега границы, регистр 56 первого операнда, регистр 57 второго операнда, сдвигатель 58, сумматор 59, элемент сравнения 60, блок 61 управления, мультиплексор 62 тегов, мультиплексор 63, регистр 64 адреса, первый формирователь 65, второй формирователь 66.

В состав блока 10 обработки адресов регистров входят мультиплексор 67, сумматор 68, блок 69 управления.

В состав первого блока 1 входят регистр 70 адреса, регистр 71 считываемых данных, регистр 72 записываемых данных, регистр 73 тега записываемых данных, регистр 74 тега считываемых данных, узел 75 управления, блоки шинных формирователей 76 80.

В состав второго блока 3 входят регистр 81 команд, дешифратор 82 команд, регистр 83 управляющего слова первого уровня, регистр 84 управляющего слова второго уровня, регистр 85 управляющего слова четвертого уровня, регистр 87 константы, счетчик 88 индекса команды, регистр 89 индекса перехода, мультиплексор 90, выходной регистр 91 индекса, блок 92 регистров индексов исполняемых команд, узел 93 управления, блоки шинных формирователей 94.

В состав блока 2 регистров входят регистр 95 номера, дешифратор 96 номера, регистровый накопитель 97, регистр 98 данных, регистр 99 тега, блоки шинных формирователей 100, 101, узел 102 управления.

В состав блока 6 обработки целых чисел входят регистры 103, 104 операндов, сумматор 105, регистр 106 результата, регистры 107, 108 тегов операндов, узел 109 контроля, узел 110 управления, блок шинных формирователей 111. Узлы 109 и 120 могут быть выполнены на многовходовых логических схемах И ИЛИ НЕ.

В состав блока 7 обработки вещественных чисел входят регистры 112, 113 операндов, регистры 114, 115 тегов операндов, сумматор 116, умножитель 117, мультиплексор 118, блок шинных формирователей 119, узел контроля 120, узел 121 управления.

В состав блока 8 логической обработки входят регистры 122, 123 операндов, сумматор 124, дешифратор 125, мультиплексор 126, сдвигатель 127, логический элемент 128 И, генератор 129 маски, регистр 130 результата, блок шинных формирователей 131, узел 132 управления.

В состав блока 4 контроля входят регистры 133, 134, 135, программируемые логические матрицы 136 1.136 3, узел 137 управления, блок 138 приоритета, мультиплексор 139. Блок 138 приоритета имеет выходы 140 1.140 3 запросов прерываний и вход 140 4, несущий функции входов синхронизации, строба разрешения, кода уровня текущего приоритета.

В состав блока 5 постоянной памяти входят дешифраторы 141, накопитель 142, регистр 143, блок шинных формирователей 144. Синхронизация центрального процессора 4-х-тактная, широко используемая в современных вычислительных машинах, в частности типа Эльбрус, может быть реализована аналогично устройствам синхронизации МВК "32" (техническое описание ИЫЗ.057.009 ТО "Синхронизатор центральный").

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

Работает процессор следующим образом.

Команды, поступающие в процессор приходят на второй блок 3 дешифрации команд, где дешифрируются и преобразуются в управляющие слова для блоков процессора. Блоки процессора могут работать параллельно, причем одновременно могут выполняться несколько команд. Состав исполнительных блоков процессора может быть различным. Блоки 6 и 7 обработки целых и вещественных чисел достаточно традиционны и не требуют подробного описания. В блоке 8 логической обработки реализуется выделение и вставление поля байт произвольного размера в пределах 32-х разрядов, обработанная в блоках информация поступает в информационную магистраль 16. При дешифрации команды формируется управляющее слово, которое разбито на фиксированные поля для каждого блока. В свою очередь, каждое поле может иметь разряды, относящиеся к различным фазам выполнения команды. Команды по длительности выполнения могут включать от двух до четырех фаз. Во втором блоке 3 дешифрации команд организован конвейер выполняемых команд в виде регистров. Выходы регистров логически суммируются, в результате образуется текущее управляющее слово, поступающее в магистраль управления 17.

Каждый из блоков процессора, в соответствии с кодом операции, поступающим из управляющего слова, выполняет действия над операндами, считываемыми из блока 2 регистров, в который записывается результат операции. Операнды, считываемые из блока 2 регистров на информационную магистраль 16, могут приниматься и обрабатываться всеми блоками процессора, результат же операции выдает только один блок. Таким образом, большинство функций, выполняемых предлагаемым процессором, аналогично выполняющих в прототипе. Однако, в прототипе формирование адресов для обращения в память осуществляется в блоке обработки целых чисел, а в предлагаемом процессоре адресная арифметика реализуется в блоке 9 обработки адресов памяти. При этом используется базово-индексный режим адресации. База поступает на регистр 56 первого операнда, индекс на регистр 57 второго операнда. Затем база и индекс, предварительно проходящий через сдвигатель 58, складывается на сумматоре 59. Сформированный адрес через отдельный адресный выход 46 передается в память через первый блок 1 дешифрации команд. В случае выполнения команды формирования адреса результат, полученный на сумматоре 59, фиксируется в регистре 64 адреса и записывается в блок 2 регистров через мультиплексор 63 и первый шинный формирователь 65.

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

Кроме того, в процессоре реализован способ организации аппаратного буфера стека процедур. Для этого введен регистр 52 базы текущей процедуры, в котором хранится значение базы, указывающей начало регистрового "окна", используемого в текущей процедуре.

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

При выполнении процедурного перехода значение базы изменяется путем индексирования регистра 52 базы текущей процедуры. Это осуществляется на сумматоре 59 блока 9 обработки адресов памяти. Таким образом реализуется перемещение начала "окна" и вызванная процедура работает с новыми регистрами. При возврате в вызывающую процедуру значения регистра 52 базы текущей процедуры восстанавливается и работа возобновляется с ранее используемыми регистрами. Случаи сохранения содержимого регистров в памяти и их обратного восстановления при таком подходе сведены к минимуму и зависят только от общего числа регистров в блоке 2 регистров и уровня вложенности процедур. В случае исчерпания всех регистров при очередном процедурном переходе формируется сигнал из элемента 60 сравнения текущего значения базы и регистра 54 границы, в котором хранится значение максимального количества регистров. По этому сигналу происходит переход на процедуру сохранения регистров в памяти.

Подход, примененный при работе с регистрами, позволяет, кроме того, объединить в один блок регистры, работающие с программами, взятыми из памяти команд и регистры, используемые в случае выполнения программы, хранящиеся в блоке 5 постоянной памяти. В случае выполнения встроенных подпрограмм адрес регистра формируется не суммированием относительно номера из команды со значением базы, а путем приписывания к номеру единицы в старшем разряде. Это осуществляется на мультиплексоре 67 в блоке 10 обработки адресов регистров по сигналу из блока контроля 20. 2 4 6 8

Формула изобретения

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

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

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11



 

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

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и предназначено для сопряжения ЭВМ по телефонным линиям связи

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

Изобретение относится к вычислительной технике и может быть использовано для построения высокопроизводительных вычислительных систем

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

Изобретение относится к измерительной технике и может быть использовано для автоматического измерения электрических параметров

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

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

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

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

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

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

Изобретение относится к вычислительной технике и предназначено для сопряжения ЭВМ по телефонным линиям связи

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