JPH0745073A - Dramのリフレッシュ方法 - Google Patents
Dramのリフレッシュ方法Info
- Publication number
- JPH0745073A JPH0745073A JP5187756A JP18775693A JPH0745073A JP H0745073 A JPH0745073 A JP H0745073A JP 5187756 A JP5187756 A JP 5187756A JP 18775693 A JP18775693 A JP 18775693A JP H0745073 A JPH0745073 A JP H0745073A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- access
- dram
- bank
- cpu
- 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
Landscapes
- Dram (AREA)
Abstract
(57)【要約】
【目的】 DRAMを使用するコンピュータシステムに
おいて、リフレッシュ専用サイクルを削減して、システ
ムのパフォーマンスを向上させる。 【構成】 CPUや他のバスマスタが、どのメモリ等に
アクセスしているかを検出する回路を設け、任意のバス
サイクル中にリフレッシュを行うことにより、リフレッ
シュのための専用バスサイクルを極力少なくすることに
より、システムのパフォーマンスを向上させる。
おいて、リフレッシュ専用サイクルを削減して、システ
ムのパフォーマンスを向上させる。 【構成】 CPUや他のバスマスタが、どのメモリ等に
アクセスしているかを検出する回路を設け、任意のバス
サイクル中にリフレッシュを行うことにより、リフレッ
シュのための専用バスサイクルを極力少なくすることに
より、システムのパフォーマンスを向上させる。
Description
【0001】
【産業上の利用分野】本発明は、DRAMを用いたコン
ピュータシステムにおけるリフレッシュ方法に係わり、
特にリフレッシュサイクルによるシステムのパフォーマ
ンス低下を抑止するDRAMのリフレッシュ方法に関す
る。
ピュータシステムにおけるリフレッシュ方法に係わり、
特にリフレッシュサイクルによるシステムのパフォーマ
ンス低下を抑止するDRAMのリフレッシュ方法に関す
る。
【0002】
【従来の技術】DRAMを用いたコンピュータシステム
では、DRAMの記憶保持のためのリフレッシュが必要
である。リフレッシュはDRAMを構成する全ての記憶
素子に対し、ある規定された期間内に行われなければな
らない。
では、DRAMの記憶保持のためのリフレッシュが必要
である。リフレッシュはDRAMを構成する全ての記憶
素子に対し、ある規定された期間内に行われなければな
らない。
【0003】従来のDRAMリフレッシュは、CPUあ
るいはDMAC(ダイレクトメモリアクセスコントロー
ラ)、あるいはリフレッシュコントローラ等により実現
されているが、いずれにしてもリフレッシュのためのバ
ス占有時間を必要としていた。
るいはDMAC(ダイレクトメモリアクセスコントロー
ラ)、あるいはリフレッシュコントローラ等により実現
されているが、いずれにしてもリフレッシュのためのバ
ス占有時間を必要としていた。
【0004】この事情を図1及び図2を用いて説明す
る。
る。
【0005】図1は、一般的な従来のDRAMコントロ
ーラ周りのブロック図である。104で示されるDRA
Mコントローラは、各メモリアクセス要求元からメモリ
アクセスリクエストを受け取り、複数のメモリアクセス
リクエスト間の調停を行い、その結果適切なメモリアク
セスのための制御信号、適切なタイミングでDRAM部
に出力する。ここでは、メモリアクセス要求元として、
CPU、DMAC、及びリフレッシュタイマを想定して
いる。101a はCPUからのメモリアクセスリクエス
ト(CPU−req #)であり、101b はDRAMコン
トローラから当該メモリリクエスト101a が受け付け
られたことを示すアクノリッジ信号(CPU−ack #)
で、当該リクエストの発行元であるCPUに返送され
る。リクエストの発行元はアクノリッジ信号によってメ
モリアクセスサイクルが終了したことを知ることがで
き、次のリクエストを発行することができる。102a
(DMA−req #)、102b (DMA−ack #)は、
DMACに対応するリクエスト及びアクノリッジであ
り、動作としては上記CPUの場合と同様である。
ーラ周りのブロック図である。104で示されるDRA
Mコントローラは、各メモリアクセス要求元からメモリ
アクセスリクエストを受け取り、複数のメモリアクセス
リクエスト間の調停を行い、その結果適切なメモリアク
セスのための制御信号、適切なタイミングでDRAM部
に出力する。ここでは、メモリアクセス要求元として、
CPU、DMAC、及びリフレッシュタイマを想定して
いる。101a はCPUからのメモリアクセスリクエス
ト(CPU−req #)であり、101b はDRAMコン
トローラから当該メモリリクエスト101a が受け付け
られたことを示すアクノリッジ信号(CPU−ack #)
で、当該リクエストの発行元であるCPUに返送され
る。リクエストの発行元はアクノリッジ信号によってメ
モリアクセスサイクルが終了したことを知ることがで
き、次のリクエストを発行することができる。102a
(DMA−req #)、102b (DMA−ack #)は、
DMACに対応するリクエスト及びアクノリッジであ
り、動作としては上記CPUの場合と同様である。
【0006】図1で示される例でのリフレッシュは、D
RAMコントローラが、ある種のリフレッシュタイマか
らのリフレッシュリクエスト103a (REF−req
#)を受け取り、CASビフォアRAS方式のリフレッ
シュ制御を行い、リフレッシュタイマにリフレッシュリ
クエストに対するアクノリッジ信号103d (REF−
ack #)を返送するという方法を想定する。ここで、R
EF−req #とREF−ack #の動作は、上記CPU−
req #とCPU−ack #の動作と同様である。
RAMコントローラが、ある種のリフレッシュタイマか
らのリフレッシュリクエスト103a (REF−req
#)を受け取り、CASビフォアRAS方式のリフレッ
シュ制御を行い、リフレッシュタイマにリフレッシュリ
クエストに対するアクノリッジ信号103d (REF−
ack #)を返送するという方法を想定する。ここで、R
EF−req #とREF−ack #の動作は、上記CPU−
req #とCPU−ack #の動作と同様である。
【0007】図2は、図1においてCPU−req #とR
EF−req #がDRAMコントローラに発行された場合
のタイミングチャートを示している。なお、ここで示さ
れる信号は、アクティブ’L’(LOW)であると想定
する。Φ1のサイクルにおいてCPUからのメモリアク
セスリクエストCPU−req #が送出され、DRAMコ
ントローラは、他のメモリアクセスリクエストが存在し
ないことを確認し、メモリアクセスのための制御信号を
DRAM部に送出するが、ここでは、当該制御信号のう
ち、RAS#及びCAS#のみを表示している。ここで
留意すべきは、RAS#、CAS#のタイミングであ
り、通常のメモリアクセスでは、RAS#が先にアクテ
ィブになり、CAS#が後にアクティブになるというこ
とである。
EF−req #がDRAMコントローラに発行された場合
のタイミングチャートを示している。なお、ここで示さ
れる信号は、アクティブ’L’(LOW)であると想定
する。Φ1のサイクルにおいてCPUからのメモリアク
セスリクエストCPU−req #が送出され、DRAMコ
ントローラは、他のメモリアクセスリクエストが存在し
ないことを確認し、メモリアクセスのための制御信号を
DRAM部に送出するが、ここでは、当該制御信号のう
ち、RAS#及びCAS#のみを表示している。ここで
留意すべきは、RAS#、CAS#のタイミングであ
り、通常のメモリアクセスでは、RAS#が先にアクテ
ィブになり、CAS#が後にアクティブになるというこ
とである。
【0008】次のΦ2のサイクルでは、CPU−req #
とREF−req #が同時にアクティブになっている。こ
の場合、DRAMコントローラは、どちらのリクエスト
を先に受け付けるかを決定しなければならないが、通常
用いられている調停アルゴリズムでは、REF−req #
を優先する場合が一般的であり、本例でもそれに従って
いる。その結果、Φ2サイクルでは、CAS#リフォア
RAS#方式のリフレッシュサイクルが実行され、RE
F−req #と同時に発行されたCPU−req #のメモリ
アクセスは、Φ3のサイクルで行われる。
とREF−req #が同時にアクティブになっている。こ
の場合、DRAMコントローラは、どちらのリクエスト
を先に受け付けるかを決定しなければならないが、通常
用いられている調停アルゴリズムでは、REF−req #
を優先する場合が一般的であり、本例でもそれに従って
いる。その結果、Φ2サイクルでは、CAS#リフォア
RAS#方式のリフレッシュサイクルが実行され、RE
F−req #と同時に発行されたCPU−req #のメモリ
アクセスは、Φ3のサイクルで行われる。
【0009】
【発明が解決しようとする課題】上に述べたように、図
2に示す従来のリフレッシュ方法では、CPU−req に
よるメモリアクセスは、本来ならばΦ2のみで終了でき
るにも拘らず、定期的に発生するリフレッシュサイクル
のために、この場合Φ2とΦ3の2サイクルかかってし
まい、その分システムのパフォーマンスの低下を招くと
いう問題点がある。
2に示す従来のリフレッシュ方法では、CPU−req に
よるメモリアクセスは、本来ならばΦ2のみで終了でき
るにも拘らず、定期的に発生するリフレッシュサイクル
のために、この場合Φ2とΦ3の2サイクルかかってし
まい、その分システムのパフォーマンスの低下を招くと
いう問題点がある。
【0010】これは、DRAMにとって定期的なリフレ
ッシュが不可欠なために発生することであり、従来のD
RAMを使用したコンピュータシステムでは避けられな
い問題であった。
ッシュが不可欠なために発生することであり、従来のD
RAMを使用したコンピュータシステムでは避けられな
い問題であった。
【0011】この問題を解決しようとする先行技術とし
て、例えば「ノイマン型CPUにおけるDRAMリフレ
ッシュ方法(特開平5−89671)」がある。これ
は、オペコードフェッチサイクル中にDRAMのリフレ
ッシュを行うことにより、リフレッシュ専用サイクルを
なくし、CPUの処理速度の向上を図るというものであ
る。更に詳しくは、例えば、命令コードがROM(リー
ドオンリーメモリ)やSRAM(スタティックランダム
アクセスメモリ)等のリフレッシュを必要としないメモ
リに格納されており、DRAMはオペコードフェッチに
引き続く命令実行のためにアクセスされるようなシステ
ムにおいて、ROMあるいはSRAMからのオペコード
フェッチサイクル中にDRAMに対するリフレッシュを
行おうというものである。これは、ノイマン型CPUの
動作がオペコードフェッチとその命令実行を繰り返すと
いう性質を利用したものである。
て、例えば「ノイマン型CPUにおけるDRAMリフレ
ッシュ方法(特開平5−89671)」がある。これ
は、オペコードフェッチサイクル中にDRAMのリフレ
ッシュを行うことにより、リフレッシュ専用サイクルを
なくし、CPUの処理速度の向上を図るというものであ
る。更に詳しくは、例えば、命令コードがROM(リー
ドオンリーメモリ)やSRAM(スタティックランダム
アクセスメモリ)等のリフレッシュを必要としないメモ
リに格納されており、DRAMはオペコードフェッチに
引き続く命令実行のためにアクセスされるようなシステ
ムにおいて、ROMあるいはSRAMからのオペコード
フェッチサイクル中にDRAMに対するリフレッシュを
行おうというものである。これは、ノイマン型CPUの
動作がオペコードフェッチとその命令実行を繰り返すと
いう性質を利用したものである。
【0012】しかし、この該先行技術は、何等かの理由
によりCPUが長い間オペコードフェッチを行わない状
況が生じた場合、DRAMに対するリフレッシュが行わ
れなくなるという問題がある。
によりCPUが長い間オペコードフェッチを行わない状
況が生じた場合、DRAMに対するリフレッシュが行わ
れなくなるという問題がある。
【0013】例えば、DMACがCPUを中止状態にし
て、バスを専有してしまうような場合が該当する。又、
通常のコンピュータシステムでは、命令コードは主記憶
としてのDRAMに格納されることが一般的であるが、
その場合オペコードフェッチのためのDRAMアクセス
と、当該オペコードフェッチ中のリフレッシュのための
DRAMアクセスの競合の際の対処が困難であるという
問題点がある。
て、バスを専有してしまうような場合が該当する。又、
通常のコンピュータシステムでは、命令コードは主記憶
としてのDRAMに格納されることが一般的であるが、
その場合オペコードフェッチのためのDRAMアクセス
と、当該オペコードフェッチ中のリフレッシュのための
DRAMアクセスの競合の際の対処が困難であるという
問題点がある。
【0014】本発明は、前記従来の問題点を解決するべ
くなされたもので、CPUや他のバスマスタがある任意
のバスサイクルを実行中に、可能な限りリフレッシュサ
イクルを実行し、且つ確実にリフレッシュが行われるよ
うな方法と併用することにより、コンピュータシステム
のパフォーマンスを向上させることができるDRAMの
リフレッシュ方法を提供することを目的とする。
くなされたもので、CPUや他のバスマスタがある任意
のバスサイクルを実行中に、可能な限りリフレッシュサ
イクルを実行し、且つ確実にリフレッシュが行われるよ
うな方法と併用することにより、コンピュータシステム
のパフォーマンスを向上させることができるDRAMの
リフレッシュ方法を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明は、CPUと他の
バスマスタ及びDRAM、ROM、その他の論理回路を
有するコンピュータシステムにおけるDRAMのリフレ
ッシュ方法において、該CPUあるいは他のバスマスタ
が、該DRAMやROMあるいは他の論理回路のいずれ
かにアクセスしているかを判別するアクセス判別回路を
設け、該アクセス判別回路により、前記CPUあるいは
他のバスマスタのアクセス対象を認知し、該アクセスが
DRAMへのアクセスでない期間に、該DRAMに対す
るリフレッシュを行うことにより、前記目的を達成した
ものである。
バスマスタ及びDRAM、ROM、その他の論理回路を
有するコンピュータシステムにおけるDRAMのリフレ
ッシュ方法において、該CPUあるいは他のバスマスタ
が、該DRAMやROMあるいは他の論理回路のいずれ
かにアクセスしているかを判別するアクセス判別回路を
設け、該アクセス判別回路により、前記CPUあるいは
他のバスマスタのアクセス対象を認知し、該アクセスが
DRAMへのアクセスでない期間に、該DRAMに対す
るリフレッシュを行うことにより、前記目的を達成した
ものである。
【0016】
【作用】本発明によれば、CPUや他のバスマスタが、
どのメモリブロックやI/Oデバイスをアクセスしてい
るかを検出する回路を設け、該アクセスサイクル中に該
回路によって検出することができる非アクセスDRAM
メモリブロックに対し、リフレッシュを行うことによ
り、リフレッシュ専用サイクルを削減して、コンピュー
タシステムのパフォーマンスを向上させたものである。
どのメモリブロックやI/Oデバイスをアクセスしてい
るかを検出する回路を設け、該アクセスサイクル中に該
回路によって検出することができる非アクセスDRAM
メモリブロックに対し、リフレッシュを行うことによ
り、リフレッシュ専用サイクルを削減して、コンピュー
タシステムのパフォーマンスを向上させたものである。
【0017】即ち、本発明によれば、ほとんどのリフレ
ッシュサイクルは他のバスサイクル実行中に行われるた
め、リフレッシュのためバス専用時間が少なくなり、コ
ンピュータシステムのパフォーマンスを向上させること
ができる。又、従来のリフレッシュコントローラとの併
用により、確実なリフレッシュを行うことができ、シス
テムの構築に柔軟性をもたせることができる。
ッシュサイクルは他のバスサイクル実行中に行われるた
め、リフレッシュのためバス専用時間が少なくなり、コ
ンピュータシステムのパフォーマンスを向上させること
ができる。又、従来のリフレッシュコントローラとの併
用により、確実なリフレッシュを行うことができ、シス
テムの構築に柔軟性をもたせることができる。
【0018】
【実施例】以下図面を参照して、本発明の実施例を詳細
に説明する。
に説明する。
【0019】図3は、本発明の一実施例を示すブロック
線図である。
線図である。
【0020】図3において、CPU301はバス302
により、ROM303、メモリ制御部304、その他の
ロジック305に接続されている。308はDRAMで
構成されるメモリ部であり、本実施例では308a で示
されるBank 0と、308bで示されるBank 1の2バ
ンク構成としている。ここでバンクとは、独立にアクセ
ス可能な記憶単位のことである。2つのメモリバンクB
ank 0とBank 1は、DRAM制御のためのバス306
及び307により、メモリ制御部304と接続されてい
る。メモリ制御部304は、DRAM制御回路304a
、アクセス判別回路304b 、リフレッシュタイマ3
04c の各回路を含んでいる。DRAM制御回路304
a はCPU301からのメモリアクセスの際のDRAM
アクセスに必要な各種信号を生成し、CPUからのアド
レスに従ってBank 0あるいはBank 1に出力する。
により、ROM303、メモリ制御部304、その他の
ロジック305に接続されている。308はDRAMで
構成されるメモリ部であり、本実施例では308a で示
されるBank 0と、308bで示されるBank 1の2バ
ンク構成としている。ここでバンクとは、独立にアクセ
ス可能な記憶単位のことである。2つのメモリバンクB
ank 0とBank 1は、DRAM制御のためのバス306
及び307により、メモリ制御部304と接続されてい
る。メモリ制御部304は、DRAM制御回路304a
、アクセス判別回路304b 、リフレッシュタイマ3
04c の各回路を含んでいる。DRAM制御回路304
a はCPU301からのメモリアクセスの際のDRAM
アクセスに必要な各種信号を生成し、CPUからのアド
レスに従ってBank 0あるいはBank 1に出力する。
【0021】又、リフレッシュタイマ304c からリフ
レッシュ要求があった場合、他のメモリアクセスに優先
してリフレッシュサイクルを実行する。ここでのリフレ
ッシュはCASビフォアRAS方式とする。304b で
示されるアクセス判別回路は、CPUからの制御信号を
解析し、CPUがROM、Bank 0、Bank 1、他ロジ
ックのいずれをアクセスしているかを検出するためのも
のである。
レッシュ要求があった場合、他のメモリアクセスに優先
してリフレッシュサイクルを実行する。ここでのリフレ
ッシュはCASビフォアRAS方式とする。304b で
示されるアクセス判別回路は、CPUからの制御信号を
解析し、CPUがROM、Bank 0、Bank 1、他ロジ
ックのいずれをアクセスしているかを検出するためのも
のである。
【0022】なお、該アクセス判別回路304b からの
出力は、上記各デバイスを実際にアクセスするためのも
のではなく、あくまでリフレッシュのためのRAS/C
ASを生成するためのものである。
出力は、上記各デバイスを実際にアクセスするためのも
のではなく、あくまでリフレッシュのためのRAS/C
ASを生成するためのものである。
【0023】又、本実施例では、アクセス元がCPUの
みの場合を示すが、例えば他のバスマスタとなり得るD
MAC等を加えることも考えられる。又、アクセス先に
ついても、任意に加えることができる。
みの場合を示すが、例えば他のバスマスタとなり得るD
MAC等を加えることも考えられる。又、アクセス先に
ついても、任意に加えることができる。
【0024】図4は、上記メモリ制御部304を構成す
る回路のうち、RAS/CASを生成するための回路例
である。
る回路のうち、RAS/CASを生成するための回路例
である。
【0025】図4において、401、402、403、
405、406で示される各信号は、CPUから送出さ
れる信号である。ADS#401はCPUから送出され
るアドレス403が確定し、又、CPUのバスサイクル
の開始を示す信号である。M/IO#402は’H’
(HIGH)の時メモリアクセスを示し、’L’の時I
Oアクセスを示す(本実施例でのIOアクセスとは、3
05で示される他のロジックに対するアクセスと考え
る)。D/C#405はデータアクセス(’H’の時)
かオペコードアクセス(’L’の時)かを区別するもの
であり、又R/W#406はリードアクセス(’H’の
時)かライトアクセス(’L’の時)かを示す信号であ
る。304c で示されるリフレッシュタイマは、本実施
例の場合、Bank 0に対応したリフレッシュタイマ0
(304c 0)と、Bank 1に対応したリフレッシュタ
イマ1(304c 1)の2つで構成されている。
405、406で示される各信号は、CPUから送出さ
れる信号である。ADS#401はCPUから送出され
るアドレス403が確定し、又、CPUのバスサイクル
の開始を示す信号である。M/IO#402は’H’
(HIGH)の時メモリアクセスを示し、’L’の時I
Oアクセスを示す(本実施例でのIOアクセスとは、3
05で示される他のロジックに対するアクセスと考え
る)。D/C#405はデータアクセス(’H’の時)
かオペコードアクセス(’L’の時)かを区別するもの
であり、又R/W#406はリードアクセス(’H’の
時)かライトアクセス(’L’の時)かを示す信号であ
る。304c で示されるリフレッシュタイマは、本実施
例の場合、Bank 0に対応したリフレッシュタイマ0
(304c 0)と、Bank 1に対応したリフレッシュタ
イマ1(304c 1)の2つで構成されている。
【0026】リフレッシュタイマの動作は、例えば、最
初にリセットされ、リフレッシュ間隔に相当する時間に
なると、リフレッシュのためのリクエスト411(Ban
k 1用)あるいは413(Bank 0用)をDRAM制御
回路304a に送出する。DRAM制御回路は、411
あるいは413に応じたBank 0あるいはBank 1のリ
フレッシュサイクルを実行し、リフレッシュを実行した
ことを示すアクノリッジ信号412あるいは414を、
リフレッシュリクエストを加工したリフレッシュタイマ
に返送する。アクノリッジを受け取ったリフレッシュタ
イマは、タイマをリセットし、新たにリフレッシュ間隔
の計測を開始する。DRAM制御回路304a は上記の
リフレッシュ制御の他に、通常のCPUによるメモリア
クセスの制御を司どる。
初にリセットされ、リフレッシュ間隔に相当する時間に
なると、リフレッシュのためのリクエスト411(Ban
k 1用)あるいは413(Bank 0用)をDRAM制御
回路304a に送出する。DRAM制御回路は、411
あるいは413に応じたBank 0あるいはBank 1のリ
フレッシュサイクルを実行し、リフレッシュを実行した
ことを示すアクノリッジ信号412あるいは414を、
リフレッシュリクエストを加工したリフレッシュタイマ
に返送する。アクノリッジを受け取ったリフレッシュタ
イマは、タイマをリセットし、新たにリフレッシュ間隔
の計測を開始する。DRAM制御回路304a は上記の
リフレッシュ制御の他に、通常のCPUによるメモリア
クセスの制御を司どる。
【0027】この通常のメモリアクセス終了時には、C
PUにRDY#404を送出し、バスサイクルの終了を
報告する。又、このRDY#は、アクセス判別回路30
4bにも出力され、同様なバスサイクルの終了判定に用
いられる。
PUにRDY#404を送出し、バスサイクルの終了を
報告する。又、このRDY#は、アクセス判別回路30
4bにも出力され、同様なバスサイクルの終了判定に用
いられる。
【0028】アクセス判別回路304b は、上記のCP
Uからの信号を監視し、CPUのアクセス先を判別す
る。本実施例では、ROMアクセス(ROMCS#40
7)、メモリバンク0アクセス(BANK0CS#40
8)、メモリバンク1アクセス(BANK1CS#40
9)、及び他のロジックアクセス(IOCS#410)
の判別を行う。
Uからの信号を監視し、CPUのアクセス先を判別す
る。本実施例では、ROMアクセス(ROMCS#40
7)、メモリバンク0アクセス(BANK0CS#40
8)、メモリバンク1アクセス(BANK1CS#40
9)、及び他のロジックアクセス(IOCS#410)
の判別を行う。
【0029】419、420は、それぞれBank 1、B
ank 0に対応するRAS/CAS生成回路であり、本生
成回路はリフレッシュ専用のものであるため、タイミン
グ的にはCAS(422、425)を先に出力し、RA
S(421、424)はその後へ出力される。又、RA
S、CASを正常に出力したことを示す信号423、4
26をそれぞれのバンクに対応するリフレッシュカウン
タに送出する。
ank 0に対応するRAS/CAS生成回路であり、本生
成回路はリフレッシュ専用のものであるため、タイミン
グ的にはCAS(422、425)を先に出力し、RA
S(421、424)はその後へ出力される。又、RA
S、CASを正常に出力したことを示す信号423、4
26をそれぞれのバンクに対応するリフレッシュカウン
タに送出する。
【0030】リフレッシュカウンタは、423あるいは
426を受け取ると、リフレッシュ間隔検出のためのカ
ウントをリセットする。427、428、429、43
0、431、432、433、434はそれぞれORゲ
ートを示す(負論理)。437、438はBank 0に対
するRAS及びCAS信号であり、同様に435、43
6はBank 1に対するRAS及びCAS信号である。
426を受け取ると、リフレッシュ間隔検出のためのカ
ウントをリセットする。427、428、429、43
0、431、432、433、434はそれぞれORゲ
ートを示す(負論理)。437、438はBank 0に対
するRAS及びCAS信号であり、同様に435、43
6はBank 1に対するRAS及びCAS信号である。
【0031】DRAM制御回路からの出力信号415、
416、417、418は、CPUからの通常のメモリ
アクセス、及びリフレッシュタイマからのリフレッシュ
要求時の、Bank 0及びBank 1へのRAS/CAS信
号である。
416、417、418は、CPUからの通常のメモリ
アクセス、及びリフレッシュタイマからのリフレッシュ
要求時の、Bank 0及びBank 1へのRAS/CAS信
号である。
【0032】図5は、本実施例におけるリフレッシュの
様子を示すタイミングチャートである。
様子を示すタイミングチャートである。
【0033】本タイミングチャートと前述の図4の回路
例を用いて、本実施例の動作を説明する。
例を用いて、本実施例の動作を説明する。
【0034】なお、タイミングチャート図5中のREF
REQ0#は、図4の413を表わしており、同じくR
EFREQ1#は411を表わしている。又、ROMC
S#、IOCS#、DANK0SC#、DANK1CS
#を2アクティブにする信号(ROMアクセス、IOア
クセス、Bank 0アクセス、Bank 1アクセスの終了を
示す信号)であるRDY#404は省略している。同じ
く、REFREQ0#、REFREQ0#をインアクテ
ィブにする信号414、412は省略している。又、本
タイミングチャートに示されている信号は、全てアクテ
ィブ’L’として記述している。
REQ0#は、図4の413を表わしており、同じくR
EFREQ1#は411を表わしている。又、ROMC
S#、IOCS#、DANK0SC#、DANK1CS
#を2アクティブにする信号(ROMアクセス、IOア
クセス、Bank 0アクセス、Bank 1アクセスの終了を
示す信号)であるRDY#404は省略している。同じ
く、REFREQ0#、REFREQ0#をインアクテ
ィブにする信号414、412は省略している。又、本
タイミングチャートに示されている信号は、全てアクテ
ィブ’L’として記述している。
【0035】タイミングチャート図5において、Φ1サ
イクルでは、ROM303をアクセスしている。この時
のアクセスはメモリ部308に対しては無関係であるた
め、DRAM制御回路304a は、非動作状態となる。
即ち、415、416、417、418のいずれの信号
もアクティブにはならない。アクセス判別回路304b
により、ROMCS#がアクティブになり、ORゲート
429、430を通ってRAS/CAS生成回路41
9、420に入力される。RAS/CAS生成回路41
9、420は、タイミングチャート図5で示すようなタ
イミングで、ORゲート431、432、433、43
4を通して、Bank 0及びBank 1に対し、RAS0
#、CAS0#及びRAS1#、CAS1#を送出す
る。
イクルでは、ROM303をアクセスしている。この時
のアクセスはメモリ部308に対しては無関係であるた
め、DRAM制御回路304a は、非動作状態となる。
即ち、415、416、417、418のいずれの信号
もアクティブにはならない。アクセス判別回路304b
により、ROMCS#がアクティブになり、ORゲート
429、430を通ってRAS/CAS生成回路41
9、420に入力される。RAS/CAS生成回路41
9、420は、タイミングチャート図5で示すようなタ
イミングで、ORゲート431、432、433、43
4を通して、Bank 0及びBank 1に対し、RAS0
#、CAS0#及びRAS1#、CAS1#を送出す
る。
【0036】この結果、本ROMアクセスサイクル中に
Bank 0及びBank 1のリフレッシュが行われたことに
なる。RAS/CAS生成回路419、420は42
1、422、424、425(RAS1#、CAS1
#、RAS0#、CAS0#)を送出後、423、42
6をアクティブにする。これにより、リフレッシュタイ
マ1(304c 1)、リフレッシュタイマ0(304c
0)はクリアされる。
Bank 0及びBank 1のリフレッシュが行われたことに
なる。RAS/CAS生成回路419、420は42
1、422、424、425(RAS1#、CAS1
#、RAS0#、CAS0#)を送出後、423、42
6をアクティブにする。これにより、リフレッシュタイ
マ1(304c 1)、リフレッシュタイマ0(304c
0)はクリアされる。
【0037】タイミングチャート図5において、Φ2サ
イクルでは、IOアクセス即ち305の他のロジックに
アクセスしている。この場合も上記ROMアクセスと事
情が同様で、メモリ部308に対しては、DRAM制御
回路304a からは、何等アクセス動作は行われない。
そのため、アクセス判別回路304b は、IOCS#を
アクティブにし、以下上記ROMCS#をアクティブに
した場合と全く同じように、Bank 0及びBank 1に対
してリフレッシュを行うことができる。又、リフレッシ
ュタイマ1及びリフレッシュタイマ0も同様にクリアさ
れる。
イクルでは、IOアクセス即ち305の他のロジックに
アクセスしている。この場合も上記ROMアクセスと事
情が同様で、メモリ部308に対しては、DRAM制御
回路304a からは、何等アクセス動作は行われない。
そのため、アクセス判別回路304b は、IOCS#を
アクティブにし、以下上記ROMCS#をアクティブに
した場合と全く同じように、Bank 0及びBank 1に対
してリフレッシュを行うことができる。又、リフレッシ
ュタイマ1及びリフレッシュタイマ0も同様にクリアさ
れる。
【0038】タイミングチャート図5において、Φ3サ
イクルでは、Bank 0(308a )に対してアクセスし
ている。この時DRAM制御部304a は417、41
8をアクティブにし、Bank 0のメモリアクセスのため
のRAS0#、CAS0#をアクティブにする(RAS
0#を先にアクティブにする)。一方、アクセス判別回
路304b は、BANK0CS#をアクティブにする
が、本信号はORゲート429を通り、RAS/CAS
生成回路419のみに入力される。本RAS/CAS生
成回路419は、RAS1#、CAS1#のみを生成す
るためのものである。
イクルでは、Bank 0(308a )に対してアクセスし
ている。この時DRAM制御部304a は417、41
8をアクティブにし、Bank 0のメモリアクセスのため
のRAS0#、CAS0#をアクティブにする(RAS
0#を先にアクティブにする)。一方、アクセス判別回
路304b は、BANK0CS#をアクティブにする
が、本信号はORゲート429を通り、RAS/CAS
生成回路419のみに入力される。本RAS/CAS生
成回路419は、RAS1#、CAS1#のみを生成す
るためのものである。
【0039】その結果、Bank 0に対しては通常のメモ
リアクセスが行われ、Bank 1に対してのみリフレッシ
ュが行われることになる。又、リフレッシュタイマのク
リアもBank 1に対応する、リフレッシュタイマ1(3
04c 1)に対してのみ行われる(423もアクティブ
にする)。
リアクセスが行われ、Bank 1に対してのみリフレッシ
ュが行われることになる。又、リフレッシュタイマのク
リアもBank 1に対応する、リフレッシュタイマ1(3
04c 1)に対してのみ行われる(423もアクティブ
にする)。
【0040】タイミングチャート図5において、Φ4サ
イクルでは、Bank 1(308b )に対してアクセスし
ている。本アクセスでは、上記Bank 0のアクセスとは
逆に、DRAM制御回路304a は415、416をア
クティブにし、Bank 1のメモリアクセスのためのRA
S1#、CAS1#をアクティブにする。又、アクセス
判別回路304b は、BANK1CS#をアクティブに
することにより、Bank 0のリフレッシュのためのRA
S1#、CAS1#をアクティブにする。
イクルでは、Bank 1(308b )に対してアクセスし
ている。本アクセスでは、上記Bank 0のアクセスとは
逆に、DRAM制御回路304a は415、416をア
クティブにし、Bank 1のメモリアクセスのためのRA
S1#、CAS1#をアクティブにする。又、アクセス
判別回路304b は、BANK1CS#をアクティブに
することにより、Bank 0のリフレッシュのためのRA
S1#、CAS1#をアクティブにする。
【0041】この結果、Bank 1は通常のメモリアクセ
スが行われ、Bank 0はリフレッシュが行われることに
なる。又、リフレッシュタイマのクリアはリフレッシュ
の行われたBank 1に対応する304c 1に対してのみ
行われる。
スが行われ、Bank 0はリフレッシュが行われることに
なる。又、リフレッシュタイマのクリアはリフレッシュ
の行われたBank 1に対応する304c 1に対してのみ
行われる。
【0042】上に説明した事実により、リフレッシュを
任意のCPUアクセスサイクル中に行うことができるよ
うになる。これをまとめると以下のようになる。
任意のCPUアクセスサイクル中に行うことができるよ
うになる。これをまとめると以下のようになる。
【0043】1.ROM、IOをアクセス中は、Bank
0、Bank 1の両方をリフレッシュ 2.Bank 0をアクセス中は、Bank 1をリフレッシュ 3.Bank 1をアクセス中は、Bank 0をリフレッシュ
0、Bank 1の両方をリフレッシュ 2.Bank 0をアクセス中は、Bank 1をリフレッシュ 3.Bank 1をアクセス中は、Bank 0をリフレッシュ
【0044】タイミングチャート図5において、Φn 及
びΦn +1サイクルでは、リフレッシュタイマ0(30
4c 0)、及びリフレッシュタイマ1(304c 1)に
よるリフレッシュサイクルが実行されている。本リフレ
ッシュサイクルが発生するのは、CPUが前述したRO
Mやメモリ部あるいは他のロジックに対し何等かの理由
で長い間アクセスしなかった場合である。この場合、リ
フレッシュタイマ0あるいは1から、DRAM制御回路
に対し、REFREQ0#(413)、あるいはREF
REQ1#(411)が送出される。DRAM制御部
は、本リクエストを受け取ると、他のメモリアクセス要
求に優先して、リフレッシュのためのRAS、CAS信
号を、Bank 0あるいはBank 1に送出する。又、リフ
レッシュに対するアクノリッジ信号414あるいは41
2によって、リフレッシュタイマはリフレッシュ終了時
にクリアされる。これにより、CPUアクセス中のリフ
レッシュだけではリフレッシュが十分に行われない場合
でも対処することができるようになる。
びΦn +1サイクルでは、リフレッシュタイマ0(30
4c 0)、及びリフレッシュタイマ1(304c 1)に
よるリフレッシュサイクルが実行されている。本リフレ
ッシュサイクルが発生するのは、CPUが前述したRO
Mやメモリ部あるいは他のロジックに対し何等かの理由
で長い間アクセスしなかった場合である。この場合、リ
フレッシュタイマ0あるいは1から、DRAM制御回路
に対し、REFREQ0#(413)、あるいはREF
REQ1#(411)が送出される。DRAM制御部
は、本リクエストを受け取ると、他のメモリアクセス要
求に優先して、リフレッシュのためのRAS、CAS信
号を、Bank 0あるいはBank 1に送出する。又、リフ
レッシュに対するアクノリッジ信号414あるいは41
2によって、リフレッシュタイマはリフレッシュ終了時
にクリアされる。これにより、CPUアクセス中のリフ
レッシュだけではリフレッシュが十分に行われない場合
でも対処することができるようになる。
【0045】上記の説明から、コンピュータシステムと
して、パフォーマンスや消費電力等の点から最も効率が
良いのは、リフレッシュタイマによるリフレッシュが発
生せず、且つ確実にリフレッシュが行われる状態であ
る。
して、パフォーマンスや消費電力等の点から最も効率が
良いのは、リフレッシュタイマによるリフレッシュが発
生せず、且つ確実にリフレッシュが行われる状態であ
る。
【0046】この事情を考察するために、以下アクセス
判別回路304b のデコード内容について考える。
判別回路304b のデコード内容について考える。
【0047】通常CPUからの信号M/IO#(40
2)、D/C#(405)、R/W#(406)は、図
6のように解釈される。又、図6には、これらのデコー
ドの結果の本実施例におけるアクセス先を、アクセス判
別回路からの出力信号として示している。即ち、図6お
いて、No.1、2、6の場合、いずれのCS#もアクテ
ィブにならないため、Bank 0、1のどちらに対しても
リフレッシュは行われない。又、No.3、4の場合、B
ank 0、1の両方がリフレッシュされる。又No.5、
7、8においては、アクセスされ得るアクセス先を示し
たものであり、実際にはこのうちの一つがアクティブに
なり、その時リフレッシュされるBank は上記1.、
2.、3.の規則に従う。ここで、No.5、7、8のよ
うに、アクセス先が複数の場合の区別は、CPUからの
アドレスによって行われる。図6から容易に推測できる
ように、もしあるコンピュータシステムにおいて、過剰
なリフレッシュが行われていると考えられる場合は、例
えば、No.5のオペコードフェッチサイクルにおいて、
BANK0CS#、BANK1CS#、ROMCS#の
いずれもアクティブにならないようにすれば、実際のア
クセスは行われるが、リフレッシュは行われず、リフレ
ッシュの頻度を抑えることができる。
2)、D/C#(405)、R/W#(406)は、図
6のように解釈される。又、図6には、これらのデコー
ドの結果の本実施例におけるアクセス先を、アクセス判
別回路からの出力信号として示している。即ち、図6お
いて、No.1、2、6の場合、いずれのCS#もアクテ
ィブにならないため、Bank 0、1のどちらに対しても
リフレッシュは行われない。又、No.3、4の場合、B
ank 0、1の両方がリフレッシュされる。又No.5、
7、8においては、アクセスされ得るアクセス先を示し
たものであり、実際にはこのうちの一つがアクティブに
なり、その時リフレッシュされるBank は上記1.、
2.、3.の規則に従う。ここで、No.5、7、8のよ
うに、アクセス先が複数の場合の区別は、CPUからの
アドレスによって行われる。図6から容易に推測できる
ように、もしあるコンピュータシステムにおいて、過剰
なリフレッシュが行われていると考えられる場合は、例
えば、No.5のオペコードフェッチサイクルにおいて、
BANK0CS#、BANK1CS#、ROMCS#の
いずれもアクティブにならないようにすれば、実際のア
クセスは行われるが、リフレッシュは行われず、リフレ
ッシュの頻度を抑えることができる。
【0048】
【発明の効果】以上説明した通り、本発明によれば、C
PUがメモリを含む任意の周辺回路にアクセスすると、
アクセス判別回路によりリフレッシュ可能なメモリバン
クに対し該CPUアクセスサイクル中にリフレッシュが
行われるため、リフレッシュのための専用サイクルが不
必要になり、コンピュータシステムのパフォーマンスを
向上させることができるという効果を有する。
PUがメモリを含む任意の周辺回路にアクセスすると、
アクセス判別回路によりリフレッシュ可能なメモリバン
クに対し該CPUアクセスサイクル中にリフレッシュが
行われるため、リフレッシュのための専用サイクルが不
必要になり、コンピュータシステムのパフォーマンスを
向上させることができるという効果を有する。
【0049】又、何等かの理由によりCPUが長い間、
周辺回路にアクセスしない状況が生じても、リフレッシ
ュカウンタの併用により、DRAMの内容が破壊される
ことがないという効果も有する。
周辺回路にアクセスしない状況が生じても、リフレッシ
ュカウンタの併用により、DRAMの内容が破壊される
ことがないという効果も有する。
【図1】従来のリフレッシュ技術を示すブロック線図
【図2】従来のリフレッシュ技術の問題点を示すタイミ
ングチャート
ングチャート
【図3】本発明の一実施例を示すブロック線図
【図4】本実施例中のRAS/CASを生成する回路の
例を示す回路図
例を示す回路図
【図5】本実施例を説明するためのタイミングチャート
【図6】本実施例におけるアクセス判別回路内のデコー
ド部の説明図
ド部の説明図
104…従来のDRAMロコントローラ 107…DRAM部 301…CPU 303…ROM 304…メモリ制御部 304a …DRAM制御回路 304b …アクセス判別回路 304c …リフレッシュタイマ 305…他のロジック 308…メモリ部 308a …メモリバンク0 308b …メモリバンク1 304c 0…リフレッシュタイマ0 304c 1…リフレッシュタイマ1 419…RAS/CAS生成回路1 420…RAS/CAS生成回路0
Claims (1)
- 【請求項1】CPUと他のバスマスタ及びDRAM、R
OM、その他の論理回路を有するコンピュータシステム
におけるDRAMのリフレッシュ方法において、 該CPUあるいは他のバスマスタが、該DRAMやRO
Mあるいは他の論理回路のいずれかにアクセスしている
かを判別するアクセス判別回路を設け、 該アクセス判別回路により、前記CPUあるいは他のバ
スマスタのアクセス対象を認知し、該アクセスがDRA
Mへのアクセスでない期間に、該DRAMに対するリフ
レッシュを行うことを特徴とするDRAMのリフレッシ
ュ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5187756A JPH0745073A (ja) | 1993-07-29 | 1993-07-29 | Dramのリフレッシュ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5187756A JPH0745073A (ja) | 1993-07-29 | 1993-07-29 | Dramのリフレッシュ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0745073A true JPH0745073A (ja) | 1995-02-14 |
Family
ID=16211656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5187756A Pending JPH0745073A (ja) | 1993-07-29 | 1993-07-29 | Dramのリフレッシュ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0745073A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100457533B1 (ko) * | 2002-09-03 | 2004-11-17 | 삼성전자주식회사 | 리프레쉬 제어방법 및 장치 |
-
1993
- 1993-07-29 JP JP5187756A patent/JPH0745073A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100457533B1 (ko) * | 2002-09-03 | 2004-11-17 | 삼성전자주식회사 | 리프레쉬 제어방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3057934B2 (ja) | 共有バス調停機構 | |
US5613075A (en) | Method and apparatus for providing deterministic read access to main memory in a computer system | |
JP2000251467A (ja) | メモリリフレッシュ制御装置およびその制御方法 | |
JP3092566B2 (ja) | パイプライン方式のバスを用いたメモリ制御方式 | |
US5732236A (en) | Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule | |
US6948046B2 (en) | Access controller that efficiently accesses synchronous semiconductor memory device | |
EP0851360B1 (en) | Bus arbiter | |
JPH0745073A (ja) | Dramのリフレッシュ方法 | |
JP4108237B2 (ja) | メモリ制御装置 | |
JPH103785A (ja) | メモリのリフレッシュ方法及びそのためのメモリ制御装置 | |
JP3169878B2 (ja) | メモリ制御回路 | |
JPH06325570A (ja) | ダイナミックメモリリフレッシュ回路 | |
JPH0916468A (ja) | メモリアクセス方式 | |
JPS62259295A (ja) | リフレツシユ制御方式 | |
JPH07114496A (ja) | 共有メモリ制御回路 | |
JP3995370B2 (ja) | 情報処理装置およびそのアクセス制御方法 | |
JPH02219157A (ja) | コンピュータシステム内のバスアービタ | |
JPH09297990A (ja) | メモリリフレッシュ制御方法およびメモリリフレッシュ制御装置 | |
EP0818008B1 (en) | Dynamic ram in a microprocessor system | |
JPH05289987A (ja) | バス権調停回路 | |
JP3492139B2 (ja) | バスを介したデータ転送方法およびバスマスタ制御装置 | |
JPH11176155A (ja) | Dramリフレッシュ回路 | |
JPH117763A (ja) | Dramリフレッシュ制御方法及びその回路 | |
JPH02177081A (ja) | リフレッシュ制御装置 | |
JPS63191398A (ja) | 情報処理装置 |