JPH02289013A - 複数メモリーリクエストのオーダおよびキューイング方法および装置 - Google Patents

複数メモリーリクエストのオーダおよびキューイング方法および装置

Info

Publication number
JPH02289013A
JPH02289013A JP2024310A JP2431090A JPH02289013A JP H02289013 A JPH02289013 A JP H02289013A JP 2024310 A JP2024310 A JP 2024310A JP 2431090 A JP2431090 A JP 2431090A JP H02289013 A JPH02289013 A JP H02289013A
Authority
JP
Japan
Prior art keywords
address
cache
memory
physical
stored
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
JP2024310A
Other languages
English (en)
Other versions
JPH0526215B2 (ja
Inventor
Jr David A Webb
ディヴィッド エイ ウェッブ ジュニア
John E Murray
ジョン イー マーレイ
Ricky C Hetherington
リッキー シー ヒーザリングトン
Tryggve Fossum
トリューグヴ フォッサム
Dwight P Manley
ドワイト ピー マンリー
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02289013A publication Critical patent/JPH02289013A/ja
Publication of JPH0526215B2 publication Critical patent/JPH0526215B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、これと同時に出願された次のような米国特許
出願に開示されているコンピュータシステムの幾つかの
特徴を有するものである。エバンス氏等の「デジタルコ
ンピュータのシステム制御ユニットとシステム処理ユニ
ットとの間のインターフェイス (AN INTII!
RFACB BET−EVEN A SYSTEMCO
NTROL  UNIT  AND  A  SYST
EM  PROCESSrNG  UNIT  OF八
へIGITAL COMPUTER) J ; 7− 
/ ルド氏等ノ[マイクロプロセッサシステムのシステ
ム制御ユニットと中央処理ユニットとをインターフェイ
スする方法及び装置(METIIOD AND APP
ARATUS FORINTER−FACING  A
  5YSTI!M  C0NTR0L  UNIT 
 FORA  MULTIPROC1l!5SORSY
STEM WITHTHE (F!NTRAL PRO
CESSINGUNITS)J ;ガグリアード氏等の
1マルチプロセツサシステムのシステム制御ユニットを
システムメインメモリとインターフェイスするための方
法及び手段(METIIOD AND MEANS F
ORINTF!RPACING ASYSTEM C0
NTR0L UNIT FORA MULTIPROC
[!SSORSYSTEM匈IT)I TIIE SY
STEM MAIN MEMORY)J 、 D、フィ
ツト氏等の[パイプライン式コンピュータシステムにお
いて考えられる種々の数のメモリアクセス競合を分析す
る方法と装置(METIIOD AND AP−PAR
ATUS  FORRESOLVING  A  VA
RIABLE  NUMBII!R0FPOTENTI
AL ME!MORY ACCt!SS C0NPLI
CTS IN A PIPH−LINED COMPU
TER5YST聞)J ; D、フィツト氏等の[可変
長さの命令アーキテクチャにおいて多数の指定子をデコ
ードする方法(DHCODING MULTIPLES
PECIFIERS IN A VARIABLE L
ENGTII lN5TRLICTIONARCHIT
ECTLIRE);J ;D、 7 イツト氏等の「仮
想命令キャッシュリフィルアルゴリズム(VARTUA
LINSTRUCTION CAC)IE REFIL
L ALGO1?ITIIM)J ;マーレイ氏等の「
同じ命令内でのレジスタ及びレジスタ変更指定子のパイ
プライン処理(PIPELINEPROCESSING
  OF  REGISTERAND  REGIST
ERMODIFY−ING 5PECIFIERS W
ITI(IN THESAME lN5TR[ICTl
0N)J ;マーレイ氏等の「デジタルコンピュータ用
のデータ依存性分析を行なう多命令予備処理システム(
M[ILTIPLE lN5TRIJCTION PI
?EPROCESSING SYSTEM匈ITHDA
TA  DEPENDENCY  RESOLUTIO
N  FORDIGITALCOMPUTER) J 
;D、フィツト氏等の[パイプラインプロセッサにおい
て暗示された指定子を予め処理する方法(PRE−PR
OCESSING IMPLIED 5PECIFIE
RSIN A PIPELINED PROCt!5S
OR)) ; D、フィツト氏等の「ブランチ予想(B
RANCII PREDICTION)J ; フォラ
サム氏等の「デジタルコンピュータのパイプライン式フ
ローティングポイント加算器(PIPELINE!D 
 FLOATING  POINT  ADDERFO
RDITIGAL  COMPUTER)J ;グラン
ドマン氏等の「自己計時式レジスタファイル(SRLP
 TIMED REGISTERFILE)J ;ベベ
ン氏等の[パイプライン式コンピュータシステムにおい
てエラーを検出して修正する方法及び装置(METII
OD AN口^PPARATtlS FORDll!T
ECTING ANDCORRECTING ERRO
S IN A PIPELINED COMPUTER
5YSTEM)J ; フリン氏等の「マルチプロセッ
サシステムにおいてシステム制御ユニットを用いて通信
要求を仲裁する方法及び装置(METIIOD AND
 MEANSFORARBITRATING  COM
MUNICATION  RfiQUESTS  US
INGA 5YST聞C0NTR0L UNIT IN
 A MULTI−PROCBSSOR5YSTEM)
J ; E、フィツト氏等の「マイクロコード化実行ユ
ニットにおいて並列動作で多機能ユニットを制御する方
法(cONTROL OF MULTIPLE! FU
NCTIONUNITS WITHPARALLEL 
0PERATION IN A MICROCODED
lliXECURION UNIT)J ; ウェブ二
世氏等の「仮想メモリシステムをベースとするデジタル
コンピュータの命令パイプライン内において予めフェフ
チした命令でメモリアクセス例外を処理する方法(PR
O−CERSSING OF MEMORY ACCE
SS EXCEPTIONS圓ITHPRE−FETC
HtiD lN5TRUCTIONS賀ITHIN T
IIHlN5TRUCTION PIPELINE O
F A VIRTUAL MEMORY SYSTEM
BASED DIGITAL COMPUTER)J 
; ヘザリントン氏等の[エラー修正機能を有するライ
トバックバッツァ  (WRITE  BACK  B
UFFER讐ITHERRORC0RRECTINGC
APABILITIES)J ; フリン氏等の「マル
チプロセッサシステムにおいてシステム制御ユニットを
用いて通信要求を仲裁する方法及び手段(METHOD
AND  ME!ANS  FORARBITRATI
NG  COMMUNICATIONRE!QUEST
S  USING  A  SYSTBM  C0NT
R0L  UNIT  IN  AMIJLTI−PR
OCI!5SORSYSTEM)J ;チナスウェイ氏
等の[マルチプロセッサシステムにおいてシステムユニ
ット間でデータトランザクションを行なうモジュール式
クロスバ−相互接続ネットワーク(MODULARCR
O5SBARINTE!RCONNECTION NE
T140RKFORDATA TRANSACTION
S BETWE[IN SYSTEM tlNITsI
N A MULTI−PROCt!5SORSYSTE
M)J ;ポルジン氏等の「入力/出カニニットとマル
チプロセッサシステムのシステム制御ユニットとをイン
ターフェイスする方法及び装置(METHOD AND
 APPARATUS FORINTERFACING
  A  SYSTEM  C0NTR0L  tlN
IT  FORAMtlLTI−PROCESSORS
YSTEM WIT)l INPUTloUTPtlT
UNITS)J ;ガグリアード氏等の[マルチプロセ
ッサシステムのシステム制御ユニットとシステムメイン
メモリとをインターフェイスする手段を用いるメモリ構
成(MEMORY C0NFIGtlRATION F
ORUSEWITHM[EANS FORINTERP
ACING A SYSTEM C0NTR0LUNI
T FORA MULTI−PROCESSORSYS
TEM WITI(THESYSTEM MAIN M
EMORY)J ;そしてガグリアード氏等の[システ
ムモジュール間のDRAM制御信号のエラーチエツクの
ための方法及び手段(METIIOD ANDMEAN
S  FORERRORCHEIJING  OF  
OR八へ−CONTROLSIGNALS B[!TW
EEN SYSTEM MODULES)J 。
本発明は、−船釣に、複数ボートからのメモリ・リクエ
ストを制御しプライオリタイジング(優先処理)する装
置に関するもので、特に、複数のリクエストボートに有
し、パイプラインのステージの間のバラレリズム(並行
性)を最大とし且つその間のコンフリクトを最小として
パイプラインの実行に適した装置に関するものである。
(従来の技術) 簡単なコンピュータシステムは、典型的には、単一の点
のみから順次にメモリにアクセスするようになっている
。通常、実行ユニットは、データが実際に必要な時に、
すべてのメモリ・アクセス作用を開始する。例えば、C
PUが1つの命令の実行を完了し、次の命令の実行準備
状態の時にのみ、その次の命令がメイン・メモリから取
り出される。また、現在実行されている命令が、メモリ
読取動作を行なうことを必要とする場合、実行ユニット
がオペランド処理ユニット(OP U)を働かせること
を命令するまで、その読取操作を開始し所望のオペラン
ドで検索するためにOPUは何もしない。またOPUが
CPUの指示でその単一作用を一旦開始すると、これは
、現在の命令が完全に実行され次の命令が検索されるま
で、単にアイドル状態となったままである。従って、デ
ータが実際に必要とされるまで、データのリクエストを
待つことによって、リクエストされたデータがメモリか
らもどされるまで、実行ユニットは単に待つだけで、何
もしてはならない。
CPUの部分をもっと有効に使用するために、もう少し
複雑なコンピュータシステムは、命令のブリフェッチン
グ段を使用する。ブリフエツチャは、実行ユニットとは
独立に作用して命令を検索し、現在の命令の実行が完了
する時に、上記の命令が直ちに実行ユニットに与えられ
るようにする。
これらのコンピュータシステムにおいては、ブリフェッ
チャは相当に簡単で低コストの装置で、コンピュータシ
ステムの動作速度を著しく改良するものである。このシ
ステムが簡単であるために、このシステムをメモリに完
全に独立にアクセスさせることができる。すなわち、実
行ユニットによって開始されるメモリ・リクエストはブ
リフエツチャによって開始されるメモリ・リクエストと
リソースを共用することはない。かくして、全くメモリ
・アクセスのコンフリクトは生じない。
高速のパイプライン型のコンピュータシステムの出現と
ともに、命令処理は複数の小さいステージに分割された
。ここで、各ステージは、他のステツの各々によって行
なわれる動作から実質的に独立して、各命令に対するそ
の処理を連続的に行なう、かくして、−時に1つの命令
を処理するのではなく、同時に種々の処理ステージに複
数の命令が存在する。しかし、複雑な命令セット機にお
いては、種々の目的でメモリ・レファレンスがつくられ
る。これらのメモリ・レファレンスはパイプラインの種
々異なるステージで論理的に行なわれる。かくて、パイ
プライン型コンピュータシステムにおいては、メモリ・
リクエストは複数の異なるパイプラインステージから発
生する。
各パイプラインのステージに、メモリに対する完全に独
立のアクセスを許すパイプライン型のコンピュータシス
テムを構成することは極めて困難で費用がかかるであろ
う。パイプラインの各ステージ毎に複雑で高価なリソー
スがダブって設けられることとなろう。それ故、複雑で
高価なリソースをダブって設けることを制限しながら、
メモリへの独立で並行なアクセスを最大化するパイプラ
イン型コンピュータシステムをつくることが望まれる。
(発明の要旨) 本発明は、上述の問題の1またはそれ以上を解決しよう
とするものである。
本発明の主たる目的は、プライオリティ・スキームに従
ってメモリ・リクエストを多重化するパイプライン型コ
ンピュータシステムを提供することである。
本発明の他の目的は、最もクリティカルなメモリ・リク
エストを最初に取扱うが、最高のプライオリティのリク
エストが直ちに扱うことができない時には、他のもっと
クリティカルでないリクエストの処理を可能にする多重
化したプライオリタイズ(優先処理)されるメモリ・ア
クセス・スキームを提供することである。
本発明の一つの特徴によれば、パイプライン型のコンピ
ュータシステム内の複数のロケーションからの独立のメ
モリ・アクセス・リクエストを制御する装置が提供され
る。この装置は、複数の並行なロケーションにメモリ・
アクセス・リクエストの各々を一時的に記憶する手段を
有している。
第1のプライオリタイゼーション・スキームに従って、
上記の記憶されたメモリ・アクセス・リクエストにアク
セスし、記憶されたメモリ・アクセス・リクエストの中
の選択された1つを供給する第1のマルチプレクサ手段
が設けられる。記憶されたメモリ・アクセス・リクエス
トの中の選択された1つを受取り、選択されたリクエス
トをフィジカル・メモリ・アドレスに変換し、そのフィ
ジカル・メモリ・アドレスを供給するようになっている
トランスレーション・バッファが設けられる。
この装置は、さらに、複数の並列ロケーションにフィジ
カル・アドレスの各々を一時的に記憶する手段を含む。
第2のプライオリティゼーション・スキームに従って、
記憶されたフィジカル・アドレスにアクセスし、記憶さ
れたフィジカル・アドレスの中の選択された1つを供給
する第2のマルチプレクサ手段が設けられる。最後に、
記憶されているフィジカル・アドレスを受取り、記憶さ
れているアドレスをキャッシュ内に現在保持されている
アドレスに比較し、ヒツトに応答して記憶されているア
ドレスに記憶されたデータにアクセスし、ミスの検出に
応答してキャッシュのレフィルを開始するようになって
いるキャッシュが設けられる。
本発明の他の目的および利点は下記の詳細な説明および
図面から理解されよう。
(実施例) 本発明には、種々の変型が可能であるが、例として特定
の実施例を図示し説明する。しかし、本発明をこの特定
の形態に限定しようとするものではなく、本発明は特許
請求の範囲に記載された範囲に入る総ての変型、均等物
を含むものである。
第1図はパイプライン型コンピュータシステム10の一
部分のトップレベルのブロックダイアグラムである。シ
ステムlOは、少くとも1つのセントラル・プロセシン
グ・ユニット(cP U)12を有し、これはメイン・
メモリ14にアクセスする。このようなシステムにおい
ては、メインメモリ14を共用することによって付加的
なCPuを設けることができることを理解しなければな
らない。例えば、4個までのCPUを設け、同時に動作
させ、共用されたメイン・メモリ14を通して連絡させ
ることが実際的である。
CPU12内で、個々の命令の実行は複数の小さいタス
クに分けられる。これらのタスクは、その目的に対して
最適化した専用の別々の独立したファンクション・ユニ
ットによって行なわれる。
各命令は最終的に異なる作用をするものであるが、各命
令が分割される小さいタスクの多くは、総ての命令にと
って共通である。−船釣に、1つの命令の実行の間に、
下記のステップが行なわれる。命令のフェッチ(取出し
)、命令のデコード、オペランドのフェッチ、実行およ
び結果の記憶。
か(して、専用のハードウェア・ステージを使用するこ
とによって、ステップをオーバラップすることができ、
これによって全命令のスループットを増大できる。
パイプラインを通るデータバスは、各パイプラインステ
ージの結果を次のパイプラインステージにトランスファ
するためのレジスタのそれぞれの組を含む。これらのト
ランスファレジスタは共通のシステムクロックに応答し
てクロックされる。
例えば、第1のクロックサイクル中には、命令フェッチ
にディジケイトされたハードウェアによって第1の命令
が取り出される。第2のクロックサイクル中には、取出
された命令がトランスファされ命令デコードハードウェ
アによってデコードされるか、同時に、次の命令が命令
フェッチハードウェアによって取出される。第3のクロ
ックサイクルにおいて、各命令はパイプラインの次のス
テ−ジにシフトされ、新しい命令がフェッチされる。
かくして、パイプラインがフィルされた後に、各クロッ
クサイクルの終りで命令が完全に実行される。
このプロセスは製造工程におけるアッセンブリ・ライン
に類似する。各作業者は、その作業ステージを通過する
製品毎に単一のタスクを実施するようにディジケートさ
れている。各タスクが行なわれると、製品は完成に近づ
く。最終ステージで、作業者がその割当てられたタスク
を行なう毎に、完成した製品がアッセンブリ・ラインか
ら出される。
第1図に示すように、各CPU12は少くとも3つのフ
ァンクション・ユニットすなわち、メモリ・アクセス・
ユニット16、命令ユニット18、実行ユニット20に
分けられる。
命令ユニット18は命令をブリフェッチし、オブコード
をデコードして、オペランドおよびレザルト・スペシフ
ァイアを得て、オペランドをフェッチし、プログラムカ
ウンタを更新(アップデート)する。命令ユニット18
はオペランド処理ユニット22、プログラムカウンタ2
4、命令デコーダ26を含む。プログラムカウンタ24
は命令ユニット内に保持され、従って、メモリ・アクセ
ス・ユニット16内に保持されて高速キャッシュ・メモ
リ28から正しい命令を検索できる。キャッシュ28は
メイン・メモリ14に記憶された情報の小部分のコピー
を記憶し、メモリ・アクセス・タイムを減少することに
よって処理速度を増大するのに使用される。キャッシュ
28の動作はメモリ・アクセス・ユニットエ6の説明に
関連して詳細に説明する。
プログラムカウンタ24は、好ましくは、メイン・メモ
リ14およびキャッシュ28のフィジカル・メモリ・ロ
ケーションではなく、仮のメモリ・ロケーションを使用
するのがよい。かくしてプログラムカウンタ24の仮の
アドレスは、命令を検索できる前に、メイン・メモリ1
4のフィジカル・アドレスにトランスレートしなければ
ならない。
従って、プログラムカウンタ24の内容はメモリ・アク
セス・ユニット16にトランスファされ、ここで、トラ
ンスレーション・バッファ30がアドレス変換を行なう
変換されたアドレスを使用して、キャッシュ28内のフ
ィジカル・メモリ・ロケーションから命令が検索される
。キャッシュ28はデータ・リターン・ライン32で命
令を命令デコーダ26に送る。キャッシュおよびトラン
スレーション・バッファの構成および動作については、
ディジタル・エクィップメンント・コーギレーション発
行のレビイ (Levy)およびニックハウス・ジュニ
ア(Eckhouse Jr、)の「コンピュータ・プ
ログラミングおよびアーキテクチャ、The VAX−
II Jのチャプタ11に説明されている。
また、オペランド処理ユニット(OPU)22は仮のア
ドレスを生じる。特に、0PU22は、メモリーソース
(読取)および行先(書込)のオペランドに対する仮の
アドレスを生ずる。少くともメモリー読取オペランドに
対しては、0PU22はこれらの仮のアドレスをメモリ
・アクセス・ユニット16に送らなければならない。こ
のユニット16で、仮のアドレスはフィジカル・アドレ
スにトランスレートされる。次に、キャッシュ28のフ
ィジカル・メモリー・ロケーションがアクセスされて、
メモリーソース命令のためのオペランドをフェッチする
。成るメモリー行先命令に対しては、0PU22はオペ
ランドの仮想アドレスを実行ユニット28に送る。
仮のアドレスは、例えば、32ビツトの2進数である。
32ビツトの仮のアドレスを送るのに加えて、0PU2
2は、オペランドが読取操作を特定するか書込操作を特
定するかを指示する3ビツトのコントロールフィールド
を送る。コントロールフィールドが、仮のアドレスが読
取オペランドに対応することを指示する場合には、キャ
ッシュ28は、アイデンティファイされたフィジカル・
メモリ・ロケーションからのデータを検索し、これをデ
ータ・リターン・ライン34で実行ユニット20に送る
逆に、書込操作については、書込アドレスは、書込むべ
きデータが得られるまで蓄積される。明らかに、MOV
EまははADDのような命令に対しては、書込むべきデ
ータは命令の実行が完了してしまうまで、得られない。
しかし、行先の仮アドレスは、命令の実行に要する時間
の間、対応するフィジカル・アドレスにトランスレート
できる。また、命令が行なわれる全レートを増大させる
ために、この時間に、0PU22が複数の命令スペシフ
ァイアをブリプロセスするのが望ましい。これらの目的
で、メモリ・アクセス・ユニット16には可変数の書込
操作のフィジカル行先アドレスを記憶するために、トラ
ンスレーション・バッファ30とキャッシュ28の中間
に「書込キュー」36が設けられる。書込キュー36は
、実行ユニット20が命令を完了し、データをメモリ・
アクセス・ユニット16に送るまでアドレスを保持する
。データは前に記憶された書込アドレスとペアとされて
、キャッシュ28にそのメモリーロケーションで書込ま
れる。
また、0PU22は、メモリ・オペランドではない命令
によって動作する。例えば、0PU22は、即値オペラ
ンド、ショート・リテラル・レジスタ・オペランドも処
理する。これらの型式の命令の各々において、0PU2
2はその結果を実行ユニット20に直接送る。
命令処理の第1のステップは、命令の「オプコード」部
分をデコードすることである。各命令の第1のセグメン
トはそのオプコードより成り、このオプコードは命令に
おいて行なわれるべき操作をスベシファイする。デコー
ディングは、命令デコード26で標準のテーブル・ルッ
ク・アップ技術を使用して行なわれる。命令デコーダは
、ルック・アップ・テーブルで命令を実行するためにマ
イクロコードスターティングアドレスをみつけ、スター
ティングアドレスを実行ユニット20に送る。その後、
実行ユニット20は、指示されたスターティングアドレ
スで始めて、プリストアされたマイクロコードを実行す
ることによって、スベシファイされた操作を行なう。ま
た、デコーダ26は、命令中でソースと行先のスペシフ
ァイが生ずるところを決定し、これらのソースおよび行
先のスペシファイアをオペランド処理ユニット22に送
って、命令の実行前にブリプロセスを行なう。
メモリ・アクセス・ユニット16は、キャッシュ28、
書込キュー36、−組のレジスタ38、マルチプレクサ
40を含む、前述のように、キャッシュ28は、メイン
・メモリI4内に記憶された情報の小部分のコピーを記
憶するのに使用される高速メモリである。キャッシュ2
8はメイン・メモリ14よりもずっと速い速度でアクセ
スできる。それ故、その目的はメモリ・アクセス(読取
または書込)を行なうに必要な平均時間を減少すること
にある。キャッシュ28はメイン・メモリに蓄積されて
いる情報の小部分のみを記憶するので、キャッシュ28
内に含まれてないメモリにアクセスを試みようとする命
令があるであろう。キャッシュ28これらの「ミス」が
生じた時にこれを確認し、これらの場合、キヤ、ツシュ
28はメイン・メモリ14からアイデンティファイされ
たデータを検索する。もちろん、これらの「ミス」の間
、CPU12の性能は影響を受けるが、全体のメモリ・
アクセス速度は増大される。
トランスレーション・バッファ30は、最モ近く使用さ
れた仮アドレスからフィジカル・アドレスへのトランス
レーションを記憶する高速の連想記憶装置である。仮想
メモリ・システムにおいては、リファレンスから単一仮
想アドレスまでには所望の情報が得られるようになる前
に、数個のメモリーリファレンスを生じ得る。しかし、
トランスレーション・バッファが使用される時には、ト
ランスレーションは、トランスレーション・バッファ3
0内に単に「ヒツト」をみつけるだけとされる。トラン
スレーション・バッファ30の使用は、メイン・メモリ
14にアクセスしなければならない数を減少し、それに
より、全体のプロセッサ速度を増大する。もちろん、メ
モリ・リファレンスは、時に、トランスレーション・バ
ッファ30に記憶されているトランスレーションに「ミ
スJを生じる。「ミス」の場合には、正しい仮想アドレ
ス−フィジカル・アドレスのトランスレーションがメモ
リから検索され、トランスレーション・バッファ30に
記憶される。2回目に比較が試みられ、必らず「ヒツト
」を生じる。
−度び、仮想アドレス−フィジカル・アドレスのトラン
スレーションが完了したら、フィジカル・アドレスは書
込キュー36またはレジスタ38のいずれかにトランス
ファされる。その名が示唆するように、書込キュー36
は、対応する命令がメモリへの書込である時にのみ、フ
ィジカル・アドレスを受ける。書込キュー36の目的は
、書込命令のフィジカル書込アドレスのための一時的な
記憶ロケーションを与えることである。CPU12はパ
イプライン型であるので、記憶すべきデータが利用可能
となる前に、書込アドレスが利用可能である。実際上、
データは実行ユニット20における命令の実行後にのみ
、利用可能となる。さらに、パイプライン内の命令に対
する複数のスペシファイアをプリプロセスすることが望
ましいので、多数のフィジカル書込アドレスが対応する
データを待っている可能性がある。従って、書込キュー
36は、多数のフィジカル書込アドレスに適応する複数
のポジションの先入れ先出しバッファである。
逆に、フィジカル・アドレスに対応する命令が読出し命
令である場合には、トランスレーション・バッファは読
出し命令のオペランドに対するフィジカル・アドレスを
与える。読出しアドレスは、レジスタ38の1つにトラ
ンスファされ、ここでマルチプレクサ40により選択さ
れキャッシュ28に供給される。キャッシュ28はアイ
デンティファイされたメモリーロケーションにアクセス
し、このロケーションに記憶されたデータを、データリ
ターンライン34を通って、実行ユニット20に送る。
読出しに対してはオペランドフェッチの間にキャッシュ
に即時アクセスするが、書込に対しては命令実行の間に
遅延されるCPU12の能力は、パイプラインにタイミ
ングの問題を生じ得る。例えば、順次の命令は、しばし
ば、第1の命令がメモリーのロケーションをモディファ
イすることを要求するが、後の命令はこの同じアドレス
を読出す。両方の命令は、小さいステップの列の中で実
行されているので、読出しおよび書込操作がシーケンス
外で行なわれる可能性がある。書込命令に対するスペシ
ファイアが続出命令に対するスペシファイアの前に処理
されて書込操作が続出操作の前に実行されても、実行の
遅延によって、書込操作の結果が記憶される前に、続出
操作のための1またはそれ以上のオペランドがフェッチ
されるかもしれない。それ故、続出オペランドのフェッ
チの結果、実行ユニットに[ステイルJ (stalc
i)データがリターンされるかもしれない。
第2図はrMOVL、MEMI、MEM2Jの形態の4
バイトの転送命令に対する命令パイプラインの動作を示
す。ここで、MOVLは行なわれるべき動作を示し、M
EMlおよびMEM2は、それぞれ、ソースのアドレス
および行先のアドレスをスペシファイするオペランドス
ベシファイアである。第2図における斜めの方向に沿う
ボックスは、CPU12が転送命令を行なうためにCP
U12が行なう順次のアクションを示す。第2図の左か
ら右に向けて、11の順次に進んだサイクル或いは時間
の間隔(1)でアクションが生じる。
第2図の上から下に向けて、パイプラインの範囲(X)
に沿って10の順次のステージでアクションが生じる。
第1のステージで、その命令に対するプログラムカウン
タ(PC)24がロケーション201においてクリエー
トされる。これは、前の命令に対するプログラムカウン
タ(第1図の24)の値をインクリメントすることによ
り、或いはブランチ命令のターゲット・アドレスを使用
することによって、なされる。第2のステージにおいて
、ロケーション202で、命令ユニット18はプログラ
ムカウンタ24の仮想アドレスでトランスレーション・
バッファ30にアクセスする。トランスレーション・バ
ッファ30は仮想アドレスをフィジカル・アドレスに変
換し、メモリ・ユニット・キャッシュから命苓ユニット
内のバッファまたはキャソシュ(図示せず)にデータの
ブロックをダウンロード(down 1oad)する。
命令ユニット内のバッファまたはキャッシュがPC24
によって指示された命令を含まない場合には、第2のス
テージを行なうだけでよい。キャッシュ28は第3ステ
ージでロケーション203で読出されて、PC24で指
示された命令MOVLを検索する。ロケーション204
で、第4ステージで、MOVLからのオプコードでデコ
ードテーブルにアクセスすることによって命令をデコー
ドする。
その後、第5ステージにおいて、ロケーション205で
、第1のオペランドMEM1から、オペランド仮想アド
レスがクリエートされる。同様に、第5ステージにおけ
る後の時点において、ロケーション206で、第2のオ
ペランドMEM2から行先の仮想アドレスがクリエート
される。第6ステージ内の同時に、ロケーション207
で、0PU22はトランスレーション・バッファ30に
アクセスして、オペランドの仮想アドレスをフィジカル
・アドレスに変換する。同様に、パイプラインの第6ス
テージ内の後の時点において、ロケーション208で、
0PU22はトランスレーション・バッファ30にアク
セスして、行先の仮想アドレスをフィジカル・アドレス
に変換する。
もちろん、MEM2に対応するフィジカル・アドレスに
おいて、記憶すべきデータが読出されてしまうまで、M
EM2に対応するフィジカル・アドレスへの書込操作は
完了できない。か(して、データが利用可能になるまで
、MEM2アドレスは、書込キュー6に記憶される。ロ
ケーション209における第7ステージでは、メモリ・
アクセス・ユニット・キャッシュ28を読出シ、ソノデ
ータを実行ユニット20に送る。
第8ステージにおいて、ロケーション210でオペラン
ド・データおよび結果のアドレスの総てが利用可能で、
命令が実行される。第9ステージにおいて、ロケーショ
ン211で、データと書込フラッグはメモリ・アクセス
・ユニット16に送られ、書込キュー・アドレスは書込
キューから除去され、キャッシュ・ヒツトのについてテ
ストするだめにキャッシュタグにアクセスされる。キャ
ッシュ・ヒツトを仮定すると、第10および最終ステー
ジにおいて、ロケーション212で実際の書込が生ずる
従って、パイプライン型のプロセッシングの出現ととも
に、メモリ・アクセスの作用は、0PU22、PC24
、実行ユニット20のような複数のロケーションから発
生されることがわかる。さらに、コンピュータシステム
がパイプライン型であるために、これらの複数のメモリ
ーリクエストは同時に発生する可能性を有している。従
って、複数ソースの各々からのメモリーリクエストを取
扱うための専用ハードウェアを構成する複雑かつ高価な
提案を避けるために、トランスレーション・バッファ3
0およびキャッシュ28のリソースを共用する多重処理
および優先処理のスキームが設けられる。
次に第3図について、トランスレーション・バッファ3
0へのプライオリダイズされマルチプレックスされたア
クセスについて説明する。トランスレーション・バッフ
ァ30は5つの異なるソースから仮想アドレスを受ける
ように接続される。
これらのソースの中の3個はメモリ・アクセス・ユニッ
ト16の外にあり、以後、エクスターナルと称する。残
りの2つのソースは、メモリ・アクセス・ユニット16
内から制御され、以後、インタナルと称する。これらの
インタナルレジスタは、トランスレーション・バッファ
がメモリからの仮想−フィジカルのトランスレーション
を検索するのを「ミス」しこれをトランスレーション・
バッファ30内に入れた間に使用される。
エクスターナルソースは、命令プリフェッチ・アドレス
を送る責任のあるI−バッファ42と、オペランドのブ
リフェッチ・アドレスを送る0PU22と、暗黙のオペ
ランド・アドレスを送る実行ユニット20を含む。トラ
ンスレーション・バッファ30は、エクスターナル・ア
ドレスのどれが処理されているかに無関係で、すべて同
じに取扱われる。
これらのエクスターナルソースの各々はマルチプレクサ
50の入力に送られ、マルチプレクサ50は選択された
入力を制御可能にトランスレーション・バッファ30に
送る。トランスレーション・バッファは、受けとった仮
想アドレスを、最近使用された仮想−フィジカル・アド
レス変換のキャッシュ51に比較する。マツチ状態がみ
つかったら、トランスレーション・バッファ30は対応
するフィジカル・アドレスを選択し、これをキャッシュ
28に送る。仮想−フィジカル・トランスレージジンを
フェッチするためにキャッシュ28にアクセスする必要
はない。その理由は、これは前に使用されているために
トランスレーション・バッファ・キャッシュ51にすで
に存在しているからである。然して、トランスレーショ
ン・バッファ30は、メモリへのアクセスの数を減少す
ることによって、プロセ・ノサ速度を著しく改良する。
しかし、トランスレーション・バ・ソファ・キヤ・7シ
ユ51は少数の仮想−フィジカル・トランスレーション
しか含んでいない。従って、現在トランスレートされて
いる仮想アドレスがトランスレーション・バッファ・キ
ャッシュ51内に存在しないことがあり得る。このよう
なことが生じると、メモリから変換を検索して、これを
トランスレーション・バッファ・キャッシュ51に入れ
て、仮想−フィジカル変換が完成し得るようにする必要
がある。
選択されたエクスターナルソースによって送られる仮想
アドレスは、トランスレーション・バッファ・フィック
ス・アンプ・ユニット(TBFixup) 52にも送
られる。その名前かられかるように、TBフィックスア
ップ52は主として、トランスレーション・バッファ・
キャッシュ51内に存在してない変換を検索しこれをト
ランスレーション・バッファ30に入れるように、デデ
イケートされる。
TBフィックスアップ52はマルチプレクサ50から仮
想アドレスを受けるが、「ミス」が発生する時にトラン
スレーション・バッファ30を固定することのみが必要
である。従って、トランスレーション・バッファ30は
TBフィックスアップ52にミス信号を送って、計算さ
れたアドレスをキャッシュ28に送らせる。TBrミス
」の場合には、変換がキャッシュ28から検索され、ト
ランスレーション・バッファ・キャッシュ51に記憶さ
れる。かくして、すぐに続いてトランスレーション・バ
ッファ・キャッシュ51を現存の仮想アドレスに比較す
ることによって、必らず「ヒツト」を生じることになる
。それ故、TBフィックスアップ52は、一時的に、ト
ランスレーション・バッファ・キャッシュ51をアップ
デート(更新)するように、トランスレーション・バッ
ファ30をコントロールする働きをし、これにより、現
在の変換は「ミス」から「ヒツト」に変更され、仮想−
フィジカル・トランスレーションは完了する。
時によって、TBrミス」から回復するために、もっと
精巧な方法が必要とされることがある。これらの場合に
は、キャッシュ28に直接的にアクセスしないで、TB
フィンクスアップ52が第2図でトランスレーション・
バッファ30に仮想アドレスを提供するようにしなけれ
ばならない。この第2のアクセスを達成するために、イ
ンクナル・レジスタ54にTBフィックスアップ52に
よって仮想アドレスが負荷される。インタナル・レジス
タ52は2人力マルチプレクサ56を通してマルチプレ
クサ50の人力ボートの1つにアクセスする。またシー
ケンサ58がインタナル・レジスタ54と同じバスでT
Bフィックスアップ52から入力を受ける。シーケンサ
58はマルチプレシジョン操作の間、或いは、メモリか
ら複数の連続するバイトを読出すことが必要なライン境
界を横切る操作の間に使用される。シーケンサ58はア
ドレスをインクリメントし、これをマルチプレクサ56
の1つの入力に送る。
アービトレーションロジック(arbitration
logic) 57が、プライオリティゼーション(優
先処理)スキームに従ってマルチプレクサ50゜56の
両者を制御する。インタナルレジスタ54.58は、も
ちろん、最高のプライオリティを割当てられている。明
らかに、TBミスが発生したら、TB30は、キャッシ
ュ51をアップデートできるまで、停められる。それ故
、インターナルレジスタ54.58は現在のミスを解消
するために最高のプライオリティを必要とする。しかし
、インターナルレジスタ54.58が現に使用されてな
い時には、アービトレーションロジック57がエクスタ
ーナルレジスタ20.22.42の間からプライオリテ
ィを決定しなければならない。
プライオリティは、実行ユニット20によって現に処理
されている命令に対するインパクトに従って、エクスタ
ーナルレジスタ20.22.42の間に割当てられる。
それ故、実行ユニット20によるリクエストは、必らず
、現に処理されている命令に関連される。従って、実行
ユニットのリクエストは最高のプライオリティを割当て
られる。
すなわち、実行ユニット20がメモリ・アクセス・リク
エストを発する時に、たとえ先きの0PU22またはI
 BUF 42のリクエストが係属中であろうと、アー
ビトレーションロジック57は、実行ユニットのリクエ
ストをTB30にアクセスすることを許可する。
同じプライオリティのスキームは残りの2つのエクスタ
ーナルレジスタ22.42にも実施され、0PU22は
実行ユニット20に動作的に近接しているので、これは
次に最も高いプライオリティを割当てられる。かくして
、IBUF42は現在の命令に対するインパクトが最も
小さいのでIBUF42は最低のプライオリティを割当
てられる。さらに、命令デコーダ26は現に処理されて
いる命令よりも命令前とし得ることに注意しなければな
らない。かくして、IBUF42の処理に何等かの遅延
がある時に、この遅延は実行ユニットでの命令処理速度
にインパクトを与えることなしに容易に吸収される。
アービトレーションロジック57は、リクエストが係属
中である時を決定するために、3個のエクスターナルレ
ジスタ20.22.42からリクエスト入力を受け、る
。これらのリクエスト入力はレジスタ20,22.42
に記憶され、トランスレーションバッファ30を通して
パイプラインとされて、キャッシュ28へのアクセスを
待ちながら、アドレスがそのソースに関してアイデンテ
ィファイでき且つレジスタ38中に別々に記憶できるよ
うにされる。
次に、第4図に、キャッシュおよびその関連アドレスお
よびデータインタフェースのブロックダイアグラムを示
す。複数レジスタ38は、IBUP。
OPUおよび実行ユニットに対する別々のレジスタ60
.62.64を含む。このようにして、別々のリクエス
トが再びプライオリクイズされ、個々のリクエストがキ
ャッシュ28内でミスすると、他の係属中のリクエスト
が処理され、一方、メインメモリ14は所望のデータを
キャッシュ28に戻どるように働く。
この点でエクスターナルレジスタ60,62.64の間
のプライオリティはエクスターナルレジスタ20,22
.42のプライオリティと同じ状態にある。唯一の相違
点は、キャッシュ28がトランスレーションバッファ3
0と異なって、メインメモリ14からのレフィルが係属
している間に他のキャッシュのリクエストを取扱うよう
に構成されていることである。かくして、キャッシュ2
8内のミスが他の係属中のメモリーアクセスを停めるこ
とはない。
書込キュー36に記憶されているアドレスは実行ユニッ
ト20から送られるデータに関連しているので、これは
最高のプライオリティを割当てられる。書込バッファ6
6が、実行ユニット20からの32ビツトのデータバス
とキャッシュの64ビツトのデータバスの間に接続され
る。かくして、書込バッファ66は、キャッシュ28が
その現在の操作を完了する間に、実行ユニットのデータ
を記憶する。しかし、次のクロックサイクルの柊で実行
ユニット20を停めるのを避けるために、書込バッファ
66は次のクロックサイクルにおいてキャッシュ2日に
対して空白とされる。このような書込バッファ66の迅
速な取扱いを行なうために、書込キュー36はキャッシ
ュ28に対して最高のプライオリティをもたねばならな
い。
前述のように、キャッシュのデータバスはメインメモリ
14および書込バッファ66に接続される。かくて、マ
ルチプレクサ68がキャッシュ28によって使用されて
、メインメモリI4の内容または書込バッファ66の内
容を選択的に負荷する。同様にマルチプレクサ40はキ
ャッシュ・アドレス・バスへのアクセスを制御する。レ
ジスタ38の各々および書込キュー36が、マルチプレ
クサ30への入力として接続され、このマルチプレクサ
はアービトレーションロジック70のセントによって制
御される。また、データバスは書込キュー36より高い
プライオリティをもつ。これは、前にミスしたメモリー
リクエストを取扱うために、キャッシュ28がメインメ
モリ14からレフィルデータを受けることができるよう
にするためである。
例えば、実行ユニット20.0PU22、[BUF42
が係属中のメモリ−リクエストを有しているとすると、
アービトレーションロジック70は実行レジスタ64の
内容を選択することにより、応答する。このメモリーリ
クエストがキャッシュ28でミスすると、メインメモリ
14からのレフィルがリクエストされ、キャッシュ28
は実行ユニットレジスタ64内に、「ミス」が発生した
ことを指示するステータス・フラグ(状態標識)をセッ
トする。アービトレーションロジック70はレジスタ6
0.62.64の各々および書込キュー36においてス
テータスフラグを同期的にサンプリングする。アービト
レーションロジックが実行ユニットレジスタ64内でミ
スしたステータフラグを検出すると、プライオリティゼ
ーシヲンのスキームは次の最高のバライオリティのリク
エストに移り、マルチプレクサ40を通してその入力を
選択する。かくしてOPUリクエストがキャッシュ28
に送られ、キャッシュ28内に「ヒツト」があると仮定
すると、データが検索され正しい行先に送られる。レフ
ィルデータがメインメモリ14から利用可能になると、
データリターン信号がアービトレーションロジック70
に送られ、これはマルチプレクサ68へのメインメモリ
入力を選択する。IBUFが未だ係属中であっても、キ
ャッシュのレフィルはプライオリティを有し、キャッシ
ュ28は係属している実行ユニットのミスを正しく取扱
う。
トランスレーシランバッファ30によって新フィジカル
アドレスが送られる時に他のメモリーリクエストが係属
していない場合には、アービトレーションロジック7o
はリクエストを直ちに取扱うことができることを確認す
る。かくして、アービトレーションロジックはリクエス
トをバイパスして、マルチプレクサ72を経て直接にキ
ャッシュ28に送る。このようにして、レジスタ3oの
1つを無用にローディングおよびアンコーディングする
時間は使われない。
アービトレーションロジック68はマルチプレクサ40
.72.68のコントロールをするように多数の制御入
力を受ける。例えば、レジスタ38の各々および書込キ
ュー36内でステータスフラグにアクセスするのに加え
て、アービトレーションロジック70はフィジカルアド
レスとパイブライン状態のリクエストおよびアイデンテ
ィフィケーション信号をも受ける。リクエスト信号は、
メモリアクセス作用がリクエストされた時をアービトレ
ーションロジックがアイデンティファイするために必要
である。アイデンティフィケーション信号は、どのレジ
スタ38或いは書込キュー36がリクエストを負荷され
ているかを決定するのに有用である。
第5図は、アービトレーションロジック7oによってな
される作用制御のスキームを示すフローチャートである
。決定ブロック100から始めて、ロジック70は、先
ず、メインメモリ14がらのレフィルデータが用意され
ているかどうかを決定するためにデータリターン信号を
チエツクする。
メインメモリデータが用意されていれば、コントロール
ブロック102に行き、ここでマルチプレクサ68への
メインメモリ入力が選択され、コントロールはスタート
点に戻る。また、キャッシュのレフィルデータがメイン
メモリ14から戻されてない場合には、コントロールは
決定プロック104に行き、ここで書込キュー36のリ
クエストラインおよびアップライトラインはポーリング
される。両方の信号がアサート(assert)されて
いれば、コントロールはブロック106に行き、ここで
、書込キューについてミスか現在存在しているかどうか
を決定するために書込キュー36のステータスフラグの
ポーリングがなされる。ミスがないと、ブロック108
で、マルチプレクサ40への書込キューの入力が選択さ
れる。書込キューの選択がアサートされなかった場合、
或いは、書込キュー36についてミスが係属している場
合には、コントロールは次の低いプライオリティのリク
エストに行く。
実行レジスタ64、OPUレジスタ621BUPレジス
タ114についてもそれぞれ決定ブロック110.11
2.114において同様の動作が行なわれる。しかし現
在係属しているリクエストがなくコントロールが決定ブ
ロック116に進むと、アービトレーションブロック7
0は、トランスレーションバッファ30から新しいリク
エストが到着しているかどうかを決定するチエツクをす
る。
新しいリクエストが利用可能で他のリクエストがないと
、アービトレーションロジック70は、ブロック118
でマルチプレクサ72への第2の人力を選択することに
よって、レジスタ38およびマルチプレクサ40をバイ
パスする働きをする。
【図面の簡単な説明】
第1図は中央処理ユニットとこれに組合されたメモリの
一部を示すブロックダイアグラムである。 第2図はロングワードMOVEオペランドのパイプライ
ン処理の作用を示すダイアグラムである。 第3図はメモリーリクエストを発生できる多数のボート
とのインタフェースを備えたトランレーションバッファ
およびトランスレーションバソファフイックスアノブユ
ニソトのブロックダイアグラムである。 第4図はキャッシュおよびそのアドレスおよびデータイ
ンタフェースを示すブロックダイアグラムである。 第5図はアービトレーションロジックによってなされる
作用のコントロールのスキームを示すフローチャートで
ある。 10・・・・・・コンピュータシステム、12・・・・
・・CPU、     14・・・・・・メインメモリ
、16・・・・・・メモリアクセスユニット、18・・
・・・・命令ユニット、20・・・・・・実行ユニット
22・・・・・・opu。 24・・・・・・プログラムカウンタ 26・・・・・・命令デコーダ、28・・・・・・キャ
ッシュ、30・・・・・・トランスレーションバッファ
、36・・・・・・書込キュー  38・・・・・・レ
ジスタ、40・・・・・・マルチプレクサ。

Claims (12)

    【特許請求の範囲】
  1. (1)パイプライン状のコンピュータシステムにおける
    複数のロケーションからの独立のメモリー・アクセス・
    リクエストを制御する装置において、複数のパラレルロ
    ケーションにおける上記のメモリー・アクセス・リクエ
    ストの各々を一時的に記憶する手段と、 第1のプライオリティゼーション・スキームに従って上
    記の記憶されたメモリー・アクセス・リクエストにアク
    セスして、上記の記憶されたメモリー・アクセス・リク
    エストの中の選択された1つを供給する第1のマルチプ
    レクサ手段と、 上記の記憶されたメモリー・アクセス・リクエストの選
    択された1つを受け、この選択されたリクエストをフィ
    ジカル・メモリー・アドレスに変換し、このフィジカル
    ・メモリー・アドレスを供給するようになっているトラ
    ンスレーション・バッファと、 複数のパラレルロケーションに上記のフィジカル・アド
    レスの各々を一時的に記憶する手段と、 第2のプライオリティゼーション・スキームに従って上
    記の記憶されたフィジカル・アドレスにアクセスし、上
    記の記憶されたフィジカルアドレスの中の選択された1
    つを供給する第2のマルチプレクサ手段と、 上記の記憶されたフィジカル・アドレスを受けとり、こ
    の記憶されたアドレスをキャッシュに現在保持されてい
    るアドレスと比較し、ヒットに応答して上記の記憶され
    たアドレスに記憶されているデータにアクセスし、ミス
    (miss)の検査に応答してキャッシュのレフィルを
    開始するキャッシュと、 を備えたことを特徴とする装置。
  2. (2)上記のキャッシュは、ミスの検出に応答して上記
    の第2のマルチプレクサ手段に信号を送り、上記の第2
    のマルチプレクサ手段は、ミスしたフィジカル・アドレ
    スを一時的に無視し、上記の一時的記憶手段に記憶され
    ている次の最低プライオリティのフィジカル・アドレス
    を供給するようにした請求項(1)記載の装置。
  3. (3)上記の第2のマルチプレクサ手段は、上記のキャ
    ッシュ・レフィルをキャッシュが受けるのに応答して、
    上記のミスされたフィジカル・アドレスを供給するよう
    にした請求項(2)記載の装置。
  4. (4)上記の第2のマルチプレクサ手段は、上記の一時
    的記憶手段に記憶されている他のフィジカル・アドレス
    が全くないことに応答して、上記の一時的フィジカル・
    アドレス記憶手段をバイパスして、上記のフィジカル・
    アドレスを直接的に、上記のキャッシュに送るようにし
    た請求項(2)記載の装置。
  5. (5)パイプライン状のコンピュータシステムにおける
    複数ロケーションからの独立のメモリー・アクセス・リ
    クエストを制御する方法において、複数のパラレル・ロ
    ケーションに上記のメモリー・アクセス・リクエストの
    各々を一時的に記憶する行程と、 第1のプライオリティゼーション・スキームに従って、
    上記の複数の記憶されたメモリー・アクセス・リクエス
    トの中の選択された1つを供給する行程と、 上記の記憶されたメモリー・アクセス・リクエストの中
    の選択された1つを受取り、この選択されたリクエスト
    をフィジカル・メモリー・アドレスに変換し、このフィ
    ジカル・メモリー・アドレスを供給する手段と、 複数のパラレル・ロケーションに、上記のフィジカル・
    アドレスの各々を一時的に記憶する行程と、 第2のプライオリティゼーション・スキームに従って上
    記の記憶されたフィジカル・アドレスにアクセスし、上
    記の記憶されたフィジカルアドレスの中の選択された1
    つを供給する行程と、 この記憶されたフィジカル・アドレスを受け、この記憶
    されたアドレスをキャッシュに現在保持されているアド
    レスに比較し、ヒットに応答して上記の記憶されたアド
    レスに記憶されているデータにアクセスし、ミスの検出
    に応答してキャッシュのレフィルを開始する行程と を特徴とする方法。
  6. (6)上記のキャッシュにおけるミスの検出に応答して
    信号を供給し、ミスしたフィジカル・アドレスを一時的
    に無視し、次の最高のプライオリティのフィジカル・ア
    ドレスを供給する行程を含む請求項(5)記載の方法。
  7. (7)キャッシュが上記のキャッシュのレフィルを受け
    るのに応答して、上記のミスしたフィジカル・アドレス
    を供給する行程を含む請求項(6)記載の方法。
  8. (8)一時的に記憶されている他のフィジカル・アドレ
    スがないことに応答して、上記の一時的なフィジカル・
    アドレスの記憶をバイパスし、上記のキャッシュに上記
    のフィジカル・アドレスを直接的に送る行程を含む請求
    項(5)記載の方法。
  9. (9)パイプライン状コンピュータシステムにおける命
    令デコーダ・オペランド処理ユニット、実行ユニットか
    らのメモリー・アクセス・リクエストをサービスする方
    法において、 (a)実行ユニットからのリクエストがオペランド処理
    ユニットからのリクエストおよび命令デコーダからのリ
    クエストに比してプライオリティを有し、且つオペラン
    ド処理ユニットからのリクエストが命令デコーダからの
    リクエストに比してプライオリティを有している第1の
    プライオリティ・スキームに従って上記のメモリー・ア
    クセス・リクエストを選択する行程と、 (b)トランスレーション・バッファを使用して、行程
    (a)で選択されたメモリー・アクセス・リクエストに
    対する仮のアドレスを、対応するフィジカル・メモリ・
    アドレスにトランスレートする行程と、 (c)上記の対応するフィジカル・メモリ・アドレスを
    少なくとも3個のレジスタに一時的に記憶する行程と、 (d)実行ユニットからのリクエストが、オペランド処
    理ユニットからのリクエストおよび命令デコーダからの
    リクエストに比してプライオリティを有し、オペランド
    処理ユニットからのリクエストが命令デコーダからのリ
    クエストに比してプライオリティを有している第2のプ
    ライオリティゼーション・スキームに従って、対応する
    メモリー・アクセス・リクエストに基いて上記のレジス
    タに記憶されているフィジカル・メモリー・アドレスを
    選択する行程と、 (e)上記の行程(d)で選択されたフィジカル・メモ
    リー・アドレスをキャッシュ・メモリーに送り、選択さ
    れたフィジカル・アドレスを上記のキャッシュ・メモリ
    に現在保持されているアドレスに比較し、選択されたフ
    ィジカル・アドレスがキャッシュ・メモリに現在保持さ
    れている時に、選択されたフィジカル・アドレスに記憶
    されたデータにアクセスし、選択されたフィジカル・ア
    ドレスがキャッシュ・メモリに現在保持されてない時に
    はキャッシュ・メモリをレフィルする行程と、 を含むことを特徴とする方法。
  10. (10)キャッシュ・メモリのレフィルを一時的に遅延
    させて、上記のレジスタに記憶されている次の最低のプ
    ライオリティのフィジカル・アドレスを選択し、次の最
    低プライオリティのフィジカル・アドレスが現在このキ
    ャッシュに保持さている時には選択されたフィジカル・
    アドレスに記憶されているデータにアクセスする行程を
    含む請求項(9)記載の方法。
  11. (11)上記の行程(d)は、書込行列からフィジカル
    ・アドレスを選択する行程を含み、上記の第2のプライ
    オリティ・スキームは、上記の命令デコーダ、上記のオ
    ペランド処理ユニット、上記の実行ユニットからのリク
    エストに比して書込行列のプライオリティを与えるよう
    になっている請求項(9)記載の方法。
  12. (12)上記の行程(a)は、トランスレーション・バ
    ッファ・フィックス・アップ・ユニットからのメモリー
    ・アクセス・リクエストを選択する行程を含み、上記の
    第1のプライオリティ・スキームは、上記の命令デコー
    ダ、上記のオペランド処理ユニット、上記の実行ユニッ
    トからのリクエストに比して上記のトランスレーション
    ・バッファ・フィックス・アップ・ユニットのプライオ
    リティを与えるようになっている請求項(9)記載の方
    法。
JP2024310A 1989-02-03 1990-02-02 複数メモリーリクエストのオーダおよびキューイング方法および装置 Granted JPH02289013A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US306870 1989-02-03
US07/306,870 US5222223A (en) 1989-02-03 1989-02-03 Method and apparatus for ordering and queueing multiple memory requests

Publications (2)

Publication Number Publication Date
JPH02289013A true JPH02289013A (ja) 1990-11-29
JPH0526215B2 JPH0526215B2 (ja) 1993-04-15

Family

ID=23187232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024310A Granted JPH02289013A (ja) 1989-02-03 1990-02-02 複数メモリーリクエストのオーダおよびキューイング方法および装置

Country Status (7)

Country Link
US (1) US5222223A (ja)
EP (1) EP0391517B1 (ja)
JP (1) JPH02289013A (ja)
AT (1) ATE156278T1 (ja)
AU (1) AU628530B2 (ja)
CA (1) CA1325285C (ja)
DE (1) DE69031139T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594305A (ja) * 1991-02-19 1993-04-16 Matsushita Electric Ind Co Ltd キヤツシユメモリ装置
WO2007052369A1 (ja) * 2005-10-31 2007-05-10 Fujitsu Limited 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
JPWO2008155825A1 (ja) * 2007-06-19 2010-08-26 富士通株式会社 演算処理装置および演算処理方法
JP2017027156A (ja) * 2015-07-16 2017-02-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5465344A (en) * 1990-08-20 1995-11-07 Matsushita Electric Industrial Co., Ltd. Microprocessor with dual-port cache memory for reducing penalty of consecutive memory address accesses
JP2514292B2 (ja) * 1991-04-25 1996-07-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オペランドペ―ジメモリ及び命令ペ―ジメモリを有するコンピュ―タシステム
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5440752A (en) 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5459849A (en) * 1991-08-02 1995-10-17 International Business Machines Corporation Method and apparatus for compressing cacheable data
US5379396A (en) * 1991-10-11 1995-01-03 Intel Corporation Write ordering for microprocessor depending on cache hit and write buffer content
US5410677A (en) * 1991-12-30 1995-04-25 Apple Computer, Inc. Apparatus for translating data formats starting at an arbitrary byte position
US5848297A (en) * 1991-12-30 1998-12-08 Apple Computer, Inc. Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
JPH05257851A (ja) * 1991-12-30 1993-10-08 Apple Computer Inc データの転送の順序を制御させる装置
US5640599A (en) * 1991-12-30 1997-06-17 Apple Computer, Inc. Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed
US5887196A (en) * 1991-12-30 1999-03-23 Apple Computer, Inc. System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
JP3730252B2 (ja) 1992-03-31 2005-12-21 トランスメタ コーポレイション レジスタ名称変更方法及び名称変更システム
JP3920931B2 (ja) * 1992-04-17 2007-05-30 サン・マイクロシステムズ・インコーポレイテッド キャッシュされたデータを読出しおよび書込む方法ならびにデータをキャッシングする装置
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
US5448706A (en) * 1992-05-13 1995-09-05 Sharp Microelectronics Technology, Inc. Address generator for multi-channel circular-buffer style processing
JPH05342084A (ja) * 1992-06-08 1993-12-24 Matsushita Electric Ind Co Ltd データ記憶装置及びデータ記憶方法
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
EP0575651A1 (en) * 1992-06-24 1993-12-29 International Business Machines Corporation Multiprocessor system
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US5488706A (en) * 1992-12-18 1996-01-30 Amdahl Corporation Retry request system in a pipeline data processing system where each requesting unit preserves the order of requests
KR100292300B1 (ko) 1992-12-31 2001-09-17 야스카와 히데아키 레지스터재명명시스템및방법
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with 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
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
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
US6003120A (en) * 1993-12-30 1999-12-14 Intel Corporation Method and apparatus for performing variable length processor write cycles
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
KR970010368B1 (ko) * 1994-01-18 1997-06-25 삼성전자 주식회사 캐시라인 리프레이스장치 및 방법
GB2287108B (en) * 1994-02-28 1998-05-13 Intel Corp Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
EP0676690B1 (en) * 1994-03-09 2003-05-14 Sun Microsystems, Inc. Delayed write of store instruction in processor device
US6272595B1 (en) * 1994-08-05 2001-08-07 Intel Corporation N-way set-associative cache memory which includes a store hit buffer for improved data access
US5634073A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation System having a plurality of posting queues associated with different types of write operations for selectively checking one queue based upon type of read operation
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
DE813709T1 (de) * 1995-03-03 1998-10-22 Hal Computer Systems Inc Mikro-tlb mit parallelem zugriff zum beschleunigen der adressübersetzung
US5564062A (en) * 1995-03-31 1996-10-08 International Business Machines Corporation Resource arbitration system with resource checking and lockout avoidance
US5832297A (en) * 1995-04-12 1998-11-03 Advanced Micro Devices, Inc. Superscalar microprocessor load/store unit employing a unified buffer and separate pointers for load and store operations
US5802588A (en) * 1995-04-12 1998-09-01 Advanced Micro Devices, Inc. Load/store unit implementing non-blocking loads for a superscalar microprocessor and method of selecting loads in a non-blocking fashion from a load/store buffer
JPH0934786A (ja) * 1995-07-14 1997-02-07 Fujitsu Ltd 命令供給装置
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5680641A (en) * 1995-08-16 1997-10-21 Sharp Microelectronics Technology, Inc. Multiple register bank system for concurrent I/O operation in a CPU datapath
US6029242A (en) * 1995-08-16 2000-02-22 Sharp Electronics Corporation Data processing system using a shared register bank and a plurality of processors
US6101590A (en) 1995-10-10 2000-08-08 Micro Unity Systems Engineering, Inc. Virtual memory system with local and global virtual address translation
US5960463A (en) * 1996-05-16 1999-09-28 Advanced Micro Devices, Inc. Cache controller with table walk logic tightly coupled to second level access logic
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
WO1998002803A1 (en) * 1996-07-16 1998-01-22 Advanced Micro Devices, Inc. Unified load/store unit for a superscalar microprocessor and method of operating the same
EP1005672B1 (en) * 1996-07-16 2010-10-06 GlobalFoundries, Inc. Load/store unit and method for non-blocking completion of loads in a superscalar microprocessor
US6081873A (en) * 1997-06-25 2000-06-27 Sun Microsystems, Inc. In-line bank conflict detection and resolution in a multi-ported non-blocking cache
US6003126A (en) * 1997-07-01 1999-12-14 International Business Machines Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
US6148372A (en) * 1998-01-21 2000-11-14 Sun Microsystems, Inc. Apparatus and method for detection and recovery from structural stalls in a multi-level non-blocking cache system
US6360307B1 (en) 1998-06-18 2002-03-19 Cypress Semiconductor Corporation Circuit architecture and method of writing data to a memory
US6212611B1 (en) 1998-11-03 2001-04-03 Intel Corporation Method and apparatus for providing a pipelined memory controller
US6295586B1 (en) * 1998-12-04 2001-09-25 Advanced Micro Devices, Inc. Queue based memory controller
US6240458B1 (en) * 1998-12-22 2001-05-29 Unisys Corporation System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system
GB2385174B (en) 1999-01-19 2003-11-26 Advanced Risc Mach Ltd Memory control within data processing systems
US6260090B1 (en) * 1999-03-03 2001-07-10 International Business Machines Corporation Circuit arrangement and method incorporating data buffer with priority-based data storage
US6499090B1 (en) 1999-12-28 2002-12-24 Intel Corporation Prioritized bus request scheduling mechanism for processing devices
DE60009355T2 (de) * 2000-04-03 2005-02-24 Advanced Micro Devices, Inc., Sunnyvale Busbrücke mit einer speichersteuerung mit verbessertem speicheranforderungsarbitrierungsmechanismus
US20020161978A1 (en) * 2001-02-28 2002-10-31 George Apostol Multi-service system-on-chip including on-chip memory with multiple access path
US6804758B2 (en) * 2001-06-29 2004-10-12 Xgi Technology Inc. Method for adaptive arbitration of requests for memory access in a multi-stage pipeline engine
US7039736B2 (en) * 2003-01-15 2006-05-02 Hewlett-Packard Development Company, L.P. Systems and methods for accessing bus-mastered system resources
US6961280B1 (en) 2003-12-08 2005-11-01 Altera Corporation Techniques for implementing address recycling in memory circuits
US7962698B1 (en) 2005-10-03 2011-06-14 Cypress Semiconductor Corporation Deterministic collision detection
US8108573B2 (en) * 2008-02-29 2012-01-31 International Business Machines Corporation Apparatus, system, and method for enqueue prioritization
US8006003B2 (en) * 2008-02-29 2011-08-23 International Business Machines Corporation Apparatus, system, and method for enqueue prioritization
US8930641B1 (en) * 2011-06-14 2015-01-06 Altera Corporation Systems and methods for providing memory controllers with scheduler bypassing capabilities
US11960400B2 (en) 2022-04-26 2024-04-16 Cadence Design Systems, Inc. Managing multiple cache memory circuit operations

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1443777A (en) * 1973-07-19 1976-07-28 Int Computers Ltd Data processing apparatus
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4500958A (en) * 1982-04-21 1985-02-19 Digital Equipment Corporation Memory controller with data rotation arrangement
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache
US4729093A (en) * 1984-09-26 1988-03-01 Motorola, Inc. Microcomputer which prioritizes instruction prefetch requests and data operand requests
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
JPS62152043A (ja) * 1985-12-26 1987-07-07 Nec Corp 命令コ−ドアクセス制御方式
CA1286784C (en) * 1986-08-27 1991-07-23 Joseph A. Petolino, Jr. Cache storage queue
US4722046A (en) * 1986-08-27 1988-01-26 Amdahl Corporation Cache storage priority
US4872111A (en) * 1986-08-27 1989-10-03 Amdahl Corporation Monolithic semi-custom IC having standard LSI sections and coupling gate array sections
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
US5027270A (en) * 1988-10-11 1991-06-25 Mips Computer Systems, Inc. Processor controlled interface with instruction streaming

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594305A (ja) * 1991-02-19 1993-04-16 Matsushita Electric Ind Co Ltd キヤツシユメモリ装置
WO2007052369A1 (ja) * 2005-10-31 2007-05-10 Fujitsu Limited 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
US7797494B2 (en) 2005-10-31 2010-09-14 Fujitsu Limited Arithmetic processor, information processing apparatus and memory access method in arithmetic processor
JPWO2008155825A1 (ja) * 2007-06-19 2010-08-26 富士通株式会社 演算処理装置および演算処理方法
JP4608011B2 (ja) * 2007-06-19 2011-01-05 富士通株式会社 演算処理装置および演算処理方法
US8296518B2 (en) 2007-06-19 2012-10-23 Fujitsu Limited Arithmetic processing apparatus and method
JP2017027156A (ja) * 2015-07-16 2017-02-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
AU5394790A (en) 1991-12-19
DE69031139T2 (de) 1998-02-19
JPH0526215B2 (ja) 1993-04-15
EP0391517A2 (en) 1990-10-10
US5222223A (en) 1993-06-22
EP0391517A3 (en) 1992-09-02
AU628530B2 (en) 1992-09-17
DE69031139D1 (de) 1997-09-04
CA1325285C (en) 1993-12-14
ATE156278T1 (de) 1997-08-15
EP0391517B1 (en) 1997-07-30

Similar Documents

Publication Publication Date Title
JPH02289013A (ja) 複数メモリーリクエストのオーダおよびキューイング方法および装置
US5349651A (en) System for translation of virtual to physical addresses by operating memory management processor for calculating location of physical address in memory concurrently with cache comparing virtual addresses for translation
US4926323A (en) Streamlined instruction processor
JP2701179B2 (ja) データ処理システム
US4985825A (en) System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
US5125083A (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US4875160A (en) Method for implementing synchronous pipeline exception recovery
US5418973A (en) Digital computer system with cache controller coordinating both vector and scalar operations
US7991983B2 (en) Register set used in multithreaded parallel processor architecture
US6212603B1 (en) Processor with apparatus for tracking prefetch and demand fetch instructions serviced by cache memory
JPH02240735A (ja) データ冗長度分解能をもつマルチプル命令処理システム
US20030188127A1 (en) Risc processor supporting one or more uninterruptible co-processors
US6012134A (en) High-performance processor with streaming buffer that facilitates prefetching of instructions
KR20040045035A (ko) 힌트 버퍼를 이용한 메모리 액세스 대기시간 숨김
US7430643B2 (en) Multiple contexts for efficient use of translation lookaside buffer
JPH02208728A (ja) 仮想命令キャッシュ再補充アルゴリズム
JP2004362564A (ja) 統一イベント通知およびコンシューマ−プロデューサメモリ演算による仮想プロセッサ方法および装置
JPH02207351A (ja) データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置
KR20100111700A (ko) 로킹된 오퍼레이션을 수행하기 위한 방법 및 시스템
US5897654A (en) Method and system for efficiently fetching from cache during a cache fill operation
US20030196072A1 (en) Digital signal processor architecture for high computation speed
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
IE901527A1 (en) Method and apparatus for ordering and queuing multiple¹memory requests
IE901528A1 (en) Method and apparatus for controlling the conversion of¹virtual to physical memory addresses in a digital computer¹system
JP2005182791A (ja) 汎用組込みプロセッサ