JPH06103163A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JPH06103163A JPH06103163A JP3307236A JP30723691A JPH06103163A JP H06103163 A JPH06103163 A JP H06103163A JP 3307236 A JP3307236 A JP 3307236A JP 30723691 A JP30723691 A JP 30723691A JP H06103163 A JPH06103163 A JP H06103163A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- page
- dram
- access
- cache
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】 DRAMを用いる高性能マイクロプロセッサ
用の主メモリを提供することである。 【構成】 DRAMを用いて高性能プロセッサ用の主メ
モリが提供される。DRAMは多数のメモリバンクへ分
割され、各バンクは、データおよびコードドミナンスに
より分離される、パワーリセットコード、データおよび
アドレスアクセスの動きを基にして、種々の行アドレス
でセットアップされる。その結果、DRAMアクセスの
ために求められる待ち状態の数が減少させられ、メモリ
アクセスの成功数が増加する。DRAM中に定められて
いる各メモリバンクはメモリの種々のページを含む。こ
れにより、DRAMのページアクセスはスタチックRA
Mに対するページアクセスと同じであるから、システム
の全アクセスが改善される。どのページが求められるか
を予測するために先見アルゴリズムが実現されるから、
それらのページをDRAMメモリバンクへ供給できる。
用の主メモリを提供することである。 【構成】 DRAMを用いて高性能プロセッサ用の主メ
モリが提供される。DRAMは多数のメモリバンクへ分
割され、各バンクは、データおよびコードドミナンスに
より分離される、パワーリセットコード、データおよび
アドレスアクセスの動きを基にして、種々の行アドレス
でセットアップされる。その結果、DRAMアクセスの
ために求められる待ち状態の数が減少させられ、メモリ
アクセスの成功数が増加する。DRAM中に定められて
いる各メモリバンクはメモリの種々のページを含む。こ
れにより、DRAMのページアクセスはスタチックRA
Mに対するページアクセスと同じであるから、システム
の全アクセスが改善される。どのページが求められるか
を予測するために先見アルゴリズムが実現されるから、
それらのページをDRAMメモリバンクへ供給できる。
Description
【0001】
【産業上の利用分野】本発明は多ページダイナミックラ
ンダムアクセスメモリ(DRAM)の分野に関するもの
である。
ンダムアクセスメモリ(DRAM)の分野に関するもの
である。
【0002】
【従来の技術】コンピュータシステムはいくつかのモジ
ュールすなわち部品で構成される。コンピュータシステ
ムはマイクロプロセッサのような中央処理装置(CP
U)を典型的に含んでいる。マイクロプロセッサは、命
令を受け、それを解読し、実行するプログラム制御され
る装置である。コンピュータシステムはプログラム命令
を記憶するプログラム記憶部品と、データを記憶するデ
ータ記憶部品も含む。それらの記憶部品は読出し専用メ
モリ(ROM)、ランダムアクセスメモリ(RAM)、
ディスクまたはテープ記憶装置、またはその他の適当な
任意の記憶手段で構成できる。
ュールすなわち部品で構成される。コンピュータシステ
ムはマイクロプロセッサのような中央処理装置(CP
U)を典型的に含んでいる。マイクロプロセッサは、命
令を受け、それを解読し、実行するプログラム制御され
る装置である。コンピュータシステムはプログラム命令
を記憶するプログラム記憶部品と、データを記憶するデ
ータ記憶部品も含む。それらの記憶部品は読出し専用メ
モリ(ROM)、ランダムアクセスメモリ(RAM)、
ディスクまたはテープ記憶装置、またはその他の適当な
任意の記憶手段で構成できる。
【0003】コンピュータシステムは外部装置をマイク
ロプロセッサへ接続するための入力/出力(I/O)部
品も含む。メモリ管理装置またはコプロセッサのような
特殊目的部品もコンピュータシステムの一部とすること
ができる。
ロプロセッサへ接続するための入力/出力(I/O)部
品も含む。メモリ管理装置またはコプロセッサのような
特殊目的部品もコンピュータシステムの一部とすること
ができる。
【0004】「主メモリ」としても知られているメモリ
部品は、ユーザー、プログラムまたはプロセスへダイナ
ミックに割り当てられるまれな資源である。主メモリは
典型的にはランダムアクセスメモリ(RAM)のよう
な、シリコンをベースとするメモリである。従来の多く
の用途においては、主メモリとしてダイナミックランダ
ムアクセスメモリ(DRAM)が用いられている。
部品は、ユーザー、プログラムまたはプロセスへダイナ
ミックに割り当てられるまれな資源である。主メモリは
典型的にはランダムアクセスメモリ(RAM)のよう
な、シリコンをベースとするメモリである。従来の多く
の用途においては、主メモリとしてダイナミックランダ
ムアクセスメモリ(DRAM)が用いられている。
【0005】CPUその他のプロセッサのための主メモ
リとしてDRAMを使用することの欠点は、メモリのア
クセス時間が制限されることである。マイクロプロセッ
サ技術が進歩するにつれて、マイクロプロセッサの動作
のクロック速度が向上してきている。そのために、マイ
クロプロセッサに関連する主メモリのメモリアクセス時
間要求が高まっている。DRAMのアクセス時間は現在
のマイクロプロセッサ技術の諸要求とペースが合ってい
ない。たとえば、16ビットおよび32ビットのマイク
ロプロセッサは20〜40ナノ秒のメモリアクセス速度
を要するのに、現在のDRAMのアクセス時間は60〜
80ナノ秒である。現在のマイクロプロセッサのアクセ
ス要求を満たすために、メモリキャッシング技術または
ページアクセス技術が利用されている。
リとしてDRAMを使用することの欠点は、メモリのア
クセス時間が制限されることである。マイクロプロセッ
サ技術が進歩するにつれて、マイクロプロセッサの動作
のクロック速度が向上してきている。そのために、マイ
クロプロセッサに関連する主メモリのメモリアクセス時
間要求が高まっている。DRAMのアクセス時間は現在
のマイクロプロセッサ技術の諸要求とペースが合ってい
ない。たとえば、16ビットおよび32ビットのマイク
ロプロセッサは20〜40ナノ秒のメモリアクセス速度
を要するのに、現在のDRAMのアクセス時間は60〜
80ナノ秒である。現在のマイクロプロセッサのアクセ
ス要求を満たすために、メモリキャッシング技術または
ページアクセス技術が利用されている。
【0006】
【発明が解決しようとする課題】したがって、本発明の
目的は、DRAMを用いる高性能マイクロプロセッサ用
の主メモリを提供することである。
目的は、DRAMを用いる高性能マイクロプロセッサ用
の主メモリを提供することである。
【0007】本発明の別の目的は、DRAMを用いる
が、SRAMの性能を発揮するマイクロプロセッサ用の
主メモリを得ることである。
が、SRAMの性能を発揮するマイクロプロセッサ用の
主メモリを得ることである。
【0008】
【課題を解決するための手段】DRAMを用いて高性能
プロセッサ用の主メモリが得られる。主メモリは多数の
メモリバンクへ分割され、各メモリバンクは、パワーリ
セットコードと、データと、データおよびコードの領域
により分離されているアドレスアクセスの動きとを差に
して、種々の行アドレスでセットアップされる。その結
果、DRAMアクセスのために要求される待機状態の数
が減少させられ、メモリアクセスの成功数が増加する。
DRAMにおいて定められる各メモリバンクはメモリの
異なるページを含む。そのために、DRAMのページア
クセスはスタチックRAMのページアクセスと同じであ
るから、全システムアクセスは改善される。どのページ
が求められるかを予測するために先見アルゴリズムが具
体化されるから、それらのページをDRAMバンクへ供
給できる。
プロセッサ用の主メモリが得られる。主メモリは多数の
メモリバンクへ分割され、各メモリバンクは、パワーリ
セットコードと、データと、データおよびコードの領域
により分離されているアドレスアクセスの動きとを差に
して、種々の行アドレスでセットアップされる。その結
果、DRAMアクセスのために要求される待機状態の数
が減少させられ、メモリアクセスの成功数が増加する。
DRAMにおいて定められる各メモリバンクはメモリの
異なるページを含む。そのために、DRAMのページア
クセスはスタチックRAMのページアクセスと同じであ
るから、全システムアクセスは改善される。どのページ
が求められるかを予測するために先見アルゴリズムが具
体化されるから、それらのページをDRAMバンクへ供
給できる。
【0009】以下に多ページDRAMのためにページ予
測方法および装置について説明する。本発明を完全に理
解できるようにするために、以下の説明においては、ビ
ット数、メモリバンクの数等のような特定の事項の詳細
について数多く述べてある。しかし、そのような特定の
詳細事項なしに本発明を実施できることが当業者には明
らかであろう。その他の場合には、本発明を不必要に詳
しく説明して本発明をあいまいにしないようにするため
に、周知の構成は説明しない。
測方法および装置について説明する。本発明を完全に理
解できるようにするために、以下の説明においては、ビ
ット数、メモリバンクの数等のような特定の事項の詳細
について数多く述べてある。しかし、そのような特定の
詳細事項なしに本発明を実施できることが当業者には明
らかであろう。その他の場合には、本発明を不必要に詳
しく説明して本発明をあいまいにしないようにするため
に、周知の構成は説明しない。
【0010】マイクロプロセッサまたは中央処理装置
(CPU)は命令を得て、それを解読し、実行するため
の装置である。マイクロプロセッサには情報を保持する
ためのメモリを組み合わせることを要する。そのメモリ
は「主メモリ」と呼ばれ、一連の命令(プログラム)を
保持し、データを記憶するために用いられる。マイクロ
プロセッサの記憶装置に影響を及ぼす2つの特性が容量
と速度である。
(CPU)は命令を得て、それを解読し、実行するため
の装置である。マイクロプロセッサには情報を保持する
ためのメモリを組み合わせることを要する。そのメモリ
は「主メモリ」と呼ばれ、一連の命令(プログラム)を
保持し、データを記憶するために用いられる。マイクロ
プロセッサの記憶装置に影響を及ぼす2つの特性が容量
と速度である。
【0011】メモリの速度は「アクセス時間」、「書込
み時間」および「メモリサイクル時間」に依存する。メ
モリの「アクセス時間」はメモリへ読出し制御信号を供
給し、メモリの出力が有効になるまでアドレスビットを
メモリへ加えるために要する時間に対応する。「書込み
時間」は、メモリへの書込み信号の送りと、新しいデー
タのメモリへの書込みとの間の時間である。「メモリサ
イクル時間」は読出し/書込み動作、読出し/読出し動
作、書込み/書込み動作、または書込み/読出し動作の
ような特定のメモリ機能を完了するために要する時間で
ある。
み時間」および「メモリサイクル時間」に依存する。メ
モリの「アクセス時間」はメモリへ読出し制御信号を供
給し、メモリの出力が有効になるまでアドレスビットを
メモリへ加えるために要する時間に対応する。「書込み
時間」は、メモリへの書込み信号の送りと、新しいデー
タのメモリへの書込みとの間の時間である。「メモリサ
イクル時間」は読出し/書込み動作、読出し/読出し動
作、書込み/書込み動作、または書込み/読出し動作の
ような特定のメモリ機能を完了するために要する時間で
ある。
【0012】コンピュータシステム中の主メモリは論理
的編成および物理的編成を有する。コンピュータシステ
ムの主メモリの物理的編成は、典型的には、マイクロプ
ロセッサおよびその他のコンピュータシステム部品と通
信するためのコンピュータシステムバスへ結合されるメ
モリアレイで構成される。主メモリ中のアドレス場所は
「物理アドレス」によりアクセスされる。情報項目を格
納する物理的主メモリの場所は物理アドレス空間または
物理的メモリ空間と呼ばれる。
的編成および物理的編成を有する。コンピュータシステ
ムの主メモリの物理的編成は、典型的には、マイクロプ
ロセッサおよびその他のコンピュータシステム部品と通
信するためのコンピュータシステムバスへ結合されるメ
モリアレイで構成される。主メモリ中のアドレス場所は
「物理アドレス」によりアクセスされる。情報項目を格
納する物理的主メモリの場所は物理アドレス空間または
物理的メモリ空間と呼ばれる。
【0013】特定の情報項目を指定するためにプログラ
ムにより用いられ、またはプログラムにより発生される
アドレスは「論理アドレス」と呼ばれる。情報項目を識
別するためにプログラムにより用いられる論理アドレス
セットは「論理アドレス空間」と呼ばれる。メモリの論
理編成は、論理アドレス空間を物理アドレス空間へ変換
するためのマッピング手段を含まなければならない。
(論理アドレス空間のサイズは物理アドレス空間のサイ
ズに等しい必要はない。)
ムにより用いられ、またはプログラムにより発生される
アドレスは「論理アドレス」と呼ばれる。情報項目を識
別するためにプログラムにより用いられる論理アドレス
セットは「論理アドレス空間」と呼ばれる。メモリの論
理編成は、論理アドレス空間を物理アドレス空間へ変換
するためのマッピング手段を含まなければならない。
(論理アドレス空間のサイズは物理アドレス空間のサイ
ズに等しい必要はない。)
【0014】多くの用途においては、主メモリの物理ア
ドレス空間よりも大きい論理アドレス空間を設けること
が望ましい。これは「仮想メモリ」として知られている
技術で行われる。仮想メモリ技術においては、ハードデ
ィスクドライブまたはフロッピーディスクドライブのよ
うな大容量記憶装置、すなわち補助記憶装置および物理
的主メモリで論理アドレス空間は表される。仮想メモリ
技術は、アドレスされる項目が主メモリに存在するの
か、補助大容量メモリに存在するのかを決定するための
機構を必要とする。アドレスされた項目が物理的メモリ
に存在しないと、スワッピングとして知られているプロ
セスでその項目を補助記憶装置から転送せねばならな
い。スワッピング動作は、マイクロプロセッサの監視
と、プログラムの実行に割り込むことを必要とする時間
のかかる動作である。個々のメモリ素子は仮想メモリ技
術においてはスワップされず、それよりもメモリ素子の
ブロックが定められ、メモリ素子を主メモリから補助メ
モリへ、または補助メモリから主メモリへ転送する時
は、そのメモリ素子を含んでいるブロック全体が転送さ
れる。それらの技術は「セグメンテーション」または
「ページング技術」と呼ばれる。
ドレス空間よりも大きい論理アドレス空間を設けること
が望ましい。これは「仮想メモリ」として知られている
技術で行われる。仮想メモリ技術においては、ハードデ
ィスクドライブまたはフロッピーディスクドライブのよ
うな大容量記憶装置、すなわち補助記憶装置および物理
的主メモリで論理アドレス空間は表される。仮想メモリ
技術は、アドレスされる項目が主メモリに存在するの
か、補助大容量メモリに存在するのかを決定するための
機構を必要とする。アドレスされた項目が物理的メモリ
に存在しないと、スワッピングとして知られているプロ
セスでその項目を補助記憶装置から転送せねばならな
い。スワッピング動作は、マイクロプロセッサの監視
と、プログラムの実行に割り込むことを必要とする時間
のかかる動作である。個々のメモリ素子は仮想メモリ技
術においてはスワップされず、それよりもメモリ素子の
ブロックが定められ、メモリ素子を主メモリから補助メ
モリへ、または補助メモリから主メモリへ転送する時
は、そのメモリ素子を含んでいるブロック全体が転送さ
れる。それらの技術は「セグメンテーション」または
「ページング技術」と呼ばれる。
【0015】セグメンテーション技術においては、任意
のサイズにされたメモリのブロックが大容量記憶装置か
ら主メモリへ転送される。セグメンテーション技術の欠
点は大きなメモリセグメントをスワップするために要す
る時間である。
のサイズにされたメモリのブロックが大容量記憶装置か
ら主メモリへ転送される。セグメンテーション技術の欠
点は大きなメモリセグメントをスワップするために要す
る時間である。
【0016】メモリページング技術によって主メモリ
を、「ページフレーム」と呼ばれる等しいサイズの小さ
いブロックに割り当てることができる。「ページ」(隣
接する論理アドレスのセット)はページフレームの中に
納められる。ページング技術により、設置されている物
理的メモリよりも大きい論理アドレス空間を実現でき
る。基準ページがメモリから失われたとすると、それは
大容量記憶装置から1つのユニットとしてスワップされ
る。すなわち、ページ全体が主メモリへスワップされ
る。
を、「ページフレーム」と呼ばれる等しいサイズの小さ
いブロックに割り当てることができる。「ページ」(隣
接する論理アドレスのセット)はページフレームの中に
納められる。ページング技術により、設置されている物
理的メモリよりも大きい論理アドレス空間を実現でき
る。基準ページがメモリから失われたとすると、それは
大容量記憶装置から1つのユニットとしてスワップされ
る。すなわち、ページ全体が主メモリへスワップされ
る。
【0017】ページング技術でも、メモリの速度がシス
テムの性能を低下させることがある。DRAMのアクセ
ス時間は高性能マイクロプロセッサの動作のために十分
に短いものではない。この隔たりとアクセス時間を適当
に補償しないと、SRAMキャッシュを用いずに零待ち
状態動作を行うことができない。
テムの性能を低下させることがある。DRAMのアクセ
ス時間は高性能マイクロプロセッサの動作のために十分
に短いものではない。この隔たりとアクセス時間を適当
に補償しないと、SRAMキャッシュを用いずに零待ち
状態動作を行うことができない。
【0018】従来の1つの解決技術は、頻繁に用いられ
るデータをアクセスするために用いられる連想スタチッ
クRAMメモリ(SRAM)を使用することである。連
想スタチックRAMメモリ技術はキャッシュ技術であ
り、マイクロプロセッサの希望のアクセス時間よりも長
いDRAMアクセス時間を補償する従来技術の試みであ
る。
るデータをアクセスするために用いられる連想スタチッ
クRAMメモリ(SRAM)を使用することである。連
想スタチックRAMメモリ技術はキャッシュ技術であ
り、マイクロプロセッサの希望のアクセス時間よりも長
いDRAMアクセス時間を補償する従来技術の試みであ
る。
【0019】キャッシュメモリというのは、プロセッサ
と大容量主メモリの間に設けられる高速で、比較的小型
のメモリである。典型的には、キャッシュメモリは高速
のスタチックRAM(SRAM)であって、主メモリは
より低速のDRAMである。キャッシュメモリの目標は
大容量の主メモリを高速SRAMとして見せることであ
る。これを行うために、システムおよびアプリケーショ
ンデータはDRAMに格納され、プログラムと、最も頻
繁にアクセスされるデータがSRAMに格納される。S
RAMに格納されている情報は定期的に更新されて、ア
クセスされようとするメモリ素子の変化を反映する。
と大容量主メモリの間に設けられる高速で、比較的小型
のメモリである。典型的には、キャッシュメモリは高速
のスタチックRAM(SRAM)であって、主メモリは
より低速のDRAMである。キャッシュメモリの目標は
大容量の主メモリを高速SRAMとして見せることであ
る。これを行うために、システムおよびアプリケーショ
ンデータはDRAMに格納され、プログラムと、最も頻
繁にアクセスされるデータがSRAMに格納される。S
RAMに格納されている情報は定期的に更新されて、ア
クセスされようとするメモリ素子の変化を反映する。
【0020】プロセッサアクセスの高い割合がキャッシ
ュに格納されている情報に対するものであるならば、キ
ャッシュは最も効果的である。キャッシュに格納される
プロセッサアクセスの割合は「キャッシュヒットレー
ト」と呼ばれる。このヒットレートが高いほど記憶装置
の効率が高い。
ュに格納されている情報に対するものであるならば、キ
ャッシュは最も効果的である。キャッシュに格納される
プロセッサアクセスの割合は「キャッシュヒットレー
ト」と呼ばれる。このヒットレートが高いほど記憶装置
の効率が高い。
【0021】キャッシングシステムの欠点は、要求され
ているメモリ場所がスタチックRAMキャッシュに見出
されないと判定された後まで、DRAM読出しサイクル
が開始されないことである。したがって、もし、キャッ
シュシステムが用いられないとすると、キャッシュ誤読
出しサイクルはDRAM読出しサイクルが要する時間よ
りも長い時間を必要とする。キャッシュシステムのヒッ
トレートが低くなりすぎたとすると、全体の性能はキャ
ッシュを用いない場合の性能より低くなることがある。
ているメモリ場所がスタチックRAMキャッシュに見出
されないと判定された後まで、DRAM読出しサイクル
が開始されないことである。したがって、もし、キャッ
シュシステムが用いられないとすると、キャッシュ誤読
出しサイクルはDRAM読出しサイクルが要する時間よ
りも長い時間を必要とする。キャッシュシステムのヒッ
トレートが低くなりすぎたとすると、全体の性能はキャ
ッシュを用いない場合の性能より低くなることがある。
【0022】キャッシュシステムは「直接マップ」キャ
ッシュまたは「連想」キャッシュとすることができる。
直接マップキャッシュにおいては、DRAM内の各キャ
ッシュはただ1つのキャッシュエントリに直接マップさ
れる。キャッシュが新しい場所の内容を格納する必要が
ないと、使用できるキャッシュエントリはただ1つある
だけである。したがって、プロセッサがメモリのアクセ
スを行うと、情報がキャッシュに格納されていることを
判定するために、キャッシュのただ1つのエントリを調
べなければならない。
ッシュまたは「連想」キャッシュとすることができる。
直接マップキャッシュにおいては、DRAM内の各キャ
ッシュはただ1つのキャッシュエントリに直接マップさ
れる。キャッシュが新しい場所の内容を格納する必要が
ないと、使用できるキャッシュエントリはただ1つある
だけである。したがって、プロセッサがメモリのアクセ
スを行うと、情報がキャッシュに格納されていることを
判定するために、キャッシュのただ1つのエントリを調
べなければならない。
【0023】連想キャッシュによりDRAM場所の内容
をキャッシュメモリの任意のエントリに置くことができ
る。新しい情報をキャッシュに格納する場合には、どの
キャッシュエントリが近い将来に再び要求されることが
最もありそうにないかを判定するためにあるアルゴリズ
ムが実現される。それからそのエントリに新しい場所の
内容が重ね書きされる。プロセッサがメモリアクセスを
行うと、情報をキャッシュに格納するかどうかを判定す
るために、キャッシュのあらゆるエントリを常に調べね
ばならない。
をキャッシュメモリの任意のエントリに置くことができ
る。新しい情報をキャッシュに格納する場合には、どの
キャッシュエントリが近い将来に再び要求されることが
最もありそうにないかを判定するためにあるアルゴリズ
ムが実現される。それからそのエントリに新しい場所の
内容が重ね書きされる。プロセッサがメモリアクセスを
行うと、情報をキャッシュに格納するかどうかを判定す
るために、キャッシュのあらゆるエントリを常に調べね
ばならない。
【0024】キャッシング技術を仮想メモリ環境におい
て使用できる。そのキャッシング技術は「仮想アドレス
キャッシュ」技術または「物理的アドレスキャッシュ」
技術として構成される。図1はキャッシュがプロセッサ
とメモリ管理装置(MMU)の間に設けられている場合
の仮想アドレスキャッシュ技術を示す。これによりプロ
セッサはキャッシュに対して高速アクセスを行うことが
できる。その理由は、MMU変換を求められる場合より
もキャッシュバスサイクルを速く行うことができるよう
に、キャッシュヒットがMMU変換の遅れを求めないか
らである。しかし、同じ仮想アドレスが種々のタスク
(プログラム)によりしばしば用いられるから、このシ
ステムはマルチタスクの環境においては欠点がある。こ
れは、従来の全てのキャッシュエントリが無効になるか
ら、プロセッサがタスクを切り換えるたびに全キャッシ
ュを「フラッシュする(空にする)」ことを要する。新
しいタスクの開始時にはキャッシュは空であるから、タ
スクのそのような変更が開始された時にはヒットレート
は低くなる。
て使用できる。そのキャッシング技術は「仮想アドレス
キャッシュ」技術または「物理的アドレスキャッシュ」
技術として構成される。図1はキャッシュがプロセッサ
とメモリ管理装置(MMU)の間に設けられている場合
の仮想アドレスキャッシュ技術を示す。これによりプロ
セッサはキャッシュに対して高速アクセスを行うことが
できる。その理由は、MMU変換を求められる場合より
もキャッシュバスサイクルを速く行うことができるよう
に、キャッシュヒットがMMU変換の遅れを求めないか
らである。しかし、同じ仮想アドレスが種々のタスク
(プログラム)によりしばしば用いられるから、このシ
ステムはマルチタスクの環境においては欠点がある。こ
れは、従来の全てのキャッシュエントリが無効になるか
ら、プロセッサがタスクを切り換えるたびに全キャッシ
ュを「フラッシュする(空にする)」ことを要する。新
しいタスクの開始時にはキャッシュは空であるから、タ
スクのそのような変更が開始された時にはヒットレート
は低くなる。
【0025】
【実施例】仮想アドレスキャッシュ技術が示されている
図1を参照する。プロセッサは仮想アドレス(論理アド
レス)をキャッシュ11へ供給する。仮想アドレスがキ
ャッシュメモリ11に設けられていないとすると、仮想
アドレスはMMU12へ供給され、そこで物理アドレス
へ変換される。物理アドレスはDRAM13へ供給さ
れ、それから希望のメモリ素子がMMUへ供給され、論
理アドレスへ変換され、プロセッサによりアクセスする
ためにキャッシュ11へ供給される。
図1を参照する。プロセッサは仮想アドレス(論理アド
レス)をキャッシュ11へ供給する。仮想アドレスがキ
ャッシュメモリ11に設けられていないとすると、仮想
アドレスはMMU12へ供給され、そこで物理アドレス
へ変換される。物理アドレスはDRAM13へ供給さ
れ、それから希望のメモリ素子がMMUへ供給され、論
理アドレスへ変換され、プロセッサによりアクセスする
ためにキャッシュ11へ供給される。
【0026】タスクスイッチングの欠点は、図2に示さ
れているように物理アドレスキャッシュにより克服でき
る。物理アドレスキャッシュにおいては、プロセッサ1
0は仮想アドレスをMMU12へ供給する。MMUは仮
想アドレスを物理アドレスへ翻訳し、利用可能であるな
らばデータをキャッシュから検索する。さもないと、物
理アドレスはDRAM13へ供給され、データがキャッ
シュとMMUを介してプロセッサ10へ供給される。図
2に示す物理アドレスキャッシュ技術はタスクスイッチ
ングにより影響されることはない。というのは、仮想ア
ドレスはキャッシュメモリ11をアクセスする前にMM
Uにより変換されるからである。すなわち、種々のアプ
リケーションが同じ仮想アドレスを共有するとしても、
キャッシュのアクセス前に物理アドレスが終了させられ
るから、タスクが切り換えられた時にキャッシュメモリ
11をフラッシュする必要はない。物理アドレスキャッ
シュ技術の欠点は、仮想アドレスを物理アドレスへ変換
するために要する時間を各メモリアクセスに対して必要
とすることである。
れているように物理アドレスキャッシュにより克服でき
る。物理アドレスキャッシュにおいては、プロセッサ1
0は仮想アドレスをMMU12へ供給する。MMUは仮
想アドレスを物理アドレスへ翻訳し、利用可能であるな
らばデータをキャッシュから検索する。さもないと、物
理アドレスはDRAM13へ供給され、データがキャッ
シュとMMUを介してプロセッサ10へ供給される。図
2に示す物理アドレスキャッシュ技術はタスクスイッチ
ングにより影響されることはない。というのは、仮想ア
ドレスはキャッシュメモリ11をアクセスする前にMM
Uにより変換されるからである。すなわち、種々のアプ
リケーションが同じ仮想アドレスを共有するとしても、
キャッシュのアクセス前に物理アドレスが終了させられ
るから、タスクが切り換えられた時にキャッシュメモリ
11をフラッシュする必要はない。物理アドレスキャッ
シュ技術の欠点は、仮想アドレスを物理アドレスへ変換
するために要する時間を各メモリアクセスに対して必要
とすることである。
【0027】本 発 明 本発明は、スタチックRAMキャッシュを必要とせず、
DRAMだけを用いてコンピュータシステムへ主メモリ
を提供する方法と装置である。本発明は、DRAMメモ
リのインターリーブされたバンクとページングメモリア
クセス技術を用いることにより、アクセス時間を短くす
る。ページ予測アルゴリズムはヒットレートを高くし
て、メモリの性能を向上させる。
DRAMだけを用いてコンピュータシステムへ主メモリ
を提供する方法と装置である。本発明は、DRAMメモ
リのインターリーブされたバンクとページングメモリア
クセス技術を用いることにより、アクセス時間を短くす
る。ページ予測アルゴリズムはヒットレートを高くし
て、メモリの性能を向上させる。
【0028】本発明はDRAMの多数のバンクをインタ
ーリーブして、DRAMの実効サイクル時間を短くす
る。一般に、各メモリバンクは0からnまでの番号をつ
けられた2n 個の隣接してアドレスされる物理的場所よ
り成る。ここに、nはコンピュータシステムのCPUに
より出されたアドレスにおけるビットの数である。
ーリーブして、DRAMの実効サイクル時間を短くす
る。一般に、各メモリバンクは0からnまでの番号をつ
けられた2n 個の隣接してアドレスされる物理的場所よ
り成る。ここに、nはコンピュータシステムのCPUに
より出されたアドレスにおけるビットの数である。
【0029】メモリのアクセスが順次行われるならば、
インターリーブ技術は動作を改良できる。インターリー
ブ技術は順次アドレッシングのためにDRAMのプリチ
ャージ時間(アドレス時間に影響する)を「隠す」ため
に用いられる。しかし、高速ページモード(スタチック
列モード)として知られている技術を用いることによ
り、実効アドレス時間を短くすることもできる。これに
より、アクセスが与えられたページ範囲内であるなら
ば、マイクロプロセッサはメモリ素子をページモードで
アクセスできる。既存のページに存在していないメモリ
場所に対してメモリアクセスが行われると、それは「ミ
ス」と呼ばれる。既存のページに存在するメモリ場所に
対するメモリアクセスは「ヒット」と呼ばれる。そのよ
うな技術を用いるシステムはミス中に完全DRAMプリ
チャージの罰を課す。
インターリーブ技術は動作を改良できる。インターリー
ブ技術は順次アドレッシングのためにDRAMのプリチ
ャージ時間(アドレス時間に影響する)を「隠す」ため
に用いられる。しかし、高速ページモード(スタチック
列モード)として知られている技術を用いることによ
り、実効アドレス時間を短くすることもできる。これに
より、アクセスが与えられたページ範囲内であるなら
ば、マイクロプロセッサはメモリ素子をページモードで
アクセスできる。既存のページに存在していないメモリ
場所に対してメモリアクセスが行われると、それは「ミ
ス」と呼ばれる。既存のページに存在するメモリ場所に
対するメモリアクセスは「ヒット」と呼ばれる。そのよ
うな技術を用いるシステムはミス中に完全DRAMプリ
チャージの罰を課す。
【0030】本発明は、費用がかからず、かつ構成を複
雑にすることなしに、キャッシュされたスタチックRA
Mシステムの応答を行わせる、インターリーブされたD
RAMバンクを用いるページメモリ技術を提供するもの
である。本発明を用いるとキャッシングは求められな
い。
雑にすることなしに、キャッシュされたスタチックRA
Mシステムの応答を行わせる、インターリーブされたD
RAMバンクを用いるページメモリ技術を提供するもの
である。本発明を用いるとキャッシングは求められな
い。
【0031】本発明のブロック図が図3に示されてい
る。マイクロプロセッサすなわちCPU10はアドレス
バス14と、制御バス15と、データバス16とを含
む。アドレスバス14はDRAM制御器17へ結合され
る。DRAM制御器17はバス19A〜19Dを介して
DRAMメモリバンク20A〜20Dとそれぞれ通信す
る。メモリバンク20A〜20DのためのRAS信号と
CAS信号が6ビット制御線22A〜22Dへそれぞれ
供給される。
る。マイクロプロセッサすなわちCPU10はアドレス
バス14と、制御バス15と、データバス16とを含
む。アドレスバス14はDRAM制御器17へ結合され
る。DRAM制御器17はバス19A〜19Dを介して
DRAMメモリバンク20A〜20Dとそれぞれ通信す
る。メモリバンク20A〜20DのためのRAS信号と
CAS信号が6ビット制御線22A〜22Dへそれぞれ
供給される。
【0032】4つのメモリバンクは4つの独立チャネル
19A〜19Dによりドライブされる。本発明において
はメモリアレイは1〜256メガバイトの間であるが、
適当な任意のサイズにできる。各DRAMは250kビ
ット、1Mビット、4Mビットまたは16Mビットとす
ることができる。1つのメモリバンクがアクセスされて
いる間に、プログラムが現在のバンクすなわちページか
ら進む時に待ち状態を避けるために、残りの3つのバン
クは前もってロードされる。メモリの与えられた任意の
ページにある物理アドレスが互いにスタックされるよう
に、メモリバンクはインターリーブされる。DRAMメ
モリバンクのメモリ編成の例は以下の通りである。この
例においては、512ページに等しい9ビットワイドの
行アドレスを有する256×4のDRAMが利用され
る。
19A〜19Dによりドライブされる。本発明において
はメモリアレイは1〜256メガバイトの間であるが、
適当な任意のサイズにできる。各DRAMは250kビ
ット、1Mビット、4Mビットまたは16Mビットとす
ることができる。1つのメモリバンクがアクセスされて
いる間に、プログラムが現在のバンクすなわちページか
ら進む時に待ち状態を避けるために、残りの3つのバン
クは前もってロードされる。メモリの与えられた任意の
ページにある物理アドレスが互いにスタックされるよう
に、メモリバンクはインターリーブされる。DRAMメ
モリバンクのメモリ編成の例は以下の通りである。この
例においては、512ページに等しい9ビットワイドの
行アドレスを有する256×4のDRAMが利用され
る。
【0033】 アドレス MSB SB A21 A2 行 バンク 列 バンク ページ 000000000 00 000000000 0 0 = = = = = = = = 000000000 00 111111111 0 0 000000000 01 000000000 1 0 = = = = = = = = 000000000 01 111111111 1 0 000000000 10 000000000 2 0 = = = = = = = = 000000000 10 111111111 2 0 000000000 11 000000000 3 0 = = = = = = = = 000000000 11 111111111 3 0 000000000 00 000000000 0 1 = = = = = = = = 000000000 00 111111111 0 1 000000000 01 000000000 1 1 000000000 01 111111111 1 1 = = = = = = = = = = = = 111111111 11 000000000 3 511 = = = = 111111111 11 111111111 3 511
【0034】本発明は、コードの動きとデータフェッチ
を考慮に入れる独特のページ交換アルゴリズムを含むこ
とにより高性能を達成するものである。コードの動きと
データフェッチのために、ページセットアップを最適に
して高いヒットレートを保証する。平均待ち状態が0と
0.2の間であるように、ヒットレートは80〜100
%の範囲にある。アルゴリズムはプログラムコードデー
タフェッチ先読みに対して働きかける。引き続くメモリ
アクセスのコードフェッチまたはデータフェッチが起こ
る場所を予測することにより、予測のより最近の結果
で、起動されていないページを前もってセットアップで
きる。通常のキャッシュ制御器は、キャッシュミスが生
じた時にデータをキャッシュメモリへフェッチし、1つ
または複数のラインをプリフェッチする。したがって、
ミスが生ずると常にDRAMアクセスが行われる結果と
なり、1つまたは複数の待ち状態が生ずることを意味す
る。本発明は、コードとデータの動きをモニタすること
によりヒットレートを高くする。この動きを基にして、
制御器は、ページの変更が起こる前にDRAMページを
どのようにしてセットアップするかを前もって決定す
る。予測が正しいとすると、ページが代わっても必ずし
も待機状態になることはない。
を考慮に入れる独特のページ交換アルゴリズムを含むこ
とにより高性能を達成するものである。コードの動きと
データフェッチのために、ページセットアップを最適に
して高いヒットレートを保証する。平均待ち状態が0と
0.2の間であるように、ヒットレートは80〜100
%の範囲にある。アルゴリズムはプログラムコードデー
タフェッチ先読みに対して働きかける。引き続くメモリ
アクセスのコードフェッチまたはデータフェッチが起こ
る場所を予測することにより、予測のより最近の結果
で、起動されていないページを前もってセットアップで
きる。通常のキャッシュ制御器は、キャッシュミスが生
じた時にデータをキャッシュメモリへフェッチし、1つ
または複数のラインをプリフェッチする。したがって、
ミスが生ずると常にDRAMアクセスが行われる結果と
なり、1つまたは複数の待ち状態が生ずることを意味す
る。本発明は、コードとデータの動きをモニタすること
によりヒットレートを高くする。この動きを基にして、
制御器は、ページの変更が起こる前にDRAMページを
どのようにしてセットアップするかを前もって決定す
る。予測が正しいとすると、ページが代わっても必ずし
も待機状態になることはない。
【0035】直線的に進むプログラムが区別されたペー
ジをアクセスするように、隣接するバンク内のアドレス
空間をマップすることにより高いヒットレートが達成さ
れる。したがって、メモリをプリチャージするためにペ
ージ変更は待機状態にならない。
ジをアクセスするように、隣接するバンク内のアドレス
空間をマップすることにより高いヒットレートが達成さ
れる。したがって、メモリをプリチャージするためにペ
ージ変更は待機状態にならない。
【0036】DRAMのタイミングは3つの基本的な部
分、すなわち、伝播時間と、RAS/(tRAC)、C
AS/(tCAC)および列アドレスアクセス時間(t
AA)と、プリチャージ時間とで構成される。DRAM
の伝播遅れはDRAMサイクル時間に、アドレスマルチ
プレクサと入出力バッファにより引き起こされる伝播時
間を加えたものである。本発明は、9〜36個のDRA
Mで構成できる4つの別々のアレイにメモリを分割する
ことにより、アドレス遅延を短くするものである。こう
すると容量負荷が45〜180ピコファラッドに減少す
る。列アドレスの伝播時間は、列アドレスのための統合
された高速経路により短縮されていた。このために非パ
イプラインモードで零待機状態を達成することが可能に
される。リフレッシュ時間をメモリアクセスサイクル中
に隠すことができる。1つのメモリバンクがアクセスさ
れている間に、リフレッシュが要求されるたびに残りの
3つのバンクがリフレッシュされる。リフレッシュはC
AS\beforeRAS\リフレッシュであって、R
AS\onlyリフレッシュと比較してスイッチング電
流を減少するという利点が得られる。
分、すなわち、伝播時間と、RAS/(tRAC)、C
AS/(tCAC)および列アドレスアクセス時間(t
AA)と、プリチャージ時間とで構成される。DRAM
の伝播遅れはDRAMサイクル時間に、アドレスマルチ
プレクサと入出力バッファにより引き起こされる伝播時
間を加えたものである。本発明は、9〜36個のDRA
Mで構成できる4つの別々のアレイにメモリを分割する
ことにより、アドレス遅延を短くするものである。こう
すると容量負荷が45〜180ピコファラッドに減少す
る。列アドレスの伝播時間は、列アドレスのための統合
された高速経路により短縮されていた。このために非パ
イプラインモードで零待機状態を達成することが可能に
される。リフレッシュ時間をメモリアクセスサイクル中
に隠すことができる。1つのメモリバンクがアクセスさ
れている間に、リフレッシュが要求されるたびに残りの
3つのバンクがリフレッシュされる。リフレッシュはC
AS\beforeRAS\リフレッシュであって、R
AS\onlyリフレッシュと比較してスイッチング電
流を減少するという利点が得られる。
【0037】本発明の好適な実施例においては、最長時
間が100マイクロ秒である個々のメモリバンクを選択
できる。その時間の経過後に行をプリチャージせねばな
らない。本発明は内部リフレッシュ要求のカウントを維
持し、5回の要求(約75マイクロ秒の後に起こる)の
後でRAS/lineをデアサートする。1回のリフレ
ッシュが終わった後で、ページアドレスはDRAMバン
クへ再びロードされる。リフレッシュが要求された時は
(約15秒ごとに行われる)、残りのページは連続して
リフレッシュされる。特定のバンクへのフェッチがなく
なると、待っているリフレッシュが直ちに実行される。
多数のリフレッシュが実行される時にはアクセスは認め
られるが、アクセスを開始できる前にリフレッシュの進
行が終わらされる。このリフレッシュ技術ではリフレッ
シュオーバヘッドがほぼ零まで減少させられる。
間が100マイクロ秒である個々のメモリバンクを選択
できる。その時間の経過後に行をプリチャージせねばな
らない。本発明は内部リフレッシュ要求のカウントを維
持し、5回の要求(約75マイクロ秒の後に起こる)の
後でRAS/lineをデアサートする。1回のリフレ
ッシュが終わった後で、ページアドレスはDRAMバン
クへ再びロードされる。リフレッシュが要求された時は
(約15秒ごとに行われる)、残りのページは連続して
リフレッシュされる。特定のバンクへのフェッチがなく
なると、待っているリフレッシュが直ちに実行される。
多数のリフレッシュが実行される時にはアクセスは認め
られるが、アクセスを開始できる前にリフレッシュの進
行が終わらされる。このリフレッシュ技術ではリフレッ
シュオーバヘッドがほぼ零まで減少させられる。
【0038】本発明で用いられるメモリ構成が図4に示
されている。この例においては、バンクA〜Dとして記
されている、おのおの9個のメモリで構成されている4
つの別々のアレイへメモリが分割される。バンクAはメ
モリ30A〜38Aを含み、バンクBはメモリ30B〜
38Bを含み、バンクCはメモリ30C〜38Cを含
み、バンクDはメモリ30D〜38Dを含む。各メモリ
は64キロビット×4、256キロビット×4または1
メガバイト×4とすることができる。メモリ38A〜3
8Dはデータの妥当性検査のためにパリティビットを受
ける。
されている。この例においては、バンクA〜Dとして記
されている、おのおの9個のメモリで構成されている4
つの別々のアレイへメモリが分割される。バンクAはメ
モリ30A〜38Aを含み、バンクBはメモリ30B〜
38Bを含み、バンクCはメモリ30C〜38Cを含
み、バンクDはメモリ30D〜38Dを含む。各メモリ
は64キロビット×4、256キロビット×4または1
メガバイト×4とすることができる。メモリ38A〜3
8Dはデータの妥当性検査のためにパリティビットを受
ける。
【0039】行アドレス選択信号CASA〜RASDが
メモリバンクA〜Dへそれぞれ供給されて、メモリアレ
イ内の行を選択する。列選択信号は希望のメモリ素子内
の適切な列を選択する。バンクAについて考えると、列
選択信号CASA0〜CASA3が供給される。CAS
A0はメモリバンク36Aと37Aへ結合される。信号
CASA1はメモリバンク34Aと35Aへ結合され
る。信号CASA2はメモリバンク32Aと33Aへ結
合される。信号CASA3はメモリバンク30Aと31
Aへ結合される。同様に、列選択信号CAS B0〜B
3がバンクBのメモリへ供給され、信号CAS C0〜
C3がバンクCへ供給され、信号CA D0〜D3がバ
ンクDへ供給される。
メモリバンクA〜Dへそれぞれ供給されて、メモリアレ
イ内の行を選択する。列選択信号は希望のメモリ素子内
の適切な列を選択する。バンクAについて考えると、列
選択信号CASA0〜CASA3が供給される。CAS
A0はメモリバンク36Aと37Aへ結合される。信号
CASA1はメモリバンク34Aと35Aへ結合され
る。信号CASA2はメモリバンク32Aと33Aへ結
合される。信号CASA3はメモリバンク30Aと31
Aへ結合される。同様に、列選択信号CAS B0〜B
3がバンクBのメモリへ供給され、信号CAS C0〜
C3がバンクCへ供給され、信号CA D0〜D3がバ
ンクDへ供給される。
【0040】図3のDRAM制御器17の詳細図が図5
に示されている。このDRAM制御器17はプロセッサ
制御バス15へ結合される。プロセッサ制御バス15は
制御信号を制御ブロック43へ供給する。それらの制御
信号はW/R,D/C,M/O,リセット,ADS,ク
ロック,RS16およびA20ゲートの各信号を含む。
プロセッサアドレスバス14はアドレス情報をアドレス
ラッチ44へ供給する。制御ブロック43は出力信号を
バス47へ供給する。遅延線ブロック68が出力信号7
0をRAS/CAS発生器クロック69へ供給する。マ
イクロプロセッサにより供給されるバイトイネイブル信
号40はアドレスラッチブロック44へ結合される。ア
ドレスラッチ44は出力をバス47を介してページ交換
ブロック53と、論理ブロック55と、プログラムの流
れ検出器ブロック59とへ供給する。
に示されている。このDRAM制御器17はプロセッサ
制御バス15へ結合される。プロセッサ制御バス15は
制御信号を制御ブロック43へ供給する。それらの制御
信号はW/R,D/C,M/O,リセット,ADS,ク
ロック,RS16およびA20ゲートの各信号を含む。
プロセッサアドレスバス14はアドレス情報をアドレス
ラッチ44へ供給する。制御ブロック43は出力信号を
バス47へ供給する。遅延線ブロック68が出力信号7
0をRAS/CAS発生器クロック69へ供給する。マ
イクロプロセッサにより供給されるバイトイネイブル信
号40はアドレスラッチブロック44へ結合される。ア
ドレスラッチ44は出力をバス47を介してページ交換
ブロック53と、論理ブロック55と、プログラムの流
れ検出器ブロック59とへ供給する。
【0041】モード選択信号41がモード制御ブロック
49へ供給される。モード制御ブロック49は出力をバ
ス47を介してRAS/CAS発生器ブロック69へ供
給される。ディスエイブルリフレッシュ信号42がリフ
レッシュブロック51へ供給される。このリフレッシュ
ブロック51は、適切な行と列を希望に応じてリフレッ
シュできるように、カウンタを含む。リフレッシュブロ
ック51は出力信号をバス47を介してRAS/CAS
発生器ブロック69へ供給する。RAS/CAS発生器
ブロック69はバス54を介して交換ブロック53へも
結合される。ページ交換ブロック53はアップ/ダウン
カウンタを含み、出力56〜58を論理ブロック55へ
供給する。プログラムの流れ検出器ブロック59は出力
をバス47へ供給する。
49へ供給される。モード制御ブロック49は出力をバ
ス47を介してRAS/CAS発生器ブロック69へ供
給される。ディスエイブルリフレッシュ信号42がリフ
レッシュブロック51へ供給される。このリフレッシュ
ブロック51は、適切な行と列を希望に応じてリフレッ
シュできるように、カウンタを含む。リフレッシュブロ
ック51は出力信号をバス47を介してRAS/CAS
発生器ブロック69へ供給する。RAS/CAS発生器
ブロック69はバス54を介して交換ブロック53へも
結合される。ページ交換ブロック53はアップ/ダウン
カウンタを含み、出力56〜58を論理ブロック55へ
供給する。プログラムの流れ検出器ブロック59は出力
をバス47へ供給する。
【0042】RAS/CAS発生器ブロック69は出力
をバス62を介して出力ブロック64A,64B,64
C,64Dへ供給する。ページ交換ブロック53は出力
をバス62を介して出力ブロック64A〜64Dへ供給
する。出力ブロック64A〜64Dはアドレス情報をバ
ス19A〜19Dをそれぞれ介してメモリバンクA〜D
へ供給する。出力ブロック64A〜64Dは行アドレス
信号、列アドレス信号CAS0〜CAS3を各メモリバ
ンクへ供給し、かつ書込みイネイブル信号を供給する。
をバス62を介して出力ブロック64A,64B,64
C,64Dへ供給する。ページ交換ブロック53は出力
をバス62を介して出力ブロック64A〜64Dへ供給
する。出力ブロック64A〜64Dはアドレス情報をバ
ス19A〜19Dをそれぞれ介してメモリバンクA〜D
へ供給する。出力ブロック64A〜64Dは行アドレス
信号、列アドレス信号CAS0〜CAS3を各メモリバ
ンクへ供給し、かつ書込みイネイブル信号を供給する。
【0043】各メモリバンクは自身のアドレスを有し、
かつ自身のページレジスタを有する。したがって、従来
の技術におけるよりも多くのページを「活動的」(アク
セス可能)にできる。活動的なページが多くなると、ビ
ットレートが高くなり、平均アクセス時間が短くなる。
かつ自身のページレジスタを有する。したがって、従来
の技術におけるよりも多くのページを「活動的」(アク
セス可能)にできる。活動的なページが多くなると、ビ
ットレートが高くなり、平均アクセス時間が短くなる。
【0044】ページ交換アルゴリズム 本発明では、ROWプリチャージの数と長いRAS/C
ASアクセスサイクルの数が最少にされるから、待ち状
態の数が本発明により減少させられる。ページを前もっ
て最も効果的にセットアップするための鍵は、残ってい
る活動していないページの正しいページ選択の背後のア
ルゴリズムである。
ASアクセスサイクルの数が最少にされるから、待ち状
態の数が本発明により減少させられる。ページを前もっ
て最も効果的にセットアップするための鍵は、残ってい
る活動していないページの正しいページ選択の背後のア
ルゴリズムである。
【0045】下記の変数について考える。 ・セットアップのない2/3/4ウェイシングルバンク
インターリーブ ・コードとデータの動き−増加または減少 ・ランダムページセットアップ ・リフレッシュ後のページ再ロード ・リセット後のページプリロード
インターリーブ ・コードとデータの動き−増加または減少 ・ランダムページセットアップ ・リフレッシュ後のページ再ロード ・リセット後のページプリロード
【0046】コードフェッチとデータフェッチの動きは
著しい特徴を有する。ランダム型データフェッチは、ア
レイのスタックアクセスまたはデータ転送であるらしい
順次型データフェッチとは異なるやり方で、残りのペー
ジをセットアップすることを求める。
著しい特徴を有する。ランダム型データフェッチは、ア
レイのスタックアクセスまたはデータ転送であるらしい
順次型データフェッチとは異なるやり方で、残りのペー
ジをセットアップすることを求める。
【0047】現在のアクセスがコードフェッチであると
すると、残りのページは最後に起きたデータフェッチへ
セットアップされる。コードフェッチまたはデータフェ
ッチがページの境界に接近したとすると、隣接する1つ
のページが自動的にセットアップされて、1つのページ
から次のページへ移動できるようにし、その間に残りの
ページはデータフェッチのためにセットアップされる。
すると、残りのページは最後に起きたデータフェッチへ
セットアップされる。コードフェッチまたはデータフェ
ッチがページの境界に接近したとすると、隣接する1つ
のページが自動的にセットアップされて、1つのページ
から次のページへ移動できるようにし、その間に残りの
ページはデータフェッチのためにセットアップされる。
【0048】ページ記述子 全てのバンクには現在のページ記述子ブロック(CPD
B)および履歴ページ記述子ブロック(HPDB)と呼
ばれる2つのページ記述子がある。
B)および履歴ページ記述子ブロック(HPDB)と呼
ばれる2つのページ記述子がある。
【0049】ページ記述子はバンク番号と、ある数のフ
ラッグと、ページアドレスとで構成される。ページのア
ドレスサイズは電源投入の後で決定される。ページ記述
子のためのマスクレジスタは使用されていないアドレス
ビットである。あるビットがマスクレジスタにセットさ
れたとすると、アドレスビットは無効にされる。
ラッグと、ページアドレスとで構成される。ページのア
ドレスサイズは電源投入の後で決定される。ページ記述
子のためのマスクレジスタは使用されていないアドレス
ビットである。あるビットがマスクレジスタにセットさ
れたとすると、アドレスビットは無効にされる。
【0050】あらゆるバンクのためのページ記述子は、
バンクを前もってどのようにセットアップするかを決定
するために用いられる情報を保持する。ページ記述子は
下記のように構成される。
バンクを前もってどのようにセットアップするかを決定
するために用いられる情報を保持する。ページ記述子は
下記のように構成される。
【0051】 :B0 B1 H/CPDB\ACT RF D/C\PCC RCD:B0 B1 それら2つのビットはバンク番号を含む。
【0052】H/CPDB\ このビットがセットされたとすると、ページ記述子は履
歴ページ記述子である。現在のページ記述子の内容は、
ページを離れた後で、履歴ページ記述子へロードされ
る。
歴ページ記述子である。現在のページ記述子の内容は、
ページを離れた後で、履歴ページ記述子へロードされ
る。
【0053】ACT このビットは、現在のアクセスがこのバンクに対するも
のであればセットされ、現在のアクセスが異なるバンク
に対するものであればリセットされる。
のであればセットされ、現在のアクセスが異なるバンク
に対するものであればリセットされる。
【0054】RF バンクがリフレッシュされる間にこのビットはセットさ
れる。リフレッシュ後は、ページはDRAMへ再びロー
ドされる。
れる。リフレッシュ後は、ページはDRAMへ再びロー
ドされる。
【0055】D/C\ このビットは、現在のアクセスがデータフェッチであれ
ばセットされ、現在のアクセスがコードフェッチであれ
ばリセットされる。
ばセットされ、現在のアクセスがコードフェッチであれ
ばリセットされる。
【0056】RCC ページがランダムな場所から出て、アクセスがコードア
クセスであるならば、このビットはセットされる。ペー
ジが順次出るならばこのビットはリセットされる。
クセスであるならば、このビットはセットされる。ペー
ジが順次出るならばこのビットはリセットされる。
【0057】RCD ページがランダムな場所から出て、アクセスがデータア
クセスであるならば、このビットはセットされる。ペー
ジが順次出るならばこのビットはリセットされる。
クセスであるならば、このビットはセットされる。ペー
ジが順次出るならばこのビットはリセットされる。
【0058】本発明を用いるメモリアクセス動作の流れ
図が図6に示されている。ステップ101においては、
アクセスされるページ(マイクロプロセッサによりアク
セスされるページ)を起動させる試みが行われる。アク
セスされたページの利用可能性がステップ102におい
て判定される。ページが失われないとすると、すなわ
ち、メモリバンクA,B,CまたはDの1つでページが
見つかったとすると、システムはステップ103へ進
み、高速ページアクセスが行われる。
図が図6に示されている。ステップ101においては、
アクセスされるページ(マイクロプロセッサによりアク
セスされるページ)を起動させる試みが行われる。アク
セスされたページの利用可能性がステップ102におい
て判定される。ページが失われないとすると、すなわ
ち、メモリバンクA,B,CまたはDの1つでページが
見つかったとすると、システムはステップ103へ進
み、高速ページアクセスが行われる。
【0059】アクセスされるページがメモリバンクA,
B,C,Dから失われたとすると、システムはステップ
104へ進み、ページは活動状態を解除される。それか
らシステムはステップ105へ進み、新しいページのセ
ットアップが行われる。新しいページのセットアップは
本発明のページ予測アルゴリズムに従って行われる。
B,C,Dから失われたとすると、システムはステップ
104へ進み、ページは活動状態を解除される。それか
らシステムはステップ105へ進み、新しいページのセ
ットアップが行われる。新しいページのセットアップは
本発明のページ予測アルゴリズムに従って行われる。
【0060】本発明のページ予測アルゴリズムは図7に
示すようにいくつかの並列動作を用いる。リセット状態
110の時には、ステップ111においてバンクDが最
も上のアドレスへセットされ、バンクAは最も下のアド
レスへセットされる。ステップ113において、スタッ
クは、可能であれば、アクセスされたページを含むため
にセットアップされる。コードおよびデータをアクセス
するためには、参照されているアドレスがステップ11
4において上限にあるものとすると、セットアップされ
るページはステップ115において現在の行より上でな
ければならない。ステップ116において、参照される
アドレスが下限にあるものとすると、セットアップされ
るページはステップ117において現在の行より低くな
ければならない。コードアドレスのためには、ステップ
118においてコードがランダムに変更されるものとす
ると、ページセットアップは、ステップ119において
参照されたコードを含んでいる以前のページに対するも
のである。
示すようにいくつかの並列動作を用いる。リセット状態
110の時には、ステップ111においてバンクDが最
も上のアドレスへセットされ、バンクAは最も下のアド
レスへセットされる。ステップ113において、スタッ
クは、可能であれば、アクセスされたページを含むため
にセットアップされる。コードおよびデータをアクセス
するためには、参照されているアドレスがステップ11
4において上限にあるものとすると、セットアップされ
るページはステップ115において現在の行より上でな
ければならない。ステップ116において、参照される
アドレスが下限にあるものとすると、セットアップされ
るページはステップ117において現在の行より低くな
ければならない。コードアドレスのためには、ステップ
118においてコードがランダムに変更されるものとす
ると、ページセットアップは、ステップ119において
参照されたコードを含んでいる以前のページに対するも
のである。
【0061】図7に示されている動作は並列に実行され
る。メモリのあらゆるアクセスに対して、履歴はページ
記述子レジスタに維持される。その履歴は最後のメモリ
アクセスを含み、コードアクセス、データアクセス、ス
タックアクセス等としてそれを識別する。
る。メモリのあらゆるアクセスに対して、履歴はページ
記述子レジスタに維持される。その履歴は最後のメモリ
アクセスを含み、コードアクセス、データアクセス、ス
タックアクセス等としてそれを識別する。
【0062】以上、多ページDRAMに対するページ予
測法およびその装置について説明した。
測法およびその装置について説明した。
【図1】従来のキャッシュシステムのブロック図であ
る。
る。
【図2】従来の別のキャッシュシステムのブロック図で
ある。
ある。
【図3】本発明のブロック図である。
【図4】本発明のメモリアレイ構成のブロック図であ
る。
る。
【図5】図3の制御器の詳しいブロック図である。
【図6】本発明のメモリアクセスの流れ図である。
【図7】本発明のページセットアップ技術のいくつかの
並列動作を示す。
並列動作を示す。
10 CPU 14 アドレスバス 15 制御バス 16 データバス 17 DRAM制御器 20 DRAMバンク 43 制御ブロック 44 アドレスラッチ 53 ページ交換ブロック 68 遅延線ブロック 69 RAS/CAS発生器ブロック
Claims (1)
- 【請求項1】 複数のメモリバンクと、 処理手段と前記複数のメモリバンクへ結合され、前記処
理手段からメモリページアドレスを受け、それらのメモ
リページアドレスに応じて、前記複数のメモリバンクの
1つへ前記メモリページアドレスを供給する制御手段
と、を備え、前記メモリバンクは前記複数のメモリバン
クの隣接する1つへマップされる関連するアドレス空間
を有する記憶装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US604785 | 1984-04-27 | ||
| US60478590A | 1990-10-26 | 1990-10-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06103163A true JPH06103163A (ja) | 1994-04-15 |
Family
ID=24421043
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3307236A Pending JPH06103163A (ja) | 1990-10-26 | 1991-10-28 | 記憶装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0482575A3 (ja) |
| JP (1) | JPH06103163A (ja) |
| KR (1) | KR920008751A (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5745914A (en) * | 1996-02-09 | 1998-04-28 | International Business Machines Corporation | Technique for converting system signals from one address configuration to a different address configuration |
| WO1999019875A2 (en) * | 1997-10-10 | 1999-04-22 | Rambus Incorporated | Apparatus and method for pipelined memory operations |
| FR2778258A1 (fr) | 1998-04-29 | 1999-11-05 | Texas Instruments France | Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces |
| FR2778255B1 (fr) * | 1998-04-29 | 2003-12-12 | Texas Instruments France | Commande de memoire utilisant une information d'etat de memoire pour reduire le temps d'attente d'acces |
| EP0921468B1 (en) * | 1997-12-05 | 2018-01-31 | Texas Instruments Incorporated | Memory control using memory state information for reducing access latency |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS578980A (en) * | 1980-06-18 | 1982-01-18 | Hitachi Ltd | Memory device |
| JPS6043756A (ja) * | 1983-08-19 | 1985-03-08 | Nec Corp | メモリ管理方式 |
| JPS61145793A (ja) * | 1984-12-19 | 1986-07-03 | Toshiba Corp | ダイナミツク型メモリのペ−ジアクセス制御系 |
| JPS6334652A (ja) * | 1986-07-24 | 1988-02-15 | サン・マイクロシステムズ・インコ−ポレ−テツド | コンピユ−タ・メモリのアクセス方法およびシステム |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS635444A (ja) * | 1986-06-25 | 1988-01-11 | Hitachi Ltd | マイクロプロセツサ |
| US4839796A (en) * | 1987-07-16 | 1989-06-13 | Icon International, Inc. | Static frame digital memory |
| US4924375A (en) * | 1987-10-23 | 1990-05-08 | Chips And Technologies, Inc. | Page interleaved memory access |
-
1991
- 1991-10-22 EP EP19910117983 patent/EP0482575A3/en not_active Withdrawn
- 1991-10-25 KR KR1019910018863A patent/KR920008751A/ko not_active Ceased
- 1991-10-28 JP JP3307236A patent/JPH06103163A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS578980A (en) * | 1980-06-18 | 1982-01-18 | Hitachi Ltd | Memory device |
| JPS6043756A (ja) * | 1983-08-19 | 1985-03-08 | Nec Corp | メモリ管理方式 |
| JPS61145793A (ja) * | 1984-12-19 | 1986-07-03 | Toshiba Corp | ダイナミツク型メモリのペ−ジアクセス制御系 |
| JPS6334652A (ja) * | 1986-07-24 | 1988-02-15 | サン・マイクロシステムズ・インコ−ポレ−テツド | コンピユ−タ・メモリのアクセス方法およびシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0482575A3 (en) | 1992-05-27 |
| EP0482575A2 (en) | 1992-04-29 |
| KR920008751A (ko) | 1992-05-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5751994A (en) | System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters | |
| US5809522A (en) | Microprocessor system with process identification tag entries to reduce cache flushing after a context switch | |
| US6389514B1 (en) | Method and computer system for speculatively closing pages in memory | |
| US5499355A (en) | Prefetching into a cache to minimize main memory access time and cache size in a computer system | |
| US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
| US5210845A (en) | Controller for two-way set associative cache | |
| US6327642B1 (en) | Parallel access virtual channel memory system | |
| US5586283A (en) | Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer | |
| CA2020275C (en) | Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access | |
| US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
| US5875451A (en) | Computer hybrid memory including DRAM and EDRAM memory components, with secondary cache in EDRAM for DRAM | |
| US5752272A (en) | Memory access control device with prefetch and read out block length control functions | |
| US6708254B2 (en) | Parallel access virtual channel memory system | |
| JP2001195303A (ja) | 機能が並列に分散された変換索引バッファ | |
| US6332179B1 (en) | Allocation for back-to-back misses in a directory based cache | |
| US12518819B2 (en) | Method and apparatus for recovering regular access performance in fine-grained DRAM | |
| JPH07104816B2 (ja) | コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置 | |
| EP1139222A1 (en) | Prefetch for TLB cache | |
| US5161219A (en) | Computer system with input/output cache | |
| EP0470739B1 (en) | Method for managing a cache memory system | |
| US5287512A (en) | Computer memory system and method for cleaning data elements | |
| US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
| US20080098176A1 (en) | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching | |
| US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
| JPH06103163A (ja) | 記憶装置 |