[go: up one dir, main page]

JPH0630060B2 - システムインタ−フエイスユニツト - Google Patents

システムインタ−フエイスユニツト

Info

Publication number
JPH0630060B2
JPH0630060B2 JP59067318A JP6731884A JPH0630060B2 JP H0630060 B2 JPH0630060 B2 JP H0630060B2 JP 59067318 A JP59067318 A JP 59067318A JP 6731884 A JP6731884 A JP 6731884A JP H0630060 B2 JPH0630060 B2 JP H0630060B2
Authority
JP
Japan
Prior art keywords
memory
address
control
storage device
data
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
JP59067318A
Other languages
English (en)
Other versions
JPS603043A (ja
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.)
Unisys Corp
Original Assignee
Unisys 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 Unisys Corp filed Critical Unisys Corp
Publication of JPS603043A publication Critical patent/JPS603043A/ja
Publication of JPH0630060B2 publication Critical patent/JPH0630060B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

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)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 発明の分野 この発明は多レベル制御装置に関するものであり、特
に、その各々がメモリアドレス指定条件のみならず異な
る動作速度をも有するデータプロセッサと他の処理シス
テムとの間のキャッシュメモリインターフェイスのため
の制御装置に関するものである。
先行技術の説明 2つの異なるデータ処理システム、特に異なるパーフォ
ーマンス速度のインターフェイスにおいて、数多くの両
立し得ないことに遭遇する。このような両立できない点
は、メモリアクセス時間の差や、それぞれのプロセサが
作動される異なるクロック周波数や、異なるコマンド構
造や、それぞれのプロセッサのメモリアドレス指定能力
である。
この発明はバロースB5900のような1またはそれ以
上の商業的に入手可能なエントリレベルデータプロセッ
サを、大きな多重処理システムとインターフェイスする
ものに向けられており、そのエントリレベルデータプロ
セッサは、ロードされない仕事および必要な場合メイン
テナンスルーチンを処理する目的で補助プロセッサとし
て働く。システムのパーフォーマンスおよびスループッ
トが、したがって、このようなタスクのメインデータ処
理ユニットを交替して休ませることによって大きく高め
られる。その大きな多重システムクロック速度はエント
リレベルデータプロセッサの速度とは相違し得るという
事実のため両立できいないということが解決されなけれ
ばならず、メインメモリシステムはエントリレベルシス
テムの容量の120倍である。これより、順次、エント
リレベルシステムが含むよりも多いビットを含むメモリ
制御ワードが必要とされる。さらに、メインメモリシス
テムはエントリレベルデータプロセッサが設計されたも
のの128倍であるので、そのアクセス時間はエントリ
レベルプロセッサのそれよりも大きい。
この発明のシステムインターフェイスは数多くの方法で
これらの両立不可能な点を解決する。システムインター
フェイスは、1回に多数のデータおよびコードワードを
記憶するためのキャッシュ機構を提供することによって
メモリアクセス能力における差を解決し、そのワードは
メインメモリシステムから取出され、他方、補助プロセ
ッサはキャッシュ機構に現にあるデータおよびコードワ
ードとともに働いている。このようなキャッシュ機構
を、大きな、しかし比較的遅いメモリシステムと、デー
タプロセッサとの間のバッファとして用い、かつ要求さ
れたデータエレメントがキャッシュ機構になければ大き
なバックアップメモリをアクセスするということは、Ba
rtonのアメリカ合衆国特許番号第3,292,152号
および第3,292,153号に開示される。このよう
な技術はIBMシステム369/370シリーズのよう
な数多くの商業的に入手可能なデータ処理システムに用
いられている。
さらに、システムインターフェイスは、通常、次に補助
プロセッサにより要求されるであろうコードのそれらセ
グメントまたは“ページ”を予期しかつメインメモリシ
ステムから先取りする。システムインターフェイスはま
た、メインメモリシステムおよび補助プロセッサのクロ
ックをそれぞれ同期させるのみならず、補助プロセッサ
のコマンドをメモリ制御ワードへ変換するようにされて
いる。
上述の説明から理解できるように、システムインターフ
ェイスは補助プロセッサとメインメモリシステムとの間
で行なわれる多数の異なる作用を制御しなければなら
ず、それらの作用は互いに独立に要求されかつ行なわ
れ、かつ、それが通信する補助プロセッサおよびメイン
メモリシステムは独立の制御装置を有しているので、シ
ステムインターフェイスは多レベル制御ユニットに対
し、補助プロセッサにより現在用いられているキャッシ
ュメモリの部分へのアクセスを否定することなく、種々
の独立の動作を制御するように要求する。
そこで、、この発明の目的は、補助プロセッサと、異な
るデータ速度、メモリ容量および制御ワードフォーマッ
トを有するより大きな多重処理システムとの間の改良さ
れたシステムインターフェイスを提供することである。
この発明の他の目的は、インターフェイスにかかる独立
して始動された作用を制御するため多レベル制御ユニッ
トとのシステムインターフェイスを提供することであ
る。
この発明のさらに他の目的は、インターフェイスを介し
て独立して要求される作用を同期させる多レベル制御ユ
ニットを提供することである。
発明の概要 上述の目的を達成するために、この発明のシステムイン
ターフェイスは多重処理システムのメインメモリシステ
ムと補助プロセッサとの間にある。インターフェイスは
2つの部分またはモジュール、すなわち、キャッシュ機
構モジュールと、メインメモリインターフェイスモジュ
ールとに分割される。キャッシュ機構モジュールは、よ
り遅い周波数の、しかしより高いクロック速度でメイン
メモリからデータおよびコードワードを受ける通常のキ
ャッシュ機能を行ない、かつ、より速い周波数の、しか
しより緩やかなクロック速度で補助プロセッサへこれら
のワードを供給する。メモリインターフェイスモジュー
ルは補助プロセッサからの要求に応答してメインメモリ
アクセスのための要求を始動させる。両モジュールはマ
イクロプログラム制御装置の制御の下にあるが、両モジ
ュールの機能は重なっているので、制御装置は、それぞ
れキャッシュ機構モジュールおよびメインメモリインタ
ーフェイスのための2つの制御記憶装置から形成され
る。キャッシュ機構制御記憶装置は状態信号のみなら
ず、補助プロセッサからのコード情報をも受け、かつコ
マンドをその機構へ供給し、かつまたアドレスをメイン
メモリインターフェイス制御記憶装置へ供給し、それ
は、順次、同期の目的のためキャッシュ機構制御記憶装
置へその現在の状態知らせるのみならず、メインメモリ
インターフェイスモジュールへコマンドを供給する。
この発明の特徴は、補助プロセッサとメインメモリシス
テムとの間のシステムインターフェイスのためのマイク
ロプログラム制御装置にあり、その制御装置は2つの制
御記憶装置を含み、一方はキャッシュ機構の機能を制御
し、他方はメインメモリアクセスの機能を制御し、その
場合第1制御記憶装置が、第1の制御記憶装置へその現
在の状態を知らせる第2の制御装置へアドレスまたはコ
マンドを与える。
この発明の上述および他の利点および特徴は、添付図面
とともに行なう詳細な説明からさらに容易に明らかとな
ろう。
実施例の説明 上で示したように、この発明はエントリレベルデータプ
ロセッサを大きな多重処理システムへインターフェイス
することに向けられており、そのエントリレベルプロセ
ッサは全体としてシステムのパーフォーマンスおよびス
ループットを高めるためロードされていない仕事を処理
するための補助プロセッサとして働く。この発明は2−
レベルマイクロ制御装置の制御の下でオーバーラップし
た態様で作動するメインメモリインターフェイス機構
と、キャッシュメモリ機構とを提供することによってメ
モリアクセス能力、データ速度およびクロック周波数に
おける差を解決するシステムインターフェイスにおいて
実施される。
このような多重処理システムが第1図に示されており、
Mott他のアメリカ合衆国特許番号第3,319,226
に説明される形式のものでもよい。システムは複数個の
メイン処理ユニット10と、1またはそれ以上のI/O
プロセッサ11とを含み、その各々は複数個のメモリモ
ジュール12のいずれかと通信することができる。さら
に、システムは複数個の補助プロセッサ13を含み、そ
れらはちょうど商業的に入手し得るエントリレベルプロ
セッサであってもよく、しかしながら、より遅いクロッ
ク周波数およびより小さなメモリアドレス能力を有す
る。たとえば、この発明の実施例において、エントリレ
ベルまたは補助レベルプロセッサは4メガヘルツのクロ
ック速度を有し、他方、システムの残りのものは8メガ
ヘルツのクロック速度を有する。さらに、補助プロセッ
サはメモリの1万ワードしかアドレスすることができ
ず、他方、この発明においては、4個のメインメモリモ
ジュール12がデータおよびコードの1億2千800万
ワードをストアすることができる。しかしながら、第1
図のメインメモリシステムの大きさのため、メモリアク
セス時間は典型的には1600ナノ秒であり、他方、補
助プロセッサ13は600ナノ秒のみのメモリアクセス
時間に対して設計されている。
この発明のための典型的な補助プロセッサおよびシステ
ムインターフェイスが第2図に示され、第2図おいて、
補助プロセッサはモジュラ2主バスシステムであり、こ
のシステムは、CBUS15およびMBUS16を介し
て互いに通信するデータ処理モジュール14a,プログ
ラム制御モジュール14b,ストアド論理制御装置モジ
ュール14cおよび入力/出力モジュール14dを含
む。CBUS15はストアド論理制御装置14cから他
のすべてのモジュールへの情報を同報通信制御するため
に用いられ、他方、MBUS16はデータおよびアドレ
ス情報を補助プロセッサの種々のモジュールへ転送する
ために用いられる。DBUSは、データ処理モジュール
14a内で局部的に用いられるものとして示されてい
る。
さらに、第2図の補助プロセッサは100万ワードのロ
ーカルメモリをアクセスするためのメモリ制御モジュー
ルを含む。しかしなから、補助プロセッサは非常に大き
なシステムとインターフェイスすべきであるので、この
ような制御装置は、CBUS15およびMBUS16に
よって補助プロセッサの残りのものと通信するシステム
インターフェイスユニット17と、第2図で置換えられ
る。
この発明のシステムインターフェイスの機能ユニットの
図面が第3図に提供されており、第3図は、この発明に
従って、キャッシュ機構、メインメモリインターフェイ
ス機構の種々の機能的ユニット、およびオーバラップし
た態様でキャッシュ機構およびメインストレージインタ
ーフェイス機構の制御を行なうための2レベルマイクロ
制御装置20を示している。データおよびアドレスは第
2図のMBUS16を介してキャッシュメモリ機構へ供
給される。メインメモリシステムにおける記憶のための
データは、メインメモリシステムへ伝送するため、キャ
ッシュ機構を介してメインメモリインターフェイス機構
へ通される。メインメモリシステムから受けたデータお
よびコードは、メインメモリインターフェイス機構によ
って受けられ、かつMBUS16の補助プロセッサへ伝
送するため、キャッシュメモリ機構へ伝送される。個々
のデータワードはまた、メインメモリインターフェイス
機構からMBUS16へ直接伝送されることができる。
コマンドが第2図のCBUS15からマイクロ制御装置
20によって受けられて、それぞれのキャッシュおよび
メインメモリインターフェイス制御記憶装置を駆動して
それらの対応のユニットを補正する。メインメモリイン
ターフェイス機構はまたメインメモリにおいてデータを
アクセスするためメインメモリ制御ワードを発生するた
めMBUS15からコマンドを受ける。
キャッシュメモリ機構 キャッシュメモリ機構の主たる機能は、メモリアクセス
時間を、その大きなメインメモリシステムのための約1
600ナノ秒から、補助プロセッサの600ナノ秒のア
クセス時間に減少させることである。さらに、キャッシ
ュ機構は、2,3のクロック時間しか必要としない効率
的なキャッシュパージ(purge)機構を含む。補助プロセ
ッサからキャッシュ機構へのすべての記憶はメインメモ
リシステム上へ直接通されるべきである。さらに、キャ
ッシュメモリ機構はまた以下に詳細に説明するように、
プログラムコード先取りを行なう。再び第3図を参照し
て、キャッシュ機構の主エレメントは52ビットのレジ
スタまたは256ワードロケーションからなるランダム
アクセスメモリであるデータアレイ31である。このア
レイは、プログラムコードが128ワードを占め、デー
タが128ワードを占めるように分割される。データか
らのプログラムコードの偏析現象によって、有効なプロ
グラムコードを一掃することなくデータの選択的一掃を
容易にするとともに、キャッシュにおいて捕獲され得
る、コードループの書き過ぎからランダムデータアクセ
スを防止することができ、かつまた、以下により詳細に
説明するようにプログラムコード先取り機構を可能にす
る。
128ワードグループの各々は、メインメモリシステム
へのすべての取出しが8ワード動作であるのを可能にす
るように、16の8ワードページへ分割される。
2つの128ワードグループが、2つのセクションに対
応し、16の8ワードページが、複数個のグループに対
応する。
データアレイ31のアドレス指定は、要求された20ビ
ットアドレスの7個の最下位ビット(4ページビットお
よび3ワードビット)をデータアレイへ通過させること
によって達成される。最上位アドレスビットはキャッシ
ュ制御ユニットによって発生され、このユニットは、要
求されたオペレーションから、データアレイのデータ部
分またはプログラムコードをアクセスすべきかどうかを
決定する。
4ページビットがグループアドレスに対応し、3ワード
ビットがワード識別フィールドに対応し、最上位アドレ
スビットがセクションアドレスに対応する。
第3図の翻訳テーブル24は各々13ビットの32ワー
ドロケーションとして構成される。各ワードロケーショ
ンはデータアレイ31の8ワードページに対応する。プ
ログラムコードエントリに対応する16ワード、および
データエントリに対応する16ワードがデータアレイに
ある。翻訳テーブルにおける13ビットワードは、デー
タアレイ31の対応のページに保持されるデータの13
個の最上位アドレスビットである。翻訳テーブルは要求
された20ビットアドレスの4ページビットによってア
ドレス指定される。翻訳テーブルの最上位アドレスビッ
トは制御ユニット20によって発生される。翻訳テーブ
ル24の出力は、要求されたアドレスの13個の高次ビ
ットと比較するとき、アドレスコンパレータ27はヒッ
ト検出ユニット28に信号で知らせる。
有効ビットアレイ23が用いられて、翻訳テーブル24
のアドレスの有効性または正しいエントリを示す。それ
は、翻訳テーブル24におけるすべてのエントリに対し
て1ビットを含む2個の、4×4レジスタファイルとし
て構成される。この構成によって、キャッシュは32に
代わって、4個のクロックタイムで一掃されることがで
きる、なぜならばキャッシュを一掃するのに必要なもの
は有効ビットアレイの有効ビットをリセットすることで
あるからである。有効ビットアレイは要求された20ビ
ットアドレスのページビットによってアドレス指定され
る。データアレイ31および翻訳テーブル24の場合に
おけるように、有効ビットアレイのための最上位アドレ
スビットは制御ユニット20によって発生される。
ページ使用アレイ(page used array)22は、翻訳テー
ブル24のプログラムコード部分のすべてのエントリに
対応する1ビットを有する。それはまた物理的に別な4
×4レジスタファイルにおいて実現される。ページ使用
アレイ22はプログラムコードルックアヘッドまたは先
取りアルゴリズムによって用いられる。それは制御ユニ
ット20によって管理される。キャッシュ機構は、MB
US16から20ビットアドレスのアドレスレジスタ2
5によって受けることによって駆動され、そのアドレス
は同時に、翻訳テーブル24、有効ビットアレイ23、
アドレスコンパレータ27、ページを用いたアレイ22
およびデータアレイ31へ供給される。もし制御ユニッ
ト20もまたCBUS15からの取出しコマンドを受け
たならば、翻訳テーブル24の出力は、アドレスコンパ
レータ27によって、要求された20ビットアドレスの
うちの13個の最上位ビットと比較される。それらが等
しく、翻訳テーブルエントリに対応する有効ビットが真
であれば、データアレイ31の出力に現存するデータ
が、要求されたデータである。さもなくば、要求された
データはキャッシュ機構は存在せず、メインメモリから
要求されなければならない。取出し要求がプログラムコ
ードのためのものであれば、以下に説明する先取りアル
ゴリズムもまた呼出される。
制御ユニット20がCBUS15から記憶コマンドを受
けると、翻訳テーブル24が、要求された20ビットア
ドレスのうち13個の最上位ビットと比較され、かつそ
れらが等しくかつ翻訳テーブルエントリにおける対応す
る有効ビットが真であれば、ヒット検出ユニット27は
制御ユニット20に信号を与えてそれが書込み信号をデ
ータアレイへ発生させるようにする。そのデータはまた
メインメモリへの伝送のためメインメモリインターフェ
イス機構へも送られる。
先取りアルゴリズムは本質的には次のとおりである。
コードが補助プロセッサにより要求されるとき、キャッ
シュ機構は、要求されたページがデータアレイ31に存
在するかどうかを決定する。
もし要求されたページがデータアレイ31にあれば、要
求されたワードは補助プロセッサへ伝送される。要求さ
れたページに関連するPage Used Bitがセットされる
と、作動が終了する。要求されたページに関連するPage
Used Bitがセットされなければ、先取り動作が開始さ
れる。制御ユニットは“NEXT”の8ワードページの
アドレスを計算する。このアドレスは、“NEXT”ペ
ージがデータアレイ31に存在するかどうかを決定する
キャッシュ機構へ指示される。もしそれが存在すれば、
要求されたページに関連するPage Used Bitがセットさ
れ、動作が終わる。もしそれが存在しなければ、キャッ
シュ制御ユニットはメモリインターフェイス制御ユニッ
トに指令して、“NEXT”ページのためのメインメモ
リ要求を始動させる。このとき、要求されたページに関
連のPage Used Bitがセットされ、キャッシュ制御ユニ
ットが遊び状態へ進み、それによって、補助プロセッサ
要求をサービスすることができるようにする。なお、メ
モリインターフェイス制御ユニットはメインメモリシス
テムとの通信を維持する。メインメモリシステムは“N
EXT”ページデータに応答するとき、メモリインター
フェイス制御ユニットがこのデータを、データアレイ3
1の適当なロケーションへ向ける。メモリインターフェ
イス制御ユニットは、、“NEXT”ページに関連のPa
ge Used Bitをリセットし、遊び状態に入り、それによ
って先取り動作を完了する。
もし要求されたページがデータアレイ31に存在しなけ
れば、メインメモリ要求が開始される。メインメモリシ
ステムが要求されたページを戻すと、データはデータア
レイ31の適当なロケーションへ向けられる。同時に、
要求されたワードが補助プロセサへ向けられる。このと
き、制御ユニットは“NEXT”の8ワードページのア
ドレスを計算する。このアドレスは、“NEXT”ペー
ジがデータアレイ31に存在するかどうかを決定するキ
ャッシュ機構へ提示されるか。もしそれが存在すれば、
要求されたページに関連するPage Used Bitがセットさ
れ、動作が終了する。もしそれが存在しなければ、キャ
ッシュ制御ユニットはメモリインターフェイス制御ユニ
ットを指令して、“NEXT”ページのためのメインメ
モリ要求を開始させる。このとき、要求されたページに
関連のPage Used Bitがセットされ、かつキャッシュ制
御ユニットは遊び状態へ進み、それによって、補助プロ
セッサ要求をサービスすることができるようにする。な
お、メモリインターフェイス制御ユニットはメインメモ
リシステムとの通信を維持する。メインメモリシステム
が“NEXT”ページデータに応答すると、メモリイン
ターフェイス制御ユニットはデータアレイ31の適当な
ロケーションへこのデータを向ける。メモリインターフ
ェイス制御ユニットは、“NEXT”ページと関連のPa
ge Used Bitをリセットし、遊び状態へ入り、それによ
って先取り動作を完了させる。
メインメモリインターフェイス機構 制御ユニット20を除く、第3図の残りの機能エレメン
トは、この発明のメインメモリインターフェイス機構を
形成する。これらの機能ユニットは、メモリバスインタ
ーフェイスユニット34、メモリインターフェイスレジ
スタ32、バイパスレジスタ33および制御ワード発生
器21を含む。これらのユニットで、メインメモリイン
ターフェイス機構は補助プロセッサをメイン多重処理シ
ステムへインターフェイスする。特に、それは第1図の
4個のメインメモリユニット12を、上述のキャッシュ
メモリ機構かつしたがって補助プロセッサとインターフ
ェイスする。
バスインターフェイスユニット34は、第1図の4個の
メモリモジュール12の任意のもの(但し1個だけ)に
選択的に従うことができ、かつそれは同時にそのような
すべてのメモリモジュールへ同報通信することが出来
る。バスインターフェイスユニット34と、それぞれの
メモリモジュールとの間のバスは、基本的には、双方向
性の、52ビット幅のバスである。さらに、バスインタ
ーフェイスユニットは、制御信号を4個のメモリモジュ
ールへ送りかつ4個のメモリモジュールから受けるため
に応答し得るハンドシェイクユニット(図示せず)を含
む。52ビット幅のバスに加えて、それぞれのメモリモ
ジュールへの主制御ラインは、メモリ要求ラインへのリ
クエスタと、メモリデータ有効ラインへのリクエスタ
と、リクエスタ肯定応答ラインへのメモリ、およびリク
エスタ否定ラインへのメモリとを含む。
制御ワード発生器21は、CBUS15を介して補助プ
ロセッサからのコマンドを取り、かつそれらをメインメ
モリモジュール制御ワードに変換する。このユニット
は、メインメモリシステムをアドレスするのに必要とさ
れる延長されたアドレス能力に対するものである。制御
ワードは幅が25ビットであり、2つの異なるフォーマ
ットのものである。一方のフォーマットは取出しおよび
記憶のような通常のメモリ動作のために用いられるメモ
リ動作要求であり、4個の異なるフィールドと、用いら
れない第5番目のフィールドとを含む。4個のフィール
ドアドレスレジスタ25およびアドレスバス38を介し
て、MBUS16からの補助プロセッサによって供給さ
れる2重ビットアドレスフィールドと、制御ワード発生
器21において2個のベースレジスタ(図示せず)の一
方から得られる延長されたアドレスフィールドと、1つ
のデータまたはコードワードがメモリまたは8個のその
ようなデータまたはコードワードから取出されるべきか
どうかを特定する長さフィールドと、メインメモリモジ
ュールの1つで行なわれている動作と一致するメインメ
モリ規定オペレーションコードを含むオペレーションコ
ードフィールドである。
メインメモリからの取出しの間に延長されたアドレスフ
ィールドを与える2つのベースレジスタは、“データ環
境レジスタ”および“コード環境データレジスタ”であ
り、これらは、それぞれ、データまたはコードがメイン
メモリモジュールの1つから受けられているかどうかに
従って用いられる。最後に、パリティが全体の制御ワー
ドのために発生され、かつパリティフィールドへ挿入さ
れる。
他の制御ワードフォーマットは、特別なメモリ管理動作
を要求するために用いられるメモリ管理要求制御ワード
である。それは幅が52ビットであり、メモリ動作要求
制御ワードに述べられるものと類似するオペレーション
コードフィールドと、常に1である長さフィールドと、
基本要求の変形を作り出し補助プロセッサよって発生さ
れるバリアントフィールドとを含みと、必要なオペレー
ションコードの数を減らす。
キャッシュバイパスレジスタ33が、メインメモリモジ
ュールからMBUS16への直線の経路を与えるために
用いられる。メインメモリモジュールの1つから戻るデ
ータはキャッシュ機構を更新しようとしないときは、バ
イパスレジスタ33はデータを直接補助プロセッサへ通
すために用いられる。メインメモリモジュールから戻る
データはキャッシュ機構を更新するために予定されかつ
補助プロセッサによって要求されるとき、そのデータが
バイパスレジスタ33によってコピーされ、同時に、L
BUS37を介してデータアレイ31へのメモリインタ
ーフェイスレジスタ32へ供給される。
ワードカウンタレジスタ(図示せず)が3ビットレジス
タとして設けられ、これは、キャッシュメモリを更新す
る目的で、“ワードアドレス”を発生するメモリインタ
ーフェイス機構の能力である。要求されたデータまたは
プログラムコードデータアイテムがキャッシュに存在し
ないとき、そのアイテムのアドレスが、インターフェイ
ス機構を介して、メインメモリモジュールの1つに送ら
れる。しかしながら、ちょうどそのアイテムを要求する
代わりに、そのアイテムがある全ページ(8ワード)が
要求される。しかしながら、そのページは、要求された
ワードがまずメインメモリモジュールから戻るように要
求される。たとえば、所望のワードが任意の8ワードペ
ージの第5番目のワードであれば、データは次のシーケ
ンス、すなわち、ワード5,ワード6,ワード7、ワー
ド0,ワード2,ワード3およびワード4のシーケンス
で、選ばれたメモリモジュールから戻る。この方法によ
って、所望のワードは、平均して、もしページが常にワ
ード0から始まって戻されれば生じるであろうものより
も4クロックタイム速く戻ることができる。ワードカウ
ンタは要求されたアドレスからワードビット(最下位ビ
ット)をとらえる。8ワードページがメモリモジュール
から戻ると、ワードカウンタが増分され、モジュロ8、
“ワードアドレスビット”を発生し、そのためキャッシ
ュ機構が更新されることができる。
2レベル制御記憶装置 第3図の制御ユニット20が第4図に示され、かつこの
ユニットは、ハイアラーキに構成された2つの制御記憶
装置からなり、第1の制御記憶装置は上述したキャッシ
ュメモリ機構のための制御信号を供給しかつまた、上述
したメインメモリインターフェイス機構へ制御信号を供
給する第2の制御記憶装置へのアドレスを供給する。
この制御機構は2つの主要な目的で設計された。1つの
考察は、現存するオペレーションの変化を許容するであ
ろうフレキシブルな機構を提供することであり、かつ形
作られることができまたは置換されることができる制御
記憶装置を提供することによって新しいオペレーション
を付け加えることである。他の考察は、通常のキャッシ
ュ機構オペレーションを妨害しないプログラムコード先
取りを可能にすることである。第2の考察は2つの非同
期式の、同時オペレーションを見失わないようにするた
めの2個のマイクロプログラム制御装置を必要とする。
第4図において、キャッシュメモリ制御装置は、レジス
タカウンタ44aおよび44bの両方の内容によってア
ドレスされる制御記憶装置40からなる。レジスタカウ
ンタ44aの内容は、第2図および第3図のCBUS1
5からマルチプレクサ43aを介して受けられるアドレ
スを含む。この初期アドレスは、要求されたキャッシュ
機構オペレーションを形成するルーチンの第1の状態で
ある。この第1の状態は次の状態のアドレスを知り、マ
ルチプレクサ43aへ戻る次の状態フィールドラインに
次の状態アドレスを置く。それはまた、マイクロプログ
ラムカウンタ44aへの入力として次の状態フィールド
を選択する次の状態マクチプレクサ43aの制御を変化
させる。シーケンスが続くに従って、各ルーチン状態
は、そのルーチンの終了になるまでのその次を指す。こ
の点で、次の状態マルチプレクサ43aへの制御は、C
BUS15がプログラムカウンタ44aへの次のアドレ
スを与えるように変えられる。したがって、第4図の制
御装置は次の補助プロセッサ要求のために利用でき、か
つ何の要求もなければ、CBUSは適当な信号を制御装
置へ通す。
直線シーケンスに加えて、制御装置40は、レジスタ4
4bを条件づけるため所望の状態ビットを通過させるマ
ルチプレクサ43bによって受けられる低次アドレスビ
ットによって2つの状態を“テスト”することができ
る。これらの状態は次のルーチン状態の間調べられる。
状態の検査を含むことによって、さらにフレキシブルな
マイクロ制御記憶装置が可能となる。
キャッシュメモリ制御記憶装置によりテストされる状態
は、 オペレーションを受入れるためメインメモリインターフ
ェイス制御記憶装置の使用可能度; プロセッサへまたはプロセッサからのデータ転送のため
のクロックまたはクロックサイクルの使用可能度; 翻訳テーブルパリティエラー; キャッシュ機構における要求されたアドレスの存在; 先にアクセスされた現在アドレスされたコードページ
(上の先取りアルゴリズムを参照); キャッシュアドレス制御エラー;および メインメモリインターフェイス制御記憶装置へ与えられ
る最後のキャッシュメモリサイクル。
制御記憶装置41はメインメモリインターフェイス機構
のための制御信号を与え、かつ、CBUSの代わりにキ
ャッシュ制御記憶装置40から初期アドレス(オペレー
ションコード)を受けるということを除き、キャッシュ
制御記憶装置40と同一である。さらに、それは2に代
わって、3個の状態をテストすることができる。両制御
記憶装置40および41は、それぞれ、制御信号をキャ
ッシュメモリ機構およびメインメモリインターフェイス
機構へ与える。それらはまた、データアレイ31、翻訳
テーブル24、アドレスバス38、LBUS37および
バスインターフェイスユニット34のための仲裁論理4
2によって共有コマンドを与える。制御装置40および
41は非同期的に作動しかつ仲裁論理42は制御記憶装
置の一方または他方からの制御信号を受入れるために与
えられているということを思い出されるべきである。
メインメモリインターフェイス制御記憶装置によって検
査される条件は、 最終のメモリ要求のために利用できるメインメモリの肯
定応答; 1よりも多いメインメモリモジュールのために受けられ
ていた肯定応答信号(エラー条件); メインメモリへ提示された制御ワードにおいて検出され
たエラー; インターフェイスパリティエラー; 有効なリクエスタデータへのメモリ; 内部の故障を検出したメインメモリシステム; 一般目的のカウンタオーバフロー; 合理的な量の時間内にメインメモリがリクエストに応答
しないこと;および 完全なリクエスタオペレーションへのメモリ。
第4図の制御装置において、制御フローは、補助プロセ
ッサCBUSから、メインメモリインターフェイス制御
記憶装置41へのキャッシュ機構制御記憶装置40への
ものであり、各制御記憶装置その現在の状態を他の制御
装置へ知らせる。すなわち、メインメモリインターフェ
イス制御装置は、それが遊び状態のときキャッシュ制御
記憶装置へ信号を送り、キャッシュ制御記憶装置はそれ
が遊びでないときに補助プロセッサへ知らせる。このハ
ンドシェイキング作用によって、駆動している制御記憶
装置が、駆動された制御記憶装置が前のオペレーション
を完了する前に他のオペレーションを出すのを防止す
る。
第4図の制御装置では、キャッシュ機構制御装置はメイ
ンメモリインターフェイス機構からのプログラムコード
先取りオペレーションを要求することができ、かつ、メ
インインターフェイス制御記憶装置が使用中で、メイン
メモリと通信しているとき、キャッシュ機構制御記憶装
置はキャッシュメモリのコードまたはデータのため補助
プロセッサ要求を自由にサービスする。
結語 それぞれのプロセッサおよびシステムが、異なるクロッ
ク速度、メモリアクセス時間およびメモリアドレス能力
を有する多重処理システムのメインメモリモジュール
と、補助プロセッサとの間のシステムインターフェイス
のための2レベル制御装置を説明した。このような制御
装置は、オーバラップした態様でキャッシュ機構を更新
するのに必要とされるメインメモリアクセスとは独立し
て遂行されるべきシステムインターフェイスのキャッシ
ュ機構と、補助プロセッサとの間の通信を考慮してい
る。
この発明の一実施例を開示したが、種々の変形および修
正は前掲の特許請求の範囲に記載の発明の精神および範
囲から逸脱することなくなされるであろうということが
当業者にとって明らかであろう。
【図面の簡単な説明】
第1図はこの発明を用いる多重処理システムの概略図で
ある。 第2図はこの発明の補助プロセッサおよびシステムおよ
びシステムインターフェイスへの接続の概略図である。 第3図は第3A図および第3B図から構成されることを
示す図である。 第3A図および第3B図はこの発明とともに用いられる
システムインターフェイスの概略図である。 第4図はこの発明の2レベルマイクロプログラム制御装
置の概略図である。 図において、10はメインプロセシングユニット、11
はI/Oプロセッサ、12はメモリモジュール、13は
補助プロセッサ、14aはデータ処理モジュール、14
bはプログラム制御モジュール、14cはストアド論理
制御装置モジュール、14dは入力/出力モジュール、
24は翻訳テーブル、31はデータアレイ、20は制御
ユニット、27はアドレスコンパレータ、28はヒット
検出ユニットを示す。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】プロセッサとメインメモリシステムとの間
    でのデータおよびコードの伝送の非同期制御のためのシ
    ステムインターフェイスユニットであって、 前記メインメモリシステムへ結合されてデータおよびコ
    ードを前記メモリシステムへ伝送しかつ前記メモリシス
    テムからデータおよびコードを受けるためのメモリイン
    ターフェイス手段と、 前記プロセッサおよび前記メモリインターフェイス手段
    へ結合されて、前記プロセッサによるアクセスのため前
    記メインメモリシステムから受けたデータおよびコード
    を記憶するためのキャッシュ機構手段と、 前記キャッシュ機構手段および前記メモリインターフェ
    イス手段にそれぞれ結合されてそれらに制御信号を与え
    るための出力手段を有し、前記キャッシュ機構手段およ
    び前記メモリインターフェイス手段の同時動作を制御す
    るための第1の制御記憶装置および第2の制御記憶装置
    とを備え、 各制御記憶装置には、前記キャッシュ機構手段および前
    記メモリインターフェイス手段から状態信号を受けてア
    ドレスの一部としてそれぞれの制御記憶装置へ伝送する
    ための状態レジスタが設けられ、 前記第1の制御記憶装置はアドレスの少なくとも一部と
    して前記プロセッサからコマンドコードを受けるように
    結合された入力手段を有し、前記第1の制御記憶装置
    は、前記コマンドコードに応答して、第2のコマンドコ
    ードを供給して前記第2の制御記憶装置をアドレスし、
    前記第2の制御記憶装置は前記第1の制御記憶装置の出
    力手段へ結合される入力手段を有し、 各制御記憶装置の入力手段には、新たなアドレスを受け
    ない限り、前のアドレスを増分してそれぞれの制御記憶
    装置をアドレスすることによって前記それぞれの制御記
    憶装置を同時に動作させるためのプログラムカウンタ手
    段が設けられる、システムインターフェイスユニット。
  2. 【請求項2】前記キャッシュ機構手段は2つのセクショ
    ンを有するランダムアクセスメモリを含み、1つはコー
    ドワードに対するセクションであり、他の1つはデータ
    ワードに対するセクションであり、前記セクションは前
    記それぞれのワードの複数個のグループに分割される、
    特許請求の範囲第1項記載のシステムインターフェイス
    ユニット。
  3. 【請求項3】前記プロセッサへ結合されてメモリアドレ
    スを受けるアドレスレジスタをさらに備え、 前記アドレスはワード識別フィールド、グループアドレ
    スおよびセクションアドレスに分割され、かつ 前記アドレスレジスタに結合されて前記ランダムアクセ
    スメモリに記憶されたワードのワード識別フィールドを
    受けるためのロケーションのテーブルをさらに備えた、
    特許請求の範囲第2項記載のシステムインターフェイス
    ユニット。
  4. 【請求項4】前記アドレスレジスタおよび前記ロケーシ
    ョンのテーブルに結合されて、前記テーブルのワード識
    別フィールドを、前記アドレスレジスタが受けたアドレ
    スのワード識別フィールドと比較しかつ比較が行なわれ
    るときに前記第1の制御記憶装置に信号で知らせるため
    の比較検出手段をさらに備えた、特許請求の範囲第3項
    記載のシステムインターフェイスユニット。
  5. 【請求項5】前記メインメモリシステムは複数個のメモ
    リユニットを含み、かつ 前記メモリインターフェイス手段は前記キャッシュ機構
    手段と前記複数個のメモリユニットとの間で結合される
    バスインターフェイス手段を含む、特許請求の範囲第1
    項記載のシステムインターフェイスユニット。
  6. 【請求項6】前記バスインターフェイス手段を前記キャ
    ッシュ機構手段へ結合するバスと、 キャッシュ機構手段をバイパスさせるため前記バスイン
    ターフェイス手段と前記プロセッサとの間に結合される
    バイパスレジスタとをさらに備えた、特許請求の範囲第
    5項記載のシステムインターフェイスユニット。
  7. 【請求項7】前記第2の制御記憶装置は前記第1の制御
    記憶装置へ結合されて、コマンドコードを受けるため第
    2の制御記憶装置の使用可能度を第1の制御記憶装置へ
    信号で知らせる、特許請求の範囲第1項記載のシステム
    インターフェイスユニット。
