JPS6250856B2 - - Google Patents

Info

Publication number
JPS6250856B2
JPS6250856B2 JP56056881A JP5688181A JPS6250856B2 JP S6250856 B2 JPS6250856 B2 JP S6250856B2 JP 56056881 A JP56056881 A JP 56056881A JP 5688181 A JP5688181 A JP 5688181A JP S6250856 B2 JPS6250856 B2 JP S6250856B2
Authority
JP
Japan
Prior art keywords
address
bus
register
control store
bits
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
Application number
JP56056881A
Other languages
English (en)
Other versions
JPS5723149A (en
Inventor
Ii Katsushingu Deebitsudo
Ii Sutanrei Fuiritsupu
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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS5723149A publication Critical patent/JPS5723149A/ja
Publication of JPS6250856B2 publication Critical patent/JPS6250856B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明はデータ処理システムに関し、特にデー
タ処理システムに内蔵される制御ストアに関す
る。
開発が続けられる多くのデータ処理装置は、
各々が制御ストア・ワード即ち謂ゆるフアームウ
エア・ワードを内部に記憶させた複数個の記憶場
所を含む謂ゆる制御ワードを含むものである。制
御ワードは、所要の結果を達成するために必要な
組の機械操作を実行するために使用される。この
制御ストアは、データ処理装置における制御機構
の中枢部である。このように、処理装置の操作速
度は、多くの場合制御ストアの速度に直接依存し
ている。高速メモリー、高速ロジツクおよび改良
されたアーキテクチユアおよびタイミング方式を
含む種々の時間節減手法の使用等の多くの方法で
速度の大きな制御ストアが獲得されて来た。最小
限の記憶場所数となるように制御ストアのサイズ
を縮少することにより空間およびコストの要件を
減少すると共に、より高速のメモリーの使用を容
易にするためにも様々な技術が使用されて来た。
従つて、本発明の第1の目的は、データ処理シ
ステムに使用される改善された制御ストアとこれ
と関連するロジツクの提供にある。
本発明の前述およびその他の目的は、第1と第
2の部分を有する制御ストアを含み、前記各部分
がシステムのオペレーシヨンを制御する際使用さ
れる制御ストア・ワードを記憶するための複数の
記憶場所を有するデータ処理システムの提供によ
つて達成される。制御ストア・ワードの現在アド
レス指定されているものの内容の一部で前記第1
の部分をアドレス指定する装置も又設けられ、シ
ステム内で実行されるべきオペレーシヨンのタイ
プに関する情報で前記制御ストアの第2の部分を
アドレス指定するマルチプレクサ装置も設けられ
る。更に、マルチプレクサ装置を含み、第1のタ
イプのオペレーシヨン又は第2のタイプのオペレ
ーシヨンに応答して、アドレス指定されるべき第
1の部分における複数個の記憶場所の1つ、又は
アドレス指定されるべき第2の部分における複数
個の記憶場所の1つのいずれか一方を使用可能状
態にし、これによりアドレス指定されるべきいず
れか一方の部分における偶数又は奇数のアドレス
記憶場所の一方の対化を可能にするために更に別
の装置が結合される。
本発明の装置が構成される方法およびその操作
モードについては、添付図面と共に以下の詳細な
説明を照合すれば最もよく理解できよう。
第1図は、本発明のCPUが含まれるシステム
の構成を示す全体的ブロツク図である。このよう
なシステムは、中央処理システム(CPU)10
0と、科学計算命令処理装置(SIP)101およ
び商業計算命令処理装置(CIP)102を含む任
意の処理装置とを含む。これ等の任意の処理装置
は、特殊な用途のため基本処理装置100の範囲
を拡張するための使用可能である。本システムは
又、カツシエ/MMU(カツシエ・メモリー/記
憶管理)装置103と、電気的システム・バス1
05と、記憶モジユール(主記憶装置)106
と、入出力(I/O)装置108と結合された入
出力(I/O)コントローラ107と、多重回線
通信コントローラ即ち処理装置(MLCP)109
も含み得る。本システムは又、前述のシステムの
全て又は一部を含む第2の中央サブシステム11
0がある多重プロセサ構成も含む。
中央サブシステム・プロセサは相互に局部バス
9によつて接続され、これ等のプロセサはカツシ
エ/MMU装置103によつてシステムの残部と
接続される。中央サブシステムにおけるカツシ
エ/MMU装置の機能は、前記プロセサによつて
その時使用されつゝある主記憶装置の部分に対す
るバツフア記憶および主記憶装置のアドレスの変
換を行うことである。局部バスの機能は、3つの
プロセサとカツシエ/MMU装置間の相互連絡の
提供である。多数のインターフエースに構成され
る1つの物理的な局部バス9が存在する。図示の
如く、CPU100と他の2つのプロセサ間には
専用のインターフエースがある。各プロセサから
カツシエ/MMUに至る専用インターフエースも
ある。この局部バスは、時分割インターフエース
即ち公共設備のインターフエースであり、これは
即ち3つの全てのプロセサとカツシエ/MMU装
置により共用される。更に、カツシエ/MMU装
置103はシステム・バス105を介してシステ
ムの残部、主としてコントローラ107を介して
メモリー106とI/O装置108に対するイン
ターフエースを提供する。
次に、第2図のCPUのブロツク図について論
述する。特に種々の電気的バスと、機能的装置
と、それ等の相互関係について論述する。CPU
の主な素子は点線内に示される。第1のこのよう
な素子は局部バス・インターフエース10であ
り、これはデータ・バツフア、ラウンドロビン手
順記憶バツフア36、およびソース・バス33と
結合された種々の手順/データ・ワードおよびア
ドレス・マルチプレクサ(MUX)、ならびに以下
の論述する他の諸装置を含む。第1の素子10は
局部バス9からデータを受取る目的に使用され
る。
第2の素子16は算術演算素子で、DRAM1
1とBRAM12と呼ばれる2組のレジスタ列
(RAM)と、RAM又はRAM11と12が接続す
るRバス13を含むいくつかの素子を含んでい
る。これは又、入力即ちBRAMならびに他の諸
素子が接続する内部バス14も含む。第2の要素
は又、DALU15、即ちDRAM11の駆動のため
結合される演算論理装置を含む。
CPUの第3の素子22は、外部バス17と書
込みバス84、これ等を結合するシフター19―
1と19―2と、これ等を駆動するセレクタを含
む。これ等のセレクタは、DALU/Rバス・セレ
クタ20とYレジスタ/Pレジスタ(YP)セレ
クタを含む。
第4の主要素子27はCPUのアドレス・セク
シヨンで、手順アドレス・レジスタ(P)23と
データ・アドレス・レジスタ(Y)24を含む。
これも又アドレス・マルチプレクサ25と先取り
アドレス・レジスタ26とを含む。又素子27に
含まれるのは書込みデータ・レジスタ(W)28
と書込みデータ・セレクタ(WS)29である。
CPUのこの部分はデータを局部バス9に送るた
めに使用される。
装置30はCPUのテスト・ロジツクで、これ
は第7図に示す如く1組の8対1マルチプレクサ
を含み、このマルチプレクサは更に少くとも第2
の組の少くとも2つの8対1マルチプレクサを駆
動して「TEST TRUE」又は「TEST
FALSE」と呼ばれる1つの2進信号を生じ、こ
れは更にフアームウエアにおける分岐動作の制御
のため使用される。信号TEST TRUEおよび
TEST FALSEは第5図に示される如く制御スト
ア・バンク80と81に含まれるPROMと接続さ
れる。
次のアドレス生成装置44はFレジスタ38と
Fバス37と結合される。次のアドレス生成装置
は、主としてCPU内で使用するフアームウエ
ア・アドレスの生成と関連する。
局部バスのデータ入力域である素子10の機能
は、カツシエ/MMU又は局部バス上の他の装置
から戻るデータを受取り、もしブートストラツプ
手順実行が要求されるならばデータをブートスト
ラツプPROMから選択してこのデータを適当なデ
ータ・バツフアに指向させることである。もし命
令取出しが要求されるならば、データは機能レジ
スタに置かれる。特に、基本データ・バツフア3
1は局部バス9から16又は32ビツトのデー
タ・ワードを受取る。その出力はLバス32と接
続される。Lバスは、1対のセレクタDA34と
DW35の使用によりソース・バス33を駆動す
ると共に、4ワードの手順バツフア36を駆動す
るために使用される。非手順データは、Lバス3
2からのデータ・セレクタから駆動されるソー
ス・バス33を介してCPUに入る。手順データ
は、手順バツフア36から入る別の組のセレクタ
PA39とPW40によつてCPUに入る。手順バ
ツフアは実行すべき手順の次の2つ又は3つのワ
ードを含む応答性を有し、その結果これ等ワード
が要求される時これ等の取出しに時間を消費する
必要がない。これはCPUにより空にされると、
カツシエ/MMUから局部バスを介して自動的に
再ロードされる。
Fバス37は、Fレジスタ38に対する情報即
ちFOP,FM,FNおよびLINKとして表示される
4つの領域をゲートするため使用される特殊なバ
スである。FレジスタはCPUの基本命令レジス
タである。Fバス37の機能はFレジスタ38か
らデータを取出してデータを種々のソースからF
レジスタに与えることである。素子AS42から
Fレジスタ38のLINK又はFN域のいずれかに定
数又はデータをロードすることを許容するマルチ
プレクサ43も存在する。
データ入力域である素子10においては、もし
ブートストラツプ・モードで操作中であればメモ
リーからの命令の代りに別の命令を与えるために
使用することができる1組のブートストラツプ
PROM41が存在する。
記憶場所A,B,C,Dを有する記憶装置36
はラウンド・ロビン形4ワード手順ストアであ
る。2ワードの手順に対する余地を有する、即ち
少くとも半分が空である時は常に、この装置はカ
ツシエ/MMUから局部バス9を介して手順のメ
モリー読出しを自動的に開始する。戻りデータ
は、このラウンドロビン形ストアにおいて使用で
きる次の2つの記憶場所へ戻される。CPUがそ
の処理用素子の内部で使用するためソース・バス
33に対して送出するか、あるいは命令の一部で
ある故にFレジスタ38に送出することにより手
順を使用する時、ラウンド・ロビン・ストアにお
けるカーソルを有効に表示する2つのポインタ3
6―1と36―2が装置36に含まれるカウンタ
の使用により使用できる次の場所に進み、この装
置は順次自らの出力に対する4つの記憶場所を使
用可能状態にする。左側のカーソル即ちポインタ
36―2は取出すべき次のワード即ち手順を表示
し、右側のカーソル36―1はこれに続くワード
を表わす。屡々手順の1ワードを使い切り、この
場合には左側のカーソルにより表示されるワード
がPWマルチプレクサ40を通る情報を成するた
め使用されることになる。時として(大きなアド
レス形態(LAF)アドレスを引出す時など)2
ワードの手順に対する要求がある。この場合は、
左側および右側の両方のカーソルにより示される
ワードは手順セレクタのPAマルチプレクサにお
いて組合わされる。これについては上記ロジツク
について説明する時更に詳細に説明する。
このように、素子10はデータ・セレクタ34
と35を介し、あるいは手順セレクタ39と40
を介してデータをソース・バスに対するCPUに
持込むか、あるいは手順バツフア36およびFバ
ス37を介して命令(F)レジスタ38に直接デ
ータを送ることに関与する区域である。装置
(F′)76は、補助アドレス情報即ちシラブルか
らの選択されたビツトを保持するため使用され
る。アドレス・シラブルは実際に16ビツトのデー
タ記述子の一部である。この記述子におけるある
ビツトは以降の分析操作のため保持されねばなら
ない。CIP記述子におけるオペランド・サイズ・
ビツトと、Kレジスタの記述子におけるオペラン
ド・サイズおよび符号付きビツトと符号付きでな
いビツトの対比が保持されねばならない。これ等
は5ビツトのF′レジスタ76に保持される。
第2の素子16は、演算論理装置(DALU)1
5と、BRAM12と、DRAM11とを含み、プ
ログラマ・ビジブルなレジスタの殆んどに加えて
多数のプログラマ・ビジブルでない作業レジスタ
を含む。これ等のデータ記憶素子は下記の如く構
成される。即ち、RAM13を駆動可能な2つの
ソースの一方であるDRAM11は、各々が24ビ
ツト巾を有する32の記憶場所を含む。これ等の
場所は、謂ゆるDレジスタと、32ビツトの長さ
の謂ゆるKレジスタの2つの半部(KおよびL)
と、多数の内部ポインタと、7つの謂ゆるMレジ
スタの保持に使用される。各々が24ビツト巾の16
ワードを含むBRAM12は、7つの基底レジス
タの他に種々のタイプの多数のプログラマ・ビジ
ブルおよびプログラマ・ビジブルでないポインタ
を含む。
第3図は、RAMとバスとDALU15間の関係
を更に詳細に示している。DRAMとBRAMはそ
れぞれRAMバス13に対するソースであり得
る。BRAM12は実際には2重構造であり、即
ちCPUにおいては2つの並列のBRAM60と6
1がある。BRAMの2つの素子は同様にロード
される。Rバスを駆動する(即ちデータをRバス
に転送する)1つのこのような素子は素子60で
あり、Iバス14を駆動する他の素子はBRAM
素子61である。2つの同じBRAMの重要な特
質はシステムの速度が増大されることである。
RバスはBRAM60又はDRAM11のいずれ
かによつて駆動できる。以下で明らかになるよう
に、他のソースも又Iバス14を駆動する。
DALU15はその入力としてIバスとRバスを使
用し、DALUの出力はDRAMに対して再循環で
き、および(又は)CPUのどこか他で使用され
る。
素子16は重要な2つのバスを含む。謂ゆる入
力即ち入力バス(I)14はプロセサ内の最初の
入力の主なソースであり、即ちドライバ54を介
するQレジスタ50の出力およびBRAM12の
出力の場合と同様にメモリーからのデータがこの
バスに入る。第2のバス、即ち謂ゆるR即ち
RAMバスは、2つの異なるRAM即ちBRAMと
DRAMの出力が結合される点である。これ等2
つのバスの出力はDALU15に対する入力であつ
て、このDALUはシステムにおいてこれ以上の処
理のためDRAMへ戻すことができあるいは外部
のバス17に送出できるデータを生成する。
内部バスとRAMバスは相方共、その入出力が
バス上の信号に対し結合するため一緒にタイされ
るゲートである謂ゆる「バツトラツチ
(batlatch、BL)」と呼ばれるハードウエア素子を
使用する。このバトラツチは、タイミングと順序
付けの理由のため駆動ソースがバスから切離され
ることを要求された後、この信号の制御を引継ぐ
ためのものである。この状態が生じると、バトラ
ツチは次に、このバトラツチがOFFに切換えら
れその時バス信号がリラツクスする(零ボルトの
如き予め定めたレベルになる)ことができる迄、
駆動ソースが存在した時と同レベルに前記信号を
保持する。
RAMバス13は制御パネル90と中央処理装
置(CPU)間のデータの転送のためのインター
フエースであり、これに対して16本の両方向の信
号回線を介して接続される。記憶データは、デー
タ・ラツチ(DL)51と呼ばれる1組のドライ
バを介して内側バス14と接続する。このデー
タ・ラツチは、SE即ち符号拡張ラツチ52と呼
ばれる第2の一連のラツチと並列関係にある。こ
れ等のSEラツチは、24ビツトのバスに対し僅か
に16ビツト量しか提供しない時、データを符号拡
張又は零拡張するため使用される。同様に、SE
ロジツク52は、その時の命令の7又は8ビツト
をとるため使用され、これをこの命令ワードの右
側の部分からその変位およびオペランドをそれぞ
れ得る分岐および数値命令により使用するため24
ビツトに符号拡張するため使用される。
又、選択/変更ロジツク53と呼ばれる
BRAMおよびDRAMロジツクとも関連があり、
このロジツクは命令の種々のフイールドを用いて
ブロツク内の個々のレジスタの選択を制御する8
つのレジスタのブロツク内でDRAMおよび
BRAMがアドレス指定されることを可能にす
る。
定数生成装置(KON)70も又素子16即ち
基本ALU区域に含まれ、内部バス14に対する
別のソース即ち制御記憶ワードのBIおよびKフ
イールドからの入力に基いて、フアームウエアの
制御下にある算術演算装置により使用するため内
部バスに対して24ビツトの定数を生成するため使
用できるソースである。
このように、素子16はCPUにおける基本的
算術演算区域であり、即ち、この素子はオペラン
ド操作と関連し、即ちデータRAMに挿入するた
めのオペランドか、あるいは、BRAMへ戻され
るべく、あるいは局部バス9に出力するため種々
のアドレスおよびデータ・レジスタへ送るべく、
外部バスに対して送られるべきものとされるオペ
ランドの生成と関連している。
素子22は、外部バスおよび書込みバスと呼ば
れるCPUのセクシヨンと主として関連する。外
部バスは、種々のデータ経路、即ちYレジスタ、
Pレジスタ、DALUの出力およびRAMバスが集
められるバスである。書込みバスは、BRAM
と、書込みデータ・レジスタと、主としてアドレ
ス操作に対して応答するALUであるBALU55
に対しオペランドを転送するため使用されるバス
である。
外部バス17と書込みバス84との間には、外
部バス17のオペランドに関していずれかの方向
の1,2又は4ビツトのシフトを可能にする1組
で24個の多重化シフター19がある。更に、オペ
ランドをQレジスタにロードするため使用される
1組で16個の多重化シフター56もある。
外部バスに対しソース化される4つの異なるタ
イプのオペランドの内の2つはDALUおよび
RAMバスに始まり、外部バス17に接続された
2対1マルチプレクサ20を経由するように選択
される。外部バスに対する他の2つのソースは、
データ・アドレス・レジスタであるYレジスタ
と、手順アドレス(P)レジスタである。これ等
2つの装置の出力は、2対1マルチプレクサ
(Y/Pセレクタ)21を介して接続され、外部
バス17にソース化される。又外部バス17と接
続されるのは、中央処理サブシステムに対する標
識レジスタであるIレジスタ57である。外部バ
ス17の内容は、更にCPUにおいて処理するた
め書込みバス84に対して直接転送もしくはシフ
トすることができる。この等の内容は又、Qレジ
スタが2倍精度シフト操作に対して使用できるよ
うにQレジスタに直接ロードすることができる。
CPU内で生じる全てのシフト動作は、外部バ
スと書込みバス間のオペランドの操作によつて生
じる。24個のシフター19を用いて、制御スト
ア・ワードの制御下でOバス17とWバス84に
おける24ビツトのオペランドのサイズを左又は右
ヘシフトする。これ等は1又は2又は4位置だけ
シフトし、オペランドを直線的にあるいは交換さ
れたオペランドの2つの右側のバイトを用いて転
送する。これ等のシフターの操作は、制御ストア
ワードにおける特殊なフイールドによつて制御さ
れる。CPUのこのセクシヨンは、24ビツトのオ
ペランドのシフトのため使用される。32ビツトの
(2倍レジスタ)のオペランドがシフトされる
時、右側のオペランドが外側のバスを介してQレ
ジスタにロードされ、この時Wバス・シフター1
9のみならず16個のQレジスタ・シフター56も
又操作されるシフトが実施される。これによりQ
レジスタの内容は、Wバス84にシフトされつゝ
ある24ビツトのオペランドの右側端における16ビ
ツトの拡張として取扱われ、これ等2つのシフタ
ーの端部は一緒に結合されてこれにより40ビツト
のシフトを惹起する。このような2倍レジスタの
シフトにおいては、問題のオペランドは、Qレジ
スタに戻される16ビツトと外部バスの右側の2つ
のバイトに送られる16ビツトであり、Wバス・デ
ータの左側の8つのビツトは通常放棄される。
素子75は、ある条件下にドライバ93を経て
Wバスに対し放出するためのCPUにおける状況
ビツトの収集を表わす。Wバスは2つのソースを
有し、その主な一つは外部バス17からのシフタ
ー19である。このシフター19はバス84に対
する入力として使用禁止でき、その代り状況ビツ
ト(S/Z)75はフアームウエアによる以降の
分析操作のため書込みバス84に置くことができ
る。
これ迄説明しなかつたQレジスタと関連するハ
ードウエアの一装置は、XBレジスタ58とこれ
に接続されたデコーダ59である。このXBレジ
スタ58は、サブ・ワード・オペランドに対し右
寄せされこれ等がアドレスにおける単一ワード・
ビツトの右側に移動するため脱落することになる
指標のこれ等ビツトを捕捉する指標シフト動作の
間使用される。これ等はXBレジスタにおいて、
半ワード・シフトに対しては1ビツト、桁シフト
に対しては2ビツト、ビツト・サイズのオペラン
ドのシフトに対しては4ビツト宛捕捉される。
XBレジスタの内容は、桁オペランドに対する商
業計算命令プロセサに対して送られるパラメータ
を生成する時半ワードのオペランドを処理中左対
右の半部選択を直接制御し、ビツト・オペランド
について演算する時デコーダ59と関連して15の
2進数零と1つの2進数1のマスクを生じるため
後で使用される。即ち、1つのビツト・オペラン
ドに対しては1つのワードが読出され、1つのマ
スクを用いてこのワードにおいて選択されたビツ
トをセツト又はクリヤするため1つのマスクが使
用され、次にこのワードはメモリーに対して再び
書込まれる。このマスクはデコーダ59から生成
され、Qレジスタ50に対する入力である。即
ち、Qレジスタにローダ可能な項目の1つは、
XBレジスタの内容から生成されたデコーダ・マ
スクである。
CPUにおける第4の主要要素は区域27であ
り、この要素はCIP,SIP又はカツシエ/MMU、
従つてメモリーと、入出力(I/O)装置のいず
れかに対し局部バス9に送るアドレス、指令およ
びオペランドの生成と関連する。この主要要素は
およそ3つの区域に分割することができ、その第
1は書込みデータ・レジスタ(W)28と書込み
セレクタ(WS)29である。レジスタ28は区
切りを設けたロード能力を有する32ビツトのレジ
スタであり、このレジスタの左右の半部のいずれ
かあるいは両方の半部がロード可能である。右半
部は常に書込みバス84の16ビツトからドライバ
74を介してロードされる。左半部は書込みセレ
クタ29からのデータで書込まれる。この書込み
セレクタはその16の入力として、書込みバスの
右半部の16ビツトか、書込みバスの左側の8ビツ
ト、プラス符号拡張又は零拡張のいずれかを有す
る。書込みバスは主要経路で、これにより後でこ
のようなデータを局部バス上に結合された他のど
んな装置に対しても書込むためにデータをWレジ
スタ28に対して送出することができる。
局部バス出力インターフエース27における次
の区域は指令ドライバ71である。指令ドライバ
71は、局部バス上のCPUによる全ての転送に
伴う一連の指令回線を駆動し、カツシエ/MMU
又は局部バス処理装置の1つに対するメモリー照
合サイクル、又はI/O照合サイクル、又は局部
バス照合サイクルのいずれかをカツシエ/MMU
に対して表示する。回線72から指令回線に対し
転送される情報は、第4図に示される制御ストア
のFおよびFKフイールド又はフアームウエア
(FW)ワードから得られ、これは又他の場合に
素子10のFレジスタ38の機能を制御する。
要素27の第3の部分は2つの基本アドレス・
レジスタ、即ち非手順記憶アドレスおよび局部お
よびシステム・バス上の他の素子に対するアドレ
スのためのYレジスタ24と、Pレジスタ23
(プログラム・カウンタ)および先取りレジスタ
26とを含む。
Pカウンタ23はフアームウエアが使用した最
後のワードを追跡し、このワードはラウンド・ロ
ビン・バツフア36から取出して操作のため
CPUに対し入力されたものである。先取り
(PF)レジスタ26はどのワードが次にメモリー
から取出されるべきかを追跡し、即ちPおよび
PFレジスタは、ラウンド・ロビン・バツフアが
どの程度充填されるか、又CPUがどの程度最近
バツフアからデータを得たかに従つて、記憶アド
レスにおいて1乃至4ワードの範囲内で変化し得
る。もしCPUがバツフアから全てのデータを得
たならば、、カツシエ/MMUがある要求に応答
して新らしいデータに応答し、かつバツフア36
を再び充填するのに一定の時間を要する。このよ
うな状況の下では、先取りレジスタ26とPカウ
ンタ即ちレジスタ23のアドレスはアドレス内容
においては互いに近いか同じである。バツフア3
6が充填されてCPUが最近どのデータも得なか
つた場合、Pレジスタは先取りレジスタの後で2
又は4ワードとなるが、これは得た最終ワードを
表示中でありかつ先取りレジスタにおいてそれに
対する余地ができると直ちに先取りレジスタがメ
モリーから送られるべき次のワードを表示するた
めである。
Pレジスタ23の内容は記憶アドレス・ソース
として局部バスに対しては決して入れられない。
仮想アドレス・マルチプレクサ25を介して局部
バスに達し得るデータに対する2つのソースは、
全ての非手順取出しに対して使用されるYレジス
タ24と、以降のフアームウエア・ステツプにお
いて使用する記憶ワードおよび要求ワードに達す
べく先取りロジツクにより自動的に使用される先
取りレジスタ26とである。
素子23,24,26における矢印はこれ等特
定のレジスタの増分能力を表わす。即ち、Pレジ
スタは、一時に先取りバツフアから取出されるワ
ード数に従つて1ワード又は2ワード宛増分し得
る。即ち、先取りバツフア36からの1ワードの
引出しはPレジスタを1だけ自動的に増分し、先
取りバツフア36からの2ワードの引出しはPレ
ジスタを2だけ自動的に増分する。先取りレジス
タは常に2宛増分するが、これは先取りは常に1
対のワード単位で実施されるためである。Yレジ
スタは使用される時、又は将来の使用に備えてフ
アームウエアの制御下で1又は2だけ増分し得
る。このような増分および局部バスに対する種々
のサイクル要求の制御を許容するフアームウエ
ア・ワードには1つのバス制御フイールドがあ
る。
Wレジスタ28に対する入力は、種々の方法で
付勢される2つの16ビツト・データ経路である。
もし24ビツト・アドレスの書込みを欲するなら
ば、ドライバ74がONに切換えられて、書込み
バスの右側の16ビツトがWレジスタの右側の16ビ
ツトに転送されることを可能にする。マルチプレ
クサ29は、書込みバスの左側の8ビツトおよび
8つの先行する(最上位の)2進数零がWレジス
タ28の左半部に送られるように条件付けされて
いる。これは2ワードの24ビツト・アドレスを後
でメモリーに書込むためWレジスタにロードす
る。もし1つのワードをメモリーに書込むことが
要求されるならば、Wレジスタの右半部はクロツ
クされず(即ち、使用可能状態にされ)て変化せ
ず、マルチプレクサ29は書込みバスの16の右側
ビツトを左側の16ビツトがクロツク・インされる
Wレジスタの左側の16ビツトに対して使用可能状
態にするよう条件付けされる。単ワードの書込み
の場合は、Wワードの左半部がメモリーに書込ま
れるデータである。
これ迄に説明したロジツクは、カツシエ/
MMU又はCIP又はSIPの如き局部バスにおける他
の構成素子からデータを要求しかつこれを受入
れ、このデータについて演算してこれを本システ
ムに含まれる2つのALUを介して種々のレジス
タの内部に記憶し、後で修飾されて、局部バス上
の構成素子のアドレス(CPU内で計算されて局
部バスの制御のため使用される)を用いて前記局
部バスから前記構成素子の1つに対し送出される
新らしいオペランドを形成するため使用される。
このような操作の全ては、CPUに内蔵される
2048ワード×96ビツト/ワードの制御ストア80
と81に記憶される制御フアームウエアの制御下
で実施される。
この制御ストアは多数の個々のフイールドに仕
切られ、このフイールドの各々はCPUの内部性
能のある特性を制御する。第4図は、フアームウ
エア・ワードとその内部の問題の種々のフイール
ドを示す。これ等フイールドの第1のものは局部
バス(LB)フイールド、即ち制御ストアのビツ
ト0乃至7である。このLBフイールドは局部バ
スからの種々のサイクルの要求およびこれに対す
る各応答と関連する。このフイールドは又、先取
りレジスタ又はYレジスタを介する仮想アドレス
の送出に対しても応答可能であり、YおよびPレ
ジスタの各増分動作を制御する。局部バス・フイ
ールドは又、ラウンド・ロビン手順バツフア36
からのデータの順次の読出し、および内部バス1
4により後で使用されるようソース・バス33に
対するデータおよび手順マルチプレクサ34,3
5,39および40のそれぞれの使用可能状態を
制御する。
次のフイールド即ち制御ストアのビツト8と9
であるクロツク(CK)フイールドは、CPUのク
ロツク速度即ちCPUにおける連続するクロツ
ク・パルス間の間隔を制御するため使用される。
各フアームウエア・ステツプは、その複雑度に適
したクロツク速度を割当てている。本発明のシス
テムにおいては、連続するクロツク・パルス間の
4つの可能な間隔、例えば、85ナノ秒、100ナノ
秒、115ナノ秒又は130ナノ秒がある。これ等の内
どれがあるフアームウエア・ステツプに対して使
用されるかは、このフアームウエア・ステツプに
対するCKフイールドによつて制御される。
次のフイールドは、制御ストアにおけるビツト
10乃至15であるTCフイールドである。これは6
ビツトのフイールドであり、フアームウエア・シ
ーケンスのテストおよび制御のためCPU内の64
の可能な論理機能の内の1つを選択する。
次のフイールドはBRフイールド即ちビツト17
乃至19であり、テスト条件即ちどのタイプの分岐
が生じたか、この分岐が2つのフアームウエア・
ステツプの間を選択するだけか、あるいはこれが
1つのフアームウエア・ステツプと、次のアドレ
スがFレジスタ38の内容のある機能により制御
される謂ゆる制御ストア・スプラツタ(CPUに
おける1つ以上の論理素子の状態に基く多くの制
御ストアの次のアドレスの1つの生成)との間を
選択するかのテスト条件の結果として得られる動
作のタイプの制御に使用される。
次に問題になるフイールド、即ちビツト21であ
るTPフイールドは極性テスト・フイールドであ
る。このフイールドは、テスト条件が真又は偽の
どちらに対してテストされるかを制御する。
NAフイールド即ちビツト22乃至31は、全ての
分岐により選択される2つのアドレスの内少くと
も1つを生成するため使用される10ビツトのフイ
ールドである。他のアドレスは、同じNAフイー
ルドから得られるか、前述の制御ストアのスプラ
ツタから得られる。
次のフイールドであるビツト32乃至39は、Fビ
ツトと呼ばれる4ビツトの部分とFKと呼ばれる
2番目の4ビツトの部分とに区切られたFレジス
タ制御フイールドである。FおよびFKフイール
ドはFレジスタおよびFバスの区域における種々
の素子のローデイングおよびストローブ動作の制
御に使用され、即ち、F′およびAS′装置即ちFレ
ジスタ38とマルチプレクサ43のサブ部分のス
トローブ動作の制御に使用される。これ等の装置
のどれがロードされ、これ等がそのローデイング
のためどのソースを有するかについては全てFお
よびFKフイールドにより制御される。
次のフイールドであるビツト40〜47はK(即
ち、定数)フイールドで、Iバス14の駆動に使
用される。このフイールドは8ビツトのフイール
ドで、Iバスに送られる全ての内容に対する右側
の8ビツトを提供する。定数の左側の16ビツトは
Iバス・フイールドによつて制御されるが、これ
については以下に説明する。Kフイールドは直接
KON装置70と関連する。制御ストアの次のフ
イールドであるビツト48〜63は主としてDRAM
11とBRAM12のアドレス指定および制御と
関連する。2ビツトのフイールドであるDWは、
DRAMの最も左側の(最上位の)8ビツトに対
する書込み操作を制御する1ビツト、および最も
右側の(最下位の)16ビツトに対する書込み操作
を制御する他のビツトを用いて、DRAMに対す
る書込みの制御に使用される。次のビツト即ちビ
ツト50(フイールドBW)を用いて、常に一緒に
書込まれるBRAMの両部分に対する書込み操作
の制御に使用される。次のフイールドDSは長さ
が5ビツトであり、DRAM11における32レジ
スタの1つの選択を行う。DMフイールド即ちビ
ツト56および57は、DRAMと関連する選択修飾
フイールドであつて、DRAMのアドレス指定動
作を修飾するため直接DRAMの選択かあるいは
Fレジスタ38の3つの異なる機能のどれかの選
択のいずれかを許容する。
問題の次のフイールドは、BRAMにおける16
レジスタの1つの選択のために使用されるビツト
60乃至63であるB選択フイールド(BS)であ
る。ビツト58と59からなる2ビツトのフイールド
は、BRAMのアドレス指定のための選択修飾フ
イールド(BM)である。このフイールドは、独
立的選択および修飾の機能がBRAMとDRAMの
相方に対して指定し得るように別個である点を除
けば、DRAMアドレス指定のためのフイールド
と同様に機能する。
次のフイールドは長さが7ビツト(ビツト65〜
71)であるGPフイールドで、種々の双安定フリ
ツプフロツプのクロツク動作および種々の制御機
能の可能状態化の如きプロセサ内部の多数の汎用
マイクロ操作の制御に使用される。このフイール
ドは又、CPUからの制御パネルに対するアクセ
スを制御してデータを制御パネルに関し入出力
し、又内部の種々のフリツプフロツプを制御する
ために使用される。
次のフイールド、即ちビツト72と73であるRB
フイールドは、BRAMを制御する1ビツトと
DRAMを制御する他のビツトを用いてRバス1
3に対するデータのソース化を制御するため使用
される。
BAフイールド即ちビツト74乃至79は、BALU
55即ちその入力としてIバスを有しかつYレジ
スタ24の駆動に使用できる演算論理装置の諸機
能の制御に使用される。これ等の6つのビツトは
下記の如くに使用される。即ち、1つはBALUに
対する桁送りインジエクトとして、1つは論理演
算制御のため、他の4つは特定の諸機能の選択の
ため使用される。
次の問題のフイールドはビツト80乃至83である
IBフイールドで、どのデータ・ソースを内部バ
ス14に対し使用可能状態にするかの制御に使用
される。このフイールドは、データ・ラツチ、F
レジスタの符号拡張、又は定数の選択、又はIバ
スに対する種々の組合せのBRAMを使用可能状
態にさせ得る。次にフイールド即ちビツト84乃至
89であるSHフイールドは、前に述べたシフター
およびWバスのソース化を共に制御するため使用
される。これ等の6ビツトは、どのレジスタが使
用可能状態におかれ、Qレジスタがロードするか
どうか、又シフターはオペランドが通過する時ど
の方向にこれをシフトするか、についての多くの
自動制御をシステムに可能にする。
最後のフイールド、即ちビツト90乃至95のDA
フイールドは、BAフイールドの場合と類似の機
能を有する6ビツト、即ち1ビツトは桁送りイン
ジエクト、1ビツトは論理演算と算術演算の選
択、他の4ビツトは特定の機能の選択のためのビ
ツトを用いてDALU15に対する機能制御であ
る。
CPUに対する制御ストアは実際には2つの制
御ストア、即ち上位バンク80と下位バンク81
である。この上位バンクは次のアドレス形成装置
44によりアドレス指定され、下位のバンクはそ
の時の制御ストア・ワードの内容の一部により直
接アドレス指定される。更に一般的なタイプの分
岐の場合には、制御ストア・ワードのNAフイー
ルドを次のアドレスの基本ソースとして使用する
と共に上下のバンクに至る2つのアドレスが略々
同じとなるようにこれを修正する。次のアドレス
とPROMが生成するスプラツタ間を選択する如き
他の分岐の場合には、下位のバンクはその時の制
御ストア・ワードから変化しない次のアドレス・
フイールドを受取り、上位バンクはその時の制御
ストア・ワードからスプラツタ・アドレスを受取
る。制御ストアは、システムが両方の可能な次の
アドレス制御ストア・ワードの同時のアクセスの
実行中でありかつデータの制御レジスタ82への
クロツキングの直前にその時の制御ストア・ステ
ツプの略々終り迄どれか使用中であるかの判定を
延期できるようにこのように区分されている。制
御ストアの詳細については以下に説明する。
CPUとフアームウエアが、a)メモリーから
のワードの読出し、b)メモリーからの別のワー
ドの読出しのための次のアドレスの計算、c)メ
モリーへのワードの書込み、およびd)CPUに
対して操作が完全に内部であるあるタイプの反復
算法の実施の如き典形的なCPUの諸操作の実行
のため対話を行う方法について以下に論述する。
このような状況は典形的なものであり、代表的な
操作について説明する。
制御ストアのあるステツプの間に1つのワード
をメモリーから読出す場合には、この制御スト
ア・ワードはBRAM12からのワードの仮想記
憶アドレスをRB,BSおよびBMフイールドを介
してRAMバス13に対して使用可能状態にな
る。この時、SHフイールドは外部バスおよびW
バスを条件付けて、RAMバスがセレクタ20を
経て外部バス17に対して使用可能状態にされシ
フター19を経てWバス84には変更されないよ
うにソース化する。WバスはBALU55に対する
入力であり、BAフイールドによつてそのWバス
入力をその出力側に直接使用可能にするよう条件
付けられる。同時に、LBフイールドはYレジス
タ24をロードさせ、これによりアドレスをYレ
ジスタに転送する。
次のフアームウエア・ステツプにおいては、
LBフイールドは要求を局部バスに指向させて記
憶要求が行われること、又局部バスに与えられた
アドレスがこのような要求を行うため使用される
べきことを表示する。指令回線71は、記憶読出
し要求が行われることを表示するようFおよび
FKフイールド(第2図にブロツク72として示
す)によつて条件付けられる。アドレス・マルチ
プレクサ25はYレジスタの内容を24本のアドレ
ス回路を介して局部バスに使用可能にさせるよう
条件付けられる。アドレス・マルチプレクサ25
は、24アドレス回線を介して局部バスに対しYレ
ジスタの内容を使用可能状態にするよう条件付け
される。局部バスにおける全てのアクデイビテイ
をモニターして制御するカツシエ/MMUはこの
要求を確認し、CPUは次のフアームウエア・ス
テツプに進行する。次にフアームウエア・ステツ
プにおいては、局部バス・フイールドはストール
を指示し、局部バス・サイクルの終りが検出され
てデータをカツシエ/MMUから局部バスを介し
てCPUデータ・バツフアへ戻す迄CPUがこのフ
アームウエア・ステツプから離れるべきでないこ
とを表示する。この戻り動作が検出されると直ち
にストール条件が終了し、CPUはこの読出しサ
イクルの第4のステツプに入る。
この第4のステツプは、データ・バツフアにあ
るデータを使用するLBフイールドをフアームウ
エアが指定し、これをCPUにより使用するよう
に内部バスにソース化するものである。このよう
に、LBフイールドは、長さが16ビツトのワード
又は長さが24ビツトのアドレスのどちらかがソー
ス・バスに対して要求されるかに従つて、DAド
ライバ34又はDWドライバ35のいずれか一方
を使用可能状態にする。更に、Iバス・フイール
ドは、その24ビツトの全て又は24迄符号拡張され
た16ビツトのいずれかのソース・バスが内部バス
に対して使用可能にさせられることを指定する。
内部バスにおいては、データ・バツフアから再び
受取られる16ビツト・ワードがあるものとすれ
ば、DAフイールドはDALUに内部バスを読出さ
せるため使用され、従つてDW,D選択および
DMの各フイールドはDRAMにおける32レジスタ
の1つをアドレス指定してこれに書込ませるよう
条件付けされる。このためこの制御シーケンスの
第4のステツプを完了するが、この第1のシーケ
ンスはYレジスタをロードし、その第2は読出し
要求を行い、第3はデータの戻りを待機し、その
第4はデータを得てこれをCPUの諸レジスタの
1つに使用可能状態にさせるものである。
本システムにより実施できる第2の典形的な操
作シーケンスは、メモリーからデータ・レジスタ
へ取出されたオペランドを加算し、次にこの加算
後データ・レジスタへ戻すと共にこれをその後メ
モリーに書き戻すことができるように書込みデー
タ・バツフアに置く如き演算操作におけるオペラ
ンドの操作である。この操作シーケンスは、前の
操作において説明したストールに続いて開始す
る。このステツプは、データを使用可能状態に
し、ワード・オペランドの場合にはデータ・バツ
フア31からLバスおよびデータ・マルチプレク
サ5を経てソース・バスに対するワードとなる如
きものである。この時Iバス・フイールドは符号
拡張装置52およびデータ・ラツチ51を介して
符号拡張されたソース・バスが内部バスに対して
使用可能状態にさせられることを指定する。同時
に、Rバス制御フイールドは、問題の特定デー
タ・レジスタがDRAM11からRバス13に対
し使用可能状態にされることを指定する。DAフ
イールド、即ちDALUフイールドは、この時、
DALUがRバス13上の24ビツトをIバス14上
の24ビツトに加算するよう条件付けられることを
指定する。このロジツク15はその出力として和
を表わす24ビツトを有することになる。DWビツ
トはDALUの出力がDRAM11へ書戻されるべき
であつたことを表示する。
同時に、DALUの出力はSHフイールドを介し
てWバスに対して使用可能状態になる。このフイ
ールドは、セレクタ20が外側バスに対し使用可
能状態にされ、この目的のためのRバス出力の代
りにDALU出力を選択するように条件付けられる
ことを表示する。又同時に、シフター19は外部
バスの内容を書込みバス84に変更することなく
通過させるように条件付けされる。DW35を指
定したソース・バス33に対する同じLBフイー
ルドも又、書込みバスがセレクタ29を介してW
レジスタ28の左半部に対して使用可能状態にさ
れることを指定することになる。この状態は全て
単一のフアームウエア・ステツプにおいて生じ
る。これは加算演算であるため、テスト・ロジツ
ク30により指定されるテストにより、この加算
からのオーバーフローが多分テストされることに
なる。次のアドレス・ロジツクが、もしオペラン
ドがメモリーに即時書戻されるならば、生じるべ
き特定のエントリを表示する1つのアドレスを生
成することになる。下位のバンクに対する他のア
ドレスが次のステツプをとるべく生成され、この
ステツプはその時Iレジスタ57におけるオーバ
ーフロー標識をセツトすることになる。もしオー
バーフローが生じなかつたならば、Iレジスタは
自動的にクリアされた筈である。
第3の操作はあるオペランドのメモリーへの書
込みからなる。この操作は実行のため3つのフア
ームウエア・ステツプをとる。その第1のステツ
プは、オペランドが書込まれるべきアドレスがY
レジスタ24にロードされるステツプである。第
2のステツプはWレジスタ28へ書込まれるオペ
ランドを置くためのものである。第3のステツプ
は、LBフイールドがメモリー書込みを指定する
局部バス要求が受取りと実行のためカツシエ/
MMUに対する局部バスに対してアドレス指定さ
れるよう指定するステツプである。
Yレジスタ24をロードする第1のステツプ
は、おそらくBRAMランダム・アクセス・スト
アにおける16の場所の1つからアドレスを得るこ
とになる。これは、IバスがBRAMの出力側で
調べるようにIバス・フイールドを条件付けるこ
とにより行われる。B選択フイールドは、16の
BRAMレジスタのどれがこの目的のためアドレ
ス指定されたかを表示する。BAフイールドによ
り制御されるBALU55は、内部バスの内容(24
ビツト)をその出力側に送るように条件付けされ
る。LBフイールドは、Yレジスタのロードを指
定したものとなる。Yレジスタに対する入力は
BALUの出力であるため、これは選択された
BRAMの内容をYレジスタに転送することにな
る。次の制御ストアのステツプは、この場合その
起点が例えば32のDRAMの場所の内の1つであ
る時は常に、この起点からオペランドを取ること
になる。DSフイールドは32のDRAMのどれを
使用可能状態にさせるかを選択する。RBフイー
ルドはDRAMをRバスに対して使用可能状態に
させる。SHフイールドは、セレクタ20を介し
て外部バス17に対するRAMバスを選択し、シ
フト動作を生じることなくシフター19を介して
書込みバス84に対する外部バスを選択すること
になる。LBフイールドはWレジスタの左半部の
ロードを指定する。この操作はWセレクタ29を
条件付けして書込みバスの右側の三分の二をWレ
ジスタの左半部に対して使用可能状態にさせるこ
とにより実施され、Wレジスタはその左半部をロ
ードするように使用可能状態にされる。
最後に、第3のフアームウエア・ステツプが行
われる。このフアームウエア・ステツプにおいて
は、必要な唯一の操作は局部バス・フイールドで
あるLBフイールドメモリーに対する局部バス書
込みを指定すべきことである。これは、局部バス
に至る指令回線としてFおよびFKビツトを使用
して、これがメモリー書込み操作であることをカ
ツシエ/MMUに対して表示する。このアドレス
は、Yレジスタ24からの仮想アドレス・セレク
タ25を介して局部バスに対し使用可能状態にさ
れる。このデータはWレジスタ28から局部バス
に対し使用可能状態にされる。全ての局部バス転
送を調停するカツシエ/MMUメモリーは、これ
をメモリー書込みサイクルとして識別し、このア
ドレスを取つてこれをマツプし、これをデータと
共にメモリーに送出し、システム・バス上のメモ
リーに対してメモリー書込み操作であることを表
示する。
CPUが実施可能な典形的な操作の第4のシー
ケンスは、2倍精度オペランドをあるビツト数だ
け左側又は右側へシフトさせるものである。オペ
ランドが共にBRAMに存在する、即ち問題の2
つのオペランドがBRAMにあるものと仮定すれ
ば、第1のフアームウエア・ステツプはこれ等2
つのオペランドのQレジスタに対する右側の転送
を開始する。これは次の如く進行する。BSフイ
ールドは、BRAM12においてこのオペランド
を含む16の場所の1つをアドレス指定するよう
に条件付けられる。RAMバス13を制御するR
バス・フイールドは、DRAM出力の代りに
BRAM出力をとるように条件付けされる。SHフ
イールドは、これを外部バスに対し使用可能状態
にしかつその入力をRバスから選択することによ
り、Rバスをセレクタ20を介して外部バスに転
送するように条件付けされ、又Qレジスタおよび
Wバスが共に外部バスの内容を受取ることを指定
し、Qレジスタをクロツクしてこれをロードさせ
る。これはBRAMにアドレス指定されたオペラ
ンドをしてQレジスタへ転送させることになる。
次のステツプ(単数又は複数)は、シフトが実際
に行われるものである。このステツプにおいて
は、BRAMにおける第2のオペランドを含む2
つのレジスタの他方がB選択フイールドによりア
ドレス指定され、BRAMはRBフイールドを介し
てRAMバス13に対して使用可能状態にさせら
れる。次にRAMバスはセレクタ20を介して外
部バスに対し使用可能状態にされる。SHフイー
ルドは、シフトかどの方向およびどれだけのビツ
ト数行われるかに従つて多くの値のどれかをとる
ことになる。SHフイールドは、左右の1、又は
2、又は4ビツトのシフトの選択が可能である。
これ等の場合のいずれにおいても、Qレジスタは
32ビツトのオペランドを生成する外部バスの拡張
として接続されるものと考えられる。実際にはこ
れは40ビツトのオペランドであるが、外部バスの
左側の8ビツトは勘定に入れない。この32ビツト
のオペランドは、特定のSHフイールドにより表
示される如く左右いずれかの方向にシフトされ
る。16の右側のビツトはQレジスタに戻され、左
側の16ビツトは無視された8ビツトと共にWバス
上に転送される。これは、シフトの長さについて
排他的な制御を保有するSHフイールドによつて
制御される。
外部バスからWバスへ、又Qレジスタから再び
Qレジスタへオペランドがシフトされたため、
SHフイールドはQレジスタをしてシフトされた
オペランドを再ロードさせ、同時にBWフイール
ドはWバスをしてアドレス指定されたBRAMの
場所に書込ませる。このように、BおよびQレジ
スタの内容がシフトされ、BおよびQレジスタへ
戻される。このシフト、即ちこれが開放シフト
か、循環シフトか、あるいは演算シフトであるか
に関連するこの目的の諸効果はCPUにおける制
御フリツプフロツプの機能である。実際のシフト
動作が実施されるこのタイプのステツプは、色々
な組合せで数回実施され、即ち、もし左側に5ビ
ツトだけシフトすることが望ましければ、左側へ
の1ビツトのシフトを生じるステツプの後には左
側への4ビツトのシフトが行われるステツプが続
くことになる。例えば、右側へ3ビツトのシフト
のためには、右側へ2ビツト、次いで1ビツトの
シフトが必要となる。
次に、最後のシフトが行われた後、即ちオペラ
ンドがこの時正確にアドレス指定されたBRAM
の場所およびQレジスタにおいて整合された後、
最終ステツプはシフトを生じないがその代りQレ
ジスタの内容を最初にロードされたBRAMの場
所に再び戻す。このステツプは次の如く行われ
る。Iバス・フイールドは、IバスがQレジスタ
(Qレジスタの16ビツトが2進数零の8ビツトに
より拡張される)によつて駆動されることを指定
する。DALU15は、これが変更されずにIバス
を通過するようにDAフイールドにより制御され
る。SHフイールドは、変更されずにセレクタ2
0を介して外部バス17に対し、又再び変更され
ずにシフター19を介してWバス84に対して
DALUを可能状態にするように選択される。フア
ームウエア・ワードにおけるBWビツト50はWバ
スからのBRAMのローデイングの条件付けを行
うようセツトされ、BS(B選択)ビツトは
BRAMの16の場所のどれがシフトされたオペ
ランドを受取るべきかを指定するよう条件付けさ
れる。
これは全てある数のフアームウエア・ステツ
プ、例えば3つ以上のフアームウエア・ステツプ
において生じる。1つのステツプはQレジスタを
ロードして40ビツトのオペランドを生成するため
使用され、1つ以上のステツプは必要に応じてこ
のオペランドのシフトを行い、次の1つはQレジ
スタの内容(右側の16ビツト)をBRAMに戻し
てこの操作を完了するため使用される。
第5図は上下のバンクの制御ストアPROM80
と81のそれぞれの構成、特にこれ等PROMが最
大速度となるように結合され即ち対に組まれる方
法を示す。制御ストアのバンクの各々は1つ以上
のPROMを含み、このPROMの各々は複数個の電
子作用チツプを含む。一例として、各バンクの記
憶容量は1024(1K)のアドレス指定可能記憶場
所であり、その各々は96ビツト即ち1K毎に24チ
ツプを含み、各記憶場所は4ビツトの記憶域を有
する。演算速度を増加させるには、各バンクは少
くとも2つのPROMを有し、1つのPROMは制御
ストアに含まれる他の素子における伝播時間を補
償するため、各バンクにおける他方のPROMより
も速度が早い(アドレス伝播時間が短い)。主と
して、その時のフアームウエア・ワードおよび次
のアドレス生成装置44から得る分岐の判断を有
効に受入れるために2つのバンクを使用する。1
つのバンクはこのフアームウエア・ワードにより
直接アドレス指定されるように構成されるが、他
方のバンク(例、上位バンク)はこのフアームウ
エア・ワードおよび(又は)フアームウエア・ワ
ードおよびCPU100に含まれる種々の論理素
子の派生的機能によりアドレス指定されるように
構成される。従つて、上位バンクは多重化された
入力を要求し、以下に論議するように、上位バン
クの2つのPROMの内の1つはどちらかのバンク
における他方のPROMのどれよりも短いアドレス
伝播時間が与えられる。これは実際問題として
各々が増加した操作速度即ち短いアドレス伝播時
間を有する2つのPROMを用いることによつて達
成される。
制御ストアPROMを対に組む目的は、次の制御
ストア・アドレスを生成し、このアドレスに適す
るデータを選択し、制御ストアの出力レジスタで
ある謂ゆるMLR82で示される主制御ストア・
データ・レジスタの入力に対して使用可能状態に
するため、必要な時間長さを減少するためであ
る。これは過去においては、1組の制御ストア
PROMを使用しこのPROMに対して与えられるア
ドレスを選択することによつて達成されて来た。
この場合、データを制御ストア・ロジツクに伝播
させるに必要な時間はアドレス選択時間、即ち、
PROMに対するアドレス入力の変化から出力が安
定状態になる時迄の時間である。典形的な制御ス
トアPROMの場合には、この時間は謂ゆる「使用
可能時間」より遥かに長い。使用可能入力を有す
る制御ストアPROMは、一般にアドレス指定され
る出力が与えられるよりも遥かに早く(「使用可
能時間」)ON/OFFされる得る。従つて、この
場合基本的な試みは制御ストアPROMを2つのグ
ループ即ちバンクに分け、各グループに対する各
アドレス、例えば2つの分岐アドレスの内の1つ
が同時に制御ストア・チツプを伝播できるよう
に、又2つのグループ即ちバンクの一方又は他方
の出力を使用可能状態にすることにより決定がな
される最後の瞬間迄どのアドレスを用いるかにつ
いての判断が延期できるようにする。
本発明のCPUにおいては、他のコンピユータ
の場合と同様に、全ての謂ゆる分岐操作が1対の
アドレスの一方の選択を行い、このアドレスの一
方はその時のステツプにおける制御ストア・ワー
ドにより明確に与えられ、他方のアドレスはその
時のステツプにおいて得られるデータから多かれ
少かれ間接的に生成される。本発明のCPUにお
いては、このアドレス対は、全ての分岐が、一方
は下位バンクに対し他方は上位バンクに対する2
つのアドレス間の選択からなるように拘束され
る。この下位バンクは000から3FF(16進数)の
範囲内のアドレスを用い、上位バンクは400乃至
7FF(16進数)のストア・アドレスを制御する。
このような制御ストアの区切り方法を構成する
ため使用される構成は第5図のブロツク図に示さ
れる。明らかなように、制御ストアは5セツトの
制御ストア素子即ちPROM251乃至255に区
分される。同図に括弧内で示される如く、合計で
24の制御ストア・チツプ(素子251の19お
よび素子252の5)を含む素子251と252
は、制御ストアの下位バンクに対するデータを含
むものである。素子253,254,255(合
計29チツプを含む)は、上位バンクに対するデー
タを含むものである。3つのタイプの集積回路を
用いてこれ等の素子を構成する。素子251は、
典形的なアドレス伝播時間が60ナノ秒でなる19の
1K(1024)×4ビツトの制御ストア・チツプから
なる。素子252と253は、典形的なアドレス
伝播時間が50ナノ秒である特に選択された1K×
4ビツトの制御ストア・チツプからなる。素子2
54と255は、典形的なアドレス伝播時間が40
ナノ秒である選択された512×4ビツトの制御ス
トア・チツプからなる。
このロジツクにおいて何故異なる伝播時間を有
するチツプ即ち回路を使用するかの理由は2つあ
る。素子253,254,255において選択さ
れた各部は上部バンクのアドレス・マルチプレク
サ256を伝播する時間を補償するために、素子
251と252におけるその対応部よりも短くな
るように選択される。更に、素子252,25
4,255は、MLR82に対するその出力側と
直列関係にある予備ロジツク259において要求
される伝播の遅れの故に、それぞれ素子251と
253よりも早くなるように選択される。
次のアドレス生成装置44に含まれる上位バン
クのアドレス・マルチプレクサ256は、どんな
フアームウエア分岐間でも選択されつゝある2つ
のアドレスの1つを提供するため使用される。下
位バンク・アドレス(下位バンク制御ストア
PROMにより使用されるアドレス)は、制御スト
ア・ワード(NAフイールド)にある次のアドレ
スと多少とも直接に関連し、この制御ストア・ワ
ードにおいて明らかに選択されるアドレスであ
る。上位バンクにおいて使用される1つの分岐に
対して使用される他のアドレスは、NAフイール
ドのある論理的誘導であり、PROM又はこの分岐
タイプに従つて選択されるMUX256に対する
3入力により示される如きCPUの他のロジツク
からの論理的に生成されたアドレスである。この
他方のロジツク即ちPROMと他のロジツクとこれ
を選択する上位バンクのアドレス・マルチプレク
サは、下位バンクにおけるアドレス経路には存在
しない別の伝播時間を必要とする。これ等の2つ
のアドレス経路間の差異は、直列関係にある制御
ストア・チツプの各速度の差によつて補償され
る。直接アドレス経路を有する1つのバンク(即
ち、下位のバンク)を使用することによりPROM
のあるものだけしか早い速度を必要としないが、
もしマルチプレクサ256の如きマルチプレクサ
が両方のバンクに使用されるものとすれば、同じ
伝播時間を提供するため全てのPROMが大きな速
度を持たねばならなくなる。
前述の如く、上位バンクの早いPROMにより受
取られるアドレス・ビツトを生成しつゝある上位
バンクのアドレスMUX256に達する迄および
これを通過する際の伝播上の遅れは、その下位バ
ンクの対応素子よりも一貫して早い。このため、
各PROMの出力側のデータは略々同時に安定す
る。
各バンクにおいて最も高速のPROM、即ち素子
252,254,255の出力側と接続される予
備ロジツク259は、MLR82においてこれを
ラツチする前に、次に制御ストアのある予備ロジ
ツクの復号を実施するため使用される。即ち、こ
れは、DRAM11およびBRAM12に対するア
ドレス入力の生成のため使用されそのアドレス入
力が制御ストア・サイクルにおいて早期に使用で
きなければならない選択修飾ロジツク53を含む
ことができる。更に、このアドレス入力は、主ク
ロツクがデータをMLRに対し使用可能状態にさ
せた後生成されるように待機することはできず、
クロツク変換が生じると直ちに使用できるように
MLRに対する入力側で生成されねばならない。
下位バンクと上位バンクにおける制御ストア・
ワードの選択のため使用される2つのアドレスに
対するソースは下記の如である。下位バンクのア
ドレスNAはその時のフアームウエア・ステツプ
に対する制御ストア・ワードから直接入る。この
ため、この制御ストア・ワードがMLR82へク
ロツクされると直ちに使用できる。アドレスNA
は両方の素子251と252に対する入力であ
る。マルチプレクサ256の出力側の上位バン
ク・アドレス、即ち素子253,254,255
に対するアドレス入力はCPUに含まれる多数の
論理機能の論理的誘導である。アドレス・マルチ
プレクサは、本実施例によれば、上位バンクによ
つて使用可能な8つの異なる機能アドレスを生じ
る。これ等のアドレスは、制御ストア・ワードに
おいて指定され得る8つの可能なタイプの分岐の
結果である。
これ等の分岐タイプは第6図の表に示す如く
X0とX1,XA,XB,XR,XE,XWおよびXLと
して示される。最も一般的な分岐タイプである分
岐タイプX0およびX1は基本的にはNAフイールド
の直接論理機能である。このような分岐タイプは
下位ビツトNA10又はNA(A)不変NA(A)又は相補NA
(A)を有するNAフイールドを使用する。他の6つ
の分岐は特定の目的のため使用される。XA分岐
は、新らしい命令のOPコードの復号を開始する
ため適当な開始アドレスを選択するため使用され
る。XB分岐は、CPUにおいて可能なアドレス・
シラブルのあるものの初期復号の実施のため使用
される。XR分岐は殆んどの場合オペランドを読
出すルーチンの実行のため、又は即時実行が可能
なある命令の実行のため開始アドレスを選択する
のに使用される。XE分岐は、個々の命令算法の
実行に使用されるフアームウエア・ルーチンの開
始アドレスの内から選択するため使用される。
XW分岐は、オペランドの記憶に使用される多数
のルーチンの1つの選択に進むため使用される。
XL分岐は、フアームウエアの制御下で簡略化さ
れたフアームウエア・スプラツタを許容するよう
に使用される。この分岐は、上位アドレスの4ビ
ツトを制御するためフアームウエア制御の下でロ
ード可能なリンク・レジスタの内容を使用する。
主分岐XA,XB,XR,XE,XWおよびXLの全
てはその上位ビツトとしてNAフイールドの2つ
の上位ビツト(NA1,2)を使用するが、異なる
方法におけるその特定のアドレスに対する残る8
つのビツトを生成する。
XAスプラツタは5つのXA PROMの出力を使
用して次のXAアドレスのビツト3乃至10を生成
する。
XBスプラツタは、2つの2進数1(11)と1
つの2進数零(0)の3つの定数信号、即ちFレ
ジスタ38のビツト位置の1つの出力である1ビ
ツトと、そのNAフイールドのビツト7乃至10を
生成するFレジスタにより駆動されるPROMから
の4出力を使用する。
XRスプラツタは3つの2進数零(000)を有す
る3ビツトをジヤムし、その状態が命令タイプと
関連する制御フロツプの内容(KOP)を有する
次のビツトを生成し、XR PROMからの最後の4
ビツト即ちビツト7乃至10を生成する。
XEスプラツタの第3のビツトは前記の命令タ
イプの信号である。次のビツトはFレジスタのビ
ツト0が零であるかどうかを示し、その次のビツ
トはFレジスタ38のビツト1乃至3が全て零で
あるかどうかを示し、Fレジスタのビツト4乃至
8はNAフイールドのビツト4乃至8はNAフイー
ルドのビツト6〜10として使用される。
XWスプラツタは、信号の組合せ、即ち、定数
零と、ビツト4乃至6に対するオペランドのサイ
ズ・タイプを復号して区分するPROMの3出力を
与える。ビツト7は論理値1、ビツト8はオペラ
ンドをアドレス又は非アドレスとして区分する
PROMの出力、最後の2ビツトはメモリー又は基
底レジスタ又はデータ・レジスタ又は謂ゆるKレ
ジスタ(図示せず)のどれにその結果が行くかを
表示するNAのビツト9および10に対する
XWPROMの出力である。
XL分岐に対するアドレス回線は、最初に6ビ
ツトに対するNAフイールドのビツト1乃至6を
使用し、次にリンク・レジスタの4ビツトを使用
して4つの最終ビツト(ビツト7乃至10)を生成
する。
これ等の各入力は、上位バンクのアドレス
MUX256である8対1マルチプレクサの組に
よつて選択される。このMUXを介して選択され
る特定のアドレスはその時の制御ストア・ワード
を使用することにより選択される。その時の制御
ストア・ワードにおいては、分岐動作は1つのテ
スト条件を選択することにより、又満足するか満
足しないかについてテストすることにより実施さ
れる。このロジツクの出力は2つの信号、即ち一
方はTCTRUE−即ちNOTTRUE、他方は
TCTRUE+即ちTRUEである。TCTRUE−は第
5図のブロツク図の回線261における信号であ
り、TCTRUE+は回線262における信号であ
る。これ等の信号は各制御ストアPROMの使用可
能入力側に接続される。
あるフアームウエアの始めにおいて、NAフイ
ールドは安定状態となり、このアドレスは即時制
御ストア素子251と252の伝播を開始する。
その後ロジツクが動作すると同時に、上位バン
ク・アドレスMUX256の出力は安定状態とな
り、このアドレスは制御ストア素子253,25
4,255の伝播を始める。MUX256の出力
側のアドレス・ビツトの1つは素子254と素子
255間の選択を行うことに留意されたい。これ
は、これ等の素子が比較的小さなワード記憶容量
を有する比較的高速のPROMで構成されるためで
ある。従つて、1Kワード(4ビツト/ワード)
のPROMに対する1つのアドレス回線ならば2つ
の512ワードのPROMに対する選択的な使用可能
回線となり、PROM255の1つの使用可能入力
はインバータ264を介して結合される。更に、
選択された512×4ビツトの制御ストアPROMで
ある素子254および255においては、アドレ
ス・ビツトは僅かに異なるように配置される。そ
の理由は、512ワードのPROMしか9ビツトのア
ドレスを必要としないためである。他の全ての制
御ストアPROMに対する1つのアドレスである第
10のアドレス・ビツトは、512×4ビツトの制御
ストアPROMにおける2番目の使用可能状態とし
て代りに使用される。即ち、素子254はアドレ
ス400乃至5FFに対して使用可能状態とな
り、この同じアドレス回線の反転が素子255に
結合されるため、この素子はアドレス600乃至
7FFに対して使用可能状態になる。
このように前記各アドレスが使用できる状態に
なると同時に、これ等アドレスは制御ストア
PROMを伝播させられる。その間、並行的に、詳
細が第7図に示される如きTC(テスト条件)ロ
ジツク30は、出力TCTRUE−およびTCTRUE
+をその後安定状態にさせてこのテスト条件が満
たされるか満たされないかを表示する。もしこの
テスト条件が表示された極性において満たされた
ならば、ロー状態のTCTRUE+はPROM25
3,254,255を使用可能状態にさせ、ハイ
に状態のTCTRUE−はPROM251と252を
使用禁止状態にさせる。このため、番号257と258
により示される如きワイアドOR接続の出力(そ
れぞれ回線76と20が結合される)はアドレス
指定された上位バンクの記憶場所の内容である。
しかし、もしこの条件が満たされないと、
TCTRUE−(TRUEでない)は別の極性即ち状態
となつて制御ストア素子251と252を使用可
能状態にするが、出力TCTRUE+は素子25
3,254,255を使用禁止状態にする。この
ような場合、ワイアドOR結線257と258の
出力はアドレス指定された下位バンクの場所の内
容となる。
制御ストアPROMに対する使用可能時間は一般
に15乃至20ナノ秒である。この値は、例えば
PROM251の場合は60ナノ秒である第5図に示
す如きPROMの場合のアドレス伝播時間よりも非
常に早い。このため、テスト条件の結果が知られ
る時点からの「遅れ」は、このPROMの使用可能
伝播時間がPROMのアドレス伝播時間よりも支配
的であるように強調されて来た。このような特定
の関心がこのロジツク・チエーンを経由するタイ
ミング、即ち、上位バンク・アドレスの生成およ
び選択に関わる伝播時間、制御ストアPROMに関
わるタイミング、および予備ロジツクに関するタ
イミングについて取上げられた理由は、MLR8
2に対する入力側のデータが安定状態でなければ
ならない最悪の場合が主クロツクがトリガーされ
る時であるためである。サイクル・タイム、従つ
てCPUの速度の制御は主要な機能の1つであ
る。
もし制御ストアPROMの各々が60ナノ秒の伝播
時間を有するならば、前記の最悪の場合に1つの
PROMが上位バンク・アドレスを選択中ならば、
MLR82に対する入力が安定状態になる前にあ
る事前の開始点から合計で80ナノ秒を要すること
になる。このように、速度を増加するには、3つ
の異なる伝播時間を有するPROMの使用が望まし
い。PROM252は、予備的な即ち選択/修飾ロ
ジツク259により生じる速度の減少即ち低下を
補償する。PROM253は、上位バンク・アドレ
スMUX256のためアドレス指定における遅れ
の増加を補償する。PROM254と255は
MUX256とロジツク259の相方を補償す
る。このように、この回路網における最悪の時間
的条件は、上下のどのバンクを使用しようとも、
又どんな出力が生成されようとも、直接MLR2
8に送られようとも、あるいはMLRに至る前に
ロジツク259に送られようとも、殆んど同じで
ある。もし仮に素子253,254,255が素
子251と252よりも早くなければ、クロツク
期間は、上位バンクが選択されたものであつたど
のフアームウエア・ステツプの場合により長くな
ければならない。このため、この制御ストアのス
テツプに対するサイクル・タイムは、制御ストア
PROMに対して安定なアドレスを生じるため次の
アドレスPROMおよび上位バンク・アドレス
MUXに対する余分な時間に対する許容度がなけ
ればならないため、更に長くなる。
第5図に示されたロジツクに含まれる基本原理
は下記の如く要約される。制御ストアPROMを経
由するアドレス経路が使用可能状態の経路よりも
遥かに速度が遅いため、アドレス経路は常に開路
状態に放置され、即ち、次のアドレスは下位バン
クの制御ストアに徐々に流れアドレスMUX25
6の出力は制御ストアの上位バンクを僅かに流れ
るが、どのバンクが最終的に使用されるかについ
ての決定が行われる。これ等の制御ストアPROM
の出力側を使用可能状態にする時期になる時だけ
この決定のタイミングが臨界状態になり、この場
合には真又は偽として生じるテスト条件は分岐の
経路に従つて下位バンク又は上位バンクのPROM
のいずれかを使用可能状態にする。この使用可能
状態の経路は、使用可能な伝播の場合の15ナノ秒
と比較してアドレス伝播の場合は遥かに短い時
間、即ち60ナノ秒であり、このため、典形的な制
御ストア・ステツプにおいては45ナノ秒もの間バ
ンク選択のための決定を延期させ、又これにより
各制御ストア・ステツプを著しく早くさせる。
次に第7図においては、信号TCTRUE+およ
びTCTRUE−を生成するテスト・ロジツク30
の詳細が示される。信号TCTRUE+は回線26
2上のマルチプレクサ(MUX)302の否定出
力側に生じ、信号TCTRUE−は回線261上の
MUX304の否定出力側に生じる。回線261
と262は第5図に示す如くPROMに結合され
る。MUX302と304はそれぞれ、同じ番号
を付した各入力が同じ入力を受取るように接続さ
れた8つの入力(0〜7)を有する。このような
入力は、各々が8つの入力と1つの入力を有する
8つのマルチプレクサMUX1乃至MUX8を実際
に含むマルチプレクサ300の8つの出力から受
取られる。マルチプレクサ300に対する64の
入力は、それぞれテスト・ロジツク30により示
される如きCPU100に含まれる種々の機能か
らテスト条件を受取るように結合されている。テ
ストされた機能の条件に基いて、制御ストアの上
位バンク又は下位バンクのいずれかが使用可能状
態となり、これに従つてアドレス指定される。選
択および(又は)使用可能状態化がなされるマル
チプレクサに対する入力はその時の制御ワードか
ら受取られる制御ビツト即ち制御ストアからのフ
アームウエア・ワードによつて決定される。
このように、例えば64の異なる信号につい
て、1つの信号がこの64の入力に内選択された
1つしか表わさないように分岐することが望まし
い。第7図のロジツクは、1つのレベルはマルチ
プレクサ300を構成し他のレベルがマルチプレ
クサ302と304を構成する2レベルのマルチ
プレクサの使用により上記能力に最小限度の伝播
時間を提供する。第7図のロジツクは又、同じ信
号の2つの極性のいずれかに基くこのような分岐
動作を可能にする。
第7図のロジツクの動作は下記の如くである。
マルチプレクサ300に含まれる8つのマルチプ
レクサの各々に対する1つの入力が否定出力GP0
乃至GP7側に伝播するよう、前記の8つのマルチ
プレクサの各々の選択入力3,4,5側において
受取られる3ビツトによりそれぞれ選択される。
これ等の3ビツトはフアームウエア・ワードの
TCフイールド(ビツト13〜15)から受取られ
る。出力GP0〜GP7はそれぞれマルチプレクサ3
02と304の各々の0〜7を付した入力側に結
合される。マルチプレクサ302と304は又、
その使用可能状態の入力側で信号CRTCSP−お
よびCRTCSP+をそれぞれ受取るように接続さ
れる。信号CRTCSP(存続および否定)も又そ
の時のフアームウエア・ワード、特にそのTPフ
イールド(ビツト21)から受取られる。このよう
なTPフイールドは、このフアームウエア・ワー
ドにおける他のフイールドの場合と同様に、レジ
スタ82を介して転送される。ビツト21(TPフ
イールド)の場合は、レジスタ82におけるビツ
ト21の場所における素子は実際に共に否定および
存続出力を有する双安定形素子(フリツプフロツ
プ)である。フアームウエア・ワードの他のビツ
トに対し要求される論理レベルに応じて、存続お
よび否定の出力の一方又は両方が使用される。
部番SN74S251の下にTexas Instruments社の
如き半導体メーカから購入できるマルチプレクサ
302および304は、もし使用可能入力側の信
号がロー即ち2進数零であるならば、マルチプレ
クサの存続および否定出力のスイツチングを可能
にする。もし使用可能状態の入力側のこの信号が
ハイであれば、、出力は浮動状態であり、従つて
ハイの使用可能状態の入力を有するこのようなマ
ルチプレクサはこのような構成の場合第7図のロ
ジツクから有効に取外される。このため明らかな
ように、いかなる場合もマルチプレクサ302と
304の一方しか使用可能状態にならない。マル
チプレクサ302と304の出力は、各マルチプ
レクサの相続出力が他のマルチプレクサの否定出
力側に接続されて謂ゆるワイアドOR回路接続を
生じるように結合される。このため、マルチプレ
クサ302と304のいずれか一方が使用可能状
態になると、信号TCTRUEが適正な極性で得ら
れる。ロー即ち2進数零である信号TCTRUEは
これが結合されるバンクを使用可能状態にする。
即ち、もし信号TCTRUE−がローであれば、下
位バンクは使用可能状態になる。
このように、第7図のロジツクの動作から明ら
かなように、もし信号CRTCSP−がハイであり
従つて信号CRTCSP+がローであらば、MUX3
04は活動状態即ち使用可能状態となり、信号
TCTRUE−はテスト中の64の条件の内の1つ
のレベル(ハイ又はロー)を反映し、信号
TCTRUE+はこのようなレベルの反対のレベル
を反映する。もし信号CRTCSP−がローであり
従つて信号CRTCSP+がハイならば、MUX30
2は活動状態即ち使用可能状態となつて信号
TCTRUE+がテスト中の条件のレベルを反映
し、信号TCTRUE−はこれと反対のレベルを反
映する。制御ストアの上位又は下位のバンクのど
ちらが使用可能状態になるかは信号TCTRUE−
とTCTRUE+のどちらがローであるかに依存す
る。
メモリー106から読出された命令のOPコー
ドはいくつかのテスト条件の1つを選択するのに
使用され、このテスト条件はMUX300により
受取られるテスト条件とは異なるかも知れない。
この場合は、OPコード・ビツトが使用されて
MUX300と類似の第1のMUXに対するテスト
条件又はその一部を選択し、又マルチプレクサ3
02と304と類似する2つのマルチプレクサも
又第7図に示されるものと同様な構成においても
使用できる。テスト条件をこのように選択する
OPコードは第7図のロジツクから独立的に、あ
るいはこれと並行的に使用することができる。も
し並行的に使用されるならば、フアームウエア・
ビツトにより制御されるマルチプレクサ302と
304は、OPコードにより制御されるマルチプ
レクサが使用可能状態におかれる時使用禁止状態
におかれ、あるいはその反対でなければならな
い。
MUX256およびこれとの接続の詳細は第8
図に示される。更に、MUX256は各々が8つ
の入力を有する10個のマルチプレクサを含むよう
に示される。これ等の10個のマルチプレクサに対
する入力は、第6図の表において識別される信号
と対応する。これ等の信号は、各分岐タイプに対
する第1の信号がマルチプレクサ256に含まれ
るMUX1の対応する8つの入力側で受取られるよ
うに、第6図に示された8つの分岐タイプに対し
て結合される。このように、MUX1はその8つ
の入力の各々に対して信号MA1を結合させる。
MUX2も又、その各入力側に同じ信号NA2を結
合させる。MUX256の他の各マルチプレクサ
の場合は、第1の2つの入力を除いて、入力側に
結合された信号は殆んどの場合異なるものであ
る。例えば、MUX3は、第6図に示す如く、XA
分岐に対する上位バンク・アドレスの第3のビツ
トである信号XA3をその3番目の入力側に結合
させ、この第3のビツトは図示しないがFレジス
タ38からその基本入力を受取るよう結合された
単なるデコーダでよく、その出力がMUX256
のMUX3により受取られるよう結合される謂ゆ
るXA PROMの位置3から1ビツトである。
MUX256の残りのマルチプレクサの他の入
力は又、第6図に示される如き入力を受取る。
MUX10の最初の2つの入力即ちNA(A)および
NA(A)は更に興味あるものである。更に、一方が
他方の補数であるこれ等の2つのビツトの使用
は、分岐操作のための更に柔軟性がありかつ有効
な制御ストア(PROM)の場所の対形成を可能に
する。従来技術においては、分岐的中条件に基い
てPROMの寄数の場所に分岐し、分岐の的中しな
い条件においては偶数の場所に分岐し、あるいは
この反対に分岐することが公知であつた。しか
し、このような従来技術の手法は制約を有する。
例えば、そのアドレスがXXX00,XXX01,
XXX10およびXXX11(但し、Xは2進数の1又
は0である)である4つの連続する記憶場所を想
定すれば、分岐のシーケンスは非的中又は的中条
件に従つてアドレスXXX00又はXXX01になり
得、あるいは別のシーケンスがアドレスXXX10
又はXXX11になり得る。しかし、もし仮に場所
XXX11およびXXX01が丁度同じ情報を有するな
らば、これ等の場所は共用できない、即ち2つの
場所は仮に同じ内容に対しても使用されねばなら
ない。これは、両方のアドレスが奇数であり許さ
れる唯一の対形成が奇偶数のアドレスに対するも
のであるためである。別の従来技術の手法におい
ては、制御ストアにより指定される場所のアドレ
ス指定を生じるため非的中条件が与えることがで
き、的中条件は2つの最下位ビツト、例えば共に
2進数1を有する更に上位のアドレス・ビツトに
より指定されるある場所のアドレス指定を生じる
ことができる。このように、その2つの最下位ビ
ツトが共に2進数1であつたアドレスは、その2
つの最下位のビツトが2進数零か2進数1と2進
数零(どちらの順位でも)であるアドレスを用い
て対形成が可能である。しかし、この手法は、そ
の2つの最位ビツトの2進数1を有する(あるい
はその逆、即ち、他の対をなすアドレスを1に適
当に変化させた2進数零で、その最下位ビツトが
共に2進数1であるか、あるいは2進数1と2進
数零である)アドレスに共通アドレスを限定する
ことになつた。
種々のソースに制御ストアのための次のアドレ
スを生成即ち形成させるデータ処理装置において
は添付図面特に第5図および第8図に示す如き装
置を使用することが望ましい。更に、これ等図面
に示されるロジツクは、全ての場所を更に多数の
選択された場所に代るものとして使用できるよう
にすることによつてフアームウエア即ち制御スト
アの場所の総数の減少を可能にする。これを達成
するためには、最下位のビツト位置(NA10)
を、分岐X0の場合はNA10が実際にNA10ビツ
ト、即ちその時の制御ストア・ワードに対してレ
ジスタ82から受取るNA(A)と同じであるが、分
岐X1の場合はこのようなビツトNA(A)の補数が
使用されるように結合する。
例えば第9図を参照すべきである。もしNAア
ドレスが第1の回線上に図示の如く存在すれば、
下位バンク・アドレスは図示の如く同じである。
しかし、上位バンク・アドレスはX0又はX1の分
岐が存在するかどうかに依存する。分岐X1の場
合には、上位バンク・アドレスは第3の回路に示
される。最終アドレスは、信号TCTRUE−が2
進数零と1のどちらであるかに依存する。もし2
進数零であれば、下位バンクPROMは使用可能で
ある。このように、第4の回線に示す如く、最終
アドレスはもし信号TCTRUE−が2進数零であ
れば下位バンクに対するものである。もし信号
TCTRUE−が2進数1ならば、最終アドレスは
上位バンクに対するものとなり、分岐がX1とX0
のどちらかに従つて最終アドレスは第9図の回線
5および6のそれぞれに示される如くとなる。更
に、回線4上の下位バンク・アドレスは回線5お
よび6に示される如く上位バンクに対するアドレ
スのいずれか一方と対をなすことができることが
判る。
このように、更に有効な記憶場所の対形成を得
ることができる。第9図に示される変更例は、下
位バンクの偶数アドレス場所が上位バンクの偶数
又は奇数のアドレス場所と対をなすことができる
こと、および下位バンクの奇数のアドレス場所も
又上位バンクにおける偶数又は奇数のアドレス場
所と対をなすこともできることを示している。
前述のアドレス場所の対形成は、その時のフア
ームウエア・ワードのNA10ビツトの2進数値と
は独立的にNA10ビツトの2進数値を設定するこ
とによつて達成可能であることが判る。例えば、
分岐X0のためのNA10ビツトは、分岐X1のための
NA10が補数である。即ちこの場合には2進数零
である限り、NA(A)の代りに2進数1に対し設定
することができるのである。
【図面の簡単な説明】
第1図は本発明の装置が包含されるシステムを
示す全体的ブロツク図、第2図は本発明の中央処
理装置を示す詳細なブロツク図、第3図は本発明
の中央処理装置の演算論理装置との接続の詳細を
示す図、第4図は本発明の中央処理装置に含まれ
る制御ストアの記憶場所の構成の詳細を示す図、
第5図は本発明の中央処理装置に含まれる制御ス
トアとこれと関連するロジツクを示す詳細なブロ
ツク図、第6図は種々の分岐条件に応答して制御
ストアをアドレス指定するため使用される信号を
示す図、第7図は本発明の中央処理装置の制御ス
トアを使用可能状態にするため使用されるテス
ト・ロジツクを示す詳細なブロツク図、第8図は
本発明の中央処理装置に含まれる制御ストアのア
ドレス指定の際使用されるマルチプレクサの詳細
を示す図、および第9図は本発明の中央処理装置
に含まれる制御ストアにおける対をなす記憶場所
の操作の事例を示す図である。 9……局部バス、10……局部バス・インター
フエース、11……DRAM、12,61,60
……BRAM、13……Rバス、14……内部バ
ス、15……DALU、16……算術演算素子、1
7……外部バス、19……シフター、20……
DALU/Rバス・セレクタ、21……Y/Pレジ
スタ(YP)セレクタ、22……第3素子、23
……手順アドレス(P)レジスタ、24……デー
タ・アドレス(Y)レジスタ、25……アドレ
ス・マルチプレクサ、26……先取りアドレス・
レジスタ、28……データ書込み(W)レジス
タ、29……データ書込み(WS)セレクタ、3
0……テスト・ロジツク、32……Lバス、33
……ソース・バス、34……DAセレクタ、35
……DWセレクタ、36……手順バツフア、37
……Fバス、38……Fレジスタ、39……PA
セレクタ、40……PWセレクタ、43……マル
チプレクサ、44……次のアドレス生成装置、5
0……Qレジスタ、51……データ・ラツチ
(DL)、52……SEロジツク、53……選択/修
飾ロジツク、56……Qレジスタ・シフター、5
7……Iレジスタ、58……XBレジスタ、59
……デコーダ、70……定数生成装置、71……
指令ドライバ、74……ドライバ、75……素
子、80,81……上下位バンク制御ストア
PROM、82……MLR、84……書込み(W)
バス、90……制御パネル、93……ドライバ、
100……中央処理装置(CPU)、101……科
学計算命令プロセサ(STP)、102……商業計
算命令プロセサ(CIP)、103……カツシエ/
MMU(カツシエ・メモリー/記憶管理装置)、
105……電気システム・バス、106……メモ
リー・モジユール(主記憶装置)、107……入
出力(I/O)コントローラ、108……I/O
装置、109……多重回線通信コントローラ/プ
ロセサ(MLCP)、110……中心サブシステ
ム。

