JPH08212074A - Address comparator array - Google Patents

Address comparator array

Info

Publication number
JPH08212074A
JPH08212074A JP29913795A JP29913795A JPH08212074A JP H08212074 A JPH08212074 A JP H08212074A JP 29913795 A JP29913795 A JP 29913795A JP 29913795 A JP29913795 A JP 29913795A JP H08212074 A JPH08212074 A JP H08212074A
Authority
JP
Japan
Prior art keywords
address
source
target
register
instruction
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.)
Pending
Application number
JP29913795A
Other languages
Japanese (ja)
Inventor
Chang Shain
シャイン・チャング
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH08212074A publication Critical patent/JPH08212074A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the using chip area at the time of mounting a comparator which detects the collision of the writing target register address of the preceding instruction of the computer of a pipeline architecture with the source register address of a present instruction in an LSI. SOLUTION: Each bit line S00,/S00, 801, /S01,... of a source address and each bit line T00,/T00, T01,/T01,... of a target address are vertically and horizontally arranged, and a bit comparator 32 is provided at each cross point of those lines. The wired logic of the outputs of those bit comparators 32 is operated by a block 34, and a signal indicating whether or not both the addresses are coincident is obtained.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、有限状態マシン、詳細
にはパイプライン・アーキテクチャを使用するレジスタ
・マシンに関するものである。本発明は、先行ソース・
アドレスと現行ターゲット・アドレスとの間で起こる可
能性のあるアドレス衝突を解消するアドレス・コンパレ
ータ・アレイを提供する。
FIELD OF THE INVENTION The present invention relates to finite state machines, and more particularly to register machines using pipeline architectures. The invention is a leading source
An address comparator array is provided that resolves potential address conflicts between an address and the current target address.

【0002】[0002]

【従来技術及びその問題点】自動車からパソコンまで日
常生活で使用されている機械の多くは、マイクプロセッ
サによって制御されている。マイクロプロセッサは、高
度なデジタル計算から自動車の診断にいたるまで、多種
多様な機能を果たしている。マイクロプロセッサの性能
は、パイプライン・アーキテクチャを使用して命令を実
行して命令スループットを増大させることによって改善
される。
2. Description of the Related Art Many of the machines used in daily life, from automobiles to personal computers, are controlled by microphone processors. Microprocessors perform a wide variety of functions, from advanced digital computing to automobile diagnostics. Microprocessor performance is improved by executing instructions using a pipeline architecture to increase instruction throughput.

【0003】パイプライン・アーキテクチャにおいて
は、命令はストリームの形で実行される。現行命令は先
行命令がまだ実行中に実行される。すなわち、現行命令
は先行命令が完了する前に開始される。各命令はいくつ
かのステージに分けられ、これによりこれらの命令は互
いにステージ1つ分の間隔で実行を開始できる。例えば
命令は、命令フェッチ、命令デコード、命令実行、実行
結果の記憶の4つのパイプラインステージで実行するこ
とができる。一般的に、1つの命令全体を実行するのに
数サイクルを要するとしても、これらの命令は互いに1
サイクルの間隔を空けて実行を終了できる。その上、命
令によっては、浮動小数点加算や乗算など実行のために
複数のステージをもつこともある。
In pipeline architectures, instructions are executed in streams. The current instruction is executed while the predecessor instruction is still executing. That is, the current instruction starts before the previous instruction completes. Each instruction is divided into several stages, so that these instructions can start executing one stage apart from each other. For example, an instruction can be executed in four pipeline stages: instruction fetch, instruction decode, instruction execution, and storage of execution result. Generally, these instructions are 1-to-one with each other, even though it takes several cycles to execute an entire instruction.
Execution can end after a cycle. In addition, some instructions may have multiple stages for execution such as floating point addition and multiplication.

【0004】パイプライン・アーキテクチャにはいくつ
かのデータ依存関係が存在する。図1は、パイプライン
式の命令シーケンスについての簡略化されたデータ依存
関係を示している。第1の命令(I0)が動作R1+R
2=R3を要求している間に、すぐ次に続く第2の命令
(I1)が動作R3+R4=R5を要求するという例を
見てみよう。各命令は完了するのに4サイクルかかる。
第1のサイクル中に命令I0がフェッチされる。第2の
サイクル中には、命令I0がデコードされ、レジスタR
1とR2からのソース・オペランドが読出されている間
に、命令I1がフェッチされる。第3のサイクル中に
は、命令I0がソース・オペランドを実行し、命令I1
がデコードされ、更にレジスタがアクセスされている間
に、命令I2がフェッチされる。第4のサイクル中に
は、命令I0の結果がレジスタR3に記憶されるが、そ
の間に命令I1が次の結果を得るためにオペランドを実
行する。しかしながら、命令I1が実行されるまでには
レジスタR3がまだ更新されていない(すなわち、命令
I0が完了していない)ので、命令I1の結果は誤りと
なる。
There are several data dependencies in pipeline architectures. FIG. 1 shows a simplified data dependency for a pipelined instruction sequence. The first instruction (I0) operates R1 + R
Let's look at an example in which while requesting 2 = R3, the immediately following second instruction (I1) requests operation R3 + R4 = R5. Each instruction takes 4 cycles to complete.
Instruction I0 is fetched during the first cycle. During the second cycle, instruction I0 is decoded and register R
Instruction I1 is fetched while the source operands from 1 and R2 are being read. During the third cycle, instruction I0 executes the source operand and instruction I1
Is decoded and instruction I2 is fetched while the register is being accessed. During the fourth cycle, the result of instruction I0 is stored in register R3, while instruction I1 executes the operand to obtain the next result. However, since the register R3 has not been updated by the time the instruction I1 is executed (that is, the instruction I0 has not been completed), the result of the instruction I1 is erroneous.

【0005】このようなデータ依存衝突(data dependen
cy conflict)は、命令を検査して、希望するソース・ア
ドレスがアクティブなターゲット・アドレスと衝突して
いるかどうかを判定することによって回避できる。デー
タが使えるようになっているがまだターゲット・アドレ
スに書き込まれていない場合には、新しいデータをバイ
パスする。この新しいデータは、レジスタ・ファイルか
ら読出す代わりに機能ユニットへの代替入力として直接
的に使用することができる。これが可能なのは、データ
が使えるようになっているがレジスタ・ファイル中では
まだ更新されていないからである。しかしながら、パイ
プラインの実行ステージが複数のサイクルを要する場合
には、新しいデータは現行命令から使えるようにはなっ
ていない。これらの条件下では、パイプラインをストー
ルしなければらない。すなわち、現行命令がパイプライ
ンに入るのが遅延させられる。いずれにしても、このよ
うな衝突が存在する場合には、全実行時間が不都合にも
増大してしまう。
Such a data dependen
cy conflict) can be avoided by examining the instruction to determine if the desired source address conflicts with the active target address. If the data is available but not yet written to the target address, bypass the new data. This new data can be used directly as an alternative input to the functional unit instead of reading it from the register file. This is possible because the data is available but not yet updated in the register file. However, if the pipeline execution stage requires multiple cycles, new data is not available to the current instruction. Under these conditions, the pipeline must be stalled. That is, the current instruction is delayed from entering the pipeline. In any case, if such a conflict exists, the total execution time undesirably increases.

