JPH0363092B2 - - Google Patents

Info

Publication number
JPH0363092B2
JPH0363092B2 JP56156267A JP15626781A JPH0363092B2 JP H0363092 B2 JPH0363092 B2 JP H0363092B2 JP 56156267 A JP56156267 A JP 56156267A JP 15626781 A JP15626781 A JP 15626781A JP H0363092 B2 JPH0363092 B2 JP H0363092B2
Authority
JP
Japan
Prior art keywords
operand
operands
byte
storage device
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
JP56156267A
Other languages
English (en)
Other versions
JPS5858653A (ja
Inventor
Shigeo Sawada
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 JP56156267A priority Critical patent/JPS5858653A/ja
Priority to GB08219810A priority patent/GB2123995B/en
Priority to DE3226214A priority patent/DE3226214C2/de
Priority to US06/397,992 priority patent/US4580238A/en
Publication of JPS5858653A publication Critical patent/JPS5858653A/ja
Publication of JPH0363092B2 publication Critical patent/JPH0363092B2/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching

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)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は、特に演算に関与するオペランドが記
憶装置にある命令の高速処理を計つたデータ処理
方法に関する。
従来のデータ処理装置では、記憶装置内にある
オペランド間の演算を行う命令(以降SS形式命
令と呼ぶ)処理する方法として、記憶装置より第
1オペランドの一部と第2オペランドの一部を読
出し、処理装置が一度にアクセスできる長さを処
理単位としてデータ処理を行い、その処理単位の
結果を記憶装置の第1オペランド位置へ書込み、
その後アクセスするアドレスを更新して後続の第
1オペランドの一部を読出すという動作サイクル
を、指定された長さの処理が完了するまで繰返し
ていた。
従つて、結果の書込みが完了するまで、後続す
る第1オペランドの読出しは待たされており、処
理すべきデータが無いためデータ処理を中断しな
ければならず、SS形式命令の実行時間が長くな
る欠点があつた。
そこで本発明の目的は、SS形式命令の実行時
間を短縮することにある。
本発明では、結果の書込みを行なう前に後続の
オペランドの読出しを行ない、結果の書込みと後
続の処理と時間的にオーバラツプさせることによ
り、SS形式命令の実行時間を短縮するものであ
る。
まずSS形式命令の一例を第1図に示す。
OPは8ビツト長であり、命令コードである。
このOPにより、どのような演算をオペランドに
対して行うかを指定する。
Lは8ビツト長であり、演算を行うオペランド
長より1だけ少ない数が2進数で指定される。従
つて指定可能なオペランド長は1〜256バイト
(1バイトは8ビツトにより構成される)である。
ADR1,ADR2はそれぞれ16ビツト長であり、
第1オペランドおよび第2オペランドの先頭アド
レスを指定する。従つて演算に関与するオペラン
ドは、それぞれADR1〜ADR1+LとADR2〜
ADR2+Lの範囲であり、オペランドはアドレス
の上昇順に処理される。演算結果は第1オペラン
ドの位置に書込まれる。
以下、本発明の一実施例を第2図〜第7図によ
り説明する。
第2図に本発明に従つたデータ処理装置のブロ
ツク図を示す。1は主記憶装置(MS)であり、
SS形式命令のオペランドおよび命令が格納され
ている。
MS1より読出したSS形式命令は、各種選択回
路およびデータ線を経由して、それぞれ命令コー
ド・レジスタ(F)30、未処理バイト数レジスタ
(BCNT)40、第1オペランド・アドレス・レ
ジスタ(FMSAR)50、第1オペランド・バイ
ト・ポインタ(FBP)141第2オペランド・
アドレス・レジスタ(SMSAR)51へ、第2オ
ペランド・バイト・ポインタ(SBP)241SS
形式命令のOP部、L部、ADR1部、ADR2部が
転送され命令の処理が開始可能となる。これらデ
ータのセツト手順の詳細についての説明は省略す
る。
MS1は、MSアドレス母線53により8バイ
ト境界単位のアクセスが可能であり、読出しビツ
トは、8バイトの読出し母線2を経由して8バイ
ト長の読出しデータ・レジスタ(MSRDR)5に
セツトされる。8バイトの書込みデータは、書込
みデータ・レジスタ(MSWDR)4から書込み
母線3を経由してMS1へ送られる。
FOPR10は8バイト長の第1オペランド・レ
ジスタであり、オペランドのセツト時は、
MSRDR5の各バイトがMSRDR出力線101〜
108、FOPRの各バイト毎に用意されている
FOPR入力切替えスイツチ111〜118、さら
にその切替え後のデータ線121〜128を経由
してFOPR10へ転送される。
これに対して、SOPR20は8バイト長の第2
オペランド・レジスタであり、MSPDR5から8
バイト巾のMSRDRデータ母線21を経由して8
バイト単位の転送が行われる。
FOPR10およびSOPR20にセツトされたオ
ペランドは、それぞれ、8バイト巾レジスタから
1バイトを選択する切替えスイツチ32および3
3を経由して、1入力幅が1バイト巾の演算器
ALU31の入力となる。
ALU31は命令コード・レジスタ(F)30によ
り、命令に応じた所定の演算をその入力データに
対して行い、1バイトのALU出力線34へ出力
する。
ALU31の出力は、FOPR10のALU入力と
なつたバイト位置に対して、FOPR入力切替えス
イツチ111〜118およびデータ線121〜1
28を経由して送り込まれ、該バイト位置に対し
てだけセツト信号が出される。
このようにして、FOPR10にセツトされたオ
ペランドは1バイトずつALU31の入力データ
となり、またALU出力が1バイトずつ該バイト
位置に書込まれる。結果の書込みが終了すると、
FOPR10およびSOPR20のバイト位置指定を
行うバイト・ポインターFBP141とSBP24
1に1を加える。(FBP141とSBP241の動
作は後述する) また1バイトの処理が終るつど、未処理バイト
数レジスタ(BCNT)40は減算回路41と
BCNT入力選択スイツチ42を減算回路出力線
43を選ぶように制御されて1の減算が行われ
る。
MS1をアクセスするアドレスは、アドレス切
替えスイツチ52により、第1オペランドの読出
し、書込みの場合には、FMSAR50を選び、そ
の内容をMSアドレス母線53へ送出するよう制
御する。またMSアドレス母線53はMSアクセ
ス・アドレスを更新するためのアドレス演算器
(AA)54の入力ともなつている。同様にして、
第2オペランドの読出しの場合には、SMSAR5
1の内容をMS1のアクセス・アドレスとして使
用する。
AA54の一方の入力はFMSAR50あるいは
SMSAR51なるアドレスレジスタであり、他方
は定数発生器(C)58より与えられる定数(0、8
あるいは16等)である。またAA54は加算と減
算とが可能であり、演算の種類は他の制御回路
(開示せず)より指定される。
AA54の出力はAA出力線55、アドレス・
レジスタ入力切替えスイツチ56、アドレス・レ
ジスタ入力線57を経由して、AA54の入力と
なつたアドレス・レジスタに戻され、アドレス・
レジスタの更新が行われる。
第3図は第2図におけるMSRDR5および
FOPR10の周辺の詳細回路図である。
ALU31の入力となる1バイトを選択する切
替えスイツチ32を制御しているのはFBP14
1である。FBP141には命令の処理開始時に
第1オペランド・アドレスつまりFMSAR50の
下3ビツトと同じ内容がセツトされ、その内容を
デコードした信号が出力されるFBP141の内
容が2進数で000ならばFOPR10の第1バイト
目、つまり最左バイト位置(最も小さいアドレス
のデータが入る位置)を指定し、010ならば、第
3バイト目、111ならば第8バイト目、つまり最
右バイト位置を指定する。
またFBP141の出力140はFOPR入力切替
えスイツチ111〜118にも送られており、
ALU出力をFOPR10の所定の位置(ALU31
の入力として指定されたバイト位置と同じ)12
書込むためにも使用している。
FOPR入力切替えスイツチ111〜118は、
MSRDR5よりの8バイトを同時に選択する時に
は、8バイトセツト信号132を出し、1バイト
セツト信号131を禁止することにより、
MSRDR5→FOPR10の転送を行う。一方、
ALU31からの1バイトの書込み時には、FBP
141の出力140とALU31の出力34とさ
らに1バイトセツト信号131とのアンド・ゲー
ト群により、FBP141により指定された1バ
イトに対してのみ書込みが行われる。
FBP141は1バイトの処理が終るごとに加
算回路142により1ずつ加算され、2進数の
111からは000へラツプアラウンドするようになつ
ている。
SOPR20に対してもFOPR10と同様に第2
オペランドのSBP241が用意されている。動
作については、ALU31からの1バイトの書込
みが行われることがない点を除いてFOPR10と
同様であり、詳細の説明は省略する。
第4図に従来方法による動作手順を示す。各ス
テツプは条件文(テスト)がなければ次のステツ
プへ進む。また条件が不成立であつても次のステ
ツプへ進む。これらのステツプは論理的な動作を
示すものであり、処理装置の1サイクルあるいは
1マイクロステツプと対応するものではない。
ここで、FMSAR50の更新は第1オペランド
位置への結果の書込み指定時、またSMSAR51
の更新は第2オペランドの読出し指定時に行われ
る。両者の場合とも、AA54では加算が行われ
る。
第5図に本発明による動作手順を第4図と同様
な方法で示す。本発明の特徴を良く示しているの
がステツプ1およびステツプ10〜15までの動作で
ある。具体的には、時間のかかる結果の書込みに
先立ち、次の8バイト境界内にある第1オペラン
ドの読出しを先に行い、更に第2オペランドも後
続したデータが必要であれば読出しを行い、その
後に結果の書込みを行うように順序付けられてい
る。
ここで、FMSAR50の更新は第1オペランド
の読出し指定時、及び第1オペランド位置への結
果の書込み指定時に行なれる。これらの場合、
AA54では加算あるいは減算が行なわわれる。
また、SMSAR51の更新は、従来と同様、第2
オペランドの読出し指定時に行なわれ、AA54
では加算が行なわれる。
MS1が読出しに2サイクルを必要とし、書込
みに6サイクルを必要としALU31は1サイク
ルに1バイトの処理が可能であり、命令のL部が
7(つまり8バイトの処理)、ADR1の下3ビツト
が2進数で110、ADR2の下3ビツトが2進数で
000の場合を具体例にして、従来方法と本発明に
よる方法とを第6図および第7図により説明す
る。
第6図に従来方法による処理のタイム・チヤー
トを示す。これによれば、初めの両オペランド読
出しに4サイクルかかり、そして2サイクルの
ALU演算後にFBP141が2進数で000となる。
次にFBP=0による結果の書込みが6サイクル、
2回目の第1オペランドの読出しが2サイクルそ
れぞれかかり、そして6サイクルのALU演算に
よりBCNT40がゼロになる。最後にBCNT=
0による結果の書込みが6サイクルかかつて計26
サイクルが所要サイクルである。
第7図に本発明による処理タイム・チヤートを
示す。これによれば、初めの両オペランドの読出
しに4サイクル、ALU演算に2サイクルそれぞ
れかかる。ここでFBP=0による結果の書込み
が可能になるが、これを行う前に第2回目の第1
オペランドの読出しを2サイクルで行なう。この
時点でFOPR10とSOPR20にはALU演算を
行うに必要なデータがそろつたことになり、
ALU演算を再開する。ALU演算は6サイクルか
かる。FBP=0による結果の書込みは、この
ALU演算と並行して行ない、ALU演算と同じく
6サイクルかかる。ALU演算が終るとBCNT4
0がゼロになり、最後にBCNT=0による結果
の書込みに6サイクルかかつて計20サイクルが所
要サイクルとなる。
なお、本発明で使用する記憶装置は、半導体メ
モリあるいはデイスク装置等のように磁気および
静電気、光学を使用した記憶装置でもよく、本発
明は、特に読出し時間に比べて書込み時間が長い
場合に非常に有効である。
以上の如き本発明によれば、前述のように書込
みと後続する演算とが同時に処理が可能となり、
例えば実施例では、従来の方法に比べて命令の実
行サイクルが6サイクル短縮でき、SS形式命令
処理の高速化に効果がある。
【図面の簡単な説明】
第1図はSS形式命令のフオーマツトを示す図、
第2図は本発明が適用されるデータ処理装置のブ
ロツク図、第3図は第2図における読出しデータ
レジスタおよび第1オペランド・レジスタ周辺の
詳細図、第4図は従来方法による処理手順を示す
図、第5図は本発明による処理手順を示す図、第
6図は従来方法による処理のタイムチヤート、第
7図は本発明による処理のタイムチヤートであ
る。 図において、1……主記憶装置(MS)、2…
…読出し母線、3……書込み母線、4……書込み
データ・レジスタ(MSWDR)、5……読出しデ
ータ・レジスタ(MSRDR)、10……第1オペ
ランド・レジスタ(FOPR)、20……第2オペ
ランド・レジスタ(SOPR)、30……命令コー
ド・レジスタ(F)、31……演算器(ALU)、32
……FOPR出力切替えスイツチ、33……SOPR
出力切替えスイツチ、40……未処理バイト数レ
ジスタ(BCNT)、41……減算回路、42……
BCNT入力選択スイツチ、50……第1オペラ
ンド・アドレス・レジスタ(FMSAR)、51…
…第2オペランド・アドレス・レジスタ
(SMSAR)、52……アドレス切替えスイツチ、
53……MSアドレス母線、54……アドレス演
算器(AA)、56……アドレス・レジスタ入力
切替えスイツチ、58……定数発生回路(C)、11
1ないし118……FOPR入力切替えスイツチ、
131……1バイト・セツト信号、132……8
バイト・セツト信号、141……第1オペラン
ド・バイト・ポインタ(FBP)、142……加算
回路、241……第2オペランド・バイト・ポイ
ンタ(SBP)。

