RU2503996C1 - Apparatus for dynamic prediction of microprocessor conditional jump commands - Google Patents

Apparatus for dynamic prediction of microprocessor conditional jump commands Download PDF

Info

Publication number
RU2503996C1
RU2503996C1 RU2012130916/08A RU2012130916A RU2503996C1 RU 2503996 C1 RU2503996 C1 RU 2503996C1 RU 2012130916/08 A RU2012130916/08 A RU 2012130916/08A RU 2012130916 A RU2012130916 A RU 2012130916A RU 2503996 C1 RU2503996 C1 RU 2503996C1
Authority
RU
Russia
Prior art keywords
prediction
memory
register
address
global
Prior art date
Application number
RU2012130916/08A
Other languages
Russian (ru)
Inventor
Сергей Иванович Аряшев
Михаил Евгеньевич Барских
Сергей Андреевич Морев
Original Assignee
Открытое акционерное общество "КОНСТРУКТОРСКОЕ БЮРО "КОРУНД-М" (ОАО КБ "КОРУНД-М")
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Открытое акционерное общество "КОНСТРУКТОРСКОЕ БЮРО "КОРУНД-М" (ОАО КБ "КОРУНД-М") filed Critical Открытое акционерное общество "КОНСТРУКТОРСКОЕ БЮРО "КОРУНД-М" (ОАО КБ "КОРУНД-М")
Priority to RU2012130916/08A priority Critical patent/RU2503996C1/en
Application granted granted Critical
Publication of RU2503996C1 publication Critical patent/RU2503996C1/en

Links

