JPS6041768B2 - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS6041768B2
JPS6041768B2 JP54003956A JP395679A JPS6041768B2 JP S6041768 B2 JPS6041768 B2 JP S6041768B2 JP 54003956 A JP54003956 A JP 54003956A JP 395679 A JP395679 A JP 395679A JP S6041768 B2 JPS6041768 B2 JP S6041768B2
Authority
JP
Japan
Prior art keywords
data
address
read
predetermined
output
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
JP54003956A
Other languages
English (en)
Other versions
JPS5597642A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP54003956A priority Critical patent/JPS6041768B2/ja
Priority to US06/079,247 priority patent/US4317170A/en
Publication of JPS5597642A publication Critical patent/JPS5597642A/ja
Publication of JPS6041768B2 publication Critical patent/JPS6041768B2/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

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

Description

【発明の詳細な説明】 ノ(1)発明の利用分野 本発明は、ディジタルコンピュータのようなデータ処理
装置、とくに、マイクロ命令制御のデータ処理装置に関
する。
(2)従来技術 従来のディジタルコンピュータにおいては、マクロ命令
およびデータを記憶したメモリから、次に実行すべきマ
クロ命令を読出し、そのマクロ命令から、そのマクロ命
令の実行に用いられるデータを特定するためのアドレス
を命令ユニットで求め、このデータアドレスに基づき、
対応するデータを上記のメモリから読出し、そのマクロ
命令を実行する。
この際、メモリから読出されるデータの長さは装置によ
り定まつた一定の長さ、例えば8バイトを有している。
さらに、メモリからのデータの読出しは任意のアドレス
位置から始まる8バイトのデータについて行いうるので
はなく、定まつた8バイトのブロックの境界位置から8
バイトの長さにあるデータについて行いうる。従つて、
読出したいデータがその境界位置の両側に位置するデー
タであるときは、たとえ欲しいデータが8バイト以下の
長さであつても、メモリからその境界位置より小さいア
ドレスを有する8バイトと、その境界位置より大きいア
ドレスを有する8バイトとをそれぞれ読み出すという2
回の読み出し動作を行なう。その後、演算器を用いて、
これらの2つの8バイトデータから所望の8バイトのデ
ータの切出しを行えるようにデータの位置合わせを行う
。このように従来装置では、データの位置合わせ、デー
タの切り出しを演算器を用いて行なうため、多くの処理
時間を必要とした。このために命令の処理時間が増大し
た。そこでこのような欠点をなくすために専用の回路(
以下データ変換器とよぶ)によりデータの位置合わせ・
切り出しを行なうデータ処理装置が下記文献により提案
されている。1特開昭49−95546号明細書 2特開昭53−94133号明細書 前者はメモリから、所望の4バイトのデータを含む8バ
イトのデータをよみ出し、そのよみ出された8バイトの
データをデータ変換器を用いて、データの位置合わせを
した後、その所望の4バイトのデータを切り出す。
後者はさらに、所望の8バイト以内の長さのデータを含
む16/<イトのデータをデータ変換器を用いて、位置
合わせした後、その所望の8バイト以内の長さのデータ
を切り出す。このようにデータ変換器を用いて、任意の
データの位置合わせ、データの切り出しを行なえば、命
令の処理時間が短縮できる。
しかしながら、このデータの位置合わせ、データの切り
出しを種々の命令の実行時に行なうためには、このデー
タ変換器の制御回路がきわめて複雑になる。とくに、こ
のデータの位置合わせ、データの切出しを行うタイミン
グ・手順は、各命令によつて異なる。従つて、この制御
回路は、各命令ごとに、その実行途上の所定のタイミン
グにおいて、所望の動作をしうるように構成されねばな
らないため、きわめ゛て複雑となる。(3)発明の目的 本発明は以上の従来技術の問題点を解決し、データの位
置合わせ、データの切り出しを行なうデータ変換器を制
御するきわめて簡単な回路を有するデータ処理装置を提
供することを目的とする。
さらに、具体的には、本発明は、マイクロ命令により制
御されるデータ変換器を有するデータ処理装置を提供す
ることを目的とする。(4)発明の詳細な説明 本発明は、以上の目的を達成するために、近年大型コン
ピュータではマイクロ命令により命令の処理が制御され
ていること、従つて、このデータ変換器の制御もマイク
ロ命令により行なえるならば、データ変換器を含めて、
計算機の制御を共通のマイクロ命令記憶装置を用いて行
うことができ、この結果、装置の簡略化が期待されるこ
とに注目してなされたものである。
本発明によれば複数のマクロ命令とデータとを記憶する
手段と、この記憶手段から読出されたマクロ命令に応答
して、このマクロ命令の実行に関与するデータの先頭ア
ドレスとその全長とを決定し、その決定されたアドレス
と全長に基づいて、上記データを上記記憶手段から読出
す手段と、その読出されたデータを上記マクロ命令によ
り定まる量だけシフトさせる手段と、このシフトされた
データの、上記マクロ命令により定まる一部分をマスク
する手段とを有するデータ処理装置において、上記マク
ロ命令の実行をマイクロ命令シーケンスで制御させると
ともに、これらのマイクロ命令には、上記読出し手段と
シフト手段とをマスク手段とを制御するたわのアライン
フィールドを設け、上記シフト手段は上記先頭アドレス
とアラインフィールドに応答して上記シフト量を決定す
るごとく構成し、上記マスク手段には上記のデータ全長
と先頭アドレスとアラインフィールドに応答してマスク
すべきデータ位置を示すマスクパターン信号を出力する
手段を設ける。
(5)実施例 以下、本発明を実施例を参照して詳細に説明する。
本実施例はインタナショナル・ビジネス◆マシーンズ社
のシステム/370型電子計算機に適用可能であり、こ
のシステムの動作は上記会社の出版による刊行物11B
Mシステム/370動作原理ョにより説明されている。
従つて以下では、とくに必要のないかぎり、上のシステ
ムの動作の説明は省略するとともに、そこに用いられて
いる用語を、特別の場合を除き説明を省略して使用する
。第1図において、メインメモリ10とバッファメモリ
40には複数のマクロ命令およびデータが記憶されてい
る。命令ユニット20は次に実行すべきマクロ命令をバ
ッファメモリ40から読み出すための32ビットの仮想
アドレスを線20Aを介してアドレスコントロール30
に送る。アドレスコントロール30はこの仮想アドレス
に応答して、線30A又は30B上にバッファメモリ4
0への32ビットの物理アドレスを送出する。バッファ
メモリ40は第1、第2の2つのバンク42,44より
なる。第1、第2のバンク42,44はそれぞれ線30
A,30B上の物理アドレスに応答して、線42A14
2B上にそれぞれ8バイト長の記憶情報を送出する。読
出すべきマクロ命令がバッファメモリ40の第1のバン
ク42にストアされている場合には、16/くイト長の
サイクルシフタ50は何らのシフト動作をせずに、線5
0Aを介して命令ユニットに第1のバンク42から出力
されたマクロ命令を送る。読出すべきマクロ命令が第2
のバンク44にストアされている場合には、サイクルシ
フタ50は8バイト分左方向にシフト動作することによ
り、線50Aを介して命令ユニット20に第2のバンク
44から出力されたマクロ命令を送られる。マクロ命令
の読出し時にサイクルシフタ50のシフト量は、命令ユ
ニット20により、線28Aを介してアラインコントロ
ール90に送られる。このアラインコントロール90は
第2図に示すごとく、このシフト量をストアするための
シフトバイト数レジスタ(SHBREG)94内にこの
シフト量をストアし、シフト制御回路95により、対応
するシフト動作を指令する信号を線90Bを介してサイ
クルシフタ50に送る。もし、バッファメモリ40に所
定のマクロ命令が記憶されていないときには、4メガバ
イトの容量を有するメインメモリ10よりそのマクロ命
令が線10Aを介してバッファメモリ40へ転送された
後、以上と同様に処理される。なお、メインメモリ10
へのアクセスのためのアドレスはすべてアドレスコント
ロール30の出力線30A〜30Cにより供給される。
簡単化のために、第1図ではメインメモリへのアドレス
線は省略されている。命令ユニット20は次に実行すべ
きマクロ命令が1つの命令でメインメモリへ読出し要求
と書込み要求を出すマクロ命令(以下SS命令とよぶ)
か否かを解読する。
たとえば、ANDCHARAC′1ER..0RCHA
RACTEREXCLUSIVE−0RCHARACT
ER、又はw進演算命令等のマクロ命令はメインメモリ
40の第1、第2のアドレスから、第1、第2のデータ
を読出し、所定の演算を行つた後、メインメモリ40の
第1のアドレスにその結果をストアする。
また、MVC命令はメインメモリ40の第1のアドレス
からデータを読出し、第2のアドレスにそのデータをス
トアする。解読の結果、次に実行すべきマクロ命令が、
SS命令であることが判明したときに、命令ユニット2
0は、読出すべきデータの先頭仮想アドレス(以下第2
オペランド仮想アドレスとよぶ)およびストアすべきデ
ータの先頭仮想アドレス(以下第1オペランド仮想アド
レスとよぶ)を、マクロ命令内のアドレス情報に基づい
て決定する。さらに命令ユニットは、それらのデータの
全長庄を、命令内に含まれている長さに関する情報に基
づいて決定する。これらのアドレスは32ビットからな
り、データ全長LFは8バイトからなる。これらの第1
、第2オペランドアドレスおよびデータ全長LFは命令
ユニット内の第1、第2のオペランドアドレスレジスタ
(0AR)24,26(第2図)およびレングスフィー
ルドレジスタ(LF′R)22(第2図)にそれぞれス
トアされる。ここで、データの先頭アドレスとは、デー
タを規定するための、データの両端についてのアドレス
のうちの小さい方の値(以下最左端アドレスとよぶ)又
は大きい方の値(以下最右端アドレスとよぶ)のいずれ
かであり、先頭アドレスがこれらのアドレスのいずれに
対応するかは、命令によつて定まつていて、w進演算命
令の場合は後者であり、その他のSS命令の場合は前者
の相当する。第2オペランド仮想アドレスがまず、命令
ユニット20からアドレスコントロール30へ線20A
を介して送られるとともに、第1オペランド仮想アドレ
スと第2オペランド仮想アドレスの下位4ビットおよび
データ全長LFが命令ユニット20から線24A,26
A,22Aをそれぞれ介してアラインコントロール90
へ送られる。一方、命令ユニット20はこのマクロ命令
のうちのオペレーションコード(オペコード)をコント
ロールストレンジ30に線20Bを介して送出する。こ
のコントロールストレンジ30は、このオペコードで指
定されるマイクロ命令シーケンス内のマイクロ命令を順
次読出し、そのマクロ命令の実行を制御する。コントロ
ールストレンジ30は1つのマイクロ命令を読出すと、
その中に設けられたコントロールレジスタ(CR)80
0(第2図)にそのマイクロ命令をストアする。各マイ
クロ命令は、次によみ出すべきマイクロ命令を指定する
ためのネクストアドレスフイールド802、命令の実行
の制御情報を表示するためのコントロールフィールド8
0牡読出されたデータの位置合わせおよび切り出しを制
御するための4ビットのアラインフィールド806を有
する。アラインコントロール90はこのアラインフィー
ルド806を線80Aを介して受けとり、線90A〜9
0Cを介して、それぞれ、アドレスコントロール30、
サイクルシフタ50、オペランドコントロール60へ制
御信号を送出する。第2図に示すように、アラインコン
トロール90ではコントロールレジスタ800内のアラ
インフィールド806をデコーグ98が解読し、0AR
24と26にストアされたオペランドアドレスが最左端
アドレスかあるいは最右端アドレスかを判別する。
0AR24と26にストアされたオペランドアドレスが
最左端アドレスを表示するか否かは、あらかじめマクロ
命令により決つているので、そのマクロ命令により読出
されたアラインフィールドの内容をマクロ命令によりあ
らかじめ一義的に定めておくことにより、上記の判別が
可能となる。
たとえばw進演算命令の場合のように、0AR24と2
6にストアされたアドレスが最右端アドレスを表示する
場合には、デコーダ98はRlJを出力し、それ以外の
場合にはROJを出力し、この出力はアライン方向レジ
スタ(AL.DR)99にストアされる。このALDR
99の出力は線90Aを介してアドレスコントロール3
0(第1図)に送られる。アドレスコントロール30の
詳細は第3図に示されている。命令ユニット20から線
20Aを介して入力された32ビットの第2オペランド
仮想アドレスは公知のアドレス変換回路32により対応
する32ビットの第2オペランド実アドレスに変換され
、線32Aを介してソースアドレスレジスタ(SAR)
34と36に入力される。一方、この第2オペランド実
アドレスの最下位から4番目のビットが線32Bを介し
てアドレス修飾回路38に入力される。アドレス修飾回
路38はアラインコントロールから与えられる線90A
上の信号とアドレス変換回路32から与えられる線32
B上の信号に応答して、第4図に示す関係により、線3
8A,38B上に・・09・、・・+8・・又は“゜−
8゛のいずれかを示す4ビットの2進データを出力し、
SAR34,36にすでにストアされている第2オペラ
ンド実アドレスにこれらのデータを加算する。アドレス
修飾回路38の具体的回路は第4図を参照することによ
り当業者が容易に実現てきるものてあるため、これ以上
の説明は省略する。S.AR34,36はこの加算を行
うために、カウンタにて構成される゛かあるいは内部に
加算器を有するものにて構成される。このSAR34,
36はそれぞれ第1、第2バンク42,44から8バイ
トのデータであつて、互いに連続したアドレス域にある
1シくイトのデータを読み出すのに用いられる。
回路38の動作は次の意味をもつ。
バッファメモリ40の第1、第2のバンク42,44の
アドレス付は交互に8バイト単位に行なわれている。す
なわち、アドレスがw進表示で、0〜7、16〜ノ2く
23〜3λ・・・の場合には、そのアドレスに対するデ
ータは第1バンク42にストアされており、アドレスが
w進表示で8〜1飄24〜31、40〜47、・・・の
場合には、そのアドレスに対するデータが第2バンク4
2にストアされている。従つて、アトレスを2進で表示
する場合、アドレスの最下位から第4番目のビット(こ
れは線32B上に出力される)がROJI:.RlJで
あるアドレスに対するデータはそれぞれ第1、第2バン
ク42,44にストアされていることになる。したがつ
て、線90A上の信号力げ0Jの場合には、線32A上
のアドレスは読出すべきデータの最左端アドレスを示し
ているので、(1)線32B上の信号がROJのときに
は、線38A上にはデータ10Jを出力し、SAR34
内のアドレスを線32A上のアドレスに保持するととも
に、線38B上にはデータR8.Jを出力し、SAR3
6内のアドレスを線32A上のアドレスに18ョを加算
した値とする、一方(11)線32B上の信号がRLの
ときは、線38B上にデータROJを出力し、SAR3
6内のアドレスを線32A上のアドレスに保持するとと
もに、線38A上にはデータR8ョを出力し、SAR3
4内のアドレスを線32A上のアドレスに18.を加算
した値とする。こうして、SAR34,36にはバッフ
ァメモリ40の第1、第2のバンク42,44から線3
2A上のアドレスを最左端アドレスとする8バイトのデ
ータを含む連続した16/くイトのデータを構成するた
めの、8バイトのデータをそれぞれ読出すためのアドレ
スがストアされる。一方、線90A上の信号がr1ョの
場合には、線32A上のアドレスは読出すべきデータの
最右端アドレスを示しているので、(1)線32上の信
号が10ョのときには、線38A上にはデータROョを
出力し、SAR34内のアドレスを線32A上のアドレ
スに保持するとともに、線38Bにはデータ0−8ョを
出力し、SAR36内のアドレスを線32A上のアドレ
スに0−8ョを加算した値とする、一方(11)線32
B上の信号がRlJのときには、線38B上にデータR
OJを出力し、SAR36内のアドレスを線32A上の
アドレスに保持するとともに、線38A上にはデータ1
一8ョを出力し、SAR34内のアドレスを線32A上
のアドレスに1−8Jを加算した値とする。こうして、
SAR34,36にはバッファメモリ40の第1、第2
のバンク42,44から、線32A上のアドレスを最右
端アドレスとする8バイトのデータを含む連続した16
/<イトのデータを構成するための8バイトのデータを
それぞれ読出すためのアドレスがストアされる。これら
のSAR34,36の出力は再び第1図を参照するに、
線30A,30Bを介してそれぞれバッファメモリ40
の第1、第2バンク42,44から合計、6バイトのデ
ータを読出す。
このようにして、バッファメモリ40からは第1オペラ
ンド実アドレスから始まる8バイトのデータを含んだ1
6/くイトのデータが1回の読出し動作にて出力される
。なお、バッファメモリ40内に所望のデータがストア
されていないときには、そのデータはメインメモリ10
からバッファメモリ40に転送された後に上記の読出し
動作が行われる。
この16/くイトのデータは線42A,44Aを介して
サイクルシフタ50に送られる。サイクルシフタ50は
アラインコントロール90から線90Bを介して送られ
るシフト制御信号によりきまるバイト数だけ、入力され
たデータを左方向にバイト単位にサイクルシフトする。
このシフト制御信号は第2図のシフト制御回路95によ
り与えられる。この回路95はシフトバイト数決定回路
(SHBDCKT)93の出力をシフトバイト数レジス
タ(SHBRED)94を介して受けとり、対応するシ
フト制御信号を出力する。回路93は命令ユニット20
内の0AR24,26内の第1、第2オペランドアドレ
スの下位4ビットをそれぞれ線24A126Aを介して
受け取るとともに、演算器(ALU)70(第1図)内
のワークレシスタ(WR)72(第2図)内のデータを
受け取り、これらのデータに基づいて、線80Aを介し
て送られるCR8OO内のアラインフィールド806の
制御のもとに、シフトバイト数を決定し、SllBRE
G94にストアする。回路93の詳細は第5図に示され
るごとく、セレクタ932,936,930と補数回路
933、レジスタ934,935と加算器937よりな
る。補数回路933は0AR24の下位4ビットからな
るデータ“゜X゛の“゜2゛の補数、従つて、数学的に
はデータ゛゜−X゛を出力する。レジスタ934,93
5はそれぞれ定数“゜9゛、“13゛に相当する2進デ
ータを記憶している。セレクタ932は0AR24,2
6の下位4ビットx゛、゜“Y゛を選択し、セレクタ9
36は補数回路933、レジスタ934,935の出力
の1つを選択する。加算器937はセレクタ932と9
36の出力の和を求める。セレクタ930はWR72の
出力゜“Z゛、線26A上のデータ4゜Y′2の下3ビ
ットをすべて“゜0゛とした、線938A上のデータ゜
゜Y″゛、セレクタ932の出力、加算器937の出力
の1つを選択する。これらのセレクタ932,936,
930の動作はすべて、線82Aを介して入力される、
CR82内のアラインフィールド806内のデータによ
り制御される。これらのセレクタの選択動作とアライン
フィールド806との関係は第6図に示す通りである。
第6図には各アラインフィールドの使用例も示してある
。デコーダ98(第2図)の出力が゜“0゛のときには
、セレクタ930により出力されるデータは、第6図に
示すとおり、44X9946Y99C4Y′99、44
Z−64Y1X―゜゜Y+13゛、゜゜Y+9゛のいず
れかに相当し、デコーダ98(第2図)の出力が゜“1
゛のときには、セレクタ930により出力されるデータ
ぱ゜Y+9゛又ばX+9゛に相当する。従つて、あるマ
クロ命令の処理にあたつて、そのマクロ命令の実行の制
御を司さどるマイクロ命令シーケンス内のアラインフィ
ールドのデータを、シフトしたいバイト数がセレクタ9
30から出力されるように、第6図に従つて特定してお
けばよい。ただし、このアラインデータは、後述のセレ
クタ960の選択動作をも特定したうえで定めねばなら
ない。なお、第5図において、WR72のデータ“Z゛
をセレクトする場合には、このデータ″Z′3を必要に
応じて定めることにより、任意のバイト数のシフトが可
能となる。再ひ第1図において、サイクルシフタ50は
、アラインコントロール90の制御のもとにあるバイト
数だけ入力されたデータを左サイクルシフトした後に、
シフト後のデータの上位8バイトを切り出し、線50A
上を介してオペランドコントロール60に送る。オペラ
ンドコントロール60は第7図に示すごとく、アライン
コントロール90から線90Cを介して送られる8ビッ
トのフエツチマスクデータに応答して、線50Aを介し
て入力されたデータのうち、あるバイト位置のデータを
すべてゲート62でカットしてオペランドバツフアレジ
スタ(0BR)600にストアしたうえで、ALU7O
へ線60Aを介して送る。このフエツチマスクデータは
第2図に示すごとく、マスクパターン決定回路(MPD
CKT)96より線96Aとフエツチマスクレジスタ(
FMARKREG)97を介して与えられる。
回路96は読出すべきデータ長を定めるフエツチデータ
長決定回路(FDLI)CKT)91の出力と0.AR
24内の下位側4ビットの出力に応答し、線80Aを介
して与えられるCR8OO内のアラインフィールド80
6の制御下でフエツチマスクパターンを出力する。ノF
DLDCKT9lは命令ユニット20内のLF′R22
およびALU7O内のWR72の出力に応答し、アライ
ンフィールド806の制御下でフエツチデータ長を定め
る。
回路91の詳細は第8図に記載されているごとく、最小
値検出回路(MINDET)911,913,915,
917と定数レジスタ919と、これらの出力とWR7
2からの線72A上の出力の1つをセレクトするための
セレクタ910からなる。
セレクタ910は、線82Aを介して与えら”れるCR
8O内のアラインフィールド806により制御される。
アラインフィールドの内容とセレクタ910の出力との
関係は第6図に示されている。回路911,913,9
15,917は命令ユニット内のLFR22に結合され
ており、回路911と913はこのLFR22内のデー
タ全長LFとそれぞれ“7゛゜゜3゛とを比較し、小さ
い方の値を出力する。回路915はデータ長LFの上位
側4ヒットで表わされるデータLFlと゜“7゛とを比
較し、小さい方のデータを出力する。回路917はデー
タ長LFの下位側4ビットて構成されるデータLF2と
゜“7゛とを比較し、小さい方のデータを出力する。回
路911はバッファメモリ40からの読出しデータ長を
8バイト以下に制限すればよい場合、たとえばMVC命
令の場合に選択される。
回路913はバッファメモリ40からの読出しデータ長
を4バイト以下に制限する必要があるときに選択される
。本実施例ではオーバラップ処理を要する命令の実行時
に選択される。回路915,917はw進演算命令の場
合であつて、それぞれ第1、第2オペランドをよみ出す
時に用いられる。REG9l9は、たとえば割込み処理
のときに選択され、LFR22の内容に無関係に8バイ
トのデータを読出すのに使われる。線72AはKR72
内の任意の値でもつて読出しデータ長をきめる場合に選
択される。MPDCKT96の詳細は第9図に示される
ごとく、FDLDCKT9lの出力が線91Aを介して
入力される左パターン発生器962と右パターン発生器
964と、左パターン発生器962の出力を、線24A
上の0AR24内の下位4ビットからなるデータで表わ
される値だけ右方向にシフトするための右シフタ966
と、発生器962,964と右シフタ966の出力を選
択するためのセレクタ960とよりなる。
このセレクタ960は、線82A上のCR8O内のアラ
インフィールド806により制御される。発生器962
,964の出力は、第10図に示されるごとく、FDL
DCKT9lから出力されるフエツデータ長の数プラス
1だけの゜“1゛を左側と右側とにそれぞれ有する8ビ
ットのデータを出力するものである。セレクタ960の
出力はFMARKREG97(第2図)へ線96Aを介
して送られ、そこにストアされる。このFMARKRE
G97の出力が第7図に示したオペランドコントロール
960内の8個ゲート62に送られ、セレクタ960の
出力のうちの゜“0゛に対応するゲートをオフとするこ
とにより、そのゲートに入力された1バイトをすべて“
゜0゛とし、゜“1゛に対応するゲートをオンとするこ
とにより、このゲートに入力された1バイトは素通りさ
せる。こうして、0BR600には、所望の桁位のバイ
トのみが有意であつて、他はすべて゜“0゛であるデー
タがストアされる。こうして0BR600内にストアさ
れたデータは線60Aを介して、Al.U7Oへ送られ
る。読出すべきデータの全長LFが8バイト以下のとき
には、以上のごとき一回の読出し動作て第1オペランド
実アドレスで指定されるデータの読出しが終了する。し
かし、この全長LFが8バイトをこえるときには、全長
LFのデータが読出されるまで、以上の読出し動作が繰
り返される。すなわち、命令ユニット20はLFR2O
内の値を読出したデータ長だけ減じる。この結果得られ
る、LFR22の内容が負でない場合には、1FR22
、0AR26内の内容を用いて再びデータの読出しが行
なわれる。この読出し動作は、LFR22の内容が負に
なるまで繰り返される。一方、命令ユニット20は、バ
ッファメモリ40からの上述のデータの読出し動作中、
0AR24(第2図)内にストアした第1オペランド仮
想アドレスをアドレスコントロール30へ送出する。こ
のアドレスコントロール30は、前述したのと全く同じ
ようにして第1オペランドに対する実アドレスを発生さ
せる。実行中の命令がこの第1オペランド実アドレスに
対するデータをバッファメモリ40より読出す必要があ
る場合には、これまで述べたのと全く同じ手順により、
読出し動作が行われる。このとき、第3図に示すアドレ
スコントロール30において、デステイネーシヨンアド
レスレジスタ(DAR)39はこの第1オペランドアド
レスをストアしておく。その後、これらの2つの2つの
データについてALU7Oで所望の演算が行なわれ、そ
の結果がメインメモリ10およびバッファメモリ40内
の第1オペランド実アドレス位置に、記憶される。もし
、実行中の命令が、訊℃命令のごとく、第1オペランド
アドレスに対するデータの読出しを必要としない場合に
は、第2オペランド実アドレスを用いて読出されたデー
タはALU7Oを素通りして、メインメモリ10および
バッファメモリ40内の第1オペランド実アドレス位置
に、線70Aを介してストアされる。
いずれの場合においても、ストアアドレスはアドレスコ
ントロール30内のDAR39から線30Cを介して、
第1、第2のバンク42,44のいずれか一方に送られ
る。第1、第2のバンク42,44には、このストアア
ドレスの下位4番目のビットが4゜0′゛゛又ぱ“1゛
のときにそれぞれこのストアアドレスが選択的に送られ
る。この選択的動作を制御するためのゲート回路は、簡
単化のために図示されていない。以上述べた実施例の理
解をより明確にするため、に、具体例を示す。
MVC命令を処理する場合てあつて、第1、第2オペラ
ンドアドレスの下4ビットで表わされるデータ゜“X゛
、“゜Y゛が10進表示で、それぞれ゜゛2゛、゜“6
゛とし、データの全長LFがw進表示でノ゜゜8゛とす
る。
従つて、読出すべきデータの全長は9バイトである。命
令ユニット20からrl!4vc命令のオペコードがコ
ントロールストレジ80に送られ、この命令の実行のた
めのマイクロ命シーケンスの先頭マイクロ命令がCR8
Oに読出され、その後、順次このシーケンス内のマイク
ロ命令が所定の順序で読出され、この命令の実行を行な
う。
この実行にあたつて、このMVC命令がワードオーバラ
ップ処理を要するか否かが命令ユニット20で判別され
、判別の結果はコントロールストレンジ80に転送され
る。コントロールストレンジ80は、この結果により異
なるマイクロ命令のブランチへ分枝する。この訊℃命令
がオーバラップ処理を要しない命令であることを判別さ
れると、その後のマイクロ命令ブランチのアラインフィ
ールド806にはデータ゜゜010r゛が記憶される。
このアラインフィールドはメモリ10からのデータの読
出しに際して、デコーダ98で解読される。その解読結
果は第6図に示されるように゜“0゛である。この結果
は線90Bを介してアドレスコントロール30に送られ
る。アドレスコントロール30はこのデコーダ結果およ
び0.AR26からの第2オペランド仮想アドレスを用
いて第2オベランド実アドレスを発生し、バッファメモ
リ40から、この第2オペランド実アドレスを最左端ア
ドレスとする8バイトのデータを含む16/くイトのデ
ータをよみ出す。一方、アラインコントロール90内の
SHBDCKT93ては、セレクタ930はアラインデ
ータ゜゜010F゛に応答してデータ゜゜Y−X゛、す
なわち、第2、第1オペランド仮想アドレスの差を出力
する。
この値は今の例では“4゛である。この出力゛4゛はS
HBREG94にストアされた後、シフト制御回路95
に送られる。バッファメモリ40から読出された16/
<イl・のデータは、サイクルシフタ50により、シフ
ト制御回路95の制御のもとに、左方向に4バイト分サ
イクルシフトされる。従つて、サイクルシフタ50から
出力され,るデータの左から3バイト目から8バイト目
までの6バイト分に、第2オペランドアドレスで指定さ
れたデータの一部が含まれていることになる。サイクル
シフタ50から出力されるデータの左側の2バイト分は
現在のマクロ命令の実行に無用のデータである。一方、
アラインコントロール90内の FDLDCKT9lにおいては、セレクタ910は第6
図に示すようにアラインデータ“゜010r゛に応答し
て、MINDET9llの出力線911Aをセレクトす
る。
MINDET9llにはLFR22から゜゛8゛が入力
されているので、この回路911の出力ば7゛となる。
この出力はMPDCKT96内のパターン発生器962
,964へ送られる。RVlPDcKT96内のセレク
タ960は、アラインデータ゜“0101′゛に応答し
て、第6図かられかるように、右シフタ966の出力線
966Aをセレクトする。左パターン発生器962は入
力されたデ゛一タ“゜7゛(これは2進表示では“゜1
1r゛である)に応答して、第10図かられかるように
、“1111111r゛なるパターンを出力する。
右シフタ966はこのパターンを0AR24から与えら
れる第1オペランド仮想アドレスの下4ビットで表わさ
れるデータて表わされる数(今の例では2)だけ右方向
にシフトし、パターン“゜0011111r゛を出力す
る。オペランドコントロール60は、サイクルシフタ5
0の8バイトの出力をアラインコントロール90からの
上記8ビットのパターンに応答して、第1、第2番目の
2バイトのみカットし、他の6バイトのデータを0BR
600にストアする。
こうして0BR600には、第2オペランドアドレスか
ら始まる6バイトのデータとその以外のすべで゜0゛か
らなる合計8バイトのデータがストアされる。その後、
命令ユニットは、LFR2O内のLF値を“゜8゛から
“6゛を減じた値゛2゛に減少させる。
さらに0AR24,26内の値をそれぞれ“゜6゛増大
させる。その後、更新させたLFRlOARの内容を用
いてデータの読出しを上と同じように行う。以上がオー
バラップ処理を必要としない■に命令の処理の概略てあ
る。
もしMVC命令がオーバラップ処理を要する場合には、
その後のマイクロ命令ブランチ内のアラインフィールド
806にはデータ4“000r5が記憶される。
セレクタ910(第8図)は回路913の出力を選択し
て読出しデータ長として出力する。SHBDCKT93
内のセレクタ930(第5図)はデータ゜Y″゛を出力
する。シフト制御回路95は、サイクルシフタ50を制
御して゛Y″゛が゜“0000゛か゜゜1000゛かに
応じて、バッファメモリ40の出力をシフトしないで出
力するか、あるいは8バイトシフトして出力する。その
他の動作の詳細は、オーバラップ処理を要しない場合と
原理的に類似なので詳細は省略する。次にw進演算命令
を処理する場合について、本実施例の動作を説明する。
ます第2オペランドアドレスで表わされるデータを読出
すためのマイクロ命令シーケンスにおいては、アライン
フィールドにぱ…10゛が記憶されている。従つて、セ
レクタ910は線917Aをセレクトする。今の例ては
、この線917Aには回路917より゜゜3゛に相当す
る2進データが出力されている。従つて、バッファメモ
リ40内の第2オペランドアドレスから4バイト長の第
2オペランドが読出される。この第2オペランドは、サ
イクルシフタ50によりデータ“Y+9゛に相当する量
だけ左サイクルシフトされる。第5図に示すSHBDC
KT93において、セレクタ930からのデータが出力
される。このデータ“Y+9″はバッファメモリ40か
ら読出された、16バイトのデータのうち、第2オペラ
ンドアドレスを最右端とする8バイトのデータをサイク
ルシフタ50から出力させるのに必要、十分なシフト量
である。この8バイト長のデータはオペランドコントロ
ール60に送られる。この回路60内のセレクタ960
(第9図)は右パターン発生器964の出力を選択し出
力する。従つて、オペランドコントロール60では、第
2オペランドアドレスを最右端アドレスとする8バイト
のデータのうち、セレクタ910(第8図)により出力
されたフエツチデータ長に等しいバイト数の有意なデー
タとそれ以外のすべて″0トからなるデータが出力され
る。このデータはALU7Oは送られる。その後、第1
オペランドアドレスが命令ユニット20よりアドレスコ
ントロールに送られ、第2オペランドの場合と同様に第
1オペランドアドレスが発生され、データの読出しが行
なわれる。この際第1オペランドアドレスはDAR39
(第3図)にもストアされる。この第1オペランドの処
理のためのマイクロ命令シーケンス内のアラインフィー
ルドにはデータ“110丁゛がストアされている。従つ
て、セレクタ930(第5図)はデータ゜゜X+9゛を
出力し、以下第2オペランドの場合と同様にサイクルシ
フタ50、オペランドコントロール60がアラインコン
トロール90により制御される。読出された第1オペラ
ンドはALU7Oにおいて、先に読出された第2オペラ
ンドと所定の演算を施こされた後、バッファメモリ40
とメインメモリ10にストアされる。このときのストア
アドレスはアドレスコントロール30内のDAR39か
ら供給されている。このようにして、w進演算命令の処
理が終了する。以上のごとく、本発明によれば、種々の
命令の処理において必要とされるデータの位置合わせ、
切り出しを、公知のマイクロ命令制御技術を用いて行な
う、きわめて簡単なデータ処理装置がえられる。
本発明は以上の実施例に限定されるものでなく、特許請
求の範囲の記載内において当業者が容易になしうる変形
をも含むものである。たとえば、マイクロ命令を用いな
いで、データの位置合わせ、切出しを制御するための回
路を命令ユニット内に設け、さらに第1図のアラインコ
ントロール90の出力とこの制御回路の出力とを切換え
て、アドレスコントロール30、サイクルシフタ50、
オペランドコントロール60に供給を設けることにより
、これらのデータ位置合わせ、切出しのための回路の制
御をマイクロ命令又は専用制御回路のいずれによつても
行なうことができるようにデータ処理装置を構成するこ
とができる。
【図面の簡単な説明】
第1図は本発明によるデータ処理装置の概略回路構成図
、第2図は第1図の回路におけるアラインコントロール
のより詳細なブロック回路構成とそれに関連する他の回
路要素とを示す図、第3図〔は第1図の回路におけるア
ドレスコントロールのより詳細なブロック回路図、第4
図は第3図のアドレス修飾回路を説明するための図、第
5図は第2図のシフトバイト数決定回路のより詳細なブ
ロック回路図、第6図は本実施例におけるいろいろ・の
要素の動作を説明するための図、第7図は第1図のオペ
ランドコントロールのより詳細なブロック回路図、第8
図は第2図のフエツチデータ長決定回路のより詳細なブ
ロック回路図、第9図は第2図のマスクパターン決定回
路のより詳細なプロノック回路図、第10図は第9図の
左パターン発生器と右パターン発生器により発生される
マスクパターンを示す図である。 22・・・・・・レングスフィールドレジスタ、24・
・・・・第1オペランドアドレスレジスタ、26・・・
・・・第2オペランドアドレスレジスタ、90・・・・
・・アラインコントロール、91・・・・・・フエツチ
データ長決定回路、93・・・・・・シフトバイト数決
定回路、96・・・・・・マスクパターン発生回路。

Claims (1)

  1. 【特許請求の範囲】 1 (a)複数のマクロ命令とデータとを記憶するため
    の記憶手段と、(b)上記記憶手段から読出されたマク
    ロ命令に応答して、該マクロ命令の実行に関与するデー
    タの先頭アドレスと全長を決定し、決定されたアドレス
    と全長に基づいて上記データを上記記憶手段から読出す
    手段と、(c)該読出されたデータを、上記マクロ命令
    に依存する量だけシフトさせる手段と、(d)該シフト
    されたデータの、上記マクロ命令により定まるデータ位
    置をマスクする手段と、を有するデータ処理装置であつ
    て、該データ処理装置は、さらに、(e)上記マクロ命
    令の実行を制御するためのマイクロ命令シーケンスを記
    憶し、上記の読出されたマクロ命令に応答して所定のマ
    イクロ命令を順次出力するためのマイクロ命令手段であ
    つて、該マイクロ命令は、上記読出し手段、シフト手段
    とマスク手段とを制御するためのアライン制御フィール
    ドを有する所のマイクロ命令手段を有し、(f)上記シ
    フト手段は、上記読出し手段により決定されたデータの
    先頭アドレスと上記アラインフィールドに応答して上記
    シフト量を決定する手段を有し、(g)上記マスク手段
    は、上記の決定されたデータ全長、先頭アドレスおよび
    上記アラインフィールドに応答してマスクすべきデータ
    位置を示すマスクパターン信号を出力する手段を有する
    ことを特徴とするデータ処理装置。 2 上記読出し手段は、上記記憶手段とマイクロ命令手
    段からそれぞれ読出されたマクロ命令およびマイクロ命
    令アラインフィールドに応答して、上記記憶手段から次
    の読出し動作時に読出すべきデータ長を決定する手段を
    有し、上記マスク手段は、上記決定手段の出力に応答す
    るものであることを特徴とする特許請求の範囲第1項記
    載のデータ処理装置。 3 上記読出しデータ長決定手段は、上記記憶手段に接
    続された複数の比較手段と、上記マイクロ命令手段に接
    続され、上記アラインフィールドに応答して上記複数の
    比較手段の1つを選択する手段とを有し、該比較手段の
    各々は、上記選択手段により選択された時に、上記デー
    タ全長と所定の値との比較結果に応じて、当該データ全
    長又は当該所定値を切り換えて読出しデータ長として出
    力するものであることを特徴とする特許請求の範囲第2
    項記載のデータ処理装置。 4 特許請求の範囲第3項記載のデータ処理装置におい
    て、上記複数の比較手段は、上記データ全長と上記所定
    値とを比較し、そのうちの小さい方の値を出力する手段
    を含むことを特徴とするデータ処理装置。 5 上記読出しデータ長決定手段は、所定値を記憶する
    レジスタと、所定のアラインフィールドに応答して、上
    記レジスタ手段の出力を読出しデータ長として選択的に
    出力する手段を有することを特徴とする特許請求の範囲
    第2項記載のデータ処理装置。 6 上記読出し手段は、上記命令の実行に関与する第1
    、第2のデータのアドレスおよびこれらのデータの長さ
    を決定するとともに、該第1のデータアドレスに基づい
    て第1のデータを上記記憶手段より読出し、該第2のデ
    ータアドレスに基づいて該第2のデータを上記記憶手段
    に書込む手段である特許請求の範囲第1項記載のデータ
    処理装置において、該シフト量決定手段は該第2のデー
    タアドレスと該第1のデータアドレスの差を算出する手
    段と、所定の第1のアラインフィールドに応答して、上
    記算出手段の出力をシフト量として、選択的に出力する
    手段を有することを特徴とする特許請求の範囲第1項記
    載のデータ処理装置。 7 上記シフト量決定手段は、所定数を記憶したレジス
    タ手段と、該レジスタ手段の出力と上記データのアドレ
    スとを加算する手段と、該加算手段の出力を、所定のア
    ラインフィールドに応答して選択的に出力する手段を有
    する特許請求の範囲第1項記載のデータ処理装置。 8 上記レジスタ手段は、それぞれ、複数の、相互に異
    なる所定値を記憶した複数のレジスタと、該複数のレジ
    スタの出力を、所定の複数のアラインフィールドの各々
    に応答して、選択的に上記加算手段へ出力する手段を有
    することを特徴とする特許請求の範囲第7項記載のデー
    タ処理装置。 9 上記シフト量決定手段は、複数個の所定数を入力す
    る手段と、所定のアラインフィールドに応答して、上記
    入力手段により入力された所定数をシフト量として選択
    的に出力する手段とを有することを特徴とする特許請求
    の範囲第1項記載のデータ処理装置。 10 上記シフト量決定手段は、上記読出し手段により
    決定された上記第1、第2のデータアドレスを選択的に
    出力するための第1の選択手段と、上記第1のデータア
    ドレスが入力され、該第1のデータアドレスの補数を出
    力する手段と、所定値を記憶した複数のレジスタと、上
    記補数出力回路の出力又は上記複数のレジスタの出力と
    を選択的に出力するため第2の選択手段と、上記第1、
    第2の選択手段の出力の和を求めるための加算手段の出
    力又は上記第1の選択手段の出力を選択的に出力するた
    めの第3の選択手段とを有し、上記第1、第2、第3の
    選択手段は所定のアラインフィールドに応答して動作す
    るものであることを特徴とする特許請求の範囲第6項記
    載のデータ処理装置。 11 上記記憶手段は、第1、第2のバッファメモリを
    有し、上記読出し手段は、上記の決定されたデータアド
    レスを含む所定の大きさの連続したアドレス領域のデー
    タを構成するごとく、上記第1、第2のバッファメモリ
    からデータを読出す手段を有し、上記シフト手段は上記
    第1、第2のバッファメモリから読出されたデータが所
    定の桁位に入力され、この入力されたデータを、一体に
    して、所定の方向にシフトするためのシフタを有し、該
    シフタは上記シフト量決定手段に応答して該データをシ
    フトするものであることを特徴とする特許請求の範囲第
    1項記載のデータ処理装置。 12 上記マスクパターン信号出力手段は、上記読出し
    データ長決定手段に結合され、上記読出しデータ長に相
    当する数の“1”ビットは最上位側に有し、他は“0”
    ビットであるデータパターンを発生する第1の手段と、
    上記読出しデータ長に相当する数の“1”ビットを最下
    位側に有し、他は“0”ビットであるデータパターンを
    発生する第2のパターン発生手段と、上記第1又は第2
    のパターン発生手段に接続され、上記読出し手段により
    決定されたデータアドレスに対応した数だけ、上記第1
    又は第2の手段により発生されたパターンを所定の方向
    にシフトさせるための第3の手段と、上記アラインフィ
    ールドに応答して、上記第1から第3の手段の出力をマ
    スクパターンとして出力するための第4の手段とを有す
    ることを特徴とする特許請求の範囲第2項記載のデータ
    処理装置。
JP54003956A 1979-01-19 1979-01-19 デ−タ処理装置 Expired JPS6041768B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP54003956A JPS6041768B2 (ja) 1979-01-19 1979-01-19 デ−タ処理装置
US06/079,247 US4317170A (en) 1979-01-19 1979-09-27 Microinstruction controlled data processing system including micro-instructions with data align control feature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54003956A JPS6041768B2 (ja) 1979-01-19 1979-01-19 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS5597642A JPS5597642A (en) 1980-07-25
JPS6041768B2 true JPS6041768B2 (ja) 1985-09-18

Family

ID=11571546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54003956A Expired JPS6041768B2 (ja) 1979-01-19 1979-01-19 デ−タ処理装置

Country Status (2)

Country Link
US (1) US4317170A (ja)
JP (1) JPS6041768B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847053B2 (ja) * 1979-11-19 1983-10-20 株式会社日立製作所 デ−タ処理装置
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
JPS5743239A (en) * 1980-08-27 1982-03-11 Hitachi Ltd Data processor
JPS57155644A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Alignment controlling system
US4592005A (en) * 1982-07-06 1986-05-27 Sperry Corporation Masked arithmetic logic unit
US4766533A (en) * 1984-03-09 1988-08-23 The United States Of America As Represented By The United States National Aeronautics And Space Administration Nanosequencer digital logic controller
JPS61214028A (ja) * 1985-03-20 1986-09-22 Hitachi Ltd マイクロプログラム制御型計算機
US4791560A (en) * 1985-07-31 1988-12-13 Unisys Corporation Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
US4980853A (en) * 1988-03-04 1990-12-25 Chips And Technologies, Inc. Bit blitter with narrow shift register
US5168571A (en) * 1990-01-24 1992-12-01 International Business Machines Corporation System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US3858183A (en) * 1972-10-30 1974-12-31 Amdahl Corp Data processing system and method therefor
DE2638125A1 (de) * 1975-09-04 1977-03-17 Tokyo Shibaura Electric Co Datenverarbeitungssystem

