JPS604493B2 - マイクロプログラム化データ処理システム - Google Patents

マイクロプログラム化データ処理システム

Info

Publication number
JPS604493B2
JPS604493B2 JP51116083A JP11608376A JPS604493B2 JP S604493 B2 JPS604493 B2 JP S604493B2 JP 51116083 A JP51116083 A JP 51116083A JP 11608376 A JP11608376 A JP 11608376A JP S604493 B2 JPS604493 B2 JP S604493B2
Authority
JP
Japan
Prior art keywords
address
data
buffer
array
storage
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
Application number
JP51116083A
Other languages
English (en)
Other versions
JPS5251836A (en
Inventor
カールーフリードリツヒ・フインケメイヤー
クノ・ロウア
ギユンター・ゾンタウ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5251836A publication Critical patent/JPS5251836A/ja
Publication of JPS604493B2 publication Critical patent/JPS604493B2/ja
Expired 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

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

Description

【発明の詳細な説明】 本発明はユーザ・データ及びマクロ命令を記憶する主記
憶と、マイクロ命令を記憶する制御記憶と、主記憶及び
制御記憶へ接続されたプロセッサとを備えたマイクロプ
ログラム化されたデータ処理システムに係る。
最近のデータ処理システムは主記憶に大量のデータを記
憶しているので、該データを容易にアクセスできるよう
にすることが必要である。
しかし、高速大容量の記憶装置は非常に高価につくから
、複数の記憶レベルから成る記憶階層を使用することが
多くなった。たとえば、主記憶とプロセッサの間に高速
小容量のバッファ記憶を設けて総合的な平均速度をバッ
ファ記憶のそれに近付ける技法が広く採用されている。
バック・アップ記憶とも呼ばれることがある主記憶のサ
イクル時間はたとえば1乃至5マイク。秒の程度であり
、バッファ記憶のサイクル時間はたとえば300ナノ秒
の程度である。かくて、これらを組合わせた記憶階層に
ついては、バッファ記憶のサイクル時間よりも若干長く
且つ主記憶のサイクル時間よりも著しく短いアクセス時
間を得ることができる。しかし、バッファ記憶を使用す
るためには、バツフア・サイズ、アソシアテイビテイ(
associatMty)、置換ァルゴリズム等のパラ
メータを適正に選ぶ必要がある。
但し、アソシアティビティとは、主記憶の諸ロケーショ
ンをバッファ記憶の諸ロケーションヘマップする手法を
意味する。たとえば、或る手法によれば、主記憶のデー
タ領域をバッファ記憶の任意の領域へ記憶することがで
きるので、フル・アソシアテイビティが保証されること
になる。もっとも、バッファ記憶中のデータ領域を探索
するためには、バッファ・アドレス・アレイを設けて各
データ領域(区画)に対するバッファ記憶ロケーション
をそれぞれ指示しなければならない。この場合のバッフ
ァ・アドレス・アレイは複雑な制御装置を必要とし、従
って非常に高価になる。特定のデータ領域をバッファ記
憶の所与の境界中にのみ記憶するようにすれば、システ
ムを一層簡単化することができる。このようにアソシア
テイビティを制限すると、バツフア・アドレス・アレイ
のアドレツシングが著しく簡単になり、従って特定のデ
ータ領域がバッファ記憶中で利用可能であるか否かを決
定するためのジョブをより速かに行なうことができる。
バッファ記憶はその性格上主記憶データの極〈一部を記
憶するにすぎないから、新しいデータ領域をバッファ記
憶に記憶する前に古いデータ領域を除くことが度々必要
になる。古いデータ領域の選択は置換アレイによって行
われ、該アレイはその所与のァソシァティピティの関数
として置換に適した領域を指示する。この領域は種々の
アルゴリズム、たとえばFm○(FirstlnFi鴇
t○mt)又はLRU(LeastRecentlyU
sed)アルゴリズムに従って置換される。FIFOァ
ルゴリズムは考察さるべき種々のデ−タ領域の中からバ
ッファ記憶へ一番最初に書込まれた特定のデータ領域を
選択するのに対し、LRUアルゴリズムは最も長い間使
用されなかった特定のデータ領域を選択する。高速小容
量のバッファ記憶よりはそれに付随する制御手段(たと
えばバッファ・アドレス・アレイ、置換アレイ及びその
更新論理)のほうが高価につくのは明らかである。ハー
ドウエア・コストはごておき、バッファ記憶のァドレッ
シングは制御手段のアドレッシングを必要とし、従って
非常に長い時間を要することがある。しかし、ユーザ・
データやマクロ命令ばかりでなく、増加の傾向にあるマ
イクロ命令も一層大容量の制御記憶を必要とする。
最近のデータ処理コストはソウトウェアによって影響さ
れることが益々多くなったので、純粋なソフトウェア要
素をマイクロプログラム機能によって置換する額向が強
まってきた。仮想的にアドレスされる記憶階層に関連し
て、該当する諸要素は、記憶管理、取扱われるべきジョ
ブと結合された多重処理状況、資源割当、等と関係づけ
られる。このようなソフトウェアからハードウェアへの
切換えの理由は次のように要約することができる。−解
決すべき問題とハードウェアとの関係が一層密になるの
で、有効性が増大する。
ーシステムの能率を増進させる諸要素がハードウェアで
実現されるため、計算機シリーズ内の融通性が増大する
−多くの操作が自動化されるので、計算機の利用が一層
容易になる。
ーオベレーティング・システムが一層簡単になり、従っ
てその信頼性が増す。
しかし、このような切換えはマイクロプログラムのサイ
ズを1メガ・バイト程度まで増大させることがある。
サイズがこのように大きくなると、もはやマイクロプロ
グラムを高速記憶に置くことが困難になる。先行技術で
は、速度の問題を解決するためにマイクロ命令を読取専
用記憶に記憶させるという手段が採用されたけれども、
大規模なマイクロプログラムはこれとは別のアプローチ
を必要とする。又、米国特許第3478322号に開示
されているように、マイクロプログラムを書込み可能な
制御記憶に記憶させるというアプローチが取られたこと
もある。しかし、メガ・バイト級のマイクロプログラム
は、たとえば西独国の特許公開公報第2339636号
に開示される如き記憶階層を必要とするであろう。もっ
とも、かかる記憶階層の高速バッファ記憶にマイクロ命
令を記憶させたとしても、ユーザ・データのためのバッ
ファ記憶に関連して既に指摘したような欠陥が伴なうこ
とは避けられない。すなわち、最適のバッファ・サイズ
、ァソシアティビティ、等のパラメータを決定すること
は困難であり、しかも必要な制御手段(バッファ・アド
レス・アレイ、置換アレイ、制御論理)は比較的高価で
ある。さらに、バッファ記憶の最適パラメー外まユーザ
の適用業務によって相当に支配されるから、システム設
計時にこれらの最適パラメータを決定することは不可能
である。さらに付加えるならば、多重処理システムの環
境に記憶階層を導入すると、各バッファ記憶に関連する
制御手段のコストが著しく増大するということがある。
というのは、各プロセッサに関連する制御手段は、錯綜
する多重処理オペレーションにも椀わらず、正しいデー
タが各バッファ記憶に置かれていることを保証しなけれ
ばならないからである。先行技術では、ユーザ・データ
及びマクロ命令並びにマイクロ命令はそれぞれ別個の通
路に沿ってプロセッサへ転送されていた。
コストが高くなるのにこのようなアプローチを採用した
のは、2つのタイプのデータが性質の全く異なる2つの
タイプの情報に関係するからである。前記2つのタイプ
の情報を転送するために、データ転送量及び転送速度が
それぞれ異なる2つのバスが設けられた。ユーザ・デー
タとマイクロ命令の違いは明らかであるから、以下では
マクロ命令とマイクロ命令の違いを詳述する。
近のデータ処理システムはマクロ命令とデータを同じ様
式で処理するように設計されているので、マクロ命令と
データは一緒に記憶されるのが普通である。この点を一
層詳細に説明すれば、プ。グラム及びプログラム分岐の
実行を融通性あるものにするためには、マクロ命令とデ
ータを同じ様式で処理及び修正しなければならない、と
いうことである。しかし、マイクロ命令の場合には、状
況はまったく異なる。マイクロ命令は所謂解釈コードと
し・て働らくから、(マクロ命令及びデータを主記憶に
同じ様式で記憶し修正するという)前述の原理を適用し
たとしても、利用されるプログラミング技法を容易化す
ることにはならないであろう。従って、大部分のデータ
処理システムはマクロ命令及びデータのための記憶とマ
イクロ命令のための記憶を別々に備えている。仮りにコ
ストを減少させるために共通の記憶が設けられたとして
も、このような記憶は2つのタイプの情報のために論理
的に分離された2つのアドレス・スペースを含むもので
ある(たとえばIBMTDB、Mayl973pp.3
79髭参照)。前記解決策は多数のマイクロプログラム
を速かにアクセスできるようにするためのものであるが
、これは全体的なコストが高くなるために適切な解決策
であるとはいえない。このコストは、主として、2つの
タイプの情報をプロセッサへ別々に転送するために設け
られた2つの転送路に帰せられるものである。もっとも
、これらの転送路は同時に使用することができ、従って
時間的には有利であると考えられるけれども、そのコス
トは1つの転送路に比較して2倍近くになり、しかもマ
ルチ・プロセッサの場合は2倍以上になるので、小型及
び中型のデータ処理システムにとってはこのような解決
策を受入れることはできない。従って、本発明の目的は
、プロセッサが多数のマイクロプログラムを遠かにアク
セスできるようにするとともに、それに必要な装置のコ
ストを減少させることにある。プロセッサと制御記憶は
バッファ記憶を介して接続されているので、プロセッサ
はマイクロ命令を速やかにアクセスすることができる。
併しながり、バッファ記憶はユーザ・データ及びマクロ
命令だけでなく、マイクロ命令のためにも使用され、そ
して諸制御ユニットもそうなのであるから、全体的なコ
ストは著しく減少する。このことはまたバッファ記憶が
効率的に使用されることを保証する。本発明の実施態様
は、バッファ記憶中のアドレス・スペースを規定する境
界を専用の2レジスタにそれぞれ記憶することによって
特徴づけられる。
このことはまた取扱われるべき情報のタイプに関連して
バッファ記憶中のスペースを完全に若し〈は部分的に重
複して、又は厳密に分離して使用することができるとい
う他の利点を導く。両タイプの情報は同じ制御ユニット
を使用するから、2つのタイプの情報のために与えられ
たバッファ記憶領域が重複するとき、利用可能なスペー
スはそれ自体を自動的に適応させる。というのは、バッ
ファ記憶の重複領域にある記憶スペースは該スペースを
要求する最初のタイプの情報によって利用することがで
きるようになるからである。一方、部分的な重複はいず
れのタイプの情報もバッファ記憶を独占しないことを保
証する。このことは、バッファ記憶の少くとも一部の領
域がそれぞれのタイプの情報のために確保されることを
意味する。2つの境界アドレス・レジスタはマイクロプ
ログラム又はユーザ・プログラムによってロードするこ
とができるので、記憶スペースを融通的に割当てること
が可能になり、従って特殊なユーザ・プログラムに適応
させることができる。
本発明の他の実施態様は、主記憶とバッファ記憶との間
の部分的な連想マッピングを与える。このため、バッフ
ァ記憶をたとえば所定数の列(コラム)から構成し、そ
して特定タイプの情報を記憶可能な列の最大数を境界ア
ドレス・レジスタで指定することができる。この結果Y
置換アレイ、バッファ・アドレス・アレイ及び制御論理
の編成が著しく簡単になる。バッファ記憶は所定数のデ
ータ領域を1列に記憶するように編成することができる
このアソシアティビティによれば、領域アドレスはこれ
らの領域における各ラインのアドレスをも表わすかり、
バッファ1アドレス・アレイ、置換アレイ及び制御論理
のレイアウトを簡易化することができる。以下図面を参
照して本発明の実施態様を説明する。
第1図は記憶階層を備えたデータ処理システムの一般的
構成を示しているが、この図面には1/○ユニットの如
き本発明の要旨に関係のない諸要素は図示されていない
バック・アップ記憶2はマクロ命令及びこれらの命令を
処理するに必要なデータを含むユーザ・プログラムを記
憶するためのものである。他のバック・アップ記憶4は
マイクロプログラムのために設けられる。バッファ・ア
ップ記憶2に置かれる情報のタイプは便宜上“L”と呼
ばれ、そしてバック・アップ記憶4のそれは“C”と呼
ばれる。バック・アップ記憶2及び4はデータ処理の分
野において通常主記憶と呼ばれるものに相当し、一般に
は磁気コア又はモノリシック記憶として実現される。L
及びCタイプの情報は、それらに共通のバッファ記憶6
を介してプロセッサ8へ供給される。これら2つのタイ
プの情報は、01 バッファ記憶6の容量を完全に重複
する様式で使用するか、又は第1図に示すように、【2
’バッファ記憶6に与えられた可変的境界の範囲内でそ
れぞれの記憶スペースを制限的に使用することができる
。要求された情報は、そのタイプに応じてプロセッサ8
のオペランド・レジスタ26又はマイクロ命令レジスタ
28のいずれか一方へロードされる。情報のタイプはプ
ロセッサ8によって供給されるアドレス中の特定ビット
(L/Cビット)によって識別される。プロセッサ8か
らしジスタ24にアドレスが与えられると、このアドレ
スによって指定されたデータがバッファ記憶6に存在す
るか否かを決定するためにバッファ・アドレス・アレイ
10が質問される。
この情報は比較器2川こよって供給され、該比較器はバ
ッファ記憶6をアドレスするに必要なアドレスをバッフ
ァ記憶アドレス・レジスタ22へロードする。もしバッ
ファ記憶6の1バイトのみが要求されているのであれば
、そのバッファ記憶アドレスの対応する下位部分を用い
てデータ・レジス夕29の適当なバイト部分が選択され
、そしてそこへバッファ記憶6からのデータが読込まれ
る。もし要求されたデータがバッファ記憶6中で利用す
ることができなければ、これらのデータを対応するバッ
ク・アップ記憶2又4からフェッチし、そしてもし必要
であればバッファ記憶6の適用な記憶ロケーションをク
リアしなければならない。
バッファ記憶制御論理14に関連する置換アレイ12は
クリアさるべき記憶ロケーションを指示するために使用
される。L及びCタイプの情報はだいたいにおいてバッ
ファ記憶6に記憶されているので、或るデータ領域が置
換されるときは幾つかの境界を観察することが必要にな
る場合がある。
もしLタイプのデータがバッファ記憶6の或る特定領域
にのみ記憶されされ、そしてCタイプのデータが他の特
定領域にのみ記憶されていれば、特定タイプの新しいデ
ータがバッファ記憶6へ転送される都度それと同じタイ
プのデータのみを置換するような置換オペレーションが
遂行されねばならない。Lレジスター6及びCレジスタ
ー8はこの目的のために観察さるべき境界を指示するよ
うに働ら〈。置換アレイ12によって置換情報が求めら
れるとき、これらのレジスタ16及び18に記憶された
境界はバッファ記憶制御論理14によって考慮される。
次に第2図を参照して第1図に図示された諸ユニットの
オペレーションを詳述する。もしバック・アップ言己億
2及び4からバッファ記憶6へデータをマップするため
に幾何学的な境界がまったく与えられていなければ、L
レジスター6及びCレジスター8は諸境界を一般的な形
式で記憶することができ、従ってバッファ記憶6を情報
タイプL及びCの間で極めて融通的に分割することがで
きる。
西独国の特許公開公報第195660虹及び18152
34号は、主記憶及びバッファ記憶のマッピング条件、
バッファ・アドレス・アレイ及び置換アレイの編成、利
用可能なァルゴリズムを一層詳細に開示する。
又これらの公開公報は主記憶とバッファ記憶の間でデー
タを転送するために必要な機構をも開示する。第2図に
は、バッファ記憶6を2つのデータ・タイプL及びCの
ために共用するための装置が示されており、ここには第
1図の諸要素のうち、バッファ・アドレス・アレイ10
、置換アレイ12及び比較器20が再び図示されている
第1図のバッファ記憶制御論理14は第2図の右側部分
に一層詳細に図示されているが、この論理については後
述する。第2図中、括弧内の数字はそれぞれの線又はし
ジスタ部分のビット数を表わす。プロセッサ8からしジ
スタ24へロードされる24ビットのアドレスは下記の
フィールドから成るものである。−フイールド24a:
このフイールドはL/Cビットと呼ばれる1ビットを保
持する。
このビットはプロセッサ8によって要求されたデータが
L又はCタイプのどちらであるかを指示するものである
。ーフイールド24b:このフイールドは12ビットの
ブロック・アドレスを保持するので、プロセッサ8は4
kブロックをアドレスすることができる。
−フイールド24c:このフイールドは6ビットの領域
アドレスを保持する。
従って、各ブロックにおいて64領域をアドレスするこ
とができる。ーフィールド24d及び24e:これらの
フィールドはライン・アドレス及びバイト・アドレスを
それぞれ保持する。
これらのアドレスの意味については第3図に関連して以
下で詳述する。第2図に図示されたバッファ・アドレス
・アレイ10及び置換アレイ12の各々は4列から成る
。アレイ10の各列は番号0乃至3と指示されるのに対
し、アレイ12の各列は番号12a乃至12dと指示さ
れる。アレイ10の各列にはL/Cビット及びブロック
・アドレスがそれぞれのラインに記憶される。置換アレ
イ12の各ラインにはバッファ・アドレス・アレイ10
の列番号0乃至3がその置換順序に従って左から右の方
向へ順次に記憶される。このため、次に置換さるべき(
最高優先順位の)列番号は列12aに保持されることに
なる。次に、第3図を参照して、バッファ記憶6の編成
及びそのアドレッシングを説明する。
第3図の編成に従って、バック・アップ記憶2又は4か
らのデータ領域をバッファ記憶6に記憶するために4ウ
ェィのアソシアティビテイが与えられる。
従って、バッファ記憶6、バッファ・アドレス・アレイ
10及び置換アレイ12は4列から成るように編成され
る。バッファ記憶6ではデータ領域Bの各々を64領域
行の或る列に記憶することができる。第3図に図示され
たバッファ記七6の最上部にある第1領域行から明らか
なように、各データ領域は4ラインを有する。バッファ
記憶6の1列には6釘;があるから、バッファ・アドレ
ス・アレイ10及び置換アレイ12の各々もそれに応じ
て64ラインを有する。或るデータ領。がバッファ記憶
6の特定の列に記憶される場合、そのブロック番号はバ
ッファ・アドレス・アレイ10の対応する列及びライン
に記憶される。たとえば、領域15がバッファ記憶6の
列2に記憶されるものとすれば、この領域のブロック番
号並びにL/Cビットはアドレス・アレイ10の列2に
おいて第15番目のラインに現われる。このことは次の
ような利点を導く。
すなわち「フィールド24cの領域アドレスを利用すれ
ば、バッファ・アドレス・アレイ10のラインとバッフ
ァ記憶6の特定の領域行とを同時にアドレスできるとい
うことである。このため、アドレス解読器11及び15
が設けられる。要求ごれた領域中にある4ラインンのう
ちの1つはフィールド24dのライン・アドレスとアド
レス解読器19によってアドレスされる。これらの4ラ
インの各々はたとえば8データ・バイトから成り、デー
タ・レジスタ29へ並列に読出される。フィールド24
eに記憶された3ビットのバイト・アドレスを利用すれ
ば、これらの8バイトのうち任意のバイトを選択するこ
とができるので、プロセッサ8に至る転送路の中に容易
に適応させることができる。特定のデータ領域がバッフ
ァ記憶6で利用可能か否かを決定するためには、この領
域のブロック・アドレスをバッファ・アドレス・アレイ
10に記憶されたブロック・アドレスと比較することが
必要である。特定の領域(たとえば領域15)のブロッ
ク・アドレスは単一のライン(たとえばアレイ10の第
15ライン)にのみ記憶されるので前記の比較オペレー
ションは容易である。というのは、アレイ10の前記ラ
インから読出されたブロック・アドレスを比較器20へ
加え、そこでプロセッサ8からのブロック・アドレスと
並列に比較すればよいからである。もし両アドレスが一
致すれば、比較器20はその出力8川こビット信号を発
生する。それと同時に、符号器3川ま対応する列を決定
し、その列の2ビット・アドレスをバッファ記憶アドレ
ス・レジスタ22の対応するフィ−ルドヘロードする。
その後、アドレス解読器17及び蔓5を介して要求され
た列及びデータ領域行をアドレスすることができる。こ
の領域中の要求されたラインはアドレス解読器19によ
って選択される。もし両ブロック・アドレスが一致せず
、従って比較器20がその出力8川こミス信号を発生す
るならば、これは要求された領域がバッファ記憶6で利
用不能であること、従ってバック・アップ記憶からバッ
ファ記憶6へフェッチされねばならないことを意味する
このため、置換オペレーションの一部としてバッファ記
憶6の適当な領域をバック・アップ記憶へ逆転送するこ
とが必要である。もし〜当該領域がマイクロ命令を保持
していれば、この転送ステップは取られない。なぜなり
、マイクロ命令は一般にプロセッサによって変更又は修
正されることはないからである。この転送に関連して、
バッファ・アドレス・アレイ10の各ブロック・アドレ
スごとに有効及び変更ビットを記憶しt対応する情報が
依然として有効であるが又は変更されたかを指示せしめ
ることは公知である。これらの制御ビットに依存して、
Lタイプのデータに対する前記の転送ステップを省略す
ることができる場合もある。比較器20がその出力80
‘こミス信号を発生してバッファ記憶6中の或るデ−タ
領域が置換されねばならないことを指示する場合、制御
論理14は置換アレイ12に記憶された情報を利用して
バッファ記憶6のどの列で対応する領域が置換されねば
ならないかということを決定する。
アレイ10及び12並びにバッファ記憶6における対応
するラインは領域アドレス解読器11並びにアドレス解
読器13及び15によってアクセスされる。置換ァルゴ
リズムには種々のものがあるが、以下では第6図及び7
図に関連してFIFOアルゴリズム及びLRUアルゴリ
ズムを説明するに留める。FIFOアルゴリズムによれ
ば、考察さるべき4つのデータ領域のうちで、アドレス
・アレイへ最初に読込まれたブロック番号を有するよう
な特定の領域が置換されねばならない。このため、論理
14(第3図)の一部である更新及び置換論理38(第
2図)は、ミス信号80が発生されるたびに置換アレイ
12の列12に記憶された列番号o乃至3を列12dへ
転送し、そしてこのラインにある残りの列番号を線70
上の信号を介して左方向へシフトする。従って、所与の
列が置換される場合、対応する列番号はチェーンの最後
に置かれ、そして3シフトの後に再び考慮されることに
なる。第6図のブロック601はミス信号80が発生さ
れる前の置換アレイ12の対応するラインの内容を示し
、ブロック602はシフト後のこのラインの内容を示す
。第6図の状況では、アドレス・アレイ10の列1にブ
ロック番号を記憶されている領域が置換され、そしてそ
の次にはアドレス・アレイ10の列2にブロック番号を
記憶されている領域が置換の対象となる。他方、LRU
アルゴリズムを使用する場合には、置換アレイ12の内
容はバッファ記憶6のァドレッシングが行われるたびに
更新されねばならない。
このため、参照された列の番号がチェーンの最後に置か
れ、そしてもし必要ならば、残りの列番号が左へシフト
される。かくして、置換アレイ12の所与のラインにお
いて右端の列番号は最近に使用された列を指示し、チェ
ーンの左端にある列番号は最も長い間使用されなかった
列(従ってその領域の情報タイプが重要でなければ置換
さるべき列)を指示する。第7図は領域アドレスに対応
する置換アレイ10のラインの内容を示しており、一層
具体的にはブロック701はバッファ記憶6の列0がア
クセスされる前の前記ラインの内容を示し、ブロック7
02はバッファ記憶6の列0がアクセスされた後の前記
のラインの内容を示す。
もし比較器20がミス信号を発生するならば、置換アレ
イ12中の対応するラインは付加的に1位置だけ左へシ
フトされるので、列12a中の列番号は列12dに記憶
されることになる。第3図の実施態様は、たとえば8k
バイトのバッファ記憶6に関係しているが、このバッフ
ァ記憶6は64(行)x4(列)の領域を含み、そして
各領域はそれぞれ4ラインを含むので、1領域の各ライ
ンはそれぞれ8バイトを記憶することができる。
この実施態様の記憶サイズ及び4ウェィのアソシアティ
ビティは、このようなバッファ記憶6を動作させるため
に比較的高価な制御要素が必要であることを示すために
選ばれたにすぎない。もしバック・アップ記憶からのデ
ータがバッファ記憶6で自由にマップされ、従って任意
の領域がバッファ記憶6の任意のライン及び列に記憶さ
れるならば、かかるフル・アソシアテイビテイを保証す
るために複数且つ精巧なバッファ・アドレス・アレイ1
0及び置換アレイ12が与えられねばならない。以下で
は第2図を参照してバック・アップ記憶2及び4からの
データについてバッファ記憶6を共用する様式を説明す
る。
バッファ記憶6の初期ロードは、たとえば特定の領域番
号についてその列を左から右へ充填するようにして行わ
れる。その後、第1図のプロセッサ8はアドレス・レジ
スタ24ヘアドレスをロードすると同時に、バッファ記
憶6で読出し又は書込みオペレーションのどちらかが要
求されているかということを指示する。前記した変更ビ
ットは書込み中にセットされるのに対し、有効ビットは
多重プロセッサ・オペレーションの間に他のプロセッサ
によってセットすることができる。プロセッサ8から要
求されるデータはL又はCタイプのデータのどちらでも
よいから、レジスタ24のフィ−ルド24bに記憶され
たブロック・アドレスがアレイ10のアドレスされたラ
インに記憶されているか否かを決定するだけでは不充分
である。
それに加えて、フィールド24aのL/Cビットとアレ
イ10のアドレスされたラインに記憶されたL/Cビッ
トとが一致するか否かを決定することが必要である。か
くて、バッファ記憶アドレスのフィールド24a及び2
4b中にある対応する13ビットがアレイ10の列0乃
至3の13ビットとそれぞれ並列に比較される。比較器
20はその出力80にビット/ミス信号を発生する。ビ
ット信号が発生される場合、符号器30は対応する列ア
ドレスを発生しそれをORゲート32を介してバッファ
・アドレス・レジスタ22へロードする。この場合、バ
ッファ記憶6がアドレスされ、そして置換アレイ12が
更新及び置換論理38によって更新される。
但し、後者のオペレーションは選択された置換ァルゴリ
ズム(FIFO又はLRU)に依存する。もし比較器2
0が線8川こミス信号を発生するなら、バッファ記憶6
の或るデータ領域が置換されねばならない。
バッファ記憶6はL及びCタイプのデータについて共用
されるので、この置換は、L又はCタイプのどちらの領
域が要求されるかということ及びこれら2つのタイプの
情報のために記憶スペースを分割することに関し何らか
の制約が存在するか杏かということに依存する。L及び
Cタイプの情報によってバッファ記憶6を共用すること
については、幾つかかの状況が区別されねばならない。
一般的状況では、バッファ記憶6の全体の両タイプの情
報によって共用することができる。たとえば、マイクロ
命令の領域が要求されているものとすれば、採用された
置換アルゴリズムに応じて或る領域がクリアされ、そし
て要求された領域がバッファ記憶6へロードされる。し
かし、この方式によれば使用頻度の高い情報タイプが他
方の情報タイプをバッファ記憶6から追いやる傾向があ
り、従って記憶スペースを独占する嫌いがある。かくて
、情報タイプの各々についてバッファ記憶6に指定され
た領域を確保することが望ましい。これを実現するため
には、バッファ記憶6の一部分を一方の情報タイプにだ
け割当て、残りの部分を他方の情報タイプにだけ割当て
るようにすることが考えられる。しかし、かかる固定的
な分割の場合には、これら2つの部分の間の境界を最適
に設定することができない。この理由で、2つの境界を
与えてバッファ記憶6を3つのゾーンに分割することが
望ましい。すなわち、第1ゾーンはLタイプの情報のた
めに排他的に確保され、第2ゾーンはCタイプの情報の
ために排他的に確保され、そして残りのゾーンでは2つ
のタイプの情報が重複的に記憶される。この重複ゾーン
において記憶スペースはそれ自体を自動的に適応させる
が、これはバッファ記憶6の諸制御要素、特にバッファ
・アドレス・アレイ10及び置換アレイ12の共用に由
釆するものである。この記憶スペースはそれぞれのアク
セス比率及びヒット確率(ヒット信号)に従って割当て
られる。バック・アップ記憶2及び4がそれぞれ異なる
速度で動作するか、又はこれらのバック・アップ記憶と
バッファ記憶との間にある複数のバスがそれぞれ異なっ
た速度で動作する場合、前記の自己適応オペレーション
は一方の情報タイプが重複ゾーンを独占することに帰着
しがちである。これらの情報タイプの間の不均衡は、重
複領域に加えて、これらの情報タイプのために別個のゾ
ーンを確保することによって回避される。レジスタ16
及び18は前記複数のゾーンの諸境界を定めるように機
能する。
フル・アソシアティビティのバッファ記憶6の場合には
、境界として機能する特別のバッファ記憶アドレスが前
記のレジスター6及び18へロードされる。第2図に図
示された4ウェイのアソシアテイビテイの場合には、L
タイプの情報に対し行ごとに許容可能な列の最大数をL
レジスタ16へロードし且つCタイプの情報に対し行ご
とに許容可能な列の最大数をCレジスタ18へロードす
ることによってこの配列のオペレーションを著しく簡単
化することができる。図示のように4列から成るレイア
ウトでは、レジスター6及び18はそれぞれ2ビットの
容量を有する。もしバッファ記憶6のスペースが両タイ
プの情報によって重複的に共用されるのであれば、レジ
スター6及び18には2進ビット“11”がそれぞれ記
憶される。しかし、もしバッファ記憶6がこれらの情報
タイプの各々によって平等に共有されるのであれば、す
なわちLタイプの相異なる2データ・ブロックからの特
定数を有する領域をバッファ記憶6の2列に記憶するこ
とができ、そしてCタイプの2情報ブロックからの同じ
数を有する2領域を残りの2列に記憶することができれ
ば、レジスター6及び18は2進数“01”及び“01
”をそれぞれ保持する。レジスタ16及び18に記憶さ
れる境界値を適当に選択すれば、バッファ記憶6のスペ
ースを完全若しくは部分的に重複した様式で使用するか
又は該スペースを厳密に分離した様式で使用することが
可能である。所与のデータ領域が置換されるとき、バッ
ファ記憶6におけるゾーン境界の観察は種々の影響を有
しうる。
たとえば、或る領域が置換されねばならないときにそれ
ぞれの情報タイプに割当てられた列が完全に用し、尽さ
れているならば、それと同じタイプのデータ領域が置換
されねばならない。一方、もし割当てられた列が完全に
用し、尽されていなければ、ランダムなデータ領域、す
なわち他のタイプのデータ領域をも置換することができ
る。このことがあてはまるのはたとえば次のような場合
である。すなわち、もし所与のタイプの情報によって唯
一つの列が占有されており、そしてこのタイプの新しい
ブロックをバッファに書込むことが要求されるとすれば
、残り3列の任意のものをクリアすることができるとい
うことである。というのは、他のタイプのデータ領域が
バッファから造出されたとしても、この他のタイプの情
報のためにまだ2列が割当てられているからである。第
2図の右側部分に図示された論理は、データ領域が置換
が置換されるときにこの選択的オベレーションンを可能
にする。
フィールド24aのL/Cビットは線25を介してカウ
ンタ52の入力Cへ転送され、そしてィンバータ44を
介して該カゥンタの入力しへ反転形式で加えられる。力
ウン夕52はバツフア・アドレス・アレイ10の4列に
記憶されたL/Cビットをその0及び1に従ってカウン
トする。この実施態様では、Lタイプのために“0”が
選択され、Cタイプのために“1”が選択される。領域
アドレスによってアドレスされたアレイ10のラインか
ら謙出された4ビット(L/C−0乃至L/C−3)は
線68を介してカウンタ52へ供給される。カウンタ5
2は信号“1”がそのC又はL入力のどちらかへ加えら
れるかに応じてCビット(2進1)又はLビット(2進
0)をカウントする。次いで、このカウントは符号器5
4によって2進的に符号化された後、比較器56でOR
ゲート50の出力信号と比較される。ORゲート50は
、バッファ記憶アドレスのフィールド24aに値“0”
又は“1”のどちらかが記憶されているか、従ってAN
Dゲート46又は48のどちらかが開放するかに依存し
て、Lレジスター6又はCレジスタ18の一方から2ビ
ット入力信号を受取る。レジスター6又は18に記憶さ
れた境界値がカゥンタ52によって供給される数値に等
しいか又はそれより大きいとき、比較器56の出力信号
98は値“1”を有する。カウンタ52はL/Cビット
のそれぞれの真の数値をカウントし、そしてレジスター
6及び18に記憶された境界値は割当てられた真の列数
より1だけ小さく、さらにこれらの諸列は0乃至3とし
て参照されるから、比較器56の“1”出力は割当てら
れた列がそれぞれの情報タイプによって、完全に用し、
尽されていないことを指示する。この場合、他の情報タ
イプのデータ領域を置換することも可能である。こうす
るためには、列12aに記憶された列番号を置換のため
に与えることが望ましい。というのは、この列番号は第
6図に関連して既に説明したように最も古い又は最も長
い間使用されなかったエントリーを指示するからである
。比較器20の出力8川こミス信号が生ぜられる場合に
は、置換アレイ12の列12aにある列番号がィンバー
タ34によって作動されるANDゲート36及び線72
を介してANDゲード62へ転送される。
もしこれと同時に比較器56からANDゲート62の他
の入力へ信号“1”が加えられるならば、この列番号は
ORゲート64及び線74を介してバッファ・アドレス
・アレイ10へ転送される。かくて、第1図の論理14
は、領域アドレスによってアドレスされたアレイ10の
ラインにある諸列のうち線74を介して指定された特定
の列からブロック・アドレスを読出し、そしてフィール
ド2.4cの領域アドレスによって指定された領域をバ
ック・アップ記憶2又は4へ逆転送する。それと同時に
、置換アレイ12から探索された列番号がORゲート3
2へ、従ってバッファ記憶アドレス・レジスタ22へ供
給される。もし当該データがたとえばユーザ・データで
あれば、前記のようにしてアドレスされたデータ領域が
バッファ記憶6から読出され、そして探索されたブロッ
ク・アドレスを利用してバック・アップ記憶2へ逆転送
される。更新及び置換論理38は、更新ステップが完了
した後、線70を介して置換アレイ12中の対応するラ
インを更新する。一般に、必要なデータ転送ステップ並
びに論出し及び書込みオペレーションを制御するために
信号76を使用することが・できる。もし比較器56が
線98に“0”出力を供給し、従ってそれぞれの情報タ
イプに割当てられた列が完全に用い尽されてしまったこ
とを指示するならば、当該情報タイプのデータ領域のみ
が置換のために提供されうる。
さらに、当該タイプに関連する領域が選択されなければ
ならないが、その順序は使用される置換アルゴリズムに
従って決定される。この選択を行なうためには主として
解読器及び選択回路40並びに優先順位回路42が使用
される。
第4図の解読器及び選択回路40はその入力信号として
置換アレイ12の列12a乃至12dに記憶された列番
号を受取る。
さらに、解読器及び選択回路40はアドレス・アレイ1
0の1ラインにある4列から線66を介して4つのL/
Cビット(L/C−0乃至L/C−3)を受取る。回路
4川ま、置換アレイ12の所与の列に列番号Xが記憶さ
れているとき、該所与の列に対応する出力にビットL/
C−×をゲートするように動作する。第2図の例では、
列番号2,0,1及び3は置換アレイ12の第1ライン
に左から右へ順次に記憶されている。かくて、回路40
はビットL/C−2をその左端の出力へ接続するが、こ
れは列番号2が列12aに記憶されているからである。
第2列ではビットL/C−0が、第3列ではビットL/
C−1が、そして第4列ではビットL/C−3がその出
力へ接続され、そこからさらに優先順位回路42の入力
へ供給される。第4図の左側に示すように、もしビット
L/C−0乃至L/C−3が値1、0、1、0をそれぞ
れ有するならば、回路40の出力41,43,45,4
7に信号100が現われることになる。解読器及び選択
回路40のオペレーションは第4図の諸論理要素から理
解することができるので、その詳細な説明は必要ないで
あろう。
2ビットの2進入力信号を4者択1信号へ変換する解読
器82乃至88は各列ごとに設けられる。
各列ごとに4個のANDゲートが設けられるが、解読器
82乃至88の4出力のうち1出力にのみ2進“1”が
生せられるので、前言己ANDゲートのうち1個のAN
Dゲートだけが切換えられるにすぎない。第4図中、こ
れらのANDゲートには参照番号90乃至96が付され
ている。これらのANDゲートのうち第2の入力に2進
“1”を受取るのはANDゲート90及び92だけであ
り、従って該ゲートのみを切換えることができる。これ
ら2つの2進信号はビットL/C−2及びL/C−0に
関連する。ANDゲ−ト90及び92の出力信号はOR
ゲートを介して回路40の出力41及び43へ供給され
る。第5図の優先順位回路42は領域アドレスによって
アドレスされた置換アレイ12のラインに記憶されたL
又はCタイプの列番号の中から左端の番号(すなわちそ
れぞれの置換アルゴリズムに従って置換さるべき特定の
列を指示する列番号)を選択し、そしてその番号をその
出力へ供給するように機能する。
このため、各データ・タイプを識別する回路40の出力
信号41,43,45及び47は優先順位回路42の入
力信号として加えられる。又この優先順位回路42には
、置換アレイ12の各ラインに記憶された本来の列番号
、アドレス・レジスタ24に記憶されたバッファ記憶ア
ドレスのL/Cビットが加えられる。優先順位回路42
のオペレーションは図示された諸論理要素から容易に理
解することがでかさるので、その詳細な説明は割愛する
排他的OR(XOR)ゲート100乃至106は線41
,43,45及び47からの出力信号とL/Cビットの
値とを組合わせる。第5図についてはこのビットは“1
”であり、従ってCタイプが要求されているものと仮定
する。このビットはインバータ108を介して反転され
る。優先順位回路42の左側には置換アレイ12の対応
するラインから読出された列番号が加えられる。図示さ
れた例では列番号2,0,1及び3は置換アレイ12の
第1ラインに記憶され、優先順位回路42の入力へ図示
の適切こ加えられる。置換アレイ12から謙出されたL
又はCタイプの情報エントリーのうち左端(最高優先順
位)のエントリーが選択されねばならない。これはAN
Dゲード132,144,134,136及び138に
関連してインバータ126,128及び130を使用す
る第5図回路によって遂行される。列番号を構成する2
ビットの各々ごとに、XORゲート100乃至106に
よって制御されるANDゲート110乃至124が付加
的に設けられる。それぞれ4入力を有する2個のORゲ
ート140及び1 42はANDゲート110乃至12
4の8出力を優先順位回路42の2出力へ接続するので
、この2進表記では4列のうち1列が置換のために提供
される。第5図の実施態様では優先順位回路42は選択
回路40から入力信号1100を受取りり、かくてCタ
イプのブロック・アドレスを記憶しているバッファ・ア
ドレス・アレイ10の列番号が列12a及び12bに保
持されていることを指示する。
この2つの列番号は(左から右へ)2及び0であり、そ
して第4図によればビットL/C一2及びL/C−0の
各々は“1”であるから、これはCタイプの情報がこれ
らの列に記憶されていることを意味する。列12c及び
12dは列番号I及び3及びを保持し、ここれらの列番
号はLタイプのブロック・アドレスを記憶するアレイ1
0の列に関係する。第5図の実施態様ではフィールド2
4aから発発するL/Cビットは値“1”を有する。
かくてCタイプの情報が要求されているので、優先順位
回路42は置換アレイ12にあるCタイプの諸エントリ
ーから左端のエントリーを選択する。Cタイプに関係す
る列番号は列12a及び12bに保持されており、従っ
て列12a中のエントリーが優先順位回路42の出力へ
供給される。このエントリーは値“2”を有する。この
列番号“2”は線78を介してANDゲ−ト60(第2
図)の第1入力へ供給され、該ANDゲートの第2入力
はィンバータ58の出力を受取る。
このィンバータ58の入力は比較器56の出力82へ援
続される。もし比較器56が出力信号“0”を発生して
割当てられた列が要求された情報タイプのために完全に
用し、尽されたことを指示するならば、ィンバータ58
はその出力信号をANDゲート60へ供給する。AND
ゲート60の第3入力は線35を介してィンバータ34
の出力を接続され、しかして比較器20がミス信号を発
生するとき2進信号を受取る。その後、置換さるべき列
の番号がORゲート64の出力に受取られ、そして前記
した様式で関連する諸要素へ転送される。次いで、制御
14はバッファ記憶6の指示された領域を要求された領
域で置換し、バッファ・アドレス・アレイ10及び置換
アレイ12を更新する。
【図面の簡単な説明】
第1図は本発明に従った記憶階層を有するデータ処理シ
ステムのブロック図、第2図は第1図の配列の詳細ブロ
ック図、第3図は記憶階層のァドレッシング機構を示す
図、第4図は解読器及び選択回路の詳細ブロック図、第
5図は優先順位回路の詳細ブロック図、第6図はFIF
Oァルゴリズムに従った置換アレイのオペレーションを
示す図、第7図はLRUァルゴリズムに従った置換アレ
イのオペレーションを示す図である。 2・・・・・・Lタイプのバック・アップ記憶、4…・
・・Cタイプのバック・アップ記憶、6…・・・バッフ
ァ記憶、8・・…・プロセッサ、10・・・・・・バッ
ファ・アドレス・アレイ、12・・・・・・置換アレイ
、14・・・・・・制御論理、16・・・・・・Lレジ
スタ、18・・・・・・Cレジスタ、20・・・・・・
比較器、22・・・・・・バッファ記憶アドレス・レジ
スタ。 FIG.I FIG.4 N 9 一 FIG.3 FIG.6 FIG.7 FIG.5

Claims (1)

    【特許請求の範囲】
  1. 1 プロセツサと、ユーザ・データ及びマクロ命令の如
    き第1タイプの情報を記憶する第1主記憶と、マイクロ
    命令の如き第2タイプの情報を記憶する第2主記憶とを
    備えたマイクロプログラム化データ処理システムであっ
    て、 前記第1及び第2主記憶よりも小容量のデータ記
    憶空間を有し且つ前記第1及び第2主記憶と前記プロセ
    ツサの間に接続された共通のバツフア記憶と、 前記バ
    ツフア記憶で利用可能なデータのブロツク・アドレス及
    び当該データ・ブロツクが前記第1又は第2タイプのど
    ちらかの情報であるかを識別する指示子をそれぞれ記憶
    するためのバツフア・アドレス・アレイと、 前記プロ
    セツサによって要求されるデータ項目を包含するデータ
    ・ブロツクのアドレス、当該データ・ブロツクが前記第
    1又は第2タイプのどちらかの情報であるかを識別する
    処の関連する指示子及びブロツク内アドレスを含むアド
    レス信号を前記プロセツサから受取るためのアドレス・
    レジスタと、 前記アドレス・レジスタ中のアドレス信
    号に応答して前記バツフア・アドレス・アレイを質問す
    ることにより前記要求されたデータ項目を包含するデー
    タ・ブロツクが前記バツフア記憶に存在するか否かを決
    定するとともに、その決定結果に応じてヒツト又はミス
    信号を発生するための手段と、 前記ヒツト信号及び前
    記アドレス・レジスタ中の前記ブロツク内アドレスに応
    答して前記バツフア記憶から対応する第1又は第2タイ
    プのデータ項目を読出し且つ前記プロセツサが利用でき
    るように該データ項目をバツフア・データ・レジスタへ
    供給するためのバツフア記憶アドレス手段と、 前記バ
    ツフア記憶中のデータが置換される順序の指示を記憶す
    るための置換アレイと、 前記ミス信号に応答して前記
    第1又は第2主記憶から前記置換アレイによって決定さ
    れた前記バツフア記憶中のブロツク位置へ前記要求され
    たデータ項目を包含するデータ・ブロツクを転送すると
    ともに、該データ・ブロツクのアドレスを前記バツフア
    ・アドレス・アレイへ挿入するための制御論理とを備え
    たことを特徴とする、マイクロプログラム化データ処理
    システム。
JP51116083A 1975-10-23 1976-09-29 マイクロプログラム化データ処理システム Expired JPS604493B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2547488.8 1975-10-23
DE2547488A DE2547488C2 (de) 1975-10-23 1975-10-23 Mikroprogrammierte Datenverarbeitungsanlage

Publications (2)

Publication Number Publication Date
JPS5251836A JPS5251836A (en) 1977-04-26
JPS604493B2 true JPS604493B2 (ja) 1985-02-04

Family

ID=5959910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51116083A Expired JPS604493B2 (ja) 1975-10-23 1976-09-29 マイクロプログラム化データ処理システム

Country Status (5)

Country Link
US (1) US4047244A (ja)
JP (1) JPS604493B2 (ja)
DE (1) DE2547488C2 (ja)
FR (1) FR2329017A1 (ja)
GB (1) GB1507284A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530727A (en) * 1978-08-22 1980-03-04 Nec Corp Information processor
US4312036A (en) * 1978-12-11 1982-01-19 Honeywell Information Systems Inc. Instruction buffer apparatus of a cache unit
US4314331A (en) * 1978-12-11 1982-02-02 Honeywell Information Systems Inc. Cache unit information replacement apparatus
GB2052117B (en) * 1979-07-04 1982-10-20 Int Computers Ltd Data processing systems
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
US4420807A (en) * 1981-08-31 1983-12-13 International Business Machines Corporation Selectively holding data in a buffer for defective backing store tracks
US4458309A (en) * 1981-10-01 1984-07-03 Honeywell Information Systems Inc. Apparatus for loading programmable hit matrices used in a hardware monitoring interface unit
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
JPS58119052A (ja) * 1982-01-08 1983-07-15 Nec Corp マイクロプログラム制御方式
JPS58214946A (ja) * 1982-06-08 1983-12-14 Nec Corp マイクロプログラム制御方式
JPS5969843A (ja) * 1982-10-15 1984-04-20 Nec Corp マイクロプログラム制御方式
JPS5972545A (ja) * 1982-10-19 1984-04-24 Nec Corp マイクロプログラム制御システム
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
WO1984002799A1 (en) * 1982-12-30 1984-07-19 Ibm A hierarchical memory system including separate cache memories for storing data and instructions
US4628478A (en) * 1983-07-07 1986-12-09 Motorola, Inc. Remote data controller for a communication system
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4823308A (en) * 1984-02-02 1989-04-18 Knight Technology Ltd. Microcomputer with software protection
JPS60205750A (ja) * 1984-03-30 1985-10-17 Nec Corp マイクロプログラム制御装置
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5278960A (en) * 1989-08-16 1994-01-11 Nec Corporation Information processing apparatus having detecting means for operand overlaps
JPH03194633A (ja) * 1989-12-25 1991-08-26 Nec Corp 制御記憶の再書き込み方式
JP4038216B2 (ja) * 2005-05-10 2008-01-23 ファナック株式会社 シーケンスプログラム編集装置
BR112020026449A2 (pt) * 2018-07-12 2021-03-23 Huawei Technologies Co., Ltd. Método de restauração de dados, terminal, meio de armazenamento legível por computador e produto de programa de computador

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3284776A (en) * 1961-06-08 1966-11-08 Decca Ltd Data processing apparatus
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US3593299A (en) * 1967-07-14 1971-07-13 Ibm Input-output control system for data processing apparatus
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3771141A (en) * 1971-11-08 1973-11-06 Culler Harrison Inc Data processor with parallel operations per instruction
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3800291A (en) * 1972-09-21 1974-03-26 Ibm Data processing system memory relocation apparatus and method
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
US3906457A (en) * 1974-02-15 1975-09-16 Victor Comptometer Corp Display system for an electronic business machine

Also Published As

Publication number Publication date
DE2547488C2 (de) 1982-04-15
JPS5251836A (en) 1977-04-26
US4047244A (en) 1977-09-06
GB1507284A (en) 1978-04-12
DE2547488A1 (de) 1977-04-28
FR2329017A1 (fr) 1977-05-20
FR2329017B1 (ja) 1979-09-28

Similar Documents

Publication Publication Date Title
JPS604493B2 (ja) マイクロプログラム化データ処理システム
US5274790A (en) Cache memory apparatus having a plurality of accessibility ports
CA1151293A (en) Cache memory organization
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
CA1226673A (en) Reconfigurable memory system
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4905141A (en) Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
JPS624745B2 (ja)
JPH0425579B2 (ja)
US11372648B2 (en) Extended tags for speculative and normal executions
EP0377970A2 (en) I/O caching
US10915326B1 (en) Cache systems and circuits for syncing caches or cache sets
US11048636B2 (en) Cache with set associativity having data defined cache sets
US11200166B2 (en) Data defined caches for speculative and normal executions
US11010288B2 (en) Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
US11194582B2 (en) Cache systems for main and speculative threads of processors
JPH08227380A (ja) データ処理システム
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
EP0284751B1 (en) Cache memory
US5287482A (en) Input/output cache
US4970643A (en) Mechanism for lock-up free cache operation with a remote address translation unit
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
EP0377971B1 (en) I/O bus caching
EP0376253B1 (en) Information processing apparatus with cache memory