Landscapes

  • Advance Control (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: apparatus consists of a global jump history shift register, a program counter register, a processor operating mode register, an XOR logic element, global prediction memory, two-bit prediction memory, a final prediction selection multiplexer, a process address space identifier register, process jump history memory, an XOR logic element, process local prediction memory, a process prediction control memory address register, process prediction control memory and an intermediate process prediction selection multiplexer.
EFFECT: high efficiency of the microprocessor due to high accuracy of predicting the direction of conditional jumps.
1 dwg

Description

Изобретение относится к области вычислительной техники и может использоваться в высокопроизводительных микропроцессорных системах.The invention relates to the field of computer technology and can be used in high-performance microprocessor systems.

Известно устройство предсказания команд условного перехода, входящее в состав буфера инструкций гибридного микропроцессора, включающего центральный процессор, системный контроллер, внешнюю память, двухуровневую кэш-память (Патент RU №2359315, кл. G06F 9/30, опубл. 20.06.2009 г.).A device for predicting conditional branch instructions is included in the instruction buffer of a hybrid microprocessor, including a central processor, system controller, external memory, two-level cache memory (Patent RU No. 2359315, class G06F 9/30, published on June 20, 2009) .

Недостатком описанного блока является недостаточная производительность системы в связи с низкой точностью статического предсказания команд условного перехода.The disadvantage of this block is the lack of system performance due to the low accuracy of the static prediction of conditional branch instructions.

Известен также блок динамического предсказания команд условного перехода микропроцессора, включающий сдвиговый регистр глобальной истории переходов, регистр программного счетчика, логический элемент «исключающее ИЛИ», память предсказания и устройство выбора предсказания (Заявка на изобретение US №20100169626, кл. G06F 9/38, опубл. 01.07.2010 г.).A block of dynamic prediction of instructions for conditional transition of a microprocessor is also known, including a shift register of global transition history, a program counter register, an exclusive OR logic element, a prediction memory, and a prediction selection device (Application for invention US No.20100169626, class G06F 9/38, publ. 07/01/2010).

Недостатком описанного выше устройства является недостаточная точность предсказания, которое формирует устройство выбора предсказания.A disadvantage of the device described above is the lack of prediction accuracy that forms the prediction selection device.

Наиболее близким по технической сути и достигаемому техническому результату является устройство динамического предсказания команд условного перехода микропроцессора, состоящее из сдвигового регистра глобальной истории переходов, регистра программного счетчика, регистра режима работы процессора, логического элемента «исключающее ИЛИ», памяти глобального предсказания, памяти двухбитового предсказаний и мультиплексора выбора итогового предсказания. (Заявка на изобретение US 20080215866, кл. G06F 9/38, опубл. 04.09.2008 г.).The closest in technical essence and the achieved technical result is a device for dynamic prediction of conditional transition instructions of a microprocessor, consisting of a shift register of the global transition history, a register of the program counter, a register of the processor operating mode, an exclusive OR logic element, a global prediction memory, a two-bit prediction memory, and multiplexer selection of the final prediction. (Application for invention US 20080215866, CL G06F 9/38, publ. 04.09.2008).

Недостатком описанного выше блока является недостаточная точность предсказания команд условного перехода при параллельном выполнении прикладных программ (когда их переключение происходит без изменения режима работы процессора).The disadvantage of the block described above is the lack of accuracy in predicting conditional branch instructions during parallel execution of application programs (when they switch without changing the processor operating mode).

Технический результат от использования данного изобретения состоит в повышении производительности микропроцессора путем повышения точности предсказания направления условных переходов.The technical result from the use of this invention is to increase the performance of the microprocessor by increasing the accuracy of predicting the direction of conditional transitions.

Указанный технический результат достигается тем, что в устройстве динамического предсказания команд условного перехода, состоящем из сдвигового регистра глобальной истории переходов, регистра программного счетчика, регистра режима работы процессора, логического элемента «исключающее ИЛИ», памяти глобального предсказания, памяти двухбитового предсказаний и мультиплексора выбора итогового предсказания, согласно изобретению дополнительно содержит регистр идентификатора адресного пространства процесса, память истории переходов процесса, логический элемент «исключающее ИЛИ», память локального предсказания процесса, регистр адреса управляющей памяти предсказания процесса, управляющую память предсказания процесса и мультиплексор выбора промежуточного предсказания процесса, при этом мультиплексор выбора промежуточного предсказания процесса связан с памятью двухбитового предсказания, управляющей памятью предсказания процесса, связанной с регистром адреса управляющей памяти предсказания процесса, который объединяет значения регистра идентификатора адресного пространства процесса и регистра программного счетчика, и памятью локального предсказания процесса, которая связана с памятью истории переходов процесса, связанной с регистром идентификатора адресного пространства процесса, и регистром программного счетчика логическим элементом «исключающее ИЛИ».The specified technical result is achieved by the fact that in the device for the dynamic prediction of conditional branch instructions, consisting of a shift register of global transition history, a program counter register, a processor operating mode register, an exclusive OR logic element, global prediction memory, two-bit prediction memory, and a final multiplexer predictions, according to the invention further comprises a register of the identifier of the address space of the process, a memory of the history of transitions pr a process, an exclusive OR logic element, a local process prediction memory, an address register of a process prediction control memory, a process prediction control memory and an intermediate process prediction selection multiplexer, wherein the intermediate process prediction selection multiplexer is associated with a two-bit prediction memory controlling the process prediction memory, a process prediction associated with the address register of the control memory that combines the values of the address identifier register process space and the program counter register, and the memory local prediction process which is associated with memory stories process transitions associated with register process address space identifier, and the program counter register gate "XOR".

Использование механизма выбора промежуточного предсказания позволяет накапливать историю эффективности предсказания разных схем предсказания и использовать для каждой конкретной команды условного перехода ту схему предсказания, которая дает для данной обрабатываемой команды наибольшую точность предсказания.Using the mechanism of choosing intermediate prediction allows one to accumulate a history of prediction efficiency of different prediction schemes and to use for each specific conditional transition command the prediction scheme that gives the greatest prediction accuracy for a given processed command.

Изобретение поясняется фиг.1, на которой изображена блок-схема динамического предсказания команд условного перехода.The invention is illustrated in figure 1, which shows a block diagram of a dynamic prediction of conditional branch instructions.

Блок динамического предсказания состоит из регистра идентификатора адресного пространства процесса (ИАПП) 1, программного счетчика (ПС) 2, сдвигового регистра глобальной истории переходов (РГИП) 3, логических элементов «исключающее ИЛИ» (XOR) 4 и 5, памяти истории переходов процесса (ПИПП) 6, памяти глобального предсказания (ПП1) 7, памяти двухбитового предсказания (ПП2) 8 и памяти локального предсказания процесса (ПП3) 9. Также двух устройств выбора предсказаний - первое (для выбора промежуточного предсказания) 10 и второе (для выбора итогового предсказания) 11. Первое устройство выбора промежуточного предсказания 10 включает в свой состав регистр адреса управляющей памяти предсказания процесса 12, управляющую память предсказания процесса (ПП4) 13 и мультиплексор выбора промежуточного предсказания процесса 14. Второе устройство выбора итогового предсказания 11 содержит в себе статусный регистр режима работы процессора (РР) 15 и мультиплексор выбора итогового предсказания 16.The block of dynamic prediction consists of a register of the identifier of the address space of the process (IAPP) 1, software counter (PS) 2, the shift register of the global history of transitions (RGIP) 3, logical elements "exclusive OR" (XOR) 4 and 5, the memory of the history of transitions of the process ( PIPP) 6, global prediction memory (PP1) 7, two-bit prediction memory (PP2) 8 and local process prediction memory (PP3) 9. There are also two prediction selection devices - the first (to select the intermediate prediction) 10 and the second (to select the final prediction Azania) 11. The first intermediate prediction selection device 10 includes the address register of the process prediction control memory 12, the process prediction control memory (PP4) 13 and the process intermediate prediction selection multiplexer 14. The second final prediction selection device 11 contains a status register of the mode processor operation (PP) 15 and the multiplexer of the selection of the final prediction 16.

Механизм предсказания с использованием данных регистра идентификации адресного пространства процесса (ИАПП) 1 работает следующим образом.The prediction mechanism using the data of the process address space identification register (IAPP) 1 operates as follows.

При декодировании команды условного перехода по адресу, содержащемуся в регистре программного счетчика (ПС) 2, данные регистра идентификации адресного пространства процесса (ИАПП) 1 используются как адрес для памяти истории переходов процесса (ПИПП) 6, и одновременно с этим объединяют часть своих бит с частью бит регистра программного счетчика (ПС) 2, записывая полученный набор бит в регистр адреса управляющей памяти предсказания процесса 12. Данные регистра адреса управляющей памяти предсказания процесса 12 адресуют управляющую память предсказания процесса (ПП4) 13.When decoding a conditional branch instruction to the address contained in the program counter (PS) register 2, the data of the process address space identification register (IAPP) 1 is used as an address for the memory of the process transition history (PIPP) 6, and at the same time, part of its bits are combined with part of the bits of the register of the program counter (PS) 2, writing the received set of bits in the address register of the control memory of the prediction of the process 12. The data of the register address of the control memory of the prediction of the process 12 addresses the control memory before Legends of the process (PP4) 13.

Полученные из памяти истории переходов процесса (ПИПП) 6 данные объединяются с данными регистра программного счетчика (ПС) 2 логическим элементом «исключающее ИЛИ» 5, формируя адрес для памяти локального предсказания процесса (ПП3) 9.The data obtained from the memory of the history of process transitions (PIPP) 6 are combined with the data of the register of the program counter (PS) 2 by the exclusive OR logic element 5, forming an address for the memory of the local process prediction (PP3) 9.

Программный счетчик (ПС) 2 используется как:Software counter (PS) 2 is used as:

1. адрес для памяти двухбитового предсказания (ПП2) 8,1. the address for the memory of two-bit prediction (PP2) 8,

2. вход элемента «исключающее ИЛИ» 4, который объединяет его со значением сдвигового регистра глобальной истории перехода (РГИП) 3, для получения адреса памяти глобального предсказания (ПП1) 7,2. the input of the element "exclusive OR" 4, which combines it with the value of the shift register of the global transition history (RGIP) 3, to obtain the memory address of the global prediction (PP1) 7,

3. вход элемента «исключающее ИЛИ» 5, который объединяет его с данными, считанными из памяти истории переходов процесса (ПИПП) 6, для получения адреса памяти локального предсказания процесса (ПП3) 9.3. the input of the element “exclusive OR” 5, which combines it with data read from the memory of the history of transitions of the process (PIPP) 6, to obtain the memory address of the local prediction of the process (PP3) 9.

Предсказание инструкции ветвления для текущего процесса формируется из выходов данных памяти двухбитового предсказания (ПП2) 8 и памяти локального предсказания процесса (ПП3) 9, которые выбираются мультиплексором выбора промежуточного предсказания процесса 14, используя для управления значение выхода данных управляющей памяти предсказания процесса (ПП4) 13. Выход мультиплексора выбора промежуточного предсказания процесса 14 подается в устройство выбора итогового предсказания 11, где мультиплексор выбора итогового предсказания 16 выбирает или выход данных памяти глобального предсказания (ПП1) 7 или выход устройства промежуточного предсказания 10, используя для управления данные статусного регистра режима процессора (РР) 15. Полученный на выходе устройства выбора итогового предсказания 11 двухбитовый код стандартным способом используется в процессоре для определения направления перехода инструкций ветвления. Описанный блок динамического предсказания позволяет увеличить точность предсказания направления перехода команд условного перехода по сравнению с известными блоками динамического предсказания и, как следствие, повысить производительность микропроцессорной системы в целом.The prediction of the branch instructions for the current process is formed from the data outputs of the two-bit prediction memory (ПП2) 8 and the local process prediction memory (ПП3) 9, which are selected by the intermediate prediction selector by process 14 using the data output value of the process prediction control memory (ПП4) 13 to control The output of the intermediate prediction selection multiplexer 14 is supplied to the final prediction selection device 11, where the final prediction selection multiplexer 16 selects or the output of the global prediction memory (PP1) 7 or the output of the intermediate prediction device 10, using the data of the processor mode (PP) status register 15. The two-bit code received at the output of the final prediction selection device 11 is used in the processor in the standard way to determine the direction of instructions branching. The described block of dynamic prediction allows to increase the accuracy of prediction of the direction of transition of the conditional transition commands in comparison with the known blocks of dynamic prediction and, as a result, to increase the performance of the microprocessor system as a whole.

Claims (1)

Устройство динамического предсказания команд условного перехода микропроцессора, состоящее из сдвигового регистра глобальной истории переходов, регистра программного счетчика, регистра режима работы процессора, логического элемента «исключающее ИЛИ», памяти глобального предсказания, памяти двухбитового предсказаний и мультиплексора выбора итогового предсказания, отличающееся тем, что устройство дополнительно содержит регистр идентификатора адресного пространства процесса, память истории переходов процесса, логический элемент «исключающее ИЛИ», память локального предсказания процесса, регистр адреса управляющей памяти предсказания процесса, управляющую память предсказания процесса и мультиплексор выбора промежуточного предсказания процесса, при этом мультиплексор выбора промежуточного предсказания процесса связан с памятью двухбитового предсказания, управляющей памятью предсказания процесса, связанной с регистром адреса управляющей памяти предсказания процесса, который объединяет значения регистра идентификатора адресного пространства процесса и регистра программного счетчика, и памятью локального предсказания процесса, которая связана с памятью истории переходов процесса, связанной с регистром идентификатора адресного пространства процесса, и регистром программного счетчика логическим элементом «исключающее ИЛИ». A device for dynamically predicting microprocessor conditional transition instructions, consisting of a shift register of global transition history, a program counter register, a processor operating mode register, an exclusive OR logic element, global prediction memory, two-bit prediction memory, and a final prediction selection multiplexer, characterized in that the device additionally contains a register of the identifier of the address space of the process, a memory of the history of transitions of the process, a logical element exclusive OR ”, a local process prediction memory, a process prediction control memory address register, a process prediction control memory and an intermediate process prediction selection multiplexer, wherein the intermediate process prediction selection multiplexer is associated with a two-bit prediction memory controlling the process prediction memory associated with the control address register process prediction memory, which combines the values of the register identifier of the process address space identifier and p Giustra program counter, memory and local prediction process which is associated with memory stories process transitions associated with register process address space identifier, and the program counter register gate "XOR".
RU2012130916/08A 2012-07-20 2012-07-20 Apparatus for dynamic prediction of microprocessor conditional jump commands RU2503996C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012130916/08A RU2503996C1 (en) 2012-07-20 2012-07-20 Apparatus for dynamic prediction of microprocessor conditional jump commands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012130916/08A RU2503996C1 (en) 2012-07-20 2012-07-20 Apparatus for dynamic prediction of microprocessor conditional jump commands

Publications (1)

Publication Number Publication Date
RU2503996C1 true RU2503996C1 (en) 2014-01-10

Family

ID=49884796

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012130916/08A RU2503996C1 (en) 2012-07-20 2012-07-20 Apparatus for dynamic prediction of microprocessor conditional jump commands

Country Status (1)

Country Link
RU (1) RU2503996C1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2189623C2 (en) * 2000-06-27 2002-09-20 Тюрин Сергей Феофентович System for program control of manufacturing equipment
US20080215866A1 (en) * 2003-04-11 2008-09-04 Board Of Regents, The University Of Texas System Branch prediction apparatus, systems, and methods
RU2359315C2 (en) * 2007-04-28 2009-06-20 Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Hybrid microprocessor
US20100016926A1 (en) * 2005-08-02 2010-01-21 Rittman Iii William J Method and apparatus for diagnosing and treating neural dysfunction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2189623C2 (en) * 2000-06-27 2002-09-20 Тюрин Сергей Феофентович System for program control of manufacturing equipment
US20080215866A1 (en) * 2003-04-11 2008-09-04 Board Of Regents, The University Of Texas System Branch prediction apparatus, systems, and methods
US20100016926A1 (en) * 2005-08-02 2010-01-21 Rittman Iii William J Method and apparatus for diagnosing and treating neural dysfunction
RU2359315C2 (en) * 2007-04-28 2009-06-20 Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Hybrid microprocessor

Similar Documents

Publication Publication Date Title
US10108249B2 (en) Memory control circuit
KR101364314B1 (en) Method, system and computer-accessible medium for providing a distributed predicate prediction
CN204945992U (en) A kind of processor
US8788797B2 (en) Combined level 1 and level 2 branch predictor
JP5173714B2 (en) Multi-thread processor and interrupt processing method thereof
JP2008217353A (en) Data processor and lead active control method for memory
KR20150019349A (en) Multiple threads execution processor and its operating method
CN107851007B (en) Method and apparatus for comparison of wide data types
US20150143083A1 (en) Techniques for Increasing Vector Processing Utilization and Efficiency Through Vector Lane Predication Prediction
US10409350B2 (en) Instruction optimization using voltage-based functional performance variation
JP2005100403A (en) Branch prediction apparatus for reducing power consumption, and realizing method
EP3326060A1 (en) Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements
KR101849110B1 (en) Next-instruction-type field
JP4945410B2 (en) Information processing apparatus and information processing method
US9529654B2 (en) Recoverable and fault-tolerant CPU core and control method thereof
US20060095746A1 (en) Branch predictor, processor and branch prediction method
RU2503996C1 (en) Apparatus for dynamic prediction of microprocessor conditional jump commands
JP2019526872A (en) Method and device for determining branch history for branch prediction
KR100980076B1 (en) System and method for branch prediction with low-power consumption
JP4383496B1 (en) Microcomputer and instruction execution method thereof
US20230056699A1 (en) Loop driven region based frontend translation control for performant and secure data-space guided micro-sequencing
KR102179385B1 (en) Method and processor for implementing instruction and method and apparatus for encoding instruction and medium thereof
US10324727B2 (en) Memory dependence prediction
US20120096242A1 (en) Method and Apparatus for Performing Control of Flow in a Graphics Processor Architecture
JP7377208B2 (en) Data processing

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20170721

NF4A Reinstatement of patent

Effective date: 20190621