JPH04213135A - 外部メモリアクセスシステム - Google Patents

外部メモリアクセスシステム

Info

Publication number
JPH04213135A
JPH04213135A JP3008505A JP850591A JPH04213135A JP H04213135 A JPH04213135 A JP H04213135A JP 3008505 A JP3008505 A JP 3008505A JP 850591 A JP850591 A JP 850591A JP H04213135 A JPH04213135 A JP H04213135A
Authority
JP
Japan
Prior art keywords
address
external memory
physical
registers
physical address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3008505A
Other languages
English (en)
Inventor
William M Johnson
ウィリアム・マイケル・ジョンソン
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH04213135A publication Critical patent/JPH04213135A/ja
Pending 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

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)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【発明の背景】この発明は、包括的に、改善された外部
メモリアクセスシステムに関するものであり、より特定
的には、レジスタ間接アドレッシングおよび外部メモリ
を用いる縮小命令セット(RISC)プロセッサのため
の外部メモリアクセスシステムに関するものである。
【0002】マイクロプロセッサは技術分野において周
知である。マイクロプロセッサの1つのタイプは、パイ
プライン化されたアーキテクチュアを有する縮小命令セ
ット(RISC)プロセッサである。そのようなプロセ
ッサは、たとえば、命令取出し段階、デコード段階、実
行段階および書戻し段階を含む、一連の段階を介して直
列命令を処理する。そのようなプロセッサは非常に高速
度で演算し、かつ、そのパイプライン化されたアーキテ
クチュアのために、最小のハードウェアで効率よく命令
を実行することができる。
【0003】そのようなプロセッサにおいて、各命令は
前述の段階を介して処理される。ゆえに、第2の、また
は次の命令が取出されている間に、第1の命令はデコー
ド段階にあるかもしれない。次のサイクルにおいて、両
方の命令は、第2の命令がデコードされている間に第1
の命令が目下実行されている、1段階だけパイプライン
を下に移動する。
【0004】このタイプのプロセッサが命令によってデ
ータについて実行することを要求されれば、それは、レ
ジスタファイルに含まれるオペランドに基づいて作用す
ることによりそれを行なう。ゆえに、そのような命令を
実行するためには、プロセッサがデータまたはオペラン
ドをレジスタファイルにロードすることがまず必要であ
る。結果として、この目的のために、ロード命令がその
ようなプロセッサにおいて共通する。
【0005】データを外部メモリからレジスタファイル
へロードするために、外部メモリがまずアクセスされな
ければならない。外部メモリにアクセスするために、先
行技術のプロセッサは、まず外部メモリのアドレスを計
算し、それからそのアドレスを外部メモリの物理的アド
レスに変換しなければならない。この処理には時間がか
かり、かつ、プロセッサの効率に悪影響を及ぼし得る。 他のプロセッサは、外部メモリアドレスをロード命令の
前に計算し、かつそのアドレスを後の利用のために記憶
する。しかしながら、そのようなプロセッサはロード命
令の後にそのアドレスをさらに変換しなければならない
。このタイプのプロセッサは、最初に述べられたプロセ
ッサを超える改善を示すが、この処理についての改善は
、なおも望ましい。
【0006】高性能プロセッサはその潜在的性能を達成
するために外部メモリへの低い待ち時間アクセスを必要
とする。好ましくは、メモリはプロセッサがそれを要求
した後1つのサイクルのうちにデータの項目を提供すべ
きである。用語“ゼロ待ち状態”が通常この能力を有す
るメモリシステムに与えられる。これは、アクセスが常
に敏速に完了されるので、プロセッサはメモリアクセス
が完了するのを待たなくてもよいという事実に当てはま
る。
【0007】不幸にも、ゼロ待ち状態のメモリに対する
技術要件は、それを大変困難にし、かつ、実現するのに
費用がかかるようにさせる。このことは、RISCプロ
セッサを特徴付ける非常に高い動作周波数においては特
に真実である。ゼロ待ち状態のメモリおよび非常に高い
動作周波数に対する組合わされた要件は、これらのタイ
プのプロセッサの性能への厳しい障害を提供する。
【0008】この発明は、外部メモリのアクセスに関す
る前述の問題を克服する。この発明は、1待ち状態のメ
モリシステムを利用するが、ゼロ待ち状態のメモリの性
能を達成することができる。
【0009】
【発明の概要】この発明は、外部メモリに記憶されたデ
ータに効率よくアクセスし、かつデータについての実行
を容易にするためにデータをレジスタに与えるための、
新しいかつ改善されたシステムを提供する。外部メモリ
アクセスシステムは、命令取出し段階、デコード段階、
実行段階および書戻し段階を含む直列段階において命令
を処理し、かつ実行されるべきデータを記憶するための
外部メモリを含むタイプのプロセッサにおいて使用する
のに適用され、外部メモリは各記憶位置が独特な物理的
記憶アドレスを有する複数個の記憶位置を含み、プロセ
ッサは、第1複数個のレジスタをさらに含み、第1複数
個のレジスタの各々のものは独特なアドレスを有し、か
つ外部メモリ記憶位置のうちの1つに対応する変換され
ないアドレスを記憶するために配列され、前記プロセッ
サは第2複数個のレジスタをさらに含み、第2複数個の
レジスタの各々のものは独特なアドレスを有し、かつプ
ロセッサにより実行されるべきデータを記憶するために
配列される。第1複数個のレジスタに記憶されたアドレ
スは、外部メモリ記憶位置がアクセスされるのを可能に
するために、物理的外部メモリ記憶位置アドレスへの変
換を必要とする。外部メモリアクセスシステムは、第1
複数個のレジスタのうちの1個のアドレスを含む現在取
出されたロード命令に応答するように配列され、かつ、
第1複数個のレジスタのアドレスおよび第1複数個のレ
ジスタのうち先のロード命令の実行のために使われたも
ののための対応する変換された外部メモリアドレス記憶
位置を含む複数個のエントリを記憶するための物理的ア
ドレスキャッシュと、現在取出されたロード命令に応答
し、ロード命令のデコード段階の間に、現在取出された
ロード命令に含まれる第1複数個のレジスタのうちの1
個のアドレスが物理的アドレスキャッシュに記憶される
かどうかを決定するための手段と、もし第1複数個のレ
ジスタのうちの1個のアドレスが物理的アドレスキャッ
シュに含まれれば、第1複数個のレジスタのうちの1個
のアドレスに対応するメモリ記憶位置の先行して変換さ
れた物理的アドレスをロード命令の実行段階の初めに外
部メモリに伝えるための手段とを含む。
【0010】この発明は、ベースアドレスおよびオフセ
ットアドレスに応答して多重ビット変換された外部メモ
リ物理的アドレスを発生するための、プロセッサにおい
て使用するためのアドレス発生器をさらに提供する。ア
ドレス発生器は複数個のテーブルを含み、各テーブルは
複数個の外部メモリ物理的アドレスを含み、アドレス発
生器は多重ビットの仮想アドレスを発生するためのベー
スアドレスおよびオフセットアドレスを算術的に処理す
るための演算手段をさらに含む。演算手段は多重ビット
の仮想アドレスを一度に1ビット発生し、かつテーブル
に最初に発生された所与の数のビットを与えるように配
列される。演算手段が多重ビットの仮想アドレスの他の
ビットを発生する間に、テーブルは最初に発生されたビ
ットに応答して各テーブルから1個の潜在的な変換され
た物理的アドレスを抽出する。アドレス発生器は、演算
手段およびテーブルの各々に結合され、潜在的な変換さ
れた物理的アドレスのうちのどれが多重ビット変換され
た外部メモリ物理的アドレスかを決定するために、発生
された多重ビットの仮想アドレスを潜在的な変換された
物理的アドレスと比較するための手段をさらに含む。
【0011】新規であると信じられるこの発明の特徴は
、添付の特許請求の範囲の中で特に述べられる。この発
明は、そのさらなる利点および目的と共に、図1におい
て同じ参照番号が同一の要素を識別する添付の図面と関
連してなされる次の説明を参照することにより、よりよ
く理解されるであろう。
【0012】
【好ましい実施例の説明】今、図1を参照して、図1は
、概略ブロック図形式で、この発明を実施する外部メモ
リアクセスシステム10を示す。外部メモリアクセスシ
ステムは一般的に、アドレス発生器12、物理的アドレ
スキャッシュ14、選択回路16および走査手段26を
含む。外部メモリアクセスシステム10は、ここでロー
ドレジスタとして参照される第1複数個のレジスタ20
と、ここで実行レジスタとして参照される第2複数個の
レジスタ22と、プロセッサにより実行されるべき多重
ビットの命令を含む命令レジスタ24とを含むマイクロ
プロセッサのための外部メモリ18内の物理的メモリ記
憶位置をアクセスするように適合させられる。説明の目
的上別に図示されるが、ロードレジスタ20および実行
レジスタ22は、当業者により認められるであろうよう
に、1組のレジスタであり得る。外部メモリアクセスシ
ステム10はロード命令に応答して、ロード命令の実行
段階初めに、外部メモリにおいてアクセスされるべきメ
モリ記憶位置の変換された物理的アドレスを外部メモリ
に伝えることにより、外部メモリ18内の特定された物
理的メモリ記憶位置をアクセスする。一度アクセスされ
ると、外部メモリはそれから、特定の物理的メモリ記憶
位置に記憶されたデータをオペランドデータとして実行
レジスタ22のうちの1個に転送することができ、プロ
セッサがそのオペランドデータに基づいて作用するのを
可能にする。
【0013】1つのそのようなロード命令が命令レジス
タ24の中に図示される。ロード命令は、命令をロード
命令として識別する第1の組のビット28と、そこでオ
ペランドデータがロードされるべき実行レジスタを識別
する第2の組のビット30と、アクセスされるべき外部
メモリ18の物理的アドレス記憶位置に対応する変換さ
れないメモリアドレスを含むロードレジスタを識別する
第3の組のビット32とを含む。ロード命令は、この発
明には重要でない関数情報のような情報のビットをさら
に含んでもよい。以下に見られるように、システム10
は、オペランドデータが第2の組のビット30により識
別される実行レジスタに転送されてもよいように、第3
の組のビット32により識別されるレジスタに含まれる
アドレスに対応する外部メモリ18の物理的メモリ記憶
位置にアクセスすることにより、ロード命令に応答する
【0014】アドレス発生器12は、加算器34、アド
レス変換論理36および複数個のテーブル37および3
8を含む。加算器34は第1の入力40および第2の入
力42を含む。第1の入力40はベースアドレスを受け
るようにバス44に結合され、入力42はオフセットア
ドレスを受けるように別のバス46に結合される。アド
レス発生器12は、入力40におけるベースアドレスお
よび入力42におけるオフセットアドレスの受取りに応
答して変換された外部メモリ物理的アドレスを発生する
。技術分野において周知のように、このようなアドレス
発生は、オフセットアドレスがベースアドレスに加えら
れる、加算命令に応答して与えられ得る。オフセットは
、正の数または負の数を表わしてもよい。アドレス発生
器はそれゆえに、新しい外部メモリ物理的アドレスが必
要とされたときに、変換された外部メモリ物理的アドレ
スを発生する。
【0015】テーブル37および38はそれぞれ複数個
の外部メモリ物理的アドレスを含む。加算器34が新し
い外部メモリ仮想アドレスを計算するにつれ、それはテ
ーブル37および38に、出力43においてここではテ
ーブルエントリ選択ビットとして参照される所与の数の
その最初に発生されたビットを与える。好ましい実施例
に従って、加算器34は、テーブル37および38に、
それが発生する最初の10ビットのうち最上位からの5
ビットを与える。加算器34によるエントリ選択ビット
の受取りに応答して、テーブル37および38の各々は
、アドレス変換論理に潜在的な変換された外部メモリ物
理的アドレスを与える。システム10は2個のこのよう
なテーブルを含むので、アドレス変換論理には2個のこ
のような潜在的な変換された外部メモリ物理的アドレス
が与えられる。テーブル37および38はアクセスされ
、潜在的なアドレスをアドレス変換論理36に与えるが
、加算器34は、並行して、外部メモリ仮想アドレスの
残りのビットを発生する。この好ましい実施例に従って
、残りのビットは、完全な外部メモリ仮想アドレスが3
2ビットを含むように、22ビットを含む。残りのビッ
トは出力45で与えられる。
【0016】加算器が外部メモリ仮想アドレスのすべて
のビットを計算した後、アドレス変換論理はそれから、
発生されたアドレスを2個の潜在的な変換された外部メ
モリ物理的アドレスと比較する。そうする際に、それは
加算器34により発生されたアドレスに対応する潜在的
な変換された外部メモリ物理的アドレスを選択し、かつ
そのアドレスを変換された外部メモリ物理的アドレスと
して選択する。それはその後変換された外部メモリ物理
的アドレスを選択回路16に与える。それはまた変換さ
れたアドレスを、以下で詳しく説明される物理的アドレ
スキャッシュ14に伝える。
【0017】新しいアドレスがアドレス発生器により発
生されることが必要とされなければ、換言すれば、変換
されないアドレスがロードレジスタ20のうちの1個に
あれば、加算器34は、ロードレジスタからのアドレス
を、そのアドレスに作用することなくアドレス変換論理
に通すであろう。変換されないアドレスはその後変換論
理において変換され、変換論理はその後変換された外部
メモリ物理的アドレスを選択回路16に与える。
【0018】物理的アドレスキャッシュ14は、絶対レ
ジスタ番号によりアクセスされる、完全な連想キャッシ
ュである。それは、ロードレジスタ番号と、先行するロ
ード命令に応じて先行して変換された対応する変換され
た外部メモリ物理的アドレスとを含む、複数個のエント
リを含む。アドレス発生器12が新しい変換された外部
メモリ物理的アドレスを発生すると、それはそのアドレ
スを、キャッシュを更新する目的でキャッシュ14に伝
える。キャッシュはまた対応するロードレジスタ番号を
記憶する。キャッシュ14はまた、ロードレジスタ20
のうちの1個から加算器34を介する変換されないアド
レスの通過の結果として生じ、かつその後変換論理36
により変換された外部メモリ物理的アドレスにより更新
されてもよい。
【0019】プロセッサが、外部メモリ18がアクセス
されることを必要とするロード命令を取出せば、走査手
段26は、ロード命令のデコード段階の間に、ロード命
令の第3の組のビット32に含まれるロードレジスタ番
号に対する物理的アドレスキャッシュ14を走査する。 走査手段26がロード命令において識別されたレジスタ
番号の位置を見つければ、それによって物理的アドレス
キャッシュ14は、先行して変換された外部メモリ物理
的アドレスを選択回路16に伝えるであろう。この態様
で、変換された外部メモリ物理的アドレスは、ロード命
令の実行段階の間に外部メモリに与えられ得る。結果と
して、メモリシステムに、メモリアクセスを行なうため
の付加的なサイクルが与えられる。
【0020】走査手段26がロード命令において識別さ
れたレジスタ番号を物理的アドレスキャッシュ14に見
出さなければ、物理的アドレスキャッシュ14は、その
後先に説明されたアドレス発生器12を利用して更新さ
れる。テーブル37および38は、加算器34が新しい
物理アドレスの計算を完了中の間にアクセスされるので
、外部メモリアクセスシステム10は、外部メモリ18
に、能率的な態様で、適当な物理的メモリアドレスをさ
らに与えることができる。先に述べられたように、新し
い変換された外部メモリ物理的アドレスはまた、更新さ
れたエントリが必要なものとして再利用されてもよいよ
うに、物理的アドレスキャッシュ14を更新するために
、物理的アドレスキャッシュ14に伝えられる。ゆえに
、物理的アドレスキャッシュ14が更新することを必要
とすれば、どのサイクル上の物理的アドレスキャッシュ
においても2つの連想サーチがある。一方のサーチは起
こり得るロードのためであり、他方は起こり得るアドレ
ス更新のためである。
【0021】前述から見られるように、物理的アドレス
キャッシュは、絶対レジスタ番号によりアクセスされる
完全連想キャッシュである。それは、物理的アドレスお
よび変換に関するほかの情報を記憶する。キャッシュは
、物理的アドレスを含むための複数個のエントリ、たと
えば、4個のエントリを組入れる。物理的アドレスキャ
ッシュはこのように、命令ストリームにおいて遭遇する
かもしれないいかなるロードに対しても有用なアドレス
変換の1組を含む。キャッシュは、ロード命令のデコー
ドの間にサーチされる。ロードに対するアドレスレジス
タがキャッシュにおいて正当な変換を有すれば、アドレ
スは、ロード命令の実行段階の初めに外部メモリにおい
て現われ得る。物理的アドレスキャッシュはこのように
、有用な変換されたアドレスの高い部分を保持する。
【0022】前述からまた見られるように、物理的アド
レスキャッシュの内容が正常の命令実行の間に相応じて
更新されることを必要として、アドレスは、レジスタに
おいて更新され得る。いかなる命令の実行の間でも、物
理的アドレスキャッシュは命令の行き先レジスタに関連
するエントリのために走査手段26によりサーチされる
。行先レジスタがキャッシュにおいて変換を有せば、か
つ、関連するアドレスがうまく変換されれば、現在のエ
ントリは新しいアドレスを反映するように更新される。 先に述べられたように、更新条件は、すべてのサイクル
の物理的アドレスキャッシュにおける2つの連想サーチ
を必要とする。1つのサーチは起こり得るロード(読取
り)のためであり、他方は起こり得るアドレス更新(書
込み)のためである。
【0023】さらに前述から見られるように、この発明
は、アドレス変換論理36ならびにテーブル37および
38と密接に関連して作動する加算器34によってアド
レス発生を早く提供する。加算器34は、たとえば10
ビットの小さい変位で、たとえば即時ロード、加算およ
び減算のような小さいサブセットの命令によって、新し
いアドレスの計算を実行する。
【0024】アドレス発生器は、それが計算するいかな
るアドレスも、アドレス計算の終わりまでに変換されて
いるように実現される。特に、それを発生するテーブル
エントリ選択ビットは、テーブル37および38のアク
セスが、新しいアドレスの残りのビットが計算される間
に第1の半サイクルにさらに進むことを許容する。アド
レス発生器はどの命令の実行段階の間でも作動する。そ
れは、物理的アドレスキャッシュにおける変換されたア
ドレスを更新し、かつ/または外部メモリに変換された
アドレスを直接与える。ゆえに、それは、ロード命令の
実行の間にだけ作動する先行技術のアドレス発生器を超
える明瞭な利点を示す。
【0025】前述から、それゆえに、この発明が新しい
かつ改善された外部メモリアクセスシステムを提供する
ことが見られる。この発明のシステムはレジスタ間接ア
ドレッシングを利用するので、すべてのアドレス計算は
ロードが行なわれる前に命令により明示的に行なわれて
もよい。結果として、アドレス計算による新しいアドレ
スは、ロードの実行の初めに外部メモリに利用でき、か
つロードの実行を改善するのに用いられ得る。さらに、
物理的アドレスキャッシュは、アドレス変換を必要とし
ないロードに対するアドレス変換の不利益を除去する。 さらに、アドレス計算がロード命令の前に必要とされれ
ば、アドレスはロード命令がデコード段階にあるときに
計算されてもよい。新しいアドレスはロード命令のデコ
ード段階の間に計算されるので、新しい変換された物理
的アドレスは、変換された外部メモリ物理的アドレスが
さらに命令の実行段階の初めに外部メモリに伝えられる
ように、アドレス変換を行なうためのロード命令の実行
を待ち続ける代わりに、より先に利用されてもよい。変
換されたアドレスはまた後の再利用のために物理的アド
レスキャッシュ14に置かれてもよい。これは、メモリ
アクセスに対する付加的なサイクルを許容する。
【0026】この発明の特定の実施例が示されかつ説明
されたが、修正がなされてもよく、かつ、それゆえ前掲
の特許請求の範囲において、発明の真の精神および範囲
に含まれるそのような変更および修正のすべてを包括す
ることが意図される。
【図面の簡単な説明】
【図1】この発明を実施する、外部メモリアクセスシス
テムの概略ブロック図である。
【符号の説明】
10は外部メモリアクセスシステム、12はアドレス発
生器、14は物理的アドレスキャッシュ、16は選択回
路、18は外部メモリ、20はロードレジスタ、22は
実行レジスタ、24は命令レジスタ、26は走査手段、
34は加算器、36はアドレス変換論理、37および3
8はテーブルである。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】  命令取出し段階、デコード段階、実行
    段階および書戻し段階を含む直列段階において命令を処
    理し、かつ実行されるべきデータを記憶するための外部
    メモリを含み、前記外部メモリは、複数個の記憶位置を
    含み、各前記記憶位置は独特な物理的記憶アドレスを有
    する、そのようなタイプのプロセッサにおいて、前記プ
    ロセッサは第1複数個のレジスタをさらに含み、各前記
    第1複数個のレジスタは独特なアドレスを有し、かつ前
    記外部メモリ記憶位置の1つに対応する変換されないア
    ドレスを記憶するように配列され、前記プロセッサは第
    2複数個のレジスタをさらに含み、各前記第2複数個の
    レジスタは独特なアドレスを有し、かつ前記プロセッサ
    により実行されるべきデータを記憶するように配列され
    、前記第1複数個のレジスタに記憶されたアドレスは、
    前記外部メモリ記憶位置がアクセスされることを許容す
    るために前記物理的外部メモリ記憶位置アドレスへの変
    換を必要とする、そのような前記タイプのプロセッサに
    おいて、前記外部メモリ記憶位置のうちの1つに記憶さ
    れたデータに効率よくアクセスし、かつ前記第1複数個
    のレジスタのうちの1個のアドレスを含む現在取出され
    たロード命令に応答して前記データを前記第2複数個の
    レジスタの1個に与えるための新しいかつ改善されたシ
    ステムであって、前記第1複数個のレジスタのアドレス
    と、前記第1複数個のレジスタのうち先行するロード命
    令の実行に用いられたもののための対応する変換された
    外部メモリアドレス記憶位置とを含む、複数個のエント
    リを記憶するための物理的アドレスキャッシュと、前記
    現在取出されたロード命令に応答し、前記ロード命令の
    前記デコード段階の間に、前記現在取出されたロード命
    令に含まれる前記第1複数個のレジスタのうちの前記1
    個のアドレスが前記物理的アドレスキャッシュに記憶さ
    れるかどうかを決定するための手段と、前記第1複数個
    のレジスタのうちの前記1個の前記アドレスが前記物理
    的アドレスキャッシュに含まれれば、前記第1複数個の
    レジスタのうちの前記1個の前記アドレスに対応する前
    記メモリ記憶位置の先行して変換された物理的アドレス
    を、前記ロード命令の前記実行段階の初めに前記外部メ
    モリに伝えるための手段とを含む、システム。
  2. 【請求項2】  前記物理的アドレスキャッシュの前記
    エントリを更新するための更新手段をさらに含む、請求
    項1に記載のシステム。
  3. 【請求項3】  前記更新手段は、ロード命令に含まれ
    る前記第1複数個のレジスタのうちの1個のアドレスが
    前記物理的アドレスキャッシュに見出されないときに、
    前記物理的アドレスキャッシュを更新するために配列さ
    れる、請求項2に記載のシステム。
  4. 【請求項4】  前記更新手段は、すぐ後に続くそれぞ
    れのロード命令の前に、アドレス計算命令の実行に従う
    前記第1複数個のレジスタのうちの対応する1個に関連
    する新しい変換された物理的アドレスを発生するために
    前記物理的アドレスキャッシュに結合されたアドレス発
    生器を含む、請求項2に記載のシステム。
  5. 【請求項5】  前記アドレス発生器は、前記外部メモ
    リに結合されて前記すぐ後に続くそれぞれのロード命令
    の実行段階の前に前記新しい変換された物理的アドレス
    を前記外部メモリに伝える、請求項4に記載のシステム
  6. 【請求項6】  前記アドレス発生器は、前記新しい変
    換された物理的アドレスを、前記第1複数個のレジスタ
    のうちの前記対応する1個のアドレスを有する前記物理
    的アドレスキャッシュに伝えるように配列された、請求
    項5に記載のシステム。
  7. 【請求項7】  前記アドレス発生器は、多重ビットの
    新しい仮想アドレスを駆動するために、ベースアドレス
    およびオフセットアドレスを算術的に処理することによ
    り新しい物理的アドレスを計算するように配列された、
    請求項4に記載のシステム。
  8. 【請求項8】  前記アドレス発生器は、複数個のテー
    ブルを含み、各前記テーブルは複数個の外部メモリ物理
    的アドレスを含み、前記アドレス発生器は前記多重ビッ
    トの仮想アドレスを一度に1ビット発生するための計算
    手段をさらに含み、前記計算手段は前記計算手段が前記
    多重ビットのうち他のものを発生する間に各前記テーブ
    ルから1個の潜在的な物理的アドレスを抽出するために
    前記テーブルに最初の所与の数の前記発生されたビット
    を与えるように配列され、前記アドレス発生器は、前記
    計算手段および前記テーブルに結合され、前記潜在的な
    物理的アドレスのうちのどちらが前記新しい変換された
    物理的アドレスであるかを決定するために前記発生され
    た多重ビットのアドレスを前記潜在的な物理的アドレス
    と比較するための変換手段をさらに含む、請求項7に記
    載のシステム。
  9. 【請求項9】  前記変換手段は、前記外部メモリに結
    合されて前記外部メモリに前記新しい変換された物理的
    アドレスを与える、請求項8に記載のシステム。
  10. 【請求項10】  前記変換手段は、前記物理的アドレ
    スキャッシュにさらに結合されて前記物理的アドレスキ
    ャッシュに前記新しい変換された物理的アドレスを与え
    る、請求項9に記載のシステム。
  11. 【請求項11】  選択手段をさらに含み、かつ、前記
    物理的アドレスキャッシュおよび前記変換手段は前記選
    択手段を介して前記外部メモリに結合される、請求項1
    0に記載のシステム。
  12. 【請求項12】  前記計算手段は1個の加算器を含む
    、請求項8に記載のシステム。
  13. 【請求項13】  プロセッサにおいて、ベースアドレ
    スおよびオフセットアドレスに応答する多重ビット変換
    された外部メモリ物理的アドレスを発生するためのアド
    レス発生器であって、複数個のテーブルを含み、各前記
    テーブルは複数個の外部メモリ物理的アドレスを含み、
    多重ビットの仮想アドレスを発生するために前記ベース
    アドレスおよび前記オフセットアドレスを算術的に処理
    するための計算手段をさらに含み、前記計算手段は、前
    記多重ビットの仮想アドレスを一度に1ビット発生し、
    かつ前記テーブルに所与の数の最初に発生されたビット
    を与えるように配列され、前記テーブルは前記第1の発
    生されたビットに応答して、前記計算手段が前記多重ビ
    ットの仮想アドレスの他のビットを発生する間に各前記
    テーブルから1個の潜在的な変換された物理的アドレス
    を抽出し、かつ、前記計算手段および前記テーブルの各
    々に結合され、前記潜在的な変換された物理的アドレス
    のうちどちらが前記多重ビットの変換された外部メモリ
    物理的アドレスであるかを決定するために、前記発生さ
    れた多重ビットの仮想アドレスを前記潜在的な変換され
    た物理的アドレスと比較するための変換手段をさらに含
    む、アドレス発生器。
  14. 【請求項14】  前記複数個のテーブルは2個のテー
    ブルを含む、請求項13に記載のアドレス発生器。
  15. 【請求項15】  前記計算手段は1個の加算器を含む
    、請求項13に記載のアドレス発生器。
  16. 【請求項16】  前記加算器は、前記ベースアドレス
    を受けるための第1の入力と、前記オフセットアドレス
    を受けるための第2の入力とを含む、請求項15に記載
    のアドレス発生器。
  17. 【請求項17】  前記所与の数の最初に発生されたビ
    ットは、前記アドレス発生器により発生された最初の1
    0ビットのうち最上位からの5ビットを含む、請求項1
    3に記載のアドレス発生器。
  18. 【請求項18】  前記計算手段は、前記テーブルに結
    合されて前記テーブルに前記所与の数の最初に発生され
    たビットを与える第1の出力と、前記変換手段に結合さ
    れて前記変換手段に前記多重ビットの仮想アドレスの前
    記他のビットを与える第2の出力とを含む、請求項13
    に記載のアドレス発生器。
  19. 【請求項19】  前記変換手段は、前記潜在的な変換
    された物理的アドレスのうちのどちらが前記多重ビット
    変換された外部メモリ物理的アドレスであるかを決定す
    るために、前記多重ビットの仮想アドレスの前記他のビ
    ットを用いるように配列される、請求項18に記載のア
    ドレス発生器。
  20. 【請求項20】  前記多重ビット変換された外部メモ
    リ物理的アドレスは32ビットを含む、請求項19に記
    載のアドレス発生器。
