JPH0219492B2 - - Google Patents

Info

Publication number
JPH0219492B2
JPH0219492B2 JP57209480A JP20948082A JPH0219492B2 JP H0219492 B2 JPH0219492 B2 JP H0219492B2 JP 57209480 A JP57209480 A JP 57209480A JP 20948082 A JP20948082 A JP 20948082A JP H0219492 B2 JPH0219492 B2 JP H0219492B2
Authority
JP
Japan
Prior art keywords
signals
shift
signal
bus
register
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
JP57209480A
Other languages
English (en)
Other versions
JPS58105345A (ja
Inventor
Ii Sutanrei Fuiritsupu
Ii Utsuzu Uiriamu
Ei Remei Richaado
Ii Kutsushingu Deiutsudo
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 JPS58105345A publication Critical patent/JPS58105345A/ja
Publication of JPH0219492B2 publication Critical patent/JPH0219492B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明の分野 この発明は一般にデータ処理装置システム、特
に中央処理装置におけるシフト命令の実行に関す
る。
先行技術の説明 多くの従来のデータ処理システムはフアームウ
エア制御形である中央処理装置(CPU)を含む。
さらに、CPUによつて実行される算術演算の
多くはCPUとして設計されているマイクロプロ
セツサによつて実行される。
一度に1ビツトシフトされるマイクロプロセツ
サによる桁送りのためにはかなりのフアームウエ
ア制御を有する多数のシフトサイクルが必要であ
る。
さらに、バイト操作およびツウイニングはかな
りのハードウエア量とフアームウエア制御が必要
である。
また、アドレス形成のプロセスは、桁送りのロ
ケーシヨンおよび内部CPU信号バスに関連する
バイト交換ハードウエアのために多数のフアーム
ウエアサイクルが必要である。
代表的なものとして、米国特許第4206503号明
細書「マイクロプログラムデータ処理システムに
おける多倍長アドレス形成」がある。
本発明の目的 したがつて、本発明の目的はスループツトを増
大する中央処理装置を提供することにある。
本発明の他の目的は演算命令実行中オペランド
を桁送りするための改良された装置を有する中央
処理装置を提供することにある。
本発明のさらに他の目的はアドレス準備のため
の改良された装置を有する中央処理装置を提供す
ることにある。
本発明の別の目的はバイト桁送りおよびツウイ
ニングのための改良された装置を有する中央処理
装置を提供することによる。
本発明の要約 データ処理システムはオペランドおよび命令を
格納するためのメモリサブシステムおよび命令を
実行することによつてオペランドを操作するため
中央処理装置(CPU)を含む。
CPUはCPU動作を制御するフアームウエア信
号を発生するための制御メモリと第1のランダム
アクセスメモリ(DRAM)およびRAMバス(R
バス)に加えられる信号を発生する第2のランダ
ムアクセスメモリ(BRAM)を含む。
演算装置(DALU)は第1のセレクタに加え
られる信号を発生するためにRバスおよび第2の
データバス(IBUS)から信号を受信する。
Rバス信号はまたRバス信号あるいはDALU
信号のどちらかを選択し、外部バス(Oバス)に
信号を印加する第1のセレクタに加えられる。
また、メモリサブシステムにオペランドアドレ
スを蓄積するYレジスタおよびXメモリサブシス
テムに命令アドレスを蓄積するPレジスタはOバ
スにアドレス信号を加える第2のセレクタに加え
られる信号を発生する。
書込みバス(Wバス)はオペランドをBRAM、
メモリサブシステムへの転送のため書込みデータ
レジスタ、アドレス操作のため第2の演算装置
(BALU)、に転送する。
OバスおよびWバスは0,1,2又は4ビツト
位置のどれかを左あるいは右にシフトし、シフト
されたOバス信号をWバスに転送する24のOバ
ス信号を受信する第1のシフタによつて結合され
る。
第2のシフタはQレジスタに蓄積するために16
のOバス信号を受信する。
Qレジスタからの16の出力信号は第2のシフタ
に加えられ、1,2又は4ビツト位置を左あるい
は右にシフトし、Qレジスタに戻して記憶され
る。
第1のシフタは24の8対1マルチプレクサ
(MUX19−8〜MUX19−31)を含む。
第2のシフタは16の8対1マルチプレクサ
(MUX56−16〜MUX56−31)を含む。
第1および第2のシフタは第1のシフタの
MUX19−31端を第2のシフタのMUX56
−16端に結合することによつて、第1のシフタ
のMUX19−16端をシフトエンドエフエクツ
論理によつて第2のシフタのMUX56−31端
に結合することによつて32ビツトシフタ(MUX
19−16〜MUX56−31)を形成するため
に結合される。
シフトされたビツト位置の数は8入力端子の1
つを選択するために第1および第2のシフタマル
チプレクサに加えられる選択信号を発生するシフ
ト間隔制御論理によつて発生される。
選択された特定の入力端子はシフト間隔、すな
わち0,1,2は4ビツト位置およびシフト方
向、すなわち左又は右を決定する。
オープンシフト中、シフト結果は最後のビツト
がシフトされる各ビツト位置を2進0ビツトにす
る。
例えば、4のオープン右シフトの結果、Wバス
ビツト位置16〜19においてWバス上に4つの2進
0ビツトをのせる。
循環右シフト中、第2のシフタの右端のビツト
桁送りは第1のシフタのMUX19−16端にシ
フトする。同様に、循環左シフトにおいても、第
1のシフタのMUX19−16端のビツト桁送り
は第2のシフタのMUX56−31端にシフトす
る。
循環シフトおよびオープンシフトの両方とも、
シフトエンドエフエクツ論理はビツトを第1のシ
フタのMUX19−31端と第2のシフタの
MUX56−16端間に転送する。
PあるいはYレジスタからアドレス信号を1ビ
ツト位置左にシフトするとき、第1のシフタは24
ビツトシフタとして作動する。
また、それはMUX19−8〜MUX19−1
5からのびる符号を有するMUX19−16〜
MUX19−31における16ビツトシフタとして
動作する。
第1のシフタはまた、最も左側位置に符号ビツ
トを含む24ビツトオペランドに右シフトを実行す
る。
マルチプレクサはマルチプレクサ位置の各々の
符号をシフトされた符号ビツトの左側に反復する
ために信号を含む。
さらに、第1のシフタはあるビツト位置を他の
ビツト位置にバイトシフトするため、バイトを2
重にするため、そのバイトをWバスに転送するた
め、の信号を含む。
更に、シフタはメモリサブシステムアドレスを
発生するためにベースアドレスに加えられるOバ
スからインデツクス値を受信する。
インデツクス値はアドレス指定されるオペラン
ドのタイプに依つて多数のビツト位置を第1のシ
フタによつてシフトされる。
2進1ビツト、10進4ビツトあるいは8ビツト
半ワードオペランドは第2のシフタを通して右に
それぞれ4,2および1ビツト位置シフトされ
る。
これらのビツトはXBレジスタに蓄積され、メ
モリワードにおける16ビツトのうちの1ビツト、
10進ワードにおける10進の4のうちの1つ、1ワ
ードにおける2バイトのうち1バイトを識別する
ために使用される。
好ましい実施例の説明 第1図は記載されるべきCPUが含まれるシス
テム構成の全体ブロツク図である。
このようなシステムは中央処理装置(CPU)
100、科学命令処理装置(SIP)101および
商用命令処理装置(CIP)102を含むオープシ
ヨナル処理装置を含む。
これらのオプシヨナル処理装置は特別な応用の
ための基本処理装置100の範囲を拡張するため
に使用されることができる。
本システムはまた、キヤシユ/MMU装置(キ
ヤシユメモリ/メモリ管理システム)103、電
気システムバス105、メモリモジユール(主メ
モリ)106、I/O装置108に結合されてい
る入出力(I/O)コントローラ107および多
重回線通信制御装置あるいは多重回線通信処理装
置(MLCP)109を含む。
本システムはまた、前記のシステムのすべてあ
るいはすべてを含む第2の中央サブシステム11
0があるマルチプロセツサ構成を含む。
中央サブシステムプロセツサはローカルバス9
によつて互に接続され、キヤツシユ/MMU装置
103によつて本システムの残りと接続される。
中央サブシステムのキヤツシユ/MMU装置の
機能はプロセツサによつて現在使用されている主
メモリの部分のためのバツフアメモリを提供する
ことであり、主メモリアドレスのほん訳をするこ
とである。
ローカルバス9の機能は3つの処理装置および
キヤツシユ/MMU装置103間を相互に接続す
ることである。
第1図に示されているように、CPU100と
他の処理装置間には専用インターフエイスがあ
る。
各処理装置からキヤツシユ/MMUにもまた専
用インターフエイスがある。
ローカルバス9は時分割インターフエイス、す
なわち、すべて3つの処理装置およびキヤツシ
ユ/MMUによつて共有される。
さらに、キヤツシユ/MMU103はシステム
バス105を介して、本システムの残り、主とし
て、メモリ106およびコントローラ107を介
してI/O装置108、にインターフエイスを提
供する。
第2図のCPUブロツク図を説明する。
CPUの主な構成要素は点線内に示されている。
第1のこのような構成要素はデータバツフア3
1、ラウンドロビン手続きメモリバツフア36お
よびいろいろな手続き/データワードと前記の他
の装置と同様にソースバス33と結合されるアド
レスマルチプレクサ(MUX)を含むローカルバ
スインターフエイス10である。
第1の構成要素10はシステムバス105から
データを受信する目的のために使用される。
第2の構成要素16は演算要素であり、
DRAM11およびBRAM12と呼ばれる2組の
レジスタ群(RAM′S)およびDRAM11および
BRAM12が接続されるRAMあるいはRバス1
3を含むいくつかの装置を含む。
その構成要素は他の装置と同様にBRAM12
が接続する入力あるいは内部バス(IBUS)14
もまた含む。第2の構成要素はDALU15、す
なわちDRAM11を駆動するように結合される
演算装置もまた含む。
CPUの第3の構成要素は外部(O)バス17
および書込み(W)バス84、これらを接続する
シフタ19−1,19−2およびこれらを駆動す
るセレクタを含む。
これらのセレクタはDALU/Rバスセレクタ
20およびYレジスタ/Pレジスタ(YP)セレ
クタ21を含む。
第4の主な構成要素27はCPUのアドレス選
択であり、手続きアドレスレジスタ(P)23お
よびデータアドレスレジスタ(Y)24を含む。
それはアドレスマルチプレクサ信号25および
プリフエツチアドレスレジスタ26もまた含む。
書込みデータレジスタ(W)28および書込み
データセレクタ(WS)29もまた構成要素27
に含まれる。
CPUのこの部分はローカルバス9にデータを
転送する目的のために使用される。
装置30は第7図に示されているCPUのテス
ト論理であり、フアームウエアで制御分岐に使用
される“テスト真”又は“テスト偽”と呼ばれる
単一の2進信号を発生する第2の少なくとも2つ
の8対1マルチプレクサの組を順次駆動する1組
の8対1マルチプレクサを含む。
テスト真および偽信号は第5図に示されている
ように制御メモリバンク80および81に含まれ
ているPROMに結合される。
次のアドレス発生器44(第2図)はFレジス
タ38およびFバス37に結合される。
次のアドレス発生器は主にCPUで使用するた
めのアドレスを発生するためのものである。
ローカルバスデータ入力エリアである構成要素
10の機能はキヤツシユ/MMU103あるいは
ローカルバス9上の他の装置から戻るデータを受
信すること、もしブートストラツプ手続き実行が
要求されるならば、ブートストラツプPROM4
1からデータを選択すること、このようなデータ
を適当なデータバツフアに送ること、にある。
例えば、もし、命令フエツチが要求されるなら
ば、データは機能レジスタに置かれる。
詳細に説明すると、第1のデータバツフア31
はローカルバス9から16ビツトあるいは32ビツト
データワードを受信する。
データバツフア31の出力はLバス32に接続
される。Lバスは1対のセレクタDA34および
DW35を使用することによつてソースバス33
を駆動し、4つのワード手続きバツフア36を駆
動するために使用される。非手続きデータはデー
タセレクタから駆動されるソースバスを介してL
バス32からCPUに入力する。
手続きデータは手続きバツフア36から入力す
る相異るセレクタ、PA39およびPW40の組
を介してCPUに入力する。
手続きバツフアは実行されるべき次の2ワード
ないしは3ワードを保持しているので、これらの
ワードが要求されると、これらをフエツチするに
は時間はかからない。
CPUによつてそれが空にされると、自動的に
ローカルバス9を介してキヤツシユ/MMU10
3から再配置される。
Fバス37はFOP、FM、FNおよびLINKの
4つの領域を有するFレジスタ38用の情報をゲ
ートするために使用される特別のバスである。
FレジスタはCPUの主な命令レジスタである。
Fバス37の機能はFレジスタ38からデータ
をとり出すことおよびいろいろなソースからFレ
ジスタにデータを提供することにある。
構成要素AS′42から定数あるいはデータのど
ちらかがFレジスタ38のLINKあるいはFNロ
ケーシヨンのどちらかにロードできるマルチプレ
クサ43もある。
また、データ入力領域である構成要素10にお
いて、ブートストラツプモードで動作するなら
ば、ブートストラツプPROM41の組はメモリ
からの命令の代りに命令を提供するために使用す
ることができる。
ロケーシヨンA,B,CおよびDを有するメモ
リ装置(手続きメモリ)36はラウンドロビン4
ワード手続きメモリである。
メモリ装置36が手続きの2ワード分の空間が
あるときはいつでも、すなわち、少なくとも半分
が空であるときはいつでも、キヤツシユ/MMU
からローカルバス9を介して手続きのメモリ読出
しを自動的に始める。
戻りデータはこのラウンド・ロビン・メモリで
利用できる次の2つのロケーシヨンに入れられ
る。
CPUはCPUの処理要素内の使用のために手続
きをソースバス33に発するかあるいは手続きは
命令の部分であるためFレジスタ38に手続きを
送るかのどちらかによつて手続きを使用するの
で、基本的にはラウンド・ロビン・メモリに表示
する2つのポインタ36−1および36−2は連
続的に4つのロケーシヨンを装置36の出力に可
能にする装置36に含まれる導体の使用によつて
利用できる次のロケーシヨンに進める。
左側カーソルあるいはポインタ36−2はフエ
ツチされるべき手続きの次のワードを指示する。
右側カーソル36−1はそれに続くワードを表
わす。
時たま、手続きの1ワードは左側カーソルで指
示されたワードがPWマルチプレクサ40を通つ
て情報を発生するように使用される場合には使い
果される。
時おりは、手続きの2ワードに対する要求があ
る。(大アドレス形成(LAF)のアドレスを引き
出す時) それから、左側カーソルおよび右側カーソルの
両方で指示されるワードは手続きセレクタのPA
マルチプレクサ39で結合される。
したがつて、構成要素10はデータセレクタ3
4および35あるいは手続きセレクタ39および
40のどちらかを介してソースバス33を通して
CPUにデータをとり入れるかあるいは手続きバ
ツフア(ラウンド・ロビン・手続きメモリ)36
およびFバス37を介して命令(F)レジスタ38に
直接データをとり入れるかに関する領域である。
装置(F′)76は補助アドレス情報あるいはシ
ラブルからの選択ビツトを保持するために使用さ
れる。
アドレスシラブルは実際16ビツト記述子の部分
である。
記述子のあるビツトは次の分析のために保持さ
れねばならない。
CIP識別子のオペランドの大きさのビツトおよ
びKレジスタ識別子のオペランドの大きさのビツ
トと符号をつけられたビツト対符号をつけられな
いビツトは保持されねばならない。
これらは5ビツトF′レジスタ76に保持され
る。
第2の構成要素16は演算装置(DALU)1
5、プログラマーが見えるレジスタのすべてを含
むBRAM12とDRAM11+多数のプログラマ
ーが見えないワークレジスタを含む。
これらのデータ記憶要素は下記のように構成さ
れる。
RAMバス13を駆動できる2つのソースの1
つであるDRAM11は32のロケーシヨンを含
む。
そのロケーシヨンの各々の巾は24ビツトであ
る。
これらのロケーシヨンは7つのいわゆるDレジ
スタ、32ビツト長である7つのいわゆるKレジス
タの半分(KとL)が2つ、多数の内部ポインタ
および7つのいわゆるMレジスタを保持するのに
使用される。
16ワードを含み、各々のワードは24ビツト巾で
あるBRAM12は7ベースレジスタ+多数のプ
ログラマーが見えるいろいろな種類のポインタと
多数のプログラマーが見えないいろいろな種類の
ポインタを含む。
第3図はRAM間、バスとDALU15間の関係
が詳細に示されている。
DRAM11とBRAM12はRAMバス13に
対して各々はソースである。
BRAM12は実際双対構造である。すなわち、
CPUにおいて2つの並列BRAM′S60および6
1がある。Rバス13を駆動する(又はRバス1
3にデータを転送する)1つのこのような構成要
素は構成要素60で、Iバス14を駆動するもう
1つの構成要素はBRAM構成要素61である。
2つの同一のBRAMの重要な面はシステム速
度が増加されるということである。
Rバス13はBRAM60あるいはDRAM11
のどちらかによつて駆動される。
他のソースはまたIバス14を駆動する。
DALU15はDALUの入力および出力がCPU
のどこかほかの所で使用されるDRAMにリサイ
クルされるようにIバスおよびRバスを使用す
る。
構成要素16は主に2つのバスを含む。
いわゆるIバス14は処理装置内の元の入力の
主なソースである。すなわち、メモリからのデー
タはドライバー54を通してQレジスタ50の出
力およびBRAM12の出力がこのバスに取り込
まれる。第2のバス、いわゆるR又はRAMバス
は2つの相異るRAMの出力、すなわちBRAM1
2およびDRAM11の出力が結合される点であ
る。
これらの2つのバスの出力はDPAM11に戻
されるか本システムでさらに処理されるためにO
バスに送られるかのどちらかであるデータを発生
するDALU15への入力である。
IバスおよびRAMバスの両方共、1つのゲー
トである“バツトラツチ”(BL)と呼ばれるハー
ドウエア構成要素を用いる。
このゲートの入力および出力はバス上で信号を
結合するために接続される。
駆動源がタイミングおよびシーケンシングのた
めにバスを切断することを要求されたのち、この
バツトラツチはその信号の制御を行う。
これが起こると、バツトラツチがバス信号がな
くなるとき(0ボルトのような所定のレベルにな
る)まで、バツトラツチは駆動源が存在するとき
と同じレベルでその信号を維持する。
RAMバス13は制御パネル90と中央処理装
置間のデータの転送のためのインターフエイスで
あり16の双方向信号を介して制御パネル90に
結合される。
メモリデータはデータラツチ(DL)51と呼
ばれる一組のドライバーを介してIバス14に結
合される。データラツチはSE、すなわち符号拡
張ラツチ52と呼ばれる第2の一連のラツチによ
つて平列にさせられる。
これらのSEラツチは24ビツトバスに16ビツト
を提供するときだけデータラツチを符号拡張ある
いは零拡張のいづれかのために使用される。
同様に、SE論理回路52は現在の命令の7ビ
ツトあるいは8ビツトのどちらかをとり、命令ワ
ードの右側の部分からそれぞれその変位およびオ
ペランドを得るブランチおよび値命令による使用
のため命令を24ビツトに符号拡張するのに使用さ
れる。
BRAM12およびDRAM11論理に関連して
選択/修正論理53と呼ばれ論理がまたある。
その論理はそのブロツク内の個々のレジスタ選
択を制御するために命令のいろいろなフイールド
を使用して、8つのレジスタのブロツクで
DRAMおよびBRAMをアドレスできる。
定数発生器(KON)70は構成要素16、主
ALU領域にまた含まれ、Iバス14への他のソ
ースである。すなわち、それはフアームウエアの
制御の下の演算装置による使用のためIバス上に
24ビツト定数を発生するために使用することがで
きるソースである。
したがつて、構成要素16はCPUの主算述演
算領域である。すなわち、それはオペランド操作
およびDRAM11への挿入のためのオペランド
発生、又はOバス17に送られるようにされ、ロ
ーカルバス9への出力のためBRAM12に戻さ
れるかあるいはいろいろなアドレスレジスタおよ
びデータレジスタに送られるかのどちらかである
ようにされるオペランドに関連する。
構成要素22は主に外部(O)バス17および
書込みバス(W)バス84として引用される
CPU部に関連する。
Oバス17はいろいろなデータバスが集まる、
すなわち、Yレジスタ24、Pレジスタ23、
DALU15の出力およびRAMバス13が集まる
バスである。
Wバス84はオペランドをBRAM12、書込
みデータレジスタおよび主にアドレス操作のため
に使用されるALUであるBALU55、に転送す
るために使用される。
Oバス17とWバス84間にはOバス17上の
どちらの方向にもオペランドを1ビツト、2ビツ
トあるいは4ビツトのシフトが可能である一組の
24多重化シフタ19がある。
さらに、オペランドをQレジスタ50にロード
するように使用される一組の16多重化シフタ56
もまたある。
Oバス17へのソースとなる4つの相異る種類
のオペランドのうちの2つのオペランドは
DALU15およびRAMバス13で生じ、Oバス
17に結合されている2対1マルチプレクサ20
を通して選択される。
Oバス17のための2つの他のソースはデータ
アドレスレジスタYおよび手続きアドレス(P)
レジスタ23であるYレジスタ24である。
これらの2つの装置の出力は2対1マルチプレ
クサ(Y/Pセレクタ)21を介して結合され、
Oバス17上へのソースとなる。
さらに、Iレジスタ57、すなわち、中央処理
サブシステムのための指示レジスタはOバス17
に結合される。
Oバス17の内容はCPU内でさに処理するた
めにWバス84に直接転送されるかあるいはシフ
トされるかのどちらかである。
Qレジスタが倍精度シフト演算のために使用す
ることができるようにその内容はQレジスタ50
にまたロードされる。
CPU内で行なわれるすべてのシフト動作はO
バス17とWバス84間のオペランド操作によつ
て行なわれる。
24のシフタ19は24ビツトのオペランド、
すなわち、Oバス17およびWバス84上のオペ
ランドの大きさ、制御ストアワードの制御の下で
左又は右、をシフトするために使用される。
これらのシフタは1ビツト位置、2ビツト位
置、あるいは4ビツト位置のどちらかによつてシ
フトし、オペランドをすぐ転送するかあるいは2
つの右側のバイトと交換したオペランドを転送す
ることができる。
これらのシフタの動作は制御ストアワードにお
ける特別のフイールドによつて制御される。
CPUのこのセクシヨンは24ビツトオペランド
シフトのために使用される。
32ビツト(2重レジスタ)オペランドがシフト
され、右側のオペランドがOバス17を介してQ
レジスタ50にロードされると、Wバスシフタ1
9のみならず16のQレジスタシフタ56が作動
するシフトが実行される。
それによつて、Qレジスタの内容はWバス84
上でシフトされる24ビツトのオペランドの右側端
での16ビツト拡張として取扱かわれる。
すなわち、これらの2つのシフタ端は結合さ
れ、したがつて、40ビツトのシフトを行うことが
できる。
この2重レジスタシフトにおいて、オペランド
はQレジスタ50に戻り、Oバス17の右側の2
つのバイトに転送される16ビツトである。
一方、Wバス84のデータの左側の8ビツトは
通常捨てられる。
構成要素75はある条件の下でドライバー93
を介してWバス84に放出するためのCPUの状
態ビツトの収集を表わす。
Wバス84は2つのソースを有しており、主な
ソースはOバス17からのシフタ19である。
このシフタ19はバス88への入力として作動
されない。その代り、構成要素75の状態ビツト
(S/Z)はフアームウエアによる次の分析のた
めWバス84におかれる。
前に記載されていないQレジスタ50に関連す
るハードウエアのうちの1つの装置はXBレジス
タ58およびそれに結合されたデコーダ59であ
る。
インデツクスシフト動作中、XBレジスタ58
はインデツクスのこれらのビツトを得るために使
用される。これらのビツトはサブワードオペラン
ドのために右にシフトされ、これらのビツトがア
ドレスにおける単一ワードビシトの右に移動され
るため、それはなくなる。
これらのビツトはXBレジスタ58で、1/2ワ
ードビツトに対して1ビツト、デイジツトシフト
のため2ビツト、ビツトの大きさのオペランドシ
フトのための4ビツトを得る。
1/2ワードのオペランドを処理するとき、デイ
ジツトオペランドのため商用命令処理装置に送ら
れ、デコーダ59と共に15の2進“0”および単
一の2進“1”のマスクを発生するパラメータを
発生するとき、ビツトオペランドで作動すると
き、XBレジスタ58の内容は続いて左選択か右
半分選択を直接制御するのに使用される。
すなわち、1ビツトのオペランドにおいて、1
ワードが読み出され、マスクはワード中の選択ビ
ツトをセツトするかクリアするかに使用される。
そのとき、ワードはメモリに書込まれる。
マスクはデコーダ59から発生され、Qレジス
タ50への入力である。
Qレジスタにロードされる項目の1つはXBレ
ジスタ58の内容から発生されるデコーダマスク
である。
CPUにおける第4番目の主な構成要素は領域
27である。
その要素はアドレスの発生、ローカルバス9へ
の伝送およびローカルバスを介してCIP102、
SIP101あるいはキヤツシユ/MMU103の
いづれかへ、その後メモリあるいは入出力装置
(I/O)108へ、伝送するためにコマンドお
よびオペランドの発生に関連する。
この主な構成要素は近似的に3つの領域に分割
される。第1のものは書込みデータレジスタ
(W)28および書込みセレクタ(WS)29で
ある。
レジスタ28は分割された負荷能力、すなわ
ち、右半分あるいは左半分のいづれかあるいはこ
のレジスタの半分の両方ともロードすることがで
きるという負荷能力を有する32ビツトレジスタで
ある。
右半分は常にドライバ74を介してWバス84
の16ビツトのデータが書き込まれ、左半分は書込
みセレクタ29から生じるデータで書込まれる。
この書込みセレクタはその入力としてWバス8
4の右半分の16ビツトかあるいはWバスの左半分
のビツトかのいずれか+符号拡張あるいは零拡張
のいづれかを有する。
Wバスはローカルバス9で結合される他の装置
に続いてこのようなデータを送るためにWレジス
タ28にデータが送られる主バスである。
ローカルバス出力インターフエイス27の次の
領域はコマンド・ドライバ71である。
コマンドドライバ71は一連のコマンド線を駆
動する。そのコマンド線はローカルバス上の
CPU100によつてすべての転送が行なわれ、
メモリ参照サイクル、I/O参照サイクル、をキ
ヤツシユ/MMUに指示するかあるいはローカル
バス参照サイクルをキヤツシユ/MMUあるいは
ローカルバス処理装置の1つに指示するどちらか
を指示する。
コマンド線に転送される情報は制御メモリのF
フイールドおよびFKフイールドあるいは第4図
に示されているフアームウエア(FW)ワードか
ら得られる。
(FW)ワードはまた、他のときには構成要素
10のFレジスタ38の機能をはたす。
構成要素27の第3の部分は2つの主アドレス
レジスタ、すなわち、非手続きメモリアドレスお
よびローカルバスおよびシステムバス上の他の装
置に対するアドレス、に対してYレジスタ24、
Pレジスタ(プログラムカウンタ)23およびプ
リフエツチレジスタ26を含む。
Pカウンタ23はフアームウエアが使用され、
ワードがラウンドビンバツフア36およびカウン
タ作動のためCPU100への入力からとり入れ
られる最後のワードを得る。
プリフエツチレジスタ26はメモリから次にフ
エツチされるワードを得る。
すなわち、PレジスタおよびPFレジスタはラ
ウンド・ロビン・バツフアが満杯かどうか最新に
中央処理システムはバツフアからいかにデータを
とり入れるかに依存して、メモリアドレスにおけ
るいくつかの数によつて1から4ワードと異る。
中央処理システムはバツフアからすべてのデー
タをとり入れるならば、リクエストに応答して、
新しいデータで応動し、バツフア36を再び充た
すのにキヤツシユ/MMUは限られた時間がかか
る。
これらの環境の下で、プリフエツチレジスタ2
6およびPカウンタ、すなわちPレジスタ23の
アドレスはアドレス内容において同じである。
バツフア36が満杯で、CPU100が最新に
いかなるデータもとり入れないならば、Pレジス
タは、プリフエツチレジスタにおいてワードのた
めの余地があるとすぐにメモリから送り出される
次のワードを指示するプリフエツチレジスタから
とり入れられる最後のワードをPレジスタが指示
しているため、プリフエツチレジスタの後に続く
4ワードに対して2ワードである。
Pレジスタ23の内容はメモリアドレスソース
としてローカルバス9に決してとり入れられな
い。
仮想アドレスマルチプレクサ25を介してロー
カルバスにとり入れることができるデータのため
の2つのソースはすべて非手続きフエツチのため
に使用されるYレジスタ24および次のフアーム
ウエアステツプで使用するためメモリワードおよ
びリクエストワードをとり入れるためにプリフエ
ツチ論理によつて自動的に使用されるプリフエツ
チレジスタ26である。
装置23,24および26の矢印はこれらの特
定のレジスタの増分能分を表わしている。すなわ
ち、Pレジスタは1回にプリフエツチバツフア3
6からとり出されるワード数に依存して、1ワー
ドあるいは2ワードのいづれかによつて増分する
ことができる。すなわち、ラウンドロビンバツフ
ア(プリフエツチバツフア)36から1ワード引
き出されると、Pレジスタを1だけ自動的に増分
する。ラウンドロビンバツフア(プリフエツチバ
ツフア)36から2ワードを引き出されると、P
レジスタを2だけ自動的に増分する。
プリフエツチは常にワード対で実行されるため
プリフエツチレジスタ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は16のWバスの右側のビツトを同期
をとられるWレジスタの16の左側ビツトにイネー
ブルするように条件が付けられる。
単一ワード書込みのため、Wレジスタの左側の
半分はメモリに書込まれるデータである。
前記の論理はキヤツシユ/MMU103、CIP
102あるいはSIP101のようなローカルバス
9上の他の装置からデータをリクエストおよびア
クセプトするために、データを操作して本システ
ムに含まれる2つのALUを介してデータを内部
的にいろいろなレジスタに格納するために、続い
て修正され、装置アドレス(CPUで内部的に計
算され、ローカルバスを制御するため使用され
る)をその装置が接続されているローカルバスに
送り出される新しいオペランドをつくるために、
使用される。
これらの動作のすべてはCPUに含まれる2048
ワード×96ビツト/ワードの制御メモリ80およ
び81に記憶される制御フアームウエアの制御の
下で実行される。
制御メモリは多数の個々のフイールドに分割さ
れ、そのフイールドの各々はCPUの内部実行の
いくつかの面を制御する。
第4図はフアームウエアワードおよび種々のフ
イールドを示す。
これらのフイールドの第1はローカルバス
(LB)フイールドであり、そのフイールドは制御
メモリの0〜7ビツトである。
LBフイールドはローカルバス9からの種々の
サイクルのリクエスト動作およびそれに対する応
答に関連する。それはまた、プリフエツチレジス
タ26あるいはYレジスタ24を介して仮想アド
レスの発生の原因であり、YおよびPレジスタの
いろいろな増分動作を制御する。
ローカルバスフイールドはまたラウンド・ロビ
ン手続きバツフア36からのデータの連続読出
し、データおよびIバス14により引き続いて使
用するためソースバス33上のマルチプレクサ3
4,35,39および40をそれぞれイネーブル
することを制御する。
次のフイールドである制御メモリのビツト8お
よび9のクロツク(CK)フイールドはCPUクロ
ツク速度、すなわちCPUの連続するクロツクパ
ルス間隔を制御するのに使用される。
各フアームウエアステツプはその複雑性に適し
たクロツク速度を割り当てる。
本発明のシステムにおいて、連続するクロツク
パルスには4つの可能な時間間隔がある。すなわ
ち、96ns,105ns,130nsあるいは170ns。
これらのどれがフアームウエアステツプのため
に使用されるのはフアームウエアステツプのため
のCKフイールドによつて制御される。
次のフイールドは制御メモリのビツト10〜15で
あるTCフイールドである。
これは6ビツトフイールドでフアームウエアシ
ーケンスのテストおよび制御のためCPU内の64
の可能な論理機能の1つを選択する。
次のフイールドはBRフイールドであり、ビツ
ト17〜19であり、テスト条件の結果として取られ
る動作のタイプを制御するのに使用される。
すなわち、どのタイプのブランチがおこるか、
ブランチは単に2つのフアームウエアステツプ間
を選択するのかあるいはフアームウエアステツプ
といわゆる制御メモリスプラツタ(次のアドレス
がFレジスタ38内の内容のいくつかの機能によ
つて制御されるCPUで1つあるいはそれ以上の
論理素子の状態に基づく次のアドレスを多数の制
御メモリのうちの1つの制御メモリから発生する
こと)間をブラツチが選択するかどうか。
次のフイールドであるTPフイールド、ビツト
21はテスト極性フイールドである。
それはそれが真か偽かを決定するためにテスト
条件がテストされるかどうかを制御する。
NAフイールド、ビツト22〜31はすべての
ブランチによつて選択される2つのアドレスのう
ち少なくとも1つのアドレスを発生するように使
用される。もう1つのアドレスは同じNAフイー
ルドからあるいは前記の制御メモリスプラツクか
らのどちらかから得られる。
次のフイールド、ビツト32〜39はFと呼ば
れ4ビツトとFKと呼ばれる4ビツトに分割され
ているFレジスタフイールドである。
FフイールドおよびFKフイールドはFレジス
タにおけるいろいろな素子およびFバスの領域に
おけるいろいろな素子のローデイングおよびスト
ローブイングを制御するのに使用される。
すなわち、F′装置76およびAS′装置42、F
レジスタ38およびマルチプレクサ43のサブパ
ーツを制御するのに使用される。
これらの装置のどれがロードされ、そのローデ
イングのためにこれらの装置はどのソースを有し
ているかはFフイールドおよびFKフイールドに
よつてすべて制御される。
次のフイールド、ビツト40〜47はK(すな
わち定数)フイールドでありIバス14を駆動す
るために使用される。
それはIバスに受け入れられるすべての定数の
ため右側の8ビツトを提供する8ビツトフイール
ドである。
定数の左側の16ビツトは後で述べられるIバス
フイールドによつて制御される。Kフイールドは
直接定数発生器(KON装置)70に関連してい
る。
制御メモリの次のフイールド、ビツト48〜6
3は主にDRAM11およびBRAM12のアドレ
ス指定および制御に関連がある。
2ビツトフイールド、DWはDRAMへの書込
みを制御するのに使用される。1ビツトは
DRAMの最も左側(最上位)の8ビツトへの書
込み動作を制御するためのものであり、もう1ビ
ツトは最も右側(最下位)16ビツトへの書込み動
作を制御するためのものである。
次のビツト、ビツト50(フイールドBW)は
常に一緒に書込まれるBRAMの両方の部分への
書込み動作を制御するために使用される。
次のフイールド、DSは長さが5ビツトであり、
DRAM11の32レジスタのうち1つのレジスタ
を選択する。DMフイールド、ビツト56および
57はDRAMに関連する選択/修正フイールド
でありDRAMのアドレス指定をするために
DRAMを直接選択するかあるいはFレジスタ3
8の3つの相異る機能のうちのいくつかの機能を
選択するかのどちらかを許す。
次のフイールドはBRAMの16レジスタのうち
の1つのレジスタを選択するために使用されるB
選択フイールド(BS)、ビツト60〜63であ
る。
ビツト58および59よりなる2ビツトフイー
ルドはBRAMアドレス指定のため選択/修正フ
イールド(BM)である。それは独立した選択機
能および修正機能はBRAMおよびDRAMの両者
のため指定できるように分離されることを除いて
BRAMアドレス指定において同じように実行さ
れる。
次のフイールドは長さが7ビツト(ビツト65
〜71)であるGPフイールドでいろいろな双安
定フリツプフロツプのクロツクおよびいろいろな
制御機能のエネーブルのようなプロセツサ内の多
数の汎用マイクロ演算を制御するのに使用され
る。
それはまたCPUから制御パネル90へのアクセ
スを制御する、制御パネルにデータを入出力す
る、そこにあるいろいろなフリツプフロツプを制
御する、ために使用される。
次のフイールド、RBフイールド、ビツト72
および73はRバス13上にデータを出すことを
制御するために使用される。1ビツトはBRAM
を制御し、もう1ビツトはDRAMを制御するた
めのものである。
BAフイールド、ビツト74〜79はBALU5
5の機能、その入力としてIバスおよびOバスを
有しYレジスタ24を駆動するのに使用される演
算装置を制御するのに使用される。
これらの6ビツトは次のように使用される。1
ビツトはBALUへの桁上り、1ビツトは論理/
算術制御、その他の4ビツトは特定の機能の選
択、のために使用される。
次のフイールドはIBフイールド、ビツト80
〜83であり、どのデータソースがIバス14を
動作可能にするのかを制御するために使用され
る。
このフイールドはデータラツチあるいはIバス
といろいろと接続されているBRAMを動作可能
にする。符号はFレジスタを拡張し、定数を選択
する。
次のフイールド、SHフイールド;ビツト84
〜89はシフタおよびWバスの両方を制御するの
に使用される。その6ビツトはシステムがレジス
タがWバスを動作可能にすること、Qレジスタは
ロードするかしないか、シフタはオペランドのど
の方向にシフトするのかを大部分の自動制御がで
きるようにする。
最後のフイールド、DAフイールド、ビツト9
0〜95はDALU15の機能制御である。
6ビツトはBAフイールドの機能と類似の機能
を有する。すなわち、1ビツトは桁上り、1ビツ
トは論理/算術の選択、あとの4ビツトが特定の
機能の選択、である。
CPUのための制御メモリは実際2つの制御メ
モリである。すなわち上側バンク80および下側
バンク81である。上側バンクは次のアドレス発
生器44によつてアクセスされ、下側バンクはそ
のときの最新の制御ストアワードの内容の1部に
よつて直接アドレス指定される。
ブランチの最も共通したタイプの場合、ブラン
チの両方とも次のアドレスの基本ソースとして制
御ストアワードのNAフイールドを使用し、上側
のバンクおよび下側のバンクに出す2つのアドレ
スは実質的に同一であるようにいくつかの方法で
フイールを修正する。
他のブランチの場合、それらのブランチは次の
アドレスとPROM発生器スプラツタから選択す
る。下側のバンクは現在の制御ストアワードから
変化しない次のアドレスフイールドを受信する。
一方、上側のバンクは現在の制御ストアワード
からスプラツタアドレスを受信する。
制御メモリは本システムが可能である次のアド
レス制御ストアワードの両方とも同時にアクセス
でき、丁度制御レジスタ82でデータをクロツク
する以前に規在の制御ストアステツプのほとんど
終りまでどのアドレスを使用するつもりであるか
の決定をのばすことができるようにこの方法で分
割される。制御メモリの詳細は下記に述べられ
る。
CPUおよびフアームウエアが(a)メモリからの
ワードの読出し、(b)メモリから他のワードを読出
すため次のアドレスの計算、(c)メモリへの書込
み、(d)動作が完全にCPUの内部にある反復アル
ゴリズムのいくつかのタイプの実行のようなある
典型的な中央処理装置動作を実行するために相互
作用する方法は次に下記に述べられる。
所定の状況は典型的であり、代表的な動作が下
記に述べられる。
制御ストアステツプ中メモリから1ワード読出
す場合、制御ストアワードはRBフイールド、BS
フイールドおよびBMフイールドを介してRAM
バス13上のBRAM12からワードの仮想メモ
リアドレスをエネーブルにする。
次にSHフイールドはRAMバスがセレクタ2
0を通してOバス17をエネーブルにし、Wバス
84上のシフタ19を通して変更されないように
OバスおよびWバスをソーシングするように条件
付ける。
WバスはそのWバス入力を直接その出力にエネ
ーブルするようにBAフイールドによつて条牛付
られるBALU55への入力である。同時に、LB
フイールドによつてYレジスタ24はロードし、
したがつてアドレスをYレジスタに転送する。
次のフアームウエアステツプにおいて、LBフ
イールドによつて、リクエストはメモリリクエス
トが要求され、ローカルバスに提供されるアドレ
スはこのようなリクエストをするために使用され
るということを指示するローカルバスに指令され
る。コマンドドライバ71はメモリ読出しリクエ
ストが要求されることを指示するためにFフイー
ルドおよびFKフイールド(第2図の線72のよ
うに示されている)によつて条件付けられる。
アドレスマルチプレクサ25は24のアドレス
線を介してローカルバス上のYレジスタの内容を
エネーブルするために条件付けられる。
ローカルバス上のすべてのアクテイビテイを監
視および制御するキヤツシユ/MMUメモリはリ
クエストに肯定応答する。一方、CPUは次のフ
アームウエアステツプに進む。
次のフアームウエアステツプで、ローカルバス
フイールドは、ローカルバスサイクルの終りがロ
ーカルバスを介してキヤツシユ/MMUからCPU
データバツフアへのデータの復帰が検出されるま
でCPUはこのフアームウエアステツプのままで
あるべきでないことを指定するストールを指定す
る。
この復帰サイクルが検出されるとすぐ、ストー
ルは終り、CPUはこの読出しサイクルの第4番
目のステツプにはいる。
4番目のステツプはフアームウエアがLBフイ
ールドを指定するステツプである。
そのLBフイールドはデータバツフアにあるデ
ータを使用し、CPUによる使用のためIバス上
にデータをのせる。
したがつて、LBフイールドは16ビツト長の1
ワードあるいは24ビツト長のアドレスがソースバ
ス上に要求されるかどうかに依存して、DAドラ
イバー34あるいはDWドライバー35のどちら
かをエネーブルにする。
次に、Iバスフイールドはフイールドのすべて
24ビツトかあるいは24ビツト拡張される16ビツト
符号のどちらかであるソースバスはIバスにエネ
ーブルされることを指定する。
Iバスにおいて、データバツフアから受信され
る16ビツト語があると仮定すると、DAフイー
ルドはDALUがIバスおよびDWを読出すことが
できるように使用され、D選択およびDMフイー
ルドはDRAMの32のレジスタのうちの1つの
アドレスし書込むために制御される。
これはこの制御シーケンスの第4番目のステツ
プを完了する。第1番目のステツプはYレジスタ
をロードし、第2番目のステツプは読出しリクエ
ストを出し、第3番目のステツプは戻るためのデ
ータを持つ、第4番目のステツプはデータをとり
こみ、CPUのレジスタの1つにデータを入力す
る。
本システムによつて実行される第2の典型的な
動作シーケンスはメモリからデータレジスタの1
つにフエツチされるオペランドを加算し、加算後
データレジスタに復帰し、続いてメモリを書込む
ことができるようにデータを書込みデータバツフ
アに置く、ような算術演算におけるオペランドの
操作である。
この動作シーケンスが前の動作に引用したスト
ールに続いて始まる。
このステツプはLバスおよびデータマルチプレ
クサ35を介してデータバツフア31からソース
バスにのせる1ワードであるデータをイネーブル
するステツプである。
それから、Iバスフイールドはソースバス、符
号拡張装置52およびデータラツチ51を介して
拡張された符号はIバスをエネーブルにすること
を指定する。
同時に、Rバス制御フイールドは特定のデータ
レジスタがDRAM11からのRバス13をイネ
ーブルにすることを指定する。
DAフイールド、すなわちDALU制御フイール
ドはDALUがRバス13の上の24ビツトとIバ
ス14上の24ビツトを加算するように条件付けら
れる。
この論理15は合計を表わす24ビツトをその出
力として有する。DWビツトはDALUの出力が
DRAM11に書込まれるべきであることを指示
する。
同時に、DALUの出力はSHフイールドを介し
てWバスをイネーブルにする。
このフイールドはセレクタ20はOバスをエネ
ーブルにし、その目的のためRバス出力の代りに
DALU出力を選択するように条件づけられるこ
とを指示する。
同時にまたシフタ19−1は変更なしにOバス
の内容をWバス84に送るように条件付けられ
る。
DW35をソースバス33に指定する同じLB
フイールドはWバスがセレクタ29を介してWレ
ジスタの左半分をエネーブルにすることを指定す
る。
これは単一のフアームウエアステツプですべて
行なわれる。これは加算であるので、おそらく、 加算からのオーバーフローはテスト論理30に
よつて指定されるテストによつてテストされる。
次のアドレス論理は、オペランドが直ちにメモ
リに書込まれるならば、分岐するための特定のエ
ントリーを指示する1つのアドレスを発生する。
下側のバンクにあるべきである他のアドレスは
Iレジスタ57にオーバーフロー指示子をセツト
する次のステツプを取り入れるために発生され
る。
もしオーバーフローがなければ、Iレジスタは
自動的にクリアされる。
第3の動作はオペランドのメモリへの書込みよ
りなる。これは実行するために3つのフアームウ
エアステツプをとる。
第1のステツプはオペランドが書込まれるべき
アドレスはYレジスタ24にロードされるステツ
プである。
第2のステツプはオペランドをWレジスタ28
に書込まれるようにする。
第3のステツプは、LBフイールドがメモリ書
込みを指定するローカルバスリクエストは受信
し、実行するためにキヤツシユ/MMUのために
ローカルバスにアドレス指定されることを指定す
るステツプである。
Yレジスタ24にロードする第1のステツプは
おそらく、BRAMランダムアクセスメモリの16
のロケーシヨンのうちの1つのロケーシヨンから
アドレスを得る。
これは、IバスはBRAMの出力を検査するよ
うにIバスフイールドを条件付けることによつて
実行される。B選択フイールドは16BRAMレジ
スタのうちのどれがこの目的のためアドレス指定
されるのかを指示する。
BAフイールドによつて制御されるBALU55
はIバスの内容(24ビツト)をその出力に送るよ
うに条件付けられる。LBフイールドはYレジス
タをロードするように指定するフイールドであ
る。
Yレジスタへの入力はBALUの出力であるの
で、これは選択BRAMの内容をYレジスタに転
送する。
次の制御メモリステツプは、この場合、それが
例えば、32のDRAMロケーシヨンのうちの1つ
のロケーシヨンにあつても、その初めからオペラ
ンドをとる。DSフイールドは32のDRAMのうち
のどれがエネーブルされるかを選択する。
RBフイールドはRバス上のDRAMをエネーブ
ルにする。SHフイールドはセレクタ20を介し
てRAMバス−Oバス17、シフト動作が行なわ
れないシフタ19を介してOバス−Wバス84を
選択する。
LBフイールドは左半分のWレジスタをロード
するため指定する。これはWレジスタ28の左半
分へWバス84の右の2/3をエネーブルするよう
にWセレクタ(WS)29を条件付けすることに
よつて実行される。Wレジスタはその左半分をロ
ードするようにエネーブルされる。
最後に、第3のフアームウエアステツプが実行
される。このフアームウエアステツプにおいて、
唯一の本質的動作はローカルバスフイールド、
LBフイールドがメモリへのローカルバス書込み
を指定することである。
これは、コマンド線としてこれがメモリ書込み
動作であるということをキヤツシユ/MMUに指
定するためにローカルバスに出されるFビツトお
よびFKビツトを用いる。
そのアドレスはYレジスタ24からアドレスマ
ルチプレクサ25を介してローカルバス9へ与え
られ、データはWレジスタ28からローカルバス
9へ付与される。
すべてのローカルバスを調停するキヤツシユ/
MMUメモリはこれをメモリ書込みサイクルとし
て認識し、アドレスを取り込み、それをマツピン
グし、データに伴うメモリにデータを送り、これ
はメモリ書込み動作であることをメモリシステム
に指示する。
CPUが実行できる典型的動作の第4番目のシ
ーケンスは倍精度オペランドは数ビツトを左ある
いは右にシフトされるということである。
2つのオペランドがBRAMにあると仮定する
と、第1のフアームウエアステツプはこれらの2
つのオペランドの右側をQレジレスに転送し始め
る。これは次のように続行する。
BSフイールドはBRAM12にこのオペランド
を含む16のロケーシヨンの1つをアドレス指定
するように条件付けられる。RAMバス13を制
御するRバスフイールドはDRAM出力の代りに
BRAM出力を取るように条件付けられる。
SHフイールドは、セレクタをしてOバスを動
作可能にし、その入力をRバスから選択すること
によつて、セレクタ20を介してRバスをOバス
に転送するように条件付けられ、Qレジスタおよ
びWバスの両方ともOバスの内容を受信すること
をまた指定し、それをロードするためにQレジス
タをクロツクする。
これによつて、BRAMにアドレス指定された
オペランドはQレジスタに転送される。
次のステツプはシフトが実行されるステツプで
ある。このステツプにおいて、BRAMに第2の
オペランドを含む2つのレジスタのうち1方はB
選択フイールドによつてアドレス指定される。
BRAMによつてRSフイールドを介してRAM
バス13は動作可能にされる。それから、RAM
バスによつてセレクタ20を介してOバスは動作
可能にされる。
SHフイールドは、シフトはどちらの方向に、
どのくらいのビツト、実行されるべきかに依存し
て、いくつかの数値をとる。SHフイールドは1
ビツト、2ビツトあるいは4ビツトのいづれかの
左シフトあるいは右シフトを選択することができ
る。これらの場合において、Qレジスタ50は3
2ビツトオペランドを生成し、Oバス17の拡張
として接続されると考えられる。実際、それは40
ビツトのオペランドであるがしかしOバスの左側
の8ビツトが無視される。この32ビツトオペラン
ドは特定のSHフイールドによつて指示されるよ
うに左あるいは右のどちらかにシフトされる。右
側の16ビツトはQレジスタに復帰し、無視される
8ビツトと共に左側の16ビツトは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バスフイールドは、IバスはQレジスタ(2
進“0”の8ビツトによつて拡張されたQの16ビ
ツト)によつて駆動されることを指定する。
DALU15はそれが変化しないIバスを通る
ようにDAフイールドによつて制御される。
SHフイールドは、そればDALUを動作可能に
し、セレクタ20を介してOバス17に対して変
化させないし、またシフタ19を介してWバス8
4に対して変化させないように選択される。
それから、フアームウエアワードのBWビツト
50はWバスからのBRAMのローデイングを条
件付けるようにセツトされ、BS(Bセレクト)ビ
ツトはシフトされたオペランドを受信すべきは
BRAMの16のロケーシヨンのうちのどれかを指
定するように条件付けられる。
これはすべて多数のフアームウエアステツプ、
例えば、3つあるいはそれ以上で行なわれる。
1つのステツプが40ビツトオペランドを生成す
るQレジスタをロードするために使用され、その
オペランドのシフト動作を実行するのに1つある
いはそれ以上のステツプが、次に、動作を終了さ
せるためにQレジスタの内容(右側の16ビツト)
をBRAMに戻すのに1ステツプが、必要である。
CPU100はキヤツシユ/MMU103から命
令および16ビツトあるいは24ビツトオペランドを
受信しオペランドを操作することによつて命令を
実行するマイクロプログラム制御形24ビツトプロ
セツサである。この明細書はオペランドおよびメ
モリアドレスがRバス13およびOバス17を介
していろいろなソースからWバス84に転送され
るようにマイクロプログラム制御の下で、オペラ
ンドおよびメモリアドレスを再整列する装置を記
載する。
オペランドおよびメモリアドレスの整列装置は
第4図の96ビツトマイクロワードのSHシフトフ
イールドビツト84〜89に応動する。
第5図を説明する。オペランドおよびアドレス
はCPUのいろいろなソースからWバス84に転
送される。
第2図のDRAM11およびBRAM12の出力
はRバス13に転送され、マルチプレクサ信号
(MUX)20−2および20−4の入力端子1
に24の信号RBUS08−31+に加えられる。明細
書をより理解するために、信号がハイの時、+記
号××××××+を有する信号は論理“1”であ
る。信号がローのとき、−記号××××××−は
論理1である。DALU15の出力信号DALU08
−31+はMUX20−2および20−4の入力端
子1に加えられる。シフト間隔制御論理22−1
2からの信号CRSHF0+は制御メモリ80の制
御ストアワードのビツト84の状態を指示し、R
バス13あるいはDALU15信号のどちらかを選
択するためにMUX20−2および20−4に加
えられる。
シフトエンド論理22−8からの信号
SSTOOB−はMUX20−2を動作可能し、信号
SSOBLF−はMUX20−4を動作可能にする。
MUX20−2および20−4の出力、信号
OBSS08−31−はワイヤードオア端子17−2を
通してOバス17に加えられる。QREG28−31−
信号がMUX20−6を介して信号OBQR12−15
−としてOバス17にのせられるとき、信号
SSOBLF−は24ビツトあるいは32ビツト演算
シフト動作中MUX20−4を動作不能にする。
OBUS15−を通して信号OBUS12−を強制的に
論理“0”にする2進1ビツトは端子1に加えら
れ、信号FSHINI+は端子0あるいは1を選択
し、信号OBQREN−はMUXを動作可能にする。
このシフトエンド動作は以下は述べる。
Pレジスタ23の信号PCTR08−31+およびY
レジスタ24の信号YCTR08−31+はMUX′S2
1の端子0および1のそれぞれに加えられる。
MUX′S21の出力、信号OBYP08−31−はワ
イヤードオア端子17−2を介してOバス17に
加えられる。
制御メモリ80のシフトビツト84の信号
CRSHFO+はシフトエンド論理22−8からの
信号YPTOOB−によつて動作可能にされる
MUX21の端子0あるいは端子1のどちらかを
選択する。
Iレジスタ57からドライバ20−8および2
0−10に加えられるフラグ信号はOバス17の
信号OBUS24−31−として現われる。Iレジスタ
57はロードされ、これらの信号はソフトウエア
ブランチを始めるようにソフトウエアによつてテ
ストされる。ドライバ20−8および20−10
はシフトエンド論理22−8からの信号
RITOOB−によつて動作可能にされる。
信号OVFF24−として生じる信号RIOVFF+
はオーバーフローフラグである。
信号OCYF26−として生じる信号RICRYF+
はキヤリーフラグである。信号OBTF27−とし
て生じる信号のRIBITF+はビツトテストの結果
を示すビツト操作フラグである。信号OAKF28
−として生じる信号RIACKF+は入出力肯定応
答フラグである。信号OCTF29−として生じる信
号RICTRFは“より大きい”フラグである。
信号OLSF30−として生じる信号RILESF+は
“より少ない”フラグである。信号OSNF31−と
して生じる信号RISNEF+は不等符号フラグであ
る。
信号ZGND25−は論理“0”である。
Oバス17は、MUX21がPレジスタ23あ
るいはYレジスタ24のどちらかに記憶されたア
ドレスを選択するとき、24のアドレスビツトを
シフタ19に転送する。MUX20−2および2
0−4がDALU15又はRバス13からのデータ
を選択するとき、Oバス17は24ビツトを含むワ
ードあるいは16ビツトを含むワードをシフタ19
に転送する。
シフタ19によつて受信されるデータワードは
24データビツト、信号OBUS08−31−を含む。
信号CDBSD1+、CDBSD2+およびCDMSD0
+は信号OBUS08−23−の0ビツト位置、1ビツ
ト位置、2ビツト位置あるいは4ビツト位置のど
ちらかを左あるいは右にシフトするためにシフト
間隔制御論理22−12からシフタ19に加えら
れる。信号CDBSD1+、CDBSD2+および
CDRSD0は信号OBUS24−31−の0ビツト位置、
1ビツト位置、2ビツト位置るいは4ビツト位置
のどちらかを左あるいは右にシフトするようにシ
フタ19に加えられる。
シフタの出力信号WBSH08−31は信号
WBUS08−31+としてワイヤードオア84−1
を介してWバス84に加えられる。
Qレジスタ50からの信号QREG16−31−はQ
シフタMUX56に加えられる。
信号CDQSD0+、CDQSD1+およびCDQSD2
+は信号QREC16−31−の0ビツト位置、1ビツ
ト位置、2ビツト位置あるいは4ビツト位置のど
ちらかを左あるいは右シフトするようにシフト間
隔制御論理22−12からQシフタMUX56に
加えられる。
QシフタMUX56の出力信号はQレジスタに
蓄積される。Qレジスタ50の出力信号QREG16
−31−はドライバー54を介してIバスに転送さ
れる。
OBUS16−31−信号は、典型的に倍精度演算命
令の実行中、Qレジスタ50に蓄積するためにシ
フタMUX56に加えられる。
次の制御メモリ80のサイクルで、32ビツトオ
ペランドはシフタMUX19およびQシフタ
MUX56を通してシフトされる。左シフト中、
シフトエンド論理22−8は信号OBUS32−33−
を発生することによつてQレジスタ50からシフ
タMUX19に信号QREG16−17−をシフトす
る。信号QREG18−19−は左シフトのため直接シ
フタMUX19に加えられる。循環左シフトのた
めに、シフトエンド論理22−8は信号QLSH32
−35−としてMUX56に信号OBUS16−19−を
シフトする。
右シフトのため、シフタ間隔制御論理22−1
2が1ビツト、2ビツトあるいは4ビツト右シフ
トを指示するとき、信号OBUS28−〜OBUS31−
のうちの1つあるいはそれ以上の信号はQシフタ
MUX56によつて選択される。
XBレジスタ58はQシフタMUX56からの
QMUX16−19−信号を受信する。
アドレス形成中、例えば、第2図のBRAM1
2に蓄積されたアドレスワードはDRAM11に
蓄積されたインデツクスワードに加算され、合計
はYレジスタ24に蓄積される。
オペランドの大きさに依存して、インデツクス
値はアドレスワードを整列するためにシフトされ
る。もし右にシフトされるならば、アドレスワー
ドの右端をシフト・オフするインデツクスの残り
はXBレジスタ58に蓄積される。
続いて4つの出力信号XBREG0−〜XBREG3
−はデコーダ59にデコードされ、信号
HEXD16−〜HEXD31−およびQシフタMUX5
6を介してQレジスタ50に蓄積される。
XBレジスタ58は制御メモリ80のGPフイ
ールド(第4図)からの制御信号XBCLOK+に
よつて動作可能にされる。
信号SZTOWB+はシフタMUX19を動作可
能にするために制御メモリ80のビツトSH86,
87および89によつてシフトエンド論理22−
8から発生される。
第6図を説明する。
シフト間隔制御論理22−12はシフトの状
態、ビツト84〜89(第4図)のそれぞれを指
示する制御メモリ80から6つの信号CSSHF0+
〜CSSHF5+を受信する。
信号CSSHF0+〜CSSHF5+はCPU100か
らのクロツク信号MCLOCKの立上りで6つのフ
リツプフロツプ22−14〜22−19のそれぞ
れをセツト条件にする。
シフトレフト・フリツプフロツプ22−20
は、論理“1”である信号CSDSMO+および
CSDSM1+がアンドゲート22−28に加えら
れるとき、クロツク信号MCLOCK−の立上りで
シフトレフト動作を指示するようにセツトされ
る。これによつて、シフトレフトは強制的に信号
SHFLFT+をシフトレフト・フリツプフロツプ
22−20のセツト信号である論理“1”にす
る。
シフトレフトフリツプフロツプは、信号
CSDSM0+あるいはCSDSM1+のどちらかが論
理“0”の時または、両方の信号が右シフトを指
示する論理“0”であるとき、クロツク信号
MCLOCK+の立上りでリセツトされる。
第5図のシフタMUX19は3つのセクシヨン
に分割される。Lセクシヨン8ビツト位置8〜1
5を指示し、Mセクシヨンは8ビツト位置16〜
23を指示し、Rセクシヨンは8ビツト位置24
〜31を指示する。
信号CDBSD1+、CDBSD2+およびCDMSD0
+シフタMUX19のLセクシヨンおよびMセク
シヨンへのシフトを制御し、信号CDBSD1+、
CDBSD2+およびCDRSD0+はシフタMUX19
のRセクシヨンへのシフトを制御する。
これらの信号はドライバ22−46あるいはド
ライバ22−48によつてシフタMUX19に加
えられる。
シフトがフアームウエアワードから制御される
とき、ドライバ22−48は論理1であるナンド
ゲート22−40の出力信号SHFDIR−によつ
て選択される。
信号CRSHF2−が論理“1”で、信号
CRSHF3+およびCRSHF4+のうち論理“0”
のものが1つ以上あるときはSHFDIR−は論理
“1”である。それはフリツプフロツプ22−1
6,22−17および22−18のそれぞれの出
力信号である。
信号CDBSD2+は、フリツプフロツプ22−
19がセツトされると、ドライバ22−48に加
えられる信号CRSHF5+によつて発生される。
アンドゲート22−38に加えられる信号
CRSHF2+およびCDSHR4+が論理“1”であ
るとき、信号CDBSD1+が発生される。
ノア/アンドゲート22−30の出力信号
CDSHF4+はブール式に応答して論理“1”で
ある。
CDSHF4+=(−+4−) (++4++5+) (4−+5−) 論理“1”である信号CDMSD0+は下記のよ
うに発生される。
論理“1”であるノアゲート22−32に加え
られる信号CRSHF3+あるいはSHFLFT+によ
つて、信号CDSHF3−は強制的に論理“0”に
する。インバータ22−36は論理“1”である
信号CDMSD0+を発生するために論理“1”で
ある信号CDSHF3+を発生する。
論理“1”である信号CDRSD0+は次のよう
に発生される。ノアゲート22−34に加えられ
る論理“0”である信号CDSHF3−あるいは
CRSHF2+は論理“1”である信号CDSH23+
を発生する。
これによつて、ドライバ22−48の出力信号
CDRSD0+は強制的に論理“1”にする。
ドライバ22−42および22−44はQシフ
タMUX56の制御信号CDQSD0+、CDQSD1+
およびCDQSD2+を発生する。
ドライバ22−44は論理“1”である信号
SHFDIR−によつて動作可能にされる。
論理“1”である信号CDSHF3+によつて、
信号CDQSD0+は強制的に論理“1”にする。
論理“1”である信号CDSHF4+によつて、信
号CDQSD1+は強制的に論理“1”にする。
論理“1”である信号CRSHF5+によつて、
信号CDQSD2+は強制的に論理“1”にする。
F′レジスタ76からの信号によつてアドレス指
定されたPROM(図示されていない)からの信号
ODSIZ1+、ODSIZ2+およびODSIZ4+は論理
“0”である信号SHFDIR−によつてイネーブル
されるドライバ22−42および22−46に加
えられる。
これらの信号はQシフタMUX56に加えられ
るドライバ22−44から制御信号CDQSD2+、
CDQSD1+およびCDQSD0のそれぞれを発生し、
ドライバ22−46からシフタMUX19に印加
される信号CDBSD2+、CDBSD1+、CDMSD0
およびCDRSD0+のそれぞれを発生する。
信号ODSIZ1+、ODSIZ2+およびODSIZ4+は
CPU100によつて処理されるオペランドのタ
イプを表めす2進数を指示する。ビツトオペラン
ドを処理する命令の結果、2進コード001が得ら
れる。すなわち、信号ODSIZ1+は論理“1”
で、信号ODSIZ2+およびODSIZ4+は論理“0”
である。デイジツトオペランド(4ビツト)を処
理する命令の結果、2進コード010が得られる。
半ワードオペランド(8ビツト)に対しては、
2進コードは011である。
1ワードオペランド(16ビツト)に対しては、
2進コードは100である。
2ワードオペランド(32ビツト)に対しては、
2進コードは101である。4ワードオペランド
(64ビツト)に対しては、2進コードは110であ
る。これらの信号ODSIZ1〜ODSIZ4+は以下に
述べる。
信号CRSHF0+はMUX20−2およびMUX
21の選択端子に加えられる。信号ODSIZI+、
ODSIZ2+およびODSIZ4の発生および機能は共
同係属関連出願「中央処理装置における識別子語
のデータタイプフイールドを使用することによつ
て拡張された整数命令のマイクロプログラム制
御」に記載されている。
第7図を説明する。
シフトエンド論理22−8は右にシフトされる
ようにオペランドあるいはアドレスワードの左端
でのデータビツトあるいはアドレスビツトの取替
えおよびシフトエンド論理22−8の制御信号
FSHINI+およびFSHIN2+の機能として左にシ
フトされるようにオペランドあるいはアドレスワ
ードの右端でのビツトの取替えを制御する。
シフトエンド論理22−8はまたシフタMUX
19とQシフタMUX56間のデータあるいはア
ドレスビツトのシフト動作を制御する。
シフトエンド論理22−8によつて制御される
4つのシフトのタイプがある。すなわち、24ビツ
ト演算、32ビツト演算、32ビツト循環および32ビ
ツトオープン。24ビツト演算シフトはOバス17
とWバス84間で行なわれる。
信号OBUS08−31−によつて表わされる24ビツ
トはシフトされ、信号WBUS08−31+によつて
表われる24ビツトとして生じる。
右演算シフトと仮定する。最も左側のビツト
OBUS08−は符号ビツトと仮定する。+符号は2
進“0”、−符号は2進“1”である。オペランド
あるいはアドレスワードが右にシフトされるの
で、符号ビツトはそれがシフトされる各ビツト位
置に反復される。
例えば、オペランド24ビツト長は−符号を有
し、左端が1001…である。
2ビツトを右にシフトする結果、Wバス84に
1111001…が得られる。
最も右側の2ビツトは消滅する。左の演算シフ
ト中、符号ビツトは消え、オペランドの右端は2
進0にされる。
右循環シフト中、オペランドの右端からこぼれ
たビツトはオペランドの左端のビツトと取替えら
れるために使用される。左循環シフト中、オペラ
ンドの左端からこぼれたビツトはオペランドの右
端で空いたビツト位置に蓄積される。
32ビツトシフト動作中、16ビツトはQレジスタ
50に蓄積され、32ビツトオペランドのうち残り
の16ビツトがシフタMUX19のM部およびR部
に送られる同じサイクル中、QシフタMUX56
に送られる。
右シフト中、2進ビツトはシフタMUX19の
右端からQシフタMUX56の左端に送られる。
同様に、左シフト中、2進ビツトはQシフタ
MUX56の左端からシフタMUX19の右端に
送られる。
GPフイールドの制御メモリ80(第4図)の
ビツトによつて発生された信号FSHIN1+および
FSHIN2+はインバータ22−82および22−
80のそれぞれで反転され、信号FSHIN1−およ
びFSHIN2−としてデコーダ22−84の入力に
加えられる。デコーダ22−84の出力信号
CDOPEN−、CDCIRC−、CDAR32−および
CDAR24−は第5図のドライバ20−8および
20−10に加えられるソフトウエアビジブルフ
ラグの発生を制御するためにIレジスタ57に加
えられる。
論理“0”である信号FSHIN1−および論理
“1”である信号FSHIN2−は左あるいは右循環
シフトを指示する信号CDCIRC−を選択する。論
理“1”である信号CDCIRC−はOバス17の信
号OBUS17−、OBUS18−およびOBUS19−のそ
れぞれに応動するようにナンドゲート22−9
2、22−94および22−96を条件付ける。
また、論理“1”である信号FSHIN1−および論
理“1”である信号FSHIN2+は信号SHENDQ
+およびナンドゲート22−78を介して信号
QLSH32−を発生するために信号OBUS16−に応
動するようにノア/アンドゲート22−76を条
件付ける。
この結果、シフタMUX19のビツト位置16
からQシフタMUX56のビツト位置に左循環シ
フトされる。
QシフタMUX56のビツト位置16からシフ
タMUX19のビツト位置への左シフトは1ビツ
トおよび2ビツト左シフトするために信号
QREG16−およびQREG17−からの信号OBUS32
−およびOBUS33−を発生するためにナンドゲー
ト22−64に加えられる信号QRLDEN−によ
つて条件付けられる。
4ビツト左にシフトするために、信号QREG18
−およびQREG−はシフタMUX19のビツト位
置30および31のそれぞれに直接加えられる。
フアームウエアだけが1ビツトあるいは2ビツ
トの左シフトを要求し、24ビツト左シフト動作中
4ビツトの左シフトを決して要求しないので、信
号QREG16−およびQREG17−は、イネーブル
されないQレジスタ50で24ビツト左にシフト中
シフタMUX19のビツト位置30および31を
強制的に2進“0”にするようにナンドゲート2
2−64および22−66によつて制御される。
信号QRLDEN−はノア/アンドゲート22−
60、信号QRLDEN+およびインバータ22−
62を介してフアームウエア信号CRSHF1−、
CRSHF2−およびCRSHF5−から発生される。
ナンドゲート22−98に加えられた信号
QRLDEN+およびCPU100からのクロツク信
号MCX000−はQシフタMUX56の出力と共に
Qレジスタ50をロードするためのロード信号
QRLOAD−を発生する。
32ビツト長を右に循環シフトあるいは右にオー
プンシフトするため論理“1”である信号
CRSHF1+およびFSHIN2+はMUX20−6を
イネーブルする信号OBQREN−を発生するため
ナンドゲート22−88に加えられる。
循環シフトのため論理“0”である信号
FSHIN1+は信号OBQR12−15−、ワイヤードオ
ア17−2およびOBUS12−15−を介して信号
QREG28−31−をOバス17に転送する。
右オープンシフトのため信号FSHIN1+が論理
“1”であるならば、信号OBUS12−15−は強制
的に論理“0”にされる。
したがつて、右循環シフト中QシフタMUX5
6のビツト位置31からシフトするビツトは信号
WBUS16+で起動してWバス84上に生じる。
例えば、2ビツト右にシフトするため、Qシフタ
MUX56の位置30および31における2進ビ
ツトはシフタMUX19のビツト位置14および
15に転送され、信号WBUS16+および
WBUS17+にシフトされる。
2ビツト右にオープンシフト中、2つの2進
“0”は信号WBUS16+およびWBUS17+を強制
的に2進“0”にするようにシフタMUX19を
通してシフトされる。
MUX20−2はノアゲート22−68からの
信号によつてイネーブルされ、MUX21はナン
ドゲート22−70からの信号YPTOOB−によ
つてイネーブルにされる。
ナンドゲート22−72はドライバ20−8お
よび20−10をイネーブルするように信号
RITOOB−を発生する。
第8図を説明する。24のマルチプレクサ、
MUX19−8〜19−31は第5図のシフタ
MUX19を形成する。
これらのマルチプレクサはOバス17をWバス
84に結合する。MUX19−8〜MUX19−
31はOバス17の信号OBUS08−31−を受信
し、第10図に示されているように選択信号
CDBSD1+、CDBSD2+、CDMSD0+および
CDRSD0+によつて指定されるように左あるい
は右に信号の0ビツト位置、1ビツト位置、2ビ
ツト位置あるいは4ビツト位置のどちらかシフト
する。選択信号CDBSD2+およびCDBSD1+は
MUX19−18〜19−31の選択端子1およ
び2のそれぞれに加えられる。選択信号
CDMSD0+はMUX19−8〜MUX19−23
に選択端子4に加えられ、選択信号CDRSD0+
はMUX19−24〜MUX19−31の選択端
子4に加えられる。
選択信号CDBSD2+およびCDBSD1+が論理
“0”であるとき、シフタMUX19はスワツプ
モード、すなわちツウインモードかあるいはスト
レート・スルモードである。
第10図を説明する。“L”はビツト位置8〜
15であり、“M”はビツト位置16〜23であ
り、“R”はビツト位置24〜31(左、真中、
右)である。
第10図のh行に示されているようにスワツプ
モードで、信号CDMSD0+およびCDRSD0+は
論理“0”であるとき、信号OBUS24−31−は
MUX19−8〜MUX19−23のそれぞれの
端子0に加えられ、またMUX19−16〜19
−23のそれぞれの0端子に加えられる。
信号OBUS08−15はMUX19−24〜19−
31のそれぞれに加えられる。
これらの信号はMUX19−8〜19−31を
通つてWバス84の信号WBUS08−31+(RRM
→LMR)に達する。
第10図のi行に示されているように、選択信
号CDMS0+が論理“0”で、選択信号CDRSD0
+が論理“1”であるとき、信号OBUS24−31−
はMUX19−8〜19−15の0端子のそれぞ
れに、MUX19−16〜MUX19−23の端
子0のそれぞれに、MUX19−24〜19−3
1の端子4のそれぞれに、加えられ、Wバス84
にRRRとして生じる。半ワードオペランドの命
令を実行するとき、これはバイト操作をするため
にCPU100をイネーブルする。
Oバス信号OBUS08−は、2進“0”が+符号
を指示し、2進“1”が−符号を指示する符号ビ
ツトを指示する。
符号ビツト信号OBUS08−はMUX19−8の
端子1,2,3および4、すなわちMUX19−
9の端子1,2および3、MUX19−10の端
子1および2、MUX19−11の端子1および
MUX19−12の端子1、に加えられる。
MUX19−8〜19−12の端子5,6ある
いは7が作動しているので、左シフトの結果、符
号ビツトは消滅する。1ビツト左へシフト中、端
子5はOバス17の信号OBUS09−〜OBUS13−
をWバス84の信号WBUS08+〜WBUS12のそ
れぞれに転送することによつて作動される。
端子6は、2ビツト左へシフト中、信号
OBUS17−〜OBUS14−をWバス84の信号
WBUS08+WBUS12+のそれぞれに転送するこ
とによつて作動される。
端子7は、4ビツト左へシフト中、信号
OBUS12−〜OBUS16−をWバス84の信号
WBUS08+〜WBUS12+のそれぞれに転送する
ことによつて作動される。
1ビツト位置、2ビツト位置あるいは4ビツト
位置の右シフト中、符号はシフトされるビツト位
置数に対して反復される。
1ビツト右シフトに対して、端子3はMUX1
9−8およびMUX19−9を通して符号ビツト
信号OBUS08−、MUX19−10〜MUX19
−12のそれぞれを通して信号OBUS09−〜
OBUS11−を転送することによつて作動される。
2ビツト右シフトに対しては、端子2は符号ビ
ツト信号OBUS08をMUX19−8〜MUX19
−10を通しておよび信号OBUS09−および
OBUS10−をMUX19−11およびMUX19
−12のそれぞれを通して転送するとき作動され
る。
4ビツト右シフトに対して、端子1はMUX1
9−8〜MUX19−12を通して符号ビツト信
号OBUS08−をおよびMUX19−13を通して
信号OBUS09−を転送するとき作動される。
4ビツト右オープンシフト中(第10図の第a
行)、MUX19−8〜MUX19−31の端子は
作動され、信号OBUS09−〜OBUS27−はMUX
19−13〜MUX19−31によつてWバス8
4の信号WBUS13+〜WBUS31+にシフトされ
る。
符号ビツト信号OBUS08−は信号WBUS08+
〜WBUS12+に転送される。
信号OBUS12−〜OBUS15−は論理“1”入力
端子1を選択するMUX20−6によつて強制的
に論理“0”にされるので、信号WBUS16+〜
WBUS19+は強制的に論理“0”にされる。信
号OBUS28−〜OBUS31−はなくなる。
4ビツト左オープンシフト中(第10図の第g
行)、MUX19−8〜19−31の端子7はア
クテイブである。信号OBUS12−へ信号OBUS31
−はMUX19−8〜MUX19−27によつて
Wバス84の信号WBUS08+WBUS27+にシフ
トされる。信号OBUS08−〜OBUUS12−はなく
なる。
MUX19−28〜MUX19−31の端子7
のそれぞれに加えられる信号OBUS32−、
OBUS33−、QREG18−およびQREG19−は、強
制的に信号WBUS28+〜WBUS31+を論理“0”
にするとき、論理“0”である。
論理“1”であるナンドゲート22−64および22
−66への入力信号QRLDEN−(第7図)によつ
て、信号OBUS32−およびOBUS33−を強制的に
論理“0”にする。
また、論理“1”であるナンドゲート22−9
8の出力信号QRLOAD−はQレジスタ50のロ
ードを防ぎ、出力信号QREG18−およびQREG19
−を強制的に論理“1”にすることを防ぐ。
2ビツトおよび1ビツト左オープンシフト(第
10図における第f行および第e行)は4ビツト
左オープンシフトと同じ方法で作動する。
2ビツト左オープンシフト中、MUX19−8
〜MUX19−31の端子6は作動さ、1ビツト
左オープンシフト中、端子5は作動される。
同様に、2ビツトおよび1ビツト右オープンシ
フトに対して(第10図における第b行および第
c行)、MUX19−8〜MUX19−31の端子
2および3のそれぞれは作動される。
第9図を説明する。
QシフタMUX56は16のマルチプレクサ、
MUX56−16〜MUX56−31を含む。
Qレジスタ50およびQシフタMUX56は、
右シフト動作実行中、シフタMUX19の16ビツ
トの拡張である。
シフト選択制御信号CDQSD2+、CDQSD1+
およびCDQSD0はシフト間隔制御論理22−1
2で発生され、MUX56−16〜MUX56−
31の1選択端子、2選択端子および4選択端子
のそれぞれに加えられる。
第6図から、信号CDQSD2+およびCDBSD2
+は機能的に同一で、信号CDQSD0+および
CDMSD0+は機能的に同一である。しかしなが
ら、信号CDQSD1+およびCDBSD1+は機能的
に同一でない。
論理“0”である信号CDQSD2+、CDQSD1
+およびCDQSD0+は、アドレス発生動作中、
QMUX16−QMUX31−を介してデコーダの出力
信号HEXD16−31−(第5図)をQレジスタにロ
ードするためMUX56−16〜MUX56−3
1の0端子を選択する。
論理“0”である信号CDQSD2+および
CDQSD1+と論理“1”である信号CDQSD0+
はOバス17をロードするためにMUX56−1
9〜56−31の端子4を選択する。
信号OBUS16−〜OBUS31−はQレジスタ50に
直接ロードする。
MUX19−8〜MUX19−31におけるよ
うに、制御信号CDQSD2+、CDQSD1+および
CDQSD0+は4ビツト右シフトに対してはMUX
56−16〜MUX56−31の端子1,2ビツ
ト右シフトに対しては端子2,1ビツト右シフト
に対して端子3,1ビツト左シフトに対しては端
子5,2ビツトシフトに対して端子6,4ビツト
左シフトに対しては端子7、を選択する。
32ビツト右オープンシフトあるいは循環シフト
動作中、シフタMUX19の右端はQMUX56
の左端に結合される。信号OBUS28−、OBUS29
−、OBUS30−およびOBUS31−は4ビツト右シ
フト動作に対してMUX56−16〜MUX56
−19の端子1のそれぞれに加えられる。
この結果、信号OBUS28−〜OBUS31−はQレ
ジスタ50の入力信号QREG16−〜QREG19−の
それぞれに生じる。
信号OBUS30−およびOBUS31−は2ビツト右
シフト動作に対してMUX56−16および
MUX56−17の端子2に加えられる。信号
OBUS31−は1ビツト右シフト動作に対して
MUX56−16の端子3に加えられる。
32ビツトオープン動作、演算あるいは循環左シ
フト動作中、信号OBUS32−、OBUS33−、
QREG18−およびQREG19−は4ビツト左シフト
動作に対してはMUX19−28〜MUX19−
31の端子7のそれぞれに加えられる。
前記のように、第7図を説明する。
Qレジスタ50が動作可能とされると、信号
QRLDEN−は信号QREG16−およびQREG17−
のそれぞれから信号OBUS32−およびOBUS33−
を発生するようにナンドゲート22−64および
22−66をイネーブルにする。
これはWバス84の信号WBUS28+〜
WBUS31+に信号QREG16−〜QREG19−をの
せる。同様に、信号OBUS32−およびOBUS33−
は2ビツト左シフト動作に対してMUX19−3
0およびMUX19−31の端子6に加えられ、
信号OBUS32−は1ビツト左シフト動作に対して
MUX19−31の端子5に加えられる。
32ビツトシフト動作中、信号QLSH32−、
QLSH33−、QLSH34−およびQLSH35−は4ビ
ツト左シフトに対してMUX56−28〜MUX
56−31の端子7に加えられる。
第7図を説明する。DALU15からの信号
OBUS16−又は信号DALU08+は信号QLSH32−
を発生する。
論理“1”である信号MISCIA+は信号
QUOBIT−を発生するように排他的オアゲート
22−74に加えられる。
乗算又は除算実行中、信号QUOBIT−は、1
ビツト左シフト動作中MUX56−31の端子5
に信号QLSH32−のような信号を加えるように作
動される。
商を展開するとき、信号QUOBIT−は部分積
の符号又は減算結果の符号を指示する。
信号FSHIN2−およびFSHIN2+は信号
OBUS16−あるいはQUOBIT−のどちらかを選
択するためにノア/アンドゲート22−76を制
御する。
論理“0”である出力信号SHENDQ−は信号
QLSH32−を発生するようにナンドゲート22−
78をイネーブルにする。ナンドゲート22−9
2,22−94および22−96は信号OBUS17
−、OBUS18−およびOBUS19−のそれぞれから
信号QLSH33−、QLSH34−およびQLSH35−を
発生するようにデコーダ22−84からの信号
CDCIRC−によつてイネーブルされる。これは4
ビツト循環左シフト中信号QMUX28−〜
QMUX31−を介して信号OBUS16−〜OBUS19
−をQレジスタに転送する。
同様に、信号QLSH32−およびQLSH33−は2
ビツト循環左シフト動作に対してMUX56−3
0およびMUX56−31の端子6に加えられ、
信号QLSH32−は1ビツト循環シフト動作に対し
てMUX56−31の端子5に加えられる。ソフ
トウエア・ビジブル・フラグを含むIレジスタ5
7の内容はドライバ20−8および20−10を
介してOバス17の信号OBUS24−〜OBUS31−
に加えられ、MUX19−15〜MUX19−2
3およびWバス84の信号WBUS16+〜
WBUS31+に対して転送するためMUX19−2
4〜MUX19−31の端子0に加えられる。信
号WBUS08+〜WBUS15+はこの動作に対して
重要でない。
MUX20−6に加えられる論理“0”である
信号FSHIN1+およびOBQREN−と共に、32ビ
ツト循環右シフト動作に対して、信号QREG28−
〜QREG31−はワイヤードオア17−2および信
号OBQR12−15−を介してOバス17の信号
OBUS12−〜OBUS15−のそれぞれにMUX20
−6(第5図)を通して加えられる。1ビツト循
環右シフトに対して、信号QREG31−は信号
OBUS15−を介してWバス84の信号WBUS16
+およびMUX19−16の端子3に加えられ
る。
2ビツト循環右シフトに対して、信号QREG30
−およびQREG31−はWバス84の信号
WBUS16+およびWBUS17+に転送するため
MUX19−16およびMUX19−17の端子
2に加えられる信号OBUS14−およびOBUS15−
を発生する。
4ビツト循環右シフトに対して、信号QREG28
−〜QREG31−はWバス84の信号WBUS16+
〜WBUS19+に転送するためMUX19−16〜
MUX19−19の端子1に加えられる信号
OBUS12−〜OBUS15−を発生する。
32ビツト右オープンシフトに対して、論理
“1”である信号FSHINIはMUX20−6の端子
1を選択する。
端子1に加えられる高信号によつて、OBUS12
−〜OBUS15−信号を強制的に論理“0”にす
る。それによつて、MUX19−16の端子3、
MUX19−16およびMUX19−17の端子
2およびMUX19−16〜MUX19−19の
端子1を1ビツト右オープンシフト、2ビツト右
オープンシフト又は4ビツト右オープンシフトの
それぞれに対して強制的に論理“0”にする。
ナンドゲート22−88の出力信号OBQREN
−(第7図)は信号CRSHF1+およびFSHIN2+
によつて論理“0”に強制的にされる。それによ
つて、MUX20−6を動作可能にする。これは
信号を強制的に論理“1”にすることによつて
MUX20−4を動作不可能にする。
Pレジスタ23の信号PCTR08−31+および
YCTR08−31+信号は信号YPTOOB−によつて
動作可能にされる16のMUX21の端子0および
1のそれぞれに加えられる。
信号YPTOOB−はナンドゲート22−70に
加えられるシフト信号CRSHF2−、CRSHF3+
およびCRSHF4−によつて発生される。シフト
信号CRSHF0+はMUX21の0端子又は1端子
を選択する。出力信号OBYP08−31はワイヤー
ドオア17−2およびOバス17を介してシフタ
MUX19に加えられる。その信号はシステムバ
ス105(第1図)にデータを伝送されるような
アドレスでPレジスタ23又はYレジスタ24か
らの内部アドレスを整列するために左に1ビツト
位置シフトすることなくしてWバス84に転送さ
れる。
シフタMUX19およびQシフタMUX56は
メモリ106に蓄積されオペランドのアドレスロ
ケーシヨン展開に使用される。
そのアドレスはBRAM12に蓄積されるベー
スアドレスにスケールされるDRAM11に蓄積
されるインデツクス値を加算し、Yレジスタ24
にその結果を蓄積することにつて展開される。
インデツクス値はRバス13上にシフタMUX
19のビツト位置の右(もしオペランドが1ワー
ド長より大きいならば)又は左(もくオペランド
が1ワード長より小さいならば)に整列されたワ
ードアドレス2進点で生じる。もし第10図に示
されているようにオペランドが数ビツトからなる
ならば、インデツクス値は4ビツト位置右にシフ
トされる。もしオペランドが4ビツトデイジツト
又は8ビツト半ワードからなるならば、インデツ
クス値は2ビツト位置あるいは1ビツト位置右に
それぞれシフトされる。シフトアウトされたイン
デツクス値ビツトは選択されたデイジツト又は半
ワードのオペランド内の位置を指示する。
2ワード又は4ワードに対して、インデツクス
値は1ビツト位置左へ又は2ビツト位置左へそれ
ぞれシフトされる。インデツクス値の最も右側の
位置は1つの0ビツト又は2つの0ビツトに強制
的にされる。
例えば、オペランドが数ビツトからなると仮定
する。フアームウエアはインデツクス値のスケー
ルされたシフトを指示する。
ドライバ22−42およびドライバ22−46
に加えられた信号ODSIZ4+、ODSIZ2+および
ODSIZ1+は、選択信号CDBSD2+および
CDQSD2+を強制的に論理“1”にし、選択信
号CDRSD0+、CDQSD0+、CDBSD1+、
CDQSD1+およびCDMSD0+を強制的に論理
“0”にする。それによつて、MUX19−8〜
MUX19−31およびMUX56−16〜MUX
56−31の端子1を選択する。
これはYレジスタ24に蓄積するためのWバス
84のインデツクス値の信号OBUS08−〜
OBUS27−をシフトし、XBレジスタ58(第5
図)に蓄積するためMUX56−16〜MUX5
6−19を通して信号OBUS28−〜OBUS31−を
シフトする。
信号XBREG0+〜XBREG3+はまた、第2の
フアームウエアサイクルで4対16のデコーダ59
に加えられる。
出力信号HEXD16−31はMUX56−16〜
MUX56−31の端子0を介してQレジスタ5
0に蓄積され、次く第3のフアームウエアサイク
ルで、Iバス14に送り出される。
4デイジツトのうちの1ワードを含むオペラン
ドは2ビツト位置の右シフトを発生する。
信号OBUS30−およびOBUS31−はXBレジス
タ58に蓄積するためMUX56−16および
MUX56−17の端子2に加えられる。デコー
ダ59は、オペランドワードの1デイジツトを選
択するQレジスタ50に蓄積するため4つの信号
のうちの1つの信号を発生する。
同様に、21/2ワードのうちの1ワードを含むオ
ペランドは1ビツト位置右へのシフトを発生す
る。
その結果、デコーダ59で半ワードを選択する
2つの信号のうちの1つの信号を発生する。
1ワードのためのインデツクス値はシフトされ
ないが、2ワードのためのインデツクス値は1ビ
ツト左にシフトされ、4ワードのためのインデツ
クス値は2ビツト左にシフトされることが第10
図からわかる。左にシフトする結果、2進0ビツ
トが1ビツト左へシフトするためのMUX19−
31の端子5の信号OBUS32−およびMUX19
−31の信号OBUS32−およびOBUS33−を介し
てインデツクス値の右端にシフトされる。
MUX19−08〜MUX19−31は74S251
回路で、MUX56−16〜MUX56−31は
74S151回路である。イネーブル端子Fに加えら
れる信号SZTOWB+によつて動作不可能にされ
るとき、74S251回路は高インピーダンス出力を
有する。
74S151回路は論理“0”である接地信号によ
つてイネーブルされる。Qレジスタ50は
74S374回路である。
MUX20−2,21および20−4は74S258
回路であり、MUX20−6は74S257回路であ
る。ドライバ20−8および20−10は
74S240回路である。ドライバ22−42、22
−44、22−46および22−48は74S121
回路である。フリツプフロツプ22−14〜22
−20は74S74回路である。
本発明の好ましい実施例について記載したが、
当業者は、多くの変更および修正が記載した発明
に影響を及ぼすかもしれないが、なお、特許請求
の範囲に記載した発明の範囲内にあることがわか
る。
したがつて、前記に示されている構成要素の多
くは同じ結果を提供し、特許請求の範囲に記載し
た発明の精神内にある相異る構成要件によつて変
更され、取替えられる。
したがつて、本発明は特許請求の範囲の範囲に
よつて示されるようにのみ本発明を限定するもの
である。
【図面の簡単な説明】
本発明の特徴である新規の機能は特許請求の範
囲に詳細に述べられている。しかしながら、本発
明の構成および動作は添付図面と共に下記の説明
を参照することによつてよく理解されるであろ
う。第1図は本発明の装置が含まれるシステムの
全体的なブロツク図である。第2図は本発明の中
央処理装置の詳細なブロツク図である。第3図は
本発明の中央処理装置の演算装置に対する接続の
詳細図である。第4図は本発明の中央処理装置に
含まれる制御メモリのロケーシヨンの構成の詳細
図である。第5図は桁送り装置の論理ブロツク図
である。第6図はシフト距離制御論理22−12
の論理図である。第7図はシフトエンド論理22
−8の論理図である。第8図はシフタマルチプレ
クサ19の論理図である。第9図はQシフタマル
チプレクサ56の論理図である。第10図はシフ
トマルチプレクサ19に加えられる入力制御選択
信号のための出力シフト信号を示しているテーブ
ルである。 100……中央処理装置(CPU)、101……
科学命令処理装置(SIP)、102……商用命令
処理装置、103……キヤツシユ/MMU装置、
105……電気システムバス、106……メモリ
モジユール、107……入出力(I/O)コント
ローラ、108……I/O装置。

Claims (1)

  1. 【特許請求の範囲】 1 複数の制御信号を発生するため命令信号に応
    答する制御メモリ80と、オペランド信号を記憶
    し前記オペランド信号を第1バス(外部〔〕バ
    ス17)に移送し前記オペランド信号を表す複数
    の第1のバス信号を発生するセレクタ手段60,
    11,20−2,20−4と、前記制御信号を受
    信しその受信信号に応答して前記オペランド信号
    の移送とシフトを制御する信号を発生するシフト
    間隔制御手段22−12を含み命令に従つてオペ
    ランド信号のシフト動作を実行する処理装置であ
    つて、 前記セレクタ手段を制御する複数のシフト制御
    信号を発生する第1の複数の制御信号に応答する
    蓄積手段22−14ないし22−20と、前記シ
    フト動作中に前記オペランド信号がシフトされる
    ビツト位置の個数を示す複数のシフト信号を発生
    する前記複数のシフト制御信号に応答する論理手
    段22−30ないし22−30を含むシフト間隔
    制御手段22−12と、 前記第1バスに接続され第1のオペランドワー
    ドを表す前記複数の第1のバス信号を受信し、前
    記第1のオペランドワードを表す複数のマルチプ
    レクサ信号を発生するよう第1の状態での前記複
    数のシフト信号に応答するシフト手段19,56
    と、 前記複数のマルチプレクサ信号を記憶し第1の
    動作サイクル中に複数のレジスタ信号を発生する
    よう前記複数のシフト制御信号に応答するレジス
    タ手段(Qレジスタ50)と、 を具備し、前記シフト手段19,56は更に第2
    のオペランドワードを表す前記複数の第1のバス
    信号及び前記第1のオペランドワードを表す前記
    複数のレジスタ信号を受信し、前記第2のオペラ
    ンドワードを第2バス(書込〔W〕バス84)へ
    移送する第2の状態での前記複数のシフト信号に
    応答し前記第1のバス信号からシフトされる複数
    の第2のバス信号を発生し第2の動作サイクル中
    に前記第2の状態で前記複数のシフト信号により
    定められたビツト位置の数だけ前記レジスタ信号
    からシフトされる前記複数のマルチプレクサ信号
    を発生すること、また、シフトを受ける際情報エ
    レメントの高位または低位における或るビツトの
    置換を制御するシフトエンド手段22−8は前記
    第2のオペランドワードを表す前記複数の第1の
    バス信号の第1エンド信号及び前記複数のレジス
    タ信号の第2エンド信号を受信しシフト形成を示
    す第2の複数の制御信号に応答し、前記第2の複
    数の制御信号が循環シフトを示す場合前記複数の
    シフト制御信号が前記第1エンド信号を表す第1
    のシフトエンド信号及び前記第2エンド信号を表
    す第2のシフトエンド信号を発生し、また前記第
    2の複数の制御信号がオープンシフトを示す場合
    2進数0を表す前記第1のシフトエンド信号及び
    第2のシフトエンド信号を発生すること、さら
    に、前記シフト手段が前記複数のマルチプレクサ
    信号を発生するよう前記第1のシフトエンド信号
    をシフトさせかつ前記第2の状態における複数の
    シフト信号により指定されるビツト位置の数だけ
    前記複数の第2のバス信号と前記複数のマルチプ
    レクサ信号が前記複数の第1のバス信号と前記複
    数のレジスタ信号からシフトされる前記第2の動
    作サイクル中に前記複数の第2のバス信号を発生
    するよう前記第2のシフトエンド信号をシフトさ
    せるよう応答することを特徴とする処理装置。 2 前記シフト間隔制御手段は、 左シフト動作を指示する左シフト信号を含む前
    記複数のシフト制御信号を発生するため前記第1
    の複数の制御信号に応動する複数のフリツプフロ
    ツプを含む前記蓄積手段と、 第1および第2の複数のシフト信号を含む前記
    複数のシフト信号を発生するため前記複数のシフ
    ト制御信号に応動する論理手段と、 を具備することを特徴とする特許請求の範囲第1
    項に記載された処理装置。 3 前記シフト手段は、 前記第1のオペランドワードを表わす前記複数
    の第1のバス信号を受信し、前記第1の動作サイ
    クル中前記複数のマルチプレクサ信号を発生する
    ため前記第1の状態の第1の複数のシフト信号に
    応動し、前記複数のマルチプレクサ信号を受信
    し、前記第2の動作サイクル中前記第2の状態の
    前記第1の複数のシフト信号によつて指定された
    ビツト位置数をシフトされる前記複数のマルチプ
    レクサ信号を発生するため前記第2の状態の前記
    第1の複数のシフト信号に応動する第1のシフト
    手段と、 前記第2のオペランドワードを表す前記複数の
    第1のバス信号を受信し、前記第2の状態の前記
    第1の複数のシフト信号および前記第2の複数の
    シフト信号は同じシフト間隔を指定する前記第2
    の動作サイクル中第2の複数のシフト信号によつ
    て指定されたビツト位置数をシフトされる前記複
    数の第2のバス信号を発生するための前記第2の
    複数シフト信号に応動する第2のシフト手段と、
    を具えたことを特徴とする特許請求の範囲第2項
    記載の処理装置。 4 前記第1のシフト手段は、 複数の第1のマルチプレクサから成り、その各
    各は前記複数のマルチプレクサ信号のうちの1つ
    の信号を発生し、複数の第1の入力端子のうちの
    1つの端子を選択するため前記第1の複数のシフ
    ト信号に応動する前記複数の第1の入力選択端子
    を有し、前記複数の第1のバス信号は前記複数の
    第1のバス信号からOビツト位置をシフトされる
    前記複数のマルチプレクサ信号を発生するため前
    記複数の第1のマルチプレクサの各々の前記複数
    の入力端子のうちの所定の端子に結合されること
    を特徴とする特許請求の範囲第3項記載の処理装
    置。 5 前記複数の第1のマルチプレクサの各々は前
    記複数の第1入力端子に結合され、前記第1の複
    数のシフト信号によつて指定されるように1ビツ
    ト位置、2ビツト位置又は4ビツト位置左又は右
    にシフトされる前記複数のマルチプレクサ信号を
    発生するための前記複数の第1の入力端子のうち
    の1つの端子を選択するため前記第1の複数のシ
    フト信号を応動する前記複数のレジスタ信号を有
    することを特徴とする特許請求の範囲第4項記載
    の処理装置。 6 前記第2のシフト手段は、複数の第2のマル
    チプレクサから成り、その各々は、前記複数の第
    2の入力端子のうちの1つの端子を選択するため
    前記第2の複数のシフト信号に応動する複数の第
    2の入力選択端子を有し、前記複数の第1のバス
    信号は前記複数の第2の入力端子に結合され、前
    記第2の複数のシフト信号によつて指定されるよ
    うに0ビツト位置、1ビツト位置、2ビツト位置
    又は4ビツト位置左又は右にシフトされる前記複
    数の第2のバス信号を発生するための前記複数の
    第2の入力端子のうちの1つの端子を選択するた
    め前記第2の複数のシフト信号に応動するように
    結合されることを特徴とする特許請求の範囲第5
    項記載の処理装置。 7 前記複数の第2のマルチプレクサは前記第2
    のマルチプレクサの各々の8つの左群、中間群お
    よび右群を含み、 前記第2の複数のシフト信号は該左群および前
    記中間群の前記第2の入力選択端子に加えられる
    第3の複数のシフト信号および前記第2のマルチ
    プレクサの前記右群に加えられる第4の複数のシ
    フト信号を含み、 前記第2の入力選択端子に加えられる第1の状
    態の前記第3および第4の複数のシフト信号は前
    記左群、前記複数の第2のバス信号を発生するよ
    うに前記複数の第1のバス信号の右群と結合され
    る前記中間群および前記右群の前記複数の第2の
    入力端子を選択し、 前記複数の第1のバス信号の前記右群は3度反
    復され、第2の状態の前記第3および第4のシフ
    ト信号は前記複数の第2の入力端子を選択し、 前記複数の第1のバス信号の中間群は第2マル
    チプレクサの前記右群によつて選択され、 前記複数の第1のバス信号の前記右群はバイト
    スワツピング動作およびツウイニング動作を実行
    するため前記複数の第2のバス信号を発生するよ
    うに前記第2のマルチプレクサの前記中間群およ
    び前記左群によつて選択されることを特徴とする
    特許請求の範囲第6項記載の処理装置。 8 前記シフトエンド手段は、 前記循環シフトを示す第1の状態の循環シフト
    信号および前記オープンシフトを示す第2の状態
    の前記オープンシフト信号を発生するため前記第
    2の複数の制御信号に応動するデコーダと、前記
    第1のエンドシフト信号を発生し、前記複数の第
    1のマルチプレクサと結合するために前記複数の
    第1のバス信号の前記中間群の左端信号からの該
    循環シフト信号および前記第1のシフトエンド信
    号に応動する複数のアンドゲートとから成り、 前記循環シフト信号が前記第2の状態であると
    き、前記レジスタ装置の右端は強制的に2進
    “0”にされ、前記循環シフト信号が前記第1の
    状態であるとき、前記レジスタ装置の右端は強制
    的に前記複数の第1のバス信号の前記中間群の左
    端信号にされ、前記複数の第1のシフト信号は左
    シフトを指示することを特徴とする特許請求の範
    囲第7項記載の処理装置。 9 前記シフトエンド手段はさらに、 第1の状態の前記第2の複数の制御信号および
    前記レジスタ装置の右端から前記第2のエンド信
    号を受信し、前記複数の第1のバス信号の前記左
    群に結合される前記第2のエンドシフト信号を発
    生し、循環右シフト中前記複数の第2のマルチプ
    レクサの前記中間群にシフトされるための前記複
    数のシフト制御信号に応動し、オープン右シフト
    中2進“0”信号を前記複数の第2のマルチプレ
    クサの前記中間群にシフトするための2進“1”
    である前記第2のエンドシフト信号を発生するた
    め第2の状態の前記第2の複数の制御信号に応動
    する第3のマルチプレクサ装置とから構成される
    ことを特徴とする特許請求の範囲第8項記載の処
    理装置。 10 インデツクス値を表わす前記第1のバス信
    号を受信する前記第1のシフト手段はさらに、 ビツト位置の所定数によつてシフトされる前記
    第1のバス信号を表わす前記複数のマルチプレク
    サを受信し、複数のインデツクス値信号を発生す
    るためのインデツクス値レジスタと、 前記レジスタ装置に蓄積するため前記メモリサ
    ブシステムに蓄積された前記オペランド信号の左
    部の位置を示す複数のデコーダ信号のうちの1つ
    の信号を発生するため前記インデツクス値信号に
    応動するデコーダと、 を具備することを特徴とする特許請求の範囲第9
    項記載の処理装置。 11 ビツト位置の前記所定数はビツトオペラン
    ドに対しては4、デイジツトオペランドに対して
    は2および半ワードに対しては1であることを特
    徴とする特許請求の範囲第10項記載の処理装
    置。 12 前記デコーダは前記ビツトオペランドに対
    しては16のデコーダ信号のうちの1信号、前記デ
    イジツトオペランドに対しては4つのデコーダ信
    号のうちの1信号、前記半ワードオペランドに対
    しては2つのデコーダ信号のうちの1信号、を発
    生することを特徴とする特許請求の範囲第11項
    記載の処理装置。
JP57209480A 1981-12-01 1982-12-01 中央処理装置のバスソ−シングおよびシフタ制御 Granted JPS58105345A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/326,260 US4451883A (en) 1981-12-01 1981-12-01 Bus sourcing and shifter control of a central processing unit
US326260 1981-12-01

Publications (2)

Publication Number Publication Date
JPS58105345A JPS58105345A (ja) 1983-06-23
JPH0219492B2 true JPH0219492B2 (ja) 1990-05-02

Family

ID=23271478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57209480A Granted JPS58105345A (ja) 1981-12-01 1982-12-01 中央処理装置のバスソ−シングおよびシフタ制御

Country Status (7)

Country Link
US (1) US4451883A (ja)
EP (1) EP0081336B1 (ja)
JP (1) JPS58105345A (ja)
KR (1) KR880000341B1 (ja)
AU (1) AU546038B2 (ja)
CA (1) CA1182579A (ja)
DE (1) DE3275770D1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4586131A (en) * 1982-02-22 1986-04-29 Texas Instruments Incorporated Microcomputer having data move circuits for within-memory shift of data words
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
JPH0751366B2 (ja) * 1985-06-27 1995-06-05 キヤノン株式会社 出力制御方法
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
US6738793B2 (en) * 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
US6308189B1 (en) 1998-06-03 2001-10-23 International Business Machines Corporation Apparatus for partial logical shifts and method therefor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB799705A (en) * 1953-11-20 1958-08-13 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3643221A (en) * 1970-04-16 1972-02-15 Ibm Channel buffer for data processing system
JPS5246466B2 (ja) * 1972-04-17 1977-11-25
US4205372A (en) * 1974-09-25 1980-05-27 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
US4149263A (en) * 1977-06-20 1979-04-10 Motorola, Inc. Programmable multi-bit shifter
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
US4189768A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand fetch control improvement
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4268909A (en) * 1979-01-02 1981-05-19 Honeywell Information Systems Inc. Numeric data fetch - alignment of data including scale factor difference

Also Published As

Publication number Publication date
KR840003082A (ko) 1984-08-13
AU9083782A (en) 1983-06-09
US4451883A (en) 1984-05-29
JPS58105345A (ja) 1983-06-23
CA1182579A (en) 1985-02-12
EP0081336B1 (en) 1987-03-18
KR880000341B1 (ko) 1988-03-20
EP0081336A2 (en) 1983-06-15
DE3275770D1 (en) 1987-04-23
AU546038B2 (en) 1985-08-08
EP0081336A3 (en) 1983-09-07

Similar Documents

Publication Publication Date Title
US4620275A (en) Computer system
US4926317A (en) Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US4395758A (en) Accelerator processor for a data processing system
US4424561A (en) Odd/even bank structure for a cache memory
US4241397A (en) Central processor unit for executing instructions with a special operand specifier of indeterminate length
US5890222A (en) Method and system for addressing registers in a data processing unit in an indirect addressing mode
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
US4445172A (en) Data steering logic for the output of a cache memory having an odd/even bank structure
CA1181865A (en) Microprogrammed control of extended integer instructions through use of a data type field in a central processor unit
US4348724A (en) Address pairing apparatus for a control store of a data processing system
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
US4392201A (en) Diagnostic subsystem for a cache memory
JPH02240733A (ja) 可変長命令アーキテクチャにおける複数の規制詞の復合方法及び装置
US4363095A (en) Hit/miss logic for a cache memory
US4812972A (en) Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions
WO1991003784A1 (en) Improved cpu pipeline having register file bypass on update/access address compare
EP0126247B1 (en) Computer system
US4360869A (en) Control store organization for a data processing system
JPH0219492B2 (ja)
JPH04504626A (ja) 情報処理システム
US4309753A (en) Apparatus and method for next address generation in a data processing system
US3798615A (en) Computer system with program-controlled program counters
EP0061586A2 (en) Data processing apparatus with extended general purpose registers