JP2006331415A - データプロセッサ、データ処理方法 - Google Patents

データプロセッサ、データ処理方法 Download PDF

Info

Publication number
JP2006331415A
JP2006331415A JP2006130827A JP2006130827A JP2006331415A JP 2006331415 A JP2006331415 A JP 2006331415A JP 2006130827 A JP2006130827 A JP 2006130827A JP 2006130827 A JP2006130827 A JP 2006130827A JP 2006331415 A JP2006331415 A JP 2006331415A
Authority
JP
Japan
Prior art keywords
instruction
instructions
group
data processor
stage
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
Application number
JP2006130827A
Other languages
English (en)
Other versions
JP5100030B2 (ja
Inventor
Rabin Ezra
エズラ ラビン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Europe Ltd
Original Assignee
Sony Computer Entertainment Europe Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Europe Ltd filed Critical Sony Computer Entertainment Europe Ltd
Publication of JP2006331415A publication Critical patent/JP2006331415A/ja
Application granted granted Critical
Publication of JP5100030B2 publication Critical patent/JP5100030B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】データ処理の効率化を図る。
【解決手段】データプロセッサは、ソフトウェアを実行することによって、命令準備処理ステージと命令実行ステージを有する命令処理プロセッサをエミュレートするように構成されている。そのソフトウェアは、第一に、2以上の命令からなるグループに関して命令準備処理ステージをエミュレートすることにより、準備処理された命令のグループを生成し、次いで、準備処理された命令のグループに関して命令実行ステージをエミュレートすることにより、準備処理された命令のグループの各命令について命令実行ステージのエミュレーションが命令の順番に順次完了するように動作できる。
【選択図】図3

Description

本発明は、データ処理に関する。
本発明は、パイプライン型データ処理および非パイプライン型データ処理の双方に適用可能である。パイプライン型システムを技術的背景として説明するが、それは対象となる問題を示すためにすぎない。
いわゆる「パイプライン型」データ処理では、データ処理命令を処理するために必要なオペレーションは、連続する2以上の命令処理サイクル(例えば、クロックサイクル)にわたって実行される。
例えば、パイプライン型データプロセッサにおいては、「プログラムカウンタ」の制御のもとで、第一サイクルでメモリから命令を「フェッチ」すなわち取り出し、次のサイクルで「デコード」して命令の意味とオペランドを決定し、第三サイクルでその命令を「実行」する。これを繰り返すと、1つの命令がパイプラインのあるステージにあるとき別の命令は異なるステージにあることになる。これは、パイプライン全体を可能な限り十分に利用されている状態に維持することを意図したものである。
そのようなパイプラインを、他のデータプロセッサ上で動作するソフトウェアを用いてエミュレートしようとすると、問題が生じる。
このようなエミュレーションの状況では、エミュレートすべきデータプロセッサの各ハードウェアオペレーションは、エミュレートプロセッサ上においてソフトウェアサブルーチンにより実行される。従って、クロックサイクル期間に相当するものは、それらのサブルーチンのうち最も遅いサブルーチンの動作速度に依存し、後者は、エミュレートされたタスクを実行するためにエミュレートプロセッサが必要とするオペレーションの数に依存する。
エミュレーションクロック速度は、この最も遅いエミュレーションタスクを考慮して設定されなければならない。リアルタイムオペレーションをエミュレートするシステムあるいは何らかの外部処理装置と相互作用するシステムでは、エミュレーションクロック速度を一定に保たなければならない。言い換えれば、実行されている現行の命令に合わせてエミュレーションクロックの速度を上げたり、下げたりすることはできない。
こうしたことすべては、パイプライン型プロセッサのエミュレーションに更に影響を及ぼす可能性があるので、異なる命令に関するフェッチオペレーション、デコードオペレーション、実行オペレーションが同時に生じるようにパイプラインをエミュレートする能力は制約されることになる。むしろ、各命令がフェッチされ、デコードされ、実行された後に、次の命令がフェッチ等されるようにしたシステムが一般に用いられている。これは、4つの命令I1、I2、I3、I4を実行するのに、次のように12のエミュレーションクロックサイクルを要することを意味する。
第一のエミュレーションクロックサイクル I1のフェッチ
第二のエミュレーションクロックサイクル I1のデコード
第三のエミュレーションクロックサイクル I1の実行
第四のエミュレーションクロックサイクル I2のフェッチ
第五のエミュレーションクロックサイクル I2のデコード
第六のエミュレーションクロックサイクル I2の実行
・・・
第十二のエミュレーションクロックサイクル 14の実行
本発明は、命令準備処理ステージと命令実行ステージとを有する命令処理プロセッサをエミュレートするソフトウェアを実行するように構成されたデータプロセッサであって、
前記ソフトウェアは、
最初に、2以上の命令からなるグループに関して前記命令準備処理ステージをエミュレートすることにより、準備処理された命令のグループを生成し、
次いで、前記準備処理された命令のグループに関して前記命令実行ステージをエミュレートすることにより、前記準備処理された命令のグループの各命令に関する命令実行ステージのエミュレーションが命令の順番に順次完了する、
ように動作できる、ものである、データプロセッサを提供する。
本発明は、(例えば)単一パイプラインでもスーパースケーラでもない、ハイブリッドアプローチを用いることにより、命令処理プロセッサのエミュレーション速度の向上を達成する。2以上の命令のグループを準備処理した後に(例えば、それらの命令をフェッチし、デコードした後に)、グループ内の命令を(エミュレーション)実行する。次いで、エミュレーションでは、命令の実行が命令の順番で1つ1つ完了される。
その結果、エミュレーションシステムにおける向上が達成される。なぜなら、1つの命令のフェッチとデコードをエミュレートするのに必要なソフトウェア処理は、1つの命令の実行をエミュレートするのに要求される処理よりも、しばしばかなり手間が少ないからである。
従って、4つの命令I1、I2、I3、I4からなるグループの例では、エミュレーションプロセスは次のように進むことができる。
第一のエミュレーションクロックサイクル I1−I4のフェッチ
第二のエミュレーションクロックサイクル I1−I4のデコード
第三のエミュレーションクロックサイクル I1の実行
第四のエミュレーションクロックサイクル I2の実行
第五のエミュレーションクロックサイクル I3の実行
第六のエミュレーションクロックサイクル I4の実行
従って、この例の場合、上に説明された例では12のエミュレーションクロックサイクルを要したが、ここでは6エミュレーションクロックサイクルを要するだけである。
本発明の実施形態では、パイプラインは、命令準備処理ステージが命令フェッチステージと命令実行ステージとを有するという意味で、少なくとも3ステージのパイプラインである。
本発明の実施形態においては、命令準備処理に処する前に命令を1以上のキャッシュラインを有するキャッシュに保持するとともに、2以上のキャッシュラインからの命令が1つのグループに含まれないように1グループの命令の数が選択されているので、オペレーションの効率性を向上することができる。
本発明は、また、ソフトウェアを実行することにより、命令準備処理ステージと命令実行ステージとを少なくとも有する命令処理プロセッサをエミュレートするデータ処理方法であって、
最初に、2以上の命令からなるグループに関して前記命令準備処理ステージをエミュレートすることにより、準備処理された命令のグループを生成するステップと、
次いで、前記準備処理された命令のグループに対して前記命令実行ステージをエミュレートすることにより、前記準備処理された命令のグループの各命令に関する命令実行ステージのエミュレーションが命令の順番に順次完了するステップと、を有する
本発明の更に別の特徴としては、上記方法を実行するプログラムコードを含むコンピュータソフトウェアと、そのようなプログラムコードを提供する媒体(例えば、伝送媒体あるいは記憶媒体)が含まれる。
《実施例》
図1は、エミュレートされるデータ処理システムを概略的に示したものである。本システムはプロセッサ10と主メモリ20を有し、プロセッサ10は主メモリ20からデータおよび命令を読み出し、主メモリ20へデータおよび修正された命令を書き込む。
以下の説明は、エミュレートされるシステムの主メモリ20のイメージを保持するには小さすぎるローカルメモリを有するプロセッサを用いて図1のシステムのオペレーションをエミュレートする技術に関するものである。この制約があるため、キャッシュを用いた解決策を採用する必要がある。
図2は、エミュレーションのための構成を概略的に示したものである。エミュレーション技術は一般的によく知られており、説明を明瞭にするために、本実施形態に直接関係のない特徴については省略する。エミュレーションにはエミュレーションプロセッサがそのエミュレーションプロセッサにネイティブな言語でかかれたエミュレーションソフトウェアを実行することが関係し、従ってエミュレートされるシステムにおける命令の処理をエミュレートするために、そのようなネイティブな命令の一群が実行される。以下の説明において、「命令」という語は、エミュレートされるシステムにおける命令を指しており、エミュレーションソフトウェアのネイティブな命令を指しているものではない。
図2を参照すると、エミュレーションソフトウェア120を実行するプロセッサ(この場合、パラレルプロセッサあるいは「ベクトル」プロセッサ)110が、命令キャッシュ(I)140およびデータキャッシュ(D)150を介して主メモリ130にアクセスする。IキャッシュおよびDキャッシュを用いる理由は、プロセッサ110のローカルメモリが小さすぎてエミュレートされるシステムの主メモリ20のイメージを保持できないからであり、又、プロセッサ110に対応する主メモリ130にアクセスするには費用のかかる(すなわち、時間のかかる)DMAアクセスによる必要があるからである。
Iキャッシュ140はアクセス速度を考慮して直接マッピング方式であり、各々が4キロバイトのメモリページを8ページ保有している。本実施形態では少数の大きなメモリページを使用しているが、それはキャッシュヒットの検証をより効率的にするためである。ページサイズが大きいことにより、メモリに対するアクセスの遅さを埋め合わせることができる。主メモリ130からIキャッシュ140にメモリページを読み込み、プロセッサはIキャッシュ140から命令を読み出すことができる。しかし、Iキャッシュ140に格納された値が主メモリ130に書き戻されることは決してない。
Dキャッシュ150は、いわゆる「スラッシング」(即ち、キャッシュされたページのめまぐるしい変更)を減らすために完全に連想的であり、やはり各ページ4キロバイトのページを8ページ保有している。主メモリ130から新たなページをDキャッシュに読み込む場合、Dキャッシュに格納されているページの中でアクセス頻度が最も低いページが(そのページが変更されている場合)主メモリに書き戻される。従って、プロセッサがDキャッシュのいずれかの格納データを修正した場合、そのページが主メモリ130に書き戻されるまで、その修正はDキャッシュ150に保持されている。
図3は、4つの命令の処理を示す概略的タイミング図である。時間は図の上から下に進むものとして示されている。明瞭さのために、命令の実行を拡大しているため、垂直方向の軸は正確な縮尺で描かれていない。
図の一番上に、フェッチされデコードされる4つの命令I1、I2、I3、I4のグループが示されている。このオペレーションは4つの命令すべてに対して並行してなされ、本実施形態では2エミュレートクロックサイクル(フェッチに1サイクル、デコードに1サイクル)を要する。
次いで、これらの命令が実行される。本実施形態では、I1はI2の実行が開始される前に実行され、以下同様である。しかし、他の実施形態では、命令の実行をエミュレートするために必要なオペレーションは、ある程度オーバーラップするように構成されていてもよい。いずれにしても、I1の実行の完了はI2の実行の完了より前に生じ、以下同様である。明瞭さのために垂直方向の縮尺が拡大されてはいるが、4つの命令I1−I4の実行は全部で4エミュレートクロックサイクルを要する。
従って、4つの命令のフェッチ、デコード、実行には6エミュレートサイクルを要する。
エミュレーションシステムにおいて4つの命令の実行が完了すると、次の4つの命令をフェッチし、デコードすることができ、以下同様である。
本実施形態において、各キャッシュページは4キロバイトの長さであり、命令はそれぞれ4バイトの長さである。それぞれ4つの命令からなる命令グループは16バイト境界に配列され、従って1グループの4つの命令のフェッチが2キャッシュページにわたることはない。これによりキャッシュをより効率的に使用することができ、本システムでは特定の命令のフェッチオペレーションに対して主メモリから2キャッシュページを取り出す必要はない。
1グループが4つの命令からなることにより、ベクトル(ホスト)プロセッサ110をより効率的に使用することができる。本実施形態においては、ベクトルプロセッサ110は単一の並列オペレーションで16バイト値を処理することができる。
図4および図5は、命令のうち1つ(この例では、命令I2)が分岐命令であるオペレーション関する図である。この状況は図4に略図的に示されており、その図において矢印は、命令I2がプログラムのフローをメモリの他の位置に分岐させることを示しており、命令I3およびI4を表示する必要はない。
図5を参照すると、4つの命令I1−I4すべてが前と同様にフェッチされデコードされる。しかし、命令I2が分岐命令であることが明らかになるやいなや、命令I3およびI4の実行は放棄される。命令I2のエミューレート実行の終わりに、次の(即ち、分岐先アドレスからの)4つの命令がフェッチされ、プロセスが継続される。
図6はグループ内にターゲット命令を含む命令のグループを概略的に示したものである。この例の場合、他で実行された分岐命令の結果、プログラムのフローがこのグループ内の命令の1つへと分岐させられた。
原理的には、4つの命令をフェッチすることによりターゲット命令が常に4つの命令からなる1グループの最初の命令(ここでの表記では、命令I1)となるようにすることが可能である。しかし、それは上に述べた取り決め、すなわち単一のオペレーションに対して複数のキャッシュページからフェッチすることを避けるという取り決めを破る結果になり得る。従って、16バイト境界が維持されるが、それは、1つのグループの4つの命令のどの命令もそれに先立つ分岐オペレーションのターゲットになり得ることを意味する。
図6および図7に示された例では、三番目の命令I3がターゲットである。これは、この特定のグループでは命令I1およびI2を実行する時点が存在しないことを意味する。
図7を参照すると、グループの4つの命令すべてが正規の命令としてフェッチされデコードされる。4つの命令すべてをフェッチしデコードしても時間的な不利益は無い。なぜなら、それがプロセッサ110による並列オペレーションだからである。しかし、デコードされた命令I1およびI2を実際に実行する時点は存在しないので、図7に示されているように、これら2つの命令の実行は回避され、命令I3から実行が開始される。
図8は、プログラムのフロー中にブレークがある例を示すものであり、実行不可能な命令I2が含まれている。実行不可能な命令とは、例えば、存在しないメモリアドレス等への分岐あるいは参照を含むものである。ここでは図8および図9に示されているように、命令I2が実行不可能であることが明らかになるやいなや、その実行が放棄される。問題の性質に依存して、命令I3およびI4から実行を継続することもできるし、例外状況を開始することもできる。例えば、問題(どんなものであれ)の解決を意図して例外処理ルーティンに分岐し、ついで制御をI2に戻すことができる。
以下、本発明の実施形態を添付図面を参照して説明するが、これらの実施形態は説明のためだけのものである。
データ処理システムの概略図である。 データキャッシュおよび命令キャッシュを用いるデータ処理システムの概略図である。 4つの命令の処理を示す概略的タイミング図である。 第三の命令が分岐命令である命令のグループを概略的に示したものである。 図3に示した4つの命令の処理を示す概略的タイミング図である。 第三の命令がターゲット命令である命令のグループを概略的に示したものである。 図6に示した4つの命令の処理を示す概略的タイミング図である。 第二の命令が実行不可能な命令である命令のグループを概略的に示したものである。 図8に示した4つの命令の処理を示す概略的タイミング図である。
符号の説明
10…プロセッサ、20…主メモリ、110…プロセッサ、120… エミュレーション用ソフトウェア、130…主メモリ、140…Iキャッシュ、150…Dキャッシュ

Claims (16)

  1. 命令処理プロセッサをエミュレートするソフトウェアを実行するように構成されたデータプロセッサであって、前記ソフトウェアは少なくとも命令準備処理ステージと命令実行ステージとを有し、
    前記ソフトウェアは、
    最初に、2以上の命令からなるグループに関して前記命令準備処理ステージを実行することにより、準備処理された命令のグループを生成し、
    次いで、前記準備処理された命令のグループに関して前記命令実行ステージを実行することにより、前記準備処理された命令のグループの各命令に関する命令実行ステージが命令の順番に順次完了する、ように動作できるものである
    ことを特徴とするデータプロセッサ。
  2. 請求項1記載のデータプロセッサであって、
    前記命令準備処理ステージは命令フェッチステージと命令デコードステージとを有する、
    ことを特徴とするデータプロセッサ。
  3. 請求項1あるいは2記載のデータプロセッサであって、
    前記命令は、命令準備処理ステージで処理される前に、1以上のキャッシュラインを有するキャッシュに保持され、
    前記グループの命令の数は、前記グループが2以上のキャッシュラインからの命令とならないように選択されている、
    ことを特徴とするデータプロセッサ。
  4. 請求項1ないし3のいずれか1項に記載のデータプロセッサであって、
    準備処理された命令の各グループの実行に応じて、エミュレートされるプロセッサにおける割込みをチェックするように動作可能であるソフトウェアを有する、
    ことを特徴とするデータプロセッサ。
  5. 請求項1ないし4のいずれか1項に記載のデータプロセッサであって、
    前記準備処理された命令のいずれかの命令が実行する必要のないものであるかを検出し、そのような命令を検出した場合その命令の実行を禁止する手段、
    を有することを特徴とするデータプロセッサ。
  6. 請求項5記載のデータプロセッサであって、
    不連続なプログラムフローの段階を検出する手段と、
    不連続なプログラムフローの段階に応じて、前記準備処理された命令のグループ中の1以上の命令の実行を取り消す取消し手段と、
    を有することを特徴とするデータプロセッサ。
  7. 請求項6記載のデータプロセッサであって、
    前記不連続なプログラムフローの段階が前記準備処理された命令のグループ中の分岐命令に関するものである場合、前記取消し手段は、前記グループにおいて前記分岐命令に後続するいかなる命令も実行を取り消すように構成されている、
    ことを特徴とするデータプロセッサ。
  8. 請求項6あるいは7記載のデータプロセッサであって、
    前記不連続なプログラムフローの段階が前記準備処理された命令のグループ中のターゲット命令への分岐に関するものである場合、前記取消し手段は、前記グループにおいて前記ターゲット命令に先行するいかなる命令も実行を取り消すように構成されている、
    ことを特徴とするデータプロセッサ。
  9. 請求項1ないし8のいずれか1項に記載のデータプロセッサであって、
    少なくとも前記命令準備処理ステージをエミュレートするソフトウェアは、前記命令のグループに関して並列に前記命令準備処理ステージをエミュレートするように動作可能なベクトルプロセッサ上で実行される、
    ことを特徴とするデータプロセッサ。
  10. 請求項1ないし9のいずれか1項に記載のデータプロセッサであって、
    前記データプロセッサは、前記命令のグループに関して、前記命令準備処理ステージを並列なオペレーションとして実行するように動作できる、
    ことを特徴とするデータプロセッサ。
  11. 請求項1ないし10のいずれか1項に記載のデータプロセッサであって、
    エミュレートされる前記命令処理プロセッサは、命令準備処理ステージと命令実行ステージとを少なくとも含むパイプライン型オペレーションを有する、
    ことを特徴とするデータプロセッサ。
  12. ソフトウェアを実行することにより、命令準備処理ステージと命令実行ステージを少なくとも有する命令処理プロセッサをエミュレートするデータ処理方法であって、
    最初に、2以上の命令からなるグループに関して前記命令準備処理ステージを実行することにより、準備処理された命令のグループを生成するステップと、
    次いで、前記準備処理された命令のグループに対して前記命令実行ステージを実行することにより、前記準備処理された命令のグループの各命令に関する命令実行ステージが命令の順番に順次完了するステップと、
    を有するデータ処理方法。
  13. 請求項12記載の方法を実行するためのプログラムコードを有するコンピュータソフトウェア。
  14. 請求項13記載のプログラムコードを提供する媒体。
  15. 請求項14記載の媒体であって、伝送媒体であることを特徴とする媒体。
  16. 請求項14記載の媒体であって、記憶媒体であることを特徴とする媒体。
JP2006130827A 2005-05-09 2006-05-09 データプロセッサ、データ処理方法 Active JP5100030B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0509423A GB2426083A (en) 2005-05-09 2005-05-09 Software emulation of a pipeline processor
GB0509423.0 2005-05-09

Publications (2)

Publication Number Publication Date
JP2006331415A true JP2006331415A (ja) 2006-12-07
JP5100030B2 JP5100030B2 (ja) 2012-12-19

Family

ID=34685301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006130827A Active JP5100030B2 (ja) 2005-05-09 2006-05-09 データプロセッサ、データ処理方法

Country Status (6)

Country Link
US (1) US7983894B2 (ja)
EP (1) EP1880279A1 (ja)
JP (1) JP5100030B2 (ja)
AU (1) AU2006245565A1 (ja)
GB (1) GB2426083A (ja)
WO (1) WO2006120413A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417912B2 (en) 2010-09-03 2013-04-09 International Business Machines Corporation Management of low-paging space conditions in an operating system
US8997218B2 (en) 2010-12-22 2015-03-31 F-Secure Corporation Detecting a return-oriented programming exploit

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62197832A (ja) * 1986-02-26 1987-09-01 Hitachi Ltd ベクトル処理装置
JPH0683615A (ja) * 1992-09-02 1994-03-25 Fujitsu Ltd 命令セットエミュレーションを行う計算機
JPH08221277A (ja) * 1995-02-14 1996-08-30 Sumitomo Metal Ind Ltd エミュレーション装置
JPH09212370A (ja) * 1996-01-25 1997-08-15 Internatl Business Mach Corp <Ibm> ゲスト命令をエミュレートするプロセッサの性能改善方法及びシステム
JPH1078873A (ja) * 1996-07-31 1998-03-24 Hewlett Packard Co <Hp> エミュレーション・システムで非同期信号を処理する方法
JPH11288374A (ja) * 1998-04-02 1999-10-19 Matsushita Electric Ind Co Ltd デジタル計算機のシミュレータ
JP2001184227A (ja) * 1999-12-27 2001-07-06 Nec Corp シミュレーション装置
JP2004096730A (ja) * 2002-07-17 2004-03-25 Sony United Kingdom Ltd ビデオ処理方法及びビデオ処理装置
JP2004206699A (ja) * 2002-12-12 2004-07-22 Matsushita Electric Ind Co Ltd シミュレーション装置、シミュレーション方法及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430862A (en) * 1990-06-29 1995-07-04 Bull Hn Information Systems Inc. Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5966515A (en) * 1996-12-31 1999-10-12 Unisys Corporation Parallel emulation system and method
US6021484A (en) * 1997-11-14 2000-02-01 Samsung Electronics Co., Ltd. Dual instruction set architecture
US6742110B2 (en) * 1998-10-06 2004-05-25 Texas Instruments Incorporated Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution
JP2002532775A (ja) * 1998-12-08 2002-10-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ インタープリタプログラム実行方法
US6826522B1 (en) * 1999-06-21 2004-11-30 Pts Corporation Methods and apparatus for improved efficiency in pipeline simulation and emulation
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
JP2002312180A (ja) * 2001-04-11 2002-10-25 Hitachi Ltd 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス
US7302380B2 (en) * 2002-12-12 2007-11-27 Matsushita Electric, Industrial Co., Ltd. Simulation apparatus, method and program
US7370243B1 (en) * 2004-06-30 2008-05-06 Sun Microsystems, Inc. Precise error handling in a fine grain multithreaded multicore processor
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62197832A (ja) * 1986-02-26 1987-09-01 Hitachi Ltd ベクトル処理装置
JPH0683615A (ja) * 1992-09-02 1994-03-25 Fujitsu Ltd 命令セットエミュレーションを行う計算機
JPH08221277A (ja) * 1995-02-14 1996-08-30 Sumitomo Metal Ind Ltd エミュレーション装置
JPH09212370A (ja) * 1996-01-25 1997-08-15 Internatl Business Mach Corp <Ibm> ゲスト命令をエミュレートするプロセッサの性能改善方法及びシステム
JPH1078873A (ja) * 1996-07-31 1998-03-24 Hewlett Packard Co <Hp> エミュレーション・システムで非同期信号を処理する方法
JPH11288374A (ja) * 1998-04-02 1999-10-19 Matsushita Electric Ind Co Ltd デジタル計算機のシミュレータ
JP2001184227A (ja) * 1999-12-27 2001-07-06 Nec Corp シミュレーション装置
JP2004096730A (ja) * 2002-07-17 2004-03-25 Sony United Kingdom Ltd ビデオ処理方法及びビデオ処理装置
JP2004206699A (ja) * 2002-12-12 2004-07-22 Matsushita Electric Ind Co Ltd シミュレーション装置、シミュレーション方法及びプログラム

Also Published As

Publication number Publication date
EP1880279A1 (en) 2008-01-23
US20070043551A1 (en) 2007-02-22
GB2426083A (en) 2006-11-15
AU2006245565A1 (en) 2006-11-16
JP5100030B2 (ja) 2012-12-19
GB0509423D0 (en) 2005-06-15
WO2006120413A1 (en) 2006-11-16
US7983894B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
KR100385426B1 (ko) 개선된 마이크로프로세서내의 메모리 데이터 얼라이징 장치 및 방법
JP3615770B2 (ja) アドレスされた構成部分の思索の失敗を検出するメモリ・コントローラ
KR101738212B1 (ko) 명령어 에뮬레이션 프로세서, 방법, 및 시스템
US8578351B2 (en) Hybrid mechanism for more efficient emulation and method therefor
JPS62245442A (ja) 情報処理装置
KR20010014094A (ko) 개선된 마이크로프로세서
JP4243271B2 (ja) データ処理装置およびデータ処理方法
JP5318197B2 (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
JP2004538556A (ja) 複数命令セットシステムにおける非処理操作処理
JP5100030B2 (ja) データプロセッサ、データ処理方法
JP7048612B2 (ja) ベクトル生成命令
US11494190B2 (en) Circuitry and method for controlling a generated association of a physical register with a predicated processing operation based on predicate data state
JP2008071061A (ja) 情報処理装置
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
KR20010029545A (ko) 타겟 프로세서의 상태를 일시적으로 보유하기 위한 장치를구비하는 호스트 마이크로프로세서
JP2001306334A (ja) エミュレーション装置
US20090217014A1 (en) Processor, memory device, processing device, and method for processing instruction
JP2877468B2 (ja) 電子計算機
JP5292831B2 (ja) プログラマブルコントローラ
KR100300875B1 (ko) 캐쉬 미스 시 처리 방법
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
JPH05250156A (ja) Riscプロセッサ
JPH01126733A (ja) 情報処理装置
JPS63221427A (ja) 分岐予測を行う情報処理装置
JPS6336336A (ja) 情報処理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070123

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090410

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

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: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120925

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5100030

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250