CN104035749A - Method for accelerating chip pipelining processing - Google Patents
Method for accelerating chip pipelining processing Download PDFInfo
- Publication number
- CN104035749A CN104035749A CN201410226058.8A CN201410226058A CN104035749A CN 104035749 A CN104035749 A CN 104035749A CN 201410226058 A CN201410226058 A CN 201410226058A CN 104035749 A CN104035749 A CN 104035749A
- Authority
- CN
- China
- Prior art keywords
- instruction
- fifo
- register
- label
- map table
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Abstract
The invention discloses a method for accelerating chip pipelining processing. After an instruction is transmitted from an IF stage through a renaming mechanism, the instruction enters a renaming module, a register is renamed, an instruction after renaming is conducted enters a transmitting stage, a corresponding operand or the Tag of the operand is taken out from the register, the WAW and WAR data collision problem is solved, the method is applied to the pipelining chip design, and the chip pipelining processing efficiency is greatly improved.
Description
Technical field
The present invention relates to chip design field, relate in particular to a kind of method of accelerating chip pipeline processes.
Background technology
Dependence between instruction is to hinder instruction scheduling to play a role, and then affects the major obstacle of instruction level parallelism.Instruction scheduling is a very important stage of modern optimization compiler back-end, and it is can be in a fundamental block (basic block, BB) or cross over fundamental block rearrangement instructions, makes the instruction time in calling program critical path short as far as possible.Effectively instruction scheduling can utilize processor resource fully, improves instruction-level parallelism (ILP).Dependence between instruction is to hinder the major obstacle that instruction scheduling plays a role.Dependence between instruction can be divided into 3 classes: data dependence, name rely on and control and rely on.Data dependence claims again stream to rely on, and instruction j data dependence, in instruction i, refers to the result that j has directly or indirectly quoted instruction i definition.Known this is that read-after-write (RAW) relies on.Name relies on to refer between 2 instructions has used identical register or main memory unit, is same name, but data do not flow between 2 instructions along this name, and name relies on and is divided into two kinds: antidependence and output rely on.Instruction j antidependence is to say that j has defined a name in instruction i, and i has quoted this name, and writeafterread (WAR) relies on.It is to say that the two has defined same name that instruction i and instruction j output rely on, and write after write (WAW) relies on.Control to rely on the relation having disclosed between a general instruction and branch instruction, whether whether branch instruction controls metastasis occurs has affected this general instruction and has been performed.
Summary of the invention
The object of the invention is to for the deficiencies in the prior art, a kind of method of accelerating chip pipeline processes is provided.
The object of the invention is to be achieved through the following technical solutions, a kind of method of accelerating chip pipeline processes, comprises the following steps:
(1) during from the instruction fetch of IF level, first Tag label corresponding to source operand register returned to instruction in corresponding from Map Table FIFO (queue), check the item entry in the Map Table FIFO that destination operand register Tag label is corresponding, the label in this is pressed into PTRQ queue;
From Free List fifo queue, extrude a label and cover the item entry in above-mentioned Map Table FIFO;
Register name in the Map Table FIFO middle term entry being replaced is returned to instruction;
(2) instruction executes rear renewal register, and rename module obtains writing back in level after the set of correlating markings position, and label extrudes from PTRQ FIFO, enters Freelist FIFO, again participates in rename and recycles.
Beneficial effect of the present invention: the present invention is by rename mechanism, instruction is after the transmitting of IF level, enter rename module, register is carried out to rename, instruction after rename enters emitting stage, takes out corresponding operand or the Tag of operand from register, has solved the data collision problem of WAW and WAR, be applied to, in pipeline chip design, greatly improve chip stream waterline treatment effeciency.
Accompanying drawing explanation
Fig. 1 is register renaming modular structure figure;
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in further detail.
As shown in Figure 1, whole single-threaded rename module (Rename) is comprised of map table FIFO He Liangge round-robin queue, and Liang Ge round-robin queue is Free list FIFO and Pending target return queue FIFO (PTRQ queue).
A kind of method of accelerating chip pipeline processes of the present invention, comprises the following steps:
(1) during from the instruction fetch of IF level, first Tag label corresponding to source operand register returned to instruction in corresponding from Map Table FIFO, check the item entry in the Map Table FIFO that destination operand register Tag label is corresponding, the label in this is pressed into PTRQ queue;
From Free List fifo queue, extrude a label and cover the item entry in above-mentioned Map Table FIFO;
Register name in the Map Table FIFO middle term entry being replaced is returned to instruction;
Among this process, note the control of Free List FIFO and PTRQ FIFO pointer.Because rename is in order to eliminate WAW, the conflict of WAR, what the write operation that this necessary guarantee of making use of momentum is adjacent was used is not same register, the operation of write-after-read, with neither same register, this just need to read not change the label of register, writes the label that can change register.But true data is relevant, should retain, as RAW conflict, that this that register that just requires read-after-write is write before should being.So, only have the label in the Map Table FIFO item that the destination register label of instruction is corresponding to change at every turn, and be to be first pressed into new label, and then new label is returned to instruction.
(2) instruction executes rear renewal register, and rename module (Rename) obtains writing back after the middle set of correlating markings position of level (WB), and label extrudes from PTRQ FIFO, enters Freelist FIFO, again participates in rename and recycles.
Map table FIFO has 16 items, represent respectively 16 structure register ARF (Architectural Register File), 5bit data of each correspondence, 5bit data are used for representing 24 registers (comprising 16 structure register+8 rename register).
Free list FIFO comprises idle register label, and the indicated register of these labels can carry out rename; When program is initial, due to rename occurring, the 0-15 register in respectively corresponding 24 registers of 16 items in map table FIFO, and corresponding 16-23 register in Free list FIFO.
Pending target return queue FIFO comprises be as rename but need again again by the register of rename, such as:
R1←R2+R3
R1←R4+R5
In this program segment, 1 instruction distributes after R1 when entering rename module, use another rename register R16, when entering rename module, 2 instructions again distribute R17 as rename register, that in the middle of pending target return queue queue, preserve is exactly R16, and that in map table FIFO corresponding to R1, preserve is R17, solved the data collision problem of WAW, the data collision of WAR also can solve with the present invention's invention, the present invention is applied to, in pipeline chip design, can improve chip stream waterline treatment effeciency.
Claims (1)
1. a method of accelerating chip pipeline processes, is characterized in that, comprises the following steps:
(1) during from the instruction fetch of IF level, first Tag label corresponding to source operand register returned to instruction in corresponding from Map Table FIFO, check the item entry in the Map Table FIFO that destination operand register Tag label is corresponding, the label in this is pressed into PTRQ queue;
From Free List fifo queue, extrude a label and cover the item entry in above-mentioned Map Table FIFO;
Register name in the Map Table FIFO middle term entry being replaced is returned to instruction;
(2) instruction executes rear renewal register, and rename module obtains writing back in level after the set of correlating markings position, and label extrudes from PTRQ FIFO, enters Free list FIFO, again participates in rename and recycles.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410226058.8A CN104035749A (en) | 2014-05-26 | 2014-05-26 | Method for accelerating chip pipelining processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410226058.8A CN104035749A (en) | 2014-05-26 | 2014-05-26 | Method for accelerating chip pipelining processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104035749A true CN104035749A (en) | 2014-09-10 |
Family
ID=51466525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410226058.8A Pending CN104035749A (en) | 2014-05-26 | 2014-05-26 | Method for accelerating chip pipelining processing |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035749A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317555A (en) * | 2014-10-15 | 2015-01-28 | 中国航天科技集团公司第九研究院第七七一研究所 | Writing merging and writing undo processing device and method in SIMD (single instruction multiple data) processor |
CN105242905A (en) * | 2015-10-29 | 2016-01-13 | 华为技术有限公司 | Data false correlation processing method and device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US6311261B1 (en) * | 1995-06-12 | 2001-10-30 | Georgia Tech Research Corporation | Apparatus and method for improving superscalar processors |
-
2014
- 2014-05-26 CN CN201410226058.8A patent/CN104035749A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US6311261B1 (en) * | 1995-06-12 | 2001-10-30 | Georgia Tech Research Corporation | Apparatus and method for improving superscalar processors |
Non-Patent Citations (4)
Title |
---|
JEAN NOEL,ET.AL: "New Pipelined Architecture for DSP", 《ASILOMAR CONFERENCE ON SIGNALS》 * |
汪翼等: "DES算法的高速流水线实现", 《微电子学与计算机》 * |
赵兴等: "一种新型的样本并行 JPEG2000编码器 EBCOT体系", 《APPLICATION &PROJECT OF VIDEO TECHNOLOGIES》 * |
赵宇等: "RFID 标签双模式阻塞防碰撞算法", 《机电工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317555A (en) * | 2014-10-15 | 2015-01-28 | 中国航天科技集团公司第九研究院第七七一研究所 | Writing merging and writing undo processing device and method in SIMD (single instruction multiple data) processor |
CN104317555B (en) * | 2014-10-15 | 2017-03-15 | 中国航天科技集团公司第九研究院第七七一研究所 | The processing meanss and method for merging and writing revocation are write in SIMD processor |
CN105242905A (en) * | 2015-10-29 | 2016-01-13 | 华为技术有限公司 | Data false correlation processing method and device |
CN105242905B (en) * | 2015-10-29 | 2018-03-09 | 华为技术有限公司 | The treating method and apparatus that data false appearance is closed |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101754462B1 (en) | Method and apparatus for implementing a dynamic out-of-order processor pipeline | |
CN104049941B (en) | Tracking control flow of instructions | |
KR102074961B1 (en) | Method and apparatus for efficient scheduling for asymmetrical execution units | |
CN108027770B (en) | Dense read encoding for data stream ISA | |
CN110249302B (en) | Simultaneous execution of multiple programs on a processor core | |
KR101594502B1 (en) | Systems and methods for move elimination with bypass multiple instantiation table | |
US11366669B2 (en) | Apparatus for preventing rescheduling of a paused thread based on instruction classification | |
KR20180021812A (en) | Block-based architecture that executes contiguous blocks in parallel | |
WO2015153121A1 (en) | A data processing apparatus and method for executing a stream of instructions out of order with respect to original program order | |
US20160011876A1 (en) | Managing instruction order in a processor pipeline | |
WO2013144733A2 (en) | Instruction merging optimization | |
US10649780B2 (en) | Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order | |
CN104995599A (en) | Path profiling using hardware and software combination | |
CN108182082A (en) | A kind of double transmited processor scoreboard circuits of stream treatment | |
US20160011877A1 (en) | Managing instruction order in a processor pipeline | |
CN105204821A (en) | Inter-processor synchronization system | |
CN104536914B (en) | The associated processing device and method marked based on register access | |
WO2015017129A4 (en) | Multi-threaded gpu pipeline | |
CN104035749A (en) | Method for accelerating chip pipelining processing | |
US20160004538A1 (en) | Multiple issue instruction processing system and method | |
CN114787772A (en) | Instruction processing for accumulating register results in a microprocessor | |
US8051275B2 (en) | Result path sharing between a plurality of execution units within a processor | |
US9542194B2 (en) | Speculative register file read suppression | |
KR102042780B1 (en) | Micro-ops including packed source and destination fields | |
JP2010026583A (en) | Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140910 |
|
RJ01 | Rejection of invention patent application after publication |