JP3008505A 1990-01-30 1991-01-28 外部メモリアクセスシステム Pending JPH04213135A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/472,099 US5210841A (en) 1990-01-30 1990-01-30 External memory accessing system
US472099 1990-01-30

Publications (1)

Publication Number Publication Date
JPH04213135A true JPH04213135A (ja) 1992-08-04

Family

ID=23874198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3008505A Pending JPH04213135A (ja) 1990-01-30 1991-01-28 外部メモリアクセスシステム

Country Status (5)

Country Link
US (1) US5210841A (ja)
EP (1) EP0439924B1 (ja)
JP (1) JPH04213135A (ja)
AT (1) ATE182997T1 (ja)
DE (1) DE69033233T2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2669158B2 (ja) * 1991-01-22 1997-10-27 三菱電機株式会社 データ処理装置
DE69228664T2 (de) * 1991-11-11 1999-09-30 Koninklijke Philips Electronics N.V., Eindhoven System zur Anlagensteuerung mit einem gemeinsamen Kommunikationskanal
GB2262630B (en) * 1991-12-14 1996-04-10 Technophone Ltd Apparatus with menu-selected functions
US5392410A (en) * 1992-04-30 1995-02-21 International Business Machines Corporation History table for prediction of virtual address translation for cache access
US5557743A (en) * 1994-04-05 1996-09-17 Motorola, Inc. Protection circuit for a microprocessor
US5630088A (en) * 1995-03-09 1997-05-13 Hewlett-Packard Company Virtual to physical address translation
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP4312272B2 (ja) * 1995-10-06 2009-08-12 モトローラ・インコーポレイテッド 内部メモリへのアクセスを制限するマイクロコントローラ
US6041396A (en) * 1996-03-14 2000-03-21 Advanced Micro Devices, Inc. Segment descriptor cache addressed by part of the physical address of the desired descriptor
US5887160A (en) * 1996-12-10 1999-03-23 Fujitsu Limited Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor
US6157981A (en) * 1998-05-27 2000-12-05 International Business Machines Corporation Real time invariant behavior cache
US7444471B1 (en) * 2002-12-30 2008-10-28 Transmeta Corporation Method and system for using external storage to amortize CPU cycle utilization

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
US4734852A (en) * 1985-08-30 1988-03-29 Advanced Micro Devices, Inc. Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US4797817A (en) * 1986-12-10 1989-01-10 Ncr Corporation Single cycle store operations in a virtual memory
CA1327080C (en) * 1987-05-26 1994-02-15 Yoshiko Yamaguchi Reduced instruction set computer (risc) type microprocessor
JPH01177145A (ja) * 1988-01-06 1989-07-13 Nec Corp 情報処理装置
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
US5117493A (en) * 1989-08-07 1992-05-26 Sun Microsystems, Inc. Pipelined register cache

Also Published As

Publication number Publication date
ATE182997T1 (de) 1999-08-15
US5210841A (en) 1993-05-11
DE69033233T2 (de) 1999-12-02
DE69033233D1 (de) 1999-09-09
EP0439924A2 (en) 1991-08-07
EP0439924A3 (en) 1991-12-18
EP0439924B1 (en) 1999-08-04

Similar Documents

Publication Publication Date Title
US5742802A (en) Method and system for efficiently mapping guest instruction in an emulation assist unit
JP2769097B2 (ja) アドレス変換方法及びデータ処理装置
US7447868B2 (en) Using vector processors to accelerate cache lookups
US5179674A (en) Method and apparatus for predicting valid performance of virtual-address to physical-address translations
EP0175091B1 (en) Fast two-level dynamic address translation method and means
JPS6323586B2 (ja)
JPH0371337A (ja) マイクロプロセツサ回路
JPH03194632A (ja) 変換予見にもとづくキャッシュアクセス
US7266676B2 (en) Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays
JPH0654478B2 (ja) 計算機システム
JP3497516B2 (ja) データプロセッサ
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
JPH04213135A (ja) 外部メモリアクセスシステム
US5515522A (en) Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache
JP3199465B2 (ja) 情報処理装置
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
US5150471A (en) Method and apparatus for offset register address accessing
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US4954947A (en) Instruction processor for processing branch instruction at high speed
JP3416911B2 (ja) 命令データのキャッシュメモリへの転送方法
US6138223A (en) Absolute address history table index generation for predicting instruction and operand cache accesses
JPH0327940B2 (ja)
US5805490A (en) Associative memory circuit and TLB circuit
KR20230129559A (ko) 가변길이 명령어들을 사용하는 병렬 디코드 명령어 세트 컴퓨터 아키텍처
JPH08249178A (ja) プロセッサのアネックス内において修飾ビットを形成する方法及び装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010605