JP3663710B2 - プログラムの生成方法およびプロセッサの割込制御方法 - Google Patents
プログラムの生成方法およびプロセッサの割込制御方法 Download PDFInfo
- Publication number
- JP3663710B2 JP3663710B2 JP00618996A JP618996A JP3663710B2 JP 3663710 B2 JP3663710 B2 JP 3663710B2 JP 00618996 A JP00618996 A JP 00618996A JP 618996 A JP618996 A JP 618996A JP 3663710 B2 JP3663710 B2 JP 3663710B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- program
- executed
- interrupt request
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000010586 diagram Methods 0.000 description 3
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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
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)
- Devices For Executing Special Programs (AREA)
Description
【発明の属する技術分野】
この発明は、パイプライン制御等により複数の命令を同時に並列実行する機能および割込機能を備えたプロセッサにおいて実行されるプログラムの生成方法および該プロセッサに好適な割込制御方法に関する。
【0002】
【従来の技術】
複数の命令の並列実行し得るパイプラインプロセッサ等のプロセッサが各種知られている。この種のプロセッサによれば、個々の命令の実行所要時間よりも短い時間間隔で各命令を順次実行することができるため、プログラム全体の実行時間を短時間にすることができる。
【0003】
図3はこのような複数命令の並列実行が可能なプロセッサに対応して作成されたプログラムの例を示すものである。このプログラムを構成する各命令は、一定周波数で発生されるクロックに同期し、プロセッサによって順次実行される。また、プロセッサは、これらの命令を順次実行する際、各命令の実行完了を待たずに後続の命令の実行を開始する。
【0004】
例えばプログラムの先頭から3行目には、“Func1 R4,R0,R1”なる命令があるが、この命令は「レジスタR0およびR1に記憶された各データにFunc1なる演算を施して、その結果をレジスタR4に格納せよ」という命令であり、実行開始から完了までに3クロックを要する。他の“Func1 ……”なる命令も同様であり、図3では各命令毎に当該命令の実行に要する期間が矢印によって示されている。
【0005】
プロセッサは、この3行目の命令の実行を開始した後、この命令の実行完了を待たずに、次のクロックにおいて4行目の命令“Func1 R5,R2,R3”の実行を開始し、3行目の命令と4行目の命令を並列実行する。以後、プロセッサは、クロックが発生される毎、後続の命令の実行を順次開始してゆく。
【0006】
そして、先頭から6行目の“Func1 R5,R4,R8”なる命令の実行が開始される直前において、上記3行目の命令の実行が完了し、Func1なる演算の結果がレジスタR4に格納される。従って、この6行目の命令の実行において上記3行目の命令の実行によりレジスタR4に書き込まれたデータが参照される。
【0007】
ところで、この6行目の命令の実行が開始される前に、5行目の“Func1R4,R6,R7”なる命令の実行が開始され、この命令の実行が完了すればレジスタR4の内容が書き換えられることとなる。
【0008】
しかし、この5行目の命令の実行は、6行目の命令の実行開始時までに完了しない。従って、6行目の命令の実行においては、この5行目の命令の実行結果ではなく、上記の通り、3行目の命令の実行によりレジスタR4に書き込まれたデータの内容が変更されることとなるのである。
【0009】
次に、“Func1 ……”なる一連の命令の実行が終了すると、“STA (R9+),R5”なる命令を3個実行することとなるが、これらの命令はレジスタR5の内容をレジスタR9内のデータと加算し、その結果をレジスタR9に格納せよ」という命令である。また、プログラムの最後は“JNE R9,R11,Top”なる命令となっているが、これは「レジスタR9とR11の内容が不一致ならばTopなるラベルの付いた行へジャンプせよ」という命令である。すなわち、このプログラムは、所定の条件が満たされるまで、Topなるラベルの付けられた行から最後の行までの命令を繰り返すループ構造をなしている。
【0010】
以上のように、複数命令の並列実行が可能なプロセッサにおいては、各命令の実行完了を待たずに後続の命令の実行を開始させることができるため、プログラム全体の実行時間を短時間にすることができる。
【0011】
さて、以上のように複数命令の並列実行を行う場合、プログラムが正常に実行されるためには、プログラムを構成する各命令が予定された通りのタイミングで実行される必要がある。しかし、1種類のプログラムしか実行しないならばともかくとして、システムを柔軟なものにするためには、ある程度は割込処理を受け入れるように構成する必要がある。この問題に対処するための方法として、従来、次のものがあった。
【0012】
(1)第1の方法
第1の方法は、プログラム中、実行タイミングが変更されてはならない命令群については、この命令群の前後を割込の禁止を指示する命令と禁止解除を指示する命令とによって挟み、プロセッサがそれらの命令に従って割込要求に対応する、という方法である。図3に示すプログラムも、この方法に従って割込の制御がなされるようになっている。すなわち、プログラムは“Disable”という命令と“Enable”という命令とを有しているが、前者は割込禁止を指示する命令であり、後者は割込禁止の解除を指示する命令である。Disable命令が実行されてからEnable命令が実行されるまでの期間は割込要求が一切受入れられない訳である。
【0013】
(2)第2の方法
第2の方法においては、ある命令の実行開始時に割込要求が生じた場合、プロセッサはその割込要求を受入れて割込処理を実行する。そして、プロセッサは、割込処理によって中断された命令と共に並列実行されていた過去の全命令に遡り再実行する。
【0014】
(3)第3の方法
割込要求を柔軟に受入れることを優先し、複数命令の並列実行を断念する。すなわち、プロセッサは、各命令の実行が完了するまで、次の命令を実行しない。
【0015】
【発明が解決しようとする課題】
以上説明した第1〜第3の方法は、次のような欠点を有している。まず、第1の方法は、図3のプログラム例のように、ループ処理の中に割込禁止命令(Disable命令)と割込禁止解除命令(Enable命令)が含まれている場合、ループを一巡する都度、これらの命令の実行のためのオーバーヘッドが必要となり、効率が悪いという欠点がある。また、第2の方法は、並列実行される命令群の中に所要クロック数の多い命令(すなわち、実行所要時間が長い命令)が存在している場合に、割込要求によって実行が中断される確率が高くなり、割込処理に伴って命令群の実行をやり直す確率が高くなるという欠点がある。また、第3の方法は、並列実行を全く行わないため、言うまでもなく効率が悪い。
【0016】
この発明は以上のような事情に鑑みてなされたものであり、複数命令の並列実行が可能なプロセッサにおいて、並列実行による高速化という利点を極力活かしつつ割込要求を柔軟に受入れ、高速かつ柔軟性に富んだ処理を行えるようにすることである。
【0017】
【課題を解決するための手段】
請求項1に係る発明は、複数の命令を並列実行することが可能であって割込要求が発生した場合に、実行中の命令に含まれる、割込要求の受入れの可否を指定する割込制御情報に基づいて、当該割込要求を受入れるか当該割込要求を拒否して後続の命令を実行するかを決定するプロセッサにおいて実行されるプログラムを生成するための方法であって、ソースプログラムをコンパイルして前記プロセッサにおいて実行可能な命令により構成されるプログラムを生成する処理と、予め設定された、割込禁止状態を連続して認めるクロック数を超えないように、割込要求を受入れることが可能なNOP命令をコンパイル後のプログラムに挿入する処理と、前記NOP命令が挿入されたプログラムを構成する各命令の種類に基づいて、これらの各命令のうち割込処理によって中断されることなく連続して実行されねばならない命令を判定し、この判定結果に基づいて各命令に対して前記割込制御情報を設定する処理とをコンピュータによるソフトウェア処理によって実行することを特徴とするプログラムの生成方法を要旨とする。
【0018】
請求項2に係る発明は、コンピュータが、ソースプログラムをコンパイルして、複数の命令を同時に並列実行する機能および割込機能を備えたプロセッサにおいて実行可能な命令により構成されるプログラムを生成する第1のステップと、コンピュータが、予め設定された、割込禁止状態を連続して認めるクロック数を超えないように、割込要求を受入れることが可能なNOP命令を前記第1のステップにて生成されたプログラムに挿入する第2のステップと、コンピュータが、前記第2のステップにてNOP命令が挿入されたプログラムを構成する各命令の種類に基づいて、これらの各命令のうち割込処理によって中断されることなく連続して実行されねばならない命令を判定し、この判定結果に基づいて、各命令に対して割込要求の受入れの可否を指定する割込制御情報を設定する第3のステップと、前記プロセッサが、前記第3のステップにて割込制御情報が設定されたプログラムを実行し、割込要求が発生した場合に、実行中の命令に含まれる割込制御情報に基づいて、当該割込要求を受入れるか当該割込要求を拒否して後続の命令を実行するかを決定する第4のステップとを有することを特徴とするプロセッサの割込制御方法を要旨とする。
【0020】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【0021】
A.第1の実施形態
本実施形態は、本発明をマイクロプログラム方式のプロセッサに適用した実施形態である。本実施形態においては、プロセッサが実行する各マイクロコードのビットセットの中に、割込禁止ビットを設ける。図1はこのマイクロコードの構成を例示したものである。この図において、1は例えば32ビットからなるマイクロコードである。同図に示すように、マイクロコード1は、命令の種類を示す命令コードと、演算において参照する第1および第2のソースレジスタの名称と、演算結果を格納するディスティネーションレジスタの名称等を含んでいる。そして、いずれのマイクロコードも、1ビットの割込禁止ビット10を有している。
【0022】
プロセッサは、割込要求が発生した場合に、実行中のマイクロコードに含まれる割込禁止ビット10に基づき、当該割込要求を受入れるか当該割込要求を拒否して後続のマイクロコードを実行するかを決定する割込制御手段を有している。すなわち、プロセッサは、この割込制御手段による制御の下、割込禁止ビット10のビット値が“0”となっているマイクロコードを実行しているときに割込要求があった場合には、その割込要求が受入れ、割込処理を実行する。これに対し、割込禁止ビット10のビット値が“1”であるマイクロコードを実行しているときに割込要求があった場合には、プロセッサはその割込要求を受入れず、当該マイクロコードの次のマイクロコードを連続して実行する。
【0023】
従って、割込要求を受入れることなく連続的に実行すべき命令群がある場合、プログラム作成者は、そのような命令群の各命令のみ、割込禁止ビットのビット値を“1”とすればよい。このようにすることにより、かかる命令群については割込要求に妨げられることなく予定通りのタイミングで各命令が実行され、一方、かかる命令群以外の命令の実行時には割込要求が受入れられる。従って、複数命令の並列実行の利点を活かした状態で割込要求に柔軟に対処することができる。
【0024】
B.第2の実施形態
マイクロコードを1コードずつ作成してプログラムを作成する作業は、プログラムが大規模なものになるに従って困難なものとなる。また、プログラムを構成する各マイクロコードについて上記割込禁止ビットをセットする必要があるか否かを判断する作業も極めて骨の折れる作業である。本実施形態は、このような問題を解決し、本発明に係る割込制御方法を容易に実施できるようにすることを目的としたものである。
【0025】
本実施形態による割込制御方法は、コンパイラおよびポストプログラムを使用することにより以下の手順に従って実施される。
(1)まず、プログラム作成者により、マクロ命令によって構成されたソースプログラムが作成される。そして、このソースプログラムを対象としてコンパイラが実行される。このコンパイラの実行により、ソースプログラム中の各マクロ命令がマイクロコードの集合体に変換され、マイクロコードからなるプログラムが生成される。ここで、各マクロ命令は、複数のマイクロコードに変換されるが、実行時間を短縮するため、各マイクロコードは前掲図3に例示したように並列実行されることを前提とし、隙間なく詰められた状態となっている(すなわち、NOPを極力含まないように構成されている)。また、この段階では、各マイクロコードの割込禁止ビットは情報が何もセットされておらず、不定状態である。
【0026】
(2)次に上記(1)により得られたマイクロコードからなるプログラムを対象としてポストプログラムが実行され、このポストプログラムの実行により、各マイクロコードの割込禁止ビットに対し、“1”または“0”が書き込まれる。さらに詳述すると、次の通りである。
【0027】
a.まず、プログラムの先頭からマイクロコードを1つずつ読み出す。そして、各マイクロコードの種類に基づき、各マイクロコードの実行のための所要クロック数を求める。
【0028】
b.次に、プログラムを構成する各マイクロコードについて、当該マイクロコードから始まる上記所要クロック数相当の個数のマイクロコード、すなわち、当該マイクロコードとともに並列実行されるマイクロコードを調べる。そして、これらの並列実行される各マイクロコードの中に当該マイクロコードの実行後に割込処理を行った場合にプログラムの実行結果に影響を与えるようなマイクロコードがあるか否かを判断する。
【0029】
例えば、当該マイクロコード(便宜上、第1のマイクロコードとする。)がレジスタR0をディスティネーションレジスタとする命令であり、かつ、実行に3クロックを要する命令であったとする。また、第1のマイクロコードから数えて3命令以内にレジスタR0をソースレジスタとするマイクロコード(便宜上、第2のマイクロコードとする。)があったとする。この場合、第1のマイクロコードの実行後に割込処理が行われたとすると、第2のマイクロコードが実行される前に第1のマイクロコードの実行が完了し、レジスタR0の内容が書き換えられてしまうという予定外の動作が行われ、この予定外の動作によって正常なプログラムの実行結果が得られなくなる可能性がある。従って、このような場合には、第1のマイクロコードとともに並列実行される第2のマイクロコードは、第1のマイクロコードの実行後に割込処理を行った場合にプログラムの実行結果に影響を与えるマイクロコードである、と判断されるのである。
【0030】
c.上記bの判断の結果、当該マイクロコードから始まる所要クロック数相当の個数のマイクロコードの中に割込の有無によりプログラムの実行結果に影響を与えるようなマイクロコードがある場合には、当該マイクロコードからそのマイクロコードに至るまでの全マイクロコードについて割込禁止ビットとして“1”を書き込む。また、このようにして割込禁止ビット“1”が書き込まれなかった各マイクロコードについては、割込禁止ビットは“0”とされる。
【0031】
C.第3の実施形態
上記第2の実施形態において、プログラムを構成するマイクロコードが所要クロック数の多いものばかりであると、割込禁止ビットとして“1”がセットされたマイクロコードが延々と連続した状態のプログラムが得られることとなる。このようなプログラムを実行した場合、割込要求が受入れられる機会が全く与えられないこととなってしまう。本実施形態は、このような不都合に対処するものである。
【0032】
すなわち、本実施形態においては、コンパイルに先立ち、割込禁止状態を何クロックまで連続して認めるかを予め設定する。コンパイラは、マクロ命令をマイクロコードに変換してゆく際、この設定を満たすように、各マクロ命令間の繋ぎ目の部分、ループ処理のためのルーチンの最後の部分等に、割込要求の影響を全く受けないNOP命令を挿入する。これらのNOP命令についてはポストプログラムの実行の際に割込禁止ビットとして“1”が書き込まれないため、随所に割込要求の受入れ可能な部分を含んだプログラムが得られる。このようにして得られるプログラムの例を図2に示す。図中、斜線を施した部分が割込禁止ビットとして“1”が書き込まれている部分である。また、NOP命令はコンパイル時に挿入されたものである。これらのNOP命令は割込禁止ビットとして“0”がセットされているため、これらの実行時に割込要求があった場合には割込処理が行われることとなる。
【0033】
以上説明したように本発明によれば、複数命令の並列実行が可能なプロセッサにおいて、並列実行による高速化という利点を極力活かしつつ割込要求を柔軟に受入れ、高速かつ柔軟性に富んだ処理を行えるようになる。
【図面の簡単な説明】
【図1】 この発明の第1の実施形態におけるマイクロコードの構成を示す図である。
【図2】 この発明の第3の実施形態における実行されるマイクロコード表現のプログラムを例示する図である。
【図3】 従来の割込制御方法を説明する図である。
【符号の説明】
1……マイクロコード(命令)、
10……割込禁止ビット(割込制御情報)。
Claims (2)
- 複数の命令を並列実行することが可能であって割込要求が発生した場合に、実行中の命令に含まれる、割込要求の受入れの可否を指定する割込制御情報に基づいて、当該割込要求を受入れるか当該割込要求を拒否して後続の命令を実行するかを決定するプロセッサにおいて実行されるプログラムを生成するための方法であって、
ソースプログラムをコンパイルして前記プロセッサにおいて実行可能な命令により構成されるプログラムを生成する処理と、
予め設定された、割込禁止状態を連続して認めるクロック数を超えないように、割込要求を受入れることが可能なNOP命令をコンパイル後のプログラムに挿入する処理と、
前記NOP命令が挿入されたプログラムを構成する各命令の種類に基づいて、これらの各命令のうち割込処理によって中断されることなく連続して実行されねばならない命令を判定し、この判定結果に基づいて各命令に対して前記割込制御情報を設定する処理と
をコンピュータによるソフトウェア処理によって実行する
ことを特徴とするプログラムの生成方法。 - コンピュータが、ソースプログラムをコンパイルして、複数の命令を同時に並列実行する機能および割込機能を備えたプロセッサにおいて実行可能な命令により構成されるプログラムを生成する第1のステップと、
コンピュータが、予め設定された、割込禁止状態を連続して認めるクロック数を超えないように、割込要求を受入れることが可能なNOP命令を前記第1のステップにて生成されたプログラムに挿入する第2のステップと、
コンピュータが、前記第2のステップにてNOP命令が挿入されたプログラムを構成する各命令の種類に基づいて、これらの各命令のうち割込処理によって中断されることなく連続して実行されねばならない命令を判定し、この判定結果に基づいて、各命令に対して割込要求の受入れの可否を指定する割込制御情報を設定する第3のステップと、
前記プロセッサが、前記第3のステップにて割込制御情報が設定されたプログラムを実行し、割込要求が発生した場合に、実行中の命令に含まれる割込制御情報に基づいて、当該割込要求を受入れるか当該割込要求を拒否して後続の命令を実行するかを決定する第4のステップと
を有することを特徴とするプロセッサの割込制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00618996A JP3663710B2 (ja) | 1996-01-17 | 1996-01-17 | プログラムの生成方法およびプロセッサの割込制御方法 |
US08/781,718 US6029222A (en) | 1996-01-17 | 1997-01-10 | Method and processor for selectively marking instructions as interruptible or uninterruptible and judging interrupt requests based on the marked instruction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00618996A JP3663710B2 (ja) | 1996-01-17 | 1996-01-17 | プログラムの生成方法およびプロセッサの割込制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09198247A JPH09198247A (ja) | 1997-07-31 |
JP3663710B2 true JP3663710B2 (ja) | 2005-06-22 |
Family
ID=11631618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00618996A Expired - Fee Related JP3663710B2 (ja) | 1996-01-17 | 1996-01-17 | プログラムの生成方法およびプロセッサの割込制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6029222A (ja) |
JP (1) | JP3663710B2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055623A (en) * | 1998-04-07 | 2000-04-25 | International Business Machine Corporation | Specialized millicode instruction for editing functions |
US6058470A (en) * | 1998-04-07 | 2000-05-02 | International Business Machines Corporation | Specialized millicode instruction for translate and test |
US6055624A (en) * | 1998-04-07 | 2000-04-25 | International Business Machines Corporation | Millicode flags with specialized update and branch instructions |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US8065504B2 (en) * | 1999-01-28 | 2011-11-22 | Ati International Srl | Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor |
US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
US20040100982A1 (en) * | 1999-09-30 | 2004-05-27 | Sivaram Balasubramanian | Distributed real-time operating system |
JP3776653B2 (ja) | 1999-11-24 | 2006-05-17 | 富士通株式会社 | 演算処理装置 |
EP1313014B1 (en) * | 2001-11-15 | 2010-03-03 | Texas Instruments France | Interruptible and re-entrant instruction for cleaning a region of a cache memory |
US7529912B2 (en) * | 2002-02-12 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for instruction-level specification of floating point format |
US7181596B2 (en) * | 2002-02-12 | 2007-02-20 | Ip-First, Llc | Apparatus and method for extending a microprocessor instruction set |
US7328328B2 (en) * | 2002-02-19 | 2008-02-05 | Ip-First, Llc | Non-temporal memory reference control mechanism |
US7315921B2 (en) * | 2002-02-19 | 2008-01-01 | Ip-First, Llc | Apparatus and method for selective memory attribute control |
US7546446B2 (en) * | 2002-03-08 | 2009-06-09 | Ip-First, Llc | Selective interrupt suppression |
US7395412B2 (en) * | 2002-03-08 | 2008-07-01 | Ip-First, Llc | Apparatus and method for extending data modes in a microprocessor |
US7373483B2 (en) * | 2002-04-02 | 2008-05-13 | Ip-First, Llc | Mechanism for extending the number of registers in a microprocessor |
US7302551B2 (en) * | 2002-04-02 | 2007-11-27 | Ip-First, Llc | Suppression of store checking |
US7380103B2 (en) | 2002-04-02 | 2008-05-27 | Ip-First, Llc | Apparatus and method for selective control of results write back |
US7185180B2 (en) * | 2002-04-02 | 2007-02-27 | Ip-First, Llc | Apparatus and method for selective control of condition code write back |
US7380109B2 (en) * | 2002-04-15 | 2008-05-27 | Ip-First, Llc | Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor |
US7831979B2 (en) * | 2004-04-28 | 2010-11-09 | Agere Systems Inc. | Processor with instruction-based interrupt handling |
US20050278513A1 (en) | 2004-05-19 | 2005-12-15 | Aris Aristodemou | Systems and methods of dynamic branch prediction in a microprocessor |
US7886086B2 (en) * | 2005-02-03 | 2011-02-08 | International Business Machines Corporation | Method and apparatus for restricting input/output device peer-to-peer operations in a data processing system to improve reliability, availability, and serviceability |
JP4698285B2 (ja) * | 2005-05-19 | 2011-06-08 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US7971205B2 (en) * | 2005-12-01 | 2011-06-28 | International Business Machines Corporation | Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status |
WO2008122746A1 (en) * | 2007-04-10 | 2008-10-16 | Cambridge Consultants Limited | Data processing apparatus |
GB2448488B (en) * | 2007-04-10 | 2012-09-12 | Cambridge Consultants | Data processing apparatus |
GB2451845B (en) * | 2007-08-14 | 2010-03-17 | Imagination Tech Ltd | Compound instructions in a multi-threaded processor |
WO2010004242A2 (en) | 2008-07-10 | 2010-01-14 | Cambridge Consultants Limited | Data processing apparatus, for example using vector pointers |
US9361109B2 (en) * | 2010-05-24 | 2016-06-07 | Qualcomm Incorporated | System and method to evaluate a data value as an instruction |
JP2023151592A (ja) * | 2022-03-31 | 2023-10-16 | ソニーグループ株式会社 | 情報処理装置、及び情報処理装置の動作制御方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1603447A (ja) * | 1968-08-08 | 1971-04-19 | ||
US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
JPH04106653A (ja) * | 1990-08-28 | 1992-04-08 | Toshiba Corp | 並列処理システム |
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
US5513349A (en) * | 1994-03-24 | 1996-04-30 | International Business Machines Corporation | System and method for safing of asynchronous interrupts |
-
1996
- 1996-01-17 JP JP00618996A patent/JP3663710B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-10 US US08/781,718 patent/US6029222A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09198247A (ja) | 1997-07-31 |
US6029222A (en) | 2000-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3663710B2 (ja) | プログラムの生成方法およびプロセッサの割込制御方法 | |
JP2921190B2 (ja) | 並列実行方式 | |
JP2980178B2 (ja) | 並列プロセッサで処理する並列な命令ストリームを同期させる方法 | |
US8677330B2 (en) | Processors and compiling methods for processors | |
Bala et al. | Efficient instruction scheduling using finite state automata | |
JP2001282549A (ja) | プログラム変換装置及び方法並びに記録媒体 | |
JP2001147819A (ja) | 最適化装置および記録媒体 | |
JP2009524866A (ja) | プログラムの並列実行のためのシステム及び方法 | |
US8656393B2 (en) | Multi-core system | |
JP4784912B2 (ja) | 情報処理装置 | |
JP4462676B2 (ja) | プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH0659933A (ja) | コード変換装置 | |
JP2838939B2 (ja) | 並列命令実行方式 | |
JP2853460B2 (ja) | データロード方法及びそれを用いた演算プロセッサ | |
JP2003131888A (ja) | 手続き間命令スケジューリング方法 | |
JP3381253B2 (ja) | シミュレーション装置 | |
JP2798058B2 (ja) | ファイル読み込みコマンド生成処理システム及びファイル読み込み処理方法 | |
JPH03172958A (ja) | 同期処理方法および並列処理システムおよび並列処理方法および並列化プログラム生成装置 | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JPH0573335A (ja) | プログラムの自動インライン展開方式 | |
JPH08115220A (ja) | ループ最適化方法 | |
JP2001350627A (ja) | ディジタル信号プロセッサ、並列処理方法および記録媒体 | |
JPS63163636A (ja) | 並列処理実行方式 | |
JPH05265755A (ja) | 並列命令実行方式 | |
JPH11203145A (ja) | 命令スケジューリング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050207 |
|
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: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050321 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110408 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |