JPH059818B2 - - Google Patents

Info

Publication number
JPH059818B2
JPH059818B2 JP58137242A JP13724283A JPH059818B2 JP H059818 B2 JPH059818 B2 JP H059818B2 JP 58137242 A JP58137242 A JP 58137242A JP 13724283 A JP13724283 A JP 13724283A JP H059818 B2 JPH059818 B2 JP H059818B2
Authority
JP
Japan
Prior art keywords
operand
instruction
buffer storage
storage device
address
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
JP58137242A
Other languages
English (en)
Other versions
JPS6027966A (ja
Inventor
Shuichi Abe
Kanji Kubo
Chikahiko Izumi
Kenichi Wada
Yoichi Shintani
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 JP58137242A priority Critical patent/JPS6027966A/ja
Publication of JPS6027966A publication Critical patent/JPS6027966A/ja
Publication of JPH059818B2 publication Critical patent/JPH059818B2/ja
Granted 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、性能の改善を有するパイプライン方
式のデータ処理装置におけるバツフア記憶制御方
式に関する。
〔発明の背景〕 データ処理装置の処理速度を向上させる方式の
一つに、パイプライン方式とバツフア記憶方式が
ある。パイプライン方式は、命令の処理シーケン
スを命令フエツチ、解読、アドレス変換、オペラ
ンドフエツチ、実行などの複数のステツプに分
け、各命令について、これらのステツプをオーバ
ーラツプさせて処理することにより、複数命令の
並列処理を実現するものである。又、バツフア記
憶方式は、主記憶装置の他に高速バツフア記憶装
置を設けて、主記憶装置内の使用頻度の高い命令
やデータの写しを該バツフア記憶装置に格納して
おき、メモリ参照要求が発せられた時、バツフア
記憶装置をアクセスすることにより目的の命令や
データを得る方式である。一般に高速処理が要求
されるデータ処理装置においては、パイプライン
方式とバツフア記憶方式の両方を採用しているの
が普通である。
ところで、バツフア記憶装置を有するデータ処
理装置においては、バツフア記憶装置へのアクセ
スは、1つの命令あたり、命令フエツチで1回、
オペランドフエツチで1回または2回必要であ
り、命令フエツチで1回に2命令フエツチできた
としても、1命令あたり平均して1.5〜2.5回、バ
ツフア記憶装置へのアクセスが必要となる。従つ
てこのようなバツフア記憶装置を有するパイプラ
イン方式のデータ処理装置の場合、パイプライン
の処理能力は、1.5〜2.5サイクルで1命令しか実
行できない。
このため、従来、バツフア記憶装置を命令フエ
ツチ用バツフア記憶装置とオペランド用バツフア
記憶装置とに分割して構成し、両バツフア記憶装
置をそれぞれ独立にアクセスすることにより、1
命令あたり1サイクルピツチのパイプラインを実
現するバツフア記憶制御方式が提案されている
(例えば、特開昭53−37341号、特開昭55−87361
号)。しかしながら、SS命令のマルチインストラ
クシヨン処理やベクトル命令等、同時に2つのメ
モリオペランドが必要な命令は、1命令あたり2
回のバツフア記憶装置へのアクセスが必要であ
り、このような命令に関しては、上記のように命
令フエツチ用バツフア記憶装置とオペランド用バ
ツフア記憶装置とに分割しても、オペランド用バ
ツフア記憶装置はシリアルにしかアクセスできな
いため、パイプライン処理能力は2サイクルで1
命令しが実行できない欠点を有している。
〔発明の目的〕
本発明の目的は、バツフア記憶装置を有するパ
イプライン方式のデータ処理装置において、同時
に2つのメモリオペランドが必要な命令のパイプ
ライン処理を高速化する。
〔発明の概要〕
本発明の要点は、バツフア記憶装置を各々独立
してアクセス可能なオペランド専用の第1バツフ
ア記憶装置とオペランドおよび命令フエツチ共用
の第2バツフア記憶装置とに分割して構成し、こ
のうち、第2バツフア記憶装置を通常は命令フエ
ツチに用いるが、同時に2つのメモリオペランド
が必要な命令の場合は、該第2バツフア記憶装置
を第1バツフア記憶装置と同じくオペランドフエ
ツチに用いて、各々同時にアクセスし、2つのメ
モリオペランドを同時に得ることを可能にしたも
のである。また、第2バツフア記憶装置ではオペ
ランド要求と命令フエツチ要求のぶつかりが発生
することがあるが、この場合は優先回路により、
例えばオペランド要求を優先して選択するように
したものである。
〔発明の実施例〕
第1図は本発明にかゝるバツフア記憶制御方式
の一実施例のブロツク図を示す。図において、命
令レジスタ1には、バツフア記憶装置あるいは主
記憶装置からフエツチされて命令バツフア(図示
せず)にキユーイングされている命令が、1命令
ずつ切り出されてセツトされる。デコード回路2
は命令(命令コード)をデコードする回路であ
る。3は命令のオペランド部を入力してオペラン
ドアドレスを計算するユニツトで、これは2組の
オペランドアドレス生成回路3−1と3−2より
なる。オペランドアドレス生成回路3−1,3−
2の動作はデコード回路2の制御下にあり、1つ
のメモリオペランドのみを必要とする命令では常
にオペランドアドレス生成回路3−1によりオペ
ランドアドレスが生成され、2つのメモリオペラ
ンドが必要な命令では両オペランドアドレス生成
回路3−1,3−2により同時に2つのオペラン
ドアドレスが生成される。なお、オペランドアド
レス生成回路3−2からは、生成されたオペラン
ドアドレスと共に後述するバツフア記憶装置10
−2に対するオペランド要求も出力される。
命令フエツチ制御回路4は所定のタイミングで
命令フエツチ要求を発行する回路であり、命令フ
エツチアドレス生成回路5は該命令フエツチ要求
に従い次の命令フエツチアドレスを計算する回路
である。優先回路6は、命令フエツチ制御回路4
の命令フエツチ要求とオペランドアドレス生成回
路3−2のオペランド要求との処理の優先順位を
決定する回路で、命令フエツチ要求とオペランド
要求のいずれか一方がオンの場合は、当該要求を
そのまゝ選択するが、両方が共にオンの場合はオ
ペランド要求を優先して選択する。7は選択回路
であり、優先回路6の出力により命令フエツチア
ドレス生成回路5の命令フエツチアドレスあるい
はオペランドアドレス生成回路3−2のオペラン
ドアドレスを選択する。8,9はバツフア記憶ア
ドレスレジスタであり、そのうちのアドレスレジ
スタ8には常にオペランドアドレス生成回路3−
1のオペランドアドレスがセツトされるが、アド
レスレジスタ9には命令フエツチアドレス生成回
路5の命令フエツチアドレスあるいはオペランド
アドレス生成回路3−2のオペランドアドレスが
セツトされる。
10はバツフア記憶装置であり、これは各々独
立してアクセス可能なオペランド専用バツフア記
憶装置10−1とオペランドおよび命令フエツチ
共用バツフア記憶装置10−2よりなる。両バツ
フア記憶装置10−1,10−2は同一構造と
し、同一内容を格納しておけば制御は簡単である
が、勿論、これにこだわる必要はない。例えば、
バツフア記憶装置10−1はオペランド専用であ
るため、これへの命令の登録は省略してもよい。
11はバツフア記憶装置10−1から読み出され
た内容がセツトされるバツフア記憶出力レジス
タ、12はバツフア記憶装置10−2から読み出
された内容がセツトされる同じくバツフア記憶出
力レジスタである。出力レジスタ11の内容は常
に演算ユニツトに転送されるが、出力レジスタ1
2の内容は選択回路13を介し、命令バツフアあ
るいは演算ユニツトに転送される。選択回路13
は、選択回路7と同様に優先回路6により制御さ
れる。
以下、第1図の動作を説明するが、はじめメモ
リオペランドが1つしかない命令(例えばRX,
RS,SI形式の命令)が命令レジスタ1にセツト
された場合の通常の動作について説明する。
デコード回路2は命令レジスタ1の命令コード
をデコードし、当該命令が1つのメモリオペラン
ドしかない形式の場合、オペランドアドレス生成
回路3−1に対してのみ起動をかける。デコード
回路2から起動のかけられたオペランドアドレス
生成回路3−1は、命令レジスタ1の所定オペラ
ンド部を入力してオペランドアドレスを計算し、
バツフア記憶アドレスレジスタ8にセツトする。
該アドレスレジスタ8の内容でバツフア記憶装置
10−1がアクセスされ、該バツフア記憶装置1
0−1から読み出された内容(オペランドデー
タ)はバツフア記憶出力レジスタ11を介して演
算ユニツトへ転送される。
一方、命令フエツチ制御回路4は所定のタイミ
ングで命令フエツチ要求を発行し、該命令のフエ
ツチ要求を受け取る毎に命令フエツチアドレス生
成回路5は次の命令フエツチアドレスを計算して
出力する。同時に命令フエツチ制御回路4の命令
フエツチ要求は優先回路6にも与えられる。優先
回路6は、オペランドアドレス生成回路3−2か
らのオペランド要求がない場合、上記命令フエツ
チ要求をそのまゝ選択し、選択回路7に対して、
命令フエツチアドレス生成回路5の命令フエツチ
アドレスを選択すべく選択信号を発する。これに
より、選択回路7は命令フエツチアドレスを選択
し、バツフア記憶アドレスレジスタ9にセツトす
る。記アドレスレジスタ9の内容でバツフア記憶
装置10−2がアクセスされ、該バツフア記憶装
置10−2から読み出された内容(命令)はバツ
フア記憶出力レジスタ12にセツトされた後、選
択回路13を介して命令バツフアへ転送される。
選択回路13の動作は選択回路7と連動してお
り、選択回路7が命令フエツチアドレスを選択し
た時、出力バスとして命令バツフアを選択する。
上記命令レジスタ1、オペランドアドレス生成
回路3−1、バツフア記憶装置10−1等のルー
トと、命令フエツチ制御回路4、命令フエツチア
ドレス生成回路5、バツフア記憶装置10−2等
のルートは、各々独立に動作しており、バツフア
記憶装置10−1,10−2よりそれぞれ並列に
オペランド、命令が読み出される。
次に、本発明の特徴である2つのメモリオペラ
ンドを有する命令(例えばSS形式の命令)が命
令レジスタ1にセツトされた場合について説明す
る。
デコード2は命令レジスタ1の命令コードをデ
コードし、当該命令が2つのメモリオペランドを
有する形式の場合、オペランドアドレス生成回路
3−1,3−2の両方に対して起動をかける。デ
コード回路2から起動のかけられたオペランドア
ドレス生成回路3−1は命令レジスタ1の所定オ
ペランド部を入力してオペランドアドレス(例え
ば第1オペランドアドレス)を計算し、バツフア
記憶アドレスレジスタ8にセツトする。該アドレ
スレジスタ8の内容でバツフア記憶装置10−1
がアクセスされ、該バツフア記憶装置10−1か
ら読み出された内容(例えば第1オペランドデー
タ)はバツフア記憶出力レジスタ11を介して演
算ユニツトへ転送される。このバツフア記憶装置
10−1の動作は先のメモリオペランドが1つし
かない命令の場合と同じである。
一方、オペランドアドレス生成回路3−2で
も、命令レジスタ1の所定オペランド部を入力し
てオペランドアドレス(例えば第2オペランドア
ドレス)を計算し、それをオペランド要求ととも
に出力する。優先回路6は、オペランドアドレス
生成回路3−2からオペランド要求が発行される
と、そのとき命令フエツチ制御回路4からの命令
フエツチ要求が同時にあつても該オペランド要求
を選択し、選択回路7に対してオペランドアドレ
ス生成回路3−2のオペランドアドレスを選択す
べく信号を発する。これにより、オペランドアド
レス生成回路3−2のオペランドアドレスが選択
回路7を通つてバツフア記憶アドレスレジスタ9
にセツトされてバツフア記憶装置10−2がアク
セスされ、該バツフア記憶装置10−2から読み
出された内容(例えば第2オペランドデータ)は
バツフア記憶出力レジスタ12、選択回路7と連
動している選択回路13を通つて演算ユニツトへ
転送される。
以上の様に、2つのメモリオペランドを有する
命令が命令レジスタ1にセツトされた場合、バツ
フア記憶装置10−1,10−2はいずれもオペ
ランド用となり、第1オペランドと第2オペラン
ドが同時に得られる。
なお、一般に2つのメモリオペランドを有する
命令の処理時間は大であり、命令フエツチ要求の
優先順位をオペランド要求より低くしても、命令
バツフアが空になることはない。又、多くの命令
はメモリオペランドが1つであり、この場合は従
来と同様の性能が得られる。
第2図はパイプライン処理の一例を示すタイム
チヤートで、aが従来方式の例、bが本発明方式
の例である。第2図中、横軸はサイクルで縦軸は
命令を示し、又、Dは命令解読(デコード)、A
はアドレス変換、Lはオペランドフエツチ、Eは
命令実行の各処理ステツプを示す。なお、第2図
では命令フエツチのステツプは省略してある。第
2図から分かる様に、例えば命令2が2メモリオ
ペランド形式の場合、従来はバツフア記憶装置を
オペランド用と命令フエツチ用に分けても、オペ
ランドフエツチL1,L2にはT3,T4の2サイクル
必要であるのに対し、本発明はT3サイクルで2
つのオペランドフエツチが同時に実行される。
〔発明の効果〕
以上説明した如く、本発明においては、バツフ
ア記憶装置をオペランド専用のバツフア記憶装置
とオペランドおよび命令フエツチ共用のバツフア
記憶装置とに分割して構成することにより、オペ
ランドと命令フエツチが各々独立に並行して処理
できると共に、同時に2つのメモリオペランドが
必要な命令のパイプライン処理を高速化すること
ができる。さらに、本発明では、命令オペランド
共用のバツフア記憶装置側には、オペランドおよ
び命令フエツチの処理の優先順位を決定する回路
を設ける構成としたことにより、オペランドと命
令フエツチのぶつかりに対処でき、また、命令フ
エツチ制御回路はオペランド要求の存在を意識す
ることなく(回路構成を複雑化することなく)命
令フエツチ要求を所定タイミングで発行すること
が可能になる。
【図面の簡単な説明】
第1図は本発明によるバツフア記憶制御方式の
一実施例を示す図、第2図は従来と本発明方式に
よるパイプライン処理の一例を示す図である。 1……命令レジスタ、2……デコード回路、3
−1,3−3……オペランドアドレス生成回路、
4……命令フエツチ制御回路、5……命令フエツ
チアドレス生成回路、6……優先回路、7,13
……選択回路、8,9……バツフア記憶アドレス
レジスタ、10−1,10−2……バツフア記憶
装置、11,12……バツフア記憶出力レジス
タ。

Claims (1)

  1. 【特許請求の範囲】 1 バツフア記憶装置を有するパイプライン方式
    のデータ処理装置において、 命令フエツチ要求を所定のタイミングで発行す
    る命令フエツチ制御回路と、 前記命令フエツチ要求に従い命令フエツチアド
    レスを生成する命令フエツチアドレス生成回路
    と、 命令がセツトされる命令レジスタと、 前記命令のオペランド部を入力してそれぞれオ
    ペランドアドレスを生成する第1及び第2のオペ
    ランドアドレス生成回路と、 前記命令により、前記第1のオペランドアドレ
    ス生成回路のみあるいは前記第1及び第2のオペ
    ランドアドレス生成回路の両方を同時に動作せし
    める制御回路と、 前記命令フエツチアドレス生成回路で生成され
    る命令フエツチアドレスと前記第2のオペランド
    アドレス生成回路で生成されるオペランドアドレ
    スによる処理の優先順位を決定する優先回路と、 前記第1のオペランドアドレス生成回路のオペ
    ランドアドレスでアクセスされるオペランド専用
    バツフア記憶装置と、 前記優先回路で決定された、前記第2のオペラ
    ンドアドレス生成回路のオペランドアドレスある
    いは前記命令フエツチアドレス生成回路の命令フ
    エツチアドレスでアクセスされる命令オペランド
    共用バツフア記憶装置と、 を具備していることを特徴とするデータ処理装
    置。
JP58137242A 1983-07-27 1983-07-27 データ処理装置 Granted JPS6027966A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58137242A JPS6027966A (ja) 1983-07-27 1983-07-27 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58137242A JPS6027966A (ja) 1983-07-27 1983-07-27 データ処理装置

Publications (2)

Publication Number Publication Date
JPS6027966A JPS6027966A (ja) 1985-02-13
JPH059818B2 true JPH059818B2 (ja) 1993-02-08

Family

ID=15194090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58137242A Granted JPS6027966A (ja) 1983-07-27 1983-07-27 データ処理装置

Country Status (1)

Country Link
JP (1) JPS6027966A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6363020A (ja) * 1986-09-04 1988-03-19 Semiconductor Energy Lab Co Ltd 液晶電気光学装置作製方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5587362A (en) * 1978-12-22 1980-07-02 Fujitsu Ltd Buffer memory control system
JPS6027046A (ja) * 1983-07-25 1985-02-12 Nec Corp 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5587362A (en) * 1978-12-22 1980-07-02 Fujitsu Ltd Buffer memory control system
JPS6027046A (ja) * 1983-07-25 1985-02-12 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPS6027966A (ja) 1985-02-13

Similar Documents

Publication Publication Date Title
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4967338A (en) Loosely coupled pipeline processor
JPH0374434B2 (ja)
JPS5831014B2 (ja) 命令先取り装置
KR100875377B1 (ko) 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법
US5041968A (en) Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location
JP2531760B2 (ja) ベクトル処理装置
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH059818B2 (ja)
JP3490005B2 (ja) 命令制御装置及びその方法
EP0700005B1 (en) Vector data bypass mechanism for vector computer
JPH0512751B2 (ja)
JP2731740B2 (ja) 通信レジスタ付並列計算機
JP2511063B2 (ja) パイプライン制御方式
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPS6031646A (ja) デ−タ処理装置
JPH0679296B2 (ja) 多重仮想アドレス空間アクセス方法およびデータ処理装置
JPH01271842A (ja) 情報処理装置
JP3208789B2 (ja) 情報処理装置
JPH0348535B2 (ja)
JPS5896346A (ja) 階層型演算方式
JPS5960647A (ja) メモリアクセス制御方式
JPS6047618B2 (ja) 情報処理装置
JPH05298091A (ja) 情報処理方法及び情報処理装置