JP59067318A 1983-04-05 1984-04-03 システムインタ−フエイスユニツト Expired - Lifetime JPH0630060B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/482,237 US4586133A (en) 1983-04-05 1983-04-05 Multilevel controller for a cache memory interface in a multiprocessing system
US482237 2000-01-13

Publications (2)

Publication Number Publication Date
JPS603043A JPS603043A (ja) 1985-01-09
JPH0630060B2 true JPH0630060B2 (ja) 1994-04-20

Family

ID=23915279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59067318A Expired - Lifetime JPH0630060B2 (ja) 1983-04-05 1984-04-03 システムインタ−フエイスユニツト

Country Status (5)

Country Link
US (1) US4586133A (ja)
EP (1) EP0121373B1 (ja)
JP (1) JPH0630060B2 (ja)
CA (1) CA1218162A (ja)
DE (1) DE3483166D1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR8406089A (pt) * 1983-11-30 1985-09-24 Fujitsu Ltd Processo para controlar memoria intermediaria em aparelho de processamento de dados
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
US4802086A (en) * 1987-01-09 1989-01-31 Motorola, Inc. FINUFO cache replacement method and apparatus
US4851993A (en) * 1987-04-20 1989-07-25 Amdahl Corporation Cache move-in bypass
US4839793A (en) * 1987-07-01 1989-06-13 Baytec, Inc. Multiple computer interface
CA1302584C (en) * 1987-07-30 1992-06-02 Alliant Computer Systems Corporation Parallel processing computer in which memory access priorities are varied
US5008816A (en) * 1987-11-06 1991-04-16 International Business Machines Corporation Data processing system with multi-access memory
US4912631A (en) * 1987-12-16 1990-03-27 Intel Corporation Burst mode cache with wrap-around fill
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
DE68923863T2 (de) * 1989-01-13 1996-03-28 Ibm Ein-/Ausgabecachespeicherung.
US5202973A (en) * 1990-06-29 1993-04-13 Digital Equipment Corporation Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
US5291442A (en) * 1990-10-31 1994-03-01 International Business Machines Corporation Method and apparatus for dynamic cache line sectoring in multiprocessor systems
US5813030A (en) * 1991-12-31 1998-09-22 Compaq Computer Corp. Cache memory system with simultaneous access of cache and main memories
CA2086386C (en) * 1991-12-31 1997-04-29 Daniel F. Daly Interface chip for a voice processing system
US5749090A (en) * 1994-08-22 1998-05-05 Motorola, Inc. Cache tag RAM having separate valid bit array with multiple step invalidation and method therefor
US5875462A (en) * 1995-12-28 1999-02-23 Unisys Corporation Multi-processor data processing system with multiple second level caches mapable to all of addressable memory
US5946710A (en) * 1996-11-14 1999-08-31 Unisys Corporation Selectable two-way, four-way double cache interleave scheme
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US6122711A (en) 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US7512395B2 (en) * 2006-01-31 2009-03-31 International Business Machines Corporation Receiver and integrated AM-FM/IQ demodulators for gigabit-rate data detection
US8184110B2 (en) 2007-11-05 2012-05-22 Seiko Epson Corporation Method and apparatus for indirect interface with enhanced programmable direct port

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50156833A (ja) * 1974-06-06 1975-12-18
JPS5671139A (en) * 1979-11-13 1981-06-13 Nec Corp Microprogram parallel processing computer
JPS5771050A (en) * 1980-07-31 1982-05-01 Sperry Rand Corp Overlapped microinstruction control system
JPS5846440A (ja) * 1981-09-11 1983-03-17 Nec Corp マイクロプログラム制御方式
JPS5967319A (ja) * 1982-10-08 1984-04-17 Nippon Steel Corp 超深絞り用鋼板の製造方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038643A (en) * 1975-11-04 1977-07-26 Burroughs Corporation Microprogramming control system
US4168523A (en) * 1975-11-07 1979-09-18 Ncr Corporation Data processor utilizing a two level microaddressing controller
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
JPS6049332B2 (ja) * 1977-01-31 1985-11-01 株式会社東芝 マイクロプログラム制御方式
US4179736A (en) * 1977-11-22 1979-12-18 Honeywell Information Systems Inc. Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit
US4156278A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Multiple control store microprogrammable control unit including multiple function register control field
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4313158A (en) * 1978-12-11 1982-01-26 Honeywell Information Systems Inc. Cache apparatus for enabling overlap of instruction fetch operations
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50156833A (ja) * 1974-06-06 1975-12-18
JPS5671139A (en) * 1979-11-13 1981-06-13 Nec Corp Microprogram parallel processing computer
JPS5771050A (en) * 1980-07-31 1982-05-01 Sperry Rand Corp Overlapped microinstruction control system
JPS5846440A (ja) * 1981-09-11 1983-03-17 Nec Corp マイクロプログラム制御方式
JPS5967319A (ja) * 1982-10-08 1984-04-17 Nippon Steel Corp 超深絞り用鋼板の製造方法