Claims (1)

  1. 【特許請求の範囲】 1 複数のアドレス指定可能な記憶セルの夫々
    に、該複数のセルの内の1つのアドレスを表すそ
    れ自信の部分を有するマイクロ命令を保持し、前
    記セルのアドレスを受け取るのに応答して前記複
    数のセルの内の1つから前記マイクロ命令を取り
    出して制御ストア出力レジスタで渡す制御ストア
    を有し、前記マイクロ命令を前記制御ストアから
    逐次に取り出して実行することによつて複数の機
    能を果たすデータ処理装置であつて、 前記制御ストアが第1及び第2の部分から成
    り、各部分は別々にアドレス指定可能であり、両
    部分は取り出したマイクロ命令を共通の制御スト
    ア出力レジスタに渡し、各部分は夫々の可能化信
    号の受信と同時にその中のアドレス指定されたマ
    イクロ命令を渡すように制御され、 前記データ処理装置が更に、 () 前記出力レジスタに保持されたマイクロ
    命令のアドレス部分を前記第1の制御ストア部
    分に供給する手段と、 () 前記出力レジスタに保持されたマイクロ
    命令によつて特定された操作に応答してアドレ
    スを発生し前記第2の制御ストア部分に供給す
    る手段と、 () 前記出力レジスタに保持されたマイクロ
    命令に応答して前記データ処理装置によつて果
    たされる操作に応答して前記可能化信号を前記
    制御ストア部分の内の1つに渡す選択手段と、 を含むことを特徴とするデータ処理装置。 2 前記アドレス発生手段が、前記処理装置によ
    つて果たし得る操作の異なるタイプに対応する複
    数のアドレスを発生し、前記第2の制御ストア部
    分への供給のために、前記出力レジスタに保持さ
    れたマイクロ命令によつて特定された操作に対応
    する前記アドレスの内の1つを選択することを特
    徴とする、特許請求の範囲第1項記載のデータ処
    理装置。 3 前記選択手段が、前記出力レジスタに保持さ
    れたマイクロ命令に応答して前記データ処理装置
    によつて果たされる操作の結果を表す複数の結果
    信号を受け取り、前記制御ストア部分の1つに対
    する前記可能化信号の受け渡しを制御するため
    に、前記出力レジスタに保持されたマイクロ命令
    に応答して前記複数の結果信号のサブセツトを選
    択することを特徴とする、特許請求の範囲第1項
    記載のデータ処理装置。
