JPS58154070A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS58154070A JPS58154070A JP3623782A JP3623782A JPS58154070A JP S58154070 A JPS58154070 A JP S58154070A JP 3623782 A JP3623782 A JP 3623782A JP 3623782 A JP3623782 A JP 3623782A JP S58154070 A JPS58154070 A JP S58154070A
- Authority
- JP
- Japan
- Prior art keywords
- address
- array
- register
- operand
- registers
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
この発明はデータ処理装置に関し、特に配列演算処理を
行うデータ処理装置に関するものである。
行うデータ処理装置に関するものである。
従来のデータ処理装置では、命令が2つ以下のオペラン
ド指定しか必要としていなかったため、オペランドの番
地を保持するオペランドアドレスレジスタ(opera
nd address register 、以下OA
Rと略記する)とオペランドの内容を保持するオペラン
ドバッファレジスタ(operand buffer
regi−ster *以下0j3Rと略記する)がそ
れぞれ2つめれば十分であった。
ド指定しか必要としていなかったため、オペランドの番
地を保持するオペランドアドレスレジスタ(opera
nd address register 、以下OA
Rと略記する)とオペランドの内容を保持するオペラン
ドバッファレジスタ(operand buffer
regi−ster *以下0j3Rと略記する)がそ
れぞれ2つめれば十分であった。
従って、従来のデータ処理装置で配列演算命令のように
3つ以上のオペランド指定が連続して必要な局舎には、
各々のオペランドに対する要求が起る毎にOARの内容
を入れ替えなければならなかった。また配列演算を行う
ためには配列要素間の演算の他に、(イl OARの内
容に対する加減算と、(ロ)OARの内容が指定された
範囲内にあるかどうかのチェックと、し1演淳のくり返
し回数の累計とが必要であるが、この印、(C1、(’
jの演算な従来のデータ処理装置で行うと、ひとつの配
列要素間の演算を行う毎に、その演算(二相いた演算器
を使って上記(−(1、(a)、G/jの処理を逐次的
に実行せねばならず、処理の高速化を困難とする原因に
なっていたOこの発明は従来のものの上記の欠点を除去
するためになされたもので、従来の装置に簡単な回路を
付加すること1゛より・配タ1−膵処理を高速で実行す
ることができるデータ処械装置を提供することを目的と
している。
3つ以上のオペランド指定が連続して必要な局舎には、
各々のオペランドに対する要求が起る毎にOARの内容
を入れ替えなければならなかった。また配列演算を行う
ためには配列要素間の演算の他に、(イl OARの内
容に対する加減算と、(ロ)OARの内容が指定された
範囲内にあるかどうかのチェックと、し1演淳のくり返
し回数の累計とが必要であるが、この印、(C1、(’
jの演算な従来のデータ処理装置で行うと、ひとつの配
列要素間の演算を行う毎に、その演算(二相いた演算器
を使って上記(−(1、(a)、G/jの処理を逐次的
に実行せねばならず、処理の高速化を困難とする原因に
なっていたOこの発明は従来のものの上記の欠点を除去
するためになされたもので、従来の装置に簡単な回路を
付加すること1゛より・配タ1−膵処理を高速で実行す
ることができるデータ処械装置を提供することを目的と
している。
以下図(2)によりこの発明の詳細な説明する。
第1図はこの発明の装置により実行する配列演算命令の
一例を示すフォーマットであり、(1)は命令コード(
記号なOPとする) 、12)と(3)はそれぞれレジ
スタを示すフィールド(記号をR1,R2とする)、(
4)は命令サブコード(記号を5UBOPとする)であ
る。配列演算命令であることは命令コード(1)の特定
のビットパターンにより示され、命令サブコード(4)
はどんな型の配列演算命令であるかを示す。
一例を示すフォーマットであり、(1)は命令コード(
記号なOPとする) 、12)と(3)はそれぞれレジ
スタを示すフィールド(記号をR1,R2とする)、(
4)は命令サブコード(記号を5UBOPとする)であ
る。配列演算命令であることは命令コード(1)の特定
のビットパターンにより示され、命令サブコード(4)
はどんな型の配列演算命令であるかを示す。
R1+2)で示されるレジスタ(5)、+6)は演算の
くり返し制御を行うレジスタで、レジスタ(6)の内容
は演#をくり返すべき回数Nを指示し、レジスタ(5)
の内容は現在側(ロ)目の演算を行っているかを示す数
値■である。数値工は命令の初期化動作でOにリセット
され、配列要素間の演算が行われる毎に1ずつ加算され
レジスタ(6)の内容Nと等しくなったら演算を終了す
る。R2(3)で示されるレジスタ(7)には配列に関
する情報が格納されている記憶領域の:1・: 先11番地のアドレスが入っている。この場合は先頭番
地には配列Xの先頭番地XFVAが入っている。
くり返し制御を行うレジスタで、レジスタ(6)の内容
は演#をくり返すべき回数Nを指示し、レジスタ(5)
の内容は現在側(ロ)目の演算を行っているかを示す数
値■である。数値工は命令の初期化動作でOにリセット
され、配列要素間の演算が行われる毎に1ずつ加算され
レジスタ(6)の内容Nと等しくなったら演算を終了す
る。R2(3)で示されるレジスタ(7)には配列に関
する情報が格納されている記憶領域の:1・: 先11番地のアドレスが入っている。この場合は先頭番
地には配列Xの先頭番地XFVAが入っている。
また(8)、aL (iりには配列x、y、zに対する
先頭番地XFVA、 YFVA、 ZFVAと要素間の
増分XINC。
先頭番地XFVA、 YFVA、 ZFVAと要素間の
増分XINC。
YINC、ZINCカ格納さレテイル。まり19)、0
〔、Q3ニは配列X 1Y % Z t”一対する下限
値XLLO。
〔、Q3ニは配列X 1Y % Z t”一対する下限
値XLLO。
YLLO1zLLOト上限値XLHI 、 YLHI、
ZLHIが格納されている。またQ4)、 Q9、ue
は記憶領斌内の配列を示している・ たとえば、配列Xの工番目の要素の番地はXF’VA+
XINCX(I−1)として計算される。この計算結果
がXLLOとXLHIの間になければならない・配列演
!jl命令にはいろいろな型のものがあるが、以下の説
明ではX(I)とY(I)との演算を行いその結果をZ
(I)へ格納する動作なIが0からN−1になるまで
くり返す命苓とする。但しX(I)、Y(I)、Z(I
)は配列X、Y、ZoI番目のものを示す◎また上記演
算が加算である場合を説明する。
ZLHIが格納されている。またQ4)、 Q9、ue
は記憶領斌内の配列を示している・ たとえば、配列Xの工番目の要素の番地はXF’VA+
XINCX(I−1)として計算される。この計算結果
がXLLOとXLHIの間になければならない・配列演
!jl命令にはいろいろな型のものがあるが、以下の説
明ではX(I)とY(I)との演算を行いその結果をZ
(I)へ格納する動作なIが0からN−1になるまで
くり返す命苓とする。但しX(I)、Y(I)、Z(I
)は配列X、Y、ZoI番目のものを示す◎また上記演
算が加算である場合を説明する。
第2図はこの発明の一実施例を示すブロック図で、0′
7)はくり返し制御レジスタ、α秒はループ加算器であ
る。第1図の説明では、レジスタ+5)、16)を設け
、レジスタ(5)の内容をOにリセットしておきレジス
タ(5)に1ずつ加算してゆきその内容がレジスタ(6
)の内容Nに等しくなった時演算のくり返しを終了する
としたが、レジスタfiDに初期値Nをセットしておき
−1ずつ加算してゆきその内容がOになった時演算のく
り返しを終了しても同じであり、くり返し制御レジスタ
aっは、いずれかの方法でくり返し回数を制御する。鱈
、(至)、+211はそれぞれレジスタテ、第1図(8
)、(IL (IIDXINc 、 YINC。
7)はくり返し制御レジスタ、α秒はループ加算器であ
る。第1図の説明では、レジスタ+5)、16)を設け
、レジスタ(5)の内容をOにリセットしておきレジス
タ(5)に1ずつ加算してゆきその内容がレジスタ(6
)の内容Nに等しくなった時演算のくり返しを終了する
としたが、レジスタfiDに初期値Nをセットしておき
−1ずつ加算してゆきその内容がOになった時演算のく
り返しを終了しても同じであり、くり返し制御レジスタ
aっは、いずれかの方法でくり返し回数を制御する。鱈
、(至)、+211はそれぞれレジスタテ、第1図(8
)、(IL (IIDXINc 、 YINC。
ZINCが格納され、仮j: R(XINC)[1、R
(YINC)(7)、R(ZINC)−としてその内容
を示す。図はアドレス加算器、1211、Hlに)はそ
れぞれOARでアドレス加算器−の出力がセットされ初
期値としては(8)、a(1% (IIOXFVA%Y
FVA%ZFVA O値カセ7トされる。仮g: OA
R(X) El、OAR(Y) 11111、OARC
Z)−としてその内容を示す。o!6」は記憶装置、僻
)、(至))はそれぞれOBRでオペランドX、Yの亀
がそれぞれセットされ、仮にOBR(X) E、OBR
(Y) @でその内容を示す。凛は演算器、1ibel
、111m1、嘴はそれぞれ演算器間の内部レジスタで
AR(X)1i(11,BR(Y)m+、CR(Z)−
でその内容を示す。−は比較器、−1−1噛、禰、閣、
6tJはそれぞれレジスタで(9)、0υ、Q30XL
LOXYLLO,ZLLO,XLHI XYLHI。
(YINC)(7)、R(ZINC)−としてその内容
を示す。図はアドレス加算器、1211、Hlに)はそ
れぞれOARでアドレス加算器−の出力がセットされ初
期値としては(8)、a(1% (IIOXFVA%Y
FVA%ZFVA O値カセ7トされる。仮g: OA
R(X) El、OAR(Y) 11111、OARC
Z)−としてその内容を示す。o!6」は記憶装置、僻
)、(至))はそれぞれOBRでオペランドX、Yの亀
がそれぞれセットされ、仮にOBR(X) E、OBR
(Y) @でその内容を示す。凛は演算器、1ibel
、111m1、嘴はそれぞれ演算器間の内部レジスタで
AR(X)1i(11,BR(Y)m+、CR(Z)−
でその内容を示す。−は比較器、−1−1噛、禰、閣、
6tJはそれぞれレジスタで(9)、0υ、Q30XL
LOXYLLO,ZLLO,XLHI XYLHI。
ZLHIがそれぞれ格納される。缶は格納用レジスタ(
内容をFR63)で示す)である。
内容をFR63)で示す)である。
第3図は第2図の回路の動作を示すタイミング図で、ク
ロック1〜4で1つの演算が実行され、クロック5でく
り返し制御レジスタ面の内容が変化しクロック1の動作
がくり返される0才3図の+331、Jlはアドレス加
算器翰による加算でOAR(X)例、0AR(Y)Nが
更新され、この更新されたアドレスにより記憶装置(至
)からX、Yを読出し0BR(X)、、、71、OBR
(Y)1i!81としてロードする動作を示す0ゆ)、
凋は0BR(X)、im、OBR(Y)μs)をそれぞ
れAR(4)l、BRtln+にセットする動作を示し
、潤は演算器訓でAR(X) t30) + BR(Y
)四)の和をCR@にセットする動作を示し、@11は
アドレス加算器映によってOAR(Z)に)が更新され
る動作を示し、−はCR(Z)瞬)がFR63を経て記
憶装置(至)のOAR(Z)tmで指定されるアドレス
位置へ格納される動作を示す。またt@はレジスタ面の
内容の更新を示す。なおOAH扉さ)μs)、OAR(
Y) (m、OAR(Z)■は比較器−により XLL
O−XLHI 、 YLLO−YLHI 、 ZLLO
−ZLHIの範囲内にあることが検査されておりもしこ
の範囲から出ると比較器−からエラー信号を出力する。
ロック1〜4で1つの演算が実行され、クロック5でく
り返し制御レジスタ面の内容が変化しクロック1の動作
がくり返される0才3図の+331、Jlはアドレス加
算器翰による加算でOAR(X)例、0AR(Y)Nが
更新され、この更新されたアドレスにより記憶装置(至
)からX、Yを読出し0BR(X)、、、71、OBR
(Y)1i!81としてロードする動作を示す0ゆ)、
凋は0BR(X)、im、OBR(Y)μs)をそれぞ
れAR(4)l、BRtln+にセットする動作を示し
、潤は演算器訓でAR(X) t30) + BR(Y
)四)の和をCR@にセットする動作を示し、@11は
アドレス加算器映によってOAR(Z)に)が更新され
る動作を示し、−はCR(Z)瞬)がFR63を経て記
憶装置(至)のOAR(Z)tmで指定されるアドレス
位置へ格納される動作を示す。またt@はレジスタ面の
内容の更新を示す。なおOAH扉さ)μs)、OAR(
Y) (m、OAR(Z)■は比較器−により XLL
O−XLHI 、 YLLO−YLHI 、 ZLLO
−ZLHIの範囲内にあることが検査されておりもしこ
の範囲から出ると比較器−からエラー信号を出力する。
すなわち、第2図の装置では演算器端内では第3図−の
動作だけが行われ、其他の動作はループ加算器側、アド
レス加算器−1比較器−等で行われるので配列演算処理
を高速度で実行することができる。
動作だけが行われ、其他の動作はループ加算器側、アド
レス加算器−1比較器−等で行われるので配列演算処理
を高速度で実行することができる。
以上のようにこの発明によれば、配列の添字(すなわち
第1図レジスタ(5)の内容I)計算、各OAHの内容
の更新、各OAHの内容の上下限チェック、更新したO
AHによる配列要素の読出しが演算器軸における演算実
行時間(第3図−参照)に吸収され、配列演算処理の高
速化を達成することができる。
第1図レジスタ(5)の内容I)計算、各OAHの内容
の更新、各OAHの内容の上下限チェック、更新したO
AHによる配列要素の読出しが演算器軸における演算実
行時間(第3図−参照)に吸収され、配列演算処理の高
速化を達成することができる。
、′、
【図面の簡単な説明】
第1図はこの発−の装置により実行する配夕IJ?1m
算命令の一例を示すフォーマット図、第2−はこの発明
の一実施例を示すブロック図、23図は第2図の動作を
示すタイミング図である。 nη・・・く9返し制御レジスタ、a・・・・ループ加
算器、■、四、I’ll ・・・それぞれXINC,Y
INC,ZINCヲ保持するレジスタ、−・・・アドレ
ス加算器、詞、−1(支))・・・それぞれOAR,o
ln・・・記憶装置、(ロ)、−・・・それぞれOBR
,21N・・・演算器、−・・・比較器。 代理人 葛 野 ! − 第1Fl!J
算命令の一例を示すフォーマット図、第2−はこの発明
の一実施例を示すブロック図、23図は第2図の動作を
示すタイミング図である。 nη・・・く9返し制御レジスタ、a・・・・ループ加
算器、■、四、I’ll ・・・それぞれXINC,Y
INC,ZINCヲ保持するレジスタ、−・・・アドレ
ス加算器、詞、−1(支))・・・それぞれOAR,o
ln・・・記憶装置、(ロ)、−・・・それぞれOBR
,21N・・・演算器、−・・・比較器。 代理人 葛 野 ! − 第1Fl!J
Claims (1)
- 【特許請求の範囲】 配列演算処理を行う場合の演算処理のくり返し数を保持
し、1回の演算処理の終了ごとに数値lが加算され、保
持する数値が上記配列演算処理によって指定されるく9
返し数に達したとき当該配列演算処理を終了する信号を
出力した後保持する数値をリセットするくり返し制御レ
ジスタと、上記配列演算処理に必要なオペランドのそれ
ぞれのオペランドアドレスを保持する各オペランドアド
レスレジスタと、 この各オペランドアドレスレジスタに上記配列演算処理
によって指定されるそれぞれの初期値を設定する手段と
、 上記各オペランドアドレスレジスタに上記〈9返し制御
レジスタの保持する数値が1だけ変化するごとに上記配
列演算処理によって指定されるそれぞれの増分値を加算
する手段と、 上記オペランドアドレスレジスタの示すアドレスにより
記憶装置から読出したオペランドに対し上記配列演算処
理によって指定される処理を施しそ6処理結果を上記オ
ペランドアドレスレジスタの示すアドレスにより記憶装
置へ書込む手段とを備えたデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3623782A JPS58154070A (ja) | 1982-03-08 | 1982-03-08 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3623782A JPS58154070A (ja) | 1982-03-08 | 1982-03-08 | デ−タ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS58154070A true JPS58154070A (ja) | 1983-09-13 |
Family
ID=12464164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3623782A Pending JPS58154070A (ja) | 1982-03-08 | 1982-03-08 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58154070A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61187076A (ja) * | 1985-02-14 | 1986-08-20 | Hitachi Ltd | ベクトル処理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5096151A (ja) * | 1973-12-24 | 1975-07-31 | ||
JPS5388545A (en) * | 1977-01-14 | 1978-08-04 | Hitachi Ltd | Processing system for vector order |
JPS5725069A (en) * | 1980-07-21 | 1982-02-09 | Hitachi Ltd | Vector data processing equipment |
-
1982
- 1982-03-08 JP JP3623782A patent/JPS58154070A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5096151A (ja) * | 1973-12-24 | 1975-07-31 | ||
JPS5388545A (en) * | 1977-01-14 | 1978-08-04 | Hitachi Ltd | Processing system for vector order |
JPS5725069A (en) * | 1980-07-21 | 1982-02-09 | Hitachi Ltd | Vector data processing equipment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61187076A (ja) * | 1985-02-14 | 1986-08-20 | Hitachi Ltd | ベクトル処理装置 |
JPH0431145B2 (ja) * | 1985-02-14 | 1992-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332590B1 (en) | Multi-stage command processing pipeline and method for shared cache access | |
BR112015022683B1 (pt) | Sistema de processamento e método de realização de uma operação de manipulação de dados | |
JP4865016B2 (ja) | プロセッサ | |
JPH0410108B2 (ja) | ||
JPS58154070A (ja) | デ−タ処理装置 | |
US5142630A (en) | System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching | |
JP4243463B2 (ja) | 命令スケジューリングのシミュレーション方法とシミュレーションシステム | |
WO2009125249A1 (en) | A system and a method for selecting a cache way | |
JPS5848099B2 (ja) | 文字パタ−ン発生装置 | |
US20070192573A1 (en) | Device, system and method of handling FXCH instructions | |
US20050262360A1 (en) | Trusted patching of trusted code | |
JP3211423B2 (ja) | 分岐命令実行方法および分岐命令実行装置 | |
US6219757B1 (en) | Cache flush operation for a stack-based microprocessor | |
US5931910A (en) | System for node address initialization using pointers to designate the first address in selected sets of node addresses corresponding to selected inter-processor communications | |
CN116993574B (zh) | 一种图形处理器架构、数据处理方法、设备和存储介质 | |
JP5710833B2 (ja) | レジスタファイル間におけるデータ伝送の実現方法及び実現装置 | |
JPS6120893B2 (ja) | ||
US6820191B2 (en) | Apparatus and method for executing an instruction with a register bit mask for transferring data between a plurality of registers and memory inside a processor | |
JPS61288230A (ja) | パイプライン制御方式 | |
SU552608A1 (ru) | Устройство дл устранени последствий сбоев | |
KR940007692A (ko) | 데이타 처리장치 및 데이타 처리방법 | |
JP3001545B1 (ja) | ベクトルデータ処理装置 | |
US3763475A (en) | Stored program computer with plural shift register storage | |
JPH0222736A (ja) | 中央処理装置 | |
JPH0241070B2 (ja) |