Method of stalling one or more stages in an interlocked synchronous pipeline
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/30
H04L-005/00
출원번호
US-0375989
(2006-03-14)
등록번호
US-7475227
(2009-01-06)
발명자
/ 주소
Jacobson,Hans M.
Kudva,Prabhakar N.
Bose,Pradip
Cook,Peter W.
Schuster,Stanley E.
출원인 / 주소
International Business Machines Corporation
대리인 / 주소
Law Office of Charles W. Peterson, Jr.
인용정보
피인용 횟수 :
2인용 특허 :
18
초록▼
A method of operating an integrated circuit including a pipeline and a method of stalling stages in the pipeline. Each stage of the pipeline is triggered by one or more triggering events and are individually, and selectively, stalled by a stall signal. For each stage a stall signal, delayed with res
A method of operating an integrated circuit including a pipeline and a method of stalling stages in the pipeline. Each stage of the pipeline is triggered by one or more triggering events and are individually, and selectively, stalled by a stall signal. For each stage a stall signal, delayed with respect to the stall signal of a downstream stage, is generated and used to select whether the pipeline stage in question is triggered. A data valid signal propagating with valid data adds further selection, such that only stages with valid data are stalled.
대표청구항▼
We claim: 1. A method of stalling one or more stages in a pipeline of an integrated circuit comprising the steps of: creating a stall signal for stalling a stage in the pipeline; and creating one or more delayed stall signals, causally related to said stall signal, the delayed stall signals stallin
We claim: 1. A method of stalling one or more stages in a pipeline of an integrated circuit comprising the steps of: creating a stall signal for stalling a stage in the pipeline; and creating one or more delayed stall signals, causally related to said stall signal, the delayed stall signals stalling one or more adjacent upstream stages a delay time later than said stage is stalled, wherein the stages of said pipeline operate in lock step and unstalled valid data may be stored only in every other stage at any given time, upstream stages progressively filling with valid data in each stage during a stall condition, filled said upstream stages buffering stored valid data during said stall condition. 2. A method, as in claim 1, where a stage is stalled only if it contains valid data. 3. A method, as in claim 1, wherein only adjacent upstream stages containing valid data are stalled. 4. A method, as in claim 1, wherein said pipeline is one of the following: a) a synchronous pipeline; b) a locally clocked pipeline; c) an interlocked pipeline; and d) an asynchronous pipeline. 5. A method, as in claim 1, wherein a stage contains a plurality of storage nodes, said plurality of storage nodes each capable of storing an input, said plurality of storage nodes allowing an indication to an upstream stage that a current stage is stalled to be delayed until said plurality of storage nodes in said current stage each store data. 6. A method, as in claim 5, wherein said plurality of nodes form a parallel structure, each said node in said parallel structure accessed responsive to a one (1) of N to 1 multiplexor. 7. A method, as in claim 5, wherein data propagates through said plurality of nodes in a sequential manner. 8. A method, as in claim 1, where data arrives to a current stage from an upstream adjacent stage of said pipeline, said data being indicated as valid or not valid, comprising the steps of: 1. A) if arriving data to said current stage is indicated as valid then performing the following steps: a) storing said arriving data in an output node of said current stage, b) indicating that said output node of said current stage is valid, c) proceeding to step 2A; B) if said arriving data to said current stage is indicated as not valid then returning to step 1A; 2. A) if arriving data to said current stage is indicated as valid then performing the following steps: a) if a downstream adjacent stage is indicated as stalled then performing the following steps: i) storing said arriving data in an internal node of said current stage, ii) stalling said current stage, iii) indicating that said current stage is stalled, and iv) proceeding to step 3A; b) if said downstream adjacent stage is indicated as not stalled then performing the following steps: i) storing said arriving data in said output node of said current stage, ii) returning to step 2A; B) if said arriving data to said current stage is indicated as not valid then performing the following steps: a) if said downstream adjacent stage is indicated as stalled then returning to step 2A; b) if said downstream adjacent stage is indicated as not stalled then performing the following steps: i) indicating that said output node of said current stage is not valid, ii) returning to step 1A; C) returning to step 2A; 3. A) if said downstream adjacent stage is indicated as not stalled then performing the following steps: a) storing data currently in said internal node in said output node of said current stage, b) unstalling said current stage, c) indicating that said current stage is not stalled, d) returning to step 2A; B) if said downstream adjacent stage is indicated as stalled then returning to step 3A. 9. A method, as in claim 8, where the steps (a), (c), and (g) are each initiated by a stage triggering event. 10. A method, as in claim 9, where each of the stage triggering events are delayed in time from one another. 11. A method, as in claim 9, where each said stage triggering event is caused by a synchronous clock. 12. A method, as in claim 8, wherein a current stage is interlocked to its adjacent upstream stage and adjacent downstream stage by using said valid indication and said stall indication to implement an interlocking valid-stall handshake protocol. 13. A method, as in claim 1, where data arrives to a current stage from an upstream adjacent stage of said pipeline, comprising the steps of: 1. A) storing arriving data in an output node of said current stage; 2. A) if a downstream adjacent stage is indicated as stalled then performing the following steps: a) stalling said current stage, b) indicating that said current stage is stalled, c) returning to step 2A; B) if said downstream adjacent stage is indicated as not stalled then performing the following steps: a) unstalling said current stage, b) indicating that said current stage is not stalled, c) returning to step 1A. 14. A method, as in claim 1, where data arrives to a current stage from an upstream adjacent stage of said pipeline, said data being indicated as valid or not valid, comprising the steps of: 1. A) if arriving data to said current stage is indicated as valid then performing the following steps: a) storing said arriving data in an output node of said current stage; b) indicating that said output node of said current stage is valid; c) proceeding to step 2A; B) if arriving data to a current stage is indicated as not valid then performing the following steps: a) indicating that said output node of said current stage is not valid, b) returning to step 1A; 2. A) if a downstream adjacent stage is indicated as stalled then performing the following steps: a) stalling said current stage, b) indicating that said current stage is stalled, c) returning to step 2A; B) if said downstream adjacent stage is indicated as not stalled then performing the following steps: a) unstalling said current stage, b) indicating that said current stage is not stalled, c) returning to step 1A. 15. A method, as in claim 14, where the steps (a) and (f) for said current stage are initiated by alternate stage triggering events. 16. A method, as in claim 15, where each of the stage triggering events are delayed in time from one another. 17. A method, as in claim 15, wherein said alternate stage triggering events are caused by a synchronous clock. 18. A pipeline in an integrated circuit comprising: means for creating a stall signal for stalling a stage in the pipeline; and means for creating one or more delayed stall signals, causally related to said stall signal, the delayed stall signals stalling one or more adjacent upstream stages a delay time later than said stage is stalled, wherein the stages of said pipeline operate in lock step and unstalled valid data may be stored only in every other stage at any given time, upstream stages progressively filling with valid data in each stage during a stall condition, filled said upstream stages buffering stored valid data during said stall condition.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (18)
Col, Gerard M.; Gaskins, Darius D.; Parks, Terry, Apparatus and method for improved non-page fault loads and stores.
Jacobson, Hans M.; Bose, Pradip; Buyuktosunoglu, Alper; Cook, Peter William; Emma, Philip George; Kudva, Prabhakar N.; Schuster, Stanley Everett, Method and structure for short range leakage control in pipelined circuits.
Roberts David B. (Santa Clara CA) Taylor George S. (Menlo Park CA) Parry David M. (Santa Clara CA), Rescheduling conflicting issued instructions by delaying one conflicting instruction into the same pipeline stage as a t.
McFarland Harold L. ; Stiles David R. ; Van Dyke Korbin S. ; Mehta Shrenik ; Favor John Gregory ; Greenley Dale R. ; Cargnoni Robert A., Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execut.
Col, Gerard M., Speculative generation at address generation stage of previous instruction result stored in forward cache for use by succeeding address dependent instruction.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.