Claims (1)

  1. 【特許請求の範囲】 1 記憶装置に格納された第1及び第2のオペラ
    ンドの先頭アドレス、オペランド長及び演算の種
    類を指定する各フイールドを有する命令を実行す
    る際、前記命令のフイールドで指定されたオペラ
    ンド長をレジスタに保持し、第1及び第2のオペ
    ランドに属するデータを該記憶装置から夫々先頭
    から順番に所定の長さの処理単位ずつ読み出し、
    読み出した該第1及び第2のオペランドの処理単
    位の相互間で前記命令のフイールドで指定された
    種類の演算を演算手段により実行し、該演算手段
    による演算結果を処理単位ずつ第1のオペランド
    の該記憶装置上の記憶位置に書き込み、各処理単
    位の演算に応じて前記レジスタの内容から処理さ
    れた処理単位の長さ分減じ、レジスタの内容が全
    オペランド長について演算終了を示するときに前
    記命令の実行を終了するデータ処理方法におい
    て、 該演算手段で次に演算すべき次の第1又は第2
    のオペランドの処理単位の該記憶装置からの読み
    出しを、該演算手段で演算された前の第1及び第
    2のオペランドの処理単位の演算結果の該記憶装
    置への書き込みに優先させて実行し、 該演算手段で演算された前の第1及び第2のオ
    ペランドの処理単位の演算結果の該記憶装置への
    書き込みと、優先させて読み出された次の第1及
    び第2のオペランドの処理単位の該演算手段によ
    る演算とをオーバーラツプして実行することを特
    徴とするデータ処理方法。
