JPH09274565A5 - - Google Patents
Info
- Publication number
- JPH09274565A5 JPH09274565A5 JP1996339125A JP33912596A JPH09274565A5 JP H09274565 A5 JPH09274565 A5 JP H09274565A5 JP 1996339125 A JP1996339125 A JP 1996339125A JP 33912596 A JP33912596 A JP 33912596A JP H09274565 A5 JPH09274565 A5 JP H09274565A5
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- microprocessor
- branch
- predicted
- dispatch
- 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.)
- Granted
Links
Claims (15)
- パイプライン化された複数の機能装置(32−46)と、少なくとも1つの命令バッファ(26)と、命令ディスパッチ装置(28)とを有するマイクロプロセッサであって、前記パイプライン化された複数の機能装置(32−46)中の各命令ごとの追跡データを格納する未処理命令FIFO(66)を備え、その追跡データが有効ビットを含み、前記命令ディスパッチ装置が前記命令バッファと前記パイプライン化された複数の機能装置との間に結合され、前記少なくとも1つの命令バッファが分岐命令と予想ターゲット命令を含む複数の命令を備え、かつ前記命令ディスパッチ装置が分岐命令と予想ターゲット命令の両方を単一のサイクル中に前記機構装置にディスパッチするように構成されたことを特徴とするマイクロプロセッサ。
- さらに、予想された分岐方向と実際の分岐方向を比較するように構成され、分岐方向が合致し、前記分岐が選択されたときに、予想されたターゲット・アドレスと実際のターゲット・アドレスを比較する分岐予想論理機構(18)と、
前記予想された分岐方向またはターゲット・アドレスが誤って予想されたものである場合に、前記未処理命令FIFO中の前記ターゲット命令およびその後に続く命令に対応する前記追跡データに関する前記有効ビットを無効状態にセットするように構成されたFIFO制御論理機構(71)と
を備えることを特徴とする請求項1に記載のマイクロプロセッサ。 - さらに、前記パイプライン式機能装置の終わりに各命令ごとに前記妥当性ビットを検査し、無効と判定された命令に関する演算の結果を記憶するのを妨げるように構成されたパイプラインの終わり有効論理機構(32)を備えることを特徴とする請求項2に記載のマイクロプロセッサ。
- さらに、前記機能装置によって待ち時間の長い演算が行われる前に前記パイプライン式装置の中間段で各命令ごとに前記妥当性ビットを検査し、無効と判定された命令に関する待ち時間の長い演算を妨げるように構成された中間有効論理機構(70)を備えることを特徴とする請求項2に記載のマイクロプロセッサ。
- 前記待ち時間の長い演算がオフチップ・メモリ・アクセスであることを特徴とする請求項4に記載のマイクロプロセッサ。
- 前記命令ディスパッチ装置がさらに、所与のサイクル中に前記機能装置に単一の分岐命令しかディスパッチできないように構成されることを特徴とする請求項1に記載のマイクロプロセッサ。
- 前記命令ディスパッチ装置がさらに、所与のサイクル中に前記機能装置に所定数の分岐命令しかディスパッチできないように構成されることを特徴とする請求項1に記載のマイクロプロセッサ。
- 前記所定の数が1であることを特徴とする請求項7に記載のマイクロプロセッサ。
- パイプライン化された複数の機能装置(32−46)と、少なくとも1つの命令バッファ(26)と、命令ディスパッチ装置(28)とを有するマイクロプロセッサを動作させる方法であって、分岐命令および予想ターゲット命令を含む複数の命令を前記命令バッファに与える要素を提供するステップと、前記ディスパッチ装置を用いて分岐命令と予想ターゲット命令の両方を単一のサイクル中に前記機能装置にディスパッチする要素を前記命令バッファから供給するステップと、前記パイプライン化された複数の機能装置中の各命令ごとに、有効ビットを含む追跡データを未処理命令FIFO中に記憶させる要素を提供するステップとを含むことを特徴とする方法。
- 前記予想された分岐方向が正しく予想されているかどうかを判定する要素を提供するステップと、前記予想されたターゲット命令が誤って予想されたものである場合に、前記未処理命令FIFO中の前記ターゲット命令およびその後に続く命令に対応する前記追跡データに関する前記有効ビットを無効状態にセットする要素を提供するステップとを含むことを特徴とする請求項9に記載の方法。
- さらに、パイプラインの終わり有効論理機構において、前記パイプ ライン式機能装置の終わりに各命令ごとに前記妥当性ビットを検査する要素を提供するステップと、有効と判定された命令に関する演算の結果を記憶するのを妨げる要素を提供するステップとを含むことを特徴とする請求項10に記載の方法。
- さらに、中間有効論理機構において、前記機能装置によって待ち時間の長い演算が行われる前に前記パイプライン式装置の中間段で各命令ごとに前記妥当性ビットを検査する要素を提供するステップと、無効と判定された命令に関する待ち時間の長い演算を妨げるステップとを含むことを特徴とする請求項10に記載の方法。
- 所与のサイクル中に前記命令ディスパッチ装置が前記機能装置に所定数の分岐命令しかディスパッチできないようにするステップを含むことを特徴とする請求項9に記載の方法。
- 前記所定の数が1であることを特徴とする請求項13に記載の方法。
- メモリと、前記メモリに結合されたマイクロプロセッサとを備え、前記マイクロプロセッサが前記請求項1ないし8に記載のいずれかの1つであることを特徴とするコンピュータ・システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/569,725 US5809324A (en) | 1995-12-07 | 1995-12-07 | Multiple instruction dispatch system for pipelined microprocessor without branch breaks |
| US08/569,725 | 1995-12-07 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH09274565A JPH09274565A (ja) | 1997-10-21 |
| JPH09274565A5 true JPH09274565A5 (ja) | 2004-10-21 |
| JP3779012B2 JP3779012B2 (ja) | 2006-05-24 |
Family
ID=24276603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33912596A Expired - Lifetime JP3779012B2 (ja) | 1995-12-07 | 1996-12-05 | 分岐による中断のないパイプライン化されたマイクロプロセッサ及びその動作方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5809324A (ja) |
| EP (1) | EP0778519B1 (ja) |
| JP (1) | JP3779012B2 (ja) |
| KR (1) | KR100431975B1 (ja) |
| DE (1) | DE69626263T2 (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6289437B1 (en) * | 1997-08-27 | 2001-09-11 | International Business Machines Corporation | Data processing system and method for implementing an efficient out-of-order issue mechanism |
| US6289442B1 (en) * | 1998-10-05 | 2001-09-11 | Advanced Micro Devices, Inc. | Circuit and method for tagging and invalidating speculatively executed instructions |
| US6910123B1 (en) * | 2000-01-13 | 2005-06-21 | Texas Instruments Incorporated | Processor with conditional instruction execution based upon state of corresponding annul bit of annul code |
| US6976150B1 (en) * | 2000-04-06 | 2005-12-13 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Resource flow computing device |
| US7072998B2 (en) * | 2003-05-13 | 2006-07-04 | Via Technologies, Inc. | Method and system for optimized FIFO full conduction control |
| US7636837B2 (en) | 2003-05-28 | 2009-12-22 | Fujitsu Limited | Apparatus and method for controlling instructions at time of failure of branch prediction |
| US7949861B2 (en) * | 2005-06-10 | 2011-05-24 | Qualcomm Incorporated | Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline |
| US8127115B2 (en) * | 2009-04-03 | 2012-02-28 | International Business Machines Corporation | Group formation with multiple taken branches per group |
| KR20130066402A (ko) * | 2011-12-12 | 2013-06-20 | 삼성전자주식회사 | 트레이스 데이터 저장 장치 및 방법 |
| US9122424B1 (en) * | 2013-07-18 | 2015-09-01 | Western Digital Technologies, Inc. | FIFO buffer clean-up |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
| JP2845646B2 (ja) * | 1990-09-05 | 1999-01-13 | 株式会社東芝 | 並列演算処理装置 |
| US5493669A (en) * | 1993-03-03 | 1996-02-20 | Motorola, Inc. | Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits |
| US5644779A (en) * | 1994-04-15 | 1997-07-01 | International Business Machines Corporation | Processing system and method of operation for concurrent processing of branch instructions with cancelling of processing of a branch instruction |
| US5598546A (en) * | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
| US5542109A (en) * | 1994-08-31 | 1996-07-30 | Exponential Technology, Inc. | Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities |
-
1995
- 1995-12-07 US US08/569,725 patent/US5809324A/en not_active Expired - Lifetime
-
1996
- 1996-11-26 DE DE69626263T patent/DE69626263T2/de not_active Expired - Fee Related
- 1996-11-26 EP EP96308514A patent/EP0778519B1/en not_active Expired - Lifetime
- 1996-12-04 KR KR1019960061584A patent/KR100431975B1/ko not_active Expired - Lifetime
- 1996-12-05 JP JP33912596A patent/JP3779012B2/ja not_active Expired - Lifetime
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4045062B2 (ja) | ロード命令を実行する方法、プロセッサ、およびシステム | |
| JP3509067B2 (ja) | ストア命令転送方法およびプロセッサ | |
| US6289445B2 (en) | Circuit and method for initiating exception routines using implicit exception checking | |
| KR100335785B1 (ko) | 데이타처리명령의실행 | |
| KR930008050B1 (ko) | 원칩 마이크로프로세서 및 그 버스시스템 | |
| US6959367B2 (en) | System having read-modify-write unit | |
| US6266768B1 (en) | System and method for permitting out-of-order execution of load instructions | |
| JPH09274565A5 (ja) | ||
| JP3207591B2 (ja) | キャッシュメモリを有する計算機の改良 | |
| EP0730228B1 (en) | ECC protected memory organization with pipelined read-modify-write accesses | |
| US4779193A (en) | Data processing apparatus for writing calculation result into buffer memory after the writing of the beginning word of the read data | |
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| EP0471888B1 (en) | Microprocessor for enhancing initiation of instruction execution after the execution of conditional branch instruction | |
| JPS6049340B2 (ja) | 分岐命令先取り方式 | |
| CN112445644A (zh) | 用于检验片上系统的存储单元中的数据的方法和检验单元 | |
| JPH0746323B2 (ja) | 部分書込みアクセスを圧縮する主記憶装置 | |
| US5182754A (en) | Microprocessor having improved functional redundancy monitor mode arrangement | |
| MXPA01008933A (es) | Metodo y aparato para la transferencia de bloques de datos. | |
| JP3476314B2 (ja) | マイクロプロセッサ | |
| US20040103267A1 (en) | Data processor having cache memory | |
| JPS603049A (ja) | バスインタ−フエ−ス装置 | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JPH06119238A (ja) | 主記憶制御方法および装置 | |
| EP0557077A1 (en) | Method for switching between memory management modes | |
| JP2001154845A (ja) | キャッシュミスした後のメモリバスアクセス制御方式 |