RU2101759C1 - Computing unit with alternating processing of several instruction flows - Google Patents
Computing unit with alternating processing of several instruction flows Download PDFInfo
- Publication number
- RU2101759C1 RU2101759C1 RU95120645A RU95120645A RU2101759C1 RU 2101759 C1 RU2101759 C1 RU 2101759C1 RU 95120645 A RU95120645 A RU 95120645A RU 95120645 A RU95120645 A RU 95120645A RU 2101759 C1 RU2101759 C1 RU 2101759C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- task
- output
- flags
- central processor
- Prior art date
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине. The invention relates to computer technology and can be used in an electronic digital computer.
Известно вычислительное устройство, содержащее блок центрального процессора, регистр флагов [1]
В известном устройстве при выполнении инструкций единственного командного потока, содержащего как арифметико-логические, так и не арифметико-логические команды, в каждый момент времени задействованы либо арифметико-логические узлы блока центрального процессора, либо вспомогательные узлы вычислительной системы, не входящие в состав блока центрального процессора, либо и те и другие одновременно.Known computing device comprising a central processor unit, a register of flags [1]
In the known device, when executing instructions of a single command stream containing both arithmetic-logical and non-arithmetic-logical commands, either arithmetic-logical nodes of the central processor unit or auxiliary nodes of the computing system that are not part of the central unit are involved at each moment of time processor, or both at the same time.
Причиной низкой производительности известного устройства является простой арифметико-логических узлов блока центрального процессора при выполнении вычислительной системой не арифметико-логических команд (загрузки операндов из памяти и др.). The reason for the poor performance of the known device is the simple arithmetic-logical nodes of the central processor unit when the computer system executes non-arithmetic-logical commands (loading operands from memory, etc.).
Задачей изобретения является создание устройства, позволяющего за счет одновременного анализа содержимого нескольких командных потоков минимизировать простой арифметико-логических узлов блока центрального процессора, повысив вероятность присутствия в каждом такте работы вычислительного устройства арифметико-логической команды, ожидающей выполнения. The objective of the invention is to provide a device that allows due to the simultaneous analysis of the contents of several command streams to minimize simple arithmetic-logical nodes of a central processor unit, increasing the likelihood of the presence of an arithmetic-logical command awaiting execution at each clock cycle of a computing device.
В результате, созданное устройство обладает более высокой производительностью за счет того, что повышается вероятность присутствия арифметико-логической инструкции хотя бы в одном командном потоке в каждом такте работы вычислительного устройства, и, как следствие, увеличивается загрузка арифметико-логических узлов блока центрального процессора. As a result, the created device has higher performance due to the fact that the probability of the presence of an arithmetic-logical instruction in at least one command stream in each clock cycle of the computing device increases, and, as a result, the load of arithmetic-logical nodes of the central processor unit increases.
Сущность изобретения состоит в том, что вычислительное устройство с чередующимся обслуживанием нескольких командных потоков, содержащее блок центрального процессора, регистр флагов, отличается тем, что в него введены (N-1) регистров флагов, блок выбора задания, причем вход заданий устройства является входом заданий блока выбора задания, вход запросов устройства является входом запросов блока выбора задания, синхровход устройства является синхровходом блока центрального процессора и синхровходом всех регистров флагов, выход данных блока центрального процессора является выходом данных устройства, выход флагов блока центрального процессора соединен с входами информационными всех регистров флагов, выходы информационные всех регистров флагов соединены с входом флагов блока выбора задания, выход задания блока выбора задания соединен с входом задания блока центрального процессора, выход флагов блока выбора задания соединен с входом флагов блока центрального процессора, выход разрешения блока выбора задания соединен с входами разрешения всех регистров флагов и является выходом устройства, в результате чего повышается вероятность присутствия арифметико-логической инструкции хотя бы в одном командном потоке в каждом такте работы вычислительного устройства, и, как следствие, увеличивается загрузка арифметико-логических узлов блока центрального процессора. The essence of the invention lies in the fact that a computing device with alternating servicing of several command streams, comprising a central processor unit, a flag register, is characterized in that (N-1) flag registers, a task selection unit are introduced, and the device task input is the task input the unit for selecting a task, the input of device requests is the input of requests for the unit for selecting the device, the clock input of the device is the sync input of the central processor unit and the sync input of all flag registers, data output is and the central processor is the data output of the device, the output of the flags of the central processor unit is connected to the information inputs of all flag registers, the information outputs of all the flag registers are connected to the input of the flags of the task selection unit, the output of the task selection unit is connected to the task input of the central processor unit, the output of the block flags the task selector is connected to the flags input of the central processor unit, the permission output of the task selector is connected to the enable inputs of all flag registers and is output devices, thereby increasing the probability of occurrence of arithmetic-logic instructions in at least one instruction stream in each cycle of operation of the computing device, and as a result, increased loading arithmetic logic units of the CPU unit.
Введение в устройство (N-1) регистров флагов позволяет единственному блоку центрального процессора чередовать обслуживание нескольких командных потоков, не нарушая причинно-следственной связи между исполняемыми в рамках этих командных потоков инструкциями. The introduction of flag registers into the device (N-1) allows a single block of the central processor to alternate the servicing of several command streams without violating the causal relationship between the instructions executed within these command streams.
Введение в устройство блока выбора задания позволяет за счет одновременного анализа содержимого несколько командных потоков в каждом такте работы вычислительного устройства повысить общую загрузку арифметико-логических узлов блока центрального процессора. The introduction to the device of the unit for selecting a task allows, due to the simultaneous analysis of the contents, several command streams in each cycle of the computing device to increase the overall load of the arithmetic-logical nodes of the central processor unit.
На фиг.1 представлена структурная схема вычислительного устройства с чередующимся обслуживанием нескольких командных потоков; на фиг.2 пример реализации блока выбора задания. Figure 1 presents the structural diagram of a computing device with alternating maintenance of several command streams; figure 2 is an example implementation of a block selection task.
На фиг. 1 представлены блок 1 центрального процессора, N регистров 2 флагов, блок 3 выбора задания. Вход заданий устройства является входом 4 заданий блока 3 выбора задания, вход запросов устройства является входом 5 запросов блока 3 выбора задания, синхровход устройства является синхровходом 6 блока 1 центрального процессора и синхровходом всех регистров 2 флагов, выход 7 данных блока 1 центрального процессора является выходом данных устройства, выход 8 флагов блока 1 центрального процессора соединен с входами 9 информационными всех регистров 2 флагов, выходы 10 информационные всех регистров 2 флагов соединены с входом 11 флагов блока 3 выбора задания, выход 12 задания блока 3 выбора задания соединен с входом задания блока 1 центрального процессора, выход 13 флагов блока 3 выбора задания соединен с входом флагов блока 1 центрального процессора, выход 14 разрешения блока 3 выбора задания соединен с входами 15 разрешения всех регистров 2 флагов и является выходом устройства. In FIG. 1 shows the
На фиг.2 показаны шифратор 16 приоритетный, дешифратор 17, мультиплексор 18 флагов, мультиплексор 19 заданий. Вход 4 заданий блока 3 выбора задания является входом информационным мультиплексора 19 заданий, вход 5 запросов блока 3 выбора задания является входом информационным шифратора 16 приоритетного, вход 11 флагов блока 3 выбора задания является входом информационным мультиплексора 18 флагов. Выход 12 информационный мультиплексора 19 заданий является выходом задания блока 3 выбора задания, выход 13 информационный мультиплексора 18 флагов является выходом флагов блока 3 выбора задания, выход 14 информационный дешифратора 17 является выходом разрешения блока 3 выбора задания, выход 20 информационный шифратора 16 приоритетного соединен с входом 21 информационным дешифратора 17, входом 22 адреса мультиплексора 18 флагов, входом 23 адреса мультиплексора 19 заданий. Figure 2 shows the
Работа вычислительного устройства с чередующимся обслуживанием нескольких командных потоков (фиг.1) заключается в выполнении последовательности поступающих в устройство команд над поступающими в устройство операндами. The operation of the computing device with alternating maintenance of several command streams (Fig. 1) consists in executing a sequence of instructions received by the device on operands arriving at the device.
Входные задания поступают на вход 4 заданий устройства. Вход 4 заданий устройства представляет собой магистраль, состоящую из N шин заданий. С каждой шиной заданий связан свой командный поток, относящийся к отдельному вычислительному процессу, в результате чего задания из соседних шин заданий никаким образом не связаны друг с другом. Не является существенным, как конкретно формируются поступающие в вычислительное устройство задания, поэтому соответствующие цепи и устройства не показаны. Каждое входящее в устройство задание содержит в своем составе код операции команды с относящимся к нему операндом. Разрядность кода операции команды выбирается исходя из размера системы команд конкретно реализуемого вычислительного устройства и равна Log2 от этого количества (ближайшему целому сверху от Log2 от этого количества в случае неравенства нулю дробной части Log2 от этого количества). Разрядность, относящегося к коду операции команды операнда, определяется характеристиками используемого в вычислительном устройстве блока 1 центрального процессора. Input tasks go to the input of 4 device tasks. The
Одновременно с входными заданиями на вход 5 запросов устройства поступают N одноразрядных сигналов запроса на обслуживание, каждый из которых связан с одной из шин заданий в магистрали входа 4 заданий устройства. Присутствие логической "1" на одноразрядном сигнале запроса на обслуживание свидетельствует о присутствии в текущий момент времени входного задания на соответствующей этому одноразрядному сигналу шине заданий входа 4 заданий устройства. Не является существенным, как конкретно формируются поступающие в вычислительное устройство запросы на обслуживание, поэтому соответствующие цепи и устройства не показаны. Simultaneously with the input tasks, the
На синхровход 6 устройства подаются синхроимпульсы от внешнего источника синхросигналов. Не является существенным, как конкретно формируются синхроимпульсы, поэтому соответствующие цепи и источник синхросигналов не показаны. On the clock input 6 of the device are clock pulses from an external source of clock signals. It is not significant how exactly the clock pulses are generated, therefore, the corresponding circuits and the clock source are not shown.
С входа 4 заданий устройства задания, входа 5 запросов устройства запросы на обслуживание поступают на вход заданий, вход запросов блока 3 выбора задания соответственно. From the
Внутри блока 3 выбора задания в соответствии с присутствующими на входе 5 запросов запросами на обслуживание (предполагается, что задания, принадлежащие различным шинам заданий входа 4 заданий, имеют различные приоритеты на обслуживание) осуществляется выбор задания, выполнение которого будет произведено в следующем такте работы вычислительного устройства. Выбранное задание однозначно определяет один из N вычислительных процессов, которому в следующем такте работы устройства будет выделен вычислительный ресурс блока 1 центрального процессора (конкретная реализация блока 1 центрального процессора не является существенной [1,2]). При этом на N-разрядном выходе 14 разрешения блока 3 выбора задания в логическую "1" устанавливается одноразрядный сигнал, ответственный за выбранное задание (остальные одноразрядные сигналы устанавливаются в логический "0"). Inside the
Для обеспечения корректности получаемых в ходе вычислений результатов, каждый из N вычислительных процессов работает со своим регистром 2 флагов. Каждый из N регистров 2 флагов функционирует независимо от остальных N-1 регистров 2 флагов, входящих в вычислительное устройство с чередующимся обслуживанием нескольких командных потоков, при этом конкретная реализация регистров 2 флагов не является существенной [1] На вход 11 флагов блока 3 выбора задания с выходов 10 информационных поступает содержимое N регистров 2 флагов. Выбор задания в блоке 3 выбора задания однозначно определяет регистр 2 флагов, содержимое которого будет учтено при проведении вычислений в следующем такте работы вычислительного устройства. С выхода 12 задания задание, выхода 13 флагов флаги поступают на вход задания, вход флагов блока 1 центрального процессора соответственно. Таким образом, в блоке 1 центрального процессора имеется вся информация для выполнения очередной команды в следующем такте работы вычислительного устройства, задаваемом синхроимпульсами, поступающими на синхровход 6 блока 1 центрального процессора с синхровхода устройства. To ensure the correctness of the results obtained during the calculation, each of the N computing processes works with its own register of 2 flags. Each of the N registers of 2 flags operates independently of the remaining N-1 registers of 2 flags included in the computing device with alternating servicing of several command streams, while the specific implementation of the registers of 2 flags is not significant [1] Input 11 flags of
После выполнения вычислительным устройством очередного задания, с выхода 8 флагов блока 1 центрального процессора измененные значения флагов подаются на входы 9 информационные всех регистров 2 флагов. Одновременно с этим, с выхода 14 разрешения блока 3 выбора задания N одноразрядных сигналов разрешения поступают на одноразрядные входы 15 разрешения N регистров 2 флагов, однозначно выбирая единственный регистр 2 флагов, в который и будет осуществлена запись измененных значений флагов с приходом на синхровход 6 регистров 2 флагов синхроимпульсов с синхровхода устройства. After the computing device performs the next task, from the output of 8 flags of the
На выход данных устройства поступает обработанный операнд с выхода 7 данных блока 1 центрального процессора. Не является существенным, куда конкретно затем поступает обработанный операнд, поэтому соответствующие цепи и устройства не показаны. Для однозначного определения вычислительного процесса, к которому относится этот операнд, на выход устройства подаются N одноразрядных сигналов с выхода 14 разрешения блока 3 выбора задания. Не является существенным, куда конкретно подаются сигналы с выхода устройства, поэтому соответствующие цепи и устройства не показаны. The processed operand from the output 7 of the data of
Работа блока 3 выбора задания (фиг.2) заключается в выборе задания, выполнение которого будет произведено в следующем такте работы вычислительного устройства, определении регистра флагов, содержимое которого будет учтено при проведении вычислений в следующем такте работы вычислительного устройства, формировании N сигналов разрешения, обеспечивающих запись измененных значений флагов в регистр флагов того вычислительного процесса, к которому относится задание, выполнение которого будет произведено в следующем такте работы вычислительного устройства. The operation of the
С входа 5 запросов блока 3 выбора задания равное или меньшее N число запросов на обработку заданий поступает на вход информационный шифратора 16 приоритетного. С выхода 20 информационного шифратора 16 приоритетного снимается двоичный код, разрядности Log2(N), младшего не равного логическому "0" сигнала входа 5 информационного шифратора 16 приоритетного. С выхода 20 информационного шифратора 16 приоритетного двоичный код поступает на вход 21 информационный дешифратора 17, с N-разрядного выхода 14 информационного которого снимается сигнал с установленной логической "1" лишь в разряде, соответствующем младшему не равному логическому "0" сигналу входа 5 информационного дешифратора 16 приоритетного. С выхода 14 информационного дешифратора 17 N-разрядный сигнал разрешения поступает на выход разрешения блока 3 выбора задания. From the
С выхода 20 информационного шифратора 16 приоритетного двоичный код поступает также на вход 22 адреса мультиплексора 18 флагов, где определяет содержимое какого из N регистров 2 флагов, приходящее с входа 11 флагов блока 3 выбора задания на вход информационный мультиплексора 18 флагов, поступит с выхода 13 информационного мультиплексора 18 флагов на выход флагов блока 3 выбора задания. From the output 20 of the
С выхода 20 информационного шифратора 16 приоритетного двоичный код поступает также на вход 23 адреса мультиплексора 19 заданий, где определяет задание какой из N шин заданий, приходящее со входа 4 заданий блока 3 выбора задания на вход информационный мультиплексора 19 заданий, поступит с выхода 12 информационного мультиплексора 19 заданий на выход задания блока 3 выбора задания. From the output 20 of the
Источники информации:
1. Каган Б. М. Сташин В.В. "Микропроцессоры в цифровых системах" М. Энергия, 1979, 27 с.Sources of information:
1. Kagan B. M. Stashin V.V. "Microprocessors in digital systems" M. Energia, 1979, 27 pp.
2. Каган Б.М. "Электронные вычислительные машины и системы". М. Энергоатомиздат, 1985, 552 с. 2. Kagan B.M. "Electronic computers and systems." M. Energoatomizdat, 1985, 552 p.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU95120645A RU2101759C1 (en) | 1995-12-04 | 1995-12-04 | Computing unit with alternating processing of several instruction flows |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU95120645A RU2101759C1 (en) | 1995-12-04 | 1995-12-04 | Computing unit with alternating processing of several instruction flows |
Publications (2)
Publication Number | Publication Date |
---|---|
RU95120645A RU95120645A (en) | 1997-12-20 |
RU2101759C1 true RU2101759C1 (en) | 1998-01-10 |
Family
ID=20174449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU95120645A RU2101759C1 (en) | 1995-12-04 | 1995-12-04 | Computing unit with alternating processing of several instruction flows |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2101759C1 (en) |
-
1995
- 1995-12-04 RU RU95120645A patent/RU2101759C1/en active
Non-Patent Citations (1)
Title |
---|
Каган Б.М., Сташин В.В. Микропроцессоры в цифровых системах. - М.: Энергия, 1979, с. 27. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0405489B1 (en) | Resource conflict detection method and apparatus included in a pipelined processing unit | |
US6330661B1 (en) | Reducing inherited logical to physical register mapping information between tasks in multithread system using register group identifier | |
US8140830B2 (en) | Structural power reduction in multithreaded processor | |
US5995992A (en) | Conditional truncation indicator control for a decimal numeric processor employing result truncation | |
US6189065B1 (en) | Method and apparatus for interrupt load balancing for powerPC processors | |
JP5474176B2 (en) | Tracking deallocated load instructions using a dependency matrix | |
JP3663317B2 (en) | Computer system | |
JPH0778738B2 (en) | Digital computer system | |
JPS62243058A (en) | Control method of interruption for multi-processor system | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
JPH0769818B2 (en) | Data processing device | |
CN1945525A (en) | System and method for time-of-life counter design for handling instruction flushes from a queue | |
KR19990044957A (en) | Methods and apparatus that affect the processing of subsequent instructions in a data processor | |
US3668651A (en) | Working device code method of i/o control | |
JP4801605B2 (en) | SIMD type microprocessor | |
WO2022161013A1 (en) | Processor apparatus and instruction execution method therefor, and computing device | |
US7139857B2 (en) | Method and apparatus for handling interrupts | |
US5034879A (en) | Programmable data path width in a programmable unit having plural levels of subinstruction sets | |
EP0253970A2 (en) | Multi-channel shared resource processor | |
RU2101759C1 (en) | Computing unit with alternating processing of several instruction flows | |
US6629170B1 (en) | Method and apparatus for a byte lane selectable performance monitor bus | |
US4975837A (en) | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets | |
JP2620519B2 (en) | Operation processing system and method | |
JPS59106075A (en) | Data processing system | |
JP2797760B2 (en) | Parallel processing computer system |