JPH02239331A - データ処理システム及びその命令実行を促進する方法 - Google Patents

データ処理システム及びその命令実行を促進する方法

Info

Publication number
JPH02239331A
JPH02239331A JP2000353A JP35390A JPH02239331A JP H02239331 A JPH02239331 A JP H02239331A JP 2000353 A JP2000353 A JP 2000353A JP 35390 A JP35390 A JP 35390A JP H02239331 A JPH02239331 A JP H02239331A
Authority
JP
Japan
Prior art keywords
address
write
instruction
operand
data processing
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.)
Granted
Application number
JP2000353A
Other languages
English (en)
Other versions
JP2575219B2 (ja
Inventor
Thomas F Joyce
トーマス・エフ・ジョイス
Ming T Miu
ミン・ティー・ミウ
Richard P Kelly
リチャード・ピー・ケリー
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.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
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 Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of JPH02239331A publication Critical patent/JPH02239331A/ja
Application granted granted Critical
Publication of JP2575219B2 publication Critical patent/JP2575219B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0855Overlapped cache accessing, e.g. pipeline
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (技術分野) 本発明は、データ処理システムに関し、特にパイプライ
ン手法およびストア・スルー(書込みスルー)キャッシ
ュ法を用いて実現されるデータ処理システムに関する。
書込み命令オペランド・アドレスの完了時と書込み命令
オペランドの完了時との間の期間内に命令を処理する装
置および方法である。
(関連技術の説明) 前記パイプライン手法は、データ処理システムの性能を
増強するため広く用いられている。この手法においては
、データ処理システムは、各々が選択された期間に1つ
の命令の一部を処理する種々のセグメントに区切られて
いる。この手法を用いると、個々の命令の実行は、典型
的には、非パイプライン方式のデータ処理システムにお
ける命令の実行よりもパイプライン方式における方が長
い時間を要する。しかし、パイプライン方式のデータ処
理システムにおいては、選択された各期間内に1つの命
令を実行することができ、これによりパイプライン方式
のデータ処理システムにおける命令実行速度は向上する
この向上した命令実行速度は、命令実行の順序立ったシ
ーケンスを保持することによって達成される。しかし、
典型的にはデータ処理システムの実行装置において行わ
れるオペランド処理操作は、色々な時間量を取り得る。
パイプライン手法は、実行による如何なる可能な操作で
も選択された期間内に完了することを許すに充分に長い
選択された期間を提供することにより、この処理時間の
変動を許容し得る。このような解決法は、データ処理シ
ステム性能にとって不利となる。
実行装置の処理時間の変動に対する第2の解決法は、比
較的短い実行装置の選択された期間を提供し、比較的長
い期間を要する実行装置における操作のため他の命令セ
グメントの処理を中断することである。パイプライン方
式のデータ処理システムにおいて実現が比較的容易なこ
の試みは、結果としてデータ処理システムの各部をかな
りの時間にわたり遊休状態とする。最後に、実行装置に
よる問題処理時間の変動は、結果として得るオペランド
を正しいシーケンスで再びアセンブルする制御装置と共
に、並行(実行)処理装置により対処することができる
。この試みは、データ処理システムにおける実質的な余
分な装置、ならびに処理操作の妥協を阻害する制御の機
能性の実質的な増強を必要とする。
実行装置による増加した実行時間を含む諸操作は、下記
のようにデータ処理システムの性能に対する衝撃となり
得る。書込み命令の処理は、例え仮想メモリー環境(即
ち、データ処理装置が、実行キャッシュ装置および主記
憶装置が典型的に実アドレスを1つのオペランドと関連
させ、アドレスの変換が仮想メモリー管理装置内で起生
ずる間、仮想アドレスをオペランドと関連させる。)に
おいて処理される場合でさえ、関連するオペランド自体
の完了より以前の時点において完了される関連するオペ
ランド・アドレスを結果としてもたらし得る。本発明の
望ましい実施態様のストア・スルー(書込みスルー)・
キャッシュ法においては、実アドレスが主記憶装置にお
ける格納のため要求される。関連した遅延の間、実行装
置に関与する命令の処理が延期され、オペランドの実行
完了を棚上げする。
従って、パイプライン方式のデータ処理システムの実行
装置と関連するキャッシュ装置が書込み命令と関連する
オペランド・アドレスの可能化と書込み命令と関連する
オペランドの可能化との間の間隔において操作を継続す
ることを許容する装置および関連する手法に対する需要
が存在してきた。
(発明の特徴) 本発明の一目的は、改善されたデータ処理システムの提
供にある。
本発明の一特徴は、少なくとも1つのパイプライン方式
データ処理システムおよびこれと共に含まれる記憶装置
を備えた改善されたデータ処理システムの提供にある。
本発明の別の特徴は、実行装置のキャッシュ記憶装置に
対するストア・スルー法を用いて、パイプライン方式デ
ータ処理システムに増強された改善実行速度を提供する
ことにある。
本発明の更に別の特徴は、1つの吉込み操作と関連する
1つのオペランド・アドレスが得られる時とこの書込み
操作と関連するオペランドが得られる時との間に命令の
処理が可能な実行キャッシュ装置を提供することにある
本発明の更に特定の特徴は、読出し命令が書込み命令と
面突しない時、実行キャッシュ装置による未済の書込み
命令の完了に先立ち、実行キャッンユ装置における読出
し命令を処理することにある。
(発明の要約) 上記および池の特徴は、本発明によれば、実行装置が書
込み命令オペランドを調製中、書込み命令オペランド・
アドレスを格納するための装置をE−キャッシュ内に含
むことにより達成される。
書込み命令オペランド・アドレスを格納する際、タグ登
録簿ユニットにおける書込み命令アドレスによりアドレ
ス指定される場所がこれに「妥当な」オペランドを格納
する時、「ヒット」信号がこれと共に格納される。Eキ
ャッシュ装置内には、Eキャッシュ装置に対して新たに
与えられるアドレスが格納された書込み命令オペランド
・アドレスと競合する時を判定する装置が含まれる。
このEキャッシュ装置に対し新たに与えられたアドレス
が読出し命令と関連し、記憶された書込み命令オペラン
ド・アドレスと競合せず、またEキャッシュのタグ登録
簿ユニットに与えられる時結果として「ヒット」信号を
生じる時は、関連する読出し命令はこのEキャッシュ装
置により処理される。これらの条件が妥当しない時は、
格納された書込み命令オペランド・アドレスと共に書込
み命令オペランドが記憶装置に送られて、「ヒット」信
号が書込み命令オペランド・アドレスで記憶されるまで
、このアドレスはEキャッシュ装置の入力レジスタに記
憶される。
本発明の上記および池の特徴については、図面と共に以
降の記述を読めば理解されよう。
(実施例) (1,図面の詳細な説明) 本発明は、あるタイプの命令が上流側の装置により実行
され、他のタイプの命令がプロダクション・ラインの終
りに実行される間にプロダクション・ラインから落とさ
れるデータ処理システムにおいて機能する。このデータ
処理装置のアドレス装置は、「非記憶」命令ならばこの
命令を実行するための装置を含む。アドレス装置におい
て実行されたことにより、この「非記憶」命令は、プロ
ダクション・ラインから有効に落とされ、即ち取り除か
れ、従って、以後プロダクション・ラインにおける如何
なるサイクルも要求せず、これによりシステムの処理能
力を改善する。
第1図は、サイ・クル・プロダクション・パイプライン
・データ処理システム1のブロック図を示している。含
まれているのは、中央処理装置(CPU)2、仮想記憶
管理装置(VMMU)4、キャッシュ装置6、記憶サブ
システム8、および入出力周辺装置10である。このキ
ヤノンユ装置6、記憶サブシステム8および周辺入出力
装置10は、全てシステム・バス12に対して共通に接
続されている。メモリー8は、命令およびオペランドを
格納する。即時実行される可能性が高いオペランドおよ
び命令は、記憶サブシステム8からキャッシュ装置6へ
送られる。
CPU2は、キャッシュ装置6から命令を受け取り、こ
れら命令の実行中に、この命令の仮想アドレス部分をV
MMU4へ送出する。このVMMU4は、仮想アドレス
を物理的アドレスへ変換し、この物理アドレスは必要な
オペランドを取り出すためキャッシュ装置6へ与えられ
てCPU2が命令を実行することを許容する。
入出力装置IOは、自らの装置を備えたいくつかの周辺
コントローラ、あるいは周辺コントローラおよび装置を
制御する入出力ブロセ・ンサを典型的に表し、あるいは
通信サブシステムを典型的に示している。
第2図は、ブロック図形態で、CPU2およびキャッシ
ュ装置6を構成する主要要素を示している。CPU2は
、命令(1)装置2−2、Aユニット2−4、および多
数の実行(E)ユニット2−6を含む。実行ユニット2
−6は、科学計算命令プロセッサまたは商業計算命令プ
ロセッサでよい。しかし、説明を簡単にするため、本発
明の理解に充分な実行装置2−6の1つのみについて述
べる。
キャッシュ装置6は、■キャッシュ6−2およびEキャ
ッシュ6−4を含む。■キャッシュ6−2は、実行され
るべき命令を記憶し、Eキャッシュ6−4は、命令が演
算するオペランドを格納する。
!ユニット2−2は、実質的に2つの機能を実施する。
このIユニットは、lキャッシュ6−2から命令をブリ
フエ’/チして、これら命令を分解し、池のユニット即
ちAユニット2−4およびEユニット2−6が如何にし
て命令を更に処理するかを判定する。
Aユニット2−4は、■ユニソト2−2から命令を受け
取り、もしこの命令がレジスタ間命令あるいは分岐命令
ならばこれを実行する。この命令がEユニット2−6に
より実行されるべき時、Aユニット2−4は仮想アドレ
スをVMMU4へ送り、これがこのアドレスをEキャッ
シュ装置6一4に対する物理アドレスへ変換する。Eキ
ャッシュ6−4は、■キャッシュ6−2からの命令ユニ
ット2−2により最初に受け取られる命令の実行の完了
のため、オペランドをEユニット2−6へ送る。
Aユニット2−4はまた、分岐命令の実行を完了して、
分岐アドレスを命令ユニット2−2へ戻し、これが分岐
アドレスにより指定される1キャッシュ6−2における
場所における次の命令を要求する。Aユニット2−4お
よびEユニット2−6の両者は、プログラマからアクセ
スできるレジスタ、いわゆるソフトウエア・ビジブル・
レジスタの内容を格納するレジスタ・ファイルを含む。
!キャッシュ6−2およびEキャッシュ6−4の両者は
システム・バスl2と接続され、それらの内容はメモリ
ー8から受け取る命令およびオペランドにより更新され
る。
命令は、CPU2の各要素によりプロダクション・パイ
プライン方式で実行される。即ち、■ユニソト2−2は
Iキャッシュ6−2から命令を受け取り、これを分解し
た後、この命令をAユニッl− 2−4へ送ル。Aユニ
ツI− 2 − 4 1;!、この命令を実行するか、
あるいはEキャッシュ6−4をアドレス指定するために
変換するように仮想アドレスをVMMU4へ送る。Eキ
ャッシュ6−4は、指定されたオペランドをEユニ,ト
2−6へ送る。
Aユニット2−4が■ユニット2−2からの第1の命令
のその部分を実行中、■ユニット2一2は■キャッシュ
6−2から第2の命令およびその後の命令を取り出す。
Aユニット2−4がVMMU4に対して最初の命令によ
り指定される仮想アドレスを送出し■ユニット2−2へ
それを通知する時、■ユニット2−2は第2の命令をA
ユニット2−4へ送出する。VMMU4はEキャッシュ
6−4をアドレス指定し、Aユニット2−4はパイプラ
インにおける第2の命令を処理する。Eユニット2−6
が第1の命令を実行中、VMMU4は、A ユニ.,ト
2−4が第3の命令の仮想アドレスを生成しつつある間
、第2の命令のオペランドを取り出ためEキャッシュを
アドレス指定することができる。一方、■ユニット2−
2は第4の命令を分解して以降の命令の1つを取り出す
。従って、この典型的な事例においては、プロダクショ
ン・ラインを進みつつある5つの命令があり得る。
しかし、Aユニット2−4がソフトウエア・ビジブル・
レジスタのある命令を実行できるため、これら命令は、
その実行がAユニットにより完了すると直ちに、プロダ
クション・ラインから外される。同様に、Aユニット2
−4が分岐命令を処理しつつありかつこの分岐の条件が
満たされると、Aユニット2−4は直ちに分岐アドレス
を!ユニット2−2へ送り、この分岐命令はブログクシ
ョン・ラインから外される。このモードおよび操作方法
は、結果として従来技術と比較して処理能力を増加する
第3図は、命令ユニット2−2、Aユニット2−4、実
行ユニット2−6の構成要素およびその各々の相互接続
をより詳細に示している。命令ユニノト2−2のPカウ
ンタ2−200は、Aユニット2−4により仮想アドレ
スをロードされる。この仮想アドレスは、パイプライン
に対して与えられるべき次の命令の場所の夏キャッシュ
6−2におけるアドレスである。I − F E T 
C Hサイクルの間、この仮想アドレスは加算器2−2
02、およびレジスタVAO  2−204またはレジ
スタVAI2−206を介してIキャッシュ6−2へ転
送される。
レジスタVAO  2−204またはレジスタV/Ml
2−206の一方は、分岐命令が取り出されるまで使用
される。従って、もしレジスタVAO  2−204が
活動状態にあるならば、分岐命令によりもとめられるア
ドレスはレジスタVAI  2−206に格納される。
分岐アドレスが個々にVAO  2−204  および
VAI  2−206  レジスタに保持される理由は
、もし命令が条件付き分岐である場合、この条件は満た
されるかあるいは満たされない故である。
もしこの条件が満たされなければ、分岐は生じない。こ
れにより、分岐のため求められるアドレスを使用するか
あるいは使用しないかの選択をシステムに与える。ファ
ームウエアの制御下にあるPカウンタ2−200は、1
ワード命令の場合は1だけ、2倍ワード命令の場合は2
だけ増分され、あるいは分岐アドレスにより置換される
この命令は、Iキャッシュ6−2からストリング・バッ
フy A 2−220あるいはストリング・バッファB
2−221へ読出される。ここで再び、1組のストリン
グ・バッファは、分岐命令が存在するまでIキャッシュ
6−2から連続する命令を受け取る。この時、この分岐
命令に続く命令が他のストリングのバッファに格納され
る。例えば、もしストリング・パッファA 2−200
が使用されつつあったならば、分岐命令に続く命令はス
トリング・パッファB2−221に格納される。処理能
力は、分岐条件が満たされかつエユニット2−2がスト
リング・パンフ1B 2−221から分岐ストリングを
取り出す場合に、両方の組みの命令を格納することによ
り改善される。
命令は、■キャッシュ6−2からストリング・バッファ
A 2−220またはストリング・バッファB2−22
1へ読出される。ここで再び、分岐命令があるまで、1
組のストリング・パッファがIキャッンユ6−2から連
続する命令を受け取る。分岐命令に続く命令が池のスト
リングのバッファに格納される。例えば、もしストリン
グ・パッファA 2−220が使用されつつあったなら
ば、分岐命令に続く命令はストリング・バッフyB2−
221に格納されることになる。処理能力は、分岐条件
が満たされて■ユニット2−2がストリング・バッファ
B2−221から分岐ストリングを取り出す場合に、両
方の組の命令を格納することにより改善される。
命令は次に、命令の種類が何であるかを判定する命令分
解および資源コントロール2−210へ送ラれる。即ち
、もしこれがソフトウ゛エア・ビジブル・レジスタ間命
令であれば、Aユニット2−4により実行され、メモリ
ー命令であればEユニット2−6により実行されること
になる。
命令は、命令分解ロジック2−210からAユニット制
御ストア2−430をアドレス指定するAユニット曝フ
ァームウエアーアドレスージエネレータ2−208へ送
られる。アドレス指定された場所の内容は、Aユニット
2−4におけるRDR(A)レジスタ2−406に格納
される。ストリング・パッファ2−220または2−2
21からの命令信号■INSTR O−31が1ユニ・
ント2−2の命令(RINSTR)レジスタ2−400
へ転送される。もしこの命令がEユニント2−6により
実行されるならば、これまたEユニット2−6の先入れ
先出しレジスタ(F r F O) 2−600に格納
される。この命令もまた、Iユニント2−2からの信号
[−BEGINの一制御下でAユニット2−4における
OP−CODEレジスタ2−402に格納される。命令
( RINSTR)レジスタ2−400とO P − 
C O’D Eレジスタ2−402の両方が、各々32
ビットの2倍ワードを格納する。もしある命令が2また
は3の2倍ワードを要求すると、この命令に対するOP
−CODEがOP−CODEレジスタ2−402に止ま
るが、この命令の各2倍ワードは更に命令( RINS
TR)レジスタ2−400に格納される。
OP−CODEレジスタ2−402の出力は、主として
OP−CODEレジスタ2−402およびRDR(A)
レジスタ2−/106にそれぞれ格納されたOP−CO
DEおよびファームウエア・ビットの制御下でレジスタ
・ファイル2−404のアドレス指定のため使用される
。レジスタ・ファイル2−404は、ソフトウエア・ビ
ジブル・レジスタを含む。もし実行中の命令が記憶命令
であれば、仮想アドレスが生成されて演算論理装置(A
LU)2−412を介してVMMU4へ送られる。Eユ
ニット2−6により実行された命令に応じて、ALU2
−412に対する入力は、命令( RINSTR)レジ
スタ2−400、OP−CODEレジスタ2−402、
レジスタ・ファイル2−404またはプログラム・カウ
ンタ2−416によりA側へ与えることができる。AL
U2−412のB側入力は、指標あるいはオフセット操
作のための指標シフタ2−410により、加算器2−4
08を介してあるいはレジスタ・ファイル2 −404
から与えられる。もしこれが例えばレジスタ命令ならば
、レジスタ・ファイル2−404におけるソフトウエア
・ビジブル・レジスタの内容のシフト操作をシフタ2−
414へ与えることができ、そしてレジスタ・ファイル
2−404の出力を命令により指定されるビット数だけ
シフトでき、また読出された同じレジスタにおけるレジ
スタ・ファイル2−404に再び格納することができる
条件付き分岐命令の場合は、RrNSTRレジスタ2−
400およびALU2−412からの信号が分岐ロジッ
ク2−401へ与えられる。ロード信号A−P−LDな
る出力は、■キャッシュ6−2へ送られる分岐アドレス
信号A − B R A N C Hを受け入れるため
、Pカウンタ2−200を使用可能状態にする。
Aユニット2−4が命令の実行を完了すると、信号A−
DONEが!ユニット2−2の命令分解ロジック2−2
10へ送られる。これは、■ユニット2−2へストリン
グ・バッファA 2−220または2−221に格納さ
れた次の命令をAユニット2−4へ、また必要に応じて
Eユニット2−6へ送出するよう通知する。もし命令が
Eユニット2−6による実行を求めるならば、■ユニッ
ト2−2はこの命令をI−ELASTおよびI−EF 
I RST信号の制御下で、命令FIFO2−600へ
送出する。これらの信号は、命令F I F O 2−
600のローディングを制御する。
分解信号が生成される時、Aユニット2−4により信号
1−BEGIN信号が受け取られ、システムは保持モー
ドにはなく、クロック・ロジックを含まないロジック・
ブロックが機能停止モードになることはない。
信号CRACKは、使用可能ロジック/フリップフロッ
プ2−222が使用可能状態になる時命令を分解するた
めに生成され、ストリング・バッファA 2−220ま
たはストリング・バッファB2−221が少なくとも1
つの命令を格納し、Aユニット2−4がADONE信号
を生成してAユニットが次の命令の処理のため使用可能
であることを示す。
■ユニット2−2は、分解される命令がEユニット2−
6により実行されるならば、使用可能ロジック/フリッ
プフロップ2−222によりI−EFIRSTおよびI
−ELAST信号を生成する。両方の信号はI −F 
I FO2−600へ与えられる。I一EF I RS
T信号は、I −F I FO 2−600を使用可能
状態にして、2倍ワード命令を格納させる。
■ユニット2−2がAユニット2−4において実行され
るべき命令を送出すること、またこの命令がEユニット
2−6において実行されるものであればF I F O
 2−600に対してのみ送出することに注意されたい
。Eユニット2−6においては、FIFO2−600が
実行する次の命令が、Eユニット制御ストア2−604
のアドレス場所を生成する次のアドレス・ジエネレータ
2−602へ与えられる。
ファームウエア・ワードはレジスタRDR (E)2−
606に格納される。命令FIFO2−600は4つま
での命令を格納する。
Aユニット2−4がその仮想アドレスをVMMU4へ送
出する時、VMMU4はEキャッシュ6−4をアドレス
指定する物理アドレスを生成する。
このアドレス指定された場所の内容は、単一ワード転送
のための信号LD−DAT−0015あるいは2倍ワー
ド転送のための信号LD−DAT−1631により、E
ユニット2−6におけるレジスタ・ファイル2−610
に格納される。信号LD−DAT一・0015はまた、
もし第1のワードがEキャッシュ6−4のワード境界に
なかったならば、転送の第2のワードを受け入れるため
データF I FO2−630の書込みアドレスを1だ
け増分する。このデータは、命令が作動するオペランド
レジスタに格納される命令を実行する。典型的な命令は
、乗算命令である。
この命令に対して、Aユニット2−4は、仮想アドレス
の16進数40をVMMU4へ送ることにより1ダミー
・サイクルを生じる。この結果、信号LD−DAT  
1631を「ダミー」オペランドを持つデータFIFO
2−630へ送ることにより、Eキャッシュ6−4が1
ダミー・サイクルを生じる。
■ユニット2−2において命令が分岐を求めて変位を有
するならば、命令分解ロジック2−210からの変位が
加算器2−202へ与えられて、Pカウンタ2−200
の内容に加算され、またレジスタVAO  2−204
またitレ,’スタVAI  2−206(7)いずれ
か一方に格納され、■キャッシュ6−2へ与えられる。
乗算器2−616は、レジスタ・ファイル2 −610
のA&Bボートと接続されて、シフタ2−618および
Qレジスタ2−620に関して部分積を生じて格納する
。この部分積は、結果のマルチブレクサ(MUX)2−
622へ与えられ、レジスタ・ファイル2−610の積
算場所に格納される。乗算が完了すると、最終結果がレ
ジスタ・ファイル2 −610のソフトウエア・ビジブ
ル・レジスタの1つに格納される。
スワッパ・ロジック2−612は、2倍ワード内のスワ
ッピング・ワードおよび単一ワード内のスワッピング・
バイトに対するレジスタ・ファイル2−6lOのB側か
らオペランドを受け取る。16ビット・ワードは、2つ
の8ビット・バイトからなっている。2倍ワードは、2
つの16ビットの単一ワードあるいは4つの8ビット・
バイトからなっている。
符号エクステンダ2−614は、2倍ワードの最上位ビ
ットの左方にその2倍ワードの高次の位置の符号を反復
する。
結果として得る浮動小数点の指数部の計算においては、
CT1およびCT2カウンタ2 −624が使用される
。浮動小数点オペランドの仮数部は、従来の方法でA 
L U 2−608およびシフタ2 −618を経て処
理される。
Aユニット2−4を持つレジスタ・ファイル2−404
およびEユニット2−6におけるレジスタ・ファイル2
−610の双方におけるソフトウエア・ビジブル・レジ
スタは、共に同じ情報を含むように連続するサイクルで
更新される。これは、レジスタ・ファイル2−610を
使用可能にする1つの更新信号A−UPDTと、レジス
タ・ファイル2−610のDターミナルに対するレジス
タ・ファイル2−404のDターミナルからのデータを
格納するためレジスタ・ファイル2−610のアドレス
・ターミナルに与えられる6つのA−ADR信号とを生
成するため、ロジック2−420に与えられるRDR(
A)レジスタ2−406からのファームウエア信号によ
り達成される。同様に、レジスタRDR (E) 2−
606からのE−UPDT信号は、ロジック2−601
からの信号E−ADRにより指定されるアドレスにデー
タを格納するようにレジスタ・ファイル2 −404を
使用可能状態にする。ロジック2−601は、命令FI
FO2−600からの命令信号およびレジスタRDR 
(E)2−606からのファームウエア信号からE−A
DRを信号する。
Aユニット2−4のプログラム・カウンタ2−416は
、次の命令のアドレスを格納する。I二二.ット2−2
のPカウンタ2=200もまた、次の命令のアドレスを
格納する。2つのレジスタがある理由は、条件付き分岐
の場合に、■ユニット2−2のPカウンタ2−200が
使用される場合にはこれが分岐アドレスを格納するが、
プログラム・カウンタ2−416はこの分岐アドレスは
格納せず、その時実行中のシーケンスの次のアドレスを
格納しているからである。
次に第4図においては、本発明の理解に必要であるEキ
ャッシュ6−4の構成要素が示される。
1つの命令と関連する1つのアドレスがアドレス・ユニ
ット2−4からVMMU4へ転送され、ここで(アドレ
ス・ユニット2−4からの)仮想ア・ドレスが実アドレ
スへ変換される。この実アドレスは、実アドレス・レジ
スタ6−401に入力される。
従来技術においては、実アドレス・レジスタのアドレス
は、タグ登録簿ユニット6−403に対して与えられ、
タグ登録簿ユニット6−403が「妥当」信号(関連す
るオペランドが干渉しないことを示す)と共に与えられ
たアドレスを格納する時、「ヒット」信号が生成され、
読出し命令の場合は、実アドレス・レジスタ6−401
におけるアドレスと関連する場所における記憶装置6−
404のオペランドが、データ・アウト・レジスタ6−
411を介L,てEユニット2−6へ転送される。実ア
ドレス・レジスタ6−401におけるアドレスがタグ登
録簿ユニット6−403に格納されないか、あるいはこ
のアドレスは格納されるが「妥当」信号がこれと共には
存在しない時は、「ミス」信号が生成される。読出し命
令の場合は、実アドレス・レジスタにおけるアドレスが
ミス・レジスタ6 −402へ入れられ、バス・インタ
ーフェース装置7へ与えられ、制御信号と共にシステム
・バス12に与えられる。要求されたオペランドは記憶
装置8から検索されて、システム・バス12、パス・イ
ンターフェース装置7およびバス・データ・イン・レジ
スタ6−408を介して記憶装置6−404へ転送され
、ここでオペランドは実アドレスーレジスタ6−401
のアドレスにより決定される場所に格納される。前記「
妥当」信号は、タグ登録簿ユニット6−403の関連す
る場所に格納される。「ミス」信号が存在し(即ち、「
ヒット」信号が存在しない)、また書込み命令が実アド
レス・レジスタ6一401のアドレスと関連する時、実
行装置からのオペランドはデータ・イン・レジスタ6 
−409、バス・データ・アウト・レジスタ6−410
およびインターフェース装置を介してシステム・バスへ
与えられる。この書込み命令オペランドは、実アドレス
・レジスタ6−4(11からの書込みオペランド・アド
レスと共にシステム・バスへ与えられ、また書込みオペ
ランドは書込みオペランド・アドレスにより決定される
記憶装置8の場所に格納される。「ヒット」信号が書込
み命令に対して存在する時、オペランドはまた実アドレ
ス・レジスタ6−401のアドレスにより決定される記
憶装置6−404の格納場所にも格納される。記憶装置
8の書込みオペランドの自動格納は、書込みスルー即ち
ストア・スルー・キャッシュ法と呼ばれる。
本発明においては、書込みアドレス・レジスタ6〜42
1が設けられ、書込みアドレス・レジスタ6−421に
おける書込みオペランド・アドレスと関連する書込み命
令オペランドを決定できるようにする間付加的キャッシ
ュ・アクティビティが達成される。加えて、実アドレス
・レジスタ6−401におけるアドレスが書込みアドレ
ス・レジスタ6 −421へ転送される時、書込みオペ
ランド・アドレスがタグ登録簿ユニット6−403に与
えられる。実アドレス・レジスタ6−401における書
込みオペランド・アドレスをタグ登録簿ユニット6−4
03に与えることで「ヒット」信号を生じると、「ヒッ
ト」信号は書込みオペランド・アドレスと関連する場所
6−42LAに格納される。
本発明のEキャッシュ6−4は、ブロック・ストアR 
A M 6−420を含む。実アドレス・レジスタ6−
401のアドレスが書込みアドレス・レジスタ6〜42
1に転送されると、このアドレスはブロック・ストアR
 A M 6−420に格納される。このブロック・ス
トアR A M 6−420は、ブロック・ストアRA
Mに格納されるものと同じアドレスがこのブロック・ス
トアRAMへ与えられる時、「使用中」の信号が生成さ
れるという特性を有する。この「ヒット」信号および「
使用中」信号は、Eキャッシュ6−4における処理のア
クティビティを制御するため本発明における制御信号と
して使用される。
次に第5図においては、本発明の動作がフロー図により
示されている。ステップ501においては、VMMU4
の先入れ先出し(F r FO)レジスタから次の順次
のアドレスが実行キャッシュ6−4の実アドレス・レジ
スタ6−401へ入力される。
ステップ502においては、実アドレス・゜レジスタ6
−401に入れられたアドレスが読出し命令に関連する
か、書込み命令と関連するかの判定が行われる。アドレ
スが読出し命令と関連する時は、読出し命令手順がステ
ップ503において実行キャッシュにより実行され、V
MMU4からの次のアドレスがステップ501において
実アドレス・レジスタ6−401に入れられる。実アド
レス・レジスタ6 −401におけるアドレスがステッ
プ502において書込みアドレスと関連する時は、実ア
ドレス・レジスタ6−401の内容がタグ登録簿ユニッ
ト6−403に与えられ、タグ登録簿ユニット6−40
3が「妥当」状態信号と共にステップ504においてそ
れに記憶された与えられたアドレスを有するかどうかの
判定が行われる。タグ登録簿ユ二ッ}6−403が「妥
当」状態信号と共に与えられたアドレスを格納していな
い時は、実アドレス・レジスタの内容は、「妥当」信号
が場所6−421人に格納されることなく、書込みアド
レス・レジスタに格納される。ステップ504において
は、与えられたアドレスおよび「妥当」状態信号が存在
する時、ステップ507において、実アドレス・レジス
タ6−401におけるアドレスが書込みアドレス・レジ
スタ6−421に格納され、「妥当」信号が書込みアド
のアドレスはブロック・ストアR A M 6 −42
0に入れられ、ステップ509においては、書込みオペ
ランドが使用可能状態となるかどうか、即ち実行装置か
らの信号E−MWRITEが存在するかどうかの判定が
行われる′。この信号E−MWR I T Eが存在す
る時は、ステップ510において、書込みアドレス・レ
リスタ6−421からのアドレスおよび実行ユニット2
−6からの関連するオペランドがバス・インターフェー
ス装置に与えられる。ステップ511において、「妥当
」信号が書込みアドレス・レジスタ6−421に存在す
る時は、書込みアドレス・レジスタ8−421の内容が
記憶装置6−404に与えられ、実行ユニット2−6か
らの関連するオペランドが記憶装置6−404のアドレ
ス指定された場所に格納される。
ステップ512において、「使用中」信号(および関連
するアドレス)がブロック・ストアRAM6−420か
ら除去され、VMMU4からの次のアドレスが実アドレ
ス・レジスタに格納される。ステップ509において、
関連するオペランドが実行ユニット2−6から得られな
い時は、次のアドレスが実アドレス・レジスタ6−40
1のVMMU4からステップ513において入れられる
。ステップ514において、実アドレス・レジスタにお
けるアドレスが読出し命令であるか書込み命令であるか
について判定が行われる。実アドレス・レジスタにおけ
るアドレスが書込み命令と関連する時は、このアドレス
は、「使用中」信号がステップ516においてブロック
・ストアから除去されるまで実アドレス・レジスタ6−
401に保持される。「使用中」信号がブロック・スト
アR A M 6−420から除去された時、実アドレ
ス・レジスタ6−401の内容がタグ登録簿ユニット6
−403に与えられて、同じアドレスがステップ504
  において「妥当」信号と共に格納されたかどうかを
判定する。ステップ514  において、読出しアドレ
ス・レジスタにおけるアドレスが読出し命令と関連する
時は、実アドレス・レジスタ6−401におけるアドレ
スがブロック・ストアR A M 6−420へ与えら
れ、ステップ517において、ブロック・ストアR A
 M 6−420からの「使用中」信号の存在により示
されるように、書込みアドレス・レジスタ6−421に
おいて格納されたアドレスにより実アドレス・レジスタ
のアドレスが保持されるかどうかについての判定が行わ
れる。プロック・ストアR A M 6−420が「使
用中」信号を生じる時は、実アドレス・レジスタ6−4
01におけるアドレスは、ブロック・ストアR A M
 6−420からの「使用中」信号がステップ522に
おいて除去されるまで、ステップ521でそれに保持さ
れる。
ブロック・ストアR A M S−420からの「使用
中」信号が除去されると、読出し手順がステップ519
において実行され、次のアドレスがステップ501にお
いて実アドレス・レジスタ6−401へ入れラレる。ス
テップ517において、ブロック・ストアR A M6
−420が「使用中」信号を生じない時は、実アドレス
・レジスタ6−401におけるアドレスがタグ登録簿ユ
ニット6−403へ与えられ、実アドレス・レジスタ6
−401に格納されたアドレスがステップ518におい
てタグ登録簿ユニット6 −403一アる お一考アドレスがタグ登録簿ユニット6−403に「妥
当」信号と共に格納される時、キャッシュ記憶装置に対
する読出し命令手順がステップ519において実行され
る。ステップ518において、実アドレス・レジスタ6
−401に格納されたアドレスおよび関連する「妥当」
信号がタグ登録簿ユニット6−403には格納されてい
ない時は、実アドレス・レジスタ6−401におけるア
ドレスが、ステップ522で「使用中」信号が除去され
るまでステップ520において保持される。実アドレス
・レジスタに格納されたアドレスと関連する読出し手順
はステップ519において実行される。
(2.望ましい実施態様の動作) 本発明は、VMMU装置による書込み命令オペランド・
アドレスの完了と、書込み命令オペランドの用意の完了
との間の時間を使用する手法を提供する。本発明は、書
込み命令オペランド・アドレスにより決定される場所に
おける妥当オペランドの存在を示す指標と共に書込み命
令オペランド・アドレスの格納を行う。本発明において
は、読出し命令オペランド・アドレスが格納された書込
み命令オペランド・アドレスと競合しない時、および妥
当読出し命令オペランドがEキャッシュに格納される時
、読出し命令をEキャッシュ装置によって処理すること
ができる。読出し命令オペランド・アドレスおよび書込
み命令オペランド・アドレス間の競合は、ブロック・ス
トア・キャッシュ装置からの「使用中」信号の存在によ
って解消される。この「使用中」信号は、書込み操作が
Eキャッシュ装置により処理されて「使用中」信号が除
去されるまで、実アドレス・レジスタにおける読出し命
令アドレスを保持する。同様に、読出し命令アドレス・
オペランドが「妥当」信号と共にタグ登録簿ユニットに
格納されていない時は、失われたオペランドは記憶装置
から検索されねばならない。このオペランドの検索は、
Eキャッシュ装置に依然として未済の状態にある書込み
命令と競合し得、従って、読出し命令オペランド・アド
レスは、未済の書込み命令が完全に処理され「使用中」
信号がブロック・ストアRAMから゜除去されるまで、
Eキャッシュ装置とのこれ以上の相互動作を要すること
なく実アドレス・レジスタに格納される。未済の書込み
命令の処理は、「妥当」ビットが書込み命令オペランド
の完了後も依然として存在する時、キャッシュ装置にお
ける書込み命令オペランドの格納を含むものである。
当業者には明らかなように、第5図のフローチャートは
、本発明の動作を例示することを意図するもので、実際
の装置の提供を意味するものではない。例えば、論理的
判断回路ではなく、制御信号に応答するスイッチによっ
て多くの判断ステップを実現することができる。同様に
、第4図において、従来技術におけるキャッシュ装置の
実現に用いられる多くの制御信号経路は本発明の作動を
強調するために示されるものではない。
以上の記述は、望ましい実施態様の動作を例示するため
に記載されるものであって、本発明の範囲を限定する意
図はない。本発明の範囲は、頭書の特許請求の範囲によ
ってのみ限定されるべきものである。本文の記述から、
本発明の趣旨および範囲により包含されよう多くの変更
が当業者には明らかであろう。
【図面の簡単な説明】
第1図は本発明の装置を含むシステム全体を示すブロッ
ク図、第2図は第1図の全システムの更に詳細なブロッ
ク図、第3図はプロダクション・パイプライン・サイク
ルの主要な要素を示す論理ブロック図、第4図は本発明
において使用されるキャッシュ記憶装置および関連する
データ処理システムの構成要素を示すブロック図、およ
び第5図は本発明による実行キャッシュ装置によるアド
レス信号の処理を示すフロー・チャートである。 1・・・パイプライン・データ処理システム、2・・−
中央処理装置(CPU) 、4・・・仮想記憶管理装置
(VMMU) 、6・・・キャッシュ装置、8・・・記
憶サブシステム(メモリー)、10・・・入出力周辺装
置、12・・−システム・バス、2−2・・・命令(I
)ユニット、2−200・・−Pカウンタ、2−202
・・・加算器、2−204・・・レジスタVAO、2−
206・・・レジスタVAI、2−208・・・Aユニ
ット・ファームウエア・アドレス・ジェネレー夕、2−
210・・・命令分解ロジック、2−220・・・スト
リング・パッファA,2−221・・・ストリング・パ
ッファB, 2−222・・・使用可能ロジック/フリ
ップフロップ、2−4・・・アドレス(A)ユニット、
2−400・・・RINSTRレジスタ、2−401・
・・分岐ロジック、2−402・・・OP−CODEレ
ジスタ、2−404・・・レジスタ・ファイル、2−4
06・・・RDR(A)レジスタ、2−408・・・加
算器、2 −410・・・指標シフタ、2−412・・
・演算論理装置(A L U)、2−416・・・プロ
グラム・カウンタ、2−420・・・ロジック、2−4
30・・・Aユニット制御ストア、2−6・・・実行(
E)ユニット、2−600・・・命令(1)FIF0,
2−601・・・ロジック、2−602・・・次のアド
レス・ジェネレー夕、2−604・・・Eユニット制御
ストア、2−606・・・レジスタRDR (E) 、
2−610・・・レジスタ・ファイル、2−612・・
・スワッパ・ロジック、2−614・・一符号エクステ
ンダ、2−616・・・乗算器、2−618・・・シフ
タ、2−620−・・Qレジスタ、2 −622・・・
マルチプレクサ、2−624・・・CTI/CT2カウ
ンタ、2−630・・・データFIFO、6−2・・・
命令(I)キャッシュ、6−4・・・実H (E)キャ
ッシュ、6−401・・・実アドレス・レジスタ、6−
402・−・ミス・レジスタ、6−403・・・タグ登
録簿ユニット、6−404・・・記憶装置、6−408
・・・バス・データ・イン・レジスタ、6−409・・
・データ・イン・レジスタ、6−410・・・パス・デ
ータ・アウト・レジスタ、6一411・・・データ・ア
ウト・レジスタ、6−420・・・ブロック・ストアR
AM,6−421・・・書込みアドレス・レジスタ。

Claims (1)

  1. 【特許請求の範囲】 1、メモリー装置と、 該メモリー装置と接続されたシステム・バスと、 データ処理装置および前記メモリー装置が 前記システム・バスに関して非同期的に作動する、該シ
    ステム・バスと接続された複数の処理装置とを設けてな
    るデータ処理システムにおいて、該データ処理装置は各
    々、 命令に応答して、各々が自らと関連する オペランド・アドレスを有する処理されるべきオペラン
    ドのオペランド・アドレスを提供するアドレス装置と、 書込み命令に応答して、前記アドレス装置 により決定される関連する書込みオペランド・アドレス
    において前記メモリー装置に格納されるように書込みオ
    ペランドを提供する実行装置と、 該実行装置と接続されて、書込み命令に 応答して前記関連する書込みオペランド・アドレスにお
    いて妥当なオペランドをキャッシュ装置が格納する時、
    前記アドレス装置からの前記関連する書込みオペランド
    ・アドレスにより決定されるキャッシュ装置の格納場所
    に前記実行装置からの書込みオペランドを格納するキャ
    ッシュ装置とを含み、該キャッシュ装置は、関連する読
    出しオペランド・アドレス場所からの読出しオペランド
    を読出し命令に応答して前記実行装置へ提供し、前記キ
    ャッシュ装置は更に、実行書込み命令アドレスが前記キ
    ャッシュ装置へ与えられた後、および前記関連する実行
    書込み命令オペランドが前記キャッシュ装置へ与えられ
    る前に、該キャッシュ装置により介入読出し命令を処理
    する装置を含み、 前記キャッシュ装置から書込みオペランド および関連する書込みオペランド・アドレスを受け取り
    、前記キャッシュ装置からの前記書込みオペランドおよ
    び関連する書込みオペランド・アドレスを前記メモリー
    装置へ転送するため前記システム・バスへ与えるインタ
    ーフェース装置とを含む ことを特徴とするデータ処理システム。 2、前記キャッシュ装置が、介入読出し命令アドレスが
    前記関連する実行オペランド・アドレスと同じである時
    、介入読出し命令アドレスに応答して前記キャッシュ装
    置による前記実行書込み命令の完了まで前記キャッシュ
    装置による前記介入読出し命令の処理を阻止する使用中
    の装置を含むことを特徴とする請求項1記載のデータ処
    理システム。 3、前記キャッシュ装置が、該キャッシュ装置が介入読
    出し命令アドレス場所において妥当オペランドを格納し
    ない時、前記実行書込み命令が前記キャッシュ装置によ
    り実行されるまで、前記妥当介入命令アドレスに応答し
    て前記キャッシュ装置による前記介入読出し命令の実行
    を阻止する妥当装置を含むことを特徴とする請求項2記
    載のデータ処理システム。 4、前記キャッシュ装置が、前記実行書込み命令オペラ
    ンドの受け取りまで前記実行書込み命令アドレスを格納
    するレジスタ装置を含むことを特徴とする請求項2記載
    のデータ処理システム。 5、前記アドレス装置からのオペランド・アドレスを前
    記キャッシュ装置および前記メモリー装置における格納
    場所と関連するオペランド・アドレスへ変換する仮想メ
    モリー管理装置を更に設けることを特徴とする請求項4
    記載のデータ処理システム。 6、前記キャッシュ装置が第2の介入読出し命令を処理
    することを特徴とする請求項1記載のデータ処理システ
    ム。 7、前記キャッシュ装置が入力アドレス・レジスタを含
    み、該入力アドレス・レジスタが、前記介入読出し命令
    が前記キャッシュ装置において処理されることを阻止さ
    れる時、前記介入読出し命令アドレスを格納することを
    特徴とする請求項3記載のデータ処理システム。 8、システム・バスと非同期的に接続された少なくとも
    1つのパイプライン方式のデータ処理装置およびメモリ
    ー装置を有するデータ処理システムであって、該データ
    処理装置がストアスルー法を有するキャッシュ装置を含
    むシステムの命令実行を最速化する方法において、 関連する書込みオペランドの受け取りに 先立ち、キャッシュ装置における書込み命令により決定
    される書込みオペランド・アドレスを格納し、 前記書込みオペランド・アドレスの前記格納後、および
    前記関連する書込みオペランドの受け取りに先立ち、前
    記キャッシュ装置へ与えられた介入読出しオペランド・
    アドレスを有する介入読出し命令を処理する ステップを含むことを特徴とする方法。 9、前記介入読出し命令のアドレスを前記格納された書
    込みオペランド・アドレスと比較し、前記書込み命令が
    前記キャッシュ装置により処理されるまで該キャッシュ
    装置による前記読出し命令の処理を阻止するステップを
    更に含むことを特徴とする請求項8記載の方法。 10、妥当オペランドが前記キャッシュ装置において前
    記介入読出し命令アドレスにより決定される場所に格納
    される時を決定し、 妥当オペランドが前記キャッシュ装置において前記介入
    読出し命令アドレスの場所に格納されない時、前記書込
    み命令が該キャッシュ装置により処理されるまで該キャ
    ッシュ装置による前記介入読出し命令の処理を阻止する
    ステップを更に含むことを特徴とする請求項9記載の方
    法。 11、前記書込みオペランドの受け取りに先立ち、第2
    の介入読出し命令を処理するステップを更に含むことを
    特徴とする請求項8記載の方法。 12、前記書込み命令の前記キャッシュ装置による処理
    の完了に先立ち、該キャッシュ装置による第2の書込み
    命令の処理を阻止するステップを更に含むことを特徴と
    する請求項8記載の方法。 13、前記介入読出し命令が処理されることを阻止され
    る時、前記書込み命令が前記キャッシュ装置により処理
    されるまで前記キャッシュ装置の入力レジスタにおいて
    介入読出し命令アドレスを格納するステップを更に含む
    ことを特徴とする請求項10記載の方法。 14、各々が1つのキャッシュ装置を含むデータ処理シ
    ステムがパイプライン手法を用いて実現される、メモリ
    ー装置と1つのシステムにより接続された複数のデータ
    処理装置とを有するデータ処理システムにおいて、各キ
    ャッシュ装置が、 オペランドを格納装置の複数の場所に格納する格納装置
    と、 各々が該格納装置の場所の1つと関連する 複数の場所を有する登録簿装置とを含み、該登録簿装置
    の場所がこれに格納された信号と共に前記格納装置に格
    納されたオペランドのオペランド・アドレスを識別し、
    該登録簿装置はその場所と関連する少なくとも1つの妥
    当ビット場所を有し、 オペランド・アドレスをそのデータ処理装置から格納す
    る入力アドレス・レジスタと、 書込み命令により決定される書込みオペランドが得られ
    ない間、前記書込み命令と関連する書込みアドレスを格
    納する書込みアドレス・レジスタと、 前記入力アドレス・レジスタにおけるオペランド・アド
    レスと前記書込みアドレス・レジスタにおける書込みオ
    ペランド・アドレスとが同じである時、使用中信号を生
    じるブロック・ストア装置とを含み、前記書込みアドレ
    ス・レジスタへの書込みアドレスの格納後、および前記
    書込みオペランドの受け取りに先立ち、前記入力アドレ
    ス・レジスタに格納された読出しアドレスが前記読出し
    アドレス場所におけるオペランドの検索を生じる ことを特徴とするデータ処理システム。 15、前記格納装置における前記読出しアドレス場所に
    おいて妥当オペランドが存在しないと、前記書込みオペ
    ランドが前記キャッシュ装置により処理されるまで、前
    記入力レジスタにおける前記読出しアドレスと関連する
    これ以上の処理を阻止することを特徴とする請求項14
    記載のデータ処理システム。 16、前記入力装置における前記読出しアドレスと関連
    する前記読出しオペランドの検索が、第2の読出しアド
    レスを前記入力レジスタに入力させ、かつ前記格納装置
    の第2の読出しアドレス場所からの第2の読出しオペラ
    ンドの検索を生じることを特徴とする請求項14記載の
    データ処理システム。 17、前記書込みアドレス・レジスタが、前記書込みオ
    ペランド・アドレスが存在するかどうかを前記登録簿装
    置における妥当信号により示す場所を含み、予め定めた
    信号が前記書込みアドレス場所に存在する時、前記書込
    みオペランドが前記格納装置において前記書込みアドレ
    ス場所に格納されることを特徴とする請求項14記載の
    データ処理システム。 18、前記データ処理装置が実行装置を含み、前記キャ
    ッシュ装置が該実行装置と接続されることを特徴とする
    請求項14記載のデータ処理システム。 19、前記データ処理装置が、前記システム・バスと接
    続されて該データ処理装置と前記システム・バスとの間
    に転送された信号を緩衝するバス・インターフェースを
    含み、前記書込みアドレスおよび前記書込みオペランド
    が、前記キャッシュ装置による関連する書込み命令を処
    理する際前記インターフェース装置に対して与えられる
    ことを特徴とする請求項14記載のデータ処理システム
    。 20、前記書込み命令処理の完了に先立ち、前記入力レ
    ジスタに入力された第2の書込みアドレスが、該書込み
    命令の完了まで前記キャッシュ装置とのこれ以上の相互
    作用から防護されることを特徴とする請求項14記載の
    データ処理システム。
JP2000353A 1989-01-05 1990-01-05 データ処理システム及びその命令実行を促進する方法 Expired - Lifetime JP2575219B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US294529 1989-01-05
US07/294,529 US5123097A (en) 1989-01-05 1989-01-05 Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy

Publications (2)

Publication Number Publication Date
JPH02239331A true JPH02239331A (ja) 1990-09-21
JP2575219B2 JP2575219B2 (ja) 1997-01-22

Family

ID=23133839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000353A Expired - Lifetime JP2575219B2 (ja) 1989-01-05 1990-01-05 データ処理システム及びその命令実行を促進する方法

Country Status (8)

Country Link
US (1) US5123097A (ja)
EP (1) EP0377436A3 (ja)
JP (1) JP2575219B2 (ja)
KR (1) KR950000549B1 (ja)
AU (1) AU616831B2 (ja)
CA (1) CA2007167C (ja)
SG (1) SG48794A1 (ja)
YU (1) YU47428B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313551A (en) * 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
US5051894A (en) * 1989-01-05 1991-09-24 Bull Hn Information Systems Inc. Apparatus and method for address translation of non-aligned double word virtual addresses
US5179679A (en) * 1989-04-07 1993-01-12 Shoemaker Kenneth D Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
US5222240A (en) * 1990-02-14 1993-06-22 Intel Corporation Method and apparatus for delaying writing back the results of instructions to a processor
US5388226A (en) * 1992-10-05 1995-02-07 Motorola, Inc. Method and apparatus for accessing a register in a data processing system
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with write buffer
US6219773B1 (en) 1993-10-18 2001-04-17 Via-Cyrix, Inc. System and method of retiring misaligned write operands from a write buffer
US5615402A (en) * 1993-10-18 1997-03-25 Cyrix Corporation Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US5692152A (en) * 1994-06-29 1997-11-25 Exponential Technology, Inc. Master-slave cache system with de-coupled data and tag pipelines and loop-back
US5802586A (en) * 1995-02-27 1998-09-01 Motorola, Inc. Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor
US5872946A (en) * 1997-06-11 1999-02-16 Advanced Micro Devices, Inc. Instruction alignment unit employing dual instruction queues for high frequency instruction dispatch
US7210026B2 (en) * 2002-06-28 2007-04-24 Sun Microsystems, Inc. Virtual register set expanding processor internal storage
US7890657B2 (en) * 2008-06-12 2011-02-15 Genband Us Llc System and method for correct routing and enforcement policy in a network having address or port translation
US20140281391A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache
CN110377339B (zh) * 2019-08-17 2024-03-01 中昊芯英(杭州)科技有限公司 长延时指令处理装置、方法以及设备、可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744279A (en) * 1980-08-28 1982-03-12 Nec Corp Cash memory controller
JPS63113648A (ja) * 1986-08-27 1988-05-18 アムダ−ル コ−ポレ−シヨン キャッシュ記憶待ち行列

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
US4682281A (en) * 1983-08-30 1987-07-21 Amdahl Corporation Data storage unit employing translation lookaside buffer pointer
DE3581556D1 (de) * 1984-04-27 1991-03-07 Bull Hn Information Syst Steuerungsgeraet in einem digitalen computer.
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4761733A (en) * 1985-03-11 1988-08-02 Celerity Computing Direct-execution microprogrammable microprocessor system
US4755936A (en) * 1986-01-29 1988-07-05 Digital Equipment Corporation Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US4891753A (en) * 1986-11-26 1990-01-02 Intel Corporation Register scorboarding on a microprocessor chip
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory
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
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
IT1202687B (it) * 1987-03-25 1989-02-09 Honeywell Inf Systems Memoria tampone a predizione di hit
US5051894A (en) * 1989-01-05 1991-09-24 Bull Hn Information Systems Inc. Apparatus and method for address translation of non-aligned double word virtual addresses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744279A (en) * 1980-08-28 1982-03-12 Nec Corp Cash memory controller
JPS63113648A (ja) * 1986-08-27 1988-05-18 アムダ−ル コ−ポレ−シヨン キャッシュ記憶待ち行列

Also Published As

Publication number Publication date
AU4762790A (en) 1990-07-12
EP0377436A3 (en) 1991-11-21
CA2007167C (en) 1994-04-05
JP2575219B2 (ja) 1997-01-22
AU616831B2 (en) 1991-11-07
YU1890A (sh) 1994-04-05
KR950000549B1 (ko) 1995-01-24
CA2007167A1 (en) 1990-07-05
US5123097A (en) 1992-06-16
YU47428B (sh) 1995-03-27
EP0377436A2 (en) 1990-07-11
KR900012279A (ko) 1990-08-03
SG48794A1 (en) 1998-05-18

Similar Documents

Publication Publication Date Title
US5148533A (en) Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units
JP4045062B2 (ja) ロード命令を実行する方法、プロセッサ、およびシステム
US6519682B2 (en) Pipelined non-blocking level two cache system with inherent transaction collision-avoidance
US4521851A (en) Central processor
US4831520A (en) Bus interface circuit for digital data processor
US4926323A (en) Streamlined instruction processor
JP3509067B2 (ja) ストア命令転送方法およびプロセッサ
US4597044A (en) Apparatus and method for providing a composite descriptor in a data processing system
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
JPH02166539A (ja) フェッチ方法
US5091845A (en) System for controlling the storage of information in a cache memory
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
KR100348099B1 (ko) 단일의캐쉬액세스파이프단을이용하여파이프라인저장명령을실행하기위한장치및방법과,파이프라인프로세서및,컴퓨터시스템
JP2020536310A (ja) アドレス変換なしで動作する読み込み/格納ユニットでの実効アドレスのシノニムの処理
EP0378816B1 (en) Production line method and apparatus for instruction execution
US5197133A (en) Control store addressing from multiple sources
JP3078293B2 (ja) 記憶制御装置
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPH04340145A (ja) キャッシュメモリ装置
EP0418220B1 (en) Destination control logic for arithmetic and logic unit for digital data processor
WO1988006763A1 (en) Central processor unit for digital data processing system including virtual to physical address translation circuit