【0006】命令を検査し、データ依存衝突を管理する
従来の制御論理は、組合わせ論理回路で実現されてい
る。制御論理は、現行ソース・レジスタ・アドレスと先
行ターゲット・レジスタ・アドレスのいくつかを比較す
るように動作する。図2は、データ依存衝突を検出する
ために使用することができる従来の制御論理を示してい
る。従来の制御論理の動作を図1を参照して説明する。
第3サイクル中、命令I0が実行されている間に、命令
I1に必要なレジスタR3とR4のソース・アドレス
が、命令I0によって更新されるレジスタR3のターゲ
ット・アドレスと比較される。従って、現行命令がデコ
ードされるとき、R3データが必要になる第3サイクル
の開始時にR3用の最も新しいデータが選択できるよう
に、ソース・アドレスが(まだ完了していない)先行命
令のターゲット・レジスタ・アドレスと比較される。
Conventional control logic for inspecting instructions and managing data-dependent conflicts is implemented in combinatorial logic circuits. The control logic operates to compare the current source register address with some of the preceding target register addresses. FIG. 2 illustrates conventional control logic that can be used to detect data dependent conflicts. The operation of the conventional control logic will be described with reference to FIG.
During the third cycle, while instruction I0 is being executed, the source addresses of registers R3 and R4 required by instruction I1 are compared with the target address of register R3, which is updated by instruction I0. Therefore, when the current instruction is decoded, the source address is the target of the predecessor instruction (not yet completed) so that the newest data for R3 can be selected at the beginning of the third cycle when R3 data is needed. Compared to register address.

