JP5661863B2 - 実行装置内のデータ転送のシステムおよび方法 - Google Patents
実行装置内のデータ転送のシステムおよび方法 Download PDFInfo
- Publication number
- JP5661863B2 JP5661863B2 JP2013125463A JP2013125463A JP5661863B2 JP 5661863 B2 JP5661863 B2 JP 5661863B2 JP 2013125463 A JP2013125463 A JP 2013125463A JP 2013125463 A JP2013125463 A JP 2013125463A JP 5661863 B2 JP5661863 B2 JP 5661863B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- instruction
- execution
- cache
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 55
- 238000012546 transfer Methods 0.000 title description 92
- 230000015654 memory Effects 0.000 claims description 118
- 239000000872 buffer Substances 0.000 claims description 31
- 238000013519 translation Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 22
- 230000001419 dependent effect Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- 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/3824—Operand accessing
-
- 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- 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/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Description
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] 複数の実行装置を有するインターリーブ型マルチスレッド(IMT)プロセッサ内の実行パイプラインにおいて、実行装置でのライトバック段階の間、第1命令の実行によりレジスタファイルに書き込まれる結果に関連づけられた書き込み識別子を、第2命令に関連づけられた読み取り識別子と比較することと、 前記書き込み識別子が前記読み取り識別子と合致したとき、後続の読み取り段階での前記実行装置による使用に備えて、前記結果を前記実行装置のローカルメモリに保存することと を具備する方法。
[C2] 前記方法は、前記書き込み識別子が前記読み取り識別子と合致しなかったとき、前記結果を前記ローカルメモリに保存することなく、前記結果を前記レジスタファイルに書き込むことをさらに具備するC1記載の方法。
[C3] 前記ローカルメモリに保存された前記結果を使用して、前記実行装置で命令パケットを実行することをさらに具備するC1記載の方法。
[C4] 前記書き込み識別子に含まれる1つあるいはそれより多くのゼロ値ビットを特定することと、 前記1つあるいはそれより多くのゼロ値ビットに関連づけられた前記実行装置内のデータパスへのパワーを減らすための標識を生成することと をさらに具備するC1記載の方法。
[C5] 前記書き込み識別子が前記読み取り識別子と合致したとき、データ転送可能アウトプット標識を生成することと、 前記データ転送可能アウトプット標識に応じてレジスタファイルのスロットを選択的に無効にすることと をさらに具備するC1記載の方法。
[C6] 前記データ転送可能アウトプット標識に関係する選択信号を生成することと、 前記レジスタファイルからのアウトプットまたは前記ローカルメモリからの前記結果のうちの1つを、前記第2命令を実行する際の使用に備えて前記実行装置に選択的に提供することと をさらに具備するC5記載の方法。
[C7] 前記第1命令の第1記憶アドレスから計算された前記第2命令の第2記憶アドレスのキャリービットを、前記第2記憶アドレスおよび前記第1記憶アドレスが1つのキャッシュラインに関連しているか否かを決定するために調べることと、 前記第2記憶アドレスに関連づけられた第2キャッシュラインアドレスが、前記第1記憶アドレスに関連づけられた第1キャッシュラインアドレスと合致したとき、タグ配列探索オペレーションを実行することなく多方向キャッシュからデータを取り出すことと をさらに具備するC1記載の方法。
[C8] 第1命令パケットに関連づけられた第1アドレスから、第2命令パケットに関連づけられた第2アドレスを決定することと、 データ装置の加算器のキャリービットを、多方向キャッシュに関連づけられたキャッシュラインの境界を前記第2アドレスが越えたか否かを決定するために調べることと、 前記境界を越えていないとき、先行のタグ配列探索オペレーションにより決定された前記第1アドレスに関連づけられたタグ配列データおよび変換索引バッファ(TLB)探索データを使用して前記第2アドレスからデータを取り出すために前記多方向キャッシュにアクセスすることと を具備する方法。
[C9] キャッシュライン境界を越えた場合、前記方法は、変換索引バッファ(TLB)探索オペレーションを実行することなく前記第2命令に関連づけられたタグ配列情報を決定するためにタグ配列探索オペレーションを実行することをさらに具備するC8記載の方法。
[C10] 前記タグ配列情報を使用して前記多方向キャッシュからデータを読み取ることをさらに具備するC9記載の方法。
[C11] 前記第1アドレスが第1メモリ読み取りアドレスを具備し、前記第2アドレスが第2メモリ読み取りアドレスを具備するC8記載の方法。
[C12] 前記第2アドレスを、前記第1命令パケットの実行により決定された結果に関連づけられた第1書き込みアドレスと比較することと、 前記第1書き込みアドレスが前記第2アドレスと合致したとき、前記第2命令パケットを実行する際の使用に備えて前記結果を実行装置内のローカルメモリに保存することとをさらに具備するC8記載の方法。
[C13] 前記ローカルメモリから前記結果を取り出すことと、 前記取り出された結果を使用して前記第2命令パケットを実行することと をさらに具備するC12記載の方法。
[C14] ページ境界を越えたとき、前記方法は、 前記多方向キャッシュに関連づけられた物理アドレスに前記第2アドレスを変換するために、変換索引バッファ(TLB)探索オペレーションを実行することと、 タグ情報を決定するために、タグ配列探索オペレーションを実行することと、 前記タグ情報および前記物理アドレスに基づきメモリにアクセスすることと をさらに具備するC8記載の方法。
[C15] 相対アドレス指定を使用して前記第1アドレスから前記第2アドレスを決定するC8記載の方法。
[C16] 1つあるいはそれより多くのデータ値を保存するローカルメモリと、 読み取りオペレーションに関連づけられた読み取りアドレスが先行のライトバックオペレーションに関連づけられたライトバックアドレスと合致するか否かを決定するように適合された論理回路であって、前記読み取りアドレスが前記ライトバックアドレスと合致したとき、前記ローカルメモリに前記1つあるいはそれより多くのデータ値を保存するように適合された論理回路と を備える実行装置 を具備するマルチスレッドプロセッサ。
[C17] 前記論理回路が、前記実行装置の外にあるメモリの記憶場所からデータを読み取るように適合されており、前記読み取りアドレスが前記ライトバックアドレスと合致しなかったとき、前記記憶場所が前記読み取りアドレスに対応するC16記載のマルチスレッドプロセッサ。
[C18] 前記実行装置がライトバック段階、デコード段階およびレジスタファイル読み取り段階を含む複数の実行段階を具備するC16記載のマルチスレッドプロセッサ。
[C19] 前記論理回路が1つあるいはそれより多くの比較器を備え、前記1つあるいはそれより多くの比較器が、読み取りアドレス情報を書き込みアドレス情報と比較し、結果を作成してデータ転送を選択的に可能にするように適合されているC18記載のマルチスレッドプロセッサ。
[C20] 前記ローカルメモリが前記実行装置内に1つあるいはそれより多くのデータラッチを具備するC16記載のマルチスレッドプロセッサ。
[C21] データ転送を選択的に可能にするために、データ転送論理回路によって前記1つあるいはそれより多くのデータラッチが選択的にアクティブ化されるC20記載のマルチスレッドプロセッサ。
[C22] 命令に関連づけられた読み取りアドレスの少なくとも一部が先行命令に関連づけられた読み取りアドレスの一部と合致するとき、タグ配列探索オペレーションを実行することなく、多方向キャッシュメモリ内の記憶アドレスを決定するように適合された第2論理回路をさらに具備するC16記載のマルチスレッドプロセッサ。
[C23] 複数の実行装置を有するインターリーブ型マルチスレッド(IMT)プロセッサ内の実行パイプラインにおいて、第1命令パケットの実行によりレジスタファイルに書き込まれる結果に関連づけられた書き込み識別子を、第2命令パケットに関連づけられた読み取り識別子と比較するための手段と、 前記書き込み識別子が前記読み取り識別子と合致したとき、前記第2命令パケットを実行する際の使用に備えて、前記結果を実行装置に選択的にローカル保存するための手段とを具備するプロセッサ。
[C24] 前記第1命令パケットに関連づけられた第1アドレスから前記第2命令パケットに関連づけられた第2アドレスを決定するための手段と、 多方向キャッシュに関連づけられたキャッシュラインのキャッシュライン境界を前記第2アドレスが越えたか否かの決定をすることを決定するために、データ装置の加算器のキャリービットを調べるための手段と、 変換索引バッファ(TLB)またはタグ配列にアクセスすることなく前記第1アドレスに関連づけられたローカル保存済み物理アドレスデータおよび方向データを使用して、仮想アドレスを前記多方向キャッシュに関連づけられた物理アドレスに変換するための手段と をさらに具備するC23記載のプロセッサ。
[C25] 第1命令パケットの実行によりレジスタファイルに書き込まれる結果に関連づけられた書き込み識別子を、第2命令パケットに関連づけられた読み取り識別子と比較するための手段が、 前記書き込み識別子および前記読み取り識別子を受信し、前記書き込み識別子と前記読み取り識別子とが合致するか否かを示す第1アウトプットを提供するように適合された第1比較器と、 前記書き込み識別子および第2読み取り識別子を受信し、前記書き込み識別子と前記第2読み取り識別子とが合致するか否かを示す第2アウトプットを提供するように適合された第2比較器と、 前記第1アウトプットおよび前記第2アウトプットに基づき前記第2命令パケットを実行する際の使用に備えて、ローカル保存済みデータまたはレジスタデータのうちの1つを前記実行装置に選択的に提供するように適合された論理回路と を具備するC23記載のプロセッサ。
Claims (8)
- 命令の第1パケットに関連づけられた第1アドレスから、命令の第2のパケットに関連づけられた第2アドレスを決定することと、
多方向キャッシュに関連づけられたキャッシュラインの境界を前記第2アドレスが越えたか否かを決定するために、データ装置の加算器のキャリービットを調べることと、
前記第2のアドレスが前記キャッシュラインの前記境界を越えたとの決定に応答して、前記第2のアドレスが前記多方向キャッシュに関連付けられたページの境界を超えたか否かを決定するために、前記加算器の第2のキャリービットを調べ、前記ページの境界は超えられていないとの決定に応答して、変換索引バッファ(TLB)探索オペレーションを実行することなく前記第2アドレスと関連づけられたタグ配列情報を決定するために、タグ配列探索オペレーションを実行することと、
前記キャッシュラインの前記境界が前記第2のアドレスによって越えられていないとの決定に応答して、前記第1アドレスに関連づけられたタグ配列データおよび変換索引バッファ(TLB)探索データを使用して前記第2アドレスからデータを取り出すために前記多方向キャッシュにアクセスすること、前記タグ配列データは先行のタグ配列探索オペレーションの結果である、と、
を具備する方法。 - 前記タグ配列情報を使用して前記多方向キャッシュからデータを読み取ることをさらに具備する、請求項1に記載の方法。
- 前記第1のアドレスが第1のメモリ読み取りアドレスを具備し、前記第2のアドレスが第2のメモリ読み取りアドレスを具備する、請求項1に記載の方法。
- 前記第2のアドレスを、命令の前記第1のパケットの実行により決定された結果に関連づけられた第1の書き込みアドレスと比較することと、
前記第1の書き込みアドレスが前記第2のアドレスと合致するとき、命令の前記第2のパケットを実行する際の使用のために、前記結果を実行装置内のローカルメモリに保存することと、
をさらに具備する請求項1に記載の方法。 - 前記ローカルメモリから前記結果を取り出すことと、
前記取り出された結果を使用して、命令の前記第2のパケットを実行することと、
をさらに具備する、請求項4に記載の方法。 - ページ境界が前記第2のアドレスによって越えられたとき、
前記方法は、
前記第2アドレスを、前記多方向キャッシュに関連づけられた物理アドレスに変換するために、前記変換索引バッファ(TLB)探索オペレーションを実行することと、
タグ情報を決定するために、前記タグ配列探索オペレーションを実行することと、
前記タグ情報および前記物理アドレスに基づきメモリにアクセスすることと、
をさらに具備する請求項1に記載の方法。 - 前記第2のアドレスは、相対アドレス指定を使用して前記第1のアドレスから決定される請求項1に記載の方法。
- プロセッサによって実行されたとき、
命令の第1パケットに関連づけられた第1アドレスから、命令の第2のパケットに関連づけられた第2アドレスを決定することと、
多方向キャッシュに関連づけられたキャッシュラインの境界を前記第2アドレスが越えたか否かを決定するために、データ装置の加算器のキャリービットを調べることと、
前記第2のアドレスが前記キャッシュラインの前記境界を越えたとの決定に応答して、前記第2のアドレスが前記多方向キャッシュに関連付けられたページの境界を超えたか否かを決定するために、前記加算器の第2のキャリービットを調べ、前記ページの境界は超えられていないとの決定に応答して、変換索引バッファ(TLB)探索オペレーションを実行することなく前記第2アドレスと関連づけられたタグ配列情報を決定するために、タグ配列探索オペレーションを実行することと、
前記キャッシュラインの前記境界が前記第2のアドレスによって越えられていないとの決定に応答して、先行のタグ配列探索オペレーションから決定された前記第1アドレスに関連づけられたタグ配列データおよび変換索引バッファ(TLB)探索データを使用して、前記第2アドレスからデータを取り出すために前記多方向キャッシュにアクセスすることと、
を前記プロセッサにさせるプログラムコードを有するコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/037,300 US8145874B2 (en) | 2008-02-26 | 2008-02-26 | System and method of data forwarding within an execution unit |
US12/037,300 | 2008-02-26 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548779A Division JP2011513843A (ja) | 2008-02-26 | 2009-02-03 | 実行装置内のデータ転送のシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013239183A JP2013239183A (ja) | 2013-11-28 |
JP5661863B2 true JP5661863B2 (ja) | 2015-01-28 |
Family
ID=40382851
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548779A Pending JP2011513843A (ja) | 2008-02-26 | 2009-02-03 | 実行装置内のデータ転送のシステムおよび方法 |
JP2013125463A Active JP5661863B2 (ja) | 2008-02-26 | 2013-06-14 | 実行装置内のデータ転送のシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548779A Pending JP2011513843A (ja) | 2008-02-26 | 2009-02-03 | 実行装置内のデータ転送のシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8145874B2 (ja) |
EP (1) | EP2263149A1 (ja) |
JP (2) | JP2011513843A (ja) |
KR (2) | KR101221512B1 (ja) |
CN (2) | CN103365627B (ja) |
TW (1) | TW200943176A (ja) |
WO (1) | WO2009108462A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009011644A1 (de) * | 2009-03-04 | 2010-09-16 | Siemens Aktiengesellschaft | Verfahren und Programmprodukt zum Ermöglichen eines Auffindens von Datensätzen |
US8285968B2 (en) | 2009-09-29 | 2012-10-09 | International Business Machines Corporation | Performing memory accesses while omitting unnecessary address translations |
JP5600517B2 (ja) * | 2010-08-18 | 2014-10-01 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US8572628B2 (en) | 2010-12-02 | 2013-10-29 | International Business Machines Corporation | Inter-thread data communications in a computer processor |
US8561070B2 (en) | 2010-12-02 | 2013-10-15 | International Business Machines Corporation | Creating a thread of execution in a computer processor without operating system intervention |
US20130179642A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Non-Allocating Memory Access with Physical Address |
US9348775B2 (en) | 2012-03-16 | 2016-05-24 | Analog Devices, Inc. | Out-of-order execution of bus transactions |
US9804969B2 (en) * | 2012-12-20 | 2017-10-31 | Qualcomm Incorporated | Speculative addressing using a virtual address-to-physical address page crossing buffer |
US9317289B2 (en) * | 2012-12-28 | 2016-04-19 | Telefonaktiebolaget L M Ericsson (Publ) | Acknowledgement forwarding |
US9367468B2 (en) * | 2013-01-15 | 2016-06-14 | Qualcomm Incorporated | Data cache way prediction |
KR101711388B1 (ko) | 2013-01-28 | 2017-03-02 | 삼성전자주식회사 | 파이프라인에서 블럭을 스케줄하는 컴파일 방법 및 장치 |
US9519944B2 (en) * | 2014-09-02 | 2016-12-13 | Apple Inc. | Pipeline dependency resolution |
CN104317555B (zh) * | 2014-10-15 | 2017-03-15 | 中国航天科技集团公司第九研究院第七七一研究所 | Simd处理器中写合并和写撤销的处理装置和方法 |
US20160170770A1 (en) * | 2014-12-12 | 2016-06-16 | Qualcomm Incorporated | Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media |
WO2016100142A2 (en) * | 2014-12-15 | 2016-06-23 | Hyperion Core Inc. | Advanced processor architecture |
US9354885B1 (en) | 2016-01-08 | 2016-05-31 | International Business Machines Corporation | Selective suppression of instruction cache-related directory access |
US9898296B2 (en) | 2016-01-08 | 2018-02-20 | International Business Machines Corporation | Selective suppression of instruction translation lookaside buffer (ITLB) access |
US10372452B2 (en) * | 2017-03-14 | 2019-08-06 | Samsung Electronics Co., Ltd. | Memory load to load fusing |
CN108628639B (zh) | 2017-03-21 | 2021-02-12 | 华为技术有限公司 | 处理器和指令调度方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5730177A (en) * | 1980-07-30 | 1982-02-18 | Fujitsu Ltd | Address converter |
JPS6386033A (ja) * | 1986-09-30 | 1988-04-16 | Fujitsu Ltd | パイプライン処理方式 |
US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
TW233354B (en) * | 1994-03-04 | 1994-11-01 | Motorola Inc | Data processor with memory cache and method of operation |
US5751983A (en) | 1995-10-03 | 1998-05-12 | Abramson; Jeffrey M. | Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations |
JP3745450B2 (ja) * | 1996-05-13 | 2006-02-15 | 株式会社ルネサステクノロジ | 並列処理プロセッサ |
TW357318B (en) * | 1997-03-18 | 1999-05-01 | Ind Tech Res Inst | Branching forecast and reading device for unspecified command length extra-purity pipeline processor |
US6301653B1 (en) | 1998-10-14 | 2001-10-09 | Conexant Systems, Inc. | Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks |
JP3798563B2 (ja) * | 1999-01-06 | 2006-07-19 | 株式会社東芝 | 命令キャッシュメモリ |
US6343359B1 (en) | 1999-05-18 | 2002-01-29 | Ip-First, L.L.C. | Result forwarding cache |
WO2001042927A1 (fr) * | 1999-12-09 | 2001-06-14 | Fujitsu Limited | Dispositif d'acces memoire et methode utilisant une table d'historique des traductions d'adresses |
US6615340B1 (en) | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
KR100351504B1 (ko) * | 2000-06-05 | 2002-09-05 | 삼성전자 주식회사 | 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템 |
US6678815B1 (en) * | 2000-06-27 | 2004-01-13 | Intel Corporation | Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end |
EP1199629A1 (en) * | 2000-10-17 | 2002-04-24 | STMicroelectronics S.r.l. | Processor architecture with variable-stage pipeline |
US6571318B1 (en) * | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
EP1361518B1 (en) * | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Reducing TAG-RAM accesses and accelerating cache operation during cache miss |
US20040034759A1 (en) | 2002-08-16 | 2004-02-19 | Lexra, Inc. | Multi-threaded pipeline with context issue rules |
US7185182B2 (en) * | 2003-02-04 | 2007-02-27 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for generating early instruction results |
TWI259659B (en) * | 2005-05-13 | 2006-08-01 | Ind Tech Res Inst | Pipelined datapath with dynamically reconfigurable pipeline stages |
US20060277425A1 (en) * | 2005-06-07 | 2006-12-07 | Renno Erik K | System and method for power saving in pipelined microprocessors |
US20070005933A1 (en) * | 2005-06-29 | 2007-01-04 | Kopec Brian J | Preventing multiple translation lookaside buffer accesses for a same page in memory |
US7725687B2 (en) | 2006-06-27 | 2010-05-25 | Texas Instruments Incorporated | Register file bypass with optional results storage and separate predication register file in a VLIW processor |
-
2008
- 2008-02-26 US US12/037,300 patent/US8145874B2/en active Active
-
2009
- 2009-02-03 WO PCT/US2009/032919 patent/WO2009108462A1/en active Application Filing
- 2009-02-03 CN CN201310217180.4A patent/CN103365627B/zh active Active
- 2009-02-03 EP EP09714450A patent/EP2263149A1/en not_active Withdrawn
- 2009-02-03 KR KR1020107021442A patent/KR101221512B1/ko active IP Right Grant
- 2009-02-03 JP JP2010548779A patent/JP2011513843A/ja active Pending
- 2009-02-03 CN CN2009801064667A patent/CN102089742A/zh active Pending
- 2009-02-03 KR KR1020127019685A patent/KR101183651B1/ko active IP Right Grant
- 2009-02-17 TW TW098104984A patent/TW200943176A/zh unknown
-
2013
- 2013-06-14 JP JP2013125463A patent/JP5661863B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN102089742A (zh) | 2011-06-08 |
US8145874B2 (en) | 2012-03-27 |
KR101221512B1 (ko) | 2013-01-15 |
JP2011513843A (ja) | 2011-04-28 |
KR20100126442A (ko) | 2010-12-01 |
CN103365627B (zh) | 2016-08-10 |
EP2263149A1 (en) | 2010-12-22 |
WO2009108462A1 (en) | 2009-09-03 |
JP2013239183A (ja) | 2013-11-28 |
TW200943176A (en) | 2009-10-16 |
US20090216993A1 (en) | 2009-08-27 |
CN103365627A (zh) | 2013-10-23 |
KR101183651B1 (ko) | 2012-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5661863B2 (ja) | 実行装置内のデータ転送のシステムおよび方法 | |
US7133968B2 (en) | Method and apparatus for resolving additional load misses in a single pipeline processor under stalls of instructions not accessing memory-mapped I/O regions | |
JP5335887B2 (ja) | アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 | |
CA1325283C (en) | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system | |
US6308261B1 (en) | Computer system having an instruction for probing memory latency | |
TWI423123B (zh) | 用於推測性指令之無效的通用分支系統、其方法、其識別器與其電腦可讀取儲存媒體 | |
US9003376B2 (en) | Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems | |
CN109508206B (zh) | 向较宽的寄存器进行依赖于模式的部分宽度加载的处理器、方法和系统 | |
JP2015534188A (ja) | ユーザレベルのスレッディングのために即時のコンテキスト切り替えを可能とする新規の命令および高度に効率的なマイクロアーキテクチャ | |
US10552153B2 (en) | Efficient range-based memory writeback to improve host to device communication for optimal power and performance | |
JP2015043216A (ja) | 実行された命令の結果を選択的にコミットするためのシステムおよび方法 | |
WO2012068494A2 (en) | Context switch method and apparatus | |
US9092346B2 (en) | Speculative cache modification | |
US8539209B2 (en) | Microprocessor that performs a two-pass breakpoint check for a cache line-crossing load/store operation | |
JP2003526155A (ja) | 配列境界をチェックする能力を有する処理アーキテクチャ | |
JP2008165589A (ja) | 情報処理装置 | |
CN110554887A (zh) | 间接存储器提取器 | |
US10261909B2 (en) | Speculative cache modification | |
US9710389B2 (en) | Method and apparatus for memory aliasing detection in an out-of-order instruction execution platform | |
US11914998B2 (en) | Processor circuit and data processing method for load instruction execution | |
JP2015201026A (ja) | 演算処理装置および演算処理装置の制御方法 | |
CN115686624A (zh) | 处理器电路以及数据处理方法 | |
CN113568663A (zh) | 代码预取指令 | |
JPH1011290A (ja) | マイクロプロセッサ | |
CN115934433A (zh) | 用于处理器的自主功能测试的系统、装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140722 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5661863 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |