RU2066067C1 - Central processor for multiple-processor computer system - Google Patents
Central processor for multiple-processor computer system Download PDFInfo
- Publication number
- RU2066067C1 RU2066067C1 SU4950675A RU2066067C1 RU 2066067 C1 RU2066067 C1 RU 2066067C1 SU 4950675 A SU4950675 A SU 4950675A RU 2066067 C1 RU2066067 C1 RU 2066067C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- register
- information
- block
- input
- Prior art date
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
Description
Изобретение относится к вычислительной техники и может быть использовано, например, для обработки данных физических экспериментов, для решения задач автоматизированного управления в реальном масштабе времени и для научных расчетов, требующих высокой производительности и большого объема памяти. The invention relates to computer technology and can be used, for example, for processing data from physical experiments, for solving problems of automated control in real time, and for scientific calculations requiring high performance and a large amount of memory.
Известен процессор, содержащий первый и второй блоки сопряжения, первый и второй блоки регистров, блок контроля, блок постоянной памяти, блок обработки целых чисел, блок обработки вещественных чисел, блок постоянной памяти, блок логической обработки (1). A known processor containing the first and second blocks of conjugation, the first and second blocks of registers, a control unit, a read-only memory unit, an integer processing unit, a real-number processing unit, a read-only memory unit, a logical processing unit (1).
Известный процессор построен на базе архитектуры с сокращенным набором команд, в котором большинство простых команд выполняется за один период следования синхроимпульсов, при этом обеспечивается конвейерная обработка в большом числе параллельно работающих блоков обработки информации. Например, операции над целыми и вещественными числами могут выполняться одновременно в двух независимо работающих блоках. Большинство команд данного процессора оперируют с данными, находящимися в блоке регистров, что ускоряет процесс обработки и повышает быстродействие. Однако, в случае выполнения процедурных переходов, то есть переходов на новые подпрограммы, возникает необходимость сохранения содержимого регистров в оперативной памяти, что требует дополнительных временных затрат. Кроме того, выполнение сложных операций, а также обработка исключительных ситуаций, таких как преобразование форматов и типов, реализуются путем выполнения последовательности простых типов, реализуются путем выполнения последовательности простых команд, генерируемых компилятором в процессе трансляции программ. В частности, работа с динамикой типов операндов требует дополнительных программных затрат. В этом случае, однако, увеличивается количество обращений в оперативную память, что приводит к снижению производительности. The well-known processor is built on the basis of architecture with a reduced set of instructions, in which most simple instructions are executed in one period of synchronization pulses, and this provides pipelining in a large number of parallel processing units of information processing. For example, operations on integers and real numbers can be performed simultaneously in two independently working blocks. Most of the instructions of this processor operate with data in the register block, which speeds up the processing process and improves performance. However, in the case of performing procedural transitions, that is, transitions to new subprograms, there is a need to save the contents of the registers in RAM, which requires additional time costs. In addition, the execution of complex operations, as well as the handling of exceptional situations, such as the conversion of formats and types, are implemented by performing a sequence of simple types, are implemented by executing a sequence of simple commands generated by the compiler in the process of translating programs. In particular, working with the dynamics of operand types requires additional software costs. In this case, however, the number of accesses to RAM increases, which leads to a decrease in performance.
Наиболее близким по технической сущности к предлагаемому устройству является процессор вычислительной системы (2), содержащий первый и второй блоки сопряжения, блок регистров, блок контроля, блок постоянной памяти, блок обработки целых чисел, блок обработки вещественных чисел, блок логической обработки, информационную магистраль, магистраль управления, магистраль контроля, адресно-числовой вход-выход и информационный вход-выход первого блока сопряжения являются первым и вторым информационными входами-выходами процессора, первый информационный вход и адресный выход второго блока сопряжения являются информационным входом и адресным выходом процессора, первый выход блока постоянной памяти является управляющим выходом процессора, второй выход блока постоянной памяти и его адресный вход соединен со вторым информационным входом-выходом и адресно-числовым входом-выходом второго блока сопряжения, второй выход которого через информационную магистраль соединен со вторым информационным входом-выходом первого блока сопряжения, первым информационным входом-выходом блока обработки целых чисел, первым информационным входом блока регистров, первым информационным входом-выходом блока обработки вещественных чисел и первым информационным входом-выходом блока логической обработки, выходы группы второго блока сопряжения через магистраль управления подключены к управляющим входам первого блока сопряжения, блока обработки целых чисел, блока регистров, блока обработки вещественных чисел, блока контроля, блока логической обработки, третий информационный вход-выход первого блока сопряжения через магистраль контроля соединен со вторыми информационными входами-выходами блоков обработки целых чисел, регистров, обработки вещественных чисел, логической обработки и информационным входом блока контроля, выход которого подключен ко входу считывания блока постоянной памяти и управляющему входу второго блока сопряжения. В этом процессоре большинство исключительных ситуаций, а также случаи работы с динамикой типов и форматов обрабатываются без прерывания процессора и выхода на процедуры операционной системы. Выполнение операций ведется с использованием конвейера в блоках обработки. Возможно одновременное выполнение операций над целыми и вещественными числами. Формирование адресов в командах обращения в память производится в блоке обработки целых чисел, а сформированный адрес передается в первый блок сопряжения. Это, однако, снижает производительность, поскольку невозможно параллельное выполнение команды обработки целых чисел и обращений в память. Кроме того, недостатком данного процессора является необходимость сохранения и восстановления содержимого регистров, требующих большого числа обращений в память. The closest in technical essence to the proposed device is a processor of a computing system (2), containing the first and second pairing units, a register unit, a control unit, a read-only memory unit, an integer processing unit, a real number processing unit, a logical processing unit, an information highway, control line, control line, address-numerical input-output and information input-output of the first interface unit are the first and second information inputs-outputs of the processor, the first information the input and address output of the second interface unit are the information input and address output of the processor, the first output of the permanent memory unit is the control output of the processor, the second output of the permanent memory unit and its address input are connected to the second information input-output and the address-numerical input-output of the second the interface unit, the second output of which is connected through the information highway to the second information input-output of the first interface unit, the first information input-output of the unit integer processing, the first information input of the register block, the first information input-output of the processing unit of real numbers and the first information input-output of the logic processing unit, the outputs of the group of the second interface block are connected to the control inputs of the first interface block, the integer processing block, through the control line, block of registers, block of processing of real numbers, control block, block of logical processing, the third information input-output of the first block of pairing through the trunk to trol is connected with second information input-output processing units integer registers, processing of real numbers, logical processing and control information input unit, an output of which is connected to the input of the read only memory unit and the control input of the second coupling block. In this processor, most exceptions, as well as cases of working with the dynamics of types and formats, are processed without interrupting the processor and entering the operating system procedures. The operations are carried out using the conveyor in the processing units. It is possible to simultaneously perform operations on integers and real numbers. The formation of addresses in the memory access commands is performed in the integer processing unit, and the generated address is transmitted to the first pairing unit. This, however, reduces performance because it is not possible to execute an instruction to process integers and memory accesses in parallel. In addition, the disadvantage of this processor is the need to save and restore the contents of registers, requiring a large number of memory accesses.
Цель изобретения повышение быстродействия процессора. The purpose of the invention is the increase in processor speed.
На фиг. 1 представлена блок-схема центрального процессора; на фиг. 2 - схема блока обработки адресов памяти; на фиг. 3 схема блока обработки адресов регистров; на фиг. 4 схема первого блока дешифрации команд; на фиг. 5 схема второго блока дешифрации команд; на фиг. 6 блок регистров; на фиг. 7 блок обработки целых чисел; на фиг. 8 блок обработки вещественных чисел; на фиг. 9 блок логической обработки; на фиг. 10 блок контроля; на фиг. 11 блок постоянной памяти. In FIG. 1 is a block diagram of a central processor; in FIG. 2 is a diagram of a memory address processing unit; in FIG. 3 scheme of the register address processing block; in FIG. 4 diagram of the first block decryption commands; in FIG. 5 diagram of the second block decryption commands; in FIG. 6 block of registers; in FIG. 7 unit for processing integers; in FIG. 8 block processing real numbers; in FIG. 9 logical processing unit; in FIG. 10 control unit; in FIG. 11 block of read-only memory.
Центральный процессор содержит первый блок 1 дешифрации команд, блок 2 регистров, второй блок 3 дешифрации команд, блок 4 контроля, блок 5 постоянной памяти, блок 6 обработки целых чисел, блок 7 обработки вещественных чисел, блок 8 логической обработки, блок 9 обработки адресов памяти и блок 10 обработки адресов регистров. The central processor comprises a first
Процессор имеет первый информационный выход-выход 11, второй информационный вход-выход 12, управляющий вод 13, адресный выход 14 и управляющий выход 15, а также информационную магистраль 16, магистраль 17 управления, магистраль 18 контроля. The processor has a first information output-output 11, a second information input-output 12, control water 13, address output 14 and control output 15, as well as an information highway 16, control highway 17, control highway 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. The
В состав блока 9 обработки адресов памяти входят регистр 52 базы текущей процедуры, регистр 53 тега базы, регистр 54 границы, регистр 55 тега границы, регистр 56 первого операнда, регистр 57 второго операнда, сдвигатель 58, сумматор 59, элемент сравнения 60, блок 61 управления, мультиплексор 62 тегов, мультиплексор 63, регистр 64 адреса, первый формирователь 65, второй формирователь 66. The memory address processing unit 9 includes a
В состав блока 10 обработки адресов регистров входят мультиплексор 67, сумматор 68, блок 69 управления. The structure of the block 10 processing the addresses of the registers includes a
В состав первого блока 1 входят регистр 70 адреса, регистр 71 считываемых данных, регистр 72 записываемых данных, регистр 73 тега записываемых данных, регистр 74 тега считываемых данных, узел 75 управления, блоки шинных формирователей 76 80. The
В состав второго блока 3 входят регистр 81 команд, дешифратор 82 команд, регистр 83 управляющего слова первого уровня, регистр 84 управляющего слова второго уровня, регистр 85 управляющего слова четвертого уровня, регистр 87 константы, счетчик 88 индекса команды, регистр 89 индекса перехода, мультиплексор 90, выходной регистр 91 индекса, блок 92 регистров индексов исполняемых команд, узел 93 управления, блоки шинных формирователей 94. The
В состав блока 2 регистров входят регистр 95 номера, дешифратор 96 номера, регистровый накопитель 97, регистр 98 данных, регистр 99 тега, блоки шинных формирователей 100, 101, узел 102 управления. The
В состав блока 6 обработки целых чисел входят регистры 103, 104 операндов, сумматор 105, регистр 106 результата, регистры 107, 108 тегов операндов, узел 109 контроля, узел 110 управления, блок шинных формирователей 111. Узлы 109 и 120 могут быть выполнены на многовходовых логических схемах И ИЛИ НЕ. The integer processing unit 6 includes
В состав блока 7 обработки вещественных чисел входят регистры 112, 113 операндов, регистры 114, 115 тегов операндов, сумматор 116, умножитель 117, мультиплексор 118, блок шинных формирователей 119, узел контроля 120, узел 121 управления. The real number processing unit 7 includes
В состав блока 8 логической обработки входят регистры 122, 123 операндов, сумматор 124, дешифратор 125, мультиплексор 126, сдвигатель 127, логический элемент 128 И, генератор 129 маски, регистр 130 результата, блок шинных формирователей 131, узел 132 управления. The logical processing unit 8 includes
В состав блока 4 контроля входят регистры 133, 134, 135, программируемые логические матрицы 136 1.136 3, узел 137 управления, блок 138 приоритета, мультиплексор 139. Блок 138 приоритета имеет выходы 140 1.140 3 запросов прерываний и вход 140 4, несущий функции входов синхронизации, строба разрешения, кода уровня текущего приоритета. The control block 4 includes
В состав блока 5 постоянной памяти входят дешифраторы 141, накопитель 142, регистр 143, блок шинных формирователей 144. Синхронизация центрального процессора 4-х-тактная, широко используемая в современных вычислительных машинах, в частности типа Эльбрус, может быть реализована аналогично устройствам синхронизации МВК "32" (техническое описание ИЫЗ.057.009 ТО "Синхронизатор центральный"). The structure of the permanent memory unit 5 includes
При этом каждый хранящий регистр в зависимости от числа ступеней предшествующий логики синхронизации одной из четырех фаз. В зависимости от элементной базы, типов используемых триггеров и схемотехники может быть использована и другая система синхронизации. Moreover, each storage register, depending on the number of steps preceding the synchronization logic of one of the four phases. Depending on the element base, types of triggers used and circuitry, another synchronization system can be used.
Работает процессор следующим образом. The processor works as follows.
Команды, поступающие в процессор приходят на второй блок 3 дешифрации команд, где дешифрируются и преобразуются в управляющие слова для блоков процессора. Блоки процессора могут работать параллельно, причем одновременно могут выполняться несколько команд. Состав исполнительных блоков процессора может быть различным. Блоки 6 и 7 обработки целых и вещественных чисел достаточно традиционны и не требуют подробного описания. В блоке 8 логической обработки реализуется выделение и вставление поля байт произвольного размера в пределах 32-х разрядов, обработанная в блоках информация поступает в информационную магистраль 16. При дешифрации команды формируется управляющее слово, которое разбито на фиксированные поля для каждого блока. В свою очередь, каждое поле может иметь разряды, относящиеся к различным фазам выполнения команды. Команды по длительности выполнения могут включать от двух до четырех фаз. Во втором блоке 3 дешифрации команд организован конвейер выполняемых команд в виде регистров. Выходы регистров логически суммируются, в результате образуется текущее управляющее слово, поступающее в магистраль управления 17. The commands received by the processor come to the
Каждый из блоков процессора, в соответствии с кодом операции, поступающим из управляющего слова, выполняет действия над операндами, считываемыми из блока 2 регистров, в который записывается результат операции. Операнды, считываемые из блока 2 регистров на информационную магистраль 16, могут приниматься и обрабатываться всеми блоками процессора, результат же операции выдает только один блок. Таким образом, большинство функций, выполняемых предлагаемым процессором, аналогично выполняющих в прототипе. Однако, в прототипе формирование адресов для обращения в память осуществляется в блоке обработки целых чисел, а в предлагаемом процессоре адресная арифметика реализуется в блоке 9 обработки адресов памяти. При этом используется базово-индексный режим адресации. База поступает на регистр 56 первого операнда, индекс на регистр 57 второго операнда. Затем база и индекс, предварительно проходящий через сдвигатель 58, складывается на сумматоре 59. Сформированный адрес через отдельный адресный выход 46 передается в память через первый блок 1 дешифрации команд. В случае выполнения команды формирования адреса результат, полученный на сумматоре 59, фиксируется в регистре 64 адреса и записывается в блок 2 регистров через мультиплексор 63 и первый шинный формирователь 65. Each of the processor blocks, in accordance with the operation code coming from the control word, performs actions on operands read from the
И исполнение автономного блока для адресной арифметики разрешает конфликт по ресурсам между командами обработки целых чисел и командами обращения в память и разрешает их совместное выполнение. And the execution of an autonomous unit for address arithmetic resolves a resource conflict between integer processing instructions and memory access instructions and allows their joint execution.
Кроме того, в процессоре реализован способ организации аппаратного буфера стека процедур. Для этого введен регистр 52 базы текущей процедуры, в котором хранится значение базы, указывающей начало регистрового "окна", используемого в текущей процедуре. In addition, the processor implements a method of organizing a hardware buffer of the procedure stack. To do this, the
Если в прототипе адреса регистров брались непосредственно из команды, то в предлагаемом процессоре аналогичные поля команд указывают относительные номера регистров, используемых в текущей процедуре, а абсолютные адреса получаются путем суммирования содержимого регистра 52 базы текущей процедуры и относительного номера на сумматоре 68 в блоке 10 обработки адресов регистров. If in the prototype the addresses of the registers were taken directly from the command, then in the proposed processor the similar instruction fields indicate the relative numbers of the registers used in the current procedure, and the absolute addresses are obtained by summing the contents of the
При выполнении процедурного перехода значение базы изменяется путем индексирования регистра 52 базы текущей процедуры. Это осуществляется на сумматоре 59 блока 9 обработки адресов памяти. Таким образом реализуется перемещение начала "окна" и вызванная процедура работает с новыми регистрами. При возврате в вызывающую процедуру значения регистра 52 базы текущей процедуры восстанавливается и работа возобновляется с ранее используемыми регистрами. Случаи сохранения содержимого регистров в памяти и их обратного восстановления при таком подходе сведены к минимуму и зависят только от общего числа регистров в блоке 2 регистров и уровня вложенности процедур. В случае исчерпания всех регистров при очередном процедурном переходе формируется сигнал из элемента 60 сравнения текущего значения базы и регистра 54 границы, в котором хранится значение максимального количества регистров. По этому сигналу происходит переход на процедуру сохранения регистров в памяти. When performing a procedural transition, the base value is changed by indexing the
Подход, примененный при работе с регистрами, позволяет, кроме того, объединить в один блок регистры, работающие с программами, взятыми из памяти команд и регистры, используемые в случае выполнения программы, хранящиеся в блоке 5 постоянной памяти. В случае выполнения встроенных подпрограмм адрес регистра формируется не суммированием относительно номера из команды со значением базы, а путем приписывания к номеру единицы в старшем разряде. Это осуществляется на мультиплексоре 67 в блоке 10 обработки адресов регистров по сигналу из блока контроля 20. ЫЫЫ2 ЫЫЫ4 ЫЫЫ6 ЫЫЫ8 ЫЫЫ10 The approach used when working with registers allows, in addition, to combine into one block the registers working with programs taken from the command memory and the registers used in the case of program execution stored in block 5 of permanent memory. In the case of executing the built-in subprograms, the register address is formed not by summing up the number from the command with the base value, but by assigning a unit in the high order to the number. This is done on the
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4950675 RU2066067C1 (en) | 1991-06-27 | 1991-06-27 | Central processor for multiple-processor computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4950675 RU2066067C1 (en) | 1991-06-27 | 1991-06-27 | Central processor for multiple-processor computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2066067C1 true RU2066067C1 (en) | 1996-08-27 |
Family
ID=21582016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4950675 RU2066067C1 (en) | 1991-06-27 | 1991-06-27 | Central processor for multiple-processor computer system |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2066067C1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7733635B2 (en) | 2002-10-22 | 2010-06-08 | Sullivan Jason A | Systems and methods for providing a robust computer processing unit |
US7764506B2 (en) | 2002-10-22 | 2010-07-27 | Sullivan Jason A | Systems and methods for providing a dynamically modular processing unit |
US7817412B2 (en) | 2002-10-22 | 2010-10-19 | Sullivan Jason A | Non-peripherals processing control module having improved heat dissipating properties |
RU2584470C2 (en) * | 2014-03-18 | 2016-05-20 | Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) | Hybrid flow microprocessor |
USRE48365E1 (en) | 2006-12-19 | 2020-12-22 | Mobile Motherboard Inc. | Mobile motherboard |
-
1991
- 1991-06-27 RU SU4950675 patent/RU2066067C1/en active
Non-Patent Citations (1)
Title |
---|
1. Том Мануэль. Новый процессор 88000. Фирма "Motorola". - Электроника, том 61,9 (791), 1988, с. 28 - 34. 2. Авторское свидетельство СССР N 2028663, кл. G 06 F 15/00, 1989. * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7733635B2 (en) | 2002-10-22 | 2010-06-08 | Sullivan Jason A | Systems and methods for providing a robust computer processing unit |
US7764506B2 (en) | 2002-10-22 | 2010-07-27 | Sullivan Jason A | Systems and methods for providing a dynamically modular processing unit |
US7817412B2 (en) | 2002-10-22 | 2010-10-19 | Sullivan Jason A | Non-peripherals processing control module having improved heat dissipating properties |
US8405969B2 (en) | 2002-10-22 | 2013-03-26 | Jason A. Sullivan | Non-peripherals processing control module having improved heat dissipating properties |
US8976513B2 (en) | 2002-10-22 | 2015-03-10 | Jason A. Sullivan | Systems and methods for providing a robust computer processing unit |
US9606577B2 (en) | 2002-10-22 | 2017-03-28 | Atd Ventures Llc | Systems and methods for providing a dynamically modular processing unit |
US9961788B2 (en) | 2002-10-22 | 2018-05-01 | Atd Ventures, Llc | Non-peripherals processing control module having improved heat dissipating properties |
US10285293B2 (en) | 2002-10-22 | 2019-05-07 | Atd Ventures, Llc | Systems and methods for providing a robust computer processing unit |
US10849245B2 (en) | 2002-10-22 | 2020-11-24 | Atd Ventures, Llc | Systems and methods for providing a robust computer processing unit |
US11751350B2 (en) | 2002-10-22 | 2023-09-05 | Atd Ventures, Llc | Systems and methods for providing a robust computer processing unit |
USRE48365E1 (en) | 2006-12-19 | 2020-12-22 | Mobile Motherboard Inc. | Mobile motherboard |
RU2584470C2 (en) * | 2014-03-18 | 2016-05-20 | Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) | Hybrid flow microprocessor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
JPS6313215B2 (en) | ||
US3470540A (en) | Multiprocessing computer system with special instruction sequencing | |
JPH0248931B2 (en) | ||
US5053986A (en) | Circuit for preservation of sign information in operations for comparison of the absolute value of operands | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
US4047245A (en) | Indirect memory addressing | |
US5363322A (en) | Data processor with an integer multiplication function on a fractional multiplier | |
RU2066067C1 (en) | Central processor for multiple-processor computer system | |
JPS623461B2 (en) | ||
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
EP0164418B1 (en) | Microprogram control system | |
CA1119307A (en) | Microcomputer having separate bit and word accumulators and separate bit and word instruction sets | |
KR930003399B1 (en) | Microprogrammed systems software instruction undo | |
US4723258A (en) | Counter circuit | |
JPS6285343A (en) | Memory reading-out circuit | |
RU2028663C1 (en) | Computing system | |
SU608160A1 (en) | Central processor | |
JPH07110769A (en) | Vliw type computer | |
RU2179333C1 (en) | Synergistic computer system | |
JPS5925264B2 (en) | Vector instruction processing method | |
CA1155232A (en) | Pipelined digital signal processor using a common data and control bus | |
JP2573711B2 (en) | Micro subroutine control method | |
JPS60178539A (en) | By-pass control system of information processor |