JP3566769B2 - 選択可能な処理用レジスタ - Google Patents
選択可能な処理用レジスタ Download PDFInfo
- Publication number
- JP3566769B2 JP3566769B2 JP00151895A JP151895A JP3566769B2 JP 3566769 B2 JP3566769 B2 JP 3566769B2 JP 00151895 A JP00151895 A JP 00151895A JP 151895 A JP151895 A JP 151895A JP 3566769 B2 JP3566769 B2 JP 3566769B2
- Authority
- JP
- Japan
- Prior art keywords
- registers
- register
- control field
- data processing
- data
- 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
- 238000003672 processing method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30098—Register arrangements
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【産業上の利用分野】
本発明はデータ処理分野に関するものであり、より詳細にはレジスタのより大きなグループから選択可能なレジスタ内に保持されたデータを処理することに関する。
【0002】
【従来技術】
処理用レジスタのアクセススピードとメモリのアクセススピードとの相対的な差が大きくなるにつれ、更に、超大規模の中央処理ユニットが多数の命令(これら命令のいずれも別個のレジスタを必要とする)を発生するようになるにつれ、処理に利用可能なレジスタファイルのサイズを拡大して、性能を高めるというニーズが増大している。
【0003】
添付図面中の図1には、選択可能なレジスタを有する集積回路の中央処理ユニットの一例が略図で示されている。この配列はザイログ社のZ80プロセッサで使用されている配列に類似している。このアーキテクチャでは、プロセッサには作動レジスタの2つの別個のバンク、すなわちバンクAとバンクBとが設けられている。マルチチャンネルのツーウェイマルチプレクサへ送られる選択信号(SelA/B)を生じさせる単一命令により、レジスタのうちの異なるバンクが選択され、データ処理に利用可能となる。バンクのうちのいずれが選択されたかに応じて、バンクAのレジスタのすべてが選択されるか、またはバンクBのレジスタのすべてが選択される。バンクAからいくつかのレジスタを選択し、更にバンクBからいくつかのレジスタを選択することはできない。従って、レジスタバンク間でデータを高速転送する方法はなく、各レジスタバンクは1つの別のアルゴリズムを実行しなければならない。
【0004】
別の方法としては、添付図面のうちの図2に略図で示されたサン社のスパーク(Sun SPARC )、インテルi960およびAMD29000によって利用されている方法がある。これらのアーキテクチャでは、一部がオーバーラップした多数のレジスタバンクが設けられている。サンスパークおよびインテルi960アーキテクチャは、固定サイズのウィンドウをサポートし、AMD29000は可変サイズのウィンドウをサポートしている。この機構は、リネームされるレジスタもあれば、リプレイスされるレジスタも生じるように、ウィンドウをオーバーラップさせることによりデータがウィンドウ間を通過できるようにしているが、この機構はレジスタ0から始まるレジスタの隣接する一組をリネームし、他のレジスタをリプレイスするので雑になっている。実際にこれらのアーキテクチャで作動するコンパイラはプロシージャ(手続き)コール用のレジスタウィンドウしか利用できない。
【0005】
更に他の方法としては、添付図面中の図3に略図で示されている方法がある。この方法では、ソフトウェアの制御により、レジスタの大きなプール内からの個々のレジスタに、特定のレジスタネームを割り当てできる。このような方法では、1つの命令により1つのレジスタがリネームされる。この方法はかなりの大きさのフレキシビリティを与えるが、リネームすべきレジスタごとに1つのレジスタリネーム命令を使用しなければならないので、プログラムサイズが大きくなり、レジスタリネーム命令により主演算ロジックユニットが停止しないように、超大規模の命令を発生しなければならない。
【0006】
【発明が解決しようとする課題】
本発明の課題は、上記問題を解消しながら、多数のレジスタにフレキシブルにアクセスする際の問題を解決することにある。
【0007】
【課題を解決するための手段】
本発明の1つの特徴によれば、
(i)処理すべきデータを保持するためのレジスタの複数の組と、
(ii)レジスタの各組ごとに、この組から、データ処理に利用すべき前記レジスタのすべてより少ないか、少なくとも1つのレジスタを選択するための選択手段とを備え、レジスタのその組から選択されなかったレジスタをデータ処理に利用しない、データを処理するための装置が提供される。
【0008】
この解決案によれば、上記課題は関連するレジスタの所定の組のうちのレジスタとスワップできるレジスタの数を制限することにより解決される。レジスタの組内では、ビジブルレジスタとインビジブルレジスタとをスワップする機構が働く。このように、レジスタの組内で行われるレジスタのスワッピングを制限することにより、レジスタのスワッピング方法を処理するのに不利な複雑な制御機構および制御命令の組を設けることを不要にしながら、レジスタの異なる組を別々に操作できるようにすることにより、フレキシビリティを得ている。
【0009】
本発明のある実施例では、レジスタの各組から2つ以上のレジスタを同時に選択できるが、本発明のより通常の好ましい実施例では、前記選択手段はレジスタの各組から1つのレジスタを選択してデータ処理に利用している。
【0010】
本発明の好ましい実施例では、レジスタ選択命令ワードに応答自在であり、前記選択手段によりどのレジスタを選択するかを制御するためのレジスタ制御手段が設けられ、前記レジスタ選択命令ワードはレジスタの各組に対する制御フィールドを含み、各制御フィールドはレジスタのそれぞれの組のうちからどのレジスタを選択すべきかを示す。
【0011】
レジスタ選択命令のうちにレジスタの各組に対し制御フィールドを設けることにより、単一命令を使ってシステムのフルレジスタコンフィギュレーションを制御できるようになった。このシステムにより、レジスタの組内に限りレジスタのスワッピングを制限することにより、このことが可能となっている。このことは、制御フィールドは比較的少数のビットでよいことを意味している。従って、インストラクションワード長さ内で充分なスペースが利用できる。
【0012】
従って制御フィールドは選択すべきレジスタの絶対的仕様を示すことが可能となると理解できよう。しかしながら、好ましい実施例では、前記レジスタ制御手段はレジスタの一組に対して現在選択されているレジスタおよび前記レジスタの組に対する制御フィールドに応答自在であり、よって、前記制御フィールドを2回連続して印加する結果、前記現在選択されているレジスタが再選択される。
【0013】
レジスタ制御手段がすでに選択されたレジスタに応答自在なシステムを設けることにより、同じプログラミングタスクのうちの先の部分によるか、またはマルチタスク環境における異なるアルゴリズムによるかのいずれかにより、既にどのレジスタが選択されているかをプログラマが知らなくてもよいという利点が得られる。このようにプログラマは、特定の物理的レジスタのどれが実際に関係するかを知らなくてもよく、レジスタのスワップを指定し、より重要なことに、特定のプロシージャコールまたは他のプログラムセグメントの終了時にそのスワップを反転し、プログラムの他の部分またはパラレルタスクによってとられたステートにプロセッサを回復できる。
【0014】
本発明の特に有効な実施例としては、前記制御フィールドはN個のビットを有し、前記レジスタの組は各々Nビットの数字によって識別される2N 個のレジスタを含み、レジスタの各組は1つの現在選択されているレジスタを含み、前記レジスタ制御手段は前記制御フィールドおよび前記現在選択されているレジスタを識別する前記Nビットの数字に排他的OR関数を適用し、選択すべき次のレジスタを識別するNビットの数字を発生する実施例がある。
【0015】
制御フィールドおよびその時選択されているレジスタを識別するNビット数に適用される排他的OR関数は、上記トランスペアレントな反転性を与えるように働く。
制御フィールドの長さと各組内のレジスタの数を適当に妥協させると、N=2となる。
利用可能なレジスタを選択できるレジスタの組の他に、前記レジスタの組のいずれにも属さない少なくとも1つの永続的に利用可能なレジスタを設けることが好ましい。
【0016】
これら永続的に利用できるレジスタは、プログラムカウンタ値を保持するレジスタまたはALUにより高速の数学的演算の前に数学的オペランドが内部にロードされる特定のレジスタを含むことができる。かかるレジスタは、常時必要であるか、またはレジスタのスワッピングが相当の利点を与えないような性質のものであるかのいずれかである。
【0017】
本発明を具現化する有利で簡単な機構としては、前記選択手段は、レジスタの各組内のレジスタを処理用論理に選択的に接続して、これらレジスタ内に保持されたデータを処理するようにするレジスタの各組に対して設けられたマルチプレクサを含む機構がある。
【0018】
本発明は集積回路中央処理ユニット内で最も有利に使用されるとも解される。
【0019】
本発明の別の特徴によれば、
(i)レジスタの複数の組内のレジスタのうちの選択されたレジスタ内で処理すべきデータを保持し、
(ii)レジスタの組ごとにこのレジスタの組から前記レジスタのすべてよりも少なく、かつ少なくとも1つのレジスタを選択してデータ処理に利用し、レジスタのその組から選択されなかったレジスタをデータ処理に利用しない諸工程を備えたデータ処理方法が提供される。
【0020】
添付図面を参照して下記の実施例の詳細な説明を読めば、本発明の上記およいそれ以外の目的、特徴および利点が明らかとなろう。
【0021】
【実施例】
図4は、一組のレジスタ2(レジスタ00、01、10および11)を示す。4ウェイマルチプレクサ4は、これらレジスタの組のうちの1つをレジスタバス6に選択的に接続する。この4ウェイマルチプレクサは、ラッチ8および10からの2ビットの入力信号により制御されており、ラッチ10は低いほうの位のビットを記憶し、ラッチ8は高いほうの位のビットを記憶する。こうしてラッチ8および10に記憶された2ビットのワードは4つのレジスタ00、01、10および11から対応する2ビットの識別番号を有するレジスタを選択する。
【0022】
ラッチ8および10の各々への入力信号は、それぞれ2ビットの排他的ORゲート12および14により供給される。排他的ORゲート12、14の各々は、対応するラッチ8、10の出力端からフィードバックされる1つの入力端および2ビットのレジスタ選択ワード(RegSel1、RegSel0)からの別の入力端を有する。2ビットのレジスタ選択ワードは、当該レジスタ2の組に対するレジスタ選択命令ワード内からの制御フィールドに対応している。下記の表1は、現在利用可能なレジスタと制御フィールド入力信号の種々の組み合わせに対する排他的OR演算の2ビットの結果を示す。
【0023】
【表1】
【0024】
従って、ラッチ8および10内に記憶されているビットにより識別される、現在利用可能なレジスタが「01」であり、制御フィールド入力信号が「10」であれば、排他的OR演算の出力は「11」となる。この「11」はラッチ8および10に記憶され、4ウェイマルチプレクサ4によりレジスタ「11」が選択される。
【0025】
下記の機能を有するような種々の制御フィールド入力信号を考えることができる。
00 − このレジスタをスワップしない。
01 − このレジスタをシブリング(兄弟)1とスワップする。
10 − このレジスタをシブリング2とスワップする。
11 − このレジスタをシブリング3とスワップする。
【0026】
排他的OR関数の演算は、特定の制御フィールド入力信号の印加が自己の逆関数としてはたらくような特性を備えた、自己割り当てのシブリング1、2および3を、各レジスタが有するようになっている。従って、現在利用可能なレジスタが「10」で、印加された制御フィールド入力信号が「11」であれば、現在利用可能なレジスタは「01」に変わる。現在利用可能なレジスタが「01」であり、同じ制御フィールド入力信号「11」が印加されると、その結果は「10」となり、最初利用可能であったレジスタと同じになる。
【0027】
図5は、図4に示したレジスタ2の12の組を内蔵するシステムを示す。このシステムは永続的に利用可能なプログラムカウンタレジスタ16と、永続的に利用可能な演算オペランドレジスタA、BおよびCも含む。図5に示されたシステムが一部を構成している中央演算ユニット内で、レジスタ選択命令が実行されると、制御フィールドストア18内にレジスタのそれぞれの組に対する12の制御フィールドがロードされる。制御フィールドストア18からそれぞれの2ビットの制御フィールドが対応するレジスタ2の組のうちの排他的ORゲート12、14へ送られる。
【0028】
システムの初期化の際に、レジスタ2の各組からのレジスタ「00」は、利用可能なものと選択され、制御フィールドストア18に24ビットワード「00、00、00、00、00、00、00、00、00、00、00、00」がロードされ、どのレジスタのスワップも不要であることが示される。次に図5内の排他的ORゲート12、14の対の各々に、これら制御フィールド値が示される。レジスタ2の組のうちの選択されたレジスタは黒色で示されている。
【0029】
図6は、レジスタのこれら組のうちのいくつかに対し、異なるレジスタを選択することを示している。レジスタの組20はそのシブリング1とスワップすべきであり、レジスタの組22はそのシブリング3とスワップすべきであり、レジスタの組24はそのシブリング2とスワップすべきであり、レジスタの組26はそのシブリング1とスワップすべきである。このような選択を行う制御フィールド入力信号は、「00、01、00、00、11、00、00、10、01、00、00、00」となっている。これらの制御フィールド値は、まず排他的ORゲート12、14へ印加され、その結果生じる排他的ORゲート12、14からの出力信号がラッチ8、10に保持され、4ウェイマルチプレクサ4を制御する。こうして選択されたレジスタはレジスタバス28に接続される。このレジスタバス28には、永続的に利用可能なレジスタPC、A、BおよびCも接続されている。
【0030】
図7は、図6に示した選択の後の更なるレジスタ選択を行う、後の動作を示す。この場合、レジスタの組24、26、30および32を除くレジスタの組のすべては、「00」の制御フィールドを加えることにより変わらないままになっている。従って、これらの変わらないレジスタの組は、図6からの選択されたレジスタが先に印加された制御フィールドに応じて選択されたレジスタ00または他のレジスタであるかに応じて、この図6からの選択されたレジスタを維持する。
【0031】
レジスタの組30は、先に選択されたレジスタ00に対してそのシブリング2を選択する。すなわちレジスタ2を選択する。レジスタの組32も先に選択されたレジスタ00に対しそのシブリング2を選択する。レジスタの組24は、先に選択されたレジスタ10に対してそのシブリング3を選択する。表1を参照すると、現在利用可能なレジスタが10であり、シブリング3を選択するための印加された制御フィールド入力信号が「11」である場合、排他的OR演算の結果は、「01」となり、これは選択されるシブリングを示している。すなわちレジスタ10に対するシブリング3は、レジスタ01となる。
【0032】
同様にして、図6におけるレジスタ26の組からのレジスタ01は、「01」の制御フィールド入力信号と排他的OR演算され、「00」の出力信号が発生され、図7のレジスタ26の組に対しレジスタ00が選択される。
【0033】
図8は、図7に示されたように、先に選択されたレジスタに対して行われる別のレジスタ選択演算を示す。この場合、レジスタ20および22の組に対してのみ、レジスタのスワッピングが行われる。レジスタの組に加えられる制御フィールドは、図6において加えられた制御フィールドと同じであるので、レジスタ20の組に対して制御フィールド「01」が加えられ、その時選択されているレジスタ01に作用し、新しく選択されたレジスタ00が生じる。従って、図6で加えられていたフィールドと同じ制御フィールドが再印加される結果、元のレジスタ00が再選択される。すなわち制御フィールド入力信号は有効的に自己の逆関数となり、制御フィールドを2回印加することにより元の結果が生じる。
【0034】
同様にして、レジスタ22の組に対する制御フィールド入力は、表1から判るように「11」となり、新しく選択されたレジスタ00が生じる。
【0035】
以上で添付図面を参照して本発明の実施例について詳細に説明したが、本発明は記載した実施例のみに限定されるものでなく、当業者には、特許請求の範囲に記載の発明の範囲および精神から逸脱することなく、種々の変形および変更を行うことができると理解すべきである。
【図面の簡単な説明】
【図1】選択可能なレジスタを構成する1つの公知のアーキテクチャを示す。
【図2】選択可能なレジスタを構成する別の公知のアーキテクチャを示す。
【図3】選択可能なレジスタを構成する更に別の公知のアーキテクチャを示す。
【図4】処理のため、利用すべき特定のレジスタをその中から選択するレジスタの一組を示す。
【図5】利用すべきレジスタをその中から選択することができる、複数の組のレジスタを有する集積回路中央処理ユニット用のレジスタの配列を示す。
【図6】図5の配列における動作を略図で示す。
【図7】図5の配列における動作を略図で示す。
【図8】図5の配列における動作を略図で示す。
【符号の説明】
2 レジスタ
4 4ウェイマルチプレクサ
6 レジスタバス
8、10 ラッチ
12、14 排他的ORゲート
16 プログラムカウンタレジスタ
A、B、C オペランドレジスタ
18 制御フィールドストア
20、22、24、26、30 レジスタの組
Claims (10)
- (i)処理すべきデータを保持するためのレジスタの複数の組と、
(ii)レジスタの各組ごとに、この組から、データ処理に利用すべき前記レジスタのすべてより少ないか、少なくとも1つのレジスタを選択するための選択手段とを備え、レジスタのその組から選択されなかったレジスタをデータ処理に利用しない、データを処理するための装置。 - 前記選択手段は、レジスタの各組からデータ処理に利用すべき1つのレジスタを選択する請求項1記載の装置。
- レジスタ選択命令ワードに応答自在であり、前記選択手段によりどのレジスタを選択するかを制御するためのレジスタ制御手段を含み、前記レジスタ選択命令ワードはレジスタの各組に対する制御フィールドを含み、各制御フィールドはレジスタのそれぞれの組のうちからどのレジスタを選択すべきかを示す請求項1記載の装置。
- 前記レジスタ制御手段はレジスタの一組に対して現在選択されているレジスタおよび前記レジスタの組に対する制御フィールドに応答自在であり、よって、前記制御フィールドを2回連続して印加する結果、前記現在選択されているレジスタが再選択されるようになっている請求項3記載の装置。
- 前記制御フィールドはN個のビットを有し、前記レジスタの組は各々Nビットの数字によって識別される2N 個のレジスタを含み、レジスタの各組は1つの現在選択されているレジスタを含み、前記レジスタ制御手段は前記制御フィールドおよび前記現在選択されているレジスタを識別する前記Nビットの数字に排他的OR関数を適用し、選択すべき次のレジスタを識別するNビットの数字を発生する請求項4記載の装置。
- N=2である請求項5記載の装置。
- 前記レジスタの組のいずれにも属さない、少なくとも1つの永続的に利用できるレジスタを含む請求項1記載の装置。
- 前記選択手段は、レジスタの各組内のレジスタを処理用論理に選択的に接続して、これらレジスタ内に保持されたデータを処理するようにするレジスタの各組に対して設けられたマルチプレクサを含む、請求項1記載の装置。
- 集積回路の中央処理ユニットを含む請求項1記載の装置。
- (i)レジスタの複数の組内のレジスタのうちの選択されたレジスタ内で処理すべきデータを保持し、
(ii)レジスタの組ごとにこのレジスタの組から前記レジスタのすべてよりも少なく、かつ少なくとも1つのレジスタを選択してデータ処理に利用し、レジスタのその組から選択されなかったレジスタをデータ処理に利用しない諸工程を備えたデータ処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB94015013 | 1994-01-26 | ||
GB9401501A GB2286265B (en) | 1994-01-26 | 1994-01-26 | selectable processing registers |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07253884A JPH07253884A (ja) | 1995-10-03 |
JP3566769B2 true JP3566769B2 (ja) | 2004-09-15 |
Family
ID=10749369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00151895A Expired - Fee Related JP3566769B2 (ja) | 1994-01-26 | 1995-01-09 | 選択可能な処理用レジスタ |
Country Status (3)
Country | Link |
---|---|
US (1) | US5737625A (ja) |
JP (1) | JP3566769B2 (ja) |
GB (1) | GB2286265B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2308470B (en) * | 1995-12-22 | 2000-02-16 | Nokia Mobile Phones Ltd | Program memory scheme for processors |
US20010025337A1 (en) * | 1996-06-10 | 2001-09-27 | Frank Worrell | Microprocessor including a mode detector for setting compression mode |
US5903919A (en) * | 1997-10-07 | 1999-05-11 | Motorola, Inc. | Method and apparatus for selecting a register bank |
US6012138A (en) * | 1997-12-19 | 2000-01-04 | Lsi Logic Corporation | Dynamically variable length CPU pipeline for efficiently executing two instruction sets |
US5974531A (en) * | 1998-02-17 | 1999-10-26 | Industrial Technology Research Institute | Methods and systems of stack renaming for superscalar stack-based data processors |
US7171547B1 (en) * | 1999-12-28 | 2007-01-30 | Intel Corporation | Method and apparatus to save processor architectural state for later process resumption |
US6633969B1 (en) | 2000-08-11 | 2003-10-14 | Lsi Logic Corporation | Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions |
JP3817436B2 (ja) | 2000-09-28 | 2006-09-06 | 株式会社東芝 | プロセッサおよびリネーミング装置 |
JP2006039874A (ja) | 2004-07-26 | 2006-02-09 | Fujitsu Ltd | 情報処理装置 |
US7203100B2 (en) | 2004-11-01 | 2007-04-10 | Sun Mircosystems, Inc. | Efficient implementation of a read scheme for multi-threaded register file |
US7421566B2 (en) | 2005-08-12 | 2008-09-02 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US20070038984A1 (en) * | 2005-08-12 | 2007-02-15 | Gschwind Michael K | Methods for generating code for an architecture encoding an extended register specification |
CN103460180B (zh) * | 2011-03-25 | 2017-04-26 | 飞思卡尔半导体公司 | 带有断言寄存器的处理器系统、计算机系统和用于管理断言的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4598358A (en) * | 1980-02-11 | 1986-07-01 | At&T Bell Laboratories | Pipelined digital signal processor using a common data and control bus |
JPS6140650A (ja) * | 1984-08-02 | 1986-02-26 | Nec Corp | マイクロコンピユ−タ |
JPS6298434A (ja) * | 1985-10-25 | 1987-05-07 | Hitachi Ltd | デ−タ処理システム |
JPS63156236A (ja) * | 1986-12-19 | 1988-06-29 | Toshiba Corp | レジスタ装置 |
JPH01230125A (ja) * | 1988-03-10 | 1989-09-13 | Nec Corp | レジスタの部分的更新機能を持つデータ処理装置 |
JPH0795277B2 (ja) * | 1988-11-25 | 1995-10-11 | 日本電気株式会社 | データ処理装置 |
JPH0689269A (ja) * | 1991-02-13 | 1994-03-29 | Hewlett Packard Co <Hp> | プロセッサの制御装置、プロセッサの休止装置およびそれらの方法 |
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
KR100294276B1 (ko) * | 1991-07-08 | 2001-09-17 | 야스카와 히데아키 | 고속트랩및예외상태를구현한알아이에스씨마이크로프로세서구조 |
DE4208459A1 (de) * | 1992-03-17 | 1993-09-23 | Philips Patentverwaltung | Schaltungsanordnung zur verarbeitung von eingabe/ausgabedaten |
JP2883784B2 (ja) * | 1993-04-27 | 1999-04-19 | 株式会社東芝 | マイクロコンピュータ |
-
1994
- 1994-01-26 GB GB9401501A patent/GB2286265B/en not_active Expired - Fee Related
-
1995
- 1995-01-09 JP JP00151895A patent/JP3566769B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-31 US US08/742,071 patent/US5737625A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2286265B (en) | 1998-02-18 |
US5737625A (en) | 1998-04-07 |
JPH07253884A (ja) | 1995-10-03 |
GB2286265A (en) | 1995-08-09 |
GB9401501D0 (en) | 1994-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3566769B2 (ja) | 選択可能な処理用レジスタ | |
EP0378830B1 (en) | Method and apparatus for handling multiple condition codes as for a parallel pipeline computer | |
CN110580175A (zh) | 可变格式、可变稀疏矩阵乘法指令 | |
US5710902A (en) | Instruction dependency chain indentifier | |
US20070033381A1 (en) | Conditional execution with multiple destination stores | |
US20140281396A1 (en) | Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks | |
EP3623941A2 (en) | Systems and methods for performing instructions specifying ternary tile logic operations | |
JP2834292B2 (ja) | データ・プロセッサ | |
US5249148A (en) | Method and apparatus for performing restricted modulo arithmetic | |
EP3736689B1 (en) | Method and apparatus for performing a vector bit shuffle | |
WO2013101132A1 (en) | Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions | |
JP6745021B2 (ja) | 競合検出を実行するための方法および装置 | |
US5913054A (en) | Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle | |
US20160179520A1 (en) | Method and apparatus for variably expanding between mask and vector registers | |
EP3547115B1 (en) | Efficient implementation of complex vector fused multiply add and complex vector multiply | |
US20190227797A1 (en) | Apparatus and method for vector multiply and accumulate of packed words | |
WO2013095629A1 (en) | Apparatus and method for vector instructions for large integer arithmetic | |
CN108139911B (zh) | 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格 | |
KR20000053047A (ko) | Risc 구조의 8비트 마이크로 제어기 | |
EP4020173B1 (en) | Apparatuses, methods, and systems for instructions for loading a tile of a matrix operations accelerator | |
JPH06103062A (ja) | コンピュータ処理装置に利用できるレジスタ数を増大させる装置 | |
US5546551A (en) | Method and circuitry for saving and restoring status information in a pipelined computer | |
US5724572A (en) | Method and apparatus for processing null terminated character strings | |
US20190042236A1 (en) | Apparatus and method for vector multiply and accumulate of packed bytes | |
KR20040111559A (ko) | 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040520 |
|
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: 20040601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040611 |
|
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: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |