JPS607813B2 - 可変長演算方式 - Google Patents
可変長演算方式Info
- Publication number
- JPS607813B2 JPS607813B2 JP15932180A JP15932180A JPS607813B2 JP S607813 B2 JPS607813 B2 JP S607813B2 JP 15932180 A JP15932180 A JP 15932180A JP 15932180 A JP15932180 A JP 15932180A JP S607813 B2 JPS607813 B2 JP S607813B2
- Authority
- JP
- Japan
- Prior art keywords
- byte
- mark
- bytes
- circuit
- arithmetic
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing 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)
Description
【発明の詳細な説明】
本発明は、可変長データを効率良く演算する可変長演算
方式に関するものである。
方式に関するものである。
複数バイトの処理バイト幅を有する演算装置により、そ
の処理バイト幅より短いバイト幅のデータを記憶装置か
ら議出して演算し、その結果を記憶装置に書込む命令を
実行する場合、従来は記憶装置から論出したデータに0
を付加して演算装置の処理バイト幅となるようにし、演
算結果のステータス情報も処理バイト幅で検査し、記憶
装置への書込みはリード・モデイフアィド・ライトによ
り行なうものであった。
の処理バイト幅より短いバイト幅のデータを記憶装置か
ら議出して演算し、その結果を記憶装置に書込む命令を
実行する場合、従来は記憶装置から論出したデータに0
を付加して演算装置の処理バイト幅となるようにし、演
算結果のステータス情報も処理バイト幅で検査し、記憶
装置への書込みはリード・モデイフアィド・ライトによ
り行なうものであった。
このようなりード・モディフアィト・ライトは、記憶装
置のアクセスバイト幅で誤り訂正コード(ECC)を作
成する為に必要となるものであり、全バイトストアより
動作が遅くなることになる。本発明はアクセスバイト幅
に満たないデータの演算処理を、0を付加することなく
バイトマークで指定してアクセスバイト幅で行ない、全
バイトストアできるようにして、処理を高速化すること
を目的とするものである。
置のアクセスバイト幅で誤り訂正コード(ECC)を作
成する為に必要となるものであり、全バイトストアより
動作が遅くなることになる。本発明はアクセスバイト幅
に満たないデータの演算処理を、0を付加することなく
バイトマークで指定してアクセスバイト幅で行ない、全
バイトストアできるようにして、処理を高速化すること
を目的とするものである。
以下実施例について詳細に説明する。第1図は本発明の
実施例のブロック線図であり、AI,A2は命令形式を
示し、OPは命令コード、L1,L2は第1及び第2オ
ペランド長、B1,DIは第1オペランドアドレス、B
2,D2は第2オペランドアドレス、いま第1オペラン
ド長と第2オペランド長とが等しいときのオペランド長
である。
実施例のブロック線図であり、AI,A2は命令形式を
示し、OPは命令コード、L1,L2は第1及び第2オ
ペランド長、B1,DIは第1オペランドアドレス、B
2,D2は第2オペランドアドレス、いま第1オペラン
ド長と第2オペランド長とが等しいときのオペランド長
である。
又LRはオペランド長L1,L2又はLをセットするレ
ジスタ、ALUaは演算処理毎にレジスタLRの内容を
処理バイト幅だけ演算する為の演算回路、BMQましジ
スタLRの内容に従ったバイトマークBMを発生するバ
イトマーク発生回路、AL山ま第1オペランドデータO
PRIと第2オペランドデータOPR2との演算を行な
う演算回路、STGはステータス回路、CCGはコンデ
ィションコード作成回路である。以下演算回路ALUの
処理バイト幅が4バイトの場合について説明するが、本
発明に於ける処理バイト幅はこれに限定されるものでは
ない。バイトマーク発生回路BMGはしジスタLRの内
容が4バイト以上を示すとき、バイトマークBM(BM
O〜BM3)をオール“1”として出力し、3バイト以
下を示すときは、バイトマークBMを演算すべきバイト
について“1”として出力する。
ジスタ、ALUaは演算処理毎にレジスタLRの内容を
処理バイト幅だけ演算する為の演算回路、BMQましジ
スタLRの内容に従ったバイトマークBMを発生するバ
イトマーク発生回路、AL山ま第1オペランドデータO
PRIと第2オペランドデータOPR2との演算を行な
う演算回路、STGはステータス回路、CCGはコンデ
ィションコード作成回路である。以下演算回路ALUの
処理バイト幅が4バイトの場合について説明するが、本
発明に於ける処理バイト幅はこれに限定されるものでは
ない。バイトマーク発生回路BMGはしジスタLRの内
容が4バイト以上を示すとき、バイトマークBM(BM
O〜BM3)をオール“1”として出力し、3バイト以
下を示すときは、バイトマークBMを演算すべきバイト
について“1”として出力する。
演算回路ALUはバイトマークBMに従ってバイト単位
の演算処理を行ない、バイト単位のステータス情報ST
をステータス回路STGに加える。又ステータス回路S
TGは演算回路ALUからのステータス情報STとバイ
トマーク発生回路BMGからのバイトマークBMとによ
り、演算結果の零、キャリー、オーバーフロー、ネガテ
ィブ等のステータス情報を作成してコンディションコー
ド作成回路CCGに加え、コンディションコードCCが
出力されてプログラム等に通知される。又演算回路AL
Uの演算結果ARは4バイトのデータであるので、全バ
イトストアが可能となる。第2図は概略動作説明図であ
り、記憶装置MSのアクセスバイト幅が4バイトで、a
,b’c’dの4バイトのデータ中のデータdについて
演算する場合、従来はRDIに示すように、演算すべき
1バイトのデータdが読出され、他の3バイトは0とし
、4バイトのデータが第1オペランドヂータOPRIと
して演算回路ALUに加えられる。
の演算処理を行ない、バイト単位のステータス情報ST
をステータス回路STGに加える。又ステータス回路S
TGは演算回路ALUからのステータス情報STとバイ
トマーク発生回路BMGからのバイトマークBMとによ
り、演算結果の零、キャリー、オーバーフロー、ネガテ
ィブ等のステータス情報を作成してコンディションコー
ド作成回路CCGに加え、コンディションコードCCが
出力されてプログラム等に通知される。又演算回路AL
Uの演算結果ARは4バイトのデータであるので、全バ
イトストアが可能となる。第2図は概略動作説明図であ
り、記憶装置MSのアクセスバイト幅が4バイトで、a
,b’c’dの4バイトのデータ中のデータdについて
演算する場合、従来はRDIに示すように、演算すべき
1バイトのデータdが読出され、他の3バイトは0とし
、4バイトのデータが第1オペランドヂータOPRIと
して演算回路ALUに加えられる。
一方本発明に於いては、RD2に示すように、4バイト
のデータa,b,c,dが読出されて演算回路ALUに
加えられる。このとき、オペランド長が1バイトとして
指示されるので、バイトマ−クBMは1バイトについて
の演算を示す内容となる。又第2オペランドデータかO
PR2で示す場合、従来はRDIで示す読出データと第
2オペランドデータOPR2との演算結果はARIで示
すものとなり、1バイトの演算結果データR以外の3バ
イトのデータは0となる。
のデータa,b,c,dが読出されて演算回路ALUに
加えられる。このとき、オペランド長が1バイトとして
指示されるので、バイトマ−クBMは1バイトについて
の演算を示す内容となる。又第2オペランドデータかO
PR2で示す場合、従来はRDIで示す読出データと第
2オペランドデータOPR2との演算結果はARIで示
すものとなり、1バイトの演算結果データR以外の3バ
イトのデータは0となる。
従って記憶装置MSに演算結果ARIをストアするとき
は、リード・モディフアィト・ライトにより書込みを行
なわなければならないことになる。一方本発明に於いて
な、RD2で示す読出データと第2オペランドデータO
PR2との演算結果は、バイトマークBMにより4バイ
ト目のデータdについての演算が指示されるので、AR
2に示すものとなり、この4バイトのデータa,b,c
,dは記憶装置MSにそのままストアすることができる
ことになる。第3図は本発明の実施例の演算回路部分の
ブロック線図であり、AR,BRは第1及び第2オペラ
ンドデー夕○PR1,OPR2をセットするレジスタ、
ALUO〜ALU3はバイト単位の演算回路、RRは演
算結果をセットするレジスタ、…VI〜mV4はインバ
ー夕、GI〜G8,GI3〜GI5はアンドゲート、G
9〜GI2はオアゲートである。バイトマークBMO〜
BM3はオペランド長が4バイト以上のときオール“1
”となり、アンドゲートG2,G4,G6,G8が開か
れるので、各演算回路ALUO〜ALU3の演算結果が
レジスタRRにセットされる。
は、リード・モディフアィト・ライトにより書込みを行
なわなければならないことになる。一方本発明に於いて
な、RD2で示す読出データと第2オペランドデータO
PR2との演算結果は、バイトマークBMにより4バイ
ト目のデータdについての演算が指示されるので、AR
2に示すものとなり、この4バイトのデータa,b,c
,dは記憶装置MSにそのままストアすることができる
ことになる。第3図は本発明の実施例の演算回路部分の
ブロック線図であり、AR,BRは第1及び第2オペラ
ンドデー夕○PR1,OPR2をセットするレジスタ、
ALUO〜ALU3はバイト単位の演算回路、RRは演
算結果をセットするレジスタ、…VI〜mV4はインバ
ー夕、GI〜G8,GI3〜GI5はアンドゲート、G
9〜GI2はオアゲートである。バイトマークBMO〜
BM3はオペランド長が4バイト以上のときオール“1
”となり、アンドゲートG2,G4,G6,G8が開か
れるので、各演算回路ALUO〜ALU3の演算結果が
レジスタRRにセットされる。
又オペランド長Lが3以下又は演算処理によるレジスタ
LRの内容が更新されて3以下となり、例えば1を示す
とき、バイトマークBMO〜BM2は“0’、バイトマ
ークBM3が“1”となり、記憶装置MSから4バイト
のデータが読出されてレジスタARにセットされていて
も、バイト0〜2はアンドゲートGI,G3,G5が関
されるので、そのままレジスタRRにセットされ、バイ
ト3のみが演算回路ALU3にに於いて演算され、アン
ドゲートG8及びオアゲートGI2を介してレジスタR
Rにセットされる。即ち第2図について説明した場合と
同様のレジスタRRの内容となる。又演算回路ALUO
〜ALU3間にはアンドゲ−トGI3〜GI5、及びオ
アゲートGI6〜GI8等が接続され、バイトマークB
MI〜BM3に対応してキャリールツクアヘッド(キャ
リの予測)用の信号GBI〜GB3がGI〜G3として
、また信号PBI〜PB3がP1〜P3として、上位バ
イト位置の演算回路ALUO〜2に接続される。
LRの内容が更新されて3以下となり、例えば1を示す
とき、バイトマークBMO〜BM2は“0’、バイトマ
ークBM3が“1”となり、記憶装置MSから4バイト
のデータが読出されてレジスタARにセットされていて
も、バイト0〜2はアンドゲートGI,G3,G5が関
されるので、そのままレジスタRRにセットされ、バイ
ト3のみが演算回路ALU3にに於いて演算され、アン
ドゲートG8及びオアゲートGI2を介してレジスタR
Rにセットされる。即ち第2図について説明した場合と
同様のレジスタRRの内容となる。又演算回路ALUO
〜ALU3間にはアンドゲ−トGI3〜GI5、及びオ
アゲートGI6〜GI8等が接続され、バイトマークB
MI〜BM3に対応してキャリールツクアヘッド(キャ
リの予測)用の信号GBI〜GB3がGI〜G3として
、また信号PBI〜PB3がP1〜P3として、上位バ
イト位置の演算回路ALUO〜2に接続される。
接続される信号PI〜P3,GI〜G3に基き、演算回
路ALUO〜ALU2のキャリー入力(桁上げ信号)は
以下の論理で作成される。ALUO:P1・P2・P3
・Cin+P1・P2・G3十Pl.G2十GIALU
I:P2・P3・C:n+P2・G3十G2ALU2:
P3・Cin十G3尚CinはALUO〜ALU3に全
体に対してのキャリ入力(桁上げ信号)である。
路ALUO〜ALU2のキャリー入力(桁上げ信号)は
以下の論理で作成される。ALUO:P1・P2・P3
・Cin+P1・P2・G3十Pl.G2十GIALU
I:P2・P3・C:n+P2・G3十G2ALU2:
P3・Cin十G3尚CinはALUO〜ALU3に全
体に対してのキャリ入力(桁上げ信号)である。
第4図はステータス回路STGの一例のブロック線図で
あり、ゲートG20〜G27とフリツプフロツプFFI
により、キヤリー、オーバーフロー、ネガティブのステ
ータス情報CONを出力し、ゲートG28〜G32とフ
リツプフロツプFF2により零のステータス情報Zを出
力するものであり、バイトマークBMO〜BM3とバイ
ト単位の演算回路ALUO〜ALU3からのステータス
情報BOS〜B3Sとの論理により得られるものである
。
あり、ゲートG20〜G27とフリツプフロツプFFI
により、キヤリー、オーバーフロー、ネガティブのステ
ータス情報CONを出力し、ゲートG28〜G32とフ
リツプフロツプFF2により零のステータス情報Zを出
力するものであり、バイトマークBMO〜BM3とバイ
ト単位の演算回路ALUO〜ALU3からのステータス
情報BOS〜B3Sとの論理により得られるものである
。
例えばバイトマークBMO〜BM3が“1”で4バイト
総てについて演算する場合、バイト0のステータス情報
BOSによってのみフリップフロップFFIが動作され
、又バイト0〜3のステータス情報BOS〜B3Sが総
て0を示すときのみフリツプフロツプFF2がセットさ
れて零のステータス情報Zが出力される。又バイトマー
クBMO〜BM2が“0”でバイトマークBM3が“1
”即ち1バイトについての演算を行なう場合は、、バイ
ト3のステータス情報B3Sによってのみフリップフロ
ップFFIが動作され、又ステータス情報B3Sが0を
示すときのみフリツプフロツプFF2がセットされる。
コンディションコード作成回路CCGでは、ステータス
回路STGの出力に応じて、例えば演算結果が零のとき
“0び、負のとき“01”、正のとき“1び、オーバー
フローのとき‘‘11”のコンデイションコードを出力
する。
総てについて演算する場合、バイト0のステータス情報
BOSによってのみフリップフロップFFIが動作され
、又バイト0〜3のステータス情報BOS〜B3Sが総
て0を示すときのみフリツプフロツプFF2がセットさ
れて零のステータス情報Zが出力される。又バイトマー
クBMO〜BM2が“0”でバイトマークBM3が“1
”即ち1バイトについての演算を行なう場合は、、バイ
ト3のステータス情報B3Sによってのみフリップフロ
ップFFIが動作され、又ステータス情報B3Sが0を
示すときのみフリツプフロツプFF2がセットされる。
コンディションコード作成回路CCGでは、ステータス
回路STGの出力に応じて、例えば演算結果が零のとき
“0び、負のとき“01”、正のとき“1び、オーバー
フローのとき‘‘11”のコンデイションコードを出力
する。
第5図はしングス即ちステータス長とバイトマークBM
、ステータス情報等の関係の一例を示すものであり、ゼ
ロチェツクとキヤリー出力とに於ける×印はそのビット
位置に対応するバイト単位の演算回路ALUO〜ALU
3のステータスを考慮する必要がないことを示すもので
ある。
、ステータス情報等の関係の一例を示すものであり、ゼ
ロチェツクとキヤリー出力とに於ける×印はそのビット
位置に対応するバイト単位の演算回路ALUO〜ALU
3のステータスを考慮する必要がないことを示すもので
ある。
以上説明したように、本発明は、複数バイトの処理バイ
ト幅の演算回路ALU(ALUO〜ALU3)と、命令
語のオペランド長L又はL1,L2と処理バイト幅との
関係によりバイトマ−クBM(BMO〜BM3)を発生
するバイトマーク発生回路BMGと、バイトマークBM
(BMO〜BM3)と演算回路ALU(ALUO〜AL
U3)のバイト単位のステータス情報ST(BOS〜B
3S)とにより演算結果のステータス情報CON,Zを
作成するステータス回路STGとを備え、記憶回路MS
からは演算回路の処理バイト幅のデータ、即ちアクセス
バイト幅のデータが謙出されて、バイトマークBM(B
MO〜BM3)で指示されたバイト単位で演算され、前
記バイトマークで指示されないバイトについてはそのま
ま出力するもので、演算回路ALUからは記憶装置MS
のアクセスアドレス幅のデ−夕が出力されることになる
ので、1バイト演算に於いても、全バイトストアが可能
となり、可変長データの演算処理を高速化することがで
きることになる。
ト幅の演算回路ALU(ALUO〜ALU3)と、命令
語のオペランド長L又はL1,L2と処理バイト幅との
関係によりバイトマ−クBM(BMO〜BM3)を発生
するバイトマーク発生回路BMGと、バイトマークBM
(BMO〜BM3)と演算回路ALU(ALUO〜AL
U3)のバイト単位のステータス情報ST(BOS〜B
3S)とにより演算結果のステータス情報CON,Zを
作成するステータス回路STGとを備え、記憶回路MS
からは演算回路の処理バイト幅のデータ、即ちアクセス
バイト幅のデータが謙出されて、バイトマークBM(B
MO〜BM3)で指示されたバイト単位で演算され、前
記バイトマークで指示されないバイトについてはそのま
ま出力するもので、演算回路ALUからは記憶装置MS
のアクセスアドレス幅のデ−夕が出力されることになる
ので、1バイト演算に於いても、全バイトストアが可能
となり、可変長データの演算処理を高速化することがで
きることになる。
第1図は本発明の実施例のブロック線図、第2図は従来
例と対比した概略動作説明図、第3図は本発明の実施例
の演算回路部分のブロック線図、第4図は本発明の実施
例のステータス回路の要部ブロック線図、第5図はしン
グスとバイトマーク、ステ−タス情報との説明図である
。 ALU,ALUO〜ALU3は演算回路、BMGはバイ
トマーク発生回路、STGはステータス回路、LR,A
R,BR,RRはしジスタ、CCGはコンデイションコ
ード作成回路である。 第1図 第2図 第3図 第4図 第5図
例と対比した概略動作説明図、第3図は本発明の実施例
の演算回路部分のブロック線図、第4図は本発明の実施
例のステータス回路の要部ブロック線図、第5図はしン
グスとバイトマーク、ステ−タス情報との説明図である
。 ALU,ALUO〜ALU3は演算回路、BMGはバイ
トマーク発生回路、STGはステータス回路、LR,A
R,BR,RRはしジスタ、CCGはコンデイションコ
ード作成回路である。 第1図 第2図 第3図 第4図 第5図
Claims (1)
- 1 複数バイトの処理バイト幅の演算回路と、オペラン
ド長と前記処理バイト幅との関係によりバイトマークを
発生するバイトマーク発生回路と、該バイトマーク発生
回路からのバイトマークと前記演算回路からのバイト単
位のステータス情報とにより演算結果のステータス情報
を作成するステータス回路とを備え、前記演算回路の処
理バイト幅のオペランドデータについて前記バイトマー
クで指示されたバイト単位の演算を行ない、前記バイト
マークで指示されないバイトについてはそのまま出力す
ることを特徴とする可変長演算方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15932180A JPS607813B2 (ja) | 1980-11-12 | 1980-11-12 | 可変長演算方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15932180A JPS607813B2 (ja) | 1980-11-12 | 1980-11-12 | 可変長演算方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5783846A JPS5783846A (en) | 1982-05-25 |
| JPS607813B2 true JPS607813B2 (ja) | 1985-02-27 |
Family
ID=15691241
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15932180A Expired JPS607813B2 (ja) | 1980-11-12 | 1980-11-12 | 可変長演算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS607813B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0512821Y2 (ja) * | 1987-09-25 | 1993-04-05 |
-
1980
- 1980-11-12 JP JP15932180A patent/JPS607813B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5783846A (en) | 1982-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6097435A (ja) | 演算処理装置 | |
| US4542476A (en) | Arithmetic logic unit | |
| JPH10260840A (ja) | ファジイ論理規則用のコーディング及び記憶方法及びこの様な規則を処理するための回路アーキテクチャ | |
| US4598359A (en) | Apparatus for forward or reverse reading of multiple variable length operands | |
| US4608633A (en) | Method for decreasing execution time of numeric instructions | |
| JPH034936B2 (ja) | ||
| JPS607813B2 (ja) | 可変長演算方式 | |
| JP3630804B2 (ja) | データ処理装置 | |
| JPS58182754A (ja) | 演算処理装置 | |
| JPH08212075A (ja) | 情報処理装置 | |
| JPH027097B2 (ja) | ||
| JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
| JP2001216136A (ja) | 加算回路およびプロセッサ | |
| JP3140812B2 (ja) | 5オペランド型シフト命令方式 | |
| JP3055558B2 (ja) | nビット演算装置 | |
| JPH0991118A (ja) | 浮動小数点演算装置 | |
| JPH08272605A (ja) | アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法 | |
| JPS61169934A (ja) | ビツト列デ−タの演算結果のレジスタ内格納方法 | |
| JPH02127726A (ja) | 情報処理装置 | |
| JPS61100836A (ja) | 移動命令論理比較命令処理方式 | |
| JPS6148036A (ja) | 演算処理装置 | |
| JPH02230320A (ja) | データ処理装置 | |
| JPH11143710A (ja) | 処理対象値入力装置及びプログラム変換装置 | |
| JPS59142646A (ja) | 計算処理装置 | |
| JPH01114951A (ja) | マイクロコンピュータ |