JP56156267A 1981-10-02 1981-10-02 デ−タ処理装置 Granted JPS5858653A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP56156267A JPS5858653A (ja) 1981-10-02 1981-10-02 デ−タ処理装置
GB08219810A GB2123995B (en) 1981-10-02 1982-07-08 Arithmetic operating system
DE3226214A DE3226214C2 (de) 1981-10-02 1982-07-13 Datenverarbeitungsanlage
US06/397,992 US4580238A (en) 1981-10-02 1982-07-14 Arithmetic operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56156267A JPS5858653A (ja) 1981-10-02 1981-10-02 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS5858653A JPS5858653A (ja) 1983-04-07
JPH0363092B2 true JPH0363092B2 (ja) 1991-09-30

Family

ID=15624069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56156267A Granted JPS5858653A (ja) 1981-10-02 1981-10-02 デ−タ処理装置

Country Status (4)

Country Link
US (1) US4580238A (ja)
JP (1) JPS5858653A (ja)
DE (1) DE3226214C2 (ja)
GB (1) GB2123995B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
EP0184791A1 (en) * 1984-12-07 1986-06-18 Nec Corporation Information processing device capable of rapidly processing instructions of different groups
JPH0752390B2 (ja) * 1985-05-07 1995-06-05 株式会社日立製作所 命令処理装置
JPH0743648B2 (ja) * 1985-11-15 1995-05-15 株式会社日立製作所 情報処理装置
JPS62159274A (ja) * 1986-01-08 1987-07-15 Hitachi Ltd 条件分岐の分割・複写によるベクトル化方式
US4802085A (en) * 1987-01-22 1989-01-31 National Semiconductor Corporation Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
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
HK1048539A1 (zh) * 2000-03-08 2003-04-04 Sun Microsystems, Inc. 设有次字元的置换功能及操作码(opcode)的修正功能的处理架构

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL233967A (ja) * 1957-12-09
USRE26087E (en) * 1959-12-30 1966-09-20 Multi-computer system including multiplexed memories. lookahead, and address interleaving features
GB1148471A (en) * 1965-04-05 1969-04-10 Ibm Data processing apparatus
GB1077339A (en) * 1965-04-05 1967-07-26 Ibm Control device for a data processor
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US3903516A (en) * 1973-06-26 1975-09-02 Ibm Control logic for gas discharge display panel
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
JPS51144142A (en) * 1975-06-06 1976-12-10 Hitachi Ltd Information processing
US4168523A (en) * 1975-11-07 1979-09-18 Ncr Corporation Data processor utilizing a two level microaddressing controller
DE2704560C2 (de) * 1977-02-03 1979-01-18 Siemens Ag, 1000 Berlin Und 8000 Muenchen Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
JPS5447438A (en) * 1977-09-21 1979-04-14 Mitsubishi Electric Corp Control system for scratch memory
US4167779A (en) * 1978-03-10 1979-09-11 Digital Equipment Corporation Diagnostic apparatus in a data processing system
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
GB2033624B (en) * 1978-10-27 1983-02-16 Fujitsu Ltd Digital signal processing system
US4313158A (en) * 1978-12-11 1982-01-26 Honeywell Information Systems Inc. Cache apparatus for enabling overlap of instruction fetch operations
CA1134952A (en) * 1979-04-24 1982-11-02 Thomas E. Kloos Means and method within a digital processing system for prefetching both operation codes and operands
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor

Also Published As

Publication number Publication date
GB2123995A (en) 1984-02-08
US4580238A (en) 1986-04-01
DE3226214A1 (de) 1983-04-21
JPS5858653A (ja) 1983-04-07
DE3226214C2 (de) 1987-04-23
GB2123995B (en) 1985-11-13

Similar Documents

Publication Publication Date Title
US5487159A (en) System for processing shift, mask, and merge operations in one instruction
JPH0374434B2 (ja)
JPH0414385B2 (ja)
JPH0412503B2 (ja)
JPH0363092B2 (ja)
JPH03286332A (ja) デジタルデータ処理装置
JPH0444970B2 (ja)
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
US4812970A (en) Microprogram control system
US5265204A (en) Method and apparatus for bit operational process
EP0447101B1 (en) Processor with data format-independent instructions
JPH034936B2 (ja)
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPH0222413B2 (ja)
JP2812610B2 (ja) パイプライン制御方式
JPS6242301B2 (ja)
KR880000817B1 (ko) 데이터 처리장치 및 그 방법
JPS60108973A (ja) 配列要素の最小値および最小要素の要素番号を求める方法
US20060101235A1 (en) Microprocessor
JPS60134937A (ja) アドレス拡張装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JP2583614B2 (ja) ベクトル演算装置
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0512009A (ja) デイジタル信号処理装置