JPH059816B2 - - Google Patents

Info

Publication number
JPH059816B2
JPH059816B2 JP57209481A JP20948182A JPH059816B2 JP H059816 B2 JPH059816 B2 JP H059816B2 JP 57209481 A JP57209481 A JP 57209481A JP 20948182 A JP20948182 A JP 20948182A JP H059816 B2 JPH059816 B2 JP H059816B2
Authority
JP
Japan
Prior art keywords
register
bus
word
operand
bit
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 - Lifetime
Application number
JP57209481A
Other languages
English (en)
Other versions
JPS58161042A (ja
Inventor
Ii Utsuzu Uiriamu
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 JPS58161042A publication Critical patent/JPS58161042A/ja
Publication of JPH059816B2 publication Critical patent/JPH059816B2/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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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
    • 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/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Description

【発明の詳細な説明】 発明の分野 この発明は、データ処理システム、特に、命令
のデイスクリプタ・ワードからデータ・タイプ・
フイールド信号を受入れる装置に関するものであ
る。
先行技術の説明 データ処理産業においては、コンピユータ・シ
ステムの遂行能力の増大にあわせて該システムの
コスト軽減へ向けた連続的な努力がなされてき
た。データ処理システムの遂行能力を向上させよ
うとするときに考察されるべき多くの変動要因の
中で、2個の極めて重要な考察事項は、システム
内で用いられるプロセツサの速度と、システム・
メモリとプロセツサ・ユニツトとの間で転送され
得るデータの転送速度である。データ処理システ
ムの遂行能力を増大させるための先行技術におけ
るアプローチは、共通データ・バスを介して夫々
にシステム・メモリに接続された複数個のプロセ
ツサ・ユニツトを提供することであつた。このア
プローチの延長として、特定タイプのプロセツサ
の操作を実行するために、個別的なプロセツサ・
ユニツトが特別に設計された。かくして、データ
処理システムには、高レベルの効率で複雑な数学
的演算を遂行するために特に適合された高速の科
学命令プロセツサ・ユニツト、ビジネスに関連さ
れたデータ処理において共通する操作を公式に遂
行するために特に設計された商用命令プロセツ
サ、および、完全なデータ処理システムの操作を
コントロールする一方で付加的な処理能力をも与
えるマスタ・プロセツサとしての役割を果たすよ
り一般化された中央プロセツサ・ユニツトが含ま
れている。
このような多重処理式のデータ処理システムに
おいては、各々のプロセツサが、共通データ・バ
スに対する個別的な接続によつてシステム・メモ
リとの通信を行ない、該共通データ・バスはまた
システム・メモリに接続されるようにしたものは
普通のものであつた。多重の特別に設計されたプ
ロセツサを使用することによつて支えられた処理
能力の著しい増大で、システムの全体的な処理能
力を増大させるのにある程度の成功がもたらされ
たけれども、プロセツサによつて定常的に要求さ
れる莫大な量のデータのため、それらを最適の速
度で処理しようとしてプロセツサにデータを転送
するためのシステム・メモリの能力をこえること
となつた。
コンピユータ・システムの遂行能力を最大化さ
せようとする第2のアプローチは、蓄積されてい
るデータを得るためにシステム・メモリに対する
アクセスをプロセツサ・ユニツトが要求する回数
を最少化することであつた。このアプローチで
は、キヤツシユ・メモリと呼ばれる、容量の制限
された極めて高速なメモリの使用が考えられた。
中央プロセツサ・ユニツトによつてシステム・メ
モリに要求された最近の情報は、プロセツサ・ユ
ニツトへのその転送と同時にキヤツシユ・メモリ
に蓄積されることになる。このような情報に対す
るそのあとの要求では、大容量ではあるが動作の
おそいシステム・メモリに対するアクセスの必要
なしに、キヤツシユ・メモリからプロセツサユニ
ツトに対しデータの直接的な転送がなされる。
データ処理システムの遂行能力を増大させるた
めの第3のアプローチは、実際には、第1および
第2のアプローチのハイブリツドであつて、デー
タ・プロセツサ・システム内での多重の特殊プロ
セツサを提供し、プロセツサ、例えばCPU、を
コントロールするためにキヤツシユ・メモリを使
用することが考えられた。これにより、プロセツ
サの効率的な操作を可能化するために、それらに
充分なデータを転送する能力の欠除していること
はある程度まで改善された。しかしながら、
CPUは、それがキヤツシユ・メモリに直結され、
システム・メモリへのアクセスが余り頻繁には要
求されなかつたということで、主として利点が生
じたものであつた。システム・バスとプロセツサ
との間で情報を転送するデータ・バス上のトラヒ
ツクの減少は、CPUによるアクセスの要求が少
なくなつたことからもたらされたということによ
り、第2の利点が別異のプロセツサに与えられ
た。
しかしながら、ハイブリツトのアプローチでさ
えも、多重の特殊化されたプロセツサが連続的に
最適操作されるデータ処理システムは得られなか
つた。データ処理システムのプロセツサ能力を最
大化する上での最大な障害は、多重の特別に設計
されたプロセツサの固有の効率性を利用するため
には、システム内で充分な高速をもつて情報を転
送させる能力がないことから生じるものである。
システムの遂行能力に対する別異の制限は、
CPUが単一マシン・サイクルの間に処理するこ
とのできるオペランドのサイズである。米国特許
第4206503号において説明されているようなCPU
にあつては、16ビツトのワードに制限されてい
る。
発明の目的 したがつて、この発明の目的は、データ処理シ
ステムの遂行能力を更に増大させることにある。
この発明の別異の目的は、より大きいサイズの
オペランドを処理するために改良されたCPUを
提供することにある。
この発明の別異の目的は、オペランドのサイズ
を指定するためのデイスクリプタが含まれている
命令のタイプを提供することにある。
この発明のなお別異の目的は、オペランド・サ
イズ信号およびコントロール・ストア信号に応答
して、相異なるオペランド・サイズを処理するた
め、コントロール・ストアがマイクロプログラ
ム・ルーチンにブランチするようにさせるための
手段を提供することにある。
発明の要約 データ処理システムには、命令およびオペラン
ドを蓄積するメモリ、サブシステム、および、メ
モリ・サブシステムから命令およびオペランドを
受入れて命令を実行する中央プロセツサ・ユニツ
ト(CPU)が含まれている。該命令には第1お
よび第2のワードが含まれている。該第1のワー
ドには、操作コード・フイールドおよびエスケー
プ・コード・フイールドが含まれている。操作コ
ード・フイールドではCPUの実行する命令が同
定され、また、エスケープ・コードでは、拡張し
た整数命令(EII)および商用命令プロセツサ
(CIP)の命令を含む命令のクラスが同定される。
該第2のワードには、データ・タイプ・フイー
ルドおよびアドレス・シラブル・フイールドが含
まれている。データ・タイプ・フイールドではオ
ペランドのタイプが同定される。EIIのためには、
データ・フイールドで、ビツト・ストリング、デ
イジツト、ハーフ・ワード、ワード、ダブル・ワ
ード、カツド・ワードまたはアドレス・オペラン
ドが同定される。CIP命令のためには、データ・
フイールドでデイジツトまたはハーフ・ワード・
オペランドが指示される。アドレス・シラブルで
は、エスケープ・コードと共に、オペランドの実
効アドレスを発生させるためにCPUによつて遂
行される演算に含まれている要素が指示される。
CPUはマイクロプログラム(フアームウエア)
コントロール式のものであつて、マイクロワード
を蓄積するためのコントロール・ストアが含まれ
ている。該コントロール・ストアは、操作コード
信号に応答して、命令を実行するときにCPU操
作をコントロールするためのマイクロワードを表
わすコントロール信号を発生するようにされてい
る。
フアームウエアのコントロールの下に命令を実
行する間に、データ・フイールド信号は図11の
F′レジスタ76にロードされ、そして、リード・
オンリ・メモリ(ROM)44−2のアドレス端
子に印加される。また、アドレス端子には、多く
の別異の信号も印加される。操作コードの高位ビ
ツトであるビツト位置4ではFREG00+信号が
発生され、これによりEIIまたはCIP命令のいず
れかの命令が同定される。コントロール・ストア
信号によつて発生されたMEMADR-信号では、
オペランドがメモリ・サブシステムに蓄積されて
いるかどうかが指示される。オペランドがレジス
タに蓄積されていることがMEMADR-信号で指
示されると、コントロール・ストア信号によつて
発生された信号MISC7B+で、アドレス・シラブ
ル1を介してアドレスされ得るものの1個か、ま
たはアドレス・シラブル3を介してアドレスされ
得るものの1個のいずれかとしてのレジスタが同
定される。
ROMの出力信号ODSIZ1+,ODSIZ2+
ODSIZ4+およびODADDA+がフアームウエアに
よつてテストされ、指示されたデータ・タイプを
処理するルーチンにフアームウエアがブランチさ
れる。
アドレス・シラブルでは、オペランド(IMO)
またはオペランドを見付けるために用いられると
ころのアドレス(IMA)を表わすところの第3
の命令コードが呼び出される。
この発明の特色である新規な特徴は、特許請求
の範囲で詳細に開示されている。しかしながら、
発明それ自体はその構成および操作の双方に関し
て、添付図面に即した以下の説明を参照すること
によつて最もよく理解することができる。
第1図は、これから説明されるCPUが含まれ
ているシステムの構成についての一般的なブロツ
ク図である。このようなシステムには、中央プロ
セツサ・ユニツト(CPU)100、および、科
学命令プロセツサ(SIP)101と商用命令プロ
セツサ(CIP)102を含む付加的プロセツサが
含まれている。これらの付加的プロセツサは、基
本的プロセツサ100を特別な適用のためにその
範囲を拡張させるために用いられる。該システム
には、また、キヤツシユ/MMU(キヤツシユ・
メモリ/メモリ管理ユニツト)ユニツト103、
電気的システム・バス105、メモリ・モジユー
ル(メイン・メモリ)106,I/Oデバイス1
08に接続された入出力(I/O)コントローラ
107、および、多重回線処理装置またはプロセ
ツサ(MLCP)109が含まれている。該シス
テムには、また、上述されたシステムの全部また
は一部を含む第2の中央サブシステム110が存
在するマルチプロセツサ構成が含まれている。
該中央サブシステム・プロセツサは、ローカ
ル・バス9によつて互いに接続され、また、それ
らはキヤツシユ/MMUユニツト103によつて
該システムの残部に接続されている。中央サブシ
ステムにおけるキヤツシユ/MMUユニツトの機
能は、プロセツサによつて現に使用されているメ
イン・メモリ106の一部に対するバツフアメモ
リを提供し、また、メイン・メモリ・アドレスの
変換をさせることである。ローカル・バス9の機
能は、3個のプロセツサとキヤツシユ/MMUユ
ニツト103との間の相互接続をさせることであ
る。第1図に示されているように、CPU100
と別異の2個のプロセツサとの間にはプライベー
ト・インタフエースが存在する。また、各プロセ
ツサからキヤツシユ/MMUに対するプライベー
ト・インタフエースも存在する。ローカル・バス
9は時分割された、またはパブリツク・インタフ
エースであつて、すべての3個のプロセツサおよ
びキヤツシユ/MMUによつて共有されている。
これに加えて、キヤツシユ/MMU103は、主
としてメモリモジユール106およびI/Oコン
トローラ107を介してI/Oデバイス108等
のシステムの残部に対して、システム・バス10
5を介してインタフエースを提供している。
次に、第2図のCPUブロツク図について説明
する。特に、諸種の電気的バスと機能ユニツト、
およびそれらの相互関係について説明する。
CPUの主要な要素は破線内に示されている。第
1のこのような要素はローカル・バス・インタフ
エース10であつて、これには、データ・バツフ
ア31、ラウンドロビン手続きメモリバツフア
(ラウンドロビン手続きメモリ)36、および、
これから説明される別異のデバイスと同様にソー
ス・バス33に接続されている諸種の手続き/デ
ータ・ワードおよびアドレス・マルチプレクサ
(MUX)が含まれている。第1の要素10は、
システム・バス105からのデータを受入れるた
めに使用される。
第2の要素16は演算要素であつて、DRAM
11およびBRAM12と呼ばれる2組のレジス
タ・アレイ(RAM)、および、RAM11と12
とが接続されているRAM(R)バス13を含む
いくつかのデバイスが含まれている。それには、
また、別異のデバイスと同様にBRAM12に対
して接続されるインナーバス(IBUS)14が含
まれている。第2の要素には、また、DALU1
5も含まれている。これは演算論理ユニツトであ
つて、DRAM11を駆動するように結合されて
いる。
CPUの第3の要素22には、アウタ(O)・バ
ス17およびライト(W)・バス84、それらに
接続されるシフター19−1および19−2、そ
してそれらに接続されるセレクタが含まれてい
る。これらのセレクタには、DALU/Rバス・
セレクタ20およびYレジスタ/Pレジスタ
(YP)・セレクタ21が含まれている。
第4の主要な要素27はCPUのアドレス・セ
クシヨンであつて、これには手続きアドレス・レ
ジスタ(P)23およびデータ・アドレス・レジ
スタ(Y)24が含まれている。それには、ま
た、アドレス・マルチプレクサ25およびプリフ
エツチ・アドレス・レジスタ26も含まれてい
る。要素27には、また、書込みデータ・レジス
タ(W)28および書込みデータ・セレクタ
(WS)29もまた含まれている。CPUのこの部
分は、データをローカル・バス9に転送するため
に用いられる。
デバイス30は、CPUのテスト・ロジツクで
あつて、これには、1組の8−1マルチプレクサ
が含まれており、これは次いで少なくとも2個の
8−1マルチプレクサの第2の組を駆動して、
“テスト・トルー”または“テスト・フオルス”
と呼ばれる単一の2進信号を発生させ、そして、
この信号はフアームウエアにおけるブランチ・コ
ントロールをするために用いられる。テスト・ト
ルーおよびテスト・フオルス信号は、コントロー
ル・ストア・バンク80および81に含まれてい
るPROMに結合される。
次位アドレス発生器44(第2図)は、Fレジ
スタ38およびFバス37に結合されている。次
位アドレス発生器は、主として、CPUにおいて
使用するためのアドレス発生に関連されている。
ローカル・バスのデータ入力エリアである要素
10の機能は、キヤツシユ/MMU103から、
またはローカル・バス9上の別異のデバイスから
返送されるデータを受入れること、ブートストラ
ツプ処理の実行が要求されるときにブートストラ
ツプPROM41からのデータを選択すること、
および、このようなデータを適切なデータ・バツ
フアに指向させることである。例えば、命令フエ
ツチが要求されるとき、そのデータはフアンクシ
ヨン・レジスタに配せられる。特に、主要なデー
タ・バツフア31は、ローカル・バス9からの16
ビツトまたは32ビツト・データを受入れる。デー
タ・バツフア31の出力はLバス32に接続され
る。該Lバスは、1対のセレクタDA34および
DW35の使用によるソース・バス33の駆動、
および、ラウンドロビン手続きメモリ36の駆動
の双方のために使用される。非手続きデータは、
Lバス32からのデータ・セレクタより駆動され
るソース・バス33を介してCPUに入力される。
手続きデータは、ラウンドロビン手続きメモリ
36からの別異のセレクタの組PA39および
PW40を介してCPUに入力される。該ラウンド
ロビン手続きメモリは、手続きが期待される次続
の2ワードまたは3ワードを含むようにされてお
り、それらが必要とされたときに、それらをフエ
ツチするための時間を消費することがないように
されている。それは、CPUによつて空白にされ
たとき、ローカル・バス9を介してキヤツシユ/
MMU103から自動的に再ロードされるもので
ある。
Fバス37は、Fレジスタ38、即ち、FOP,
FM,FNおよびLinkと符号の付された4個のエ
リア、のための情報をゲートするために用いられ
る特別のバスである。該Fレジスタは、CPUの
主要な命令レジスタである。Fバス37の機能
は、Fレジスタ38からデータを取出し、また、
諸種のソースからFレジスタに対してデータを供
給することである。マルチプレクサ43も設けら
れており、これは、要素AS′42からの定数また
はデータのいずれかを、Fレジスタ38のLink
位置またはFN位置のいずれかにロードすること
を許容されるものである。
また、データ入力エリアである要素10におい
て、ブートストラツプPROM41の組は、ブー
トストラツプ・モードで操作されるとき、メモリ
からの命令に代わる命令を与えるために使用する
ことができる。
位置A,B,CおよびDを有する蓄積デバイス
(ラウンドロビン手続きメモリ)36はラウンド
ロビン式の4ワードの手続きストアである。それ
が2ワード手続きのための空間を有していると
き、即ち、それが少なくとも半分は空白であると
きはいつでも、それはキヤツシユ/MMUからロ
ーカル・バス9を介してメモリ読出し処理を自動
的に開始させる。返送されるデータは、このラウ
ンドロビン手続きメモリにおいて用いられる次続
の2個の位置に入れられる。CPUの処理要素内
部での使用のためにそれをソース・バス33に対
して放出すること、またはそれが命令の一部であ
るということからそれをFレジスタ38に対して
伝送することのいずれかによつてCPUが処理を
すると、ラウンドロビン手続きメモリ内で実効的
にカーソルに相当する2個のポインタ36−1お
よび36−2は、4個の位置をラウンドロビン手
続メモリ36の出力に対して連続的に可能化させ
る、蓄積デバイス36に含まれているコンダクタ
の使用により使用され得る次続の位置へ前進され
る。左手のカーソルまたはポインタ36−2で、
フエツチされるべき次続の手続きワードを指示さ
れる。右手のカーソル36−1で、それに続くワ
ードが表わされる。ときには、手続きの1ワード
が使用され尽すことがあるが、この場合には、左
手のカーソルによつて指示されたワードはPWマ
ルチプレクサ40を通して情報を発生させるため
に用いられる。ときには、手続きの2ワードが要
求されることがある(ラージ・アドレス・フオー
ム(LAF)のアドレスを引出すときのように)。
そのときには、左手および右手のカーソルの双方
によつて指示されたワードは、手続きセレクタの
PAマルチプレクサ39において組み合わされる。
かくして、要素10は、データ・セレクタ34
および35、または手続きセレクタ39および4
0のいずれかを介し、ソース・バス33を通して
CPUにデータを送ること、または、ラウンドロ
ビン手続きメモリ36およびFバス37を介して
命令(F)レジスタ38に対してデータを直接的
に送ることに関連されているエリアである。デバ
イス(F′)76は、補助的なアドレス情報または
シラブルから選択されたビツトを保持するために
用いられる。アドレス・シラブルは、実際には、
16ビツト・データ・デイスクリプタの一部であ
る。デイスクリプタ内の所定のビツトは、後続の
分析のために保持されねばならない。CIPデイス
クリプタ内のオペランド・サイズ・ビツト、およ
び、Kレジスタ・デイスクリプタ内のオペラン
ド・サイズおよび符号付き対符号無しビツトは保
持されねばならない。これらは5ビツトのF′レジ
スタ76内に保持される。
第2の要素16には、演算論理ユニツト
(DALU)15,BRAM12およびDRAM11
が含まれ、また、プログラムにとつて可視的なす
べてのレジスタと、これに加えて、プログラマに
とつて可視的でない多くのワーク・レジスタが含
まれている。これらのデータ蓄積要素は以下のよ
うに構成される。RAMバス13を駆動すること
のできる2個のソースの1個であるDRAM11
には32個の位置が含まれており、その各々は24ビ
ツト幅にされている。これらの位置は、7個のい
わゆるDレジスタ、32ビツト長である7個のいわ
ゆるKレジスタの2個の半分(KおよびL)、多
くの内部ポインタ、および、7個のいわゆるMレ
ジスタを保持するために用いられる。その各々が
24ビツト幅である16ワードが含まれるBRAM1
2には、7個のベース・レジスタに加えて、多く
のプログラマにとつて可視的な、またプログラマ
にとつて不可視的な諸種のタイプのポインタが含
まれている。
第3図には、RAM、バスおよびDALU15の
間の関係が、より詳細に示されている。DRAM
11およびBRAM12は、夫々に、RAMバス
(Rバス)13に対するソースであることができ
る。BRAM12は実際には二重構造のものであ
る。即ち、CPU内には2個の並列的なBRAM6
0および61が存在する。BRAM12の2個の
要素は等しくロードされる。Rバス13を駆動す
る(または、これにデータを転送する)このよう
な1個の要素は要素60であり、また、Iバス
(インナーバス)14を駆動する別異のものは
BRAMの要素61である。2個の等しいBRAM
の重要な局面は、システムの速度が向上されると
いうことである。
Rバス13は、BRAM60またはDRAM11
のいずれかによつて駆動されることができる。別
異のソースもまた認められるようにIバス14を
駆動するようにされる。DALU15では、Iバ
スおよびRバスはその入力として使用され、ま
た、DALUの出力はDRAMに対して再循環され、
CPUの別異の場所で用いられる。
要素16には、重要な係りのある2個のバスが
含まれている。いわゆるIバス14は、プロセツ
サ内の始めの入力についての主要なソースであ
る。即ち、メモリからのデータは、Qレジスタ5
0の出力がドライバ54を介して、また、
BRAM12の出力がなされると同様に、このバ
スに対して入れられる。いわゆるRまたはRAM
バスである第2のバスは、2個の別異のRAMで
あるBRAM12およびDRAM11の出力が結合
されるポイントである。これら2個のバスの出力
はDALU15に対する入力である。DALU15
は、DRAM11に返送されるか、また、システ
ム内で更に処理されるためにOバス17に伝送さ
れるかのいずれかがなされ得るデータを発生させ
る。
IおよびRAMバスの双方で、“バツトラツチ”
(BL)として参照されるハードウエア要素が用い
られる。これは、その入力および出力がバス上で
信号を結合させるために一緒にされているゲート
である。このバツトラツチは、駆動ソースがタイ
ミングおよびシーケンス操作上の理由でバスから
外れることを必要とされたあとで、当該信号のコ
ントロールを引継ぐように意図されている。これ
が生じたとき、該バツトラツチは次いで当該信号
を駆動ソースが存在したときと同じレベルにある
ように支持して、バス信号が休止することのでき
る(0Vのような所定のレベルになる)時にバツ
トラツチがターン・オフされるまで、これが持続
される。
RAMバス13は、コントロール・パネル90
と中央処理ユニツトとの間のデータ転送のための
インタフエースであつて、16本の双方向性信号ラ
インを介してそれに接続されている。メモリ・デ
ータは、データ・ラツチ(DL)15と呼ばれる
1組のドライバを介してIバス14に結合され
る。該データ・ラツチは、SEまたは符号拡張ラ
ツチ52と呼ばれる第2の一連のラツチと並列に
されている。これらのSEラツチは、データ・ラ
ツチが24ビツト・バスに対して16ビツト量を供給
しているだけであるとき、該データ・ラツチに符
号づけをするか、または0拡張させるかのいずれ
かのために用いられる。同様にして、SEラツチ
52は、現在の命令の7ビツトまたは8ビツトの
いずれかを取り、それを24ビツトに拡張させる符
号づけをして、命令ワードの右手部分からその変
位およびそのオペランドを得るブランチおよびバ
リユー命令によつて使用するようにされる。
BRAM12およびDRAM11ロジツトと関連
づけられたセレクト/モデイフアイ・ロジツク5
3があり、これは、8個のレジスタのブロツクに
おいて、当該ブロツク内の個別的なレジスタの選
択をコントロールするために命令内の諸種のフイ
ールドを用いて、DRAMおよびBRAMがアドレ
スされるべきことを許容するものである。
定数ゼネレータ(KON)70もまた要素16
の主要なALUエリアに含まれており、Iバス1
4に対する別異のソースである。即ち、それは、
フアームウエアのコントロールの下に演算論理ユ
ニツトによる使用のため、Iバス上で24ビツトの
定数を発生させるために用いられるソースであ
る。
かくして、要素16はCPUにおける主要な演
算操作エリアである。即ち、それはオペランド操
作に関連され、また、DRAM11にそう入する
ためのオペランド、または、BRAM12に返送
されるか、若しくはローカル・バス9に対する出
力のために諸種のアドレスおよびデータ・レジス
タに伝送されるかのいずれかのためにOバス17
に対して伝送されるべく意図されるオペランドの
発生と関連されているものである。
要素22は、主に、アウタ(O)バス17およ
びライト(W)バス84として参照されるCPU
のセクシヨンと関連されている。Oバス17は、
諸種のデータ・バス、即ち、Yレジスタ24,P
レジスタ23,DALU15の出力およびRAMバ
ス13が集められるバスである。Wバス84は、
BRAM12に対し、データ書込みレジスタに対
し、そして、主としてアドレス操作のための責任
を果たすALUであるBALU55に対してオペラ
ンドを転送するために使用されるバスである。
Oバス17とWバス84との間には24多重化シ
フタ19が設けられており、これはOバス(アウ
ターバス)17上でオペランドをいずれかの方向
に1,2または4ビツトだけシフトされることを
許容するものである。これに加えて、16多重化シ
フタ56も設けられており、これはオペランドを
Qレジスタ50にロードするために用いられる。
Oバス17に対してソースとされる4個の相異
なるタイプのオペランドの中の2個は、DALU
15およびRAMバス13において生成され、そ
して、Oバス17に結合された2−1マルチプレ
クサ(DALU/Rバスセレクタ)20を通して
選択される。Oバス17のための2個の別異のソ
ースは、データ・アドレス・レジスタであるYレ
ジスタ24および手続きアドレス(P)レジスタ
23である。これら2個のユニツトの出力は2−
1マルチプレクサ(Y/Pセレクタ)21を介し
て結合され、そして、Oバス17上でのソースに
される。また、Iレジスタ57もOバス17に結
合されているが、これは中央処理サブシステムの
ためのインジケータ・レジスタである。Oバス1
7の内容は、CPU内で更に処理をされるために、
Wバス84に対して直接的にまたはシフトされて
のいずれかによつて転送されることができる。Q
レジスタが倍精度のシフト操作のために使用され
得るように、それらもまたQレジスタ50に直接
的にロードされることができる。
CPU内で生起するすべてのシフト操作は、O
バス17とWバス84との間のオペランドの操作
によつて生起する。24シフタ19は、コントロー
ル・ストア・ワードのコントロールの下に、Oバ
ス17およびWバス84上のオペランドのサイ
ズ、左または右について24ビツト・オペランドを
シフトさせるために用いられる。それにによつて
1,2または4ビツト位置のずれかがシフトされ
得るものであり、該オペランドはそのまま転送さ
れるか、または、該オペランドの右手の2バイト
が入替えられて転送されることとなる。これらの
シフタの操作は、コントロール・ストア・ワード
における特別のフイールドによつてコントロール
される。CPUのこのセクシヨンは、24ビツト・
オペランドのシフトのために用いられる。32ビツ
ト(ダブル・レジスタ)・オペランドがシフトさ
れるとき、右手のオペランドはOバス17を介し
てQレジスタ50にロードされ、次いて、Wバ
ス・シフタ19ばかりではなく要素16のQレジ
スタ・シフタ56も操作されて、シフトが行われ
る。Qレジスタの内容は、これにより、Wバス8
4上にシフトされている24ビツト・オペランドの
右手端部上の16ビツトの拡張として処理される。
これら2個のシフタの端部は一緒に結合され、か
くして、40ビツトのシフトの生起が許容される。
このようなダブル・レジスタのシフトにおいて、
関係のあるオペランドはQレジスタ50に返送さ
れる16ビツトおよびOバス17の右手の2バイト
に転送される16ビツトであり、Wバス84のデー
タの左手の8ビツトは通常は捨てられる。
要素75は、所定の条件の下にドライバ93を
介してWバス84に出すための、CPUにおける
ステイタス・ビツトの集合を表わすものである。
Wバス84は2個のソースを有しており、その主
要な1個はOバス17からのシフタ19である。
このシフタ19はバス84に対する入力としては
不可能化され得るものであり、それに代えて、要
素75内のステイタス・ビツト(S/Z)がWバ
ス84上に配されて、フアームウエアによつて後
続の分析をされることになる。
前述されなかつたQレジスタ50に関連されて
いるハードウエアの1つのユニツトは、XBレジ
スタ58およびそれに結合されたデコーダ59で
ある。XBレジスタ58はインデツクス・シフト
操作の間に用いられて該インデツクスのそれらの
ビツトを捕捉するために用いられるものであり、
該インデツクスのそれらのビツトはサブワード・
オペランドのために右にシフトされ、そして、そ
れらはアドレスにおける単一ワード・ビツトの右
に移動するために失われることとなる。それらは
XBレジスタ58において捕捉されるものであ
り、1ビツトはハーフ・ワード・ビツトのため、
2ビツトはデイジツト・シフトのため、そして、
4ビツトはビツト・サイズ・オペランドのシフト
のためのものである。その後、XBレジスタ58
の内容は、ハーフ・ワード・オペランドを扱つて
いるとき、デイジツト・オペランドのための商用
命令プロセツサに伝送されるべきパラメータを発
生させるとき、左対右半分の選択を直接的にコン
トロールするために、また、ビツト・オペランド
について操作されるとき、デコーダ59に関連し
て15の2進0および単一の2進1のマスクを発
生させるために用いられる。即ち、1個のビツ
ト・オペランドのために、1個のワードが読出さ
れ、1個のマスクが該ワード内の選択されたビツ
トのセツトまたはクリアをするために用いられ、
次いで、該ワードはメモリ内に書き戻される。マ
スクはデコーダ59から発生されるものであり、
Qレジスタ50に対する入力である。即ち、Qレ
ジスタにロードされることのできる項目の1個
は、XBレジスタ58の内容から発生されたデコ
ーダ・マスクである。
CPUにおける第4の主要な要素はエリア27
である。この要素は、ローカル・バス9に対す
る、そして、該ローカル・バスを介してCIP10
2,SIP101またはキヤツシユ/MMU103
のいずれかに対する、そして、したがつて、メモ
リまたは入出力(I/O)デバイス108に対す
る伝送のためのアドレス、コマンドおよびオペラ
ンドの発生に関連されている。この主要な要素は
大体3個のエリアに分割され得るものであり、そ
の第1は書込みデータレジスタ(W)28および
書込みデータセレクタ(WS)29である。Wレ
ジスタ28は区分ロード能力を有する32ビツト・
レジスタであつて、このレジスタの右半分または
左半分、若しくはその双方がロードされ得るよう
にされている。その右半分は、常に、ドライバ7
4を介してWバス84の16ビツトからロードされ
る。左半分は、書込みデータセレクタ29からの
データをもつて書込まれる。この書込みデータセ
レクタは、その16個の入力として、Wバス84の
右半分の16ビツト、または、Wバスの左手の8ビ
ツトに符号または0拡張のいずれを加えたものの
いずれかを有している。Wバスは、データがWレ
ジスタ28に伝送され、続けて、このようなデー
タをローカル・バス9上で結合されたいかなる別
異のデバイスにも書込むようにするための主要な
パスである。
ローカル・バス出力インタフエース27におけ
る次のエリアはコマンド・ドライバ71である。
コマンド・ドライバ71は、ローカル・バス上で
CPU100によるすべての伝送に随伴される一
連のコマンド・ラインを駆動し、キヤツシユ/
MMUまたはローカル・バス処理ユニツトに対す
るメモリ参照サイクル、I/O参照サイクルまた
はローカル・バス参照サイクルのいずれかを、キ
ヤツシユ/MMU103に対して指示する。コマ
ンド・ライン上で転送される情報は第4図に示さ
れるコントロール・ストアまたはフアームウエア
(FW)ワードのFおよびFKフイールドから引出
されるものであり、これはまた別異の時に要素1
0のFレジスタ38の作用をするようにされる。
要素27の第3の部分には2個の主要なアドレ
ス・レジスタが含まれている。即ち、非手続きメ
モリ・アドレスおよびローカル・バスとシステ
ム・バスとの上の別異のデバイスに対するアドレ
スのためのYレジスタ24、および、Pレジスタ
23(プログラム・カウンタ)、そしてプリフエ
ツチ・アドレス・レジスタ(プリフエツチ・レジ
スタ)26である。
Pレジスタ23にはフアームウエアで使用され
た最終ワードのトラツクが保持されているが、こ
のワードはラウンドロビン手続きメモリ36から
取出されて、そこでの操作のためにCPU100
に入力されたものである。プリフエツチ・レジス
タ26にはメモリから次にフエツチされるべきワ
ードのトラツクが保持される。即ち、Pおよびプ
リフエツチ・レジスタは、ラウンドロビン手続き
メモリ36がどのように充たされているか、およ
び、中央処理システムがバツフアからのデータを
何時ごろに取出したかに依存して、1ワードから
4ワードまでのメモリ・アドレスにおけるいかな
る数でも異なつているようにされる。中央処理シ
ステムがバツフアからすべてのデータを取つてい
るとき、キヤツシユ/MMU103は要求に応答
して新しいデータに応ずるために所定の時間がと
られ、そして、ラウンドロビン手続きメモリ36
を再び充たすことになる。それらの状況の下に、
プリフエツチ・レジスタ26およびPレジスタ2
3のアドレスは、アドレスの内容において近接し
ているか、または同一である。ラウンドロビン手
続きメモリ36が充満されており、CPU100
は最近にはいかなるデータも取込んでいないと
き、Pレジスタはプリフエツチ・レジスタのあと
の2ないし4ワードであるが、それは、メモリか
ら送出されるべき次のワードを指示するプリフエ
ツチ・レジスタから取られた最終ワードは、該プ
リフエツチ・レジスタ内に空きがあると直ちに指
示するからである。
Pレジスタ23の内容はメモリ・アドレスのソ
ースとしてローカル・バス9に対して許容される
ことはない。仮想アドレス・マルチプレクサ25
を介してローカル・バスに至ることのできるデー
タのための2個のソースは、すべての非手続き的
なフエツチのために用いられるYレジスタ24
と、メモリに至るためにプリフエツチ・ロジツク
によつて自動的に用いられるプリフエツチ・レジ
スタ26、および、後続するフアームウエアのス
テツプにおいて用いるための要求ワードである。
デバイス23,24および26における矢印
は、それらの特別なレジスタの増加能力を表わす
ものである。即ち、Pレジスタは、ラウンドロビ
ン手続きメモリ36から一時に取出されるワード
の数に依存して、1ワードまたは2ワードのいず
れかだけ増加させることができる。即ち、ラウン
ドロビン手続きメモリ36から1ワードを取出す
ことで、Pレジスタは1だけ自動的に増加され、
また、ラウンドロビン手続きメモリ36から2ワ
ードを取出すことで、Pレジスタは2だけ自動的
に増加される。プリフエツチは常に1対のワード
について遂行されることから、プリフエツチ・レ
ジスタ26は常に2だけ増加される。Yレジスタ
は、使用されるにつれて、またはあとでの使用の
ための準備に、フアームウエアのコントロールの
下で1または2のいずれかだけ増加される。フア
ームウエア・ワードには、このような増加および
ローカル・バスに対する諸種のサイクル要求のコ
ントロールを許容するバス・コントロール・フイ
ールドがある。
Wレジスタ28に対する入力は、諸種の方法で
作用される2個の16ビツトのデータ・バスであ
る。24ビツトのアドレス書込みが所望されるとき
は、ドライバ74がターン・オンされてWバスの
右手の16ビツトが可能化され、Wレジスタの右手
の16ビツトに転送されるようになる。書込みデー
タセレクタ29は、Wバスの左手の8ビツトおよ
び8個の2進0がWレジスタ28の左手の半分に
対して出されるように条件づけられている。これ
で、2ワード、24ビツト・アドレスが、後続のメ
モリへの書込みのためにWレジスタにロードされ
る。単一ワードをメモリに書込むことが所望され
たときは、Wレジスタの右半分はクロツクされず
(即ち、可能化される)、そして変更はなされな
い。書込みデータセレクタ29は、クロツク・イ
ンされているWレジスタの左手の16ビツトに対し
て、Wバスの右手の16ビツトを可能化させるよう
に条件づけられている。Wレジスタの左半分に書
込まれる単一ワードは、メモリに書込まれるデー
タである。
これまで説明されたロジツクは、キヤツシユ/
MMU103,CPU102またはSIP101の如
きローカル・バス9上の別異の装置からのデータ
を要求し、受入れること、それについて操作し
て、システム内に含まれている2個のALUを介
して諸種のレジスタにそれを内部的に蓄積するこ
と、および、後続して修正され、該装置の1個に
対して当該装置のアドレス(CPUにおいて内部
的に算出され、ローカル・バスをコントロールす
るために用いられる)とともにローカル・バスに
対して伝送される新しいオペランドを生起するこ
と、のために用いられる。これらの操作のすべて
は、CPUに含まれているワード当り96ビツトの
2.048ワードのコントロール・ストア80および
81に蓄積されているコントロール・フアームウ
エアのコントロールの下に遂行される。
コントロール・ストアは多くの個別的なフイー
ルドに区分されるものであり、この各々により、
CPUの内部的な遂行についての所定の局面がコ
ントロールされる。第4図には、フアームウエ
ア・ワードおよびその中で関係のある諸種のフイ
ールドが例示されている。これらのフイールドの
第1のものは、コントロール・ストアのビツト0
〜7のローカル・バス(LB)フイールドである。
LBフイールドは、ローカル・バス9からの諸種
のサイクルの要求およびその応答に関連づけられ
ている。それはまたプリフエツチ・レジスタ26
またはYレジスタ24を介して仮想アドレスを出
すことの責任を果たすものであり、また、Yおよ
びPレジスタの諸種の増加をコントロールする。
ローカル・バス・フイールドでは、また、ラウン
ドロビン手続きメモリ36からのデータを連続的
に読出すこと、および、Iバス14による後続の
使用のためにソース・バス33上でデータおよび
セレクタ34,35,39および40を夫々に可
能下させること、がコントロールされる。
次のフイールドである、コントロール・ストア
のビツト8および9のクロツク(CK)フイール
ドは、CPUのクロツク速度、即ち、CPU内の連
続するクロツク・パルスの間のインタバルをコン
トロールするために用いられる。各フアームウエ
ア・ステツプは、その複雑性に適合するクロツク
速度をそれに対して割当てるようにされる。この
発明のシステムにおいては、連続するクロツク・
パルスの間で、4個の可能性のあるインタバルが
ある。
即ち、96ナノ秒、105ナノ秒、130ナノ秒、また
は170ナノ秒である。これらの中のどれがあるフ
アームウエア・ステツプのために用いられるか
は、当該フアームウエアのためのCKフイールド
によつてコントロールされる。
次のフイールドは、コントロール・ストアにお
けるビツト10〜15のTCフイールドである。これ
は6ビツト・フイールドであつて、これにより、
フアームウエア・シーケンスのテストおよびコン
トロールのための64個の可能性のある論理機能が
選択される。
次のフイールドは、ビツト17〜19のBRフイー
ルドであつて、これはテスト状態の結果として取
られる作動のタイプをコントロールするために用
いられる。即ち、どのタイプのブランチが生起さ
れるか、該ブランチでは単に2個のフアームウエ
ア・ステツプの間で選択がなされるのか、また
は、あるフアームウエア・ステツプといわゆるコ
ントロール・ストア・スプラツタの間での選択の
いずれがなされるかがコントロールされる(次の
アドレスがFレジスタ38の内容を所定の機能に
よつてコントロールされるCPU内の1個または
それより多くの論理要素の状態に基づく多重なコ
ントロール・ストアの次のアドレスの1個を発生
させること)。
関係のある次のフイールドであるビツト21の
TPフイールドは、極性テスト・フイールドであ
る。それにより、テスト条件が真であるか偽であ
るかを決定するテストがなされるようにコントロ
ールされる。
ビツト22〜31のNAフイールドは、すべてのブ
ランチによつて選択される2個のアドレスの少な
くとも1個を発生させるために用いられる。別異
のアドレスは、これもまた同じNAフイールドか
ら引出されるか、または、前述されたコントロー
ル・ストア・スプラツタから引出されるかのいず
れかである。
ビツト32〜39の次のフイールドはFレジスタの
コントロール・フイールドであつて、Fと呼ばれ
る4ビツト部分とFKと呼ばれる第2の4ビツト
部分とに区分されている。FおよびFKフイール
ドは、FレジスタおよびFバスのエリアにおける
諸種の要素のロード操作およびストローブ操作を
コントロールされるために用いられる。即ち、そ
れは、F′およびAS′デバイス、Fレジスタ38お
よびマルチプレクサ43のサブパートをコントロ
ールするために用いられる。これらのデバイスの
いずれがロードされるか、および、それらのロー
ド操作のためにどのソースを有するかについて
は、すべて、FおよびFKフイールドによつてコ
ントロールされる。
ビツト40〜47の次のフイールドはK(即ち、定
数)フイールドであつて、これはIバス14を駆
動するために用いられる。それはIバスに対して
許容されるすべての定数のための右手の8ビツト
を供給する8ビツト・フイールドである。定数の
左手の16ビツトは、後述されるIバス・フイール
ドによつてコントロールされる。Kフイールドは
KONデバイス70に対して直接的に関連されて
いる。
ビツト48〜63の、コントロール・ストアにおけ
る次のフイールドは、主に、DRAM11および
BRAM12のアドレス操作およびコントロール
に関連されている。2ビツト・フイールドである
DWは、DRAMの最左端(最上位)8ビツトへ
の書込み操作をコントロールする1ビツト、およ
び、次の最右端(最下位)16ビツトへの書込み操
作をコントロールする別異のビツトをもつて
DRAMに対する書込みのコントロールのために
用いられる。次のビツトであるビツト50(フイー
ルドBW)は、BRAMの双方の部分に対する書
込み操作をコントロールするために用いられる。
BRAMの双方の部分は常に同時に書込まれるも
のである。次のフイールドであるDSは5ビツト
長のものであつて、DRAM11における32個の
レジスタの1個を選択するようにされる。ビツト
56および57のDMフイールドはDRAMと関連さ
れている選択/修正フイールドであつて、
DRAMのアドレス操作をさせるために、DRAM
に対して直接的に、または、Fレジスタ38の3
個の相異なる機能のいずれかの選択が許容される
ものである。
関係のある次のフイールドはビツト60〜63のB
選択フイールド(BS)であつて、これはBRAM
における16個のレジスタの1個を選択するために
用いられる。ビツト58および59を含んでいる2ビ
ツトのフイールドは、BRAMのアドレス操作の
ための選択/修正フイールド(BM)である。そ
れは、独立の選択および修正機能がBRAMおよ
びDRAMの双方のために特定化されることを除
き、BRAMのアドレス操作のために同様にして
遂行されるものである。
関係のある次のフイールドは7ビツト長(ビツ
ト65〜71)のGPフイールドであつて、これは、
諸種の双安定フリツプ・フロツプにクロツクを与
えることおよび諸種のコントロール機能を可能化
させることのような、プロセツサ内の多くの汎用
のマイクロ操作をコントロールするために用いら
れるものである。これは、また、CPUからコン
トロール・パネル99へのアクセスのコントロー
ル、該コントロール・パネルに対するデータの入
出力、およびその中の諸種のフリツプ・フロツプ
のコントロールのために用いられる。
次のフイールドである、ビツト72および73の
RBフイールドは、BRAMをコントロールする1
ビツトおよびDRAMをコントロールする別異の
ビツトをもつて、Rバス13上でのデータのソー
スにすることをコントロールするために用いられ
る。
ビツト74〜79のBAフイールドはBALU55の
機能をコントロールするために用いられる。この
演算論理ユニツトBALU55は、その入力とし
てIバスおよびWバスを有しており、Yレジスタ
24を駆動するために使用される。これらの6ビ
ツトは次のように用いられる。1個はBALUに
入れられるキヤリイとして、1個は論理/演算コ
ントロールのため、その別異の4個は特定な機能
を選択するためである。
関係のある次のフイールドは、ビツト80〜83の
IBフイールドであつて、これはIバス14に対
してどのデータ・ソースが可能化されるかをコン
トロールするために用いられる。このフイールド
は、Iバスに対する諸種の組み合わせにおいて、
データ・ラツチ、Fレジスタの符号拡張または定
数の選択、若しくはBRAMを可能化することが
できる。
次のフイールドである、ビツト84〜89のSHフ
イールドは、前述されたシフタおよびWバスの双
方にソースを供給することをコントロールするた
めに用いられる。該6ビツトによつて、どのレジ
スタがWバスに対して可能化されるか、Qレジス
タはロードされるかどうか、および、シフタはオ
ペランドが通過するときにそれをどの方向にシフ
トさせるかについて、システムが多くの自律的な
コントロールをすることを可能化される。
最終のフイールドである、ビツト90〜95のDA
フイールドは、DALU15に対する機能コント
ロールのためのものであつて、6ビツトをもつて
BAフイールドにおけるものと同様な機能を果た
すようにされている。即ち、1ビツトは注入キヤ
リイであり、1ビツトで論理対演算が選択され、
そして、別異の4ビツトで特定の機能を選択する
ようにされる。
CPUのためのコントロール・ストアは、実際
には、上部バンク80および下部バンク81の2
個のコントロール・ストアから成つている。上部
バンクは次位アドレス・レジスタ44によつてア
ドレスされ、また、下部バンクはそのときに現用
されているコントロール・ストア・ワードの内容
の部分によつて直接的にアドレスされる。ブラン
チのより通常のタイプの場合には、双方ともに、
次位アドレスの基本ソースとしてコントロール・
ストア・ワードのNAフイールドが用いられ、ま
た、上部バンクおよび下部バンクに至る2個のア
ドレスが本質的に等しいものであるように所定の
方法で修正される。次位アドレスとPROMゼネ
レータ・スプラツタとの間で選択がされる別異の
ブランチの場合には、下部バンクは現在のコント
ロール・ストア・ワードから変更されていない次
位アドレス・フイールドを受入れ、これに対して
上部バンクは現在のコントロール・ストア・ワー
ドからスプラツタ・アドレスを受入れる。該コン
トロール・ストアはこのやり方で区分されて、シ
ステムが双方の可能性のある次位アドレス・コン
トロール・ストア・ワードに対する同時アクセス
を行なうことができ、また、コントロール・レジ
スタ82におけるデータにクロツクを支えるのに
先立ち、現在のコントロール・ストア・ステツプ
の殆ど終りまで、そのいずれが用いられることと
なるかの決定を引延ばすことができるようにされ
る。コントロール・ストアの詳細については後述
される。
所定の代表的な中央プロセツサの操作を遂行さ
せるためにCPUとフアームウエアとが相互作用
される態様は次のとおりである。(a)メモリからの
ワードの読出し、(b)メモリからの別異のワードの
読出しのため、次位アドレスの算出、(c)メモリへ
のワードの書込み、(d)所定タイプの繰り返しアル
ゴリズムの遂行。これらの操作は、CPUに対し
て完全に内部的なものであり、以下に説明され
る。与えられる状況は典型的なものであり、代表
的な操作について説明される。
コントロール・ストア・ステツプの間にメモリ
からワードを読出す場合には、コントロール・ス
トア・ワードは、BRAM12からRB,BSおよ
びBMフイールドを介してRAMバス13上への
ワードの仮想メモリ・アドレスを可能化させる。
SHフイールドは、次いで、OバスおよびWバス
がソースとなるように条件づけられて、RAMバ
スはセレクタ20を通してOバス17に対して可
能化され、また、シフタ19を通してWバス84
上では変更されないようにされる。Wバスは
BALU55に対する入力であり、これはBAフイ
ールドによりそのWバス入力がその出力に対して
直接的に可能化されるように条件づけられる。同
時に、LBフイールドはYレジスタ24をロード
するようにし、かくして、Yレジスタにアドレス
を転送させる。
次のフアームウエア・ステツプにおいて、LB
フイールドは要求をローカル・バスに向けさせ
て、メモリ要求がなされたこと、および、ローカ
ル・バスに対して与えられたアドレスがこのよう
な要求のために用いられるべきことを指示する。
コマンド・ドライバ71は、メモリの読出し要求
がなされていることを指示するために、Fおよび
FKフイールド(第2図においてボツクス72と
して示されている)によつて条件づけがなされ
る。アドレス・マルチプレクサ25は、24本のア
ドレス・ラインを介してローカル・バス上でYレ
ジスタの内容を可能化させるために条件づけがな
される。ローカル・バス上のすべての活動をモニ
タし、コントロールするキヤツシユ/MMUメモ
リは要求があることを認め、一方、CPUは次の
フアームウエア・ステツプを続行する。次のフア
ームウエア・ステツプにおいて、ローカル・バ
ス・フイールドである区画が特定され、ローカ
ル・バス・サイクルの終りにキヤツシユ/MMU
からローカル・バスを介してCPUのデータ・バ
ツフアに至るデータの戻りが検知されるまで、
CPUこのフアームウエア・ステツプをはなれる
べきでないことが指示される。この戻りサイクル
が検知されると、直ちに該区画は終了して、
CPUはこの読出しサイクルの第4のステツプに
入る。
第4のステツプはフアームウエアでLBフイー
ルドが特定されるものであり、このLBフイール
ドではデータ・バツフア31内にあるデータが用
いられて、それをCPUによる使用のためのIバ
ス上でのソースにする。かくして、LBフイール
ドは、16ビツト長のワードまたは24ビツト長のア
ドレスのいずれかがソース・バス上で要求されて
いるかに依存して、DAドライバ34またはDW
ドライバ35のいずれかを可能化させる。次に、
Iバス・フイールドは、その24ビツトのすべてま
たは24に拡張された16ビツトの符号のソース・バ
スを特定して、Iバス14上で可能化されるよう
にする。Iバス14において、データ・バツフア
から戻つて受入れられる16ビツト・ワードがある
ものとすると、DAフイールドはIバス14を読
出すためにDALU15を可能化させるために用
いられ、また、DW,D選択およびDMフイール
ドはDRAMにおける32個のレジスタの1個に対
するアドレスおよび書込みのためにコントロール
される。これはこのコントロール・シーケンスの
第4のステツプを完了させるものであり、その第
1でYレジスタにロードされ、その第2で読出し
要求がなされ、その第3でデータの返送が待機さ
れ、そして、その第4でデータが取出されて、
CPU内のレジスタの1個でそれが可能化される
こととなる。
システムによつて遂行される操作の第2の代表
的なシーケンスは演算操作における操作の処理を
することであつて、メモリからフエツチされたオ
ペランドをデータ・レジスタの1個に加算し、加
算のあとで該データ・レジスタに戻し、続けてメ
モリに書戻されるようにそれをデータ・バツフア
に書込むようにされるものである。この操作のシ
ーケンスは先行の操作において参照される区分に
したがつて始められる。このステツプは、ワー
ド・オペランドがワードである場合、データ・バ
ツフア31からLバスおよびデータ・セレクタ3
5を介してソース・バスに至るデータを可能化さ
せるものである。そして、Iバス・フイールド
は、符号拡張ラツチ(SEラツチ)52を介して
符号の拡張されたソース・バスを特定し、デー
タ・ラツチ51がIバス上で可能化されるように
される。同時に、Rバス・コントロール・フイー
ルドは、関係のある特定のデータ・レジスタが
DRAM11からRバス13に対して可能化され
るように指定される。DAフイールド、即ち
DALUコントロール・フイールドは、次いで、
Rバス13上の24ビツトをIバス14上の24ビツ
トと加算するようにDALU15が条件づけられ
ることを指定する。このDALU15は、その出
力として和を表わす24ビツトを有している。DW
ビツトで、DALU15の出力がDARM11に書
戻されるべきであつたことが指示される。
同時に、DALUの出力がSHフイールドを介し
Wバスに対して可能化される。このフイールド
で、セレクタ20がOバスに対して可能化され、
その目的のためのRバスの出力を代えてDALU
の出力を選択するように条件づけられることが指
示される。また、同時に、シフト19−1はOバ
スの内容を変更なしにWバス84に対して通すよ
うに条件づけられる。ソース・バス33に対して
DW35を指定した同じLBフイールドは、また、
Wバスか書込データセレクタ(WS)29を介し
てWレジスタ28の左半分に対し可能化されるよ
うに指定することとなる。これはすべて単一のフ
アームウエア・ステツプにおいて生起するもので
ある。これは加算操作であることから、恐らく、
加算からのオーバフロウはテスト・ロジツク30
によつて指定されるテストがなされることとな
る。次位アドレス・ロジツクでは、オペランドが
直ちにメモリに書戻されるべきであるとき、特定
の入力がなれることを指示するアドレスを発生す
るようにされる。下部バンクに対する別異のアド
レスは、Iレジスタ57におけるオーバフロウ・
インジケータをセツトさせる次のステツプをとる
ために発生される。オーバフロウがなかつたと
き、Iレジスタは自動的にクリアされることとな
る。
第3の操作はオペランドをメモリに書込むこと
から成る。これは、その遂行のために3個のフア
ームウエア・ステツプをとるものである。その第
1は、オペランドの書込まれるべきアドレスをY
レジスタ24にロードされるステツプである。そ
の第2のステツプは、書込まれるべきオペランド
をWレジスタ28に入れることである。その第3
のステツプは、キヤツシユ/MMUが受入れて実
行するため、メモリ書込みを指定するローカル・
バスの要求がローカル・バスに対してアドレスさ
れることをLBフイールドが指定するステツプで
ある。
Yレジスタ24をロードする第1のステツプで
は、恐らく、BRAMランダム・アクセス・スト
アにおける16個の位置の1個からアドレスが得ら
れることとなる。このことはIバスがBRAMの
出力を調べるようにIバス・フイールドを条件づ
けることによつて遂行される。B選択フイールド
(BS)では、16個のBRAMレジスタのどれがこ
の目的のためにアドレスされたかを指示される。
BAフイールドによつてコントロールされる
BALU55は、Iバスの内容(24ビツト)をそ
の出力に対して通すように条件づけられる。LB
フイールドは、Yレジスタをロードするために指
定されるものである。Yレジスタに対する入力は
BALUの出力であることから、これにより、選
択されたBRAMの内容はYレジスタに転送され
ることとなる。次のコントロール・ストア・ステ
ツプでは、始まりがどこにあつても(この場合に
は、例えば、32個のDRAMの位置の1個)、オペ
ランドをその始まりからとるようにされる。DS
フイールドでは、32個のDRAMのどれが可能化
されるかの選択がなされる。RBフイールドで
は、DRAMをRバス上で可能化させる。SHフイ
ールドでは、セレクタ20を介してOバス17に
至るRバス13、および、シフト操作を生起させ
ずにシフタ19を介してWバス84に至るOバス
の選択がなされる。LBフイールドでは、Wレジ
スタの左半分にロードするように指定される。こ
のことは、Wレジスタの左半分に対してWバスの
右側2/3を可能化させるように書込データセレ
クタ29を条件づけることによつて遂行されるも
のであり、また、Wレジスタはその左半分にロー
ドするように可能化される。
最後に、第3のフアームウエア・ステツプが遂
行される。このフアームウエア・ステツプにおい
て、本質的な操作は、LBフイールドであるロー
カル・バス・フイールドで、メモリに対する書込
みをローカル・バスが指定されることのみであ
る。ここでは、キヤツシユ/MMUに対して、こ
れがメモリ書込み操作であることを指示するため
ローカル・バスに至るコマンド・ラインとしてF
およびFKビツトが用いられる。アドレスはYレ
ジスタ24から仮想アドレス・マルチプレクサ2
5を介してローカル・バスに対して可能化され
る。データはWレジスタ28からローカル・バス
に対して可能化される。すべてのローカル・バス
転送を調整するキヤツシユ/MMUは、これをメ
モリ書込みサイクルとして認識し、アドレスをと
り、それをマツプし、データと一緒にされてメモ
リに対してそれを伝送し、そして、システム上で
メモリに対して、これはメモリ書込み操作である
ことを指示するようにされる。
CPUで遂行することのできる代表的な操作の
第4のシーケンスは、倍精度のオペランドが所定
数のビツトだけ左または右にシフトされることで
ある。オペランドがBRAM内の双方にある、即
ち関係のある2個のオペランドがBRAM内にあ
るものとして、第1のフアームウエア・ステツプ
では、これら2個のオペランドの右手をQレジス
タに転送させることが始められる。これは以下の
ようにして行われる。BSフイールドは、このオ
ペランドがBRAM12に含まれている16個の位
置の1個をアドレスするために条件づけられる。
ラム(R)バス13をコントロールするRバス・
フイールド(RB)は、DRAMの出力に代えて
BRAMの出力を取るように条件づけられる。SH
フイールドは、Oバスに対してそれを可能化さ
せ、また、Rバスからのその入力を選択すること
により、Rバスよりセレクタ20を介してOバス
に転送するように条件づけられ、そしてまた、Q
レジスタおよびWバスの双方がOバス17の内容
を受入れ、それをロードするためにQレジスタに
クロツクを加えることが指定される。これによ
り、BRAM内でアドレスされたオペランドがQ
レジスタに転送されることになる。
次に単数または複数のステツフはシフトが実際
に遂行されるステツプである。このステツプにお
いて、BRAM内の第2のオペランドを含んでい
る別異の2個のレジスタがB選択フイールド
(BS)によつてアドレスされ、そして、BRAM
はRBフイールドを介してRAMバス13上に可
能化される。RAMバスは、次いで、セレクタ2
0を介してOバスに対して可能化される。SHフ
イールドは、どの方向に何ビツトのシフトが行わ
れるかに依存して、いかなる数値でも取るように
される。SHフイールドは、1,2または4ビツ
トのいずれかを左または右のシフトに選択するこ
とができる。これらのどの場合においても、Qレ
ジスタ50は、32ビツトのオペランドを生起させ
るOバス17の拡張として接続されるように考え
られる。実際には、それは40ビツトのオペランド
であるが、Oバスの左手の8ビツトは無視され
る。この32ビツトのオペランドは、特定のSHフ
イールドによつた指定されるように左または右の
いずれかにシフトされる。右手の16ビツトのQレ
ジスタ50に戻され、そして、左手の16ビツトは
無視された8ビツトと一緒にWバス84上で転送
される。これはシフト距離について専用のコント
ロールを有するSHフイールドによつてコントロ
ールされる。
オペランドはOバス17からWバス84に、ま
た、QレジスタからQレジスタに戻してシフトさ
れて、SHフイールドでQレジスタにはシフトさ
れたオペランドが再ロードされるようにされ、一
方、これと同時に、BWフイールドで、Wバス
が、アドレスされたBRAMの位置に書込まれる
ようにされる。かくして、BおよびQレジスタの
内容はシフトされ、そしてBおよびQレジスタに
戻される。このシフトに関連された特定の目的効
果であつて、これが開放、循環または演算シフト
のいずれであるかは、CPUにおけるコントロー
ル・フリツプ・フロツプの機能である。実際のシ
フト操作が行われるこのタイプのステツプは、諸
種の組合せで何回か遂行される。即ち、5ビツト
だけ左にシフトさせることが所望されたとき、1
ビツトの左シフトを生じるステツプに続けて4ビ
ツトだけ左シフトされるステツプがとられる。例
えば、3だけ右シフトさせるには、2だけ右シフ
トし、次いで1だけ右シフトさせることが要求さ
れる。
最終シフトが行われたあと、即ちオペランドが
アドレスされたBRAMの位置およびQレジスタ
に正しく整列されたあと、最終のステツプではシ
フトをさせることはなく、それに代えて、Qレジ
スタの内容をそれが始めにロードされていたとこ
ろからBRAMの位置に戻すようにされる。これ
は以下のようにして行われる。Iバス・フイール
ド(IB)は、IバスがQレジスタによつて駆動
されることを指定する(8ビツトの2進0で拡張
されたQの16ビツト)。DALU15はDAフイー
ルドによりコントロールされて、それが変更され
ずにIバスを通るようにされる。セレクタ20を
介して変更されずにOバス17に対してDALU
が可能化され、また再び変更されずにシフタ19
を介してWバス84に対するように、SHフイー
ルドは選択される。フアームウエア・ワードにお
けるBWビツト50は、次いで、Wバスから
BRAMのロードを条件づけるためにセツトされ、
そして、BS(B選択)ビツトはBRAMにおける
16個の位置のどれがシフトされたオペランドを受
入れるかを指定するために条件づけられる。これ
は、所定数のフアームウエア・ステツプ、例えば
3またはそれより多くにおいて、すべて生起させ
るものである。1個のステツプは40ビツトのオペ
ランドを生起するQレジスタにロードするために
用いられ、1個またはそれより多くは当該オペラ
ンドを要求されるようにシフト操作を遂行するよ
うにし、そして1個は操作を完了させるためにQ
レジスタの内容(右手の16ビツト)を戻すように
する。
CPUはマイクロプログラム化された24ビツト
のプロセツサであつて、キヤツシユ/MMU10
3から命令および16ビツトまたは24ビツトのオペ
ランドを受入れて、オペランドを処理することに
よつて命令を実行するものである。この明細書で
は、マイクロプログラム・コントロールの下に、
オペランドおよびメモリ・アドレスを、それらが
諸種のソースからRバス13およびOバス17を
介してWバス84に転送されるときに再整列させ
る装置が説明されている。オペランドおよびメモ
リ・アドレスの整列装置は、第4図の96ビツトの
マイクロワードのSHシフト・フイールドのビツ
ト84〜89に対応するものである。
第5図を参照すると、拡張した整数命令(EII)
ではシステムの32ビツトのオペランド処理能力が
用いられる。EIIは2個または3個の16ビツト・
ワードから成立つている。第1のワードには、命
令の操作コード、命令フアミリであるEIIを指示
するエスケープ・コード、および、命令の第1
(ダイオデイツクのとき)および唯一(モノデイ
ツクのとき)のオペランドを含んでいるレジスタ
を指示するフイールドが含まれている。
デイスクリプタ・ワードと呼ばれる第2のワー
ドでは、ビツト・ストリング、デイジツト、ハー
フ・ワード、ワード、ダブル・ワード、カツド・
ワードまたはアドレス、および、オペランドが符
号付きであるかまたは符号付きでないか、という
オペランドのタイプが記述される。デイスクリプ
タ・ワードには、また、エスケープ・コードによ
り選択された3個のアドレス・シラブルの1個が
含まれており、これでオペランドが配せられ、ま
た、命令に第3または第3および第4のワードが
含まれているかどうかが指示される。
第3のワードには、所望により、イメデイエイ
ト・オペランド(IMO)と呼ばれるオペランド
が含まれているか、または、第3および第4のワ
ードにはメイデイエイト・アドレス(IMA)と
呼ばれるオペランドの実効アドレスが含まれてい
る。
第1のワードには、ビツト位置0において2進
1が含まれている。ビツト位置1〜3で、第1の
オペランドを含むKレジスタが同定される。32ビ
ツトのKレジスタK1〜K7は、第2図における
DRAM11の14個のアドレス可能な位置に現れ
る。また、K1,K2およびK3レジスタはアド
レス準備の間にインデツクス・レジスタとして用
いられる。ビツト位置4〜8で、実行されるべき
命令の操作コードが同定される。ビツト位置9〜
15にはエスケープ・コードが蓄積されており、こ
れをEII命令として同定し、この命令で用いられ
るアドレス・シラブルを部分的に指定するように
されている。6C16および7C16のエスケープ・コー
ドは、第2ワードのビツト位置8と共に、該命令
をEII命令として同定し、更に、該オペランドを
指示している3個の可能性のあるアドレス・シラ
ブルのどれが第2ワードのビツト位置9〜15にあ
るかを指定するようにされる。
デイスクリプタ・ワードであるEII命令の第2
の16ビツト・ワードで、オペランドのタイプ、オ
ペランドのサイズが同定され、また前述されたよ
うに、メイン・メモリ106またはレジスタ内の
オペランドを指すアドレス・シラブルが指示され
る。ビツト位置0〜7はオペランドのサイズおよ
びタイプを同定するものであり、また3個のサブ
フイールドに構成されている。ビツト位置4〜7
ではデータのタイプが同定されるものであり、ビ
ツト位置7が2進1のときは符号付きオペランド
が指示され、また2進0のときは符号無しオペラ
ンドが指示される。ビツト位置0〜4では、オペ
ランドがビツト・ストリング・タイプでのもので
あるとき、該オペランド内のビツト数が指示され
る。
ビツト位置9〜15のアドレス・シラブルで、オ
ペランドを蓄積しているレジスタを同定し、その
内容がオペランドである次の単一または複数の手
続きワード指定し、または、オペランドが含まれ
ているメイン・メモリ106内での単一または複
数のワードに対するポインタを結果としてもたら
す所定のタイプのアドレス機能を指定することに
より、第2のオペランドが配せられる。アドレ
ス・シラブルは、ビツト位置9〜11のm部分およ
びビツト位置12〜15のn部分を有しており、これ
らについては後述される。
第6図を参照すると、データ・ビツト4〜7は
メモリ・オペランドに関係されている。正常では
符号無しおよび符号付きデイジツトのためのコー
ドであるデータ・タイプのコード0010および0011
はEIIオペランドのためには不適確である。また、
符号無しダブル・ワード(1010)、符号無しおよ
び符号付きカツド・ワード(110X)および符号
付きアドレス(1111)も不適確である。オペラン
ドはすべて32ビツト・オペランドであり、符号付
きオペランドは左に符号が拡張され、また、符号
無しオペランドは左に0が拡張されて32ビツトの
フイールドを充たすようにされていることが注意
される。
IMOなる欄においては、命令の第3ワードに
メデイエイト・オペランドが含まれているとき、
符号無しまたは符号付きワード、符号無しアドレ
ス上の符号付きダブル・ワードに限定されること
が示されている。
=Knなる欄においては、アドレス・シラブル
3を介してK1〜K7レジスタの1個に転送され
うるオペランドのタイプが示されている。それら
は符号付きダブル・ワードおよび符号無しアドレ
スに限定されている。
REGなる欄においては、第2図のBRAM12
のBレジスタB0〜B7に、またはDRAM11
からRレジスタR1〜R7に転送されるオペラン
ドのタイプが示されている。即ち、符号無しおよ
び符号付きロード、Rレジスタのみの符号付きダ
ブル・ワードおよび符号無しアドレス(Bレジス
タのみ)である。
第7図、第8図および第9図には、夫々に、ア
ドレス・シラブルマツプ(AS)1,2および3
が示されている。
EII1実行コード6C16でAS1が指定され、EII23
実行コード7C16でワード2のビツト位置8の論理
0と共にAS2が指定され、また、論理1と共に
AS3が指定される。マツプの座標はmおよびn
であつて、夫々に、ASのビツト位置9〜11およ
び12〜15である。以下のテーブルでは、第7図、
第8図および第9図のマツプの要素が規定され
る。
DDではアドレス・シラブルに続く(ワード内
の)16ビツトのデイスプレスメントである1
ワードが指示される。ここに、−215
215−1。
△△ではアドレス・シラブルに続くワード内の
32ビツトのデイスプレスメントである2ワー
ドが指示される。ここに、−231△231
1。
@ 間接オペレータ。
+Rインデクシング指定。ここに、−215
+215−1。
+Kインデクシング指定。ここに、−231
231−1。
FB FT+L。
FTスタツク内で現に活動しているフレームの
トツプ要素のアドレス。
L活動しているスタツク・フレームのワード
長。
↑自動増加(B↑,R↑またはFT↑はポスト
増加を指示する)。
↓自動減少(B↓,R↓またはFT↓はプレ減
少を指示する)。
IMA イメデイエイト・アドレス。
IA 中間アドレス。
B ベース・レジスタ。
K ダブル・ワード・オペランド・レジスタ。
Rワードおよびハーフ・ワード・オペランド・
レジスタ。
Pプログラム・カウンタ。P相対アドレス操作
のためには、以下の規定が用いられる。
Pb:Pbに対して加算されるべきデイスプレス
メントに対する点。
(命令の完了のときには、Pは継続する命令
の第1ワードを指す)。
( ) 論理的拘束。
〔 〕 内容。
+ 加算操作。
IMO イメデイエイト・オペランド。
IV インタラプトベクトル。
Oビツトにおけるオフセツトの指定。Oはサブ
ワード命令を実行しているときにのみ認識さ
れる。
−ビツト命令のためには、Oでビツト内の0
O15のオフセツトが指定される。
−デイジツト命令のためには、高位2ビツト
で、0,4,8または12ビツトのいずれか
のオフセツトが許容される。
−バイト命令のためには、オフセツト・フイ
ールドの高位ビツトのみが用いられる。か
くして、Oは0または8ビツトのいずれか
のオフセツトとして中断される。
−別異のすべての命令のためには、Oは無視
される。
− 減算操作。
× 乗算操作。
- 〜で置換される。
EA 実効アドレス。
第7図のアドレス・シラブル1(AS1)では、
座標(5,1)〜(5,7)でREGが選択され
る。EIIデータ・タイプがアドレスであるとき、
該座標でレジスタB1〜B7が選択される。
((5,4)でレジスタB4が選択される)。EIIデ
ータ・タイプがダブル・ワードであるとき、AS
1(5,3),(5,5)または(5,7)で、
夫々に、2個の16ビツト・レジスタR2/R3,
R4/R5またはR6/R7が選択される。
第9図のアドレスシラブルマツプ3(AS3)に
おいては座標(5,1)〜(5,7)でREGが
選択される。EIIデータ・タイプがダブル・ワー
ドまたはアドレスであるとき、ダブル・ワードま
たはアドレスの処理のために、座標(5,4)で
レジスタK4が選択される。
第7図のアドレスシラブルマツプ1(AS1)
(7,0)においては、ワード、ダブル・ワード
またはカツド・ワードのデータ・タイプのための
IMOが選択される。EII命令においては、IMOオ
ペランドのサイズは、命令のワード2のデータ・
タイプ・フイールドにおけるビツトによつて決定
される。
これらの形式でメモリ位置の実効アドレス
(EA)が指定される。MASは以下の形式を有す
ることができる。
○ P相対 ○ イメデイエイト・アドレス(IMA) ○ B相対 ○ IV相対 ○ スタツク相対 以下のAS入力で、P相対のMASの形式が指定
される。
○ ASマツプ1(第7図)より: P+D:EAはDをPbに加算することによつて
形成される。
@〔P+D〕:EAはPb+Dによつて指定され
た位置に含まれている。
○ ASマツプ2(第8図)より: P+D+O:EAは、先ずDをPbに加算し、続
けてこのワード・アドレスにオフセツトO*
を加算することによつて形成される。
P+D+R(1−3)+O:EAは、先ずDをPb
に加算し、続けてこのワード・アドレスにオ
フセツトO*を加算し、最後にR1−3で指
定されたアトム・インデツクスを加算するこ
とによつて形成される。
@〔P+D〕+O:IAはPb+Dによつて規定さ
れた位置から読出されるポインタである。続
けてオフセツトO*がIAに加えられてEAがえ
られる。
P+△+O:EAは、先ず△をPbに加算し、続
けてこのワード・アドレスにオフセツトO*
を加算することによつて形成される。
ASマツプ1(第7図)における以下のASの入
力でIMA MAS形式が指定される。
IMA:イメデイエイト・アドレス。EAは命令
に続く位置に含まれている。
@IMA:@は間接オペレータである。EAは
IMAによつて指定された位置に含まれてい
る。
IMA+Rn:EAはRnのスケールのかけられた
内容によつてインデツクスされたIMAであ
る。
@IMA+Rn:EAは、Rnのスケールのかけら
れた内容をIMA(間接ポスト・インデツクス
操作)によつて指定された位置の内容に加算
することによつて得られる。
以下のAS入力でB相対MAS形式が指定され
る。
○ ASマツプ1(第7図)より: Bo:EAはレジスタBoに含まれている。
@B(n−8):EAはB(n−8)によつて指定
されたメモリ位置に含まれている。
Bo+Rn:EAは、インデツクス・レジスタRM
のスケールのかけらられた内容をBoの内容
に加算することによつて得られる。
@B(n−8)+Rn:EAは、インデツクス・レ
ジスタRnのスケールのかけられた内容をB
(n−8)によつて指定された位置の内容に
加算することによつて得られる。
Bo+D:EAはDをBoの内容に加算することに
よつて形成される。
@〔B(n−8)+D〕:EAは、B(n−8)+D
によつて指定された位置に含まれている。
↑Bo:EAは、Boの内容が1だけ減少されたあ
とのBoに含まれている。
Bo↓:EAはBoに含まれている。Boの内容は1
だけ増加される。増加は、EA形成のあとで、
OPコードの実行に先立つて生起する。
B(n−C)+R(m−4)↑:EAは、B(n−
C)の内容をインデツクス・レジスタ(m−
4)のスケールのかけられた内容と加算する
ことによつて得られる。EA形成のあとで、
OPコードの実行に先立ち、インデツクス・
レジスタは1だけ増加される。
B(n−8)+↓R(m−4):インデツクス・レ
ジスタR(m−4)の内容は1だけ減少され、
次いで、B(n−8)の内容に加算されてEA
が形成される。
○ ASマツプ2(第8図)より: Bo+D+O:EAは、先ずDをBoに加算し、続
けてこのワード・アドレスにオフセツトOを
加算することにより形成される。
@〔B(n−8)+D〕+O: IAは、B(n−8)+Dによつて規定された位置
より読出されるポインタである。続けてオフセツ
トOがIAに加算されてEAが得られる。
Bo+D+Rn+O:EAは、先づDをBoに加算
し、続けてこのワード・アドレスにオフセツ
トOを加算し、最後にRnによつて指定され
たアトム・インデツクスを加算することによ
つて形成される。
@〔B(n−8)+D〕+Rn+O:IAは、B(n
−8)+Dによつて規定された位置より読出
されるポインタである。続けてオフセツトO
がIAに加算され、最後にRnによつて指定さ
れたアトム・インデツクスが加算されてEA
がえられる。
○ ASマツプ3(第9図)により: Bo+D+Kn+O:EAは、先ずDをBoに加算
し、続けてこのワード・アドレスにオフセツ
トO*を加算し、最後にレジスタKnによつて
指定されたアトム・インデツクスを加算する
ことにより形成される。
ASマツプ1における以下の入力でIV相対
MAS形式が指定される。
IV+D:IAは、現在のレベルのための中断ベ
クトルによつて指定された位置の内容であ
る。DがIAに加算されてEAが得られる。
以下の入力でスタツク相対MAS形式が指定さ
れる。
○ ASマツプ1(第7図)より: ↑FT↓:↑FT↓はOPコードに依存している。
使用されるOPコードの機能として、活動し
ているフレームは押込まれる(↓)か、押出
される(↑)か、またはプログラム・エラー
が生じるかのいずれかである。どの操作を適
用するかの基準は以下のとおりである。: a すべての蓄積命令にはPUSHが含まれ
る。
b すべての読出し−書込み命令および所定
の別異の命令ではトラツプ・ルーチンへの
ブランチが生じる。
c すべての別異の命令にはPOPが含まれ
る。
PUSH(↓)操作には、オペランドが活動中の
フレームに蓄積されるべきことが含まれている。
その結果、活動中のフレームにはそれにしたがつ
て拡大されねばならない。フレームの拡大にした
がつて、新しく“得られた”スペースはオペラン
ドの蓄積のために用いられる。
フレームの拡大はワードにおけるものであるこ
とが注意される。その結果、バイトが蓄積される
べきであるときは、フレームは1ワードだけ拡大
され、データはワード内で左に調整される。アド
レスが蓄積されるべきであるときは、フレームは
2ワードだけ拡大される。
POP(↑)操作には、FTによつて指定された
オペランドが命令で規定されたように用いられる
ようにされ、次いで、フレームから除去されるこ
とが含まれている。
フレーム・サイズの減少はワードにおけるもの
であることが注意される。その結果、オペランド
がビツトまたはバイトのものであるときは、フレ
ームは1ワードだけサイズが減少される。
○ ASマツプ3(第9図)より: @FT+O↑:IAは、FTによつて規定された
位置より読出されるポインタである。続けて
オフセツトOがIAに加算されてEAが形成さ
れる。次いでIAはフレームから除去される。
FT+D+Ro+O:ASは活動中のフレーム内
のデータをアクセスするために用いられる。
ワード・アドレスIAは、FT+D ASのた
めに規定された規約にしたがつて形成され
る。続けてオフセツトOがIAに加算され、
最後にRoによつて指定されたアトム・イン
デツクスが加算されてEAが得られる。
@〔FT+D〕+O:IAは、FT+Dによつて規
定された位置より読出されるポインタであ
る。(FT+D ASの適用のために規定され
たと同様の規約。)続けてオフセツトOがIA
に加算されてEAが形成される。
@〔FT+D〕+Ro+O:IAは、FT+Dによつ
て規定された位置より読出されるポインタで
ある。(FT+D ASの適用のために規定さ
れたと同様の規約。)続けてオフセツトOが
IAに加算され、最後にRoによつて指定され
たアトム・インデツクスが加算されてEAが
得られる。
第7図を参照すると、エスケープ・コード
(6,C)で拡張整数命令(EII)が同定され、ま
た、ASIが使用されるべきことが指定される。エ
スケープ・コード(7,C)でEIIが同定され、
また、第8図のAS2または第9図のAS3が使用
されるべきことが指定される。エスケープ・コー
ド(5,C)でCPU100の命令が同定され、
また、AS2またはAS3が使用されるべきことが
指定される。AS2((M,0)またはAS3(M,
0)でリモート・デイスクリプタが指定される。
第10図には、以下に説明される単一オペラン
ド命令(EII)のテーブルが示されている。それ
らは増加、減少、否定およびコンプリメントであ
る。また、第10図にはダブル・オペランドであ
るスワツプを表わすものも示されている。これら
の命令はソフトウエア可視インジケータにセツト
されるものであり、オーバフロウではオペランド
が境界をこえて拡張されていることが指示され、
また、キヤリイでは命令の実行から生じるキヤリ
イが指示される。
第11図を参照すると、オペランド・タイプの
ビツト4〜7は、Wバス84の信号WBUS20+
〜WBUS23+,F′レジスタ76および信号
FPMR04+〜FPMR07+を介して、次位アド
レス・ゼネレータ44内にあるプログラマブル・
リード・オンリ・メモリ(PROM)44−2に
印加される。F′レジスタ76は信号CRFLD2+
によつて可能化され、コントロール・ストア80
(第4図の)のFフイールドからの信号
ASPLOD-の上昇のときにロードされる。
Fレジスタ38からPROM44−2に対して
印加される信号FREG00+は、論理1にあると
き、EIIとしての命令を同定する。信号MISC7
B+は、論理0にあるときにAS1またはAS2、
そして、論理1にあるときにAS3としてのアド
レス・シラブルを同定する。オペランド参照操作
の間に、MEMADR-信号は論理1においてオペ
ランドがレジスタ内にあるものとして同定し、そ
うでないときにはオペランドはメモリ・サブシス
テム内に配せられている。信号FPMR08+
EIIのためには重要なものではない。それは商用
命令プロセツサ(CIP)102命令の間に操作さ
れるのみであつて、デイジツトまたはハーフ・ワ
ードを同定するようにされるものである。
PROM44−2は論理0にある信号 MISC6B-によつて可能化される。そのとき、
信号MISC6B+は論理1にあり、これによつて
PROM44−1を不可能化される。PROM44
−2またはPROM44−4のいずれかが操作さ
れることが注目される。PROM44−4は、
CPU100命令を含んでいるけれどもEIIおよび
CIP102命令を含んでいないすべての命令のた
めにデータ・タイプの信号を供給する。
Fバス37の信号FBUS00−08+はFレジ
スタ38に蓄積されている。出力信号FREG0
0,04+〜08+は、PROM44−4の入力ア
ドレス端子に印加される。また、信号FREG00
はPROM44−2の入力アドレス端子64に印
加されてEIIまたはCIP命令を指示するようにさ
れる。
データ・タイプの信号ODADDR+,ODSIZ1
,ODSIZ2+およびODSIZ4+は、夫々に、第2
図のテスト・ロジツク30のMUX30−2の入
力端子4〜7に印加される。第4図のTCフイー
ルドからのコントロール・ストア80の信号
CRTC15+,CRTC14+およびCRTC13+で、
信号CRTC13+が論理1にあるときに、デー
タ・タイプの入力信号が選択される。MUX30
−2は論理0にある信号DSASTF+によつて可能
化されて、正常なマシン操作が指示される。出力
信号TCGRP2-は次位アドレス・ゼネレータ4
4によつて用いられる。
第12図にはPROM44−2の内容が示され
ている。コラムA,C,EまたはGはCIP命令
(信号FREG00+が論理0)の間に選択され、ま
た、コラムB,D,FまたはHはEII(信号FREG
00+が2進1)の間に選択される。
信号FREG00+が2進1にあるときに規定さ
れるEIIは信号FPRM08+とは独立のものであ
る。コラムBおよびFでは、信号MEMADR-
2進1であるとき、すべてのオペランドを表わす
信号が供給される。信号MEMADR-が2進0で
あるとき、コラムDではワード、ダブル・ワード
およびアドレス・オペランドを表わす信号が供給
され、また、ダブル・ワードおよびアドレス・デ
ータ・タイプの信号の双方が入力アドレス端子に
印加されるとき、コラムHではダブル・ワードを
表わす信号が供給される。すべての別異の入力信
号の組み合わせではエラー状態が生じる。コラム
DはAS1またはAS2のために選択され、また、
コラムHはAS3のために選択される。コラムB
およびFにおける“D”出力信号はあとでの使用
のために保持される。
第13図を参照すると、フアームウエアで、第
5図における命令の操作コード・ビツト位置4〜
8、および、エスケープ・コード・ビツト位置9
〜15の説明がなされる。EIIがエスケープ・コー
ドの6C16または7C16であるとき、コントロール・
ストア80は位置509にブランチされて、命令の
予備処理が開始される。
予備処理の間、オペランドはメモリ106また
は指定されたレジスタから読出されて、該オペラ
ンドが符号付きされているときには符号ビツトを
拡張させることによつて32ビツトに拡張され、ま
たは、該オペランドが符号無しのものであるとき
にはフイールドを2進0のビツトで充たすように
される。該オペランドは夫々16ビツトの2ダブ
ル・ワードとしてメモリ106から読出されて、
32ビツトのレジスタDA34に蓄積される。低位
の16ビツトは、Lバス32、ドライバDW35,
Sバス33,Iバス14,DALU15、セレク
タ20,Oバス17、シフタ19およびWバス8
4を介して、BRAM12の24ビツトのレジスタ
BOに転送される。
ブロツク509では、メモリからダブル・ワー
ドの読出しが始まり、XBレジスタ58に蓄積さ
れていたインデツクス値のレジスタBDの左部分
への蓄積がなされる。ブロツク509に含まれて
いるものは、PROM44−2からの信号ODSIZ
+を調整する決定ブロツク509−Aである。
信号ODSIZ1+は、論理0においてはデイジツ
ト、ワードまたはカツド・ワード・オペランドを
指示し、また、論理1においてはビツト・ストリ
ング、ハーフ・ワード、ダブル・ワードまたはア
ドレス・オペランドを指示するものである。
ブロツク28Fでは、2進0がBRAM12の
32ビツトのレジスタA0に蓄積されている間に
CPU100を止めるようにされる。ここでは、
オペランドは符号無しのものかまたは正符号をも
つものかのいずれかであるものとされる。決定ブ
ロツク28F−Aでは、信号ODSIZ2+がテスト
される。信号ODSIZ2+が論理1にあるとき不適
法なデイジツトまたはカツド・ワード・オペラン
ドが指示されて、フアームウエアはトラツプ・ル
ーチンにブランチされる。信号DSIZ2+が論理0
にあるときにワード・オペランドが指示されて、
フアームウエアはブロツク3DEにブランチされ
る。
ブロツク3DEでは、メモリ106から受入れ
られてレジスタDB31に蓄積されている16ビツ
トのワードは、Lバス32,DW35,Sバス3
3、データラツチ(DL)51,Iバス14,
DALU15、セレクタ20,Oバス17、シフ
タ19およびWバス84を介して、BRAM12
のレジスタB0に転送される。決定ブロツク3
DE−Aでは、符号ビツトであるIBUS16+がテ
ストされ、それが論理0であつて、正符号を指示
しているときは、フアームウエアは実行ルーチン
を開始するためにブランチされる。IBUS16+
が負符号を指示しているときは、フアームウエア
はブロツク133にブランチされる。
ブロツク133では、レジスタA0は負オペラ
ンドを保持する2進1で充たされる。決定ブロツ
ク133−Aでは、F′レジスタ76の信号
FPRM07+がテストされて、該オペランドが符
号付きのもののであつたかまたは符号無しのもの
であつてかの決定がなされる。FPRM07+が論
理1にあつて符号付きオペランドを指示している
ときは、フアームウエアは実行ルーチンにブラン
チされる。信号FPRM07+が2進0にあるとき
は、フアームウエアはブロツク1E1にブランチ
される。
ブロツク1E1では、レジスタA0は拡張ビツ
トを訂正するための2進0で充たされ、フアーム
ウエアは命令を実行するためにブランチされる。
決定ブロツク509−Aで、ビツト・ストリン
グ、ハーフ・ワード、ダブル・ワードまたはアド
レス・オペランドが指示されたとき、フアームウ
エアはブロツク68Fにブランチされる。
ブロツク68Fでは、ダブル・ワードがレジス
タDB31によつて受入れられるまで、CPU10
0は止められる。レジスタB0の左部分に蓄積さ
れていたXBレジスタ58の信号はレジスタB0
の右部分にスワツプされる(ビツト位置16〜19が
ビツト位置24〜27にスワツプされる)。決定ブロ
ツク68F−Aでは、信号ODSIZ4+がテストさ
れる。信号ODSIZ4+は、論理1においてはダブ
ル・ワードまたはアドレス・オペランドを指示
し、また、論理0においては、ビツト・ストリン
グまたはハーフ・ワードを指示するものである。
ブロツク521では、レジスタDB31に蓄積
されていたダブル・ワードまたはアドレスの左ワ
ードが、ドライバDW35を通してレジスタA0
に読込まれる。決定ブロツク521Aでは、信号
MISC6B+が論理0にあるとき、これはEII命令
ではないことが指示される。
ブロツク109では、レジスタDB31に蓄積
されていたダブル・ワードまたはアドレスの右ワ
ードが、ドライバDA34を通してレジスタB0
に読込まれ、また、フアームウエアは実行ルーチ
ンにブランチされる。
ブロツク121では、右側4ビツト位置に蓄積
されていたインデツクス値が000F16を用いて
DRAM11のレジスタL0にロードされ、レジ
スタB0のビツト位置16〜27をマスクするように
される。また、該インデツクス値はレジスタXB
から、デコーダ59、シフタ56、レジスタQ5
0に転送される。デコーダ59では、レジスタ
XB58における4ビツト・コードからのインデ
ツクス値が、レジスタQ50における蓄積のため
の16コードの1つにデコードされる。決定ブロツ
ク121−Aでは信号ODSIZ2+がテストされる
が、これは、論理0にあるときはビツト・ストリ
ング・オペランドを、また、論理1にあるときは
ハーフ・ワード・オペランド指示するものであ
る。ビツト・ストリング・オペランドのフアーム
ウエアによる処理については、更に説明されるこ
とはない。
ブロツク76Bでは、レジスタB0におけるハ
ーフ・ワードのマスク操作の準備のために、
DRAM11のレジスタD0にFF0016が蓄積され
る。DALU15では、シフタ19を通して
FF0016を対にして、Wバス84上で000015にする
ことにより、レジスタA0においてすべて2進0
であるようにされる。決定ブロツク76B−Aで
はXBレジスタ58のビツト0がテストされる
が、これは、論理0にあるときは左バイトを、ま
たは、論理1にあるときは右バイトを指示するも
のである。
ブロツク36Dでは、レジスタDB31に蓄積
されていた右ワードがレジスタB0に転送され
る。この場合、該ハーフ・ワードは左バイト位置
にある。シフタ19で、左バイト位置と右バイト
位置とがスワツプされる。また、レジスタD0に
は00FF16が蓄積されて、DALU15における左
バイト位置でマスクするようにされる。レジスタ
B0には、ここで、右バイト位置におけるハー
フ・ワードが蓄積される。決定ブロツク36D−
Aでは、Iバス14の4ビツト位置16上の符号ビ
ツトがチエツクされ、論理0であれば、正符号ま
たは拡張Oフイールドが指示されて、フアームウ
エアは実行ルーチンにブランチされる。符号ビツ
トが論理1にあるとき、決定ブロツク12Bで信
号FPRM07+がテストされ、論理1であれば符
号付きオペランドであり、論理0であれば符号無
しオペランドであることになる。信号FPRM0
+が論理0にあつて符号無しオペランドを指示
しているとき、フアームウエアは実行ルーチンに
ブランチされる。信号FPRM07+が符号付きオ
ペランドを指示しているときレジスタA0は2進
1にセツトされねばならない。
ブロツク12Cでは、レジスタB0を00F0016
とORをとらせることによりレジスタB0の左バ
イト部分ですべて2進1になるようにされる。
ブロツク133ではレジスタA0をすべて2進
1になるようにされ、フアームウエアは実行ルー
チンにブランチされる。
決定ブロツク76B−Aにおいて、信号XB
(O)が右バイトを指示されたとき、ブロツク7
6Dで、レジスタD0に蓄積されたFF0016によ
つてワードの左バイト部分がマスク・オフされ、
レジスタB0の右バイト部にハーフ・ワードが蓄
積される。決定ブロツク76D−AではIバス1
4のビツト位置24がテストされ、これが論理0に
あつて正符号または0ビツト拡張を指示している
とき、実行ルーチンにブランチされる。信号
IBUS24は、論理1にあるとき、決定ブロツク
12Bにブランチするようにされて、上述された
ような信号また符号無しオペランドのためにテス
トされる。
第14図を参照すると、ブロツク507でEII
増加命令KINCの実行が開始される。オペランド
の16ビツトの左部分はレジスタA0に蓄積され、
また、オペランドの16ビツトの右部分はレジスタ
B0に蓄積される。
ブロツク507では、2進1がレジスタB0に
蓄積されたオペランドの右部分に加算され、その
結果はレジスタB0に蓄積され、また、Wレジス
タ28のビツト位置16〜31にも蓄積される。ブロ
ツク507−Aでは、DALU15のビツト位置
16からのキヤリイ・ビツトがテストされる。キヤ
リイがないとき、ブロツク3AEでは、Wレジス
タ28のビツト位置0〜15内にオペランドの左部
分が蓄積される。キヤリイがあるとき、ブロツク
7AEでレジスタA0が増加されて、Wレジスタ
28のビツト位置0〜15内にオペランドの左部分
が蓄積される。
EII減少命令KDECの実行は、ブロツク505
で開始される。レジスタB0は減少されて、Wレ
ジスタ28の右部分に蓄積される。DALU15
のビツト位置16は、決定ブロツク505−Aにお
けるキヤリイに対してテストされる。キヤリイが
あるとき、ブロツク3ADでレジスタA0が減少
され、その結果はWレジスタ28の左部分に蓄積
される。キヤリイがないとき、ブロツク7ADで
レジスタA0の内容がWレジスタ28の左部分に
蓄積される。
EII否定命令KNEGの実行で、オペランド・ビ
ツトをコンプリメントすることによつて0からオ
ペランドが減ぜられ、次いでオペランドを増加さ
せる。ブロツク503で、レジスタA0がコンプ
リメントされる。ブロツクOABで、レジスタB
0がコンプリメントされる。次いで、その結果B
0の増加は、上述されたように行われる。
EIIコンプリメント命令KCPLの実行では、レ
ジスタA0の内容がコンプリメントされ、そのコ
ンプリメントされた結果はWレジスタ28の左部
分に蓄積される。ブロツクOACでは、レジスタ
B0の内容がコンプリメントされ、このコンプリ
メントされた結果はWレジスタ28の右部分に蓄
積される。
これらの命令の実行においては、結果としての
オペランドはレジスタA0,B0およびWに蓄積
される(WLはWレジスタ28の左部分を指示
し、WRはその右部分を指示するものである)。
決定ブロツクAE−ADでは、データ・タイプ
の信号ODSIZ1+をテストすることによつてEII
命令の後処理が開始され、この信号が論理1にあ
るときはビツト・ストリング・ハーフ・ワードま
たはダブル・ワード・オペランドが指示され、論
理0にあるときはワード・オペワンドが指示され
る。決定ブロツク7AFでは信号ODSIZ4+がテ
ストされ、この信号が論理1にあるときはダブ
ル・ワード・オペランドが指示され、このときに
XWルーチンにブランチされる。信号ODSIZ4+
が論理0にあるとき、ビツト・ストリングまたは
ハーフ・ワード・オペランドが指示される。決定
ブロツクOGFでは信号ODSIZ2+がテストされ、
これが論理0にあるときにビツト・ストリングが
指示され、論理1にあるときにハーフ・ワードが
指示される。ビツト・ストリングの処理について
は、更に説明されることはない。
ブロツク7B4では、ハーフ・ワードの処理
が、B0レジスタからWレジスタ28のビツト位
置16〜23および24〜31の双方において対にし、蓄
積することによつて行われる。これによつてメモ
リ書込み操作の間にハーフ・ワードが準備され
て、メモリ106におけるワード位置の左または
右バイト位置のいずれかに転送されるようにな
る。決定ブロツク7B4−Aでは、符号付きまた
は符号無しオペランドのための信号F′(7)+がテ
ストされる。
符号無しのときは、ブロツク2CCで、レジス
タB0と00FF00とのANDをとり、その結果をW
バス84に入れることによつて、すべての0のた
めのレジスタB0の右半分の左バイト位置がテス
トされる。決定ブロツク2CC−Aでは、すべて
の0のためのOバス17のテストがなされる。レ
ジスタB0からの情報はRバス13,AND操作
の行われるDALU15、セレクタ20,Oバス
17およびシフタ19を介してWバス84に伝送
されることが注意される。結果が0に等しくない
とき、ブロツク019で、Iレジスタ57におけ
るオーバフロウ・ビツトOに1にセツトされて、
XWルーチンにブランチされる。結果が0に等し
いとき、すべての0のためにオペランドの左半分
をテストすることが必要である。これはハーフ・
ワードが0拡張されたものかまたは正符号拡張さ
れたものであるかを確実ならしめるものである。
ブロツク418ではレジスタB0の内容がIバ
ス14に転送され、ここで決定ブロツク418A
において符号ビツトIBUS16+がテストされる。
これは決定ブロツク2CC−Aでテストされ、そ
れが論理0であることから、ブロツク018でA
レジスタの内容がWバス84に転送される。Oバ
ス17の信号は0であるかをブロツク018でテ
ストされ、そして0であればフアームウエアは
XWルーチンにブランチされる。Oバス17の信
号が0でないときは、オーバフロウ・ビツトOが
ブロツク019においてIレジスタ57内でセツ
トされ、次いで、フアームウエアがXWルーチン
にブランチされる。
決定ブロツク7B4−Aで符号付きオペランド
が指示されたときは、ブロツク6CCにおいてレ
ジスタB0の内容がIバス14上に配され、そし
て、決定ブロツク6CC−Aで符号ビツトIBUS2
+がテストされる。符号ビツトが論理0である
とき、ブロツク2CCで左バイトがマスクされ、
レジスタB0の内容がWバス84に転送される。
決定ブロツク2CC−Aでは、後述されるように、
すべての0のためにOバス17が再びチエツクさ
れる。符号ビツト信号IBUS24+が論理1であ
るとき、ブロツク6CDでレジスタB0がコンプ
リンメントされ、00FF0016によつてそれがマス
クされる。決定ブロツク6CD−Aではすべての
0のためのテストがなされ、ブロツク019にお
いてすべて0であるかまたは補完ビツトがセツト
されているときは、XWルーチンにブランチさせ
る。
決定ブロツクAE−ADでは、信号ODSIZ1+
論理0にあるとき、ブロツク3AFでWレジスタ
28のワード部分およびQレジスタ50に蓄積さ
れているワード・オペランドが指定される。決定
ブロツク3AF−Aでは信号F′(7)+がテストさ
れ、これが論理1にあるときは符号付きオペラン
ドが、また、論理0にあるときは符号無しオペラ
ンドが指示される。
ブロツク018ではレジスタA0の内容がWバ
ス84上に配せられ、また、決定ブロツク018
−AではOバス17上の情報がすべて0であるこ
とがチエツクされる。そのとおりであれば、フア
ームウエアは命令実行のためにブランチされる。
Oバス17の信号がすべて0であることが指示さ
れていないとき、ブロツク019でIレジスタ5
7内のオーバフロウ信号がセツトされる。
レジスタA0およびK7の内容がスワツプさ
れ、レジスタB0およびL7の内容がスワツプさ
れるスワツプ命令KSWの実行は、ブロツク52
Cにおいて開始される。レジスタK7およびL7
はDRAM11内にある。
ブロツク52Cでは、レジスタK7の内容はレ
ジスタA0およびWレジスタ28の左ワード部分
に転送され、また、A0レジスタの内容はレジス
タK7に転送される。決定ブロツク52C−Aで
は信号ODSIZ1+がテストされ、これが論理0に
あるときはワード・オペランドが指示されてブロ
ツク3B1にブランチされ、また、論理1にある
ときはビツト・ストリング、ハーフ・ワードまた
はダブル・ワード・オペランドが指示されてブロ
ツク7B1にブランチされる。
ブロツク3B1では、レジスタL7の内容がレ
ジスタB0およびWレジスタ28の右ワード部分
に転送され、また、レジスタB0の内容がレジス
タL7に転送される。決定ブロツク3AF−Aで
は、前述されたように、符号無しまたは符号付き
オペランドのために信号F′(7)+がテストされ、
正確な拡張ビツトのためにチエツクされ、そして
オーバフロウのためにテストされる。
ブロツク3B1では、ブロツク7B1および決
定ブロツク7AFでなされると同様にして、レジ
スタL7とB0との間でスワツプが行われる。信
号ODSIZ4+が論理1にあるとき、ダブル・ワー
ド・オペランドが指示されて、XWルーチンにブ
ランチされる。信号ODSIZ4+が論理0にあると
き、決定ブロツク06Fが要求される。このシー
ケンスは前述されたものである。
説明されていないXWルーチンでは、レジスタ
またはメモリ106内のオペランドが蓄積され、
次の命令が要求される。
この発明の好適実施例を開示し、説明してきた
が、当業者にとつては、多くの変更および修正は
上述の発明に係わりのあるもので、それらも請求
された発明の範囲内にあることが理解される。か
くして、上述された要素の多くのものは同じ効果
を奏する別異の要素を以て交替または置換され得
るものであり、これも請求された発明の精神内に
入るものである。したがつて、この発明を限定し
ようとするものは、特許請求の範囲において指示
されるもののみである。
【図面の簡単な説明】
第1図は、この発明の装置が含まれているシス
テムの一般的なブロツク図である。第2は、この
発明の中央処理ユニツトの詳細ブロツク図であ
る。第3図は、この発明の中央処理ユニツトの演
算論理ユニツトに対する接続の詳細を例示するも
のである。第4図は、この発明の中央処理ユニツ
トに含まれているコントロール・ストアの位置構
成の詳細を例示するものである。第5図は、命令
ワードおよびデイスクリプタ・ワードのフイール
ドを同定するものである。第6図は、デイスクリ
プタ・ワードのデータ・タイプのビツトを同定す
るものである。第7図は、アドレス・シラブル1
マツプのレイアウトを示すものである。第8図
は、アドレス・シラブル2マツプのレイアウトを
示すものである。第9図は、アドレス・シラブル
3マツプのレイアウトを示すものである。第10
図は、拡張した整数命令を表わすテーブルを示す
ものである。第11図は、リード・オンリ・メモ
リおよび関連ロジツクのロジツク図である。第1
2図は、リード・オンリ・メモリのビツト構成を
示すものである。第13図は、オペランド・サイ
ズを決定するフアームウエアのフロウ図である。
そして、第14図は、拡張した整数命令を表わす
フアームウエア手順のフロー図である。 100……中央プロセツサ・ユニツト
(CPU)、101……科学用命令プロセツサ
(SIP)、102……商用命令プロセツサ(CIP)、
103……キヤツシユ/MMUユニツト、105
……電気的システム・バス、106……メイン・
メモリモジユール、107……入出力(I/O)
コントローラ、108……I/Oデバイス、10
9……多重ライン通信コントローラまたはプロセ
ツサ(MLCP)、110……中央サブシステム。

Claims (1)

  1. 【特許請求の範囲】 1 命令とオペランドを蓄積するメモリ・サブシ
    ステム、および前記メモリ・サブシステムから前
    記命令および前記オペランドを受入れて前記命令
    を実行する処理ユニツトを含み、異なるサイズの
    オペランドを処理するデータ処理システムであつ
    て;前記処理ユニツトの操作をコントロールする
    ためにマイクロワードからなるマイクロプログラ
    ムを蓄積するための位置を有するコントロール・
    ストアを備え、該コントロール・ストアは前記マ
    イクロワードを表わす複数個の出力信号(コント
    ロール信号)を発生するようにされており;前記
    命令の一つの種類は前記処理ユニツトが実行すべ
    き特定の種類の処理操作を定義する操作コード、
    一つの種類の命令を一部として含む命令の特定ク
    ラスを同定するための第1フイールド、および前
    記処理操作が実行されるべきオペランドのタイプ
    を同定するための第2フイールドを含む前記デー
    タ処理システムにおいて、前記処理ユニツトが: 前記コントロール・ストアからの出力信号に応
    答して前記第2フイールドの一つを蓄積するため
    のレジスタ; オペランドの異なるサイズを指示する複数ビツ
    トからなる指示子をアドレス可能な蓄積位置に保
    持し、供給されるアドレスに応答して対応する蓄
    積された指示子を表す出力信号を取り出すための
    アドレス可能なストア; 前記レジスタの内容を表わす信号、および前記
    第1フイールドを表わす信号を前記アドレス可能
    なストアに対してアドレスとして与えるために前
    記レジスタおよび前記コントロール・ストアを前
    記アドレス可能なストアに対して結合する手段; 前記コントロール・ストアからの出力信号の複
    数(CRTC13,CRTC14,CRTC15)およ
    び前記アドレス可能なストアからの出力信号
    (ODADDR,ODSIZ1,ODSIZ2,ODSIZ4)
    に応答して前記アドレス可能なストアからの出力
    信号のうちの一つの信号(TCGRP2)を出力す
    る手段(MUX30−2); 指示されたサイズのオペランドを前記処理ユニ
    ツトで処理させるためのマイクロプログラム・ル
    ーチンに前記一つの信号に応答してブランチさせ
    るため、前記コントロール・ストアへ前記一つの
    信号を結合する手段; を備えたことを特徴とするデータ処理システム。
JP57209481A 1981-12-01 1982-12-01 デ−タ処理システム Granted JPS58161042A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US326442 1981-12-01
US06/326,442 US4491908A (en) 1981-12-01 1981-12-01 Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit

Publications (2)

Publication Number Publication Date
JPS58161042A JPS58161042A (ja) 1983-09-24
JPH059816B2 true JPH059816B2 (ja) 1993-02-08

Family

ID=23272228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57209481A Granted JPS58161042A (ja) 1981-12-01 1982-12-01 デ−タ処理システム

Country Status (7)

Country Link
US (1) US4491908A (ja)
EP (1) EP0080901B1 (ja)
JP (1) JPS58161042A (ja)
KR (1) KR880000340B1 (ja)
AU (1) AU550873B2 (ja)
CA (1) CA1181865A (ja)
DE (1) DE3279867D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853956A (en) * 1983-05-20 1989-08-01 American Telephone And Telegraph Company Communication system distributed processing message delivery system
US4812971A (en) * 1983-10-03 1989-03-14 Digital Equipment Corporation Central processing unit for a digital computer
US4893235A (en) * 1983-10-03 1990-01-09 Digital Equipment Corporation Central processing unit for a digital computer
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
GB8421066D0 (en) * 1984-08-18 1984-09-19 Int Computers Ltd Microprogram control
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
JPH0642198B2 (ja) * 1985-07-08 1994-06-01 株式会社日立製作所 デ−タ処理装置
JPH0827716B2 (ja) * 1985-10-25 1996-03-21 株式会社日立製作所 データ処理装置及びデータ処理方法
US4956809A (en) * 1986-11-24 1990-09-11 Mark Williams Company Method for canonical ordering of binary data for portable operating systems
US5045992A (en) * 1988-10-19 1991-09-03 Hewlett-Packard Company Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
US5068821A (en) * 1989-03-27 1991-11-26 Ge Fanuc Automation North America, Inc. Bit processor with powers flow register switches control a function block processor for execution of the current command
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
ZA91432B (en) * 1990-02-05 1991-11-27 Steiner Silidur A G Andelfinge Covering members for drainage ducts
US6754892B1 (en) * 1999-12-15 2004-06-22 Transmeta Corporation Instruction packing for an advanced microprocessor
US7698539B1 (en) 2003-07-16 2010-04-13 Banning John P System and method of instruction modification
US7606997B1 (en) 2003-07-18 2009-10-20 Guillermo Rozas Method and system for using one or more address bits and an instruction to increase an instruction set
KR101700405B1 (ko) * 2010-03-22 2017-01-26 삼성전자주식회사 레지스터, 프로세서 및 프로세서 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5484943A (en) * 1977-10-25 1979-07-06 Digital Equipment Corp Cpu for executing variable length command
JPS55127643A (en) * 1979-01-02 1980-10-02 Honeywell Inf Systems Vector branch signal generating unit for controlling firmware

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958221A (en) * 1973-06-07 1976-05-18 Bunker Ramo Corporation Method and apparatus for locating effective operand of an instruction
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4128876A (en) * 1977-04-28 1978-12-05 International Business Machines Corporation Synchronous microcode generated interface for system of microcoded data processors
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
DE2846495C2 (de) * 1977-10-25 1993-10-21 Digital Equipment Corp Zentraleinheit
US4135242A (en) * 1977-11-07 1979-01-16 Ncr Corporation Method and processor having bit-addressable scratch pad memory
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
US4309753A (en) * 1979-01-03 1982-01-05 Honeywell Information System Inc. Apparatus and method for next address generation in a data processing system
GB2040519B (en) * 1979-01-03 1983-08-17 Honeywell Inf Systems Data processing systems
US4384340A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
EP0055128B1 (en) * 1980-12-24 1988-02-17 Honeywell Bull Inc. Data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5484943A (en) * 1977-10-25 1979-07-06 Digital Equipment Corp Cpu for executing variable length command
JPS55127643A (en) * 1979-01-02 1980-10-02 Honeywell Inf Systems Vector branch signal generating unit for controlling firmware

Also Published As

Publication number Publication date
KR840003080A (ko) 1984-08-13
EP0080901A3 (en) 1986-04-02
CA1181865A (en) 1985-01-29
EP0080901B1 (en) 1989-08-09
AU550873B2 (en) 1986-04-10
KR880000340B1 (ko) 1988-03-20
DE3279867D1 (en) 1989-09-14
AU9083882A (en) 1983-06-09
EP0080901A2 (en) 1983-06-08
JPS58161042A (ja) 1983-09-24
US4491908A (en) 1985-01-01

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
JPH059816B2 (ja)
US4395758A (en) Accelerator processor for a data processing system
US4620275A (en) Computer system
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
EP0192202A2 (en) Memory system including simplified high-speed data cache
JP2002509312A (ja) 不整列データ・アクセスを実行するためのデータ整列バッファを有するディジタル信号プロセッサ
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US4348724A (en) Address pairing apparatus for a control store of a data processing system
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPS6298440A (ja) プログラマブルアクセスメモリ
EP0198231A2 (en) Data processor with parallel instruction control and execution
IE990754A1 (en) An apparatus for software initiated prefetch and method therefor
JPH0241053B2 (ja)
US5091845A (en) System for controlling the storage of information in a cache memory
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US4360869A (en) Control store organization for a data processing system
KR940000027B1 (ko) 생산라인의 고성능 명령어 실행방법 및 장치
JPS6015708A (ja) ストア−ド・プログラム式制御装置
CA1182579A (en) Bus sourcing and shifter control of a central processing unit
US6405233B1 (en) Unaligned semaphore adder
EP0292188B1 (en) Cache system
US5276853A (en) Cache system
US3942156A (en) Indirect arithmetic control