【0007】従来の制御論理は衝突の検出に有効である
とはいえ、この論理にはいくつかの欠点がある。まず第
1に、必要とされる組合わせ論理は、パイプラインの状
態数を複雑に増大させる。第2に、ゲートの物理的配置
が不規則であり、大きなサブストレート面積を占有す
る。その上、スーパースカラ命令や超長命令言語(VL
IW)設計のようなN個の多機能ユニットをもつレジス
タベースのマシンでは、組合わせ論理による従来の実装
では複雑さがNの2乗に比例して増大するので、とりわ
け厄介である。
While conventional control logic is effective at detecting collisions, it has several drawbacks. First of all, the combinational logic required complicates the number of states in the pipeline. Second, the physical layout of the gates is irregular and occupies a large substrate area. In addition, superscalar instructions and very long instruction languages (VL
Register-based machines with N multifunctional units, such as the (IW) design, are particularly troublesome because conventional implementations of combinatorial logic increase complexity in proportion to N squared.

【0008】[0008]

【目的】従って、データ依存衝突を識別し解消するため
に規則正しくかつスケーリング可能なIC設計が必要で
ある。性能を改善し、サブストレート面積のより有効な
利用を実現するためには、構造的にすぐれた性能の回路
を生み出すことだけでなく、構造自体が規則正しい物理
的配置をもつことが望ましい。
Objective: Therefore, there is a need for a regular and scalable IC design to identify and resolve data dependent conflicts. In order to improve performance and achieve more efficient use of substrate area, it is desirable not only to produce a circuit with structurally superior performance, but also for the structure itself to have a regular physical layout.

【0009】[0009]

【概要】アドレス・コンパレータ・アレイは、現行レジ
スタソースをまだアクティブな状態にある先行ターゲッ
ト・レジスタ・アドレスと比較することによってアクセ
ス中のレジスタ・ファイルの潜在的なデータ依存衝突を
解消する。アドレス・コンパレータ・アレイは、夫々が
ソース・グループとターゲット・グループに分けられた
行と列を有する。ソース・グループは、読出されたレジ
スタのソース・アドレスに対応し、一方、ターゲット・
グループはこれから書込まれるレジスタのターゲット・
アドレスに対応する。現行命令のソース・アドレスの各
ビットが、ターゲット・アドレスの対応ビットと比較さ
れる。これらのビットがすべて一致していれば、これら
両アドレスが一致しているとみなされる。現行のソース
・レジスタ・アドレスが先行するアクティブなターゲッ
ト・レジスタ・アドレスと一致しているとき、アドレス
・コンパレータ・アレイは、新しいデータの準備ができ
ているかどうかによって、バイパス選択信号または部分
ストール信号を発生する。複数の部分ストール信号が論
理ORされて、パイプラインをストールし先行ターゲッ
ト・レジスタ・アドレスからの読出しを拒否するストー
ル信号を発生する。複数のバイパス選択信号は夫々、先
行ターゲット・レジスタ・アドレスからのデータの代わ
りに新しいデータからソース・オペランドを選択するた
めに使用される。
Overview The address comparator array resolves potential data-dependent conflicts in the register file being accessed by comparing the current register source with the previous target register address that is still active. The address comparator array has rows and columns, each divided into a source group and a target group. The source group corresponds to the source address of the register being read, while the target group
The group is the target of the register to be written.
Corresponds to the address. Each bit of the source address of the current instruction is compared with the corresponding bit of the target address. If all these bits match, then these two addresses are considered to match. When the current source register address matches the preceding active target register address, the address comparator array sends a bypass select signal or partial stall signal, depending on whether or not new data is ready. appear. The partial stall signals are logically OR'ed to generate a stall signal that stalls the pipeline and refuses to read from the previous target register address. Each of the plurality of bypass select signals is used to select a source operand from new data instead of data from a previous target register address.

【0010】好ましい実施例においては、アドレス・コ
ンパレータ・アレイは、2つのレベルの論理を有する。
第1の論理レベルはワイヤードOR回路として実現され
るところの、部分ストール信号あるいはバイパス選択信
号を発生するための複数ビットの排他NOR及びAND
論理回路である、第2の論理レベルは、第1の論理レベ
ルから部分ストール信号をすべて取出し、それらをワイ
ヤードORして最終的なストール信号を発生する。アレ
イが2次元であるという性質から、ソース及びターゲッ
ト・アドレス・ラインは、効率よく互いにクロスチェッ
クされる。更に、アレイの規則正しい性質によってサブ
ストレートが経済的に使用される。
In the preferred embodiment, the address comparator array has two levels of logic.
The first logic level is implemented as a wired OR circuit, which is a multiple bit exclusive NOR and AND for generating a partial stall signal or a bypass selection signal.
The second logic level, which is a logic circuit, takes all partial stall signals from the first logic level and wired-ORs them to generate the final stall signal. Due to the two-dimensional nature of the array, the source and target address lines are efficiently cross-checked with each other. Moreover, the regular nature of the array makes the substrate economical to use.

【0011】[0011]

【実施例】アドレス・コンパレータ・アレイは、現行レ
ジスタソース・アドレスを先行ターゲット・レジスタ・
アドレスと突き合わせることにより、同時にアクセスさ
れるレジスタに関するデータ依存衝突を解消する。アド
レス・コンパレータ・アレイは、夫々がソース・グルー
プとターゲット・グループに分かれている行と列を有す
る。ソース・グループは、そこから読出しが行われたレ
ジスタのソース・アドレスに対応する。ターゲット・グ
ループは、これから書込まれるレジスタのターゲット・
アドレスに対応する。各ソース・アドレスごとに、ソー
ス・アドレスの各ビットがターゲット・アドレスの対応
ビットと比較される。個々のビットがすべて等しい場合
には、一致信号が発生する。この一致信号は、部分スト
ール信号またはバイパス選択信号のどちらかである。次
に、すべての部分ストール信号をORして、パイプライ
ン・ストール信号を発生する。パイプライン・ストール
信号は、他のパイプライン・ストール信号と論理ORし
て、パイプラインをストールする最終的なインタロック
信号を発生することができる。他のパイプライン・スト
ール信号の例には、キャッシュ・ミスや変換索引バッフ
ァ・ミスがある。個々のバイパス選択信号は、ソース・
オペランドとして正しいデータを選択するために使用さ
れる。すなわち、各バイパス信号を個別に使用して、ソ
ース・オペランドとして最も新しいデータから選択する
ことができる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The address comparator array compares the current register source address with the previous target register
Matching addresses eliminates data-dependent conflicts for simultaneously accessed registers. The address comparator array has rows and columns, each divided into a source group and a target group. The source group corresponds to the source address of the register from which it was read. The target group is the target of the register to be written.
Corresponds to the address. For each source address, each bit of the source address is compared with the corresponding bit of the target address. If all the individual bits are equal, a match signal is generated. This match signal is either a partial stall signal or a bypass select signal. Then, all partial stall signals are ORed together to generate a pipeline stall signal. The pipeline stall signal can be logically ORed with other pipeline stall signals to generate the final interlock signal that stalls the pipeline. Examples of other pipeline stall signals are cache misses and translation lookaside buffer misses. The individual bypass select signals are
Used to select the correct data as an operand. That is, each bypass signal can be used individually to select from the most recent data as the source operand.

【0012】図3は、アドレス・コンパレータ・アレイ
12を使用するパイプライン式レジスタ・マシン10の
ブロック・ダイアグラムを示している。マイクロシーケ
ンサ14は、命令デコーダ16とアドレス・コンパレー
タ・アレイ12とターゲット・アドレス・レジスタ20
に接続されている。デコーダ16は、パイプライン方式
での命令のストリーム中の現行命令を受取ってデコード
する。レジスタ・ファイル18は複数のレジスタを有す
る。この実施例において、各レジスタは第1の読出しポ
ートと第2の読出しポート、更に1つの書込みポートを
有する。パイプライン化された一連のターゲット・レジ
スタ・アドレス・ラッチ20はマイクロシーケンサ14
と命令デコーダ16とレジスタ・ファイル18に接続さ
れている。一連のターゲット・レジスタ・アドレス・ラ
ッチ20は、パイプライン式レジスタ・マシンによって
処理中のパイプライン化された命令ストリーム中の、先
行する諸命令のターゲット・レジスタ・アドレスを記憶
する。2つのパイプライン化された一連のソース・レジ
スタ・アドレス・ラッチ22A、22Bは、レジスタ・
ファイル18と命令デコーダ16に接続されている。各
ソース・アドレス・ラッチは、現行命令の2つのソース
・レジスタ・アドレスのうちの対応する方から値を受取
って記憶する。2つのマルチプレクサ24A、24B
は、パイプライン式レジスタ19、21を通してレジス
タ・ファイル18に接続され、またアドレス・コンパレ
ータ・アレイ12に接続されている。パイプライン式レ
ジスタ19、21はレジスタ・ファイル18から読出し
たデータをラッチする。演算論理ユニット26または何
らかの機能ユニットが2つのマルチプレクサ24A、2
4Bに接続されている。ターゲット・ラッチ28は、演
算論理ユニット26とマルチプレクサ24A、24Bと
レジスタ・ファイル18に接続されている。クロック
(ここでは図示せず)は、各一連のアドレス・ラッチ2
0、22A、22Bとパイプライン式レジスタ19、2
1とターゲット・ラッチ28にCLK信号を与える。ア
ドレス・コンパレータ・アレイ12は、命令デコーダ1
6とマイクロシーケンサ14と一連のターゲット・レジ
スタ・アドレス・ラッチ20とマルチプレクサ24A、
24Bに接続されている。
FIG. 3 shows a block diagram of a pipelined register machine 10 that uses an address comparator array 12. The microsequencer 14 includes an instruction decoder 16, an address comparator array 12, and a target address register 20.
It is connected to the. Decoder 16 receives and decodes the current instruction in the pipelined instruction stream. The register file 18 has a plurality of registers. In this embodiment, each register has a first read port, a second read port, and a write port. A series of pipelined target register address latches 20 are provided by the microsequencer 14
Is connected to the instruction decoder 16 and the register file 18. A series of target register address latches 20 store the target register addresses of the preceding instructions in the pipelined instruction stream being processed by the pipelined register machine. Two pipelined series of source register address latches 22A, 22B are
It is connected to the file 18 and the instruction decoder 16. Each source address latch receives and stores a value from the corresponding one of the two source register addresses of the current instruction. Two multiplexers 24A, 24B
Are connected to register file 18 through pipelined registers 19, 21 and to address comparator array 12. The pipelined registers 19, 21 latch the data read from the register file 18. The arithmetic logic unit 26 or some functional unit has two multiplexers 24A, 2
4B is connected. The target latch 28 is connected to the arithmetic logic unit 26, the multiplexers 24A and 24B, and the register file 18. A clock (not shown here) is provided for each series of address latches 2.
0, 22A, 22B and pipeline type registers 19, 2
1 and the target latch 28 with the CLK signal. The address comparator array 12 is the instruction decoder 1
6, a microsequencer 14, a series of target register address latches 20 and a multiplexer 24A,
It is connected to 24B.

【0013】命令デコーダ16は、パイプライン化され
た命令ストリームから現行命令を受取り、命令をデコー
ドしてレジスタ・アドレスについてのオペランドを得
る。レジスタ・アドレスには第1のソース・レジスタ・
アドレスと第2のソース・レジスタ・アドレスと1つの
ターゲット・レジスタ・アドレスが含まれる。第1及び
第2のソース・レジスタ・アドレスは、パイプライン化
された一連のソース・レジスタ・アドレス・ラッチ22
A、22Bのうちの対応する方にロードされる。ターゲ
ット・レジスタ・アドレスは、パイプライン化された一
連のターゲット・レジスタ・アドレス・ラッチ20にロ
ードされる。レジスタ・アドレスがそれに対応する一連
のラッチにロードされ終わったら、この現行命令が先行
命令となり、命令デコーダ16は、新しい現行命令をフ
ェッチする。マイクロシーケンサ14はレジスタ・マシ
ン10のなかのパイプライン化された命令ストリームの
実行を制御する。アドレス・コンパレータ・アレイ12
は、命令デコーダ16から2つの現行ソース・レジスタ
・アドレスを、また一連のターゲット・レジスタ・アド
レス・ラッチの20からアクティブなターゲット・レジ
スタ・アドレスを受取る。各現行ソース・レジスタ・ア
ドレスは、アドレス・コンパレータ・アレイによって、
アクティブなターゲット・レジスタ・アドレスの各々と
比較される。比較結果が論理的に組み合わされて出力信
号を発生する。この実施例においては、出力信号は、2
つの現行ソース・レジスタ・アドレスのどちらかが何れ
かのアクティブなターゲット・レジスタ・アドレスと一
致するかどうかを示す。マイクロシーケンサ14はこの
出力信号を受け取り、これに従ってレジスタ・マシン1
0を制御する。この出力信号から、マイクロシーケンサ
14は、ソース・オペランドとして正しいデータを選択
するための個別のバイパス選択信号、またはアクティブ
なターゲット・アドレスへのアクセスを拒否するための
インタロック信号のどちらかを導く。
The instruction decoder 16 receives the current instruction from the pipelined instruction stream and decodes the instruction to obtain an operand for a register address. The register source has the first source register
An address, a second source register address and a target register address are included. The first and second source register addresses are pipelined through a series of source register address latches 22.
It is loaded into the corresponding one of A and 22B. The target register address is loaded into a series of pipelined target register address latches 20. When the register address has been loaded into its corresponding set of latches, this current instruction becomes the predecessor and the instruction decoder 16 fetches the new current instruction. Microsequencer 14 controls the execution of the pipelined instruction stream within register machine 10. Address comparator array 12
Receives two current source register addresses from instruction decoder 16 and an active target register address from a series of 20 target register address latches. Each current source register address is
Compared to each active target register address. The comparison results are logically combined to produce an output signal. In this embodiment, the output signal is 2
Indicates whether any one of the two current source register addresses matches any active target register address. The microsequencer 14 receives this output signal and accordingly registers machine 1
Control 0. From this output signal, the microsequencer 14 derives either a separate bypass select signal to select the correct data as the source operand, or an interlock signal to deny access to the active target address.

【0014】図4は、図3に示したアドレス・コンパレ
ータ・アレイ12を示している。アドレス・コンパレー
タ・アレイ12は一致ブロック(match block)30のア
レイである。アドレス・コンパレータ・アレイの列は、
検査対象の命令中のソース・アドレスに対応している。
アドレス・コンパレータ・アレイの行はアクティブなタ
ーゲット・アドレスに対応している。各一致ブロック3
0はソース・アドレスとターゲット・アドレスについて
の2進数表示を受取る。ソース・アドレスの各ビットは
ターゲット・アドレスの対応ビットと論理比較される。
すなわち、ソース・アドレスの最下位ビットは、ターゲ
ット・アドレスの最下位ビットと論理比較され、ソース
・アドレスとターゲット・アドレスの残りのビットにつ
いても同様に比較される。各一致ブロック30について
結果比較信号を組合わせブロック31で論理的に組合せ
て、ターゲット・アドレスへのアクセスを拒否するかま
たは個別に最も新しいデータを選択する(つまりバイパ
ス動作)かどちらかのインタロック信号を発生すること
ができる。
FIG. 4 shows the address comparator array 12 shown in FIG. The address comparator array 12 is an array of match blocks 30. The columns of the address comparator array are
Corresponds to the source address in the instruction being checked.
The rows of the address comparator array correspond to active target addresses. Each match block 3
0 receives a binary representation of the source and target addresses. Each bit of the source address is logically compared with the corresponding bit of the target address.
That is, the least significant bit of the source address is logically compared with the least significant bit of the target address, and so on for the remaining bits of the source and target addresses. The result comparison signals for each match block 30 are logically combined in a combination block 31 to either deny access to the target address or individually select the newest data (ie bypass operation). A signal can be generated.

【0015】アドレス・コンパレータ・アレイは2つの
レベルの論理操作を有する。第1の論理操作のレベルは
各一致ブロックのなかで起こる。これによって各一致ブ
ロック30が発生した比較信号は、もっと具体的に言え
ば部分ストール信号またはバイパス選択信号のどちらか
である。第2の論理操作のレベルは組合わせブロック3
1によって実現される。組合わせブロック31は各一致
ブロック30から部分ストール信号を受取り、これらの
信号をワイヤードORして最終的なストール信号を発生
する。アレイの2次元性質によって、ソース及びターゲ
ット・アドレス・ラインは、経済的で効率的にサブスト
レートを使用しながら、互いに比較することができる。
The address comparator array has two levels of logic operation. The first level of logical operation occurs within each matching block. Thus, the comparison signal generated by each matching block 30 is more specifically either a partial stall signal or a bypass selection signal. The second level of logic operation is combination block 3
It is realized by 1. The combination block 31 receives the partial stall signals from each match block 30 and wired-ORs these signals to generate the final stall signal. The two-dimensional nature of the array allows the source and target address lines to be compared to each other while using the substrate economically and efficiently.

【0016】図5は、図4に示した一致ブロック30の
論理回路図である。各一致ブロック30には、ビット・
ブロック32の副アレイが含まれている。各ビット・ブ
ロック32は、2つのXOR論理比較:/Sn AND
TnとSn AND /Tnのうちのいずれか一方を実行す
る(論理否定を取られた信号を表すために図面中で用い
ているところのオーバーラインは明細書中では表記でき
ないため、信号名の直前にスラッシュ(/)を付してこ
れに代える)。2つの比較結果は組み合わされてNOR
ブロック34への入力となる。各ビット・ブロック32
によって実行されるXOR論理比較は、サブストレート
面積を効率よく使用する規則正しいトランジスタ構造を
もたらす。
FIG. 5 is a logic circuit diagram of the matching block 30 shown in FIG. Each match block 30 has a bit
A sub-array of block 32 is included. Each bit block 32 has two XOR logical comparisons: / Sn AND
Execute either one of Tn and Sn AND / Tn (Because the overline used in the drawings to represent a signal for which a logical negation has been performed cannot be described in the specification, it is immediately before the signal name. To replace it with a slash (/). The two comparison results are combined and NOR
It is an input to the block 34. Each bit block 32
The XOR logic comparison performed by Eq. 1 results in an ordered transistor structure that uses substrate area efficiently.

【0017】図6は、図5に示した一致ブロック30の
回路図を示している。すべてのソース・アドレス及び反
転されたソース・アドレスは垂直方向に走り、一方すべ
てのターゲット・アドレス及び反転されたターゲット・
アドレスは水平方向に走る。図6に示されているMOS
デバイスは同一方向に向いたソースとドレインを有し、
その結果、各行について、1つのMOSデバイスのソー
スが、隣りのMOSデバイスのドレインに接続される。
この実施例においては、MOSデバイスはすべて水平に
整列している。各行について、両端のMOSデバイス
(MnX0、MnX3)がアースに接続されている。例
えば、Mn10のソースとMn13のドレインは両方と
もアースに接続されている。更に、各行について、中間
のMOSデバイスのソースとドレイン(MnX1、Mn
X2)は、ビット一致モードと呼ばれる。MnX1のド
レインとMnX2のソースは、図5に示されたNORブ
ロック34に対応する出力一致ラインを構成する列に沿
って、一緒に接続される。一致ラインの右側のMOSデ
バイスはすべて右面にあり、一方、左側のデバイスは左
面にある。左面にあるデバイスは反転されたソース・ア
ドレスを表わしており、一方、右面にあるデバイスは反
転されていないソース・アドレスを表わしている。右面
では各列がソース・アドレスのビットを表わしているの
に対して、左面の各列は反転されたソース・アドレスの
ビットを表わしている。各列中のゲートは、ターゲット
・アドレスのうちのそれに対応しているがそれとは論理
が反転しているビットを示す行に接続されている。例え
ば、ソース・アドレス・ビットs00は、同一行かつ同
一列にあるMOSデバイスのゲートにこれらの信号を接
続することによって、ターゲット・アドレス・ビットt
00と比較される。
FIG. 6 shows a circuit diagram of the matching block 30 shown in FIG. All source addresses and inverted source addresses run vertically, while all target addresses and inverted target addresses
The address runs horizontally. MOS shown in FIG.
The device has a source and drain oriented in the same direction,
As a result, for each row, the source of one MOS device is connected to the drain of an adjacent MOS device.
In this embodiment, all MOS devices are horizontally aligned. For each row, the MOS devices (MnX0, MnX3) at both ends are connected to ground. For example, both the source of Mn10 and the drain of Mn13 are connected to ground. Furthermore, for each row, the source and drain (MnX1, MnX1
X2) is called the bit match mode. The drain of MnX1 and the source of MnX2 are connected together along the columns that make up the output match line corresponding to NOR block 34 shown in FIG. The MOS devices to the right of the match line are all on the right side, while the devices on the left are on the left side. The device on the left side represents the inverted source address, while the device on the right side represents the non-inverted source address. Each column on the right side represents a bit of the source address, while each column on the left side represents an inverted bit of the source address. The gate in each column is connected to the row of the target address that corresponds to the bit of which the logic is inverted. For example, the source address bit s00 is the target address bit t by connecting these signals to the gates of MOS devices in the same row and the same column.
Compared to 00.

【0018】ソース・アドレス・ビットとターゲット・
アドレス・ビットが同じ論理値を有する場合には、対応
ビット一致ノードは、アースへ落ちる導電経路を持たな
い。全てのビット一致ノードが一緒に結線されている場
合には、ソース・アドレスとターゲット・アドレス中で
一致していないビットについては、一致ラインからアー
スまでの導電経路ができる。従って、高レベルにプリチ
ャージしてから、一致ラインにソース・アドレス・ライ
ン、ターゲット・アドレス・ライン、反転されたソース
・アドレス・ライン及び反転されたターゲット・アドレ
ス・ラインを与える場合には、ソース・アドレスとター
ゲット・アドレスとの間で一致していないビットがあれ
ば、一致ラインが低レベルに放電される。簡略化するた
めに、ここにはDCプルアップ・デバイスつまりプリチ
ャージ・デバイスは示されていない。
Source address bits and target
If the address bits have the same logical value, the corresponding bit match node has no conductive path to ground. If all bit match nodes are wired together, there will be a conductive path from the match line to ground for the unmatched bits in the source and target addresses. Therefore, if the match line is given a source address line, a target address line, an inverted source address line and an inverted target address line after precharging to a high level, If there is a mismatched bit between the address and the target address, the match line is discharged low. For simplicity, DC pullup or precharge devices are not shown here.

【0019】ソース・アドレス・ラインと反転されたソ
ース・アドレス・ライン及びターゲット・アドレス・ラ
インと反転されたターゲット・アドレス・ラインが夫々
すべて直交していることから、一致ブロックを、2次元
アレイとしてタイル状に並べることができる。一致ブロ
ックの境界でのアース線は、隣接ブロックとの間で共用
することができ、これによりサブストレート面積を更に
節約することができる。
Since the source address line and the inverted source address line and the target address line and the inverted target address line are all orthogonal to each other, the matching block is formed as a two-dimensional array. It can be tiled. The ground wire at the boundary of the matching block can be shared with adjacent blocks, thus further saving substrate area.

【0020】図7は、図5に示した一致ブロック30の
回路図を示している。この実施例では、シングルビット
一致ノードは、図6に示されている実施例のように4つ
ではなく、3つのトランジスタで構成されている。すべ
てのソース・アドレス・ライン及び反転されたソース・
アドレス・ラインは垂直方向であり、それに対してすべ
てのターゲット・アドレス・ライン及び反転されたター
ゲット・アドレスは水平方向である。各行について、2
つのMOSデバイスが、夫々ソース/ドレインを同一方
向に向けて接続されている。右側のMOSデバイスのソ
ースは、行総和ノードで左側のMOSデバイスのドレイ
ンに接続されている。左側のMOSデバイスはそのゲー
トがソース・アドレスのあるビット位置に接続され、ぶ
ら下がっているソース/ドレインはターゲット・アドレ
スの同一ビット位置を反転したものに接続されている。
同様に、右側のMOSデバイスはゲートが反転されたソ
ース・アドレスのビットに接続されており、ぶら下がっ
ているソース/ドレインはターゲット・アドレスの同一
ビット位置に接続されている。各行について、夫々の行
総和ノードは更に、そのソースがアースに接続されてい
る第3のMOSデバイスのゲートに接続されている。第
3のデバイスのドレインは、ビット一致ノードと呼ばれ
る。全ビット一致ノードは、更に、図5に示したNOR
ブロック34に対応する一致ラインを構成するように接
続される。
FIG. 7 shows a circuit diagram of the matching block 30 shown in FIG. In this embodiment, the single bit match node is made up of three transistors instead of four as in the embodiment shown in FIG. All source address lines and inverted sources
The address lines are vertical, whereas all target address lines and inverted target addresses are horizontal. 2 for each row
The two MOS devices are connected with the source / drain in the same direction. The source of the MOS device on the right side is connected to the drain of the MOS device on the left side at the row summing node. The MOS device on the left has its gate connected to a bit position of the source address and the hanging source / drain connected to the inverted bit position of the target address.
Similarly, the MOS device on the right is connected to the bit of the source address whose gate is inverted, and the hanging source / drain is connected to the same bit position of the target address. For each row, the respective row summation node is further connected to the gate of a third MOS device whose source is connected to ground. The drain of the third device is called the bit match node. The all-bit coincidence node further has the NOR shown in FIG.
Connected to form a match line corresponding to block 34.

【0021】各行について、同一ビット位置のソース・
アドレスとターゲット・アドレスが一致しない場合に
は、総和ノードは高レベルになる。従って、対応するビ
ット一致ノードはアースへの導電経路を有する。すべて
のビット一致ノードが一緒に接続されている場合には、
一致しないビットがあればそれが一致ラインからアース
までの導電経路を有する。一致ラインが高レベルにプリ
チャージつまりDCプルアップされてから、全てのソー
ス・アドレス・ライン、ターゲット・アドレス・ライ
ン、反転されたソース・アドレス・ライン、反転された
ターゲット・アドレス・ラインがイネーブルされるなら
ば、ターゲットとソースと間で一致していないビットが
あれば、それによって一致ラインがアースに放電され
る。簡略化するために、一致ラインプリチャージ・デバ
イスつまりプルアップ・デバイスはここには示していな
い。
For each row, the source of the same bit position
If the address does not match the target address, the sum node goes high. Therefore, the corresponding bit match node has a conductive path to ground. If all bit-matching nodes are connected together,
Any unmatched bit has a conductive path from the match line to ground. The match line is precharged or DC pulled up to a high level before all source address lines, target address lines, inverted source address lines, inverted target address lines are enabled. If there are mismatched bits between the target and the source, this will discharge the match line to ground. For simplicity, match line precharge or pull-up devices are not shown here.

【0022】図8は、アドレス・コンパレータ・アレイ
12の回路図を示している。この実施例では、図4に示
した一致ブロック30が図6に示した手法を使用して実
現される。それに加えて、アドレス・コンパレータ・ア
レイ12の完璧な実現には、組合わせブロック31を実
現する論理ブロック36が含まれる。
FIG. 8 shows a circuit diagram of the address comparator array 12. In this example, the match block 30 shown in FIG. 4 is implemented using the technique shown in FIG. In addition, the complete implementation of the address comparator array 12 includes a logic block 36 implementing the combination block 31.

【0023】以下に本発明の実施の態様の例を列挙す
る。
Listed below are examples of embodiments of the present invention.

【0024】[実施態様1]各命令がソース・アドレス
とターゲット・アドレスを有する、パイプライン化され
た命令ストリームを制御するマイクロシーケンサと、前
記マイクロシーケンサに接続され、パイプライン化され
た命令ストリームからの命令を受取ってデコードする命
令デコーダと、夫々前記命令デコーダと前記マイクロシ
ーケンサに接続され、夫々ユニークなアドレスを有する
複数のレジスタと、前記マイクロシーケンサ、前記命令
デコーダ、及び前記複数のレジスタに接続され、夫々ア
クティブな命令のターゲット・アドレスを記憶するター
ゲット・ラッチと、前記複数のレジスタ及び前記マイク
ロシーケンサに接続され、その第1のソース・ラッチ
が、ソース・アドレスに対応するレジスタから値を受取
って記憶する一連のソース・ラッチと、前記一連のソー
ス・ラッチに接続され、ターゲット値を出力する演算論
理ユニットと、前記演算論理ユニット、前記マイクロシ
ーケンサ及び前記複数のレジスタに接続され、前記ター
ゲット値を受取り、前記ターゲット・アドレスに対応す
るレジスタ中に前記ターゲット値をロードするターゲッ
ト・ラッチを設けたパイプライン式レジスタ・マシンの
アドレス・コンパレータ・アレイにおいて、一連の一致
ブロックであって、前記一致ブロックの各々がソース・
アドレスを受取ってアクティブなターゲット・アドレス
の1つと論理比較し、ソース・アドレスとアクティブな
ターゲット・アドレスのうちの対応するものが等しいこ
とを示すアドレス信号を発生する一致ブロックと、前記
一連の一致ブロックに接続され、前記一致ブロックの各
々からアドレス信号を受取り、ソース・アドレスといず
れかのターゲット・アドレスが等しいことを示す出力信
号を発生する出力手段を設けたことを特徴とするアドレ
ス・コンパレータ・アレイ。
[First Embodiment] A microsequencer for controlling a pipelined instruction stream in which each instruction has a source address and a target address, and a pipelined instruction stream connected to the microsequencer An instruction decoder for receiving and decoding the instructions of the above, a plurality of registers respectively connected to the instruction decoder and the microsequencer, each register having a unique address, and connected to the microsequencer, the instruction decoder, and the plurality of registers. A target latch for storing the target address of each active instruction, and a first source latch connected to the plurality of registers and the microsequencer, the first source latch receiving a value from the register corresponding to the source address. A series of remembered Source latch and an arithmetic logic unit connected to the series of source latches for outputting a target value, and connected to the arithmetic logic unit, the microsequencer and the plurality of registers to receive the target value, In an address comparator array of a pipelined register machine having a target latch that loads the target value into a register corresponding to a target address, a series of match blocks, each of the match blocks being a source.・
A match block that receives an address and logically compares it to one of the active target addresses to generate an address signal indicating that the corresponding one of the source address and the active target address are equal; An address comparator array connected to the output terminal for receiving an address signal from each of the matching blocks and generating an output signal indicating that a source address is equal to one of the target addresses. .

【0025】[実施態様2]前記一致ブロックの各々
が、夫々ソース・アドレスのビットとアクティブなター
ゲット・アドレスの1つの対応ビットを受取って比較す
る一連のビット・コンパレータと、前記ビット・コンパ
レータの各々と前記出力手段に接続され、前記ソース・
アドレスと前記アクティブなターゲット・アドレスのう
ちの対応するものが等しいことを示すアドレス信号を発
生する結果手段を備え、前記ターゲット・アドレス・ビ
ットの伝搬方向と前記ソース・アドレス・ビットの伝搬
方向が直交していることを特徴とする請求項1記載のア
ドレス・コンパレータ・アレイ。
[Embodiment 2] A series of bit comparators in which each of the matching blocks receives and compares a bit of a source address and a corresponding bit of an active target address, respectively, and each of the bit comparators. And the source connected to the output means
Addressing means for generating an address signal indicating that an address and a corresponding one of the active target addresses are equal, wherein the propagation direction of the target address bits and the propagation direction of the source address bits are orthogonal. The address comparator array of claim 1, wherein:

【0026】[実施態様3]前記一致ブロックの各々
が、夫々前記ソース・アドレスのビットと前記アクティ
ブなターゲット・アドレスの1つの中の対応するビット
を受取って比較する一連のビットコンパレータと、前記
ビット・コンパレータの各々と前記出力手段に接続さ
れ、前記ソース・アドレスと前記アクティブなターゲッ
ト・アドレスのうちの対応するものが等しいことを示す
出力信号を発生する結果手段を備えることを特徴とする
請求項2記載のアドレス・コンパレータ・アレイ。
[Embodiment 3] A series of bit comparators, each of the matching blocks receiving and comparing a bit of the source address and a corresponding bit in one of the active target addresses, respectively, and the bit. And comprising result means connected to each of the comparators and the output means for producing an output signal indicating that the corresponding ones of the source address and the active target address are equal. The address comparator array described in 2.

【0027】[実施態様4]前記ビットコンパレータの
各々が広いXORゲートであることを特徴とする請求項
3記載のアドレス・コンパレータ・アレイ。
[Embodiment 4] An address comparator array according to claim 3, wherein each of said bit comparators is a wide XOR gate.

【0028】[実施態様5]前記結果手段がORゲート
であることを特徴とする請求項3記載のアドレス・コン
パレータ・アレイ。
[Embodiment 5] An address comparator array according to claim 3, wherein said result means is an OR gate.

【0029】[実施態様6]前記結果手段がNORゲー
トであることを特徴とする請求項3記載のアドレス・コ
ンパレータ・アレイ。
[Embodiment 6] An address comparator array according to claim 3, wherein said result means is a NOR gate.

【0030】[実施態様7]夫々2進数表示されたソー
ス・アドレスとアクティブなターゲット・アドレスを比
較するためのアドレス・コンパレータ・アレイにおい
て、夫々ソース・アドレスとアクティブなターゲット・
アドレスの1つを受取って論理比較し、夫々ソース・ア
ドレスとアクティブなターゲット・アドレスの対応する
ものが等しいことを示すアドレス信号を発生する一連の
一致ブロックと、前記一連の一致ブロックに接続され、
前記一致ブロックの各々からのアドレス信号を論理的に
組合わせ、前記ソース・アドレスといずれかの前記ター
ゲット・アドレスが等しいことを示す出力信号を発生す
る出力手段を設けたことを特徴とするアドレス・コンパ
レータ・アレイ。
[Embodiment 7] In the address comparator array for comparing the source address and the active target address, which are respectively displayed in binary numbers, the source address and the active target address are respectively displayed.
A series of match blocks connected to the series of match blocks for receiving and logically comparing one of the addresses and producing an address signal indicating that the corresponding ones of the source and active target addresses are equal, respectively.
An address means comprising logically combining address signals from each of the matching blocks to generate an output signal indicating that the source address is equal to one of the target addresses. Comparator array.

【0031】[実施態様8]前記一致ブロックの各々
が、夫々前記ソース・アドレスのビットと前記アクティ
ブなターゲット・アドレスの1つの対応するビットを受
取って比較する一連のビットコンパレータと、前記ビッ
トコンパレータの各々と前記出力手段に接続され、前記
ソース・アドレスと前記アクティブなターゲット・アド
レスのうちの対応するものが等しいことを示すアドレス
信号を発生する結果手段を備え、前記ターゲット・アド
レス・ビットの伝搬方向と前記ソース・アドレス・ビッ
トの伝搬方向が直交している、ことを特徴とする請求項
7記載のアドレス・コンパレータ・アレイ。
[Embodiment 8] A series of bit comparators, each of the matching blocks receiving and comparing a bit of the source address and a corresponding bit of the active target address, respectively. A direction of propagation of the target address bits, comprising result means connected to each of the output means for generating an address signal indicating that the corresponding one of the source address and the active target address is equal. 8. The address comparator array according to claim 7, wherein the propagation directions of the source address bits are orthogonal to each other.

【0032】[実施態様9]前記ビットコンパレータの
各々が広いXORゲートであり、前記XORゲートが、
第1のソースと、前記ターゲット・アドレス・ビットに
接続されているゲートと、アースに接続されているドレ
インとを有する第1の電界効果トランジスタと、第2の
ソースが前記結果手段に接続され、ゲートが対応する反
転された前記ソース・アドレス・ビットに接続され、ド
レインが前記第1のソースに接続されている第2の電界
効果トランジスタと、第3のソースと、対応する反転さ
れた前記ターゲット・アドレス・ビットに接続されてい
るゲートと、結果手段に接続されているドレインを有す
る第3の電界効果トランジスタと、アースに接続されて
いる第4のソースと、対応するソース・ビットに接続さ
れているゲートと、前記第3ソースに接続されているド
レインを有する第4の電界効果トランジスタとを含むこ
とを特徴とする請求項8記載のアドレス・コンパレータ
・アレイ。
[Embodiment 9] Each of the bit comparators is a wide XOR gate, and the XOR gate is
A first field effect transistor having a first source, a gate connected to the target address bit, and a drain connected to ground; and a second source connected to the result means, A second field effect transistor having a gate connected to the corresponding inverted source address bit and a drain connected to the first source, a third source, and the corresponding inverted target. A third field effect transistor having a gate connected to the address bit, a drain connected to the result means, a fourth source connected to ground and a corresponding source bit A gate and a fourth field effect transistor having a drain connected to the third source. Address comparator array of claim 8 wherein.

【0033】[実施態様10]前記ビット・コンパレー
タの各々は広いXORゲートであるとともに、以下の
(a)ないし(c)を含むことを特徴とする請求項8記載のア
ドレス・コンパレータ・アレイ: (a)ドレインが反転されたターゲット・ビットに接続さ
れ、ゲートが対応するソース・ビットに接続され、また
第1のソースを有する第1の電界効果トランジスタ; (b)ドレインが第1のソースに接続され、ゲートが対応
する反転されたソース・ビットに接続され、ソースが対
応するターゲット・ビットに接続されている第2の電界
効果トランジスタ; (c)ドレインがアースに接続され、ゲートが第1のソー
スに接続され、第3のソースが前記結果手段に接続され
ている第3の電界効果トランジスタ。
[Embodiment 10] Each of the bit comparators is a wide XOR gate, and
9. An address comparator array according to claim 8 including (a) to (c): (a) the drain is connected to the inverted target bit and the gate is connected to the corresponding source bit. A first field effect transistor having a first source; and (b) a drain connected to the first source, a gate connected to the corresponding inverted source bit, and a source connected to the corresponding target bit. A second field effect transistor connected; (c) a drain connected to ground, a gate connected to the first source, and a third source connected to the result means. .

【0034】[実施態様11]前記結果手段がORゲー
トであることを特徴とする請求項8記載のアドレス・コ
ンパレータ・アレイ。
[Embodiment 11] An address comparator array according to claim 8, wherein said result means is an OR gate.

【0035】[実施態様12]前記結果手段がNORゲ
ートであることを特徴とする請求項8記載のアドレス・
コンパレータ・アレイ。
[Embodiment 12] The addressing device according to claim 8, wherein said result means is a NOR gate.
Comparator array.

【0036】[0036]

【効果】以上から、本発明は、パイプライン・アーキテ
クチャを有するレジスタ・マシンにおいて起こり得るレ
ジスタ・アドレス衝突を解消するためのアドレス・コン
パレータ・アレイを提供することがわかるであろう。こ
のアドレス・コンパレータ・アレイは、、アクセスされ
ている最中のレジスタと次のレジスタアクセスを、効率
よくかつスケーリング可能な態様で検査し比較すること
によって、同時にアクセスされるレジスタ・ファイルを
もつマシンの潜在的なレジスタ・アドレス衝突を解消す
るために使用することができる。
From the above, it can be seen that the present invention provides an address comparator array for resolving possible register address conflicts in a register machine having a pipeline architecture. This address comparator array is designed for machines with register files being accessed simultaneously by examining and comparing the register being accessed and the next register access in an efficient and scalable manner. It can be used to resolve potential register address conflicts.

【図面の簡単な説明】[Brief description of drawings]

【図1】パイプライン命令シーケンスのデータ依存関係
を示す図。
FIG. 1 is a diagram showing a data dependency of a pipeline instruction sequence.

【図2】従来の技術でみられるようなアドレス衝突検出
用の組合わせ論理の実施態様を示す図。
FIG. 2 illustrates an implementation of combinatorial logic for address collision detection as found in the prior art.

【図3】アドレス・コンパレータ・アレイを使用してデ
ータ依存を解消するパイプライン式レジスタ・マシンの
ブロック・ダイアグラム。
FIG. 3 is a block diagram of a pipelined register machine that uses an address comparator array to eliminate data dependencies.

【図4】図3に示したアドレス・コンパレータ・アレイ
を示すブロック・ダイアグラム。
FIG. 4 is a block diagram showing the address comparator array shown in FIG.

【図5】図4に示した一致ブロックの論理回路図。5 is a logic circuit diagram of the matching block shown in FIG. 4. FIG.

【図6】図5に示した一致ブロックの第1のトランジス
タ・レベルの回路図。
6 is a first transistor level circuit diagram of the match block shown in FIG. 5. FIG.

【図7】図5に示した一致ブロックの第2のトランジス
タ・レベルの回路図。
7 is a second transistor level circuit diagram of the match block shown in FIG. 5. FIG.

【図8】アドレス・コンパレータ・アレイのトランジス
タ・レベルの回路図。
FIG. 8 is a transistor level circuit diagram of an address comparator array.

【符号の説明】[Explanation of symbols]

10:パイプライン式レジスタ・マシン 12:アドレス・コンパレータ・アレイ 14:マイクロシーケンサ 16:命令デコーダ 18:レジスタ・ファイル 19、21:パイプライン式レジスタ 20:ターゲット・アドレス・レジスタ 22A、22B:ソース・レジスタ・アドレス・ラッチ 24A、24B:マルチプレクサ 26:演算論理ユニット 28:ターゲット・ラッチ 30:一致ブロック 31:組合わせブロック 32:ビット・ブロック 34:NORブロック 36:論理ブロック 10: Pipeline type register machine 12: Address comparator array 14: Micro sequencer 16: Instruction decoder 18: Register file 19, 21: Pipeline type register 20: Target address register 22A, 22B: Source register Address latch 24A, 24B: Multiplexer 26: Arithmetic logic unit 28: Target latch 30: Matching block 31: Combination block 32: Bit block 34: NOR block 36: Logic block

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】各命令がソース・アドレスとターゲット・
アドレスを有する、パイプライン化された命令ストリー
ムを制御するマイクロシーケンサと、 前記マイクロシーケンサに接続され、パイプライン化さ
れた命令ストリームからの命令を受取ってデコードする
命令デコーダと、 夫々前記命令デコーダと前記マイクロシーケンサに接続
され、夫々ユニークなアドレスを有する複数のレジスタ
と、 前記マイクロシーケンサ、前記命令デコーダ、及び前記
複数のレジスタに接続され、夫々アクティブな命令のタ
ーゲット・アドレスを記憶するターゲット・ラッチと、 前記複数のレジスタ及び前記マイクロシーケンサに接続
され、その第1のソース・ラッチが、ソース・アドレス
に対応するレジスタから値を受取って記憶する一連のソ
ース・ラッチと、 前記一連のソース・ラッチに接続され、ターゲット値を
出力する演算論理ユニットと、 前記演算論理ユニット、前記マイクロシーケンサ及び前
記複数のレジスタに接続され、前記ターゲット値を受取
り、前記ターゲット・アドレスに対応するレジスタ中に
前記ターゲット値をロードするターゲット・ラッチを設
けたパイプライン式レジスタ・マシンのアドレス・コン
パレータ・アレイにおいて、 一連の一致ブロックであって、前記一致ブロックの各々
がソース・アドレスを受取ってアクティブなターゲット
・アドレスの1つと論理比較し、ソース・アドレスとア
クティブなターゲット・アドレスのうちの対応するもの
が等しいことを示すアドレス信号を発生する一致ブロッ
クと、 前記一連の一致ブロックに接続され、前記一致ブロック
の各々からアドレス信号を受取り、ソース・アドレスと
いずれかのターゲット・アドレスが等しいことを示す出
力信号を発生する出力手段を設けたことを特徴とするア
ドレス・コンパレータ・アレイ。
1. Each instruction has a source address and a target address.
A microsequencer having an address for controlling the pipelined instruction stream; an instruction decoder connected to the microsequencer for receiving and decoding instructions from the pipelined instruction stream; the instruction decoder and the instruction decoder, respectively. A plurality of registers connected to the microsequencer, each register having a unique address; and a target latch connected to the microsequencer, the instruction decoder, and the plurality of registers for storing target addresses of active instructions, respectively. A series of source latches connected to the plurality of registers and the microsequencer, the first source latches of which receive and store a value from a register corresponding to a source address; and the series of source latches. Is the target An arithmetic logic unit that outputs a target value, a target that is connected to the arithmetic logic unit, the microsequencer, and the plurality of registers, receives the target value, and loads the target value into a register corresponding to the target address. An address comparator array of a pipelined register machine with latches, wherein a series of match blocks each of which receives a source address and logically compares it with one of the active target addresses. A match block for generating an address signal indicating that the corresponding ones of the source address and the active target address are equal, and connected to the series of match blocks to receive an address signal from each of the match blocks, Source address And an address comparator array for outputting an output signal indicating that one of the target addresses is the same.
JP29913795A 1994-10-21 1995-10-23 Address comparator array Pending JPH08212074A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32708094A 1994-10-21 1994-10-21
US327,080 1994-10-21

Publications (1)

Publication Number Publication Date
JPH08212074A true JPH08212074A (en) 1996-08-20

Family

ID=23275068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29913795A Pending JPH08212074A (en) 1994-10-21 1995-10-23 Address comparator array

Country Status (2)

Country Link
JP (1) JPH08212074A (en)
GB (1) GB9520958D0 (en)

Also Published As

Publication number Publication date
GB9520958D0 (en) 1995-12-13

Similar Documents

Publication Publication Date Title
US11726791B2 (en) Generating and executing a control flow
JP2745949B2 (en) A data processor that simultaneously and independently performs static and dynamic masking of operand information
US7284092B2 (en) Digital data processing apparatus having multi-level register file
US5553276A (en) Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units
JP2693651B2 (en) Parallel processor
JP2010532063A (en) Method and system for extending conditional instructions to unconditional instructions and selection instructions
JP2840444B2 (en) Method for operating an arithmetic pipeline and data processing apparatus
US20140181466A1 (en) Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
US20090106533A1 (en) Data processing apparatus
US10877755B2 (en) Processor load using a bit vector to calculate effective address
US8943292B2 (en) System and method for memory array access with fast address decoder
US6421758B1 (en) Method and system for super-fast updating and reading of content addressable memory with a bypass circuit
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
US6023751A (en) Computer system and method for evaluating predicates and Boolean expressions
JPH02227730A (en) Data processing system
JPH0581119A (en) General-purpose memory-access system using register indirect mode
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
US5550974A (en) Testable memory array which is immune to multiple wordline assertions during scan testing
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
JPH08212074A (en) Address comparator array
JPH08212789A (en) Associative memory circuit and tlb circuit
US5875121A (en) Register selection system and method
US7191432B2 (en) High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit
De Gloria et al. An application specific multi-port RAM cell circuit for register renaming units in high speed microprocessors
US20230153114A1 (en) Data processing system having distrubuted registers