JPH02140830A - 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置 - Google Patents

高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置

Info

Publication number
JPH02140830A
JPH02140830A JP1188709A JP18870989A JPH02140830A JP H02140830 A JPH02140830 A JP H02140830A JP 1188709 A JP1188709 A JP 1188709A JP 18870989 A JP18870989 A JP 18870989A JP H02140830 A JPH02140830 A JP H02140830A
Authority
JP
Japan
Prior art keywords
stack
bus
microinstruction
memory
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1188709A
Other languages
English (en)
Other versions
JPH0736155B2 (ja
Inventor
William J Grundmann
ウィリアム ジェイ グランドマン
William C Madden
ウィリアム シー マーデン
George M Uhler
ジョージ エム ユーラー
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02140830A publication Critical patent/JPH02140830A/ja
Publication of JPH0736155B2 publication Critical patent/JPH0736155B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はディジタル・コンピュータ、−層詳しくは、中
央演算処理装置におけるマイクロ命令記憶装置のアドレ
ス指定に関する。
高性能マイクロコード・パイプライン化中央演算処理装
置がDigital Technical Journ
al、 1987年2月号、20〜33頁の5udhi
ndra N、 Mishraの’The VAX 8
800 Micro−arc旧Lecture Jに記
載されている。この形式の中央演算処理装置では、パイ
プライン化したマイクロ命令が用いられ、実行動作およ
びメモリ管理動作を制御しており、最低限ストールまた
はノーオペレーションでマシンサイクル毎に新しいマイ
クロ命令を確定し、最大限の性能と効率が得られるよう
に努力がなされている。マシンサイクル毎に新しいマイ
クロ命令を実行するというこの目的は、もちろん、クロ
ック速度か高くなるにつれてより一層難しくなるし、マ
イクロコードが複雑になれば、それだけ多くのCa 1
1.Returnたいぶのマイクロ命令を必要とする。
その場合、マイクロアドレスが甘えぶされ、再格納され
る。
上記の論文ては、Callが実行されたときにPu’s
h  to  5tack動作によって現在のマイクロ
アドレスをセーブし、次いで、Retu「nか実行され
たときにPop  from  5tack動作を行う
のにスタックがしばしば使用される。しかしながら、高
度にパイプライン化された中央演算処理装置アーキテク
チャでは、高いクロック速度で運転するので、成る種の
従来使用されているスタック構造は連続したCa11.
Returnマイクロ命令を実施できない。これは、マ
イクロ命令を解読したり、スタック・ポインタを増分、
減分したり、スタックを読取ったり、書込んだりする等
で時間がかかるからである。
したがって1本発明の主たる目的は、中央演算処理装置
、特に高速パイプライン化中央演算処理装置でマイクロ
命令をアドレス指定する改良方法を提供することにある
。本発明の別の目的は高速動作の可能な改良したスタッ
ク・メモリ形態を提供することにある。また別の目的は
高速中央演算処理装置でのマイクロ命令実行等てCal
l、Returnタイプの命令を実行する改良方法を提
供することにある。またさらに別の目的は特にマイクロ
命令アドレス・スタックにおける待ち時間を除くことに
よってスタックPu5h、Pop動作を実行する改良方
法を提供することにある。
本発明の一実施例によれば、高速パイプライン化中央演
算処理装置でマイクロ命令のアドレス指定を行う際に改
良したスタック・メモリが用いられ、パイプラインを通
してのマイクロ命令のステ−ピングを遅延させることな
くCa l 1.Return操作が実行される。この
改良スタックは読み出しのために成るレジスタを指定し
、書込みのために次に高位のレジスタを指定するように
接続したポインタを備える先入れ後出し式メモリであり
、CallまたはReturnの可能性が解読される前
に読み出し、書き込みがマイクロサイクル毎に行われる
。解読されたマイクロ命令がCa11であるかRetu
rnであるかどうかがわかった場合にのみ、読み出され
たデータが使用されるか、あるいは、書込まれたデータ
が有効と判断され、増分あるいは減分が実施される。こ
うしてスタックを使用しているマイクロ命令があるとき
には、解読、次いで、増分あるいは減分のためにはなん
ら遅延は生じない。
本発明の新規であると考えられる特徴は特許請求の範囲
に記載しであるが1発明そのものならびに他の特徴、利
点は添付図面に関連して成る特殊な実施例の以下の詳し
い説明を読むことによって最も良く理解して貰えよう。
「中央演算処理袋に」 第1図を参照して、ここには、本発明の特徴を使用し得
る中央演算処理装置lOか示しである。
好ましい実施例では、この中央演算処理装置lOは単一
の集積回路として構成されているが、集積回路チップセ
ットであってもよいし、1つまたはそれ以上の回路板に
実装した標準の論理回路あるいはゲート・アレイを備え
たものであってもよい。本発明はパイプライン化した中
央演算処理装置のどれにも有用であるが、ここて説明す
る例はVAX命令セットを実行し、本出願人の販売して
いるVAXコンピュータのアーキテクチャにほぼ適合す
るものである。図示実施例ては、中央演算処理装置10
はシステム・データ・バス11(たとえば、64ビウト
双方向バス)と、27ビツト・システム・アドレス・バ
ス12と、システム制御バス13とに接続している。こ
れらのバス11.12.13はシステム・メモリ15に
接続している。このシステム・メモリ15は詳細には示
していないが、キャッシュとキャッシュ・コントローラ
を通常包含することになる。バスは種々の110機器に
もアクセスする。
中央演算処理装置10は、内部構造として、命令ユニッ
ト20(以下、rI−BoxJと呼ぶ)を包含し、これ
は実行のためのマシン・レベル命令を解読するように作
用する。他に、実行ユニット21(以下、rE−Box
Jと呼ぶ)があり。
これは命令の実行のデータ操作部分を実施する。
この中央演算処理装置10はマイクロコーデッド式であ
り、制御記憶装置22を使用する。この制御記憶装置2
2はおそらくはIKまたは2にワードのマイクロ命令を
含むROM (またはEPROM等)からなり、各ワー
ドは本例では50ビツト幅である。制御記憶装置はマイ
クロシーケンサ23によってアドレス指定される。この
マイクロシーケンサは命令ユニット20から11ビツト
・ディスパッチ・バス25て受は取られた入口点アドレ
スまたはディスパッチ・アドレスに基いて制御記憶装M
22の11ビツト・アドレス入力部24に一連のマイク
ロアドレスを発生する。制御記憶装置22からの出力部
はマイクロ命令バス26(本例では、50ビツト幅)で
あり、バス26の16ビツトはマイクロシーケンサ23
の入力部27に接続していて入口点をたどる順序でマイ
クロ命令のアドレスを与えると共にマイクロ記憶装置ア
ドレス指定の制御を行う、マイクロ命令バス26の残り
の34ビツトは実行ユニット21および中央演算処理装
置10の他の部分への制御入力2日として用いられる。
中央演算処理装置10は仮想アドレス指定を使用し、仮
想アドレスを物理的なアドレスに変換するのにメモリ管
理ユニット31(M−Boxとも呼ぶ)を用いている。
このユニット31は命令ユニット20のための命令取り
出しの調停も行う。
メモリ管理ユニットはマイクロ命令バスからの34ビツ
ト入力28ならびに他の信号によって制御される。ユニ
ット30は出力部32を経て30ビット内部アドレス・
バス31に接続しており、32ビツトALU  AAB
us33によって実行ユニット21に接続していてメモ
リ管理ユニットからアドレス・レジスタを読み出す、メ
モリ管理ユニット30と実行ユニットの間の他の接続部
としては、32ビツトALU出力バス34と32ビット
書き込みデータ・バス35があり、これらのバス33.
34.35の機能は実行ユニット21の内部構造に触れ
たときに説明する。ユニット30はメモリ動作およびワ
ード長を定める目的で実行ユニットからライン36を経
て制御ビットを受は取る。ライン36上のこれらの制御
ビットは命令ユニウド20で発生し、制御バス38の一
部として実行ユニット21に送られる。メモリ管理ユニ
ット30ならびに実行ユニット21はマイクロテストと
呼ぶ制御信号を生成し、これらの制御信号は3ビツト・
バス39を経てマイクロシーケンサ23の入力部に送ら
れる。これは実行ユニット21またはメモリ管理ユニッ
ト30内の事象で決定されるマイクロ命令分岐動作のた
めの条件データである。
中央演算処理装置lOは一層キャッシュ40(rP−−
CasheJとも呼ぶ)を包含し、これは本例てはすぐ
前に使用されたメモリ・データを含む2にバイト高速R
AMてあり、このデータは命令てもデータてもよい。キ
ャッシュ40は30ビット内部アドレス・バス31に接
続しており、32ビツト内部データ・バス41にも接続
している。内部データ・バス41は命令ユニット20で
使用するためにメモリ管理ユニット30によって取り出
された命令を連んたり、実行ユニット21への、あるい
は、実行ユニット21からのオペランドを運ぶ。
バス・インターフェイス・ユニット42か、内部指令バ
スならびにクロックや他の制御ビットに基いて、中央演
算処理装置10の種々の内部バスとシステム・バス11
.12.13の間の接続の制御あるいは調停を行う。
命令ストリームに含まれる即時(またはリテラル)オペ
ランドあるいはアドレスはバス41によって命令ユニッ
ト20にロートされる。これらのオペランドは実行ユニ
ット21に送られて32ビツト・バス43によってレジ
スタにロートされる。
クロックジェネレータ44が4位相出力(phi−1−
phi−4)を発生し、これは後述するように4つの位
相P1、P2、P3、P4のマシンサイクルを定める。
たとえば、クロック率は24MHzてあり、この場合、
40nsのマシンサイクルを発生する。
[実行ユニット] 次に第2図を参照して、実行ユニット21がここに一層
詳しく示しである。このユニットは32ビツトALU4
5を包含し、これはAABus33からの32ビツト幅
のA入力とABBus46からの32ビツト幅のB入力
とを有する。ALU45はバス28からの現在使用され
ているマイクロ命令のフィールドによって定められるよ
うな中央演算処理装置の命令セクトを支援するのに必要
なAdd、5ubtract、OR等の動作を実施する
。ALUの出力は常にリザルト・バス47、したがって
、書き込みバス35に送られるリザルト・バスへのデー
タの源は2つだけであり、ALUとバレル・シフタ48
である。このバレル・シフタは命令セットのシフト動作
を実施する64ビツトイン・32ビツトアウト・シック
・ユニットである。バス28を経て送られてきたマイク
ロ命令のフィールドの制御の下に、ゼロ−32ビツト右
シフトとゼロ−32ビツト左シフトか実施され得る。リ
ザルト・バス47上のデータはバイパスのためにAAB
us33あるいはABBus46にロードされ、あるい
は書き込みバス35ならびにメモリ管理ユニット30に
通じるALU出力バス34にロートされ得る。
書き込みバス35はレジスタ・ファイル50に書き込み
を行うことができ、このレジスタ・ファイルは15個の
汎用レジスタと、18個の一層レジスタと、8個のメモ
リ・データ・レジスタとを含む一組の51個の32ビツ
ト・レジスタである、これらのレジスタは現在使用され
ているオペランドおよびアドレスを含み、レジスタ・フ
ァイルへの書き込み、また、そこからの読み出しは現在
のマイクロ命令のフィールドの制御の下に行われレジス
タ・ファイルの出力のみが32ビット出力部51.52
によってAABus33またはABBus46へ送られ
る。内部データ・バス41もマイクロ命令によって決定
される等してレジスタ・ファイルの成るレジスタにロー
データ53を経て書き込みを行い得る。内部データ・バ
スはレジスタ・ファイルをバイパスして、入力部54を
経てAABus、ABBusに直接書き込みを行うこと
もできる。これは、内部データ・バスがレジスタ・ファ
イルに書き込まれつつあるときや同じサイクル内てAL
U入力としても使用されているときに行われる。
シフト・カウンタ・レジスタ55はシック48のための
シフト・カウントを与えるものであり。
サイクルをカウントするようにも作用する(通常これは
乗算や除算で有用である)。このカウント55は書き込
みデータ・バス35からロードされるか、あるいは、マ
イクロ命令制御の下にAABusあるいはABBbus
ヘロードされ得る32ビツト・レジスタである。
内部加算器を含む32ビツト・プログラム・カウント5
6がレジスタ・セットの一部ともなっている。このプロ
グラム・カウント56は実行されつつある命令のアドレ
スを含む、命令(オプコード、オペランド規制間バイト
や規制間拡張部分を含む)は命令ユニット20で分解さ
れ、プログラム・カウント56が更新されてバス38上
の命令ユニットからのデルタ−PCビットによってアド
レスを追跡する。プログラム・カウントは書き込みバス
35からもロードされ得る。プログラム・カウント56
の出力57はAABusに送られ、ここからアドレスが
ALU45を通り、普通は、バス34を経てメモリ管理
ユニット30に行く。
ポピユレーション・カウントと呼ばれるカウント回路5
8がA B B u s 46から入力59を受は取り
、AABus33に出力60を送る。この回路はABB
usにロードされている二進ワードにセットされたビッ
トの数をカウントすると共に、このビットカウント数に
等しい二進値を発生するように作用する。ポピユレーシ
ョン・カウント58はセーブ・マスク(その各セットさ
れたビットがセーブを行うのに必要なレジスタに対応す
る二進ワード)内のビット数をカウントするのに用いら
れる。ここては、二進値は手続きCALL、RETUR
N、Push−RegisterまたはPop−Reg
isterでセーブされなければならないレジスタ・フ
ァイル50またはレジスタ・セットからのレジスタの数
を決定するのに用いられる。
プロセッサ状況レジスタ61も実行ユニット30のレジ
スタの組に含まれる。この状況レジスタはALU状態ビ
ット、たとえば、キャリイ、オーバーフロー、ゼロ、ネ
ガティブのようなビットや種々の他の状況ビット(たと
えば1割り込み優先れべろ、追跡ベンディング等を含む
、状況レジスタは、マイクロ命令の制御の下に、AAB
us33に読み出しを行ったり、書き込みバス35を経
て書き込みを行ったりすることができる。
定数ジェネレータ62が出力部63.64を経てAAB
usまたはABBusにロードするための定数を発生す
る。マイクロ命令はバス28のフィールドに8ビツト定
数(マイクロ命令リテラル)を含み、このバイトを現在
のマイクロ命令の別の2ビツト・フィールドによって決
定される等して32ビツト・ワード幅の4つのバイト部
分のどれかて定数ジェネレータ62によってABBus
にロートされ得る。また、このジェネレータはライン3
8上のデータ長DL制御ビットの値に応答してl、2.
4または8の定数を発生することもできる。この定数は
処理されるべきオペランド内のバイト数を表わし、出力
部64を経てABBus46にロードされる。定数ジェ
ネレータはデータをサイン拡張するためにシフタと共に
使用される。
ローデータ53は実行ユニウド21と内部データ・バス
41の間のI10インターフェイスであり、実行ユニッ
トのレジスタまたはバスにロードされたときにロングワ
ード境界にあるデータを位置合わせしたり、実行ユニッ
ト21からメモリに行くデータを意図したバイト位置に
再格納したりするように作用する。アドレスのうち2つ
の最も重要なビットとデータ長(バス38上のDL制御
ビット)はローデータ53によって使用され、これらの
変換を行う。
[マイクロシーケンサ] 次に第3図を参照して、ここにはマイクロシーケンサ2
3がより詳しく示しである。このマイクロシーケンサは
マシンサイクル毎に制御記憶装置22に11ビツト・ア
ドレスを与え1次のサイクルの冒頭で、バス26に50
ビツトのラツチト出力を発生する。そのうちの16ビツ
トはバス27によるアドレス指定、制御のためにマイク
ロシーケンサに戻される。これら16ビツト次のマイク
ロ命令のためのアドレスを制御情報と一緒に含んでいる
。第4図はバス27上の16ビツト・データのフォーマ
ットを示し、ここでは、2タイプのアドレスと制御情報
とがジャンプとブランチになっていることかわかる。ジ
ャンプは11ビツト・ジャンプ・アドレス(ビット0〜
10)と3ビツト・マックス制御フィールド(ビット1
2〜14)とを含み、ビット15はジャンプに備えて常
に「0」である(ブランチのためには常にrlJである
)、ビットllはいずれかのタイプのマイクロサブルー
チン制御用である。ブランチ・フォーマットは7ビツト
・オフセット(ビットO〜6)と4ビツト・ブランチ状
態セレクタ・フィールドとを含む。
マックス制御フィールドは第3図のマイクロシーケンサ
20て用いられてマルチプレクサ70を制御し、多数の
入力部からの1つのマイクロアドレス出カフ1を発生さ
せる。マルチプレクサ70への1つの入カフ2はバス2
7からのジャンプ・アドレス・フィールド(ビットθ〜
10)でありもちろん、もう1つ、命令ユニット20か
らのディスバッチ・アドレス25がある。出力26のマ
イクロ命令がルーチンまたはマイクロフローの最後のも
のである場合には、「デコーダ・ネキスト」出力が主張
されてT−Box20に新しいディスバッチを発生させ
る。
マルチプレクサ70への第3の入力はレジスタ・スタッ
ク75からの出カフ4(スタック読み出しバス)である
、マイクロアドレス・スタック75はバス24に現われ
、したがって、スタックのための入力書き込みバス76
に現われる11ビツト・アドレスのうち8つのアドレス
までを記憶しするブツシュダウン式スタッつてある。ス
タック・ポインタ77がTOSすなわちトップオブスタ
ックを指定し、バス7日を経てスタック制御デコーダ7
9に接続する等してバス27上の制御情報のビット11
〜15からの制御によってPUSHまたはPOPスタッ
ク動作のために増分あるいは減分させられる。CALL
が解読されたならば、入カフ6上の11ビツト・アドレ
スがスタック75にブツシュされるか、あるいは、RE
TURNが解読された場合には、TOSかマルチプレク
サ70への入力として選ばれ、スタックはポインタ77
を減分させることによってポツプされる。
マイクロアドレス・サイロ80がマルチプレクサ70へ
の別の入力81を発生する。このサイロは3つのレジス
タを有するFIFOメモリてありアドレス・バス24か
らの3つの最後に使用された11ビツト・アドレスを入
力82を経て記憶する。このサイロはシフト・レジスタ
として構成されており、ストールまたはトラップが知ら
されたときを除いて各マシンサイクルによって順方向へ
計時される。この場合、サイロ内の3つのアドレスはト
ラップが終了するまでセーブされ、そのとき、最後の3
つのアドレスは回復マイクロルーチンへジャンプするこ
とによって使用され得る。
この回復マイクロルーチンはバス78を経たマルチプレ
クサへの適正なコードによってサイロ入力81を使用す
ることになる。
マルチプレクサ70への他の入力はトラップ制御アドレ
ス・ジェネレータ84からの出力83である。多数のタ
イプのトラップ・マイクロルーチン、したがって、これ
らのマイクロルーチンを始動するためのアドレスが利用
てきる。
バス78上のビット15が「1」であるときに規制され
るブランチ・アドレスはマイクロプログラム・カウンタ
85内に組み込まれた3つの部分からなる。11ビツト
・ブランチ・アドレスのうちビット7〜10は現在のマ
イクロ命令(すなわち、カウンタ85内に現在既にある
もの)からコピーされ、ビット0.4〜6は入カフ2に
よってマイクロ命令からコピーされ、ビット1〜3は入
カフ2上のマイクロ命令のゲート86を経ての論理OR
と3ビツト・マイクロテスト・バス39の内容である。
すなわち、「ブランチ」タイプのマイクロ命令(マイク
ロブランチ命令)がマイクロテスト制御ロジック87に
よってマイクロ命令バス28上に検出される。マイクロ
ブランチ命令を検出したとき、制御ロジック87はマイ
クロテスト・バス39上に存在する状態をORゲート8
6に進め、同時に、M U X ffJI mロジック
88もマイクロ命令バス27上のマイクロブランチ命令
を検出し、マイクロプログラム・カウンタ85をしてマ
イクロブランチ・バス173上の状態のOR操作に基〈
ブランチ宛先アドレスとマルチプレクサ70への入力と
して与えられたマイクロブランチ命令から選ばれたビッ
トとを計算せしめる。
第4図には、制御記憶装置の出力部にはバス28に現わ
れるマイクロ命令ワード、特に34ビツト部分のフォー
マットも示しである。4つの一般的なタイプのマイクロ
命令が使用され、これらはBa5ic、  Con5t
ant、  5hift、  5pecialと呼ぶ。
各マイクロ命令にとって。
ビット16〜33は同じてあり、他に、実行ユニットの
AABus33のソースを選ぶ6ビツト「A」フィール
ド(ビット16λ21)と、宛先を選ぶ6ビツトrWJ
フイールド(ビット28〜33)とを含む。すなわち、
宛先では、書き込みバス35がレジスタ・フィールド5
0内のレジスタの1つに書き込まれる。ビット27はプ
ロセッサ状況レジスタ61のための状態コード制御ビッ
トである。種々雑多のフィールド(ビット22〜26)
が復号されて実施されるべき特定の動作を定める。Ba
5ic、5hift、5pecialタイプはすべてr
BJフィールド(ビット34〜37)を有し、これはA
BBus46.すなわちALU  B入力上のデータの
ソースを選ぶ、5hiftタイプはシック48で実施さ
れるべきシフト機能を定め、シフト値(ゼロから32ビ
ツトまでのビット数)を定めるフィールド(ビット38
〜46)を有する。Con5tantタイプのマイクロ
命令・フォーマットはマイクロ命令りてらる動作が定数
ジェネレータ62を経てAABuSにロードされるため
の定数値(ビット34〜41)を含み、かつ、定数位置
を定めるための位置フィールド(ビット42〜43)を
含む。ALU45によって実施される機能(たとえば、
AddSubtract、AND、Pa5s等)はBa
5icフオーマツトのヒ′ット44〜48あるいはCo
n5tantフオーマツトのヒ′ット44〜46によっ
て定められる。Ba5icのビット38はデータ・ワー
ド長制御であり、ビット39〜43はメモリ・リクエス
ト機能を定める。
「命令ユニット」 第5図において、ここには命令ユニット20の内部構造
が示しである。命令は内部データ・バス41から先取り
キュー90ヘロードされる。この先取りキューは4つの
32ビツト・ロングワード(4つの4バイト命令および
オペランド・ワード)を保持する一組の高速レジスタと
して構成されたFIFOである。命令は可変長であり、
1つまたは2つのハイドのオプコートをたどる可変数の
オペランドと規制詞を有し、ワード境界に位置合わせさ
れることがないので、先取りキュー90は分解を開始し
1次の命令またはオペランドを解読するのに必要な情報
を直ちにアクセス可能とするように作用する。先取りキ
ューはマシンサイクルにおける2つのロングワードまで
シフトすることができ、命令ストリーム・データが先取
りキュー90が満杯てなく、他のシステム・プロセスて
データバスを要求していないときにはいっでも先取りキ
ュー90の入力に送られる。先取りマルチプレクサ91
は先取りポインタ92からの4ビツト・アドレス情報を
受は取って出力部93のところに先取りキュー90から
の6つのバイトを生じさせる。これらのバイトはオブコ
ードで始まる次の6つの有効バイトを表わしており、オ
プコードがロングワード境界上にあることがないので、
出力93はオプコード・バイト93a、規制詞バイト9
3b、キューのバイト位置のどれかで開始しているマル
チプレクサ91によってキュー90から選ばれた規制詞
拡張フィールドの4つのバイト93cとを含む。これら
6つのバイトのうち2つはオプコード・デコーダ94と
規制詞デコーダ95を包含する一組のデコーダすなわち
PLAに接続している。
出力93a上のオプコート・バイトに基いて、デコーダ
94は、出力部96に、数組のアクセスタイプのビット
とデータ長制御ビット(AT/DL制御と呼ぶ)を発生
し、この命令に対して各オペランド毎に一組が使用され
ることになる。マルチプレクサ97がこの出力96を受
は取り、定められつつあるときに各オペランドに対して
一組を選ぶ、マルチプレクサ97の出力はラッチ98内
に保持され、そこから実行ユニット21へ行く制御バス
38のAT/DL部が得られる。
ディスバッチ・マルチプレクサ100が設けてあり、こ
れはマイクロシーケンサ23に送られることになってい
るディスバッチ・アドレス25が命令デコーダ94から
の実行ディスパッチ、規制詞バイト・デコーダ95から
の規制詞ディスパッチ、ストール・ディスバッチのうち
いずれかを選定する。実行ディスバッチあるいは規制詞
ディスバッチを定めるのに充分なバイトか先取りキュー
90にないときにはいっでもストール・ディスバッチが
発生する。このストール・ディスバッチは単に、ディス
バッチ・アドレスをマイクロシーケンサ23に送ってI
−Boxへ「デコーダ・ネクスト」リクエストを発行す
る以外はなにも行わないマイクロ命令をアドレス指定す
るだけである、こうして、無動作サイクルが導入されて
I−BOxをPFOで満たす、このマルチプレクサ10
0からの11ビツト・アドレス出力はディスバッチ・ア
ドレス・ラッチ101にラッチされ、したがって、サイ
ロ動作のために利用できる。キュー90からの出力93
c上の4つのバイトまでの規制詞拡張データはラッチ1
02に送られ、ここから、フォーマツタ103を通過す
る。このフォーマツタは存在する可能性のある任意の規
制詞拡張データを符号拡張し、別のラッチ104に右寄
せする。このラッチ104から、このデータは32ビツ
ト・バス43によって実行ユニット21に送られる。
また、I−Boxはラッチ105にデルタPC値を発生
させ、これはE−Boxプログラム・カウンタ56が実
施されて次のオプコートまたは規制詞を指定しなければ
ならない量を表わしておりこれは現在処理されつつある
オプコードおよび規制詞におけるバイト数に基礎を置く
。ラッチ105におけるデルタPC値はPLAによって
変換され1次いで、ラッチ106にロードされ、E−B
oxによってバス38を経て使用され得るように次のマ
シンサイクルで利用される。さらに、I−Boxはラッ
チ107に4ビツトRNフイールドを発生させ、これは
現在の規制詞または実行マイクロフローに対して使用さ
れることになっているレジスタ・フィールド50内の1
6個の汎用レジスタのうちの1つを指定する。このRN
フィールドは規制詞バイトのレジスタ・フィールドから
導かれる。さらに、3ビツトSNフイールドがラッチ1
08に発生させられ、現在の規制詞フローの結果を記憶
するのに使用されるべきレジスタ・フィールド50内の
メモリ・データ・レジスタを規制する。ラッチ108の
値はPLAにおいて変換され、第2のサイクルでラッチ
109にロートされ、こうして、第3サイクルにおいて
バス38を経てE−Boxによって使用する準備が整う
[メモリ管理ユニット] メモリ管理ユニット30が第6図に詳しく示しである。
命令またはデータの読み出しあるいは書き込みのための
任意のアドレスが32ビツト仮想アドレス・バス110
に與われ、この仮想アドレスは翻訳バ・ンファ111で
使用されて物理的な。
すなわち、現実のアドレスを発生する。このアドレスは
内部アドレス・バス31に行くバス32に現われる。仮
想アドレスは実行ユニット21のALU45の出力部に
発生させられ、ALU出力バス34を通して仮想アドレ
ス・バス110に与えられてもよいし、あるいは、3つ
のレジスタから出力部112を経てバス110にロード
されてもよい。これら3つのレジスタとは、仮想アドレ
ス・レジスタ113.仮想アドレス・プライム(VAP
)レジスタ114.仮想命令バッファ・アドレス(VI
BA)レジスタ115である。これら3つのレジスタ1
13.114.115は実行ユニット21の主データバ
スやALUを使用することなく多くのアドレスを発生す
ることがてきる。
これらのレジスタは、各々、マイクロ命令のW、Aフィ
ールドの制御の下に、入力116を経て書き込みバス3
5から書き込まれるかあるいは出力部117およびAA
Bus33を経て読み出され得る。VAレジスタ113
は書き込み動作のためのアドレスを発生し、また、メモ
リ・リクエスト毎にバス110からの仮想アドレスなう
・シチするしたがって、メモリ管理例外が生じたならば
、マイクロ命令は常にVAレジスタ113の故障アドレ
スにアクセスすることがてきる。VAPレジスタ114
は常にVAババス10プラス4をラッチしており、した
がって、次の順番のロングワードのアドレスを含んでい
る。このレジスタは多数のロングワードにアクセスし、
また、不整合メモリ基準(すなわち、完了するのに第2
基準を必要とするメモリ基準)の第2のロングワードに
アクセスするのにもマイクロ命令によって使用される、
VIBAレジスタ115は、マイクロ命令がプログラム
・カウンタ56のフラッシュ、ロードを実施するときに
はいつでもロートされる。次いでこのVIBAレジスタ
は先取りキュー90を満たすためにメモリからの命令ス
トリーム・データのロングワードを先取りするのに使用
され、各命令ストリーム・ロングワードが取り出された
後に4だけ増分される。
翻訳バッファIllは64の記憶場所を含む完全連想メ
モリであり、各記憶場所は近い時期に成功した翻訳のタ
グを、このタグのためのページ・テーブル・エントリ(
PTE)と−緒に含んでいる。バス110から翻訳バッ
ファの受は取った各仮想アドレスのページ・アドレス(
ビット9〜31)は64個すべてのエントリの23ビツ
ト・タグと比較され、それらが一致している場合には。
一致したタグに対応するPTEがバス119(21ビツ
ト)に出力される。仮想アドレス・バス110の下位3
0個のビットはバス120に現われここから、ビットθ
〜8かライン121を経て内部アドレス・バス32に直
接送られて1ページ内のバイト・アドレスを構成し、V
Aババス10からの21個のビット9〜29がバス12
0を経てマルチプレクサ122へまとめて入力され、翻
訳バッファからの21ビツトPTEはバス119を経た
他の入力となる。したがって、バス32を経て内部アド
レス・バス31に送られたアドレスの上位21ビット部
分はVAババスら直接のものであるか、あるいはバッフ
ァlllおよびPTEを経て翻訳されたものである。す
なわち、マイクロ命令制御によって、内部アドレス・バ
ス31に送られたアドレスはVAババス10から直接の
ものであるか、あるいは、翻訳バッファ111を用いて
翻訳したアドレスとなる。
VAババス10上のアドレスのページがバッファ111
内の64個のタグの中になく、翻訳アドレスが規制され
ている場合には、故障状態が告知される。これがTB故
障である。マイクロシーケンサ23は、メモリ15すな
わちキャッシュ内に作動システムによって維持されたテ
ーブルでページ・アドレスが検索できるようにするルー
チンのための始動アドレスを発生する。このとき、もち
ろん、多数のマイクロ命令サイクルを実施する必要があ
る。
ユニット30内のコントローラは、パイプラインにおけ
る各セグメントについて現在主張されているマイクロ命
令に応答して、バス・インターフェイス・ユニット42
の動作を定めるために内部指令バス125上に指令を与
える。
[−次キャッシュ] 次に第7図を参照して、ここには−次キャッシュすなわ
ちP−Cache40が一層詳しく示しである。このキ
ャッシュは2にバイト高速メモリ130を包含し、この
メモリは内部アドレス・バス31によってアドレス指定
され、内部データ・バス41に対して読み出し、書き込
みが行われる。メモリ130は64行に配置されており
、各行に4つのカッドワードQWO,QWI、QW2Q
W3が、そして、各カットワードに1つずつ4つの対応
するタグTagO1Tagl、Tag2、Tag3が設
けである0行デコーダ132が内部アドレス・バス31
からのライン133上にある6つのビット3〜8に基い
て64行のうちの1行を選択する0選定された行はデー
タのための桁デコーダ134とタグのための桁デコーダ
135にロートされる。ここで、IAババス1からのラ
イン136上の2つのビット9、lOに基いて4つのう
ちの1つの選択が行われる。こうして。
1つのタグ(20ビツト)と1つのカットワード(64
ビツトか8バイト)がP−Cache内のデータ・タグ
I10バス137,138で選ばれる。データ・バス1
37はセンス増幅器139によって読み出されるか、あ
るいは、書き込み増幅器140によって書き込まれる。
ここで、2つのうちの1つを選ぶ別の動作がIAババス
1からのライン141上のビット2に基いて行われる。
したがって、選択された32ビツトまたは4バイトが、
タグヒツトがあるならば、内部データ・バス41にロー
ドされるか、あるいは、そこから伝送される。キャッシ
ュ・メモリ130内の選定場所から読み出されたタグは
、コンパレータ143において、IAババス1からライ
ン144を経てきた18個のビット11〜28と比較さ
れる。すべてのビットが同じであれば、ヒツトがライン
145に知らされる。I10基準は決してキャッシュさ
れることがないので、ライン149を経ての■Aババス
1のビット29が基準がI10スペースに対してのもの
であることを示さない場合にはこのライン145からラ
イン147上にミス・ロジック146がP−Cache
ヒツト出力を送る。
書き込み増幅器150もタグI10バス13Bのために
設けてあり、キャッシュ130がいつばになったときに
タグをロードする。
[バス・インターフェイス・ユニット]第8図を参照し
て、バス・インターフェイス・ユニット42は内部アド
レス・バス31上の30ビツトの物理的なアドレスに基
いて27ビツト・システム・アドレス・バス12を駆動
する。バス31上の30ビツト・アドレスがバイト・ア
ドレスであり、バス12上の27ビツト・アドレスがシ
ステム・データ・バス11のカットワード(64ビツト
)幅に対応するカットワード(8バイト)に対して位置
合わせされるために差がある。この変換を可能とし、か
つ、整合、不整合を問わず種々のデータ長を可能とする
ために、制御バス13は8ビツト・バイト・マスク・フ
ィールドを含み、これは8つの可能性のあるバイト位置
の各々に1ビツトずつ含んでいる。バス拳インターツェ
イス内のコントローラ155はメモリ管理ユ二ット内で
発生し、ライン156を通してバス・インターフェイス
に送られた内部4ビツト・バイト・マスクに基いてシス
テム制御バスに加えるように8ビツト・バイト・マスク
を発生する。メモリ管理ユニットはライン36上のデー
タ長DL制御ビットを使用し、これはバス38を経ての
I−Box20内のオブコート、オペランドのデコード
で始まる。もちろん、バス31上のアドレスのうち低位
ビット0〜2は始動バイト・アドレスを構成する。こう
して、32ビット内部データ・バス41と64ビツト・
システム・データ・バスの間と、30ビット内部アドレ
ス・バスと27ビツト・システム・アドレス・バスの間
とで変換がなされる。
システム制御バス13は4ビツト・バス指令も含み、こ
の指令はバス・インターフェイス・ユニット42のコン
トローラ155によって駆動されるか、あるいは、それ
に受は取られる。このバス指令はシステム・バスでどん
な動作を行われているかを示すものであり、このような
動作としてはメモリ15からの中央演算処理装置10読
み出し命令ストリーム・カッドワード、中央演算処理装
置10読み出しデータ・ストリーム・カッドワード、メ
モリ15への中央演算処理装ごlO書き込み等がある。
この4ビツト指令は制御バス13の別のラインであるア
ドレス・ストローブと一緒に主張され、全システムを実
施するために必要とされるかも知れない、Ready、
Read、DMA  Request、Interru
pt、Haftのためのラインを含み、その他にコプロ
セッサ制御器も含む。
データ、アドレス、バス指令はインラッチ158および
二重アウトラッチ159によって内外に移される。各ラ
ッチは64ビツト・データ・レジスタ160.27ビツ
ト・アドレス・レジスタ161およびバス指令レジスタ
162を含む。こうして、インラッチ158は1サイク
ルでバス11から64ビツト・カッドワード受は取り、
2サイクルで内部バス41へ2つの32ビツト・ロング
ワードを伝送することができる。同様にして、各アウト
ラッチ159は2サイクルで2つの32ビツト・ロング
ワードをロートすることができ、それ故、lサイクルで
1つの64ビツト・カットワードがシステム・バス11
に伝送され得る。2つの同形のアウトラッチを設けた理
由は中央演算処理装置lOのメモリへの書き込みをスピ
ードアップすることにある。これは、外部バス11.1
213でのメモリ書き込み動作が3つのサイクルを取り
、2つのアウトラッチのうちの第2のものがロード中に
第1のものがシステム・データ・バス11を経てメモリ
に書き込みを行うことができるからである。
内部指令バス125がメモリ管理ユニット30からの知
らせ等でメモリ読み出しを示しているときにはバス・イ
ンターフェイス・ユニット42によってメモリ読み出し
・トランザクションが実施される。これはメモリ管理ユ
ニットが内部アドレス・バス31へ駆動された物理的な
アドレスによって規制されたデータを要求しているとき
に生じる。もしこのアドレスが一層キャッシュ40タグ
記憶装置に見出された場合には、キヤ、ンシュ40は内
部データ・バス41をこのデータて駆動し、対応した受
は取り側(I−Box20またはE−Box21)かデ
ータ・バス41からのデータをラッチする。−次キャッ
シュのタグ・コンパレータ143にタグがない場合には
、ライン147上のタグ・ヒツト信号が廃棄され、ライ
ン125上の読み出し指令とバス31上の物理的なアド
レスがアウトラッチ159にロードされ、システム・バ
スが次の2.3のサイクルで利用できるときにはいっで
もコントローラ155がこの読み出し。
リクエストな引塵ぎ、実行する。要求されたデータがイ
ンラッチ158に受は取られ、そこにラッチされるまで
はM −B o x 30からはそれ以上の指令が送ら
れてくることはない。ユニット42はインラッチからバ
ス41へ、したがって、目的の宛先、I−Box、E−
Box、P−Cacheにデータを送る。−例として、
−次キャッシュがみすし、データを主メモリ15から取
り出さなければならない場合には、読み出しトランザク
ションが6下位のマシンサイクルを採用し、その間。
中央演算処理装置のパイプラインはストールしている。
メモリ書き込みシーケンスはM−Boxによって内部指
令バス125上に主張されている書き込み指令で始まる
。このとき、M −B o xもライン156上に内部
バイト・マスクを駆動する。キャッシュ40が「ライト
スルー」式であるから、すべてのメモリ書き込みかキャ
ッシュで試みられ、主メモリて実行される。こうして、
書き込み指令が内部指令バス125上にあるとき、P−
Cache40かバス31上のアドレスをそのタグ・ア
レイと比較する。もし基準がヒツトしたならば。
IDバス41上のデータがキャッシュRAM130に書
き込まれる。もしタグ比較がミスしたならば、データは
P−Cacheによって無視される。いずれにしても、
IAババス1.IDババス1内部指令バス125および
バイト・マスク上のデータは、すべて、アウトラッチに
ロードされ、その結果、外部書き込みシーケンスが主メ
モリに書き込まれ得る(使用したいならばバックアップ
・キャッシュに書き込まれ得る)。
[パイプライン化] 第1〜8図の中央演算処理装置1i10は高度にパイプ
ライン化されており、命令の実行の際の事象は多くのマ
シンサイクルにわたって広がっており多数の命令のうち
のいくつかの部分の実行は互いに重なり合う、すなわち
、同時に生じる。中央演算処理装置は第9図に大雑把に
示すように5セグメントのパイプラインを使用しており
、ここでは、命令IIかサイクルl中にセグメントsl
で実行を開始し、サイクル5でセグメントS5を継続し
ていることがわかる。命令■2は命令11かセグメント
s2にあるときにサイクル2てセグメントslの実行を
開始し、同様に、サイクル6でセグメントs5を継続し
ていることがわかる。サイクル5で、そして、その後、
パイプラインの5つのセグメントで5つの異なった命令
の部分が並列で実行される。もちろん、第9図は正確に
5つのセグメントですべての命令が実行されると仮定し
た理想的な状況を示しており、ストールも例外もまった
くない。この理想的なケースでは、平均実行率はマシン
サイクル毎に1つの命令となる。
第1〜8図の中央演算処理装置lOのパイプラインの5
つのセグメントで生じる実際の事象は第10図により完
全に示しである。まず、第11図を参照して、中央演算
処理装置lOがクロック・ジェネレータ44によって計
時されていて等しい長さの4つの位相PI、P2、P3
、P4を各マシンサイクルで発生していることに注目さ
れたいこれらのクロック位相は実施例では中央演算処理
装置lOを構成するのに使用されるCMO3回路を駆動
するのに用いられる。
第10図のセグメント−1において、もし命令ユニウド
20か位相Pi中に先取りキュー90に存在する有効命
令およびオペランド規制側を有する場合には、この情報
はP2、P3中にデコーダ94.95で復号され、ディ
スパッチ・マルチプレクサ100の出力が24で利用さ
れ、ラッチlO1にディスパッチ・アドレスがロードさ
れる。
ラッチ102にはP4て解析された規制詞拡張部(命令
ストリーム・データの一部である)をロードされる。
セグメント−2において、ディスパッチ・アドレスはP
i中にパス25に送られ、P2、P3中に制御記憶装置
22がアクセスされる。マイクロ命令はこのセグメント
の24中に出力部26のところで利用され、次のサイク
ルのPiて実行ユニットの制御要素の第1れべるまでロ
ートする準備が整う、このセグメント−2では、また、
あるとすれば、規制詞拡張部かラッチ102からフォー
マタた103を通してラッチ104に行く際にフォーマ
ット化され、Sn、Rnのようなデータが計算、ラッチ
され、AT/DL情報がラッチされこのデータおよび制
御情報は次のサイクルの冒頭でバス38を介して実行ユ
ニット21に利用されることになる。
パイプラインのセグメント−3(CSOセグメントとも
呼ぶ)において、実行ユニット21は種々のレジスタあ
るいはバスにアクセスし、データを34ビツトC5Oラ
ツチ165で利用されるマイクロ命令のA、B制御フィ
ールドの基いてAABus33、ABBus46に作用
させる。ここで、ラッチ165はバス28を経てロード
されるレジスタ・ファイル50、内部データ・バス41
、即時データ・バス43はすべてこのセグメントでAA
Bus、ABBusにロードされるべきオペランドのソ
ースとなる。レジスタ・セットの残部はプログラム・カ
ウンタ56、メモリ管理ユニット30内のアドレス・レ
ジスタ113,114.115等を含む。これらすべて
はこのサイクルのP4で読み出しのための利用される。
また、実行ユニットはこのセグメントのPiでバス38
上の制御ビットを受は入れる。
セグメント−4(CSIセグメントとも呼ぶ)において
、マイクロ命令のALUJ1能部分に上部分規制される
動作は、第4図に示すようなりasicまたはCon5
tantタイプの場合には、ALU45で実施され、あ
るいは、マイクロ命令が5hiftの場合にはマイクロ
命令のShiftm能、5hift値フイールドによっ
て規制される動作がシック48で実施される。制御記憶
装置22が各サイクルで新しいマイクロ命令を発生する
ことになっているので、同じマイクロ命令がセグメント
−5で使用されたときには最後のサイクルからのマイク
ロ命令を記憶する必要がある。
この目的で、制御記憶装置からのマイクロ命令出力28
がC5Oラツチ165でラッチされ、このラッチの出力
かセグメント−3で実施される動作のために使用され1
次に、サイクルの終りで第3図でわかるように別のCS
Iラッチ166にラッチされ、したがって、マイクロ命
令がセグメント−4で実行ユニット21のために利用で
きる。ここで再び、このラッチ166の出力がセグメン
ト−5で用いるためにセグメント−4(この命令の第4
クロツク・サイクル)の終りで同様のCS2う・ンチ1
67に記憶される。
メモリ管理ユニット30の動作は実行ユニット21のパ
イプライン・セグメント並列で生じる。
バス28からのマイクロ命令は第6図に示す異なったC
5Oラツチ16Bにセグメント−3でラッチされる。次
いて、セグメント−4で別のCSIラッチ169にラッ
チされ、その結果、第4図に示すマイクロ命令Memo
ry  Requestフィールドが必要に応じて利用
できる。セグメント−4のマシンサイクルのP2中、ユ
ニット30は、バスか必要としているならばバス・イン
ターフェイス・ユニット42にリクエストを送る。ユニ
ット30はALUアウトバス34、VAレジスタ113
等のありそうなソースの中でC3Iラッチ169内にあ
るマイクロ命令によって定められたアドレス・ソースを
決定し、仮想アドレス・バス110はP4中に利用でき
る選ばれたアドレスを有し、翻訳バッファ111がタグ
・ルックアップを作る。セグメント−4の終りで、故障
または例外によって遅延がまったく導入されていないな
らば、マイクロ命令はCSIラッチ169からマルチプ
レクサ171を通してC32ラツチ170に伝送される
セグメント5において、書き込みバス35は実行ユニッ
ト21のALU45またはシフタ48の出力によって駆
動され、C32ラツチ167内のマイクロ命令のWフィ
ールドによって定められる宛先に書き込みを行う。あり
そうな宛先としてはレジスタ・ファイル50内の選定レ
ジスタ、レジスタ・セットの他のレジスタ、ローデータ
53を経ての内部データ・バス41、バイパス用のAA
BusあるいはABBus、または、メモリ管理ユニッ
ト内の仮想アドレス・バス110がアル、セグメント−
5のPi中、メモリ管理ユニット30内で、PTEがバ
ス119に読み出され、翻訳バッファ111が一致を示
した場合にはバス32を経て内部アドレス・バス31に
読み出される一層キャッシュ40の行デコーダはP2中
にIAババス1からアドレスを受は取り、P2の終りで
データ、タグにアクセスし、次にタグ・コンパレータ1
43がP3でタグの比較を行い、一致しているときには
、読み出しが行われている場合にはP3の終りで内部デ
ータ・バス41でデータが利用され、書き込みである場
合にはキャッシュ・メモリ130にデータか書き込まれ
る。タグの一致がない場合には、ライン147にP3で
ミスが知らされる。メモリ管理ユニットにおいては、翻
訳バッファ111がタグの一致を検出しない場合には、
セグメント−5のP2によって例外が決定され、これが
知らされて物理的なアドレスを発生するためのページ番
号を検索するルーチンが実施される。
[マイクロスタック] マイクロスタック75およびそのスタック・ポインタ7
7は本発明の一特徴に従って構成されており、単一のマ
イクロ命令サイクルてマイクロフローCa l lある
いはReturnが実行され得る。この目的で、スタッ
クは独特の形態となっている。
′IJS12図を参照して、ここには、本発明の一実施
例に従って中央演算第理装置10あるいは同様のプロセ
ッサで使用するためのスタック75が一層詳しく示しで
ある。このスタックは複数の同形のレジスタ171 (
本例では8つのレジスタ)を包含しており、各レジスタ
171は、本例では。
並列に11のビットを含むが、スタックのレジスタは、
中央演算処理装置アーキテクチャおよび他の実施例でス
タックが何に使用されるかということに応じて、たとえ
ば、16個のビットあるいは32個のビットを包含する
。レジスタ171のために使用されるようなレジスタの
各ビットは通常はDフリップフロップ等で構成されてい
る。第3図で説明したように、スタック75のレジスタ
171のすべてに2つのバス、書き込みバス76と読み
出しバス74が接続しである。各バスは11本の並列ラ
イン(他の実施例では16本または32本)からなり、
各バスの一本のラインがレジスタ171のそれぞれのビ
ットに接続している。各レジスタ171は読み出しfi
制御入力部172と書き込み制御入力部173を有し、
各レジスタのこれらの制御部はレジスタの11個のビッ
トまたはステージのすべてに接続してあり、読み出し制
御入力部172が活動化されたとき、レジスタ171の
すべてのビットが書き込みバス76に接続する。読み出
し、書き込み制御部172,173はスタック・ポイン
タ77に接続され、それによって活動化される。このポ
インタは普通の回路の多数の同形のシフト・レジスタ・
ステージ176からなる。スタック・ポインタ77は双
方向シフト・カウンタまたはコミュテータであり、任意
の時点て、「1」にセットされた1つだけのビットを有
し、他はすべてrOJとなる。スタック・ポインタ77
は制御器79から受は取った増分入力177と減分入力
178によって制御される。したがって、増分入力17
7が計時されるかあるいは活動化されると、ポインタ7
7内のセットされたビット(すなわち「l」)が1方向
へ1位置分(1ビット分)移動し、あるいは、減分入力
17Bが計時されるか活動化されると、ポインタ77の
セットされたビットは他の方向へ1位置分移動する0本
発明によれば、スタック・ポインタ77の各ビット17
6からの出力180はスタック75の1つのレジスタ1
71の読み出し入力172に送られ、次のレジスタ17
1の書き込み入力173に送られる。プロ、セッサの各
マシンサイクル中スタック75は無条件で読み出しバス
74によって読み出される。すなわち、スタック75の
、スタック・ポインタ77が出力180を経て読み出し
制御人力172を活動化しているレジスタ171の内容
は無条件で読み出しバス74にロードされる。また、読
み出しデータが読み出しバス74にロードされると同時
に、次のレジスタ171が無条件で書き込みバス76に
書き込まれるか、あるいは、そこから読み出される。こ
れは、1つのレジスタ171の読み出し制御ユニット1
72を活動化しているポインタ77の同じすてえじ17
6が同時に次のレジスタ171の書き込み制御部173
を活動化するからである。
通常のスタック動作はPUSHとPOPであるPUSH
はスタックのトップに現在のデータ・ソースを書き込み
、すべての先行データを1位置分「押し下げる」ことか
らなり、通常の構造ではこれはポインタを増分し、次に
利用てきるレジスタを指定し、この新しいレジスタに書
き込みを行うことを意味する。論理的に言えば、POP
はスタックのトップの内容を読み出し、すべての古いデ
ータを1位置分押し上げることからなり、通常は、これ
はポインタが指定する位置を読み出しポインタを減分す
ることを意味する。第3図、第12図の実施例では、ス
タックは常にマシンサイクル毎にPUSHまたはPOP
のいずれかを実施する状態にあり、PUSHまたはPO
Pか実行されようとしている場合にあマイクロ命令を復
号するのになんら遅延はない。マイクロ命令がPUSH
である場合、書き込みバス76のデータは次のレジスタ
171(ポインタプラス1)に既に書き込まれることに
なり、したがって、こポインタが増分された場合に動作
か完了する。この場合、バス74上の読み出しデータは
破棄されるか使用されない。一方、命令かPOPの場合
、ポインタ77によってアドレス指定されるレジスタ1
71からのデータは読み出しバス74に上に既にありポ
インタ77はマイクロ命令が復号されたときに減分入力
178によって減分される。ここて書き込みバス76か
ら「ポインタプラス1」レジスタに書き込まれたデータ
は、このレジスタが使用されていないので、なんの結果
も生みださない。マイクロ命令かPUSHでもPOPで
もない場合、すなわち、スタック動作でない場合、入力
177または178には増分も減分も行われず、バス7
6.74を経ての無条件の読み出し、書き込みはなんの
結果を生みださず、「ポインタプラス1」への書き込み
はなんの外もない。もちろん、ポインタ記憶場所からの
読み出しもそれが非破壊性であり、データが使用されな
いので無害である第13図を参照して、ここではマイク
ロ命令XYを考える。これらはサイクル−1、サイクル
−2て実行される。Xはrcall  YJでありYは
r Re t u r n Jである。Xのアドレスは
サイクル−1のP2中にマイクロプログラム・カウンタ
85の出力部に現われるが、サイクル〜lのP4までは
コントローラ79.87.88.89で復号されない。
この時点で、回路はCallを検出し、Xのマイクロア
ドレスを(X+1まて増分された低位ビットて)スタッ
ク75ヘプツシユしなければならない。サイクル−2の
P2て、Yのマイクロアドレスかマイクロプログラム・
カウンタ85の出力部に現われ、P4でReturnか
復号される。しかしながら、Returnアドレス(X
+1)はP4でセットアツプされ、サイクル〜3てマル
チプレクサ70によって選定されなければならない。こ
のシーケンスは従来のスタック形態ては不可部でないま
でも非常に難しかった。
第12図のスタック回路において、本発明によれば、各
サイクルの24中、スタック・ポインタ77からの読み
出し、書き込み制御によって選ばれた記憶場所に対して
無条件の読み出し、書き込みか実施される。読み出し値
はマルチプレクサ入力部に行くライン74に置かれ、書
き込み値は常に1だけ増分されたマイクロプログラム・
カウンタ85の出力である。
ここで「2」のポインタ値を考えると、読み出しポイン
タ172はレジスタ171−2を選び、書き込みポイン
タ173はレジスタ171−3を選び、その結果、レジ
スタ171−2に潜在的なCallアドレスか書き込ま
れ、レジスタ171−2から潜在的なReturnアド
レスか読み出される0次のサイクルのP3て、ポインタ
はCa11あるいはReturnの24におけるデコー
ドに基いて条件付きで増分、減分される。CallもR
etunも復号されない場合には、ポインタ77の増分
も減分もなく、読み出し、書き込みは使用されない。
本発明を特定の実施例について説明してきたがこの説明
は限定の意味はなく、この説明を参照して当業者ならば
種々の変更、修正を行うことができる。したがって、特
許請求の範囲は本発明の範囲に入るこれらの変更、修正
を含むものと考える。
【図面の簡単な説明】
第1図は本発明の一実施例による中央演算処理装置を含
むコンピュータ装置のブロック図である。 第2図は第1図の中央演算処理装置の実行ユニットのブ
ロック図である。 第3図は第1図の中央演算処理装置のマイクロシーケン
サのブロック図である。 第4図は第3図の制御記憶装置に含まれるマイクロお命
令のフォーマットの図である。 第5図は第1図の中央演算処理装置の命令ユニットのブ
ロック図である。 第6図は第1図の中央演算処理装置のメモリ管理ユニッ
トのブロック図である。 第7図は第1図の中央演算処理装置の一層キャッシュま
たはP−キャッシュ・メモリのブロック図である。 第8図は第1図の中央演算処理装置のバス・インターフ
ェイス・ユニットのブロック図である。 第9図は第1図のパイプライン化した中央演算処理装置
において連続したマシンサイクルで生しる事象を示す図
である。 第1O図は第1〜8図の中央演算処理装置における命令
実行の詳細を示す事象対時間のタイミング図である。 第11図は第1図の中央演算処理装置のクロック・ジェ
ネレータによって発生した4位相出力クロックのタイミ
ング図である。 第12図は第3図のマイクロシーケンサで使用するよう
な本発明の一実施例によるメモリ・スタックの概略ブロ
ック図である。 第13図は第12図のマイクロアドレス・スタックの動
作における事象対時間のタイミング図である。 図面において、10・・・中央演算処理装置、11・・
・システム・データ・バス、12・・・システム・アド
レス・バス、13・・・システム制御バス、工5・・・
システム・メモリ、20・・・命令ユニット、21・・
・実行ユニット、22・・・制御記憶装置、23・・・
マイクロシーケンサ、25・・・ディスパッチ・バス、
26・・・マイクロ命令バス、30・・・メモリ管理ユ
ニウド、31・・・内部アドレス・バス、34・・・A
LU出力バス、35・・・書き込みデータ・バス、40
・・・−次キャクシュ、41・・・内部データ・バス、
42・・・バス・インターフェイス・ユニット、44・
・・クロック・ジェネレータ、45・−A L U、5
o・・・レジスタ・ファイル、55・・・シフト・カウ
ンタ・レジスタ、56・・・プログラム・カウンタ、5
8・・・カウンタ回路、61・・・プロセッサ状況レジ
スタ、62・・・定数ジェネレータ、70・・・マルチ
プレクサ、80・・・マイクロアドレス・サイロ、9o
・・・先取りキュー、lOO・・・ディスパッチ・マル
チプレクサ。 111・・・翻訳ハッファ 手 続 補 正 書 (方式) 2、発明の名称 高速中央演算処理装置のマイクロ 命令アドレス指定 3、補正をする者 事件との関係 出 願 人 名 称 ディジタル イクイプメント コーポレーション 4、代 理 人 5、補正命令の日付 平成1年10月31日

Claims (20)

    【特許請求の範囲】
  1. (1)、複数のレジスタを有し、増分あるいは減分でき
    るスタック・ポインタを有する形式のメモリ・スタック
    を作動させる方法であって、前記スタック・ポインタに
    よって指示 された前記スタックのレジスタプラス1に書込みバスか
    ら無条件で書込みを行う段階と、 前記スタック・ポインタによって指示 された前記スタックのレジスタの内容を読取りバスに無
    条件でコピーする段階と、 その後、条件付きで、前記スタック・ ポインタを増分させるかあるいは減分させるか、または
    、前記スタック・ポインタを増分も減分も指せない段階
    と を包含することを特徴とする方法。
  2. (2)請求項1記載の方法において、前記スタック・ポ
    インタを増分させるかあるいは減分させるか、または、
    前記スタック・ポインタを増分も減分もさせない段階が
    命令またはマイクロ命令のビットを解読する段階に応答
    して実施されることを特徴とする方法。
  3. (3)請求項1記載の方法において、前記スタック・ポ
    インタが、スタック操作が実施された場合に条件付きで
    増分あるいは減分させられ、スタック操作が実施されな
    い場合に増分も減分もさせられないことを特徴とする方
    法。
  4. (4)請求項3記載の方法において、前記スタック操作
    がPUSHまたはPOPであることを特徴とする方法。
  5. (5)請求項1記載の方法において、前記メモリ・スタ
    ックがマシンサイクルを有するコンピュータ装置の一部
    であり、前記段階のすべてが前記マシンサイクルのうち
    の1つのマシンサイクルの時間内に実施されることを特
    徴とする方法。
  6. (6)請求項5記載の方法において、前記段階のすべて
    が前記マシンサイクルのうちのそれぞれで常に実施され
    ることを特徴とする方法。
  7. (7)請求項6記載の方法において、各マシンサイクル
    が複数の位相を含み、前記段階のすべてが前記位相の或
    るものに占有された時間内で実施され、前記マシンサイ
    クルのうちの所与のマシンサイクルの終り付近で開始し
    、次のマシンサイクルの終る前に終了することを特徴と
    する方法。
  8. (8)請求項1記載の方法において、前記スタックがC
    allまたはReturnマイクロ命令が実行されたと
    きにパイプライン化中央演算処理装置内にアドレスまた
    はマイクロ命令を格納するのに使用されることを特徴と
    する方法。
  9. (9)複数のレジスタを有し、増分あるいは減分できる
    スタック・ポインタを有する形式のメモリ・スタックで
    あって、 前記スタック・ポインタによって指示 された前記スタックのレジスタプラス1に書込みバスか
    ら無条件で書込みを行う手段と、 前記スタック・ポインタによって指示 された前記スタックのレジスタの内容を読取りバスに無
    条件でコピーする手段と、 その後、条件付きで、前記スタック・ ポインタを増分させるかあるいは減分させるか、または
    、前記スタック・ポインタを増分も減分も指せない手段
    と を包含することを特徴とするメモリ・スタック。
  10. (10)請求項1記載のメモリ・スタックにおいて、前
    記スタック・ポインタを増分させるかあるいは減分させ
    るか、または、前記スタック・ポインタを増分も減分も
    させない手段が命令またはマイクロ命令のビットを解読
    することに応答して作動することを特徴とするメモリ・
    スタック。
  11. (11)請求項1記載のメモリ・スタックにおいて、前
    記スタック・ポインタが、スタック操作が実施された場
    合に条件付きで増分あるいは減分させられ、スタック操
    作が実施されない場合に増分も減分もさせられないこと
    を特徴とするメモリ・スタック。
  12. (12)請求項3記載のメモリ・スタックにおいて、前
    記スタック操作がPUSHまたはPOPであることを特
    徴とするメモリ・スタック。
  13. (13)請求項1記載のメモリ・スタックにおいて、前
    記メモリ・スタックがマシンサイクルを有するコンピュ
    ータ装置の一部であり、前記段階のすべてが前記マシン
    サイクルのうちの1つのマシンサイクルの時間内に実施
    されることを特徴とするメモリ・スタック。
  14. (14)請求項5記載のメモリ・スタックにおいて、前
    記段階のすべてが前記マシンサイクルのうちのそれぞれ
    で常に実施されることを特徴とするメモリ・スタック。
  15. (15)請求項6記載のメモリ・スタックにおいて、各
    マシンサイクルが複数の位相を含み、前記段階のすべて
    が前記位相の或るものに占有された時間内で実施され、
    前記マシンサイクルのうちの所与のマシンサイクルの終
    り付近で開始し、次のマシンサイクルの終る前に終了す
    ることを特徴とするメモリ・スタック。
  16. (16)請求項1記載のメモリ・スタックにおいて、前
    記スタックがCallまたはReturnマイクロ命令
    が実行されたときにパイプライン化中央演算処理装置内
    にアドレスまたはマイクロ命令を格納するのに使用され
    ることを特徴とするメモリ・スタック。
  17. (17)マイクロ命令記憶装置をアドレス指定する方法
    であって、 a)各マシンサイクルにおいて前記ス タック・ポインタによって指定されたスタック内の記憶
    位置ぷらす1に前記マイクロ命令記憶装置のアドレス入
    力部に与えられたアドレスを無条件で書込む段階と、 b)前記スタック・ポインタによって 指定された前記スタックの前記記憶場所の内容を読取り
    、この内容を各マシンサイクルでの前記マイクロ命令記
    憶装置のためのアドレスとして使用する段階と、 c)各マシンサイクルでマイクロ命令 を解読して前記スタック・ポインタを増分あるいは減分
    するかまたはいずれも行わないかどうかを決定する段階
    と を包含することを特徴とする方法。
  18. (18)請求項17記載の方法において、前記ポインタ
    が、Callマイクロ命令が解読された場合に増分させ
    られ、Returnマイクロ命令が解読された場合に減
    分させられることを特徴とする方法。
  19. (19)マイクロ命令記憶装置とこのマイクロ命令記憶
    装置をアドレス指定する手段とを有する中央演算処理装
    置であって、 a)スタック・ポインタで指定された スタック内の記憶場所プラス1に、各マシンサイクルで
    前記マイクロ命令記憶装置のアドレス入力部に与えられ
    たアドレスを条件付きで書込む手段と、 b)前記スタック・ポインタによって 指定された前記スタックの前記記憶場所の内容を読み出
    し、その内容を各マシンサイクルで前記マイクロ命令記
    憶装置のためのアドレスとして使用する手段と、 c)各マシンサイクルでマイクロ命令 を解読して前記スタック・ポインタを増分あるいは減分
    させるか、または、増分も減分もさせないかを決定する
    手段と を包含することを特徴とする中央演算処理装置。
  20. (20)請求項19記載の中央演算処理装置において、
    前記ポインタがCallマイクロ命令が解読されたとき
    に増分され、Returnマイクロ命令が解読されたと
    きに減分されることを特徴とする中央演算処理装置。