Also Published As

Publication number Publication date
US4586133A (en) 1986-04-29
CA1218162A (en) 1987-02-17
EP0121373A2 (en) 1984-10-10
DE3483166D1 (de) 1990-10-18
JPS603043A (ja) 1985-01-09
EP0121373B1 (en) 1990-09-12
EP0121373A3 (en) 1988-03-02

Similar Documents

Publication Publication Date Title
JPH0630060B2 (ja) システムインタ−フエイスユニツト
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
JP3218317B2 (ja) 集積キャッシュユニットおよびその構成方法
JP2881309B2 (ja) 集積回路、コンピュータシステム、および集積回路内のキャッシュにおけるキャッシュブロックステータスを更新する方法
EP0149355B1 (en) A data processing system having a data coherency solution
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US4493026A (en) Set associative sector cache
US4942518A (en) Cache store bypass for computer
US5754800A (en) Multi processor system having dynamic priority based on row match of previously serviced address, number of times denied service and number of times serviced without interruption
US4399506A (en) Store-in-cache processor means for clearing main storage
AU598857B2 (en) Move-out queue buffer
US6453388B1 (en) Computer system having a bus interface unit for prefetching data from system memory
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5845324A (en) Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access
GB2296353A (en) Cache memory system with reduced request-blocking
US5659707A (en) Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
EP0474450A2 (en) Processor system with improved memory transfer means
JP3218316B2 (ja) 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
US5778424A (en) Distributed placement, variable-size cache architecture
US4594658A (en) Hierarchy of control stores for overlapped data transmission
JP4209764B2 (ja) データ処理システムにおける入力及び出力ブリッジ
AU628531B2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
CA1233908A (en) Multilevel controller for a cache memory interface in a multiprocessing system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term