JP5688181A 1980-04-15 1981-04-15 Address forming device for controlling and storing data processing system Granted JPS5723149A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/140,643 US4348724A (en) 1980-04-15 1980-04-15 Address pairing apparatus for a control store of a data processing system

Publications (2)

Publication Number Publication Date
JPS5723149A JPS5723149A (en) 1982-02-06
JPS6250856B2 true JPS6250856B2 (ja) 1987-10-27

Family

ID=22492172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5688181A Granted JPS5723149A (en) 1980-04-15 1981-04-15 Address forming device for controlling and storing data processing system

Country Status (8)

Country Link
US (1) US4348724A (ja)
JP (1) JPS5723149A (ja)
AU (1) AU536511B2 (ja)
CA (1) CA1157569A (ja)
DE (1) DE3114921C2 (ja)
FR (1) FR2480459A1 (ja)
GB (1) GB2073923B (ja)
IT (1) IT1170890B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01113151A (ja) * 1987-10-26 1989-05-01 Toyota Motor Corp 成形金型及びその使用方法
KR20210084644A (ko) 2019-11-29 2021-07-07 엔지케이 인슐레이터 엘티디 압전성 재료 기판과 지지 기판의 접합체
KR20210084645A (ko) 2019-11-29 2021-07-07 엔지케이 인슐레이터 엘티디 압전성 재료 기판과 지지 기판의 접합체
WO2022054372A1 (ja) 2020-09-10 2022-03-17 日本碍子株式会社 弾性波デバイス用複合基板
US11296672B2 (en) 2018-02-27 2022-04-05 Ndk Saw Devices Co., Ltd. Surface acoustic wave device
TWI772589B (zh) * 2018-03-20 2022-08-01 日商日本碍子股份有限公司 壓電性材料基板與支持基板的接合體
KR20230006810A (ko) 2020-04-30 2023-01-11 신에쓰 가가꾸 고교 가부시끼가이샤 복합 기판의 제조 방법 및 복합 기판
TWI804550B (zh) * 2017-12-28 2023-06-11 日商日本碍子股份有限公司 壓電性材料基板與支持基板的接合體及其製造方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
US4390946A (en) * 1980-10-20 1983-06-28 Control Data Corporation Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences
US4441153A (en) * 1981-04-03 1984-04-03 International Business Machines Corp. Instruction register content modification using plural input gates and a data flow register
US4467416A (en) * 1981-09-16 1984-08-21 Honeywell Information Systems Inc. Logic transfer and decoding system
US4460959A (en) * 1981-09-16 1984-07-17 Honeywell Information Systems Inc. Logic control system including cache memory for CPU-memory transfers
JPS60227045A (ja) * 1984-04-25 1985-11-12 Mitsubishi Heavy Ind Ltd 変速操向装置
US4775927A (en) * 1984-10-31 1988-10-04 International Business Machines Corporation Processor including fetch operation for branch instruction with control tag
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4821183A (en) * 1986-12-04 1989-04-11 International Business Machines Corporation A microsequencer circuit with plural microprogrom instruction counters

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4845149A (ja) * 1971-10-09 1973-06-28
JPS4896258A (ja) * 1972-03-24 1973-12-08

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5021821B1 (ja) * 1968-10-31 1975-07-25
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
US4058850A (en) * 1974-08-12 1977-11-15 Xerox Corporation Programmable controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4845149A (ja) * 1971-10-09 1973-06-28
JPS4896258A (ja) * 1972-03-24 1973-12-08

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01113151A (ja) * 1987-10-26 1989-05-01 Toyota Motor Corp 成形金型及びその使用方法
TWI804550B (zh) * 2017-12-28 2023-06-11 日商日本碍子股份有限公司 壓電性材料基板與支持基板的接合體及其製造方法
US11689172B2 (en) 2017-12-28 2023-06-27 Ngk Insulators, Ltd. Assembly of piezoelectric material substrate and support substrate, and method for manufacturing said assembly
US11296672B2 (en) 2018-02-27 2022-04-05 Ndk Saw Devices Co., Ltd. Surface acoustic wave device
TWI772589B (zh) * 2018-03-20 2022-08-01 日商日本碍子股份有限公司 壓電性材料基板與支持基板的接合體
KR20210084644A (ko) 2019-11-29 2021-07-07 엔지케이 인슐레이터 엘티디 압전성 재료 기판과 지지 기판의 접합체
KR20210084645A (ko) 2019-11-29 2021-07-07 엔지케이 인슐레이터 엘티디 압전성 재료 기판과 지지 기판의 접합체
US11791796B2 (en) 2019-11-29 2023-10-17 Ngk Insulators, Ltd. Bonded body of piezoelectric material substrate and supporting substrate
US11791795B2 (en) 2019-11-29 2023-10-17 Ngk Insulators, Ltd. Bonded body of piezoelectric material substrate and supporting substrate
KR20230006810A (ko) 2020-04-30 2023-01-11 신에쓰 가가꾸 고교 가부시끼가이샤 복합 기판의 제조 방법 및 복합 기판
WO2022054372A1 (ja) 2020-09-10 2022-03-17 日本碍子株式会社 弾性波デバイス用複合基板