Also Published As

Publication number Publication date
US4317170A (en) 1982-02-23
JPS5597642A (en) 1980-07-25

Similar Documents

Publication Publication Date Title
JPS6041768B2 (ja) デ−タ処理装置
US4761755A (en) Data processing system and method having an improved arithmetic unit
US4408275A (en) Data processing system with data cross-block-detection feature
US4079451A (en) Word, byte and bit indexed addressing in a data processing system
US5390307A (en) Apparatus for a multi-data store or load instruction for transferring multiple contiguous storage locations in one transfer operation
US4179731A (en) Microprogrammed control system
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US4694391A (en) Compressed control decoder for microprocessor system
US4001788A (en) Pathfinder microprogram control system
US4396982A (en) Microinstruction controlled data processing system including microinstructions with data align control feature
GB1115765A (en) Improvements in or relating to electronic data processing apparatus
US4434462A (en) Off-chip access for psuedo-microprogramming in microprocessor
JPS6313215B2 (ja)
US4047247A (en) Address formation in a microprogrammed data processing system
JPH0248931B2 (ja)
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
EP0080901A2 (en) Data processing apparatus
US4763246A (en) Microprogram control
US4954947A (en) Instruction processor for processing branch instruction at high speed
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
US3969702A (en) Electronic computer with independent functional networks for simultaneously carrying out different operations on the same data
US4580238A (en) Arithmetic operating system
JPH027097B2 (ja)
US3260840A (en) Variable mode arithmetic circuits with carry select
KR20010007093A (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치