JP1188709A 1988-07-20 1989-07-20 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置 Expired - Lifetime JPH0736155B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/221,946 US5023828A (en) 1988-07-20 1988-07-20 Microinstruction addressing in high-speed CPU
US221946 1988-07-20

Publications (2)

Publication Number Publication Date
JPH02140830A true JPH02140830A (ja) 1990-05-30
JPH0736155B2 JPH0736155B2 (ja) 1995-04-19

Family

ID=22830096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1188709A Expired - Lifetime JPH0736155B2 (ja) 1988-07-20 1989-07-20 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置

Country Status (6)

Country Link
US (1) US5023828A (ja)
EP (1) EP0352082B1 (ja)
JP (1) JPH0736155B2 (ja)
AT (1) ATE145291T1 (ja)
CA (1) CA1323939C (ja)
DE (1) DE68927451T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
JP2509344B2 (ja) * 1989-09-19 1996-06-19 富士通株式会社 デ―タ処理装置
JPH03180933A (ja) * 1989-12-08 1991-08-06 Matsushita Electric Ind Co Ltd スタックメモリ
JP3035828B2 (ja) * 1989-12-28 2000-04-24 甲府日本電気株式会社 情報処理装置
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
US5249280A (en) * 1990-07-05 1993-09-28 Motorola, Inc. Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
KR0181471B1 (ko) * 1990-07-27 1999-05-15 윌리암 피.브레이든 컴퓨터 데이타 경로배정 시스템
US5301345A (en) * 1991-05-03 1994-04-05 Motorola, Inc. Data processing system for performing a shifting operation and a constant generation operation and method therefor
US5452423A (en) * 1991-06-13 1995-09-19 Chips And Technologies, Inc. Two-ROM multibyte microcode address selection method and apparatus
US5448707A (en) * 1991-10-29 1995-09-05 Intel Corporation Mechanism to protect data saved on a local register cache during inter-subsystem calls and returns
US5335332A (en) * 1991-12-24 1994-08-02 International Business Machines Corporation Method and system for stack memory alignment utilizing recursion
US5398330A (en) 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
US5463748A (en) 1993-06-30 1995-10-31 Intel Corporation Instruction buffer for aligning instruction sets using boundary detection
US5515521A (en) * 1994-02-08 1996-05-07 Meridian Semiconductor, Inc. Circuit and method for reducing delays associated with contention interference between code fetches and operand accesses of a microprocessor
JPH08329261A (ja) * 1995-05-31 1996-12-13 Canon Inc パラメータ曲線発生器
US6148376A (en) 1996-05-10 2000-11-14 Apple Computer, Inc. Method and apparatus for an improved stack arrangement and operations thereon
US5958039A (en) * 1997-10-28 1999-09-28 Microchip Technology Incorporated Master-slave latches and post increment/decrement operations
US6154865A (en) * 1998-11-13 2000-11-28 Credence Systems Corporation Instruction processing pattern generator controlling an integrated circuit tester
US6345353B2 (en) * 1999-07-20 2002-02-05 Microchip Technology Incorporated Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs
US7231511B2 (en) * 2001-12-20 2007-06-12 Intel Corporation Microinstruction pointer stack including speculative pointers for out-of-order execution
US7818722B2 (en) * 2006-06-09 2010-10-19 International Business Machines Corporation Computer implemented method and system for accurate, efficient and adaptive calling context profiling
US11977890B2 (en) * 2021-12-30 2024-05-07 Advanced Micro Devices, Inc. Stateful microcode branching

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3942163A (en) * 1974-06-21 1976-03-02 Burroughs Corporation CCD stack memory organization
JPS5255446A (en) * 1975-10-31 1977-05-06 Toshiba Corp Information transfer control system
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
JPS5569855A (en) * 1978-11-20 1980-05-26 Panafacom Ltd Data processing system
US4394729A (en) * 1980-10-16 1983-07-19 Ncr Corporation Jump return stack
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
DE3321325A1 (de) * 1983-06-13 1984-12-13 Siemens AG, 1000 Berlin und 8000 München Kellerspeicher
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
US4600986A (en) * 1984-04-02 1986-07-15 Sperry Corporation Pipelined split stack with high performance interleaved decode
US4674032A (en) * 1984-04-02 1987-06-16 Unisys Corporation High-performance pipelined stack with over-write protection
ATE98791T1 (de) * 1984-05-08 1994-01-15 Advanced Micro Devices Inc Mikroprogrammablaufsteuerung.

Also Published As

Publication number Publication date
EP0352082A2 (en) 1990-01-24
JPH0736155B2 (ja) 1995-04-19
ATE145291T1 (de) 1996-11-15
EP0352082B1 (en) 1996-11-13
EP0352082A3 (en) 1993-01-07
CA1323939C (en) 1993-11-02
US5023828A (en) 1991-06-11
DE68927451D1 (de) 1996-12-19
DE68927451T2 (de) 1997-06-12

Similar Documents

Publication Publication Date Title
US5019967A (en) Pipeline bubble compression in a computer system
US5321823A (en) Digital processor with bit mask for counting registers for fast register saves
US4875160A (en) Method for implementing synchronous pipeline exception recovery
JPH02140830A (ja) 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置
US5006980A (en) Pipelined digital CPU with deadlock resolution
US6327647B1 (en) Method and apparatus for interfacing a processor to a coprocessor
CA1325285C (en) Method and apparatus for ordering and queueing multiple memory requests
US5923893A (en) Method and apparatus for interfacing a processor to a coprocessor
US5125083A (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US5717946A (en) Data processor
EP0381469B1 (en) Method and data processing unit for pipeline processing of register and register modifying specifiers within the same instruction
US4305124A (en) Pipelined computer
JPS6339931B2 (ja)
JPH04309131A (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
JPH04260950A (ja) キャッシュメモリ装置
US5983338A (en) Method and apparatus for interfacing a processor to a coprocessor for communicating register write information
JPH07120284B2 (ja) データ処理装置
US5590293A (en) Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
US4893235A (en) Central processing unit for a digital computer
JP4502532B2 (ja) データ処理装置
EP0509558A2 (en) Information processing system with support means responsive to an overall system control
US5895497A (en) Microprocessor with pipelining, memory size evaluation, micro-op code and tags
EP0015276B1 (en) A digital pipelined computer
JPH0524537B2 (ja)
CA1250666A (en) Central processing unit for a digital computer

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 15