JP3553946B2 - データ処理命令の実行 - Google Patents
データ処理命令の実行 Download PDFInfo
- Publication number
- JP3553946B2 JP3553946B2 JP50961895A JP50961895A JP3553946B2 JP 3553946 B2 JP3553946 B2 JP 3553946B2 JP 50961895 A JP50961895 A JP 50961895A JP 50961895 A JP50961895 A JP 50961895A JP 3553946 B2 JP3553946 B2 JP 3553946B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data processing
- data
- memory access
- memory
- 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.)
- Expired - Lifetime
Links
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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 or 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 or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
発明の分野
本発明はデータ処理命令の実行に関する。
従来技術の説明
ある種のデータプロセッサには中央処理装置(CPU)が含まれており、CPUは現在実行中のデータ処理命令の制御のもとに、中間のメモリ管理ユニットを介して、ランダムアクセスメモリ(RAM)の中に格納されているデータにアクセスすることができる。かかるデータプロセッサについて以前に提案した例は、1993年にアドバンスト・リスク・マシンズ社(Advanced RISC Machines Limited)が発行したARM6データシートに説明されているARM6プロセッサである。
メモリアクセス中にメモリ管理ユニットは、現在のメモリアクセスを完了できないことを示す、異常終了(abort)信号を発生させることができる。異常終了信号はいろいろな理由で発生する。一例を挙げると、メモリアクセスの異常終了は、仮想記憶メモリを使用しているデータ処理システムで発生することがあるが、かかるデータ処理システムにおいては、RAMと低速のディスク記憶装置との間でデータが交換されるので、アドレス指定できるメモリ空間が、実装されているRAMの量より大きいという錯覚が起こる。このようなシステムにおいて、要求された仮想アドレスに対応するデータが、現在、RAMではなくディスク記憶装置に保持されていると、これらのデータにアクセスできるまでに遅延時間が発生するが、この遅延時間中にそのデータをディスク記憶装置からRAMに転送しなければならない。この場合、現在のメモリアクセスは異常終了し、それらのデータに対するアクセスは後で試行される。
メモリ管理ユニットから供給される異常終了信号は、失敗したメモリアクセスを開始した命令の実行を中止するにはあまりにも遅れて発生するが、次のデータ処理命令の実行、すなわち、失敗したメモリアクセスを開始した命令の後のデータ処理命令の実行を解除するためには使用できる。このことは有用である。その理由は、後続の命令は正常動作中のメモリアクセスに依存できるからである。
失敗したメモリアクセスを開始した命令の直後の命令の実行を解除するために異常終了信号を使用すると、異常終了信号のタイミングに厳しい条件が要求される。これに替る方法として、直後の命令の実行が完了した後その命令の実行結果を「元に戻す(undo)」複雑なメカニズムを備えなくてはならない。
添付図面の第1図は、以前に提案し、上に引用したデータプロセッサによるデータ書込み動作中(本動作中にデータがRAMに書込まれる)の、異常終了信号のタイミング条件の概略を示すタイムチャートである。
第1図を参照すると、クロック信号は、データプロセッサによるデータ処理命令の実行を制御している。データ書込み動作が開始されると、データプロセッサは、メモリ管理ユニットにメモリアドレス20を供給するとともに、クロック信号の半サイクル後で、そのアドレスに書込まれるデータ30を出力する。
(たとえば、そのアドレスに対応するデータは仮想メモリシステムのディスク記憶装置の中に保持されているため)メモリアドレス20が無効であることをメモリ管理ユニットが検出すると、メモリ管理ユニットは異常終了信号40を発生させ、この信号をデータプロセッサに供給する。
(通常)書込むべきデータがデータバスに載せられてしまった後は、メモリ管理ユニットからの応答を待つ必要がないから、データ書込み命令の次の命令は直ちに実行される。したがって、直後の命令を解除するのに間に合うように異常終了信号が到着するには、以前に提案し、上に引用したデータプロセッサは、書込むべきデータを出力するよりもクロック信号の半サイクル前に、異常終了信号が有効でなければならない。
このタイミングの制約を実現させることは実際には困難なので、(メモリ管理ユニットの電力消費を大きくして)メモリ管理ユニットを非常に速く動作させなければならない。
また、以前に提案し、上に引用したデータプロセッサは、このデータプロセッサの全命令セットを条件付きで実行する。これは、最大4つの処理フラグの現在の状態を、各命令に含まれている条件コードによって定義される各状態と比較することにより達成される。この比較は命令の実行と並行して行われる。条件コードによって指定された条件と処理フラグの状態が一致しないと、命令の完全実行を防止する。
この形式のプロセッサを説明する別の文献には、論文、「ARM6:高性能低消費電力マクロセル(ARM6:High Performance Low Power Consumption Macrocell)」M.Muller、COMPCON、1993年春期号、頁80から頁87、がある。本論文には、上に引用したARM6のメモリ異常終了機能と条件付き命令実行機能が説明されている。
発明の要約
本発明は、連続するデータ処理命令がパイプライン方式によって実行されるデータ処理装置を提供する。このデータ処理装置は、1つまたはそれ以上の命令に対応してデータメモリにアクセスするとともに、各メモリアクセスが無効か否かを検出する手段を含むメモリアクセス手段と、前に実行した命令によって発生する装置の処理状態に対応しかつ各命令の実行中に動作して、その命令を実行すべきか否かを検出する条件テスト手段とを含み、メモリアクセス手段と条件テスト手段とに応答して、メモリアクセス手段が、先行命令によって開始されたメモリアクセスが無効であることを検出するか、あるいは条件テスト手段が、現在の命令を実行すべきではないことを検出するか、のいずれかの場合、現在の命令の完全実行を防止する条件付き制御手段を含むことを特徴としている。
本発明によるデータ処理装置においては、完全条件付きの命令セットが使用されており、各命令の完全実行を条件付きで防止するメカニズムは、メモリ異常終了を処理するためにも使用されている。したがって、各命令の実行中に、その命令を実行すべきか否かを条件テスト手段が検出すると同時に、先行命令によって開始されたメモリアクセスに関係するメモリ異常終了信号を受信してよい。これにより、各命令に対するメモリ異常終了を、以前に提案し上に引用したデータプロセッサに考慮されていた時間よりも後で処理してよいことになる。
好適実施例において、本装置は、データ処理装置の現在の処理状態を示すデータを格納する1つまたはそれ以上の処理フラグを含み、各命令には、実行すべきその命令に必要な処理フラグの状態を定義する条件コードが含まれており、条件テスト手段は、各命令の条件コードによって定義される処理フラグの必要な状態を処理フラグの現在の状態と比較する。条件コードは、特定の処理フラグを特定の論理状態にセットすべきこと、あるいはその処理フラグの状態が、現在の命令を実行すべきか否かに影響を与えないことを指定することができる。極端な場合、条件コードは、どの処理フラグの状態にも無関係に、特定の命令を実行すべきことを指定することができる。
処理フラグは、本装置の処理状態に関する各種機能を指定することができる。好適実施例において、本装置には、
(i)装置の先行データ処理動作により負の結果が発生したか否か、
(ii)装置の先行データ処理動作によりゼロの結果が発生したか否か、
(iii)装置の先行データ処理動作により桁上げビットがセットされたか否か、
(iv)装置の先行データ処理動作中に算術演算のオーバーフローが発生したか否か、
を表す4つの処理フラグが含まれている。
望ましくは、メモリアクセス手段は、メモリアドレスをデータメモリに送信する手段と、引き続きデータをデータメモリに転送する手段あるいは引き続きデータメモリからデータを受信する手段とを含んでいる。
条件付き制御手段がメモリアクセス手段と条件テスト手段との両方に対して好都合に応答するようにするためには、メモリアクセス手段は異常終了信号を発生させてメモリアクセスが無効であることを示すこと、条件テスト手段は条件不良制御信号(condition failure control signal)を発生させて現在の命令を実行すべきではないことを示すこと、および本装置は条件制御手段に供給する組合わせ制御信号を発生するため異常終了制御信号と条件不良制御信号とを組合せる手段を備えることが望ましい。
簡潔で有利な実施例においては、組合わせる手段は論理和ゲートを含んでいる。
便利な実施例においては、装置のデータ処理動作はクロック信号によって制御される。
第2の側面から見ると、本発明は上に定義した装置を含む集積回路を提供する。
第3の側面から見ると、本発明はデータ処理方法を提供する。このデータ処理方法においては、連続するデータ処理命令はパイプライン方式で実行され、1つまたはそれ以上の命令に応答してデータメモリにアクセスするステップと、各メモリアクセスが無効か否かを検出するステップと、各命令の実行中に、前に実行した命令によって発生する装置の処理状態に依存して、その命令を実行すべきか否かを検出するステップとを含み、先行命令によって開始されたメモリアクセスが無効であること、あるいは現在の命令を実行すべきではないこと、のいずれかが検出された場合、現在の命令の完全実行を防止するステップを含むことを特徴としている。
【図面の簡単な説明】
添付の図面を参照して例を示すという方法で本発明を説明する。なお全図面について、同じ部分は同じ参照符号で示されている。
第1図は、以前に提案したデータプロセッサによるデータ書込み動作中の異常終了信号のタイミング条件の概略を示すタイムチャートである。
第2図は、本発明の実施例によるデータ処理装置の概略を示すブロック図である。
第3図は、中央処理装置の概略を示すブロック図である。
第4図は、第2図のデータ処理装置によるデータ書込み動作中の異常終了信号のタイミング条件の概略を示すタイムチャートである。
好適実施例の説明
つぎに第2図を参照すると、本発明の実施例によるデータ処理装置の概略を示すブロック図が示されている。本装置は中央処理装置(CPU)100、メモリ管理ユニット(MMU)110、ランダムアクセスメモリ(RAM)120を含んでいる。CPU100とMMU110とは、メモリアドレスを交換するアドレスバス130とデータを交換するデータバス140で接続されている。また、失敗したメモリアクセスあるいは無効なメモリアクセスを示す異常終了信号を運ぶ異常終了制御ライン150も、MMU110からCPU100に用意されている。
クロック信号はCPU100とMMU110に供給され、両ユニットの動作を制御する。各データ処理命令は、(その命令の性質に依存する)クロック信号の特定数のサイクル中にCPU100によって実行され、MMU110によるメモリアクセスはクロック信号に同期して実行される。
MMU110はCPU100とクロック信号の制御のもとに動作して、RAM120に格納されているデータにアクセスする。したがって、MMUは複数のアドレス・データ・ライン160によりRAMに接続される。
第3図は、中央処理装置100の一部の概略を示すブロック図である。CPU100は、処理動作およびメモリ動作が実質的に連続して実行されることを可能にする命令パイプライン方式(instruction pipelining)を使用している。普通、1つのデータ処理命令が実行されている間に、その命令の次の命令は解読中であり、第3の命令はメモリからフェッチされている。この装置は、3段パイプライン(three−stage execution pipeline)と呼ばれている。
CPU100の第3図に示す部分において、メモリからフェッチされて解読されているデータ処理命令が転送されて実行される。データ処理命令は32ビットのデータ語であり、その内のビット28からビット31は4ビットの条件フィールド(condition field)を形成する。残りのビット(ビット0からビット27)は、その命令に対応して実行される演算を定義し、ある場合には、演算が実行されるオペランドを定義する。
条件フィールド(ビット28からビット31)が条件テスタ200に送られると、条件テスタ200は、この条件フィールドのビットを所定の16個の条件コードと比較する。この16個の条件コードは、Nフラグ、Zフラグ、Cフラグ、Vフラグと呼ばれ、4個のプロセッサフラグ210の1つまたはそれ以上のフラグの状態を定義する。これらのフラグは、前に実行した命令により発生するCPU100の処理状態を表す。
Nフラグは、前に実行したCPU100の算術演算の負の結果を表し、Zフラグは、前に実行したCPU100の演算のゼロ(等しい)結果を表し、Cフラグは、前に実行したCPU100の演算中に桁上げビットがセットされたか否かを表し、Vフラグは、前に実行したCPU100の演算中に算術演算のオーバーフローが発生したことを示す。
条件フィールドの4ビットの間の関係と、Nフラグ、Zフラグ、Cフラグ、Vフラグに適用される条件とを下表に示す。
条件テスタ200は、現在の命令の条件フィールドのどのビットがセットされているかに依存して、上に示したフラグの状態をテストする。この比較は、現在の命令の実行中に行われる。適切なフラグが、条件フィールドが指定した状態にセットされているときにかぎり、現在の命令の実行を完了することが可能になる。
AL(常に成立する)条件が指定されると、フラグに関係なく命令が実行される。NV(常に成立しない)条件コードは、フラグ210の状態に関係なく命令の実行を防止する。
条件テスタ200は、現在の命令を完全に実行すべきか否かを示す出力信号220を発生させる。出力信号220は、異常終了制御ライン150を介し、ORゲート230を使用して、MMU110からCPU100に供給される異常終了信号と組合わされる。したがって、条件テスタ200が現在の命令を完全に実行すべきではないことを示しているか、あるいはMMU110が異常終了信号を立ち上げているかのいずれかの場合、ORゲート230の出力がセットされる。
命令実行ユニット240は、各命令の実行すべき演算を定義するビット0からビット27と、ある場合には、演算が実行されるオペランドを受信する。現在の命令の実行中に(つまり、条件テスタ200とORゲート230の伝搬遅延と処理遅延の後で)、現在の命令を完全に実行すべきか否かを示すORゲート230の出力を受信する。ORゲート230が現在の命令を完全に実行すべきではないことを示している場合、装置に付随するレジスタの場所やメモリの場所をどれも変更せずに、この命令は解除される。
条件テスタ200と命令実行ユニット240は、以前に提案し、上に引用したARM6プロセッサの対応する構成部品と同じ形式にすることができる。
第3図の装置を使用した結果、異常終了信号に対する厳しいタイミングは大幅に緩和されるので、先行命令によって開始されたメモリアクセスに関する異常終了信号は、各命令の実行中、後の段階でセットすることができる。
命令フェッチ動作が失敗した結果として異常終了信号が受信された場合、その命令は、上に述べた3段階命令パイプラインの後の段階で廃棄されるだけである。
メモリから読出されたデータが適切なプロセッサレジスタにロードされるための時間を与えるために、データ読出し動作の後にはメモリをアクセスしない(内部)プロセッササイクルが続く。したがって、データ読出し動作が失敗した結果として異常終了信号が受信された場合、読出し動作の後に続く内部サイクルは、MMU110がメモリから供給したいかなるデータ(このデータには殆んどエラーがある)も無視し、(たとえばプロセッサレジスタなど)意図していた場所に格納しないようにするため時間を与える。
命令の実行とデータ書込み動作に対する異常終了信号の受信とのタイミング関係が、第4図に示されているが、本図中にはアドレスバス130とデータバス140の状態とともに、CPU100による命令の実行を制御するクロック信号300が示されている。
データ書込み動作を開始するため、CPU100はアドレスバスにアドレス310を載せる。クロック信号300の半サイクル後に、CPU100はデータバスにデータ320を載せる。この状態になると、CPU100は、クロック信号300の次のサイクル中に次の命令を実行することができる。
(第4図に330で示すように)異常終了信号が受信された場合、あるいは条件テスタ200が、次の命令を実行すべきではないと決定した場合(データがデータバスに載せられていて、340で示される後の半サイクル中に、条件テスタ200がこれを決定する)、データ320がデータバスに載せられると同時に、次の命令の実行は中止される。
添付の図面を参照して、本発明の判りやすい実施例を詳細に説明してきたが、本発明はこれらの詳細な実施例に限定されるものではないこと、さらには当業者ならば、添付の請求の範囲に定義される本発明の範囲から逸脱せずに、各種の変更や修正ができる。
Claims (9)
- 連続したデータ処理命令がパイプライン方式で実行されるデータ処理装置(100、110、120)であって、
1つまたはそれ以上の前記命令に対応して、データメモリにアクセスするメモリアクセス手段(110)であって、各メモリアクセスが無効か否かを検出する手段を含む前記モリアクセス手段(110)と、
前に実行された命令により発生する、前記装置の処理状態に対応しかつ各命令の実行中に動作して、その命令を実行すべきか否かを検出する条件テスト手段(200)と、
を含み、
前記メモリアクセス手段(110)が、先行命令によって開始されたメモリアクセスが無効であることを検出するか、あるいは前記条件テスト手段(200)が現在の命令を実行すべきではないことを検出するか、のいずれかの場合、前記メモリアクセス手段(110)と前記条件テスト手段(200)とに応答して、現在の命令の完全実行を防止する条件付き制御手段(230、240)、
を含むことを特徴とするデータ処理装置。 - 請求項1において、
前記データ処理装置は自己の現在の処理状態を示すデータを格納する1つまたはそれ以上の処理フラグ(NZCV)を含み、
各命令は、実行すべきその命令に必要な前記処理フラグの状態を定義する条件コード(ビット28からビット31)を含み、
前記条件テスト手段(200)は、各命令の条件コードによって定義される処理フラグの必要な状態を、前記処理フラグの現在の状態と比較する、
データ処理装置。 - 請求項2において、
(i)前記装置の先行データ処理動作により負の結果(N)が発生したか否か、
(ii)前記装置の先行データ処理動作によりゼロの結果(Z)が発生したか否か、
(iii)前記装置の先行データ処理動作により桁上げビットがセットされた(C)か否か、
(iv)前記装置の先行データ処理動作中に算術演算のオーバーフローが発生した(V)か否か、
を表す4個の処理フラグを含む、データ処理装置。 - 請求項1から請求項3のいずれか1つにおいて、前記メモリアクセス手段(110)は、
メモリアドレスを前記データメモリ(120)に送信する手段と、
引き続きデータを前記データメモリに送信する手段、あるいは引き続きデータを前記データメモリから受信する手段と、
を含む、データ処理装置。 - 請求項1から請求項4のいずれか1つにおいて、
前記メモリアクセス手段(110)は、異常終了制御信号(150)を発生させて、メモリアクセスが無効であることを示し、
前記条件テスト手段(200)は、条件不良制御信号(220)を発生させて、前記現在の命令を実行すべきではないことを示し、
前記装置は、前記条件制御手段(240)に供給する組合わせ制御信号を発生するため前記異常終了制御信号と前記条件不良制御信号とを組合せる手段(230)を含む、
データ処理装置。 - 請求項5において、前記組合わせる手段(230)は、論理和ゲートを含む、データ処理装置。
- 請求項1から請求項6のいずれか1つにおいて、装置のデータ処理動作は、クロック信号によって制御される、データ処理装置。
- 請求項1から請求項7のいずれか1つに記載の装置を含む集積回路。
- 連続するデータ処理命令が、パイプライン方式で実行されるデータ処理方法であって、
1つまたはそれ以上の前記命令に対応してデータメモリにアクセスするステップ(110)と、
各メモリアクセスが無効か否かを検出するステップ(110)と、
各命令の実行中に、前に実行した命令によって発生する前記装置の処理状態に依存して、その命令を実行すべきか否かを検出するステップ(200)と、
を含み、
先行命令によって開始されたメモリアクセスが無効であること、あるいは現在の命令を実行すべきではないこと、のいずれかが検出された場合、現在の命令の完全実行を防止するステップ(230、240)、
を含む、データ処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9319662.4 | 1993-09-23 | ||
GB9319662A GB2282245B (en) | 1993-09-23 | 1993-09-23 | Execution of data processing instructions |
PCT/GB1994/001793 WO1995008801A1 (en) | 1993-09-23 | 1994-08-16 | Execution of data processing instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09503876A JPH09503876A (ja) | 1997-04-15 |
JP3553946B2 true JP3553946B2 (ja) | 2004-08-11 |
Family
ID=10742425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50961895A Expired - Lifetime JP3553946B2 (ja) | 1993-09-23 | 1994-08-16 | データ処理命令の実行 |
Country Status (13)
Country | Link |
---|---|
US (1) | US5961633A (ja) |
EP (1) | EP0721619B1 (ja) |
JP (1) | JP3553946B2 (ja) |
KR (1) | KR100335785B1 (ja) |
CN (1) | CN1099633C (ja) |
DE (1) | DE69414592T2 (ja) |
GB (1) | GB2282245B (ja) |
IL (1) | IL110799A (ja) |
IN (1) | IN189692B (ja) |
MY (1) | MY121544A (ja) |
RU (1) | RU2137182C1 (ja) |
TW (1) | TW332266B (ja) |
WO (1) | WO1995008801A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049368A (ja) * | 1996-07-30 | 1998-02-20 | Mitsubishi Electric Corp | 条件実行命令を有するマイクロプロセッサ |
WO2004053684A2 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Processing activity masking in a data processing system |
US20040230781A1 (en) * | 2003-05-16 | 2004-11-18 | Via-Cyrix, Inc. | Method and system for predicting the execution of conditional instructions in a processor |
US8056072B2 (en) | 2005-10-31 | 2011-11-08 | Microsoft Corporation | Rebootless display driver upgrades |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
EP2695078B1 (en) | 2011-04-07 | 2016-10-19 | VIA Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
GB1480209A (en) * | 1974-07-03 | 1977-07-20 | Data Loop Ltd | Digital computers |
JPS54107645A (en) * | 1978-02-13 | 1979-08-23 | Hitachi Ltd | Information processor |
JPS6247746A (ja) * | 1985-08-27 | 1987-03-02 | Fujitsu Ltd | 割り込み制御方式 |
JPH01229326A (ja) * | 1988-03-09 | 1989-09-13 | Toshiba Corp | 情報処理装置 |
JPH01310443A (ja) * | 1988-06-09 | 1989-12-14 | Nec Corp | 情報処理装置 |
US5202967A (en) * | 1988-08-09 | 1993-04-13 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
JPH0335323A (ja) * | 1989-06-30 | 1991-02-15 | Toshiba Corp | 命令実行制御方式 |
-
1993
- 1993-09-23 GB GB9319662A patent/GB2282245B/en not_active Expired - Fee Related
- 1993-10-16 TW TW082108586A patent/TW332266B/zh not_active IP Right Cessation
-
1994
- 1994-08-16 DE DE69414592T patent/DE69414592T2/de not_active Expired - Lifetime
- 1994-08-16 RU RU96107418A patent/RU2137182C1/ru not_active IP Right Cessation
- 1994-08-16 JP JP50961895A patent/JP3553946B2/ja not_active Expired - Lifetime
- 1994-08-16 WO PCT/GB1994/001793 patent/WO1995008801A1/en active IP Right Grant
- 1994-08-16 CN CN94194017A patent/CN1099633C/zh not_active Expired - Lifetime
- 1994-08-16 US US08/619,647 patent/US5961633A/en not_active Expired - Lifetime
- 1994-08-16 EP EP94923797A patent/EP0721619B1/en not_active Expired - Lifetime
- 1994-08-16 KR KR1019960701507A patent/KR100335785B1/ko not_active IP Right Cessation
- 1994-08-28 IL IL110799A patent/IL110799A/xx not_active IP Right Cessation
- 1994-08-30 IN IN1096DE1994 patent/IN189692B/en unknown
- 1994-09-09 MY MYPI94002370A patent/MY121544A/en unknown
Also Published As
Publication number | Publication date |
---|---|
DE69414592D1 (de) | 1998-12-17 |
TW332266B (en) | 1998-05-21 |
WO1995008801A1 (en) | 1995-03-30 |
IL110799A (en) | 1997-09-30 |
IL110799A0 (en) | 1994-11-11 |
KR100335785B1 (ko) | 2002-11-30 |
RU2137182C1 (ru) | 1999-09-10 |
IN189692B (ja) | 2003-04-12 |
CN1099633C (zh) | 2003-01-22 |
DE69414592T2 (de) | 1999-05-06 |
CN1134193A (zh) | 1996-10-23 |
JPH09503876A (ja) | 1997-04-15 |
US5961633A (en) | 1999-10-05 |
EP0721619B1 (en) | 1998-11-11 |
GB2282245B (en) | 1998-04-15 |
KR960705271A (ko) | 1996-10-09 |
MY121544A (en) | 2006-02-28 |
GB2282245A (en) | 1995-03-29 |
GB9319662D0 (en) | 1993-11-10 |
EP0721619A1 (en) | 1996-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3553946B2 (ja) | データ処理命令の実行 | |
JP4045062B2 (ja) | ロード命令を実行する方法、プロセッサ、およびシステム | |
US6895475B2 (en) | Prefetch buffer method and apparatus | |
US6571319B2 (en) | Methods and apparatus for combining a plurality of memory access transactions | |
EP0380858A2 (en) | Method and apparatus for detecting and correcting errors in a pipelined computer system | |
WO2012068494A2 (en) | Context switch method and apparatus | |
JP3707581B2 (ja) | 自己整合スタック・ポインタを有するデータ処理システムおよびその方法 | |
US6725365B1 (en) | Branching in a computer system | |
KR100210205B1 (ko) | 스톨캐쉬를 제공하기 위한 장치 및 방법 | |
JPS605987B2 (ja) | 記憶制御装置 | |
EP1121630A1 (en) | Calendar clock caching in a multiprocessor system | |
US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
EP0374598B1 (en) | Control store addressing from multiple sources | |
EP0415351A2 (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
US7877533B2 (en) | Bus system, bus slave and bus control method | |
JP2694799B2 (ja) | 情報処理装置 | |
JP2894438B2 (ja) | パイプライン処理装置 | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
JP2851777B2 (ja) | バス制御方法及び情報処理装置 | |
US20040103267A1 (en) | Data processor having cache memory | |
JPS6221130B2 (ja) | ||
JP2806690B2 (ja) | マイクロプロセッサ | |
JP2927751B2 (ja) | 情報処理装置及び情報処理方法及びスケジューリング装置 | |
JP2000347931A (ja) | キャッシュメモリおよびキャッシュメモリ制御方法 | |
JP2001084149A (ja) | 情報処理装置における割り込み処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040506 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |