JPS5838819B2 - デ−タ処理システム用制御ファイル装置 - Google Patents

デ−タ処理システム用制御ファイル装置

Info

Publication number
JPS5838819B2
JPS5838819B2 JP54173933A JP17393379A JPS5838819B2 JP S5838819 B2 JPS5838819 B2 JP S5838819B2 JP 54173933 A JP54173933 A JP 54173933A JP 17393379 A JP17393379 A JP 17393379A JP S5838819 B2 JPS5838819 B2 JP S5838819B2
Authority
JP
Japan
Prior art keywords
data
register
address
bits
control
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
JP54173933A
Other languages
English (en)
Other versions
JPS5592965A (en
Inventor
アーサー・ピーターズ
ビレンドラ・エス・ネギ
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 JPS5592965A publication Critical patent/JPS5592965A/ja
Publication of JPS5838819B2 publication Critical patent/JPS5838819B2/ja
Expired 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 (関連出願) 下記の出願は本願に参考のため引用されている。
1、■・S−Negiおよびλ・PeterSの米国特
許第4.245,328号「2進化10進訂正装置」。
2、 V’S−NegiおよびA−Petersの米
国特許第4.272,828号「データ処理システム用
の演算論理装置」。
3、A−Petersおよび■・S−Negiの米国特
許第4.224,668号「データ処理システム用の制
御ストアーアドレス生成ロジック」。
本発明はデータ処理システムに関し、特にデータ処理シ
ステムに関連する制御ファイル装置に関する。
謂ゆる主データ・プロセサおよび謂ゆる補助データ・プ
ロセサを有するデータ処理システムにおいては、命令お
よび(又は)データが主データ・プロセサから補助デー
タ・プロセサによって受取られ、このデータおよび(又
は)命令は補助データ・プロセサにおける適当な記憶場
所におかれねばならない。
この情報のローディングはこのような情報に対する探索
を一切必要とせずにユーザにとって使用可能にするため
予め定めた場所において行われることが望ましい。
又、情報のこのような記憶場所へのローディングと同時
に、このような補助プロセサ内の他の操作とは独立して
このようなシステムと関連する主記憶装置のアドレス指
定を可能にすることにより、補助プロセサにおけるデー
タ又は情報の操作および主記憶装置のアドレス指定を同
時に可能にすることも望ましい。
従って、本発明の主な目的は、改善された制御ファイル
・アーキテクチャを有するデータ処理システムの提供に
ある。
前記目的および他の目的は、第1と第2のデータ・プロ
セサおよび、第1のデータ・プロセサからのデータおよ
び情報の第2のデータ・プロセサによる受取りのため第
1と第2のデータ・プロセサを接続する装置を含むデー
タ処理システムを提供する本発明により達成される。
又このシステムには情報の記憶のための主記憶装置が設
けられている。
前記第2のデータ・プロセサは、その操作を制御するよ
う作用する複数の指令を記憶する制御ストアと、第1の
データ・プロセサから第2のプロセサにより受取られる
命令に含まれる機能コードを記憶するための装置とを含
んでいる。
この第2データ・プロセサは又、制御ストアからの指令
又は第1データ・プロセサから記憶装置により受取られ
る機能コードのいずれかを用いて制御ファイル内のある
記憶場所をアドレス指定するための装置と共に、第1デ
ータ・プロセサから受取ったデータを記憶するための複
数の記憶場所を含む1つの制御ファイルを含んでいる。
更に、アドレス指定装置によりアドレス指定される記憶
場所の内容で主記憶装置をアドレス指定するための装置
も設けられている。
この外、第2のデータ・プロセサにより使用するため主
記憶装置から情報を取出すため、アドレス指定装置に応
答する装置も設けられる。
又、取出し装置の操作と同時にアドレス指定装置により
アドレス指定される記憶場所の内容の値を変更する別の
装置が第2データ・プロセサに含まれる。
本発明の前記およびその他の目的は添付図面に関して説
明する実施例において達成される。
CIPl 3の目的は、第1図のシステム形態に示され
るCPU11の拡張、即ち商業上のタイプの命令の強力
なセットを用いることになる命令設定能力にある。
これ等の命令タイプは、CIPを介してCPUが10進
データおよび英数字データを処理することを許容し、命
令タイプは10進、英数字、データ変換および編集の如
く分類される。
CPUと主記憶装置17とのCfP通信は共通システム
バス19上に存在する。
CIPはCPUに対するアタッチメントとして作用し、
CPUおよび(又は)メモリーから転送される命令およ
びオペランドを受取る。
CIPは、商業的命令がCPU11によりバス19上に
送られる時これを実行する。
CPUはこれ等の命令を主記憶装置から得、特に商業命
令について取出された各命令を検査する。
CIPによる各商業命令の受取りは通常、CPUがメモ
リーからの各命令を抽出してこれを復号する時CPUと
同期する。
しかし、CIPの命令実行はCPUの操作とは同期しな
い。
CIPがシステムに組込まれていない時、商業命令を実
行しようと試みると、CPUを特定のトラップ条件に入
れることになる。
CIPはバス19を介してCPUおよび主記憶装置から
情報を受取り、この情報をある論理シーケンスで処理す
る。
このシーケンスは、遊休状態、ロード状態、使用中の状
態、およびトラップ状態の如き4つのCIP操作状態か
らなっている。
第2図に示す如く、CIPはブロック200に入り、情
報を処理しない時は遊休状態に止まり(ブロック202
)、CPUから指令(即ち、CIP命令又はI10指令
)を受取るためには遊休状態になければならない。
指令の受取り(ブロック204)と同時に、もしこれが
適法であれば(ブロック205)、CIPはロード状態
に入って(ブロック206)、全ての関連する指令情報
が受取られる迄ロード状態を維持する。
この情報がうまく受取られると(ブロック208)、C
IPは使用中の状態(ブロック210)に入り情報を処
理する。
使用中の状態にある間CPUがCIPとこれ以上連絡し
ようとしても、この試みはCIPが再び遊休状態に戻る
迄はCIPにより肯定応答されない。
CIPの処理操作には、必要なオペランドの取出し中に
生じる主記憶装置との通信動作が含まれる。
違法のオペランド長さ又はシーケンス外の指令の検出の
如き特定の違法事象が生じる時(ブロック214)にだ
けCIPがトラップ状態(ブロック212)に入る。
もしこの操作が完了したならば(ブロック216)、遊
休状態への戻りが生じる。
CIPに対する全ての関連する命令転送は、CPUおよ
びCIPによって連係して実施される。
これはCPUにより復号されて、この命令の実行のため
必要とされる関連情報の全てと共にCIPに対し送出さ
れる。
この情報の転送が完了すると、CPUおよびCIPはそ
の各々の命令を処理し続ける。
各CIP命令は16ビツト巾の命令ワードを含み、その
直後にデータ・ディスクリブタおよびラベルと呼ばれる
更に6つ迄の記述タイプのワード(これも又16ビツト
巾)が続く。
この命令ワードは、処理のためCIPに対して送られる
CIPのOPコードを含んでいる。
データ・ディスクリブタはオペランドのタイプとサイズ
およびメモリーにおける場所を記述し、ラベルは遠隔デ
ータ・′ディスクリブタのアドレスを与える。
データ・ディスクリブタとラベルは共にCPUによって
処理され、オペランドのタイプおよび記憶アドレスの如
きこの動作により得られる関連情報が処理のためCIP
に送られる。
CPUは、各命令に含まれるOPコードの分析により先
行操作を行う。
CPUがCIP命令を検出する時(即ち、もしCIPが
遊休状態にあれば)、CPUは命令OPコードおよび関
連情報を以下の方法で送出する。
即ち、(i)CPUはCIPに対しOPコード(即ち、
商業命令の第1ワード)を送出する。
CIPはこのOPコードを受入れる時ロード状態に入る
(11)CPUは第1データ・ディスクリブタを取出し
、アドレス・シラブルを質問して有効アドレスヲ生じる
(iii) CP Uは以下の情報を送出する。即ち、
最初のオペランド24ビツトの有効バイト・アドレス、
もし使用可能ならば関連するCPUデータ・レジスタの
内容、およびワード内のバイト(8ビツト)、又は半バ
イト(4ビツト)の桁位置を反映するよう更新された最
初のオペランドのデータ・ディスクリブタ、そして第2
と第3のオペランドと遭遇する時CPUはステップ(i
)と(1叫こおける適用可能な手順を実施する。
この時、CIPは商業命令の実行に必要な全情報でロー
ドされて使用中の状態に入って命令を実行する。
必要に応じて、CIPは直接主記憶装置と連絡して使用
可能なオペランドを得る。
しかし、CIPは決して直接にはCPUのレジスタはア
クセスすることがないことに注目すべきである。
CIPは、CPUにより送られた情報を使用するのみで
ある。
従って、CPUはCIPによっては修正されることがな
く、CPUは下記の条件の1つが生じる造次の個々に連
続するCPU命令を処理し続ける。
即ち、(i)CIPがトラップ・ベクトル(TV)を介
してCPUに対し現時の商業命令の実行中に生じた違法
事象を通知する、あるいは(++>cpUによる内部又
は外部の割込み信号の検出。
割込み信号はCPUにより検出されると、CPUは以下
の如く動作する。
CPUは、最後の商業命令がCIPにより完了されたか
どうかを決定する。
CPUは最後の商業命令の完了を待機する。
最後の商業命令が完了すると、CPUはトラップ要件を
生じたかどうかを決定する。
もし生じた場合は、CPUは割込みの実施に先立ってこ
のトラップ要求を優先する。
その結果必要に応じて全ての関連するCPUおよびCI
Pの状況情報を記憶する共形的な文脈保管/復元操作を
生じる。
CIPトラップ要求の処理に要するCPU操作の完了に
より、即ちトラップ要求がなくCIP命令が処理のため
使用可能である時、CPUは下記操作を行う。
CPUはそのプログラム・カウンタを更新して開始を試
みた商業命令を指示する。
CPUは、その時の割込みがサービスされる迄商業命令
の処理の試みを遅らせる。
CPUは、外部装置によって生じる割込みを優先してサ
ービスする。
CIPが1つの命令を実行する時、商業命令により照合
されるものを含めて全てのCPUのレジスタがCPU命
令を介してプログラムによって変更することができる。
しかし、ソフトウェアは、CIPがこの命令の処理を完
了する迄は商業命令に対するオペランドを変更してはな
らず、さもなければ、指定されない結果が生じることに
なる。
CIP命令のレパートリに含まれた分岐命令は、CPU
およびCIPによって同期的に実行される。
CIPにより処理されるデータ・ワードを構成する3つ
のタイプのデータは英数字データ、2進データおよび1
0進データである。
各データ・タイプは2進情報の単位に分類される。
この単位の定義によれば、英数字および2進データ文字
の照合に使用される場合は8ビツト(1バイト)に等し
く、10進データ文字の照合に使用される場合で、パッ
クされた10進データに対しては4ビツト(半バイト)
に等しく、記号10進データに対しては8ビツト(1バ
イト)に等しい。
又、単精度の2進数は2つの単位(2バイト)からなり
、2倍精度の2進数は4単位(4バイト)からなる。
第3図は本発明の商業命令プロセサ13の主要ブロック
図で、プロセサの各レジスタ間の主なデータ転送経路の
全てを示している。
制御ストア10は、各制御ストア即ちファームウェア・
ワード当り1つ宛の複数の記憶場所からなっている。
これ等のファームウェア・ワードは、プロセサのシーケ
ンス、データ転送経路、およびバス操作を直接又は間接
に制御する。
オペランド・レジスタ・ファイル兼演算論理装置(RA
LU)12は、主として2つのレジスタ・ファイル、即
ち1つの演算論理装置(ALU)および関連するマルチ
プレクサおよび制御レジスタを含む。
RALUl 2に含まれるのはオペランドレジスタ・フ
ァイル(RFlおよびRF2)で、その各々はALUに
おける実行のためオペランドをバッファするのに使用さ
れる16のビット場所を含む。
ALU入力マルチプレクサおよびランチは下記のものか
らなる。
即ち、3つの2対1マルチプレクサ(ゾーン選択)、2
つの4対1マルチプレクサ(桁の選択)、および2つの
8ビツト・ラッチ(バイト・ラッチ)である。
これ等のマルチプレクサおよびラッチはデータをオペラ
ンド・レジスタ・ファイルから入LUに対し送るために
使用される。
データは又、その時の積カウンタからALUの左側へ、
又オペランド・レジスタ・ファイル2から乗算レジスタ
へ転送することができる。
8ビツトのALU(2つの4ビツトALUチツプと、1
つのキャリー先取りチップと、1つのキャリー・イン/
キャリー・アウト・フリップフロップからなる)は、左
(1)と右(2)の入力間で次の操作を行うことが可能
である。
即ち、2進加算、入力2から入力1の2進減算、入力1
から入力2の2進減算、論理OR1論理AND、排他的
OR。
FFと等しいALU出力のセット、およびALU出力の
OOへのクリアである。
RALUについては、第5図に関して詳細に論述する。
RALUの6増しくX56)訂正ロジックは、ALUが
10進モードにある時は常に付勢され、次の操作のため
キャリー出力を変更しながら加算器からの2進出力を正
しい10進数に変換するために使用される。
XS6訂正操作は32ビット×8ビットFROMチップ
を用いることにより行われ、このチップが10進数の訂
正された3つの上位ビットを符号化して訂正されたキャ
リーを生じる。
2以下の機能の桁も又他の制御のためFROMチップの
出力側で使用可能である。
ALU出力マルチプレクサは、加算器出力の上位の4ビ
ット又は正しい10進ゾーン・ビットのいずれかを、A
LUが2進モードか10進モードのいずれで演算中であ
るかに従って、内部バス14に送るために使用される。
RALU制御ロジックは次の3つのレジスタからなる。
即ち、RFIA−レジスタ・ファイル1アドレス・レジ
スタ、RF2A−レジスタ・ファイル2アドレスレジス
タ、およびALMR−ALUモード制御レジスタである
これ等のレジスタは、いくつかのマイクロ命令と関連し
てRALU内の全ての操作を制御する。
前に述べたレジスタおよび制御回路以外にも、RALU
レジスタとして分類される他の2つのレジスタがある。
これ等のレジスタは、以下において説明する現時積カウ
ンタ(CPRC)および乗算レジスタ(MIER)であ
る。
制御ファイル16は、レジスタ・ファイルC(RFC)
ともよばれ、16場所×24ビツトのRAMであって、
主としてCPU11から発生される命令関連情報(例、
タスク・ワード、データ・ディスクリブタ、有効アドレ
ス等)の全てを記憶するのに使用される。
この制御ファイルは又、プロセサ(CIP)のファーム
ウェアによって使用されるいくつかの作業場所を含んで
いる。
この制御ファイル16は、内部バス14又はバス・アド
レス・レジスタ(MAR)18からOR論理マルチプレ
クサ21を介してビットO〜7を受取る。
バス・アドレス・レジスタ(MAR)18およびアドレ
ス加算ロジック20については以下に述べる。
MARレジスタ18は、主としてシステム・バス19の
アドレス指定に使用される24ビツトのアドレス・レジ
スタである。
これは、下位エンドの8ビツトの2人カマルチプレクサ
・レジスタと、上位エンドでの16ビツトのインクリメ
ンタ/デクリメンタからなる。
下位の8ビツトに対する多重化入力は制御ファイル16
又はアドレス加算器20の出力のいずれかから得る。
アドレス加算器20は8ビツトの2の補数加算装置で、
これは主としてバス・アドレス・レジスタ18の内容の
増減分のために使用される。
アドレス加算器20に対する入力は、バス・アドレス・
レジスタの下位の8ビツトのシフト・レジスタ(MSR
)22である。
シフト・レジスタ(MSR)22は8ビツトの汎用シフ
ト・レジスタで、これは内容バス14からロードでき、
1ビツトだけ左右にシフト(塔充填によるオープン・エ
ンドシフト)することができる。
このシフト・レジスタは、バス・アドレス・レジスタ1
8の増減分のためアドレス・レジスタ20に対する入力
として機能する。
更に、シフト・レジスタ20のビットOはALUキャリ
ーイン・フリップフロップにロードでき、これは通常は
変換命令の実行中有効である。
バス出力データ・レジスタ(OUR)24は16ビツト
のデータ・レジスタで、データをバス19のデータ回線
に転送するために使用される。
これは、上下バイト又は16ビツトのワード全体で内部
バス14からロードされる。
バス入力データ・レジスタ(INR)26は16ビツト
・データ・レジスタで、バス19のデータ回線からデー
タを受取るのに使用される。
入力データ・レジスタの内容は内部バス14に対しアン
ロードすることができる。
入力機能コード・レジスタ(BFCR)2B は、CI
Pがバス19の入力又は出力の指令を受入れる時この機
能コードを記憶するため使用される。
その後、ファームウェアがこの機能コード・レジスタ2
8の内容を検査して指定された指令を実行する。
入力アドレス・バンク・レジスタ(INAD)30は8
ビツト・レジスタで、バス19のアドレス回線上で受取
られる上位8つの記憶アドレスピントを記憶するため使
用される。
この上位8つのアドレス・ビットは記憶モジュール・ア
ドレスを含み、謂ゆるl0LD指令即ち出力実効アドレ
ス機能コードの結果としてCPU11により送出される
記憶アドレスの下位の16ビツトがバス19のデータ回
線上で受取られ、INRレジスタ26に対しストローブ
されて所要の24ビツト主記憶装置アドレスを形成する
CIP標識レジスタ32は、各ビットが個々にセット又
はリセットされ得る8ビツトの記憶レジスタである。
標識レジスタ・ビットの形態は第4図に示される。
TRPおよびTRP回線標識は内部処理のためだけCI
Pl 3により使用され、ソフトウェア・ビジプルでは
ない。
TRP回線(CIP)ラップ回線)標識はCPU11に
存在するCIPトラップ条件を通知するため使用され、
外部トラップ信号を経てバス19上に送られる。
セットされる時、TRP(CIPトラップ)標識はCI
PがCPUから唯1つの入力指令を受入れることを許容
する。
分析レジスタ(AR)34は16ビツト・レジスタで、
主としてマイクロプログラム分岐(マスクされた分岐)
およびオーバーパンチバイト符号化/復号ロジックの制
御のために使用される。
このレジスタは、内部バス14からの16ビツトワ一ド
全体でロードされる。
マイクロプログラム可能スイッチ・レジスタ(MPSR
)36は8ビツトレジスタで、各ビットがマイクロプロ
グラム制御下で個々にセット又はリセットされる。
MPSRレジスタ36内の各ビットはプラグとして使用
されてマイクロプログラミングを容易にする(即ち、フ
ァームウェアが各レジスタビットをテストして、その結
果に従って分岐動作を行うことができる)。
これ等のビットのあるものは又CIP13のあるハード
ウェア機能の制御にも使用される。
ROSデータ・レジスタ(RD)38は52ビツトの記
憶レジスタで、その時のファームウェアサイクルに対す
る制御ストア出力の記憶に使用される。
マイクロプログラム戻りアドレス・レジスタ(R8RA
)40は11ビツトのレジスタで、次のアドレス発生(
NAG)ロジック42の出力からロードされ、ファーム
ウェア・サブルーチンの実行時にマイクロプログラム戻
りアドレスの記憶に使用される。
レジスタ・ファイルCのアドレス・マルチプレクサ/セ
レクタ(RPCA)31は4ビツトの2対1セレクタで
、レジスタ・ファイルC(即ち制御ファイル)16に含
まれる16の場所の1つをアドレス指定することが可能
である。
このセレクタ31は、機能コード・レジスタ28と、カ
ウンタ(1)46又はROSデータ・レジスタ38の選
定されたビットのいずれかとの組合せを選定する。
CIPカウンタ44は、それぞれカウンタ1 (CTR
1)、カウンタ2(CTR2)およびカウンタ3(CT
R3)として表示される3つの8ビツト可逆カウンタ4
6.48.50を含んでいる。
これ等のカウンタは内部バス14を介してロード/アン
ロードされる。
各カウンタの内容はテストおよび分岐操作のために使用
可能である。
オーバーパンチバイト復号/符号化ロジック52は2つ
の512場所×4ビットFROMチップを含み分析レジ
スタ(AR)34の内容の復号/符号化に使用される。
復号されるバイトはARビット1乃至Iから得られ、符
号される数字はARビット4乃至7から得られる。
復号/符号化操作はARビット1乃至7を使用すること
により行われ、特定のFROMの場所をアドレス指定す
る。
指定されたFROMの場所の内容は、(1)復号された
数、その符号化およびその妥当性、又は(2)符号化さ
れたオーバーパンチバイトのいずれに合致するよう符号
化される。
MPSR36−ビット4は復号又は符号化操作のどれが
行われるかを指定し、MPSRビット1は符号(sig
n)化される数の符号を表示する。
又、オーバーパンチバイト復号/符号化ロジックの出力
は内部バス14の両半分で使用可能である。
CIPテスト・ロジック54は、次のアドレス発生ロジ
ック42に対する入力に対する32通りの可能なファー
ムウェア・テスト条件の1つを選定する。
テストされる機能の真又は偽の条件は制御ストアの次の
アドレス・フィールドのビット50を制御する(即ち、
テストされた機能の条件に従ってビット50をセット又
はリセットする)。
CIPl 3に含まれる次のアドレス発生(NAG)ロ
ジック42は次の5つの方法の内の1つを使用して次の
ファームウェア・アドレスを発生する。
即ち、直接アドレス・テスト兼分岐、マスクされた分岐
、主分岐、又はサブルーチン戻りである。
直接アドレス:この方法は、無条件分岐が次の順次の制
御ストア場所に対して行われる時に使用される。
これは、制御ストア・ワードのビット41乃至51を使
用することにより行われて次のアドレスを発生する。
これ等ビットは、使用可能な制御ストア場所のどれかを
直接アドレス指定できる次のアドレス(NA)フィール
ドからなる。
テストおよび分岐:この方法は、2通りの条件付き分岐
(テスト条件は満たす)が1つのファームウェア・ペー
ジ(これは制御ストア内の128の場所セグメントであ
る)内で実施される時に使用される。
これは、制御ストア・ビット4L42゜43.44,5
0を用いることにより行われ、テスト条件を選択する。
従って、テストされた機能の条件に従って、1つの分岐
が2つの場所の内の1つに対して行われる。
この方法の下に行われた分岐操作はモジューロ2である
(即ち、2つの可能な分岐アドレスが2つの離れた場所
である)。
モジューロ2のアドレスは下記の如く発生される。
即ち、(1)もしテスト条件が満たされれば、アドレス
のビット9が1にセットされる、あるいは(2)もしテ
スト条件が満たされねば、このアドレスのビット9は零
にセットされる。
マスクされた分岐:この方法は、通常分岐レジスタ(A
R)34の内容について分岐を行う時又は他の条件にお
いて使用され、同じファームウェア・ページ内の2,4
゜8、又は16の場所に対する分岐を行う(1つのファ
ームウェア・ページは制御ストア内の128場所のセグ
メントである)。
主分岐:この方法は1つのファームウェア・ページ(1
28ワード)内での分岐の際使用される。
CPU/CIPインターフェース・ルーチンがこの方法
を用いて機能コード・レジスタ28の内容について所要
の16通りの分岐(INB主分岐)および他の制御機能
(EOP主分岐)を実施する。
サブルーチン戻り:この方法は1つのファームウェア・
サブルーチンの実行後ファームウェアを次の奇数又は偶
数の制御ストアの場所に対して戻すために使用される。
この戻りアドレスは、戻りアドレス(R8RA)レジス
タ40から得られ、指定されたサブルーチンの実行の前
にこのレジスタ40に記憶されねばならない。
内部バス14は16ビツト巾であり、主としてレジスタ
・ファイル内の場所を含むCIPレジスタ間のデータの
転送に使用される。
内部バスは、第2図に示す如くいくつかの出所からデー
タを受取る。
内部バス14からの出力はCIP内の種々のレジスタに
与えられる。
パリティ検査ロジック56は、バス19と内部バス14
間に接続され、入力データのパリティ検査に使用される
一方、パリティ発生ロジック58はバス19上での転送
のため適正なパリティ・ビットの発生に使用される。
バス要求ロジック60およびバス応答ロジック62は、
CIPI 9がバス19に対するアクセスを得ることと
CIPに対するアクセスを得る要求に応答することを可
能にするために使用される。
ロジック60および62については米国特許第3.99
3,981号に記載される。
第5図はRALU12の主要ブロック図で、主なデータ
転送経路および制御回線の全てを示す。
この制御回路はその作用の理解を容易にするため点線で
示される。
便宜のため、RALUの説明は7つに分けられる。
即ち、オペランド・レジスタ・ファイル、ALU入カフ
カマルチプレクサッチ、演算論理装置、XS6訂正ロジ
ツク、ALU出力マルチプレクサ、RALU制御ロジッ
ク、および種々のRALUレジスタである。
オペランドレジスタ・ファイルRF170およびRF
272は各各CIP操作のための一時記憶として使用さ
れる4つのRAMチップからなる。
各レジスタ・ファイルに対するアドレスは2つの6ビツ
ト・アドレス・レジスタ(それぞれRF I A74と
RF2A76)により与えられる。
各アドレス・レジスタのビット0乃至3は関連するレジ
スタ・ファイル内の場所のアドレスを提供し、下位のビ
ットはレジスタ・ファイルの出力側のバイトおよび桁選
択を行う。
これ等のアドレス・レジスタは共に1゜2、又は4(即
ち、桁、バイト又はワード)により増減分することがで
きる。
第5図に示す如く、各レジスタファイルからの出力は、
ゾーンと桁の情報間を選定する2つのマルチプレクサ(
即ち、各レジスタファイルに対する1対のマルチプレク
サ)の入力側に与えられる。
この選択は、関連するアドレス・レジスタのビット4お
よび5により行われる。
ビット4はピッ)O乃至3又は8乃至11(レジスタ・
ファイルから)がそれぞれ2対lマルチプレクサ78又
は80の出力に対し与えられ、ビット5はそれぞれ4対
1マルチプレクサ82.84の出力側に送出される桁を
構成するレジスタファイル・ビットを選択する。
種々のレジスタおよびマルチプレクサが、点線で示され
た例えば制御回線71.73,75゜77を含む種々の
制御回線により制御されるように接続されている。
第3の2対/マルチプレクサ86は、その時の積カウン
タ(CPRC)88の内容又はRFIからの桁のどちら
をAラッチ90に送るか選択するために用いられる。
このマルチプレクサはALMRレジスタ92により制御
される。
ALU人カシカラッチラッチ90およびBラッチ106
は、ALU入カフカマルチプレクサゾーンおよび桁の情
報を受取り、書込み操作の間レジスタ・ファイルに対し
てデータをラッチする。
このラッチ回路からの出力はALUの左右に対してそれ
ぞれゾーンおよび桁の情報を送る。
現時績カウンタ(CPRC)は、10通乗除算法の実施
中に主として使用される4ビツトの10進可逆カウンタ
である。
乗数レジスタ(MIER)94は4ビツトの2進可逆カ
ウンタで、主としてIO進乗除法の間に使用される。
ALUモード制御レジスタ(ALMR)92は、全ての
ALU操作を制御するために使用される6ビツト制御レ
ジスタである。
レジスタ・ファイル1アドレス・レジスタ(RFIA)
74は2つの機能、即ち(1)レジスタ・ファイル17
0に対するアドレスを与える(2)レジスタ・ファイル
1と関連する3つのALU入カフカマルチプレクサの2
つを制御する機能を行う6ビツトのアドレス・レジスタ
である。
レジスタ・ファイル2アドレス・レジスタ(RF2A7
6は6ビツトのアドレス・レジスタで、2つの機能、即
ち(1)レジスタ・ファイル272に対するアドレスを
与える、(2)レジスタ・ファイル2と関連するALU
入カフカマルチプレクサ御する機能を行う。
演算論理装置(ALU)100の全ての操作は10進又
は2進のいずれかのモードで行われる。
10進モードは10進数の情報で操作を行う時に使用さ
れ、2進モードはバイト(英字)操作に対して使用され
る。
両操作モードは又、6増しくX56)訂正ロジック10
2およびキャリー・フリップフロップに対する入力を制
御する。
10進モードにおいては、キャリー・フリップフロップ
はALUの下位の4ビツトからのキャリーでロードされ
、2進モードにおいては以降の算術演算のためALUの
8ビツトからのキャリーでロードされる。
このキャリー・フリップフロップは、キャリーが次の演
算のため伝播されねばならない時マイクロプログラム制
御下でロードされる。
更に、キャリー・フリップフロップはMSRレジスタか
らロードすることができ、マイクロプログラム制御下で
セット又はリセットされる。
XS6訂正ロジツク102は1つの32ビツト×8ビツ
トのFROMチップおよび関連する制御ロジックを有し
、ALUからの桁出力からの上位の3ビツトを訂正する
もし、(1)ALUが10進加算モードにあって10進
キヤリーが生ずるか、ALUlooの桁出力が9より大
きければ、又(2)10進減算モードにあって借り(ボ
ロー)が生ずれば(即ち、加算器の術部からのキャリー
が存在しない)、XS6訂正が行われる。
FROMチップは5つのアドレス回線を有する。
これ等回線の内の3つはALUの桁出力からの3つの上
位ビットからなるが、他の2つのアドレス回線は実施中
の演算タイプ(即ち加算訂正、減算訂正、又は非訂正)
を表示する。
FROMチップの符号化内容は、桁の3つの上位の訂正
ビット、訂正された10進キヤリー、および2以下の桁
条件である。
ALU出力マルチプレクサ104は、内部バスに対して
送るために加算器出力の上位4ビツトと、訂正された1
0進ゾーン・ビットの間で選択する。
ゾーン・ビットの形態(10進モードに対する)は、
ASCIIデータとBBCDICデータのどちらが使用
中であるかに依存する(即ち、もしASCIIデータを
使用中であればゾーン・ビットが3の値に強制され、も
しEBCDICデータが使用中であればゾーン・ビット
はFの値に強制される)。
RALU制御は、レジスタRFIA74と、RF2A7
6と、ALMR92と、種々のRALU関連マイクロ命
令からなる。
更に、ALUキャリー・フリップフロップはマイクロプ
ログラム制御下におかれる。
キャリー・フリップフロップは各マイクロ命令によって
(必要に応じ)プリクリア又はプリセットでき、(1)
10進演算のための4ビツトの10進キヤリー、(2)
2進演算のための8ビツトの2進キヤリー、又は(3)
変換命令の実行中MSRレジスタ22のビット0、から
ロードされ得る。
全てのALU操作を制御するALMRレジスタ92は制
御ストアビット2乃至7からロードされる。
ビット0はALUが10進モードと2進モードのいずれ
で操作するか、即ちALUからのキャリー・アウトがビ
ット4(10進キヤリー)とビット0(2進キヤリー)
のどちらからであるかを規定する。
ビット0も又、10進演算のためのALU訂正(XS6
)とALU出力マルチプレクサ104の両者を制御し、
マルチプレクサはALUの上位の4ビツトか強制ゾーン
・ビットのいずれかが内部バス14に対しゲートされる
ビット1,2・および3はALU内の諸操作の制御に使
用される。
ビット4は、ゾーン・ビットが3又はFの値のどちらに
強制されるかを規定する(即ち、ASCIIデータにつ
いては、ゾーン・ビットが3の値に強制され、EBCD
ICデータについてはゾーン・ビットはFの値に強制さ
れる)。
ビット5は、レジスタ・ファイル1からの選択された数
字又はその時の積カウンタ88の内容のいずれがALU
の左側と関連するラッチ90にゲートされるかを規定す
る。
レジスタRFIAは、レジスタファイル1および関連す
るALU入カフカマルチプレクサするアドレスと制御を
与える。
レジスタRFZAジスタ・ファイル2と関連するALU
人カフカマルチプレクサするアドレスと制御を与える。
制御ファイル16は次の2つのセクション、即ち上部セ
クション(ビット0乃至7)および下部セクション(ビ
ット0乃至23)に分割される。
制御ファイルの各セクションは下記の如くロードできる
即ち、内部バスからのRFC下部セクション(ビット0
乃至15)、内部バスからのRFC上部(ビット0乃至
7)、内部バスからのRFC下部(ビット0乃至15)
、およびバス・アドレス・レジスタ18からのRFC上
部セクション(ビット0乃至7)である。
前記操作の構成に用いられる機能はこれ等操作と関連す
るアドレスを有し、このアドレスはロードされる。
RPC16の場所と対応する。
このアドレスは、機能コード・レジスタ28又は制御ス
トア10のいずれかから生じる。
このように、RFCアドレスは、CPU11により送ら
れる、即ち機能コードにより表示される如きデータ・タ
イプと直接関連させられる。
前述の如く、第3図は商業命令のプロセサの主要ブロッ
ク図を示す。
要素2L16,31゜22.20および18は、一体に
アドレス制御装置と呼ばれ、本文ではACUとして参照
される。
CIP命令は、直接CPU11とCIPl 3により実
行される。
CPUは、基本的には主記憶装置17から命令を抽出し
、これ等命令がCI、P命令であるかを決定し、この命
令の実行のための全情報を発生し、CIPが命令を実行
できるようにこの情報をCIPに対し転送する。
このように、基本的にはCPUがこの命令を抽出し、ア
ドレスを処理し、命令関連情報の全てを実行される命令
のためCIPに対し送出する。
一般に、CIP命令は、OPコードと、データを規定す
るデータ・ディスクリブタと、データがおかれる主記憶
装置におけるアドレスを含んでいる。
このような命令は、更に、第2のオペランドと関連する
別のデータ・ディスクリブタを含み、もし必要ならば、
第3のオペランドと関連する第3のデータ・ディスクリ
ブタを含む。
CIP命令は最大3つ迄のオペランドを持つことができ
、各オペランドは、オペランドを指示し、第2にこのオ
ペランドにおけるデータのタイプを規定するデータ・デ
ィスクリブタを、第3にもしデータ・ディスクリブタに
より指定されるならばCPUレジスタに配され得るオペ
ランドの長さを指示するメモリーにおける有効アドレス
を単位とする関連する3単位迄の情報を有し得る。
命令に対する情報の単位の数は5と10の間で変化でき
、タスクワードと呼ばれる命令OPワードを含む。
CIPは、この情報の記憶能力およびそれがどんなタイ
プの情報であるか、CPUから送られる情報がデータ・
ディスクリブタ又はアドレスのいずれであるかの記憶能
力、およびCIPによるCIP命令の実行中のこの情報
の使用の能力を有することも要する。
CPUから受取るアドレスはCIPによって使用されて
主記憶装置をアドレス指定し、命令に対するオペランド
を取出す。
この目的のため、CIPは主記憶装置におけるアドレス
の増分又は主記憶装置におけるこのアドレスの減分のい
ずれかの能力を有する必要がある。
情報のデータ・ディスクリブタ部分はCIPによって使
用されてCIPが操作中のデータのタイプを決定する。
もしデータディスクリブタに含まれなければ、この長さ
はCPUレジスタの内容から受取られ、操作されるべき
フィールドの長さを示すためCIPによって使用される
受取られたタスクワードは、実行される命令を表示する
CPUからの情報のローディングの間、もしCIPがど
んな情報であったか、データ・ディスクリブタか、有効
アドレスか、あるいはレジスタの内容かの決定を欲する
ならば、情報のタイプのテストのためCIP時間を更に
必要とし、この情報を記憶装置内の予め定めた記憶場所
にロードする。
CPUによりCIPに対して送られる情報のタイプに対
するこのテストがCIP命令の実行時間を不利にするこ
とになる。
従って、CPUからの情報がどんな情報であるかにかか
わらずCPUから入るまま、CIPがこの情報を動的に
ロードし、又これを命令の実行プロセスを行う実行ファ
ームウェアにより後で使用されるCIP内の記憶素子に
おける予め定めた場所にロードする如きシステムが望ま
しい。
CPUからシステム・バス上に情報が送出される時情報
をローディングし、これをCIPのファームウェアによ
り後で使用するために記憶し、又オペランドがその実行
のため主記憶装置から取出される時記憶アドレスを増減
分することができるこの機能的要件は、CIPのアドレ
ス制御装置(ACU)によって達成される。
アドレス制御装置は、制御ファイル(RFC)、バス・
アドレス・レジスタ(MAR)、シフト・レジスタ(M
SR)、並びに記憶アドレス加算器20からなる。
これも又、RFCI6に対する入力として内部バス14
を介して、機能コード・レジスタ(BFCR)28およ
び入力アドレス・バンク・レジスタ(INAD)30か
らの入力を使用する。
これ等装置の基本的説明については既に行った。
第6図はアドレス制御装置の更に詳細なブロック図であ
る。
制御ファイルRFC16は、CPUから入る情報のため
の記憶素子として使用される。
このファイルは、内部バスIBI 4からその入力を得
、16ビツトは直接RFCのビット8乃至23に行き、
RFCのビット0・乃至7は、マルチプレクサ21を介
して、内部バスのビット0乃至7Jはバス・アドレス・
レジスタMAR1Bのビット0乃至7のいずれかからロ
ードされる。
RFCと関連しているのはそのアドレスマルチプレクサ
RPCA31で、これはその入力として制御ストア・ワ
ード(RD)から直接のデータ、又は機能コード・レジ
スタBFCR2Bの機能を使用する。
機能コード・レジスタ(BFCR)2Bは6ビツト巾で
、1つの機能コードに対してアドレス・ビット16乃至
23をモニターするよう構成されている。
この機能コード・データは、応答ロジック62がCIP
指令を確認する時、信号BMYACKを介してBFCR
レジスタにストローブされる。
この機能コードは、CIPに対し転送されるデータタイ
プを表示し、又指令を表示する。
入力アドレス・レジスタ30は8ビツトのレジスタで、
アドレス(BSADOO乃至BSADO7)からの上位
8ビツトを記憶する。
このデータは、応答ロジックがCIP指令を確認する時
、信号BMYACKを経てINADレジスタ30にスト
ローブされる。
INADレジスタ30の出力はCIP内で使用するため
内部バス上で使用可能である。
CPUは、有効アドレスがCIPに対して送られる時、
24ビツト・アドレスの上位8ビツトを送出する(デー
タ・バス上で下位16ビツトを送出する)。
RFCAアドレス・マルチプレクサ31の出力側の4ビ
ツトは、制御ファイルRFCI S内の16の場所のア
ドレス指定に使用される。
この制御ファイルと関連するのは書込み制御ロジック6
7で、これは制御ファイルRFCのローディングを制御
する2本の制御回線、即ち、上位8ビツトのビットO乃
至1のローディングを制御する一回線と、下位16ビツ
ト即ちビット8乃至23のローディングを制御する他回
線を有する。
RFC制御ファイルの出力は、24ビツト巾であるRF
Cラッチ69に行く。
これは、これ以後の使用のためRFCから続出される情
報をラッチする。
バス・アドレス・レジスタ18とも呼ばれる記憶アドレ
ス・レジスタ(MAR)はその入力をRFCラッチ69
から受取る。
MARレジスタ18は図示の如く2つの部分、即ち、一
方はビット0乃至15、他方はビット16乃至23に分
割される。
ビット0乃至15はRFCラッチのビット0乃至15か
ら直接ロードされるが、ビット16乃至23はRFCラ
ッチのビット16乃至23、又は記憶アドレスの加算器
(MAR)20の出力からロードされる。
MAR加算器20は、その入力として、MARレジスタ
18の下位ビット即ちビット16乃至23と、シフト・
レジスタ(MSR)22の8ビツトを有する。
シフト・レジスタ(MSR)22は、内部バス14のビ
ット0乃至1からロードできる。
MAR加算器20のキャリー出力は、排他的NORゲー
ト65を経て加算演算が実施中であることを示す機能即
ち信号と接続される。
これは、MARレジスタ18の上位16゛ビツトの増減
分動作を制御する出力信号を回線63上に生じる。
第6図の異なる要素については以下に詳細に論述する。
第6図に示す如く、制御ファイルは2つのセクション即
ち上位セクション(ビット0乃至7)および下位セクシ
ョン(ビット8乃至23)に分割される。
制御ファイルの各セクションは下記の如くロードするこ
とができる。
即ち、内部バスからのRFC下位セクション(ビット0
乃至15)、内部バスからのRFC上位セク?ヨン(ビ
ット0乃至7)、および内部バスからのRFC下位セク
ション(ビット0乃至15)、およびシステム・バス・
アドレス・レジスタからのRFC上位セクジョン(ビッ
ト0乃至7)である。
前記各操作の構成に使用される機能はこれ等操作と関連
しロードされるRFC場所と対応する1つのアドレスを
有する。
このアドレスは、機能コード・レジスタ28又は制御ス
トアから生じる。
このように、RFCアドレスは、機能コードにより示さ
れる如<CPUにより送られるデータのタイプと直接関
連する。
RFCアドレスは、機能コード・レジスタ28から生じ
る時、カウンタ146を使用し、CPUから受取る情報
がデータ・ディスクリブタ1.2又は3と関連すること
を表示する。
このカウンタは、データ・ディスクリブタが1つのオペ
ランドに対して受取る最後の情報であるため、タスク・
ワード又はデータ・ディスクリブタがCPUから受取ら
れる時は常に増分される。
対応する情報に対して受取った機能コードは下記の如く
である。
即ち、07−タスク、09−有効アドレス(EAI 、
EA2およびEA3)、OB−レジスタ(R4,R5お
よびR6)、OF−データ・ディスクリブタ(DDl
、DD2 )、およびIF−最後のデータ・ディスクリ
ブタ(DD2 、DD3)。
ローディングの際、6ビツトの機能コード・レジスタB
FCR2BのCPUビット3および4からの情報は、カ
ウンタの2ビツト(バンク−カウント)と共にRPC1
6のアドレス指定に使用される。
最初、このバンク・カウンタが零にクリアされる。
このように、タスクが受取られる時、アドレスは001
i(a)である。
この2つの零はバンク・カウントと対応し、2つの1は
BFCR2Bのビット3と4に対応する。
タスク・ワードが受取られた後、このバンク・カウント
は01に増分され、FAIがCPUによって送られると
RFCアドレスが0100となる。
下位の2つの零は、FAIに対する09の機能コードに
対するBFCRのビット3および4と対応する。
RFCの内部構成は第7図に示される。
第7図は、制御ファイルの内部構成を示す。
ULO、ULI、およびUL2は16ビツトのユーティ
リティ場所である。
WLO,WLIおよびW L 2:は24ビツトの作業
場所である。
BULはRFCの上位半分における8ビツトの作業場所
である。
前記場所の各々はCIPファームウェアによる作業場所
として使用できる。
EDTO乃至BDT7は編集命令の間使用され、編集テ
ーブル・エントリ1乃至8を含む。
これ等の場所も又他の命令のための8ビツト作業場所と
して使用できる。
CMはCIPモード・レジスタ(M3とも呼ばれる)で
ある。
TASKはCPUから受取るタスク(命令)と対応する
DDI、DD2およびDD3は、CPUからのデータ・
ディスクリブタ1,2および3を反映する16ビツトの
記憶場所である。
EAl 、EA2、およびEA3は、3つのオペランド
の有効アドレスを反映する24ビツトの記憶場所である
R4,R5およびR6は、CPUの対応するレジスタの
内容を反映する16ビツトの記憶場所である。
バス・アドレス・レジスタ18は、バス読出しサイクル
の間バス19上に送られるための24ビツトのアドレス
を提供する。
バス・アドレス・レジスタ18に対する詳細なロジック
は第8図に示される。
このロジックは、4つの4ビツトの2進可逆カウンタ5
03乃至506と、2つのマルチプレクサ・レジスタ・
チップ500および501からなり、これ等は第8図に
示す如く24ビツトのアドレスを形成する。
MARと関連するのは、記憶アドレス加算器20と呼ば
れる8ビツトの2進加算器と、この加算器が2551゜
のカウント迄MARを増分し、2561oのカウント迄
減分することを許容する。
4つの4ビツトの2進カウンタ503乃至506(ビッ
ト0乃至15)は、(1)アドレスの2つの最上位バイ
トを形成し、(2)ロード信号BMRBRFが真の時レ
ジスタ制御ファイル(RFC)からアドレス・データを
受取り、(3)可能カウント(BMRENC−)信号が
真であり、アドレス加算器20からのキャリーがある(
BMRENl−が真である)時、加算又は減算において
増分又は減分される。
これ等のカウンタは、加算(BMRADD〜)信号が真
の時は1だけ増分され、減算(BMR8UB−)信号が
真の時1だけ減分される。
この2つの4ビツト・マルチプレクサ500および50
1は、アドレスの最下位バイトを形成し、ロード信号B
MRLDL−を介するクロック入力回線の負への変化の
間、RFC(BMRFRF−が真)か加算器(BMRF
RF−が偽)のいずれかからデータを受取る。
8ビツトのアドレス加算器20は又、転換命令の実行中
データの1バイトを基底アドレスに加算するために作用
する。
転換されるバイトはMSR22にロードされる。
MSRレジスタ22のシフト能力は、2進数から10進
数への変換命令の実行のため使用できる。
ACUの制御は、ファームウェア(RO8)制御ワード
のビット24乃至31によって行われる。
このフィールドのコーディングは第9図に示される。
MAR/MSRフィールド又はRFCWRTフィールド
(RFCWRT)は、ファームウェア・ワードのビット
24乃至27からなり、MARレジスタ、MSRレジス
タ、およびアドレス加算ハードウェアの制御に使用され
る。
このフィールドにより与えられる特定の制御は、(1)
MAR又はMSRレジスタのローディング、(2)MA
RおよびMSHの加算又は減算、(3)MSRレジスタ
のシフト、(4)制御ファイルC(RFC)16のロー
ディングである。
RFCADフィールドはファームウェア・ワードのビッ
ト28乃至31からなり、1つの例外を除けば、全ての
読出しおよび書込み操作のため制御ファイル(RFC)
を直接アドレス指定するために使用される。
書込み操作と関連するデータがシステム・バス19から
生じる時、RFCアドレスはCPUから受取る指令の機
能コード部分によって制御される。
MARおよびMSRレジスタに関するマイクロ命令は下
記の如くである。
即ち、(1)MRADD:MAR(ビット16乃至23
)とMSR(ビット0乃至7)間の加算を行いその結果
をMAR(ビット16乃至23)に送る。
もしMAR(ビット16乃至23)とMSR(ビット0
乃至7)の和が255より大きければ、MAR(ビット
0乃至15)を増分する。
(2)MR8UB:MAR(ビット16乃至23)とM
SR(ビット0乃至7)間の減算を行い、その結果はM
AR(ビット16乃至23)に送られ、もしMAR(ビ
ット16乃至23)とMSR(ビット0乃至7)の減算
の結果が零より小であれば、MAR(ビット0乃至15
)を1だけ減分する(MARは2つの補数を含まねばな
らない)。
(3)MRFRF:レジスタ・ファイルCからのバス・
アドレス・レジスタのロード(MARは制御ストア・ワ
ードのビット28乃至31により指定されるレジスタ・
ファイルCの場所からロードされる)。
(4)MSR8R:最上位ビットへの塔充填によるMS
Rレジスタの1ビツト右シフト。
(5)MSR8L:最下位ビットへの塔充填によるMS
Rレジスタの1ビツト左シフト。
(6)MSRLD:内部バスのビット0乃至7からのM
SR(ビット0乃至7)のロード。
レジスタ・ファイルCに関するマイクロ命令は下記の如
くである。
即ち、(1)CFMR:MARレジスタからのレジスタ
・ファイルCのロード。
(2)CUFBX:入力アドレス・レジスタからのレジ
スタ・ファイルC(上位8ビツト)のロード。
(3)CLFBX:入力データ・レジスタからのレジス
タ・ファイルC(下位16ビツト)のロード。
(4)CLFBI : 内部バスからのレジスタ・ファ
イルCのロード(下位16ビツト)。
(5)内部バスからのレジスタ・ファイルC(上位8ビ
ツト)のロード。
アドレスがBFCHの内容によって制御される間、CU
FBXおよびCLFBXに対しデータが内部バスを介し
てロードされることに注目すべきである。
第10図は、第8図に示す如きMAR18と、シフト・
レジスタ22と、バス加算器20を制御するための制御
ロジックを示す。
第9図に示す如く、ビット24,25,26および27
を用いて要素18,20および22を制御する異なる機
能を発生する。
これ等のビット24.25.26および27は第10図
でブロック601に示される。
ビット24と25が零である時、ビット26と27はシ
フト・レジスタ22を制御するため直接使用される。
第10図において、ビット24および25がOFFであ
る時即ち2進数零である時、ANDゲート603の出力
は真であり(2進数1これはビットRD24と25が零
であることを表示する。
ビット24と25がOFFであり、ビット26と27が
2つのANDゲート625および627を通過する時、
2つの機能BMSCTO+およびBMSCT1+が生成
される。
これ等2つの機能はシフト・レジスタ22の制御のため
直接使用される。
ビット26と27がそれぞれOOの時、シフト・レジス
タにおいては、何の動作も行われない。
これが01の時、右シフト指令が生じ、10の時左シフ
トが生じ、これ等2ビツトが11の時はMSR22にお
けるロード機能を表示する。
これが内部バス14からの場合、ビット0乃至7が直接
シフト・レジスタ22にロードされる。
制御ストアのビット24がOFFでありビット25がO
N、即ち01であれば、これはバス・アドレス・レジス
タ18および加算器20の制御のために使用される。
ビット24がOFFであるこの場合、インバータ629
の出力がONとなり、ビット25がONとなるとNAN
Dゲート631の出力をローに強制する。
このように、入力RD24MA−およびRD25MA+
がONであれば、NANDゲ゛−1−631からの出力
をローの状態に強制する。
MAR選択がローに即ちOFF状態になることを許容す
るこの信号ENMAR8−は、デコーダ633が制御ス
トアのビット26と27を復号すること、および0,1
,2,3の重さを有する4つの出力を発生することを可
能にする。
この場合、RD26およびRD27が共にOFF、即ち
共に零である時、デコーダ633の零出力はローとなる
この出力はこのロジックによっては使用されず、本文に
おいては説明する必要がない。
ビット26がOFFの時、即ち零の時、又ビット27が
ON即ち1の時は、デコーダ633の選択により機能B
MRADD−がローになること、即ちビット26と27
の1の復号であることを可能にする。
この機能は、バス・アドレス加算器20が加算モードに
あることを示す。
機能BMRADD−インバータ635に送られてBMR
ADD+信号を生じる。
この信号は、排他的ORゲート637を介して、加算器
20のキャリー・アウトである信号BADRCR十で排
他的NOHされ、増分/減分機能である機能BMREN
1−を発生する。
この信号BMREN1−は、MARレジスタ18の4つ
の増/減分カウンタ503,504,505゜506の
増減分動作を制御する。
排他的NORゲート637の出力である信号BMREN
1−がMAR18の4つのカウンタの下位カウンタ50
6に接続されることが判る。
機能BMRADD−は又ORゲート639を経て、カウ
ンタ503乃至506がカウント・モードにあることを
可能にする信号である信号BMRENC−を発生する。
デコーダ633の他の出力は、ビット26が真即ち1で
あり、ビット27がOFFでありこれがデコーダ633
の出力2の信号BMR8UB−ONをローにさせる時発
生され、これによりバス・アドレス加算器20が減算モ
ードにあることを表示する。
この信号も又ORゲート639に送られて信号BMRE
NC−をローにさせ、カウンタにカウントさせる。
ゲート639が実際に反転ORゲートであり、このため
実際にローになる入力信号のどれか1つが出力BMRE
NC−をローに強制するようなANDゲートであること
に注目すべきである。
このように、加算器20が加算モードにあっても減算モ
ードにあっても、ORゲート639の出力はローとなっ
てカウンタ503乃至506を加算器20のキャリー・
アウトに従って、又加算モードが減算モードであるかに
よって増進又は減算させる。
従って、もし加算器20が加算モード迄セットされると
、加算モードおよびキャリーが存在することのためゲ゛
−1637の出力をハイに強制し、これによりカウンタ
503乃至506を1だけ増進するよう強制する。
同様に、ローである排他的NORゲート637の入力に
おける信号BRMRADD十により表示されることにな
る減算モードにおいては、実際には2進加算器20から
の借り(ボロー)であるキャリーが存在しなければ、ゲ
ート637の出力をローに強制する。
このように、減算の場合においては、ローであるゲート
637の両方の入力は又ゲート637の出力をローにさ
せ、これによりカウンタ503乃至506を減算させて
減算モードとする。
従って、カウンタ503乃至506によりMARにおい
てカウントさせるため、両出力BMRBNC−およびB
MRENl−は共にOFFの状態でなければならず、こ
のモードが加算であるか減算であるかの事実がカウンタ
の増進減算を生じさせる。
ゲート639の出力BMRENC−も又ORゲート64
1に接続される。
BMRENC−がローになると、ORゲ゛−1641の
出力(BMRLEN−)も又ローに強制する。
信号BMRLBN−はマルチプレクサ・レジスタ500
と501のロード入力として使用される。
デコーダ633の第4の出力BMRFRFは、レジスタ
・ファイルCからのMARロードを表示する。
これは両方のピッ1−RD26とRD27がハイの時即
ち1の時付勢される。
この場合、デコーダ633の出力3はローとなり、レジ
スタ・ファイルCに接続されるRFCC69の出力から
直接のカウンタ503乃至506のローディングを可能
にする。
更に、信号BMRFRF−が零の状態にある時、これも
又ORゲート641の出力をローにさせ、これによりC
IPのクロック信号でNORされた結果としてNORゲ
ート643を介してマルチプレクサのレジスタ500と
501のクロック入力を可能にする。
NORゲート643の両入力がローの時はその出力はハ
イとなり、これによりマルチプレクサ・レジスタ500
および501に対するデータのローディングを強制する
これ等のマルチプレクサ・レジスタに対しロードされる
べきデータの選択は、デコーダ633の出力3である機
能BMRFRF−によって制御される。
このように、BMRFRF−が零の状態にある時は、マ
ルチプレクサ・レジスタ500と501にロードされる
べく選択されるレジスタ・ファイルCのラッチ69の出
力を選択する。
レジスタ・ファイルからのバスアドレス・レジスタのロ
ーディングがないと云う事実により表示される信号BM
RFRF−が1の状態にある場合においては、これがマ
ルチプレクサ・レジスタ500と501にロードされる
べき加算器20の出力を選択する。
マルチプレクサ・レジスタ500と501のローディン
グを可能にするクロックが最初ハイにならねばならず、
クロックがローの状態に切換る時、NORゲ−)643
の出力がローになり、又このようなマルチプレクサレジ
スタに関して可能化機能を実際に与えるのはこのローへ
の変換である。
次に本発明による装置の全体的動作シーケンスを説明、
する。
算術演算や10進データ(商業命令)の編集及びデータ
変換のような動作を実行することによってCIPI 3
がCPUを助けるべきことをCPU11が決定した時、
CPUはこれらの動作のための1つの命令とオペランド
をCIPへ送る。
こうして送られた命令はそれに関する3個までのオペラ
ンドを有する。
命令は1つのオペレーション・コードropcodeJ
を含み、これは1つの「タスク」とみなされる。
各オペランドは、メモリ17から得られるべきデータの
長さを決定する3つの項目、即ちデータ・デスクリプタ
(DDi)、実効アドレス(EAi)及びCPU内レジ
スタ(Ri )への照会から戒る。
(ここでDDi 、EAi 、RiのFilは番号を示
す。
)従って、CIPがCPUのために実行するべき各命令
のために10単位までのデータが転送され得る。
これらの10単位は、以下の順序で送受信される。
即ち、「タスクワード」、EAlとR4とDDIを含む
第1オペランド、Bi2とR5とDD2を含む第2オペ
ランド、そしてBi2とR6とDD3を含む第3オペラ
ンドである。
データの各単位が中央プロセッサによりシステムバス1
9上へ送られると同時に対応する機能コードがCIPへ
転送されている情報単位のタイプを示すために転送され
る。
この機能コードは受信されてBFCRレジスタに記憶さ
れ、データとアドレスは受信されてレジスタ26と30
に記憶される。
これらのデータ単位は、ここで制御ファイル16(RF
C)に書き込まれねばならない。
この時、データ単位が書き込まれるべき特定のRFCロ
ケーションを指定するRFCアドレスは、バンクカウン
ト(カウンタ1)のカウントによって補われる、BFC
Rレジヌタ内に保持された対応する機能コードによって
制御される。
特にBFCRレジスタ内の機能コードの6ビツト(ビッ
ト0−5)のビット3と4は4ビツトRFCアドレスの
下位2ビツトとして用いられ、カウントの2ビツトはR
FCアドレスの上位2ビツトとして用いられる。
例えば、カウントが10進の2(ビット内容は10)を
表わし、機能コードが10進の09(ビット内容は00
1001)であるとすると、カウントのビット10はア
ドレスの上位2ビツトを形成し、機能コードのビット3
と4(00)はアドレスの下位2ビツトを形成し、これ
によって受信されたデータ単位はアドレスが1000で
あるRFCロケーションへ記憶される。
バンクカウントはタスクワードが受取られる前に零(0
0)にクリアされる。
タスクワードの受信後及び各データデスクリプタ(オペ
ランドの最終要素)の受信後、バンクカウントは1増加
される。
データ単位のタイプに対応する機能コードは以下の通り
である。
タスク・ワード 07 (000111)EAi
09 (001001)Ri
OB (001011)DDi OF
(001111)従って、命令と3つの引き続く
オペランドがCIPによって受取られると同時にRFC
内へ個個のデータ単位を記憶するためのアドレスが発生
され、これらのデータ単位をRFCの対応する口ケーシ
ョンヘ以下の様に書き込むために用いられる。
こうして、種々のデータ単位は、各データ単位に対応す
る夫々の機能コードによって表わされたアドレスのRF
Cロケーション内へ書き込まれる。
RFCに1度記憶されたこれらのデータ単位の読み出し
は、マイクロプログラムによって実行され、ロケーショ
ンのアドレスはマイクロ命令に予め記憶されたRFCア
ドレス(RFCAD)によって与えられる(第9図)。
以上に説明したような構成の制御ファイル装置によって
、本発明のシステムは、主データ・プロセサから補助(
従)データ・プロセサへの効率的な命令及びオペランド
の転送、補助データ・プロセサによる主記憶装置への独
立的アクセスが可能になり、従って商業的命令の実行の
能率を増大させ得たのである。
【図面の簡単な説明】 第1図は本発明を実施するシステムの全形態を示す略図
、第2図は本発明のプロセサの操作シーケンスを示す状
態図、第3図は本発明のプロセサを示すブロック図、第
4図は本発明のプロセサのレジスタの1つの内容を示す
図、第5図は本発明の演算装置を示す詳細なブロック図
、第6図は本発明のプロセサのアドレス制御装置の詳細
なブロック図、第7図は本発明のプロセサの制御ファイ
ルの内部構成を示す図、第8図は本発明のプロセサのア
ドレス・レジスタおよび加算回路を示す詳細図、第9図
は本発明のプロセサのファームウェアの一部を示す図、
第10図は本発明のプロセサのアドレス・レジスタおよ
び加算回路に対する制御ロジックを示す図である。 11・・・・・・中央処理装置(CPU)、13・・・
・・・商業命令プロセサ(CIP)、15・・・・・・
コントローラ、17・・・・・・メモリー、19・・・
・・・システム・バス、22・・・・・・シフト・レジ
スタ(MSR)、24・・・・・・バス出力データ・レ
ジスタ(OUR)、26・・・・・・バス入力データ・
レジスタ(INR)、28・・・・・・機能コード・レ
ジスタ(BFCR)、30・・・・・・入力加算器バン
ク(I NAD )、34・・・・・・分析レジスタ(
AR)、36・・・・・・マイクロプログラム可能スイ
ッチング・レジスタ(MPSR)、38・・・・・・R
OSデータ・レジスタ、40・・・・・・戻りアドレス
・レジスタ(R8RA)、42・・・・・・次のアドレ
ス発生ロジック、44・・・・・・カウンタ、52・・
・・・・オーバーパンチ復号/符号化ロジック、54・
・・・・・テストロシック、56・・・・・・パリティ
検査ロジック、58・・・・・・パリティ発生ロジック
、60・・・・・・バス要求ロジック、62・・・・・
・バス応答ロジック。

Claims (1)

    【特許請求の範囲】
  1. 1.A)第1のデータ・プロセサ11と、B)第2のデ
    ータ・プロセサ13と、 C)前記第2のデータ・プロセサにより前記第1のデー
    タ・プロセサからデータおよび命令を受取るため前記第
    1と第2のデータ・プロセサを接続する装置19と、 D)情報を記憶する主記憶装置17とを設け、E)前記
    第2データ・プロセサが、 1、複数の指令を記憶し前記第2データ・プロセサの作
    用を制御するよう作用する制御ストア装置10と、 2、前記第2のプロセサにより受取られる前記命令に含
    まれる機能コードを記憶する装置28と、 3、前記第1のデータ・プロセサから受取られる前記デ
    ータを記憶するための複数の記憶場所を有する制御ファ
    イル16と、 4、前記制御ストアからの前記指令又は前記記憶装置に
    より前記第1のデータ・プロセサから受取られる前記機
    能コードのいずれかで前記制御ファイルにおける記憶場
    所をアドレス指定する装置31と、 5、前記アドレス指定装置によりアドレス指定される記
    憶場所の内容で前記主記憶装置をアドレス指定する装置
    18とを有することを特徴とするデータ処理システム。 2 A)第1のデータ・プロセサ11と、B)第2の
    データ・プロセサ13と、 C)前記第1のデータ・プロセサから前記第2のデータ
    ・プロセサへのデータ項目および命令の転送のため前記
    第1と第2のデータ・プロセサを接続する装置19とを
    有し、前記第1のデータ・プロセサは転送中のデータ項
    目又は命令の種類を表わす機能コードを前記データ項目
    及び命令と共に送信し、更に、 D)前記第1と第2のデータ・プロセサに接続された、
    情報を記憶するための主記憶装置17とから成るデータ
    処理システムにおいて、 E)前記第2データ・プロセサが、 1、複数の制御ワードを記憶し前記第2データ・プロセ
    サの作用を制御するよう作用する制御ストア装置10と
    、 2、前記第2のデータ・プロセサにより受取られる前記
    データ項目及び命令に関連する機能コードを記憶する装
    置28と、 3、前記第1のデータ・プロセサから受取られる前記デ
    ータ項目及び命令を記憶するための複数のアドレス可能
    な記憶場所から成る制御ファイル16と、 4、前記制御ストアからの制御ワードの1部又は前記記
    憶装置中に保持された機能コードのいずれかをアドレス
    用に利用して前記制御ファイルにおける記憶場所をアド
    レス指定する装置31と、から成ることを特徴とするデ
    ータ処理システム。 3 特許請求の範囲第2項記載のシステムであって、前
    記第2データ・プロセサ内の前記アドレス指定装置が、
    機能コードをアドレス用に利用する時、機能コードが第
    2データ・プロセサによって受取られるのに応答して増
    分されるカウンタ46により与えられるカウントと前記
    機能コードを組み合わせることを特徴とするデータ処理
    システム。
JP54173933A 1979-01-03 1979-12-28 デ−タ処理システム用制御ファイル装置 Expired JPS5838819B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/000,733 US4258420A (en) 1979-01-03 1979-01-03 Control file apparatus for a data processing system

Publications (2)

Publication Number Publication Date
JPS5592965A JPS5592965A (en) 1980-07-14
JPS5838819B2 true JPS5838819B2 (ja) 1983-08-25

Family

ID=21692780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54173933A Expired JPS5838819B2 (ja) 1979-01-03 1979-12-28 デ−タ処理システム用制御ファイル装置

Country Status (7)

Country Link
US (1) US4258420A (ja)
JP (1) JPS5838819B2 (ja)
AU (1) AU531381B2 (ja)
CA (1) CA1127772A (ja)
DE (1) DE2952163C2 (ja)
FR (1) FR2445992A1 (ja)
GB (1) GB2039109B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840214B2 (ja) 1979-06-26 1983-09-03 株式会社東芝 計算機システム
DE3176654D1 (en) * 1980-12-24 1988-03-24 Honeywell Inf Systems Data processing system
DE3486464D1 (de) * 1983-04-18 1998-02-19 Motorola Inc Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
GB2223891B (en) * 1988-09-26 1992-12-02 Melville Trevor Meyers Improved mounting box for socket
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
JP4742735B2 (ja) * 2004-09-24 2011-08-10 セイコーエプソン株式会社 液体噴射装置
US20150261535A1 (en) * 2014-03-11 2015-09-17 Cavium, Inc. Method and apparatus for low latency exchange of data between a processor and coprocessor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49114845A (ja) * 1973-02-28 1974-11-01

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US4168523A (en) * 1975-11-07 1979-09-18 Ncr Corporation Data processor utilizing a two level microaddressing controller
US4104720A (en) * 1976-11-29 1978-08-01 Data General Corporation CPU/Parallel processor interface with microcode extension
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49114845A (ja) * 1973-02-28 1974-11-01

Also Published As

Publication number Publication date
DE2952163C2 (de) 1985-09-05
AU531381B2 (en) 1983-08-18
AU5424879A (en) 1980-07-10
DE2952163A1 (de) 1980-07-17
GB2039109A (en) 1980-07-30
FR2445992A1 (fr) 1980-08-01
CA1127772A (en) 1982-07-13
US4258420A (en) 1981-03-24
GB2039109B (en) 1983-05-11
JPS5592965A (en) 1980-07-14
FR2445992B1 (ja) 1984-10-19

Similar Documents

Publication Publication Date Title
US4367524A (en) Microinstruction execution unit for use in a microprocessor
US3840861A (en) Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4395758A (en) Accelerator processor for a data processing system
US4272828A (en) Arithmetic logic apparatus for a data processing system
US3585605A (en) Associative memory data processor
EP0204832B1 (en) Error detection and correction system
EP0111407B1 (en) Microprogrammed control unit for handling the intermixed occurences of microprogram branches and interrupts
US3753236A (en) Microprogrammable peripheral controller
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
EP0138419B1 (en) Central processing unit for a digital computer
EP0414811B1 (en) Microprocessor having external control store
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS60151761A (ja) 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ−
US3675214A (en) Processor servicing external devices, real and simulated
CA1181865A (en) Microprogrammed control of extended integer instructions through use of a data type field in a central processor unit
US4747044A (en) Direct execution of software on microprogrammable hardware
CA2002895C (en) Arithmetic unit
JPS5838819B2 (ja) デ−タ処理システム用制御ファイル装置
US4320454A (en) Apparatus and method for operand fetch control
US4309753A (en) Apparatus and method for next address generation in a data processing system
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4224668A (en) Control store address generation logic for a data processing system
US4384343A (en) Firmware controlled search and verify apparatus and method for a data processing system