Also Published As

Publication number Publication date
FR2480459A1 (fr) 1981-10-16
CA1157569A (en) 1983-11-22
IT1170890B (it) 1987-06-03
AU6919781A (en) 1981-10-22
FR2480459B1 (ja) 1985-01-04
DE3114921A1 (de) 1982-03-25
DE3114921C2 (de) 1986-11-20
GB2073923B (en) 1985-01-03
US4348724A (en) 1982-09-07
GB2073923A (en) 1981-10-21
IT8148277A0 (it) 1981-04-14
JPS5723149A (en) 1982-02-06
AU536511B2 (en) 1984-05-10

Similar Documents

Publication Publication Date Title
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
JPS6250856B2 (ja)
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4961162A (en) Multiprocessing system for performing floating point arithmetic operations
US4378591A (en) Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US5680631A (en) Data processor with on-chip cache memory and purge controller responsive to external signal for controlling access to the cache memory
JPH0361214B2 (ja)
JP2002509312A (ja) 不整列データ・アクセスを実行するためのデータ整列バッファを有するディジタル信号プロセッサ
US4445172A (en) Data steering logic for the output of a cache memory having an odd/even bank structure
EP0473404A2 (en) Apparatus for maximising throughput of data in a data processing circuit
JPS5817582A (ja) 多重ワ−ド・メモリのデ−タ蓄積およびアドレス指定方式
US4491908A (en) Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
US4392201A (en) Diagnostic subsystem for a cache memory
JPH05143443A (ja) データ処理装置
JPS58501560A (ja) マイクロプロセツサ
US4360869A (en) Control store organization for a data processing system
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
CA1182579A (en) Bus sourcing and shifter control of a central processing unit
EP0378816A2 (en) Production line method and apparatus for instruction execution
US5911151A (en) Optimizing block-sized operand movement utilizing standard instructions
US4348723A (en) Control store test selection logic for a data processing system
US4349874A (en) Buffer system for supply procedure words to a central processor unit
EP0292188B1 (en) Cache system