KR100981168B1 - 데이터-추론-실행을 지원하는 마이크로프로세서에서 사용을위한 스케쥴러 - Google Patents
데이터-추론-실행을 지원하는 마이크로프로세서에서 사용을위한 스케쥴러 Download PDFInfo
- Publication number
- KR100981168B1 KR100981168B1 KR1020057003349A KR20057003349A KR100981168B1 KR 100981168 B1 KR100981168 B1 KR 100981168B1 KR 1020057003349 A KR1020057003349 A KR 1020057003349A KR 20057003349 A KR20057003349 A KR 20057003349A KR 100981168 B1 KR100981168 B1 KR 100981168B1
- Authority
- KR
- South Korea
- Prior art keywords
- result
- inference
- value
- scheduler
- operand
- Prior art date
Links
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 45
- 230000001419 dependent effect Effects 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 13
- 238000011010 flushing procedure Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000001902 propagating effect Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 46
- 239000000872 buffer Substances 0.000 description 20
- 238000004891 communication Methods 0.000 description 4
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Abstract
Description
Claims (10)
- 마이크로프로세서(100)에 있어서,복수의 실행 유닛들(124)과; 그리고동작(operation)들을 발행하기 위해 상기 복수의 실행 유닛들 중 적어도 하나에 연결되는 스케쥴러(118)를 포함하여 구성되며,상기 스케쥴러는,복수의 엔트리들(320)을 포함하는 동작 저장소(operation storage)(302)와, 여기서 제 1 엔트리가 제 1 동작에 할당되며, 상기 제 1 동작은 하나 또는 그 이상의 오퍼랜드들 상에서 동작하며, 상기 제 1 엔트리는 하나 또는 그 이상의 소스 상태 표시들(330A, 330B)을 포함하며, 각각의 상기 소스 상태 표시는 상기 하나 또는 그 이상의 오퍼랜드들 각각의 값이 추론적(speculative)인지 여부를 표시하며; 그리고상기 동작 저장소(302)에 연결된 스케쥴러 제어 유닛(304)을 포함하여 구성되며,상기 스케쥴러 제어 유닛(304)은 제 2 동작의 결과의 값이 비-추론적(non-speculative)인지 결정하고, 여기서 상기 제 1 동작은 상기 제 2 동작에 종속되며,상기 제 2 동작의 결과의 값이 비-추론적이라는 결정에 응답하여, 상기 스케쥴러 제어 유닛(304)은 상기 제 2 동작에 종속하는 동작들의 체인을 통해 추론 성공의 표시를 전파하고,상기 추론 성공의 표시를 전파하기 위해, 상기 스케쥴러 제어 유닛(304)은 상기 하나 또는 그 이상의 오퍼랜드들 각각의 값이 비-추론적임을 표시하도록 상기 제 1 엔트리에 포함된 상기 하나 또는 그 이상의 소스 상태 표시들(330A, 330B) 중 하나를 갱신하는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 복수의 실행 유닛들 중 제 1 실행 유닛은 상기 제 1 동작의 결과를 발생하기 위하여 상기 제 1 동작을 실행하도록 구성되며, 여기서 상기 제 1 동작의 결과는 결과 표시를 포함하고, 상기 결과 표시는 만일 상기 제 1 엔트리에 포함된 상기 하나 또는 그 이상의 소스 상태 표시들 중 어느 하나가 상기 하나 또는 그 이상의 오퍼랜드들 각각이 추론적임을 표시한다면 상기 제 1 동작의 결과의 값이 추론적임을 표시하는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 제 2 동작의 결과에 대응하는 태그는 상기 하나 또는 그 이상의 오퍼랜드들 중 하나에 대응하는 태그와 동일하며, 상기 스케쥴러 제어 유닛은 태그 버스 상의 상기 제 2 동작의 결과에 대응하는 태그를 수신하는 것에 응답하여 상기 제 1 엔트리에 포함된 상기 하나 또는 그 이상의 소스 상태 표시들 중 하나를 갱신하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제3항에 있어서,상기 스케쥴러 제어 유닛은, 추론 상태 표시들을 갱신하기 위해 상기 제 1 오퍼랜드에 대응하는 태그가 상기 태그 버스 상에 제공된다는 표시를 수신하는 것에 응답하여 상기 하나 또는 그 이상의 소스 상태 표시들 중 하나를 갱신하도록 구성되며, 상기 태그 버스는 또한 결과 포워딩을 위해 사용되는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 스케쥴러 제어 유닛은, 만일 상기 제 1 엔트리에 포함된 상기 하나 또는 그 이상의 소스 상태 표시들 각각이 상기 하나 또는 그 이상의 오퍼랜드들 각각의 값이 비-추론적임을 표시한다면, 상기 제 1 동작을 재발행하는 것에 응답하여 상기 제 1 엔트리를 해제하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 스케쥴러에 연결되는 브랜치 예측 유닛과, 그리고 상기 브랜치 예측 유닛에 연결되는 프리페치 유닛을 더 포함하며, 여기서 만일 상기 제 1 동작이 브랜치 동작인 경우에, 상기 브랜치 예측 유닛은, 상기 제 1 엔트리에서의 상기 하나 또는 그 이상의 소스 상태 표시들 각각이 상기 하나 또는 그 이상의 오퍼랜드들 각각의 값이 비-추론적임을 표시할 때까지, 상기 제 1 동작의 결과에 응답하여 상기 프리페치 유닛의 리디렉팅 및 프로세싱 파이프라인의 플러싱 모두를 지연시키도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 스케쥴러 제어 유닛은 상기 동작 저장소에서의 상기 복수의 엔트리들 중 하나에 저장된 동작을 선택하여 상기 선택된 동작을 실행을 위해 기능 유닛에 제공하도록 구성되며, 상기 스케쥴러 제어 유닛은 상기 동작 저장소에서의 각각의 엔트리에 포함된 소스 상태 표시들에 의해 표시되는 비-추론적 오퍼랜드들을 갖는 동작들을 우선적으로 선택하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제 1 소스 상태 표시(330A)가 제 1 동작에 대한 제 1 오퍼랜드의 값이 추론적임을 표시하는 단계와, 여기서 상기 제 1 오퍼랜드는 제 2 동작의 결과이며;상기 제 2 동작의 결과의 값이 추론적이지 않음을 표시하는 제 2 결과 상태 표시를 수신하는 것에 응답하여, 상기 제 2 동작에 종속하는 동작들의 체인을 통해 추론 성공의 표시를 전파하는 단계와, 여기서 상기 추론 성공의 표시를 전파하는 단계는 상기 제 1 오퍼랜드의 값이 추론적이지 않음을 표시하도록 상기 제 1 소스 상태 표시를 갱신하는 것을 포함하고; 그리고상기 갱신에 응답하여, 제 1 결과 상태 표시가 상기 제 1 동작의 결과의 값이 추론적이지 않음을 표시하는 단계를 포함하여 구성되는 것을 특징으로 하는 방법.
- 제8항에 있어서,상기 제 1 동작을 스케쥴러에 디스패칭하는 단계를 더 포함하며, 여기서 상기 디스패칭하는 단계는 상기 스케쥴러에서의 제 1 엔트리를 상기 제 1 동작에 할당하는 것을 포함하며, 상기 제 1 엔트리는 상기 제 1 소스 상태 표시를 포함하는 것을 특징으로 하는 방법.
- 제 1 브랜치 명령의 제 1 오퍼랜드에 대응하는 제 1 소스 상태 표시가 상기 제 1 오퍼랜드의 값이 추론적임을 표시하는 단계와;제 2 동작의 결과의 값이 비-추론적이라는 표시를 수신하는 단계와, 여기서 상기 제 2 동작의 결과는 상기 제 1 오퍼랜드이며;상기 제 2 동작의 결과의 값이 추론적이지 않음을 표시하는 제 2 결과 상태 표시를 수신하는 것에 응답하여, 상기 제 2 동작에 종속하는 동작들의 체인을 통해 추론 성공의 표시를 전파하는 단계와, 여기서 상기 추론 성공의 표시를 전파하는 단계는 상기 제 1 오퍼랜드의 값이 추론적이지 않음을 표시하도록 상기 제 1 소스 상태 표시를 갱신하는 것을 포함하고; 그리고상기 갱신이 행해질 때까지 상기 제 1 브랜치 명령의 결과의 값에 응답하여 명령 프리페치 메커니즘의 리디렉션 및 프로세싱 파이프라인의 플러싱을 지연시키는 단계를 포함하여 구성되는 것을 특징으로 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/229,563 US6950925B1 (en) | 2002-08-28 | 2002-08-28 | Scheduler for use in a microprocessor that supports data-speculative execution |
US10/229,563 | 2002-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050037596A KR20050037596A (ko) | 2005-04-22 |
KR100981168B1 true KR100981168B1 (ko) | 2010-09-10 |
Family
ID=31976256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057003349A KR100981168B1 (ko) | 2002-08-28 | 2003-07-16 | 데이터-추론-실행을 지원하는 마이크로프로세서에서 사용을위한 스케쥴러 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6950925B1 (ko) |
EP (1) | EP1532521B1 (ko) |
JP (1) | JP4170292B2 (ko) |
KR (1) | KR100981168B1 (ko) |
CN (1) | CN1320452C (ko) |
AU (1) | AU2003252081A1 (ko) |
TW (1) | TWI315488B (ko) |
WO (1) | WO2004021174A2 (ko) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415597B2 (en) * | 2004-09-08 | 2008-08-19 | Advanced Micro Devices, Inc. | Processor with dependence mechanism to predict whether a load is dependent on older store |
US7421567B2 (en) | 2004-12-17 | 2008-09-02 | International Business Machines Corporation | Using a modified value GPR to enhance lookahead prefetch |
US7444498B2 (en) * | 2004-12-17 | 2008-10-28 | International Business Machines Corporation | Load lookahead prefetch for microprocessors |
US7552318B2 (en) * | 2004-12-17 | 2009-06-23 | International Business Machines Corporation | Branch lookahead prefetch for microprocessors |
US8046558B2 (en) * | 2005-09-16 | 2011-10-25 | The Research Foundation Of State University Of New York | File system having predictable real-time performance |
GB0519981D0 (en) * | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
CN103646009B (zh) | 2006-04-12 | 2016-08-17 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
CN101627365B (zh) | 2006-11-14 | 2017-03-29 | 索夫特机械公司 | 多线程架构 |
WO2008114443A1 (ja) * | 2007-03-20 | 2008-09-25 | Fujitsu Limited | マルチプロセッサシステム及びその制御方法 |
US7730289B2 (en) * | 2007-09-27 | 2010-06-01 | Faraday Technology Corp. | Method for preloading data in a CPU pipeline |
TWI469055B (zh) * | 2008-06-27 | 2015-01-11 | Realtek Semiconductor Corp | 網路工作卸載裝置與方法 |
US20100070730A1 (en) * | 2008-09-17 | 2010-03-18 | Sebastian Pop | Minimizing memory access conflicts of process communication channels |
CN101789952A (zh) * | 2009-01-23 | 2010-07-28 | 瑞昱半导体股份有限公司 | 网络工作卸载装置与方法 |
GB2469822B (en) * | 2009-04-28 | 2011-04-20 | Imagination Tech Ltd | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
US8977837B2 (en) * | 2009-05-27 | 2015-03-10 | Arm Limited | Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes |
EP3156896B1 (en) | 2010-09-17 | 2020-04-08 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US9052890B2 (en) * | 2010-09-25 | 2015-06-09 | Intel Corporation | Execute at commit state update instructions, apparatus, methods, and systems |
WO2012135041A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
CN103635875B (zh) | 2011-03-25 | 2018-02-16 | 英特尔公司 | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101639854B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조 |
TWI603198B (zh) | 2011-05-20 | 2017-10-21 | 英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
US20150039859A1 (en) | 2011-11-22 | 2015-02-05 | Soft Machines, Inc. | Microprocessor accelerated code optimizer |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
TWI610224B (zh) * | 2011-11-23 | 2018-01-01 | 英特爾股份有限公司 | 微處理器加速編碼最佳化器 |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US9875105B2 (en) * | 2012-05-03 | 2018-01-23 | Nvidia Corporation | Checkpointed buffer for re-entry from runahead |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US9645929B2 (en) | 2012-09-14 | 2017-05-09 | Nvidia Corporation | Speculative permission acquisition for shared memory |
US10001996B2 (en) | 2012-10-26 | 2018-06-19 | Nvidia Corporation | Selective poisoning of data during runahead |
US9740553B2 (en) | 2012-11-14 | 2017-08-22 | Nvidia Corporation | Managing potentially invalid results during runahead |
US9632976B2 (en) | 2012-12-07 | 2017-04-25 | Nvidia Corporation | Lazy runahead operation for a microprocessor |
US9569214B2 (en) | 2012-12-27 | 2017-02-14 | Nvidia Corporation | Execution pipeline data forwarding |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US9823931B2 (en) | 2012-12-28 | 2017-11-21 | Nvidia Corporation | Queued instruction re-dispatch after runahead |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US9547602B2 (en) | 2013-03-14 | 2017-01-17 | Nvidia Corporation | Translation lookaside buffer entry systems and methods |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9436476B2 (en) | 2013-03-15 | 2016-09-06 | Soft Machines Inc. | Method and apparatus for sorting elements in hardware structures |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
KR101708591B1 (ko) | 2013-03-15 | 2017-02-20 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9582280B2 (en) | 2013-07-18 | 2017-02-28 | Nvidia Corporation | Branching to alternate code based on runahead determination |
US10387158B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10387156B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10942744B2 (en) | 2014-12-24 | 2021-03-09 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US9785442B2 (en) | 2014-12-24 | 2017-10-10 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10061583B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10061589B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10303525B2 (en) | 2014-12-24 | 2019-05-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
CN108279928B (zh) * | 2018-01-30 | 2021-03-19 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
CN108415730B (zh) * | 2018-01-30 | 2021-06-01 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452426A (en) * | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
US5511172A (en) | 1991-11-15 | 1996-04-23 | Matsushita Electric Co. Ind, Ltd. | Speculative execution processor |
US20010010073A1 (en) * | 1998-09-30 | 2001-07-26 | Intel Corporation. | Non-stalling circular counterflow pipeline processor with reorder buffer |
JP2003259295A (ja) * | 2002-03-04 | 2003-09-12 | Canon Inc | 撮像装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09500989A (ja) * | 1993-05-14 | 1997-01-28 | インテル・コーポレーション | 分岐ターゲット・バッファにおける推論履歴 |
US6185668B1 (en) | 1995-12-21 | 2001-02-06 | Intergraph Corporation | Method and apparatus for speculative execution of instructions |
US6212626B1 (en) | 1996-11-13 | 2001-04-03 | Intel Corporation | Computer processor having a checker |
US5966544A (en) | 1996-11-13 | 1999-10-12 | Intel Corporation | Data speculatable processor having reply architecture |
US6205542B1 (en) | 1997-12-24 | 2001-03-20 | Intel Corporation | Processor pipeline including replay |
US6094717A (en) | 1998-07-31 | 2000-07-25 | Intel Corp. | Computer processor with a replay system having a plurality of checkers |
US6367004B1 (en) * | 1998-12-31 | 2002-04-02 | Intel Corporation | Method and apparatus for predicting a predicate based on historical information and the least significant bits of operands to be compared |
US6564315B1 (en) | 2000-01-03 | 2003-05-13 | Advanced Micro Devices, Inc. | Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction |
US6845442B1 (en) | 2002-04-30 | 2005-01-18 | Advanced Micro Devices, Inc. | System and method of using speculative operand sources in order to speculatively bypass load-store operations |
-
2002
- 2002-08-28 US US10/229,563 patent/US6950925B1/en not_active Expired - Lifetime
-
2003
- 2003-07-16 AU AU2003252081A patent/AU2003252081A1/en not_active Abandoned
- 2003-07-16 JP JP2004532613A patent/JP4170292B2/ja not_active Expired - Lifetime
- 2003-07-16 KR KR1020057003349A patent/KR100981168B1/ko active IP Right Grant
- 2003-07-16 EP EP03791590.7A patent/EP1532521B1/en not_active Expired - Lifetime
- 2003-07-16 CN CNB03820181XA patent/CN1320452C/zh not_active Expired - Lifetime
- 2003-07-16 WO PCT/US2003/022696 patent/WO2004021174A2/en active Application Filing
- 2003-08-08 TW TW092121785A patent/TWI315488B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511172A (en) | 1991-11-15 | 1996-04-23 | Matsushita Electric Co. Ind, Ltd. | Speculative execution processor |
US5452426A (en) * | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
US20010010073A1 (en) * | 1998-09-30 | 2001-07-26 | Intel Corporation. | Non-stalling circular counterflow pipeline processor with reorder buffer |
JP2003259295A (ja) * | 2002-03-04 | 2003-09-12 | Canon Inc | 撮像装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1678986A (zh) | 2005-10-05 |
JP4170292B2 (ja) | 2008-10-22 |
CN1320452C (zh) | 2007-06-06 |
EP1532521B1 (en) | 2014-03-12 |
KR20050037596A (ko) | 2005-04-22 |
AU2003252081A1 (en) | 2004-03-19 |
WO2004021174A2 (en) | 2004-03-11 |
EP1532521A2 (en) | 2005-05-25 |
WO2004021174A3 (en) | 2004-06-17 |
US6950925B1 (en) | 2005-09-27 |
JP2005537567A (ja) | 2005-12-08 |
TW200405201A (en) | 2004-04-01 |
TWI315488B (en) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100981168B1 (ko) | 데이터-추론-실행을 지원하는 마이크로프로세서에서 사용을위한 스케쥴러 | |
JP4105684B2 (ja) | ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法 | |
KR100953207B1 (ko) | 로드/저장 오퍼레이션들을 바이패스하기 위하여 추론적 소스 오퍼랜드를 사용하는 시스템 및 방법 | |
US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
US7133969B2 (en) | System and method for handling exceptional instructions in a trace cache based processor | |
US7415597B2 (en) | Processor with dependence mechanism to predict whether a load is dependent on older store | |
JP2007504575A (ja) | 二重用途レジスタを識別しているアドレス指定パターンに基づいたデータ投機 | |
US7165167B2 (en) | Load store unit with replay mechanism | |
US7363470B2 (en) | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor | |
US7197630B1 (en) | Method and system for changing the executable status of an operation following a branch misprediction without refetching the operation | |
US7266673B2 (en) | Speculation pointers to identify data-speculative operations in microprocessor | |
US7222226B1 (en) | System and method for modifying a load operation to include a register-to-register move operation in order to forward speculative load results to a dependent operation | |
US7937569B1 (en) | System and method for scheduling operations using speculative data operands | |
US7555633B1 (en) | Instruction cache prefetch based on trace cache eviction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130820 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140825 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150730 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160727 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170804 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180730 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190729 Year of fee payment: 10 |