JP4549001B2 - Information processing apparatus and semiconductor integrated circuit - Google Patents
Information processing apparatus and semiconductor integrated circuit Download PDFInfo
- Publication number
- JP4549001B2 JP4549001B2 JP2001558836A JP2001558836A JP4549001B2 JP 4549001 B2 JP4549001 B2 JP 4549001B2 JP 2001558836 A JP2001558836 A JP 2001558836A JP 2001558836 A JP2001558836 A JP 2001558836A JP 4549001 B2 JP4549001 B2 JP 4549001B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- master
- memory
- data
- access request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 28
- 239000004065 semiconductor Substances 0.000 title description 7
- 238000000034 method Methods 0.000 claims description 18
- 239000003990 capacitor Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 201000008103 leukocyte adhesion deficiency 3 Diseases 0.000 description 7
- 101000859935 Homo sapiens Protein CREG1 Proteins 0.000 description 4
- 102100027796 Protein CREG1 Human genes 0.000 description 4
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 3
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 101000962483 Homo sapiens Max dimerization protein 1 Proteins 0.000 description 2
- 102100039185 Max dimerization protein 1 Human genes 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 102100034033 Alpha-adducin Human genes 0.000 description 1
- 102100024348 Beta-adducin Human genes 0.000 description 1
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 1
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 1
- 101001000302 Homo sapiens Max-interacting protein 1 Proteins 0.000 description 1
- 101000957106 Homo sapiens Mitotic spindle assembly checkpoint protein MAD1 Proteins 0.000 description 1
- 101000957259 Homo sapiens Mitotic spindle assembly checkpoint protein MAD2A Proteins 0.000 description 1
- 102100035880 Max-interacting protein 1 Human genes 0.000 description 1
- 101000590284 Mus musculus 26S proteasome non-ATPase regulatory subunit 14 Proteins 0.000 description 1
- 108700012361 REG2 Proteins 0.000 description 1
- 101150108637 REG2 gene Proteins 0.000 description 1
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 1
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 1
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- 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
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- 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
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4085—Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Description
技術分野
この発明は、複数のマスタに共有される複数のメモリバンクを有するメモリブロックを含む情報処理装置に関し、これら複数のマスタからのアクセスを受けメモリブロックを制御するメモリ制御回路を含む半導体集積回路に関する。
背景技術
この明細書で参照される文献は以下の通りであり以下文献はその文献番号によって参照される。[文献1]:特開平05−181743号公報。
[文献2]:特開平10−228413号公報。
典型的な情報処理装置として、一つのCPU(Central Processing Unit)及びDRAM制御回路を介してCPUに接続され所望のデータを記憶するDRAM(Dynamic Random Access Memory)を含むものが知られている。DRAMからデータを読み出す場合、CPUは読み出し命令をDRAM制御回路に送り、DRAM制御回路はこの命令をデコードしDRAMから所望のデータの読み出し制御を行なう。以下周知のシンクロナスDRAM(SDRAM)のコマンド体系に沿って動作を説明する。DRAM制御回路からのDRAMの読み出し制御では、先ず最初に、バンクアクティブ命令とロウアドレスをDRAMへ送る(ACTV)。この命令と、ロウアドレスによって、DRAM内部のワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅され、保持される。次に、リード命令とカラムアドレスを送る(READ)。この命令とカラムアドレスによって、カラムスイッチが選択され、センスアンプで保持されているデータが読み出される。DRAMにおいてはワード線の選択動作には比較的長い時間を必要とするが、いったん、ワード線上のデータをセンスアンプへ保持してしまえば、同一ワード線上のアクセス、つまり、同一頁内へのアクセスが生じると、データを短時間で読み出すことができる。また、現在、選択されているワード線とは異なるワード線上からデータを読み出す場合、つまり異なる頁へのアクセスが生じると、いったん、現在、選択されているワード線を非選択にし、新しいワード線を選択する必要があるため、データの読み出しに、長い時間がかかってしまう。
さて、情報処理装置においては、DRAMをアクセスする主体は、先に述べたCPUだけに限らず、ハードディスクコントローラ、MPEGデコーダー、グラフィックス処理回路等が含まれることがある。CPUを含めてハードディスクコントローラ等は、DRAMをアクセスする主体となりうるためそれぞれはマスタと呼ばれる。複数のマスタが含まれる情報処理装置を示す文献として[文献1]及び[文献2]が知られている。[文献1]は、複数のマスタ(CPUと入出力コントローラIOC)が複数のメモリバンクにアクセスする際の効率を上げるために、特定のマスタに特定のメモリバンクを割り当てる技術について記載する。[文献2]は、複数のマスタと複数のメモリバンクとの間のアクセスの競合を調停するために複数のマスタ毎にメモリバンクとの間に読み出し/書込のためのデータを保持するためのバッファを設ける技術が記載されている。
本願発明者等は複数のマスタと複数のメモリバンクを持つシステムにおけるアクセスの効率化を図るために、アクセスの競合の調停ばかりでなくマスタの性格に応じた制御の重要性に着目した。即ち、CPUからDRAMに対するアクセスは、ランダムアクセスであっても、局所性がある。つまりCPUのアクセスには、現在アクセスしたアドレスやその近くのアドレスは、近い将来に、頻繁に、再度アクセスされる可能性が高いという性質がある。したがって、CPUからのDRAMへのアクセスは同一頁内へ頻繁に生じることになる。
これに対して、ハードディスクコントローラのアクセスアドレスは、局所性が少ない。ハードディスクにDRAM内のデータを保存する場合、キーボードやマウスからの、割り込みによって、ハードディスクコントローラからDRAMへアクセスが生じ、DRAM内のデータを読み出し、ハードディスク内に保存する。いったんDRAM内のデータを保存してしまえば、キーボードや、マウスからの割り込みが、発生しない限り、再度、DRAMからデータを読み出す必要はない。したがって、近い将来、ハードディスクコントローラが、再度、同一のアドレスに頻繁にアクセスし、データを読み出す可能性は極めて小さい。
また、MPEGデコーダは、CD−ROMなどに圧縮されたデータを、一定の時間内に順々に伸長しDRAMへ書込む。いったん、圧縮されたデータが伸長されてしまえば、再度、同じデータを伸長する必要はないため、MPEGデコーダー自身が、近い将来、再度、頻繁に同じアドレスにアクセスする可能性は極めて小さい。
このように、DRAMを共有する複数のマスタからのアクセスには、それぞれ特徴があり、単純なDRAMアクセス制御では、これらのアクセスに対応しきれない。CPU以外のマスタが、すでにCPUによって選択されているワード線とは異なるワード線にアクセスした場合、本来、同一頁内であった、その後の、CPUからのアクセスが、異なる頁へのアクセスとなってしまい、DRAMからのデータの読み出し及びDRAMへのデータの書込みに長い時間がかかってしまうという課題があることが見いだされた。そこで、本発明の目的の1つは、複数のマスタからのアクセス対するDRAMの読み出し及び書込みを高速化することである。
発明の開示
本願発明の代表的な手段を示せば、以下の通りである。メモリをアクセスするマスタを識別することにより、マスタに対応し、メモリを制御するための制御モードの切り替えを行ない、メモリを制御する。より具体的には、それぞれのマスタの識別信号から、アクセスの最初にメモリの頁を閉じるか、閉じないかの切り替え動作を行い、これにしたがって、アクセスの最後に頁の開閉動作をおこない、メモリを制御する。メモリがDRAMである場合に、頁とは特定のメモリバンクにおける複数のワード線の一つを意味し、頁開とは特定のメモリバンクのワード線を選択状態にしたまま1頁分のデータをセンスアンプに保持(バンク活性状態)しておくことに対応する。一方、頁閉とはメモリバンク内のワード線を非選択状態にしておいて、当該メモリバンクに対するワード線の選択要求があったときどのワード線でもすぐに選択できるようにしておくことに対応する(バンクプリチャージ状態)。
アクセスの局所性のあるマスタのアクセス要求があったときは頁開の状態でアクセスを終了しておくと次のアクセスにおいても同じ頁をアクセスする確率が高いため頁に対するキャッシュヒット効果が現れやすくアクセスが高速化される。一方、アクセスの局所性が小さいマスタの場合には頁閉でアクセスを終了する。このようなマスタの場合、次のアクセスは同じ頁でなく異なる頁である確率が高いため頁開としておくと一旦その頁を閉じて別の頁を開き直す分時間がかかってしまうためである。従ってキャッシュヒット効果が期待できないマスタに対しては頁閉でアクセスを終了することで全体のアクセスは効率化される。
発明を実施するための最良の形態
以下、本発明の実施例について図面を用いて詳細に説明する。実施例の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。
<実施例1>
図2は本願を用いた情報処理装置の基本構成図である。これは、第1のマスタであるCPU4と、第2のマスタであるハードディスクコントローラ(HDC)5と、CPUとHDCからのアクセスを調停するアクセス調停回路(ARB)2と、複数のバンクから構成されるメモリブロック(MEM)3と、ARBからの信号によりMEMを制御するメモリ制御回路(MCTL)1と、ハードディスク(HD)50と、メモリブロック3のリフレッシュ動作を制御するリフレッシュ制御回路(RFC)6で構成される。RFCは第3のマスタとなる。
ハードディスクコントローラHDCはハードディスク50とメモリブロックMEMとの間でデータを転送を制御する。MEMは第0メモリマクロ3M0から第3メモリマクロ3M3の4つのメモリマクロで構成されている。各メモリマクロは4つのメモリバンクから構成され、各メモリバンクにはセンスアンプが設けられている。また、この情報処理装置はクロックCLKに同期して動作する。
CPUは、特に制限はないが、32ビットのアドレス信号によりアドレス空間を管理することができ、メモリブロックMEMは、CPUのアドレス信号の下位18ビットのアドレス空間にマッピングされている。
情報処理装置の動作を説明する前に、図3に示されている各マスタの命令セットを説明する。図3(a)はCPUの命令セットを表しており、CPUからアクセス調停回路ARBへの命令はCPU命令信号RW0[0]〜RW0[3](図2のRW0(4bit)に対応する)によって表されれる。ロード命令LDは、DRAMのデータを読み出す命令である。ストア命令STはDRAMにデータを書込む命令である。セットレジスタSRは、後述する図1のDRAM制御回路1の中のシフトレジスタ1a、1b、1cにデータを設定する命令である。リーザーブRVは、新しい命令を追加するための予備命令である。ノーオペレーションNOPは、何もしない命令である。
図3(b)はハードディスクコントローラHDCの命令セットを表しており、HDC命令信号RW1[0]〜RW0「2](図2のRW1(2bit)に対応する)によって表されれる。LD、ST、NOPは図3(a)で説明したものと同様の役割の命令である。
図3(c)はアクセス調停回路ARBの命令セットを表しており、ARBからメモリ制御回路MCTLへの命令はARB命令信号ICOM[0]〜ICOM[3](図2のICOM(4bit)に対応する)によって表されれる。R、Wはそれぞれ読み出し命令と書込命令であり、CPUやHDCのLDやSTに対応して発行される。アクセスエンド命令EOAは、アクセスの終了を示す命令である。リフレッシュ命令RFは、MEMのリフレッシュ動作をさせる命令である。RFは、第3のマスタであるリフレッシュ制御回路RFCのリフレッシュ要求に応じて発行される。SR、NOPは図3(a)で既に説明した命令と同様の役割の命令である。
図3(d)はメモリ制御回路MCTLの命令セットを表しており、MCTLからMEMへの命令はMCTL命令信号MCOM[0]〜MCOM[2](図2のMCOM(3bit)に対応する)によって表されれる。バンクアクティブ命令BAは、メモリブロックMEMの特定のメモリバンクのワード線を選択する命令である。カラムリード命令RDはMEMの特定のメモリバンクの選択されたワード線上のデータを読み出す命令である。カラムライト命令WTはMEMの選択されたワード線上のデータを書込む命令である。プリチャージ命令PREは選択されたワード線を非選択にし、頁を閉じる命令である。NOPは図3(a)と同様の何もしないことを意味する命令である。
次に、図2の情報処理装置の動作を説明する。CPUへデータをロードする時は、アクセス要求信号REQ0をLowにする。アクセス要求と同時に、RW0からロード命令、MAD0からCPUの識別信号、ADD0からアドレスがアクセス調停回路ARBに出力される。
ハードディスクコントローラHDCは内部に512Byteのバッファを持っており、このバッファにメモリブロックMEMのデータをロードする時は、アクセス要求信号REQ1をLowにする。このアクセス要求と同時に、RW1からロード命令、MAD1からHDCの識別信号、ADD1からアドレスがARBに出力される。
メモリブロックMEM内に保持されているのデータは、DRAMを用いた場合にはリフレッシュ動作を行なわないと、消えてしまうという性質があり、定期的に、リフレッシュ制御回路RFCからリフレッシュの要求を行う必要がある。RFCからリフレッジュの要求を行う時は、REG2をLowにし、同時にRW2からリフレッシュ命令、MAD2からRFCの識別信号、ADD2からアドレスARBに出力される。
アクセス調停回路ARBではCPUからのアクセス要求と、HDCからのアクセス要求と、RFCからのアクセス要求があったかを監視しており、それぞれのマスタからのアクセス要求に対して優先順位をつけて、1つのマスタからのアクセスを許可する。優先順位については、情報処理装置を構成するマスタの種類と数によって、変えることができる。この場合は、RFCからのアクセスはリフレッシュの制御であるため第1優先順位とする。また、HDCからのアクセスは割り込み処理であるため第2優先順位とし、CPUからのアクセスは最後の第3優先順位とする。
アクセス調停回路ARBがACK0をLowにしCPUからのロード命令のアクセス要求を許可すると、IMADからCPUの識別信号、ICOMからリード命令、IADDからアドレスをメモリ制御回路MCTLに出力する。MCTLは、ARBからの信号を受けて、MEMを制御する。
図4は、本発明で用いられるメモリブロックMEMの構成例である。3M0、3M1、3M2、3M3はそれぞれメモリマクロを示しており、各メモリマクロは3B0、3B1、3B2、3B3の4つのメモリバンクから構成されている。この例では、4つのマクロ間でデータ入力バッファ回路IBUFと出力バッファ回路OBUFを共用し、特に制限されないが1つのチップ上に集積されたものを想定した。しかし、メモリマクロのそれぞれに周知のSDRAM等のコマンドを受けて動作するメモリとし、それらを複数個使用したメモリモジュールによってもMEMは構成できる。図5に、1つのメモリバンク内のDRAMの構成例を示し、図6はMEMの動作を示す。
以下、図4から図6を用いてメモリブロックMEMに対するアクセス動作の例を説明する。MCOMからバンクアクティブ命令BAとMADDからロウアドレスRW0(MADD[13:4]の10ビット)とマクロアドレスMC0(MADD[1:0]の2ビット)、パンクアドレスBK0(MADD[3:2]の2ビット)が入力されと、マクロアドレスMC0とパンクアドレスBK0により、16つのバンクのうちの1つのバンクが選択され、ロウアドレスRW0によって、選択されたメモリバンク内のロウデコーダ301が1096のワード線の中の1つのワード線WLを選択し、4096ビットの1頁分のメモリセルのデータが、4096つのビット線対(BL0−0とBLB0−0からBL256−15とBLB256−15)を通りセンスアンプ303に転送、保持される。センスアンプは2個のCMOSインバータが交差結合されたラッチ形のセンスアンプとされ、増幅とラッチ機能とを持つ。この意味でセンスアンプはデータラッチ回路と捕らえることができる。センスアンプは上記のラッチ形センスアンプに限定左ずセンスアンプの増幅部とラッチ部とを分離する回路としてもよい。このセンスアンプに保持されたデータを読み出すために、MCOMからリード命令RDとMADDからカラムアドレスCA0(MADD[7:4]の4ビット)とバンクアクティブ命令時のマクロアドレスMC0とバンクアドレスBK0と同一のマクロアドレスMC0とバンクアドレスBK0を入力する。マクロアドレスMC0とバンクアドレスBK0により、16つのバンクのうちの1つのバンクが選択され、カラムアドレスCA0によって、カラムデコーダー300は1つのカラムアドレスを選択する。選択されたカラムアドレスによって、カラムスイッチ群304の中の4096個のカラムスイッチの内、256個のカラムスイッチが選択され、センスアンプ303の中の256ビットのデータがグローバルビット線GBLに出力され、出力バッファ306を通り、MEMの外部へ出力される。その後、プリチャージ信号PREとバンクアドレスBK0によって、頁を閉じる。このような、通常の動作では、メモリ制御回路1がCPUから命令を受付け、MEMからデータが出力されるまでのレイテンシは5となる。
図1に本発明のメモリ制御回路MCTLを示す。この回路は、メモリブロックMEMをアクセスするマスタを識別することにより、マスタに対応した、MEMを制御するための制御モードの切り替えを、マスタからのアクセスが生じた際に、動的に行なう制御モード切り替え回路(CREG)101を含む。また、各メモリバンク毎に、すでに選択されているロウアドレスと現在生じたアクセスのロウアドレスが一致したかを判定する頁内アクセス判定回路(PH)102と、MEMに対して制御命令を発生する命令発生回路(又はコマンド発生回路)(CGEN)103と、アドレスを発生するアドレス発生回路(AGEN)104を含む。さらに、入出力データを制御する入出力データ制御回路(DQB)105を含む。
制御モード切り替え回路CREGはシフトレジスタ1aと1bと1cと1dと、マスタ識別信号IMADにしたがって、シフトレジスタ1aからの出力信号1eと、レジスタ1bからの出力信号1fと、レジスタ1cからの出力信号1gと、レジスタ1dからの出力信号1hとを選択する選択回路1iと、選択回路1iの出力信号1jをラッチするラッチ回路1kから構成される。シフトレジスタ1a〜1dは、それぞれ、制御モードをマスタ毎に選択するために、必要なフラグ信号を設定するシフトレジスタである。1aはCPUのフラグ信号を、1bはハードディスクコントローラHDCのフラグ信号を、1cはリフレッシュ制御回路RFCのフラグ信号を1dは、その他のマスタのフラグ信号を設定することができる。
図7にCREGのシフトレジス1a〜1dとフラグを設定する動作を示す。具体的な例として、CPUのフラグ信号Highをシフトレジスタ1aへ、HDCのフラグ信号Lowをシフトレジスタ1bへ、RFCのフラグ信号Lowをシフトレジスタ1cへ、その他のマスタのフラグ信号Lowをシフトレジスタ1dへ設定する場合の動作を示す。CPUから、セットレジスタ命令SRが発行され、ARBがアクセスを許可すると、ICOMを通じてセットレジスタ命令SRがメモリ制御回路1に入力される。セットレジスタ命令では図3に示したように、ICOMの0ビット目の信号がシフトレジスタに設定されるフラグデータFLAG_Dとなる。
ICOMから連続4回のセットレジスタ命令が発行され、1回目のセットレジスタ命令では、フラグデータをHighにし、2回目のセットレジスタ命令ではLowにし、3回目のセットレジスタ命令ではLowにし、4回目のセットレジスタ命令ではLowにし、メモリ制御回路へ入力するとと、1回目のセットレジスタ命令クロックの立ち上がりで、1dにHighが設定される。次のクロックの立ち上がりで、1dのデータが1cに転送され、1cはHighが設定され、1dにはLowが設定される、次のクロックの立ち上がりで1cデータが1bに転送され、1bはHighに設定され、1dのデータが1cに転送され、1cはLowに設定され、1aにはLowが設定される。このように、フラグデータをシフトされることにより、最終的に、1aにはHigh、1bにはLow、1cにはLow、1dにはLowが設定される。
図8に、制御モード切り替え回路CREGの動作を示すフローチャートを示す。この図で4角で囲まれたINPUT M_IDはマスタ識別番号の入力動作を意味し、WAIT M_IDはマスター識別番号の入力待ち動作を意味する。CPUの識別番号を0、ハードディスクコントローラHDCの識別番号を1、リフレッシュ制御回路RFCの識別番号を2、その他のマスタの識別番号を3とし、説明を行なう。CPUからのアクセスがアクセス調停回路に許可され、CPU識別信号0がIMADを通じてメモリ制御回路MCTLに入力すると、シフトレジスタ1aのフラグ信号Highが出力信号1eを通り、選択回路1iに選択され、選択回路1iの出力信号1jに出力され、ラッチ回路1kにHighがラッチされ、その出力LMSがHighとなる。
HDCからのアクセスがARBに許可され、HDC識別信号1がIMADを通じてMCTLに入力すると、シフトレジスタ1bのフラグ信号Lowが出力信号1fを通り、選択回路11に選択され、選択回路1iの出力信号1jに出力され、ラッチ回路1kにLowがラッチされ、その出力LMSがLowとなる。RFCからのアクセスがアクセス調停回路に許可され、RFCの識別信号2がIMADを通じてMCTLに入力すると、シフトレジスタ1cのラグ信号Lowが出力信号1gを通り、選択回路1iに選択され、選択回路1iの出力信号1jに出力され、ラッチ回路1kにLowがラッチされ、その出力LMSがLowとなる。
シフトレジスター1aと1bと1c、1dの値は、専用の設定端子を外部に設けて、設定することもできる。また、シフトレジスター1aと1bと1cと1dの値は、シリコン上に集積する際に、金属層や拡散層で、電源や、グランドに接続し、設定することもできる。いわゆるメタルオプションである。
次に、頁内アクセス判定回路PHの動作を説明する。図9に、PHで設定されている各メモリマクロの番号(MACRO NO.)の各メモリバンクバンク番号(BANK NO.)に対応したロウアドレス選択PS信号(PS)とロウアドレス(ROW_ADD)を示す。ロウアドレス選択信号PSがLowの時は、そのバンクのロウアドレスが選択されていないことを示し、Highの時は、そのバンクのロウアドレスが、選択されていることを示す。HTは選択されているロウアドレスに対して、現在のアクセスが、生じたか否か、つまり、同一頁内へのアクセスかどうかを示す頁内アクセス判定信号である。HT頁内アクセス判定信号がHighの時、選択されているロウアドレスと同一頁内のアクセスを示し、Lowの時は、選択されているロウアドレスとは異なる頁のアクセスあるいは、ロウアドレスが選択されていないアクセスであることを示す。HTがLowの時は、現在のアクセスによって、選択された1つのバンクの、すでに設定されているロウアドレスが、現在のアクセスでのロウアドレスへ常に入れ替わる。HTがHighの時は、ロウアドレスの入れ替わりは起きない。
IADDは18ビットのアドレスで構成され、特に制限はされないが、図2の実施例の場合、最上位の17ビット目から8ビット目までをMEMのロウアドレス、7ビット目から6ビット目までをMEMのメモリバンクアドレス、5ビット目から4ビット目までをMEMのメモリマクロアドレス、3ビット目から0ビット目までをMEMのカラムアドレスとする。
IADDアドレスの中のメモリマクロアドレス、メモリバンクアドレスとロウアドレスが頁内アクセス判定回路PHに入力する。PHでは、先ず、メモリマクロアドレスとメモリバンクアドレスで選択された1つのメモリバンクに対応したPS信号を命令発生回路CGENとアドレス発生回路AGENに出力する。PS信号がLowの場合、次のクロックの立ち上がりで1にする。ICOMからアクセスエンド命令が入力し、LMSが0の時、選択されたPS信号を0にする。
次に頁内アクセス判定信号HT信号の動作について説明する。IADDアドレスによって選択された1つのメモリバンクのPS信号がLowの場合は、HTをLowにする。PS信号がHighの場合は、メモリマクロアドレス及びメモリバンクアドレスで選択された1つのバンクのロウアドレスと現在のアクセスのロウアドレスが一致すればHTをHighにし、一致しなければHTをLowにする。HT信号は命令発生回路CGENとアドレス発生回路AGENに出力される。
図10にはリード命令が入力した際の、命令発生回路CGENとアドレス発生回路AGENの動作の一例を示す。CGENとAGENにはICOMからリード命令と、IADDからアドレス、頁内アクセス判定回路102から頁内アクセス判定信号HTとロウアドレス選択信号PSと、制御モード切り替え回路101からLMSが入力される。
ロウアドレス選択信号PSがLowの時は、通常のアクセスで、CGENとAGENは、先ず、ロウ動作を行なう。具体的には、CGENは、先ずバンクアクティブ命令BAを、AGENはロウアドレスとメモリマクロアドレスとメモリバンクアドレスをMEMに対して出力する。2サイクル後、カラム動作を行なう。具体的には、CGENはリード命令RDを、AGENはカラムアドレスとメモリマクロアドレスとメモリバンクアドレスをMEMに対して出力し、データを読み出す。
ロウアドレス選択信号PSがHighで、頁内アクセス判定回路信号HTがLowの時は、現在のアクセスが、すでに選択されているロウアドレスと異なったロウアドレスへのアクセス、つまり異なる頁へのアクセスを示す。異なる頁へのアクセスでは、まず、プリチャージ動作を行い、以前に選択されたロウアドレスを非選択にする、次にロウ動作を行い、新しいロウアドレスを選択する。2サイクル後、カラム動作を行ない、データを読み出す。
ロウアドレス選択信号PSがHighで、頁内アクセス判定回路信号HTがHighの時は、現在のアクセスは、すでに選択されているロウアドレス内のアクセス、つまり同一頁内のアクセスを示す。このときは、ロウ動作は必要なく、カラム動作を行ない、データを読み出す。
通常アクセスと異なる頁のアクセスに対して、カラム動作終了後、アクセスの終了を示すEOAがICOMより入力された時、LMSがLowの場合、プリチャージ動作を行い、MEMのメモリバンクの頁を閉じる。LMSがhighの場合は、プリチャージ動作を行なわず、頁を開いた状態で、次のアクセスをまつ。同一頁内アクセスの場合、頁を開いた状態で次のアクセスを待つ。
図11にリフレッシュ命令が入力した際の、命令発生回路CGENとアドレス発生回路AGENの動作の一例を示す。CGENとAGENにはICOMからリフレッシュ命令と、IADDからアドレス、頁内アクセス判定回路102から頁内アクセス判定信号HTとロウアドレス選択信号PSと、制御モード切り替え回路101からLMSが入力される。
ロウアドレス選択信号PSがLowの時は、通常のアクセスで、CGENとAGENは、先ず、ロウ動作を行なう。具体的には、CGENは、先ずバンクアクティブ命令BAを、AGENはロウアドレスとメモリマクロアドレスとメモリバンクアドレスをMEMに対して出力する。
ロウアドレス選択信号PSがHighで、頁内アクセス判定回路信号HTがLowの時は、現在のアクセスが、すでに選択されているロウアドレスと異なったロウアドレスへのアクセス、つまり異なる頁へのアクセスを示す。異なる頁へのアクセスでは、まず、プリチャージ動作を行い、以前に選択されたロウアドレスを非選択にする、次にロウ動作を行い、新しいロウアドレスを選択する。
ロウアドレス選択信号PSがHighで、頁内アクセス判定回路信号HTがHighの時は、現在のアクセスは、すでに選択されているロウアドレス内のアクセス、つまり同一頁内のアクセスを示す。このときは、何もしない。
通常アクセスと異なる頁のアクセスに対して、ロウ動作終了後、アクセスの終了を示すEOAがICOMより入力された時、LMSがLowの場合、プリチャージ動作を行い、MEMのメモリバンクの頁を閉じる。LMSがhighの場合は、プリチャージ動作を行なわず、頁を開いた状態で、次のアクセスをまつ。
上記に説明した、同一頁アクセス、通常アクセス、異なる頁へのアクセス時でのレイテンシを図12に示す。同一頁のアクセスの場合、リードレイテンシは3、ライトレイテンシは1、通常アクセスの場合、リードレイテンシは5、ライトレイテンシは3、異なる頁へのアクセスの場合、リードレイテンシーは7、ライトレイテンシは5となる。
図13に電源投入後(T1(INIT))にCPUからのアクセス(T2(CPU))、ハードディスクコントローラHDCからのアクセス(T3(HDC))、更にCPUからのアクセス(T4(CPU))が生じた場合の具体的動作を示す。T1(INIT)期間のPWは電源の投入と電源投入後の初期動作を示している。T2(CPU)期間のC0からCmは、それぞれがCPUからの1つのアクセスであることを示し、T3(HDC)期間のH0はHDCからの1つのアクセスであることを示す。
以上説明してきた様に、本発明によって、CPUからのアクセスは、アクセスの終了時にMEMのワード線を選択したまま、つまり頁を開いたままにし、HDCとリフレッシュ制御回路MCTLからのアクセスは、そのアクセスの終了時に頁を閉じる様に、シフトレジスタ1a、1b、1c、1dにフラグデータを設定した。その、動作の具体例を図14から図17に示す。図14〜17において、IMADはマスタの識別番号であり、ICOMは図3(c)の命令に対応する。ここで、NOP命令は省略してNと記載している。また、IADDはアクセスアドレスを表し、AD0は所定のアドレス信号が入力された状態であるのに対しDC(Don’t Care)はアドレスが不定である状態をしめす。MCOMは図3(d)の命令に対応する。MADDもMEMに対するアクセスアドレスを表している。
電源投入後の初期動作(T1(INIT))によって、各バンクのロウアドレス選択信号PS信号はLowとなる。そのため、CPUからの各メモリバンクへのT2(CPU)期間の最初のアクセス(C0)は通常アクセスとなり、データのリードレイテンシは5となる。この動作を図14に示す。
これに対して、図15には、T2(CPU)期間のの2回目以降のアクセス(C1からCn)のうち頁ヒットの状態(HT=1)の動作が示されている。本発明によって、CPUのアクセスに対しては、アクセスの終了時に、頁を閉じるプリチャージ動作は行なわず、頁を開いた状態を保持するため、アクセスの局所性を持つCPUのアクセスは、各バンクに対する2回目以降のアクセスのほとんどが同一頁のアクセスが起きた場合にはリードレイテンシは3となり、通常動作より高速にMEMを動作させることができる。
図16に、アクセスがCPUからハードディスクコントローラーHDCに替わった時の、T3(HDC)期間のH0のアクセスを示す。このアクセスでは、HDCからは、512バイトのリード命令がMEMに対して行われるとする。まず、図16の前半は、H0最初のアクセスで頁ミスが起きた場合の動作を示している。メモリブロックMEMの各メモリバンクはCPUのアクセスに対して頁を開いた状態となっているため、HDCからのアクセスは、ほとんど、異なる頁へのアクセスとなってしまう。図16における、最初のアクセスのリードレイテンシは7となる。
その後の、ハードディスクコントローラHDCのアクセスは同一頁内へ生じ、512バイトをリードするために、合計16回のアクセスを行い、レイテンシは22となる。アクセスの終了を示すEOAが入力すると、プリチャージ動作を行ない頁を閉じる。通常アクセスの場合と比較すると、最初データのリードレイテンシーが2レイテンシ、つまり、20ns分だけ遅くなるが、HDCが512バイトのデータをハードディスクに書込む際に、数ms程度の時間がかかるため、20nsの遅れは動作上、全く問題にならない。
図13のT4(CPU)期間において、アクセスがHDCからCPUに替わった時の、Cn+1のアクセスは以下の通りである。本発明によって、HDCからのアクセスが生じた1つのメモリバンクの頁は閉じられ、残りのメモリバンクの頁は、CPUのアクセスによって開いたままの状態である。CPUのアクセスが、頁を閉じられたバンクにアクセスすると、通常のアクセスとなり、レイテンシは5となる。
本発明である制御モードを切り替え回路を用いない場合は、ハードディスクコントローラHDCからのアクセスによって、頁が開かれたままとなり、この状態を保持しているバンクにCPUのアクセスが生ずると、ほとんど、異なる頁へのアクセスとなる。その結果、CPUからのアクセスのリードレイテンシは7となり、通常アクセスより2レイテンシ分遅くなり、このレイテンシは、そのままCPUの動作に悪影響を与えてしまう。したがって、本発明によって、HDCからのアクセスに対しては、そのアクセスの最後に頁を閉じることにより、このアクセスの後のCPUからのアクセスが、以前、HDCがアクセスしたメモリバンクに生じても、レイテンシが増える事はない。
図17にリフレッシュ制御回路RFCからのリフレッシュ要求の際の動作タイミング図を示す。この場合は、直前のアクセスで頁は閉じられていたことを前提としている。RFCからのアクセスは約4μsに1度割り込み的にMEMへ生じ、そのリフレッシュ動作の最後に頁を閉じる。即ち図17でMCOMがPREで終了させている。即ち、次の4μs後のRFCのアクセスでは同じアドレスはアクセスされないので頁閉とすることが良い。このアクセスの後に、CPUからのアクセスが、リフレッシュ制御回路のアクセスしたメモリバンクに生じても、レイテンシが増える事はない。
本願発明の情報処理装置の具体的な半導体チップのへの展開形態には以下のものがある。まず第1の形態としてCPU、HDC、RFCなどのマスタ及び、ARB、MCTL、MEMのそれぞれを個々の半導体チップ上に形成する形態がある。ここで、MEMは1つのチップ上に全てのDRAMが形成されている場合と複数のDRAMチップにより形成される場合の2通りが考えられる。DRAMチップには周知のSDRAM等を用いることができる。次に第2の形態として、メモリコントロールチップとしてRFC、ARB、MCTLの3つの機能ブロックを1つのチップ上に集積する形態がある。ほかのCPU等は第1の形態と同様に個々の半導体チップに形成される。また、第3の形態として、MCTLとMEMを1つのチップ上に形成する形態がある。他は第1の形態と同様にされる。更に、第4の形態としてCPU、RFC、ARB、MCTL、MEMを全て1つの半導体チップに集積してしまうことも小規模のシステムでは有効である。この場合でも特に制限されないがHDC等の外部オプションとなるべきマスタは、別チップとされる。最もHDC等がシステムとして必須である場合には必要に応じて集積してしまえばよい。
<実施例2>
図18は本発明のメモリ制御回路100の1実施例であり、図1に示す実施例に、リフレッシュ用のアドレスを発生するリフレッシュカウンター106を追加したものである。ICOMよりリフレッシュ命令が入力されると、アドレス選択回路107はリフレッシュカウンターからのアドレスを選択し、頁内アクセス判定回路102及びアドレス発生回路に出力される。リフレッシュカウンターは、リフレッシュ命令が入力する度、リフレッシュアドレスをカウントアップする。
図19はメモリ制御回路100を利用した、情報処理装置である。これは、CPUと、HDCと、CPUとHDCからのアクセスを調停するアクセス調停回路2と、複数のバンクから構成されるMEMと、アクセス調停回路2からの信号によりMEMを制御するメモリ制御回路1と、ハードディスク50と、MEMのリフレッシュ動作を制御するリフレッシュ制御回路6で構成される。CPU、HDC及び、リフレッシュ制御回路6には、図2で示したMADの識別信号はなく、REQ0、REQ1、REQ2のポートがアクセス調停回路に接続されている。アクセス調停回路は、REQ0、REQ1、REQ2のポートでマスタを識別しており、各マスタからの要求を受け取り、アクセスを許可した際、ポートの情報をマスタの識別信号IMADに変換する。
メモリ制御回路100の内部にリフレッシュカウンタ106を備えているので、リフレッシュ制御回路6からはリフレッシュ用のアドレスを入力する必要はなく、リフレッシュ要求信号REQ2とリフレッシュ許可信号ACK0が接続されるだけで良い。
したがって、図19の情報処理装置の構成例においても、本発明を実現できる上、端子数を減らすことができるので、低コスト化に寄与できる。
<実施例3>
図20は、CPU4とMPEGデコーダー(MPEG DEC)5001とビデオインターフェース回路(VIF)600とRFCが、マスタとなりメモリブロックMEMへアクセスする実施例である。この時、MEMは、CPUとMPEG DECとVIFに共有される。
実施例1と同じ様に、CPUのアクセスは、そのアクセスが終了しても、頁を開き、MPEGデコーダーとビデオインターフェースとリフレッシュ制御回路6のアクセスについては、そのアクセスの最後に、頁を閉じる様に、切り替え制御を行なう場合を考える。
MPEGデコーダは、CD−ROMなどに記憶されている圧縮されたデータを伸長し、いったんMEMに格納する。表示するために、ビデオインターフェースから、MEM内のデータが、読み出される。この時、MPEGデコーダがデータを伸長するために、MEMに対して必要とするデータ転送レートは約160MByte/secである。
表示に必要な1フレームのメモリ容量を計算すると、NTSC用では1フレームが720×480画素で構成され、1画素を構成するため輝度信号Yが8ビット、色差信号CrとCbをそれぞれ8ビットとすると、1フレームの総ビット数は約4Mbitとなる。毎秒60フレーム読み出すとすると、表示には約30MByte/secのデータ転送速度が必要となる。したがって、合計190MByte/secの転送レートが必要となる。
MPEGデコーダー501と表示用インターフェース回路600とは、アクセス調停回路201とメモリ制御回路101を通じて、メモリブロック(MEM)50とを、512ビットのデータバスで、接続される。
この時、MPEGデコーダー501のデータ転送レートが最低となるメモリブロック351へのアクセスは、異なる頁のアクセスで、しかも1回だけの場合である。このアクセスでは、512ビットのデータを出力するために、7レイテンシ、つまり70nsかかり、データ転送レートは(512/8)Byte×(1×1000/70)MHz=911MByte/secとなる。MPEGデコーダーには最大190MByte/sec程度の転送レートが必要であることを考えれば、911MByte/secの転送レートは十分に余裕があり、残りの転送レートをCPUのために利用しても、MPEGデコーダの動作には、何ら問題を生じない。したがって、実施例2についても、本発明によってMPEGデコーダー、表示用インターフェース回路701及び、リフレッシュ制御回路600からのアクセスに対しては、これらのアクセスの最後に頁を閉じることにより、このアクセスの後のCPUからのアクセスが、以前に、MPEGデコーダー及びビデオインターフェースの、どちらかがアクセスしたメモリバンクに生じても、DRAMのレイテンシが増える事はなく、高速化できる。
<実施例4>
図21は、CPU4とグラフィックス処理回路(GC)502と表示用インターフェース回路(VIF)702がマスタとリフレッシュ制御回路(RFC)602とがDRAMへアクセスする実施例である。この時、メモリブロック(MEM)352は、GCとVIFとCPUに共有される。
実施例1と同じ様に、CPUのアクセスは、そのアクセスが終了しても、頁を開き、GC、VIF、RFCのアクセスについては、そのアクセスの最後に、頁を閉じる切り替え制御を行なう。
グラフィックス処理回路502が描画に必要なデータ転送速度と表示用インターフェース回路702が表示に必要なデータ転送速度を、それぞれ求めると以下の通りである。
1画素当たりのビット数は、色を表わすR、G、Bを24ビット、奥行きを示すZ値を16ビット、透明感を表わすα値を8ビットで、合計48ビットとし、フレームレートを60Hz、フレームサイズを640×480とすると、描画に必要な転送レートは約884MByte/sec、表示に必要な転送レートは約110MByte/secで合計1GByte/secの転送レートが必要となる。
グラフィックス処理回路GCと表示用インターフェース回路702はアクセス調停回路2と、メモリ制御回路102を通じて、メモリブロック352とを、2048ビットのデータバスで、接続されている。この時、GCのデータ転送レートが最低となるメモリブロック352へのアクセスは、異なる頁のアクセスで、しかも1回だけの場合である。このアクセスでは、2048ビットのデータを出力するために、7レイテンシ、つまり70nsかかり、データ転送レートは(2048/8)Byte×(1×1000/70)MHz=3.6GByte/secとなる。
グラフィックス処理回路502と表示インターフェース回路602とを合わせて1GByte/sec程度の転送レートが必要であることを考えれば、3.6GByte/secの転送レートは十分に余裕があり、残りの転送レートをCPUのために利用しても、グラフィックス処理回路の動作には何ら問題を生じない。したがって、実施例3についても、本発明によって、DRAMの動作を高速化することができる。
以上示した実施例に用いられているDRAMは複数のメモリマクロを1チップ上に集積している例を示しているが、この制限を受けるものではない。個別のチップのDRAMををメモリマクロとして扱うことにより、本発明は実現できる。
以上説明した様に、DRAMを共有する複数のマスタからのアクセスには、それぞれ特徴があり、本発明によって、複数のマスタに対応した、制御モードの切り替えを行い、DRAMを制御することができるため、DRAMを高速に動作させることができる。
産業上の利用可能性
本発明は、情報処理装置、特にパーソナルコンピュータ装置を代表とするコンピュータ装置に適用することができる。この情報処理装置は、汎用性を持つものであってもいいし、制御装置の一部として組み込まれたものであっても良い。
【図面の簡単な説明】
図1は、本発明の一実施例にかかるメモリ制御回路MCTLである。 図2は、本発明を適用した情報処理装置の全体構成図である。 図3は、各マスタの命令セットの例である。 図4は、図1のメモリブロックMEMのブロック図の1例である。 図5は、図4のブロック図を構成するバンク内の構成図の1例である。 図6は、図2のメモリブロックMEMの制御の1例を示す図である。 図7は、図1のシフトレジスタにデータを設定する制御の1例を示す図である。 図8は、図1の制御モード切り替え回路の動作を示すフローチャート図である。 図9は、図1の頁内アクセス判定回路で設定されている各メモリバンクに対応したロウアドレス選択信号とロウアドレスを示す図の1例である。 図10は、図1の命令発生回路とアドレス発生回路のリード及びストア命令時の動作を示すフローチャート図である。 図11は、図1の命令発生回路とアドレス発生回路のリフレッシュ命令時の動作を示すフローチャート図である。 図12は、アクセス別のDRAMのレイテンシを示した図である。 図13は、DRAMへアクセスするマスタの時間的な移り変わりの1例を示す図である。 図14は、CPUからのアクセスに対する動作の1例を示す波形図である。 図15は、CPUからのアクセスに対する動作の1例を示す波形図である。 図16は、ハードディスクコントローラHDCからのアクセスに対する動作の1例を示す波形図である。 図17は、リフレッシュ制御回路からのアクセスに対する動作の1例を示す波形図である。 図18は、本発明のメモリ制御回路の他の実施例を示す図である。 図19は、本発明の情報処理装置の他の実施例を示す図である。 図20は、本発明の情報処理装置の他の実施例を示す図である。 図21は、本発明の情報処理装置の他の実施例を示す図である。Technical field
The present invention relates to an information processing apparatus including a memory block having a plurality of memory banks shared by a plurality of masters, and relates to a semiconductor integrated circuit including a memory control circuit that receives the access from the plurality of masters and controls the memory block.
Background art
References referred to in this specification are as follows. References are referred to by their reference numbers. [Document 1]: Japanese Patent Laid-Open No. 05-181743.
[Document 2]: JP-A-10-228413.
As a typical information processing apparatus, one including a single CPU (Central Processing Unit) and a DRAM (Dynamic Random Access Memory) which is connected to the CPU via a DRAM control circuit and stores desired data is known. When data is read from the DRAM, the CPU sends a read command to the DRAM control circuit, and the DRAM control circuit decodes this command and performs read control of desired data from the DRAM. Hereinafter, the operation will be described along the command system of a known synchronous DRAM (SDRAM). In DRAM read control from the DRAM control circuit, first, a bank active command and a row address are sent to the DRAM (ACTV). The word line in the DRAM is selected by this command and the row address, and data for one row on the word line is transferred to the sense amplifier, amplified, and held. Next, a read command and a column address are sent (READ). The column switch is selected by this command and the column address, and the data held in the sense amplifier is read out. In DRAM, the word line selection operation requires a relatively long time. Once the data on the word line is held in the sense amplifier, access on the same word line, that is, access to the same page. If this occurs, the data can be read out in a short time. In addition, when data is read from a word line different from the currently selected word line, that is, when a different page is accessed, the currently selected word line is deselected and a new word line is selected. Since it is necessary to make a selection, it takes a long time to read data.
In the information processing apparatus, the subject that accesses the DRAM is not limited to the CPU described above, but may include a hard disk controller, an MPEG decoder, a graphics processing circuit, and the like. Since the hard disk controller and the like including the CPU can be a main body that accesses the DRAM, each is called a master. [Literature 1] and [Literature 2] are known as documents indicating an information processing apparatus including a plurality of masters. [Document 1] describes a technique for allocating a specific memory bank to a specific master in order to increase efficiency when a plurality of masters (CPU and input / output controller IOC) access the plurality of memory banks. [Document 2] is a method for holding data for reading / writing between a plurality of masters and a memory bank in order to mediate access competition between a plurality of masters and a plurality of memory banks. A technique for providing a buffer is described.
The inventors of the present application focused not only on arbitration of access competition but also on the importance of control in accordance with the nature of the master in order to improve access efficiency in a system having a plurality of masters and a plurality of memory banks. That is, the access from the CPU to the DRAM has locality even if it is random access. In other words, the access of the CPU has a property that the currently accessed address and the nearby addresses are likely to be accessed again frequently in the near future. Therefore, access from the CPU to the DRAM frequently occurs in the same page.
On the other hand, the access address of the hard disk controller has little locality. When data in the DRAM is stored in the hard disk, the hard disk controller accesses the DRAM by an interruption from the keyboard or mouse, and the data in the DRAM is read and stored in the hard disk. Once the data in the DRAM is saved, there is no need to read the data from the DRAM again unless an interrupt from the keyboard or mouse occurs. Therefore, in the near future, the possibility that the hard disk controller frequently accesses the same address again and reads data is very small.
In addition, the MPEG decoder decompresses the data compressed in the CD-ROM or the like in order within a certain time and writes it to the DRAM. Once the compressed data is decompressed, it is not necessary to decompress the same data again, so that the possibility that the MPEG decoder itself will frequently access the same address again in the near future is extremely small.
Thus, each access from a plurality of masters sharing a DRAM has its characteristics, and simple DRAM access control cannot cope with these accesses. When a master other than the CPU accesses a word line different from the word line already selected by the CPU, the subsequent access from the CPU, which was originally in the same page, becomes an access to a different page. Thus, it has been found that there is a problem that it takes a long time to read data from and write data to the DRAM. Accordingly, one of the objects of the present invention is to speed up the reading and writing of the DRAM with respect to accesses from a plurality of masters.
Disclosure of the invention
Representative means of the present invention are as follows. By identifying the master that accesses the memory, the control mode for controlling the memory is switched corresponding to the master, and the memory is controlled. More specifically, based on the identification signal of each master, the memory page is switched at the beginning of the access or not, and according to this, the page is opened and closed at the end of the access. To control. When the memory is a DRAM, a page means one of a plurality of word lines in a specific memory bank, and a page open means data for one page with the word line in a specific memory bank being selected. This corresponds to holding (bank active state) in the sense amplifier. On the other hand, page closing corresponds to setting a word line in a memory bank in a non-selected state so that any word line can be immediately selected when a word line selection request is made for the memory bank. (Bank precharge state).
When there is an access request from a master with local access, if the access is terminated with the page open, there is a high probability that the same page will be accessed in the next access. Is faster. On the other hand, in the case of a master with a low locality of access, the access is terminated by closing the page. In the case of such a master, it is highly probable that the next access is not the same page but a different page. Therefore, if the page is opened, it takes time to close the page and reopen another page. Therefore, for the master that cannot expect the cache hit effect, the entire access is made efficient by ending the access by closing the page.
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Circuit elements constituting each functional block of the embodiment are not particularly limited, but are formed on a single semiconductor substrate such as single crystal silicon by a known integrated circuit technology such as CMOS (complementary MOS transistor). .
<Example 1>
FIG. 2 is a basic configuration diagram of an information processing apparatus using the present application. This is composed of a
The hard disk controller HDC controls data transfer between the
Although there is no particular limitation on the CPU, the address space can be managed by a 32-bit address signal, and the memory block MEM is mapped to the lower 18-bit address space of the CPU address signal.
Before explaining the operation of the information processing apparatus, the instruction set of each master shown in FIG. 3 will be explained. FIG. 3A shows the instruction set of the CPU, and instructions from the CPU to the access arbitration circuit ARB are based on CPU instruction signals RW0 [0] to RW0 [3] (corresponding to RW0 (4 bits) in FIG. 2). Is represented. The load instruction LD is an instruction for reading DRAM data. Store instruction ST is an instruction for writing data into DRAM. The set register SR is an instruction for setting data in
3B shows an instruction set of the hard disk controller HDC, which is represented by HDC instruction signals RW1 [0] to RW0 “2” (corresponding to RW1 (2 bits) in FIG. 2) LD, ST, NOP is a command having a role similar to that described with reference to FIG.
FIG. 3C shows an instruction set of the access arbitration circuit ARB, and instructions from the ARB to the memory control circuit MCTL correspond to the ARB instruction signals ICOM [0] to ICOM [3] (ICOM (4 bits) in FIG. 2). Represented). R and W are a read command and a write command, respectively, and are issued corresponding to the LD and ST of the CPU and HDC. The access end instruction EOA is an instruction indicating the end of access. The refresh instruction RF is an instruction for causing the MEM to refresh. RF is issued in response to a refresh request from the refresh control circuit RFC which is the third master. SR and NOP are instructions having the same role as the instruction already described with reference to FIG.
FIG. 3D shows an instruction set of the memory control circuit MCTL, and instructions from the MCTL to the MEM are based on MCTL instruction signals MCOM [0] to MCOM [2] (corresponding to MCOM (3 bits) in FIG. 2). Is represented. The bank active instruction BA is an instruction for selecting a word line of a specific memory bank of the memory block MEM. The column read command RD is a command for reading data on a selected word line in a specific memory bank of the MEM. A column write instruction WT is an instruction for writing data on a selected word line of MEM. The precharge command PRE is a command for deselecting the selected word line and closing the page. NOP is an instruction meaning that nothing is done as in FIG.
Next, the operation of the information processing apparatus in FIG. 2 will be described. When loading data into the CPU, the access request signal REQ0 is set to Low. Simultaneously with the access request, a load command is output from RW0, a CPU identification signal from MAD0, and an address from ADD0 to the access arbitration circuit ARB.
The hard disk controller HDC has a 512-byte buffer inside, and when loading data of the memory block MEM into this buffer, the access request signal REQ1 is set to Low. Simultaneously with this access request, a load command from RW1, an identification signal of HDC from MAD1, and an address from ADD1 are output to ARB.
The data stored in the memory block MEM has a property that it disappears if a refresh operation is not performed when a DRAM is used. It is necessary to periodically make a refresh request from the refresh control circuit RFC. There is. When requesting a refreg from RFC, REG2 is set to Low, and at the same time, a refresh command is output from RW2, an identification signal of RFC from MAD2 and an address ARB from ADD2.
The access arbitration circuit ARB monitors whether there is an access request from the CPU, an access request from the HDC, and an access request from the RFC, and assigns a priority to each access request from the master. Allow access from the master. The priority order can be changed according to the type and number of masters constituting the information processing apparatus. In this case, since the access from the RFC is the refresh control, the first priority is set. Further, since access from the HDC is an interrupt process, the second priority is set, and access from the CPU is set to the last third priority.
When the access arbitration circuit ARB sets ACK0 to Low and permits an access request for a load command from the CPU, it outputs the CPU identification signal from IMAD, the read command from ICOM, and the address from IADD to the memory control circuit MCTL. MCTL receives the signal from ARB and controls MEM.
FIG. 4 is a configuration example of the memory block MEM used in the present invention. Reference numerals 3M0, 3M1, 3M2, and 3M3 denote memory macros, and each memory macro includes four memory banks 3B0, 3B1, 3B2, and 3B3. In this example, it is assumed that the data input buffer circuit IBUF and the output buffer circuit OBUF are shared among four macros and are integrated on one chip, although not particularly limited. However, the MEM can also be configured by a memory module that operates by receiving a command such as a well-known SDRAM in each memory macro and uses a plurality of them. FIG. 5 shows a configuration example of the DRAM in one memory bank, and FIG. 6 shows the operation of the MEM.
Hereinafter, an example of an access operation to the memory block MEM will be described with reference to FIGS. From MCOM to bank active instruction BA and MADD, row address RW0 (10 bits of MADD [13: 4]), macro address MC0 (2 bits of MADD [1: 0]), puncture address BK0 (MADD [3: 2]) 2 bits), one of the 16 banks is selected by the macro address MC0 and the puncture address BK0, and the
FIG. 1 shows a memory control circuit MCTL of the present invention. This circuit identifies the master that accesses the memory block MEM, thereby dynamically switching the control mode for controlling the MEM corresponding to the master when an access from the master occurs. A switching circuit (CREG) 101 is included. In addition, for each memory bank, an in-page access determination circuit (PH) 102 that determines whether the row address that has already been selected matches the row address of the access that has currently occurred, and a control command is issued to the MEM. An instruction generation circuit (or command generation circuit) (CGEN) 103 and an address generation circuit (AGEN) 104 for generating an address are included. Further, an input / output data control circuit (DQB) 105 for controlling input / output data is included.
In accordance with
FIG. 7 shows the operation of setting the CREG shift registers 1a to 1d and flags. As a specific example, the CPU flag signal High is sent to the shift register 1a, the HDC flag signal Low is sent to the
Four consecutive set register instructions are issued from ICOM. In the first set register instruction, the flag data is set to High, the second set register instruction is set to Low, the third set register instruction is set to Low, and the fourth set register instruction is set. When the set register instruction is set to Low and input to the memory control circuit, High is set to 1d at the first rise of the set register instruction clock. 1d data is transferred to 1c at the next rising edge of the clock, 1c is set to High, 1d is set to Low, 1c data is transferred to 1b at the next rising edge of the clock, and 1b is set to High. Is set, 1d data is transferred to 1c, 1c is set to Low, and 1a is set to Low. Thus, by shifting the flag data, finally, 1a is set to High, 1b is set to Low, 1c is set to Low, and 1d is set to Low.
FIG. 8 is a flowchart showing the operation of the control mode switching circuit CREG. In this figure, INPUT M_ID surrounded by four corners means a master identification number input operation, and WAIT M_ID means a master identification number input waiting operation. The description will be made assuming that the CPU identification number is 0, the hard disk controller HDC identification number is 1, the refresh control circuit RFC identification number is 2, and the other master identification numbers are 3. When access from the CPU is permitted to the access arbitration circuit and the
When access from the HDC is granted to the ARB and the
The values of the
Next, the operation of the in-page access determination circuit PH will be described. FIG. 9 shows a row address selection PS signal (PS) and a row address (ROW_ADD) corresponding to each memory bank bank number (BANK NO.) Of each memory macro number (MACRO NO.) Set in PH. . When the row address selection signal PS is Low, it indicates that the row address of the bank is not selected, and when it is High, it indicates that the row address of the bank is selected. HT is an in-page access determination signal indicating whether or not a current access has occurred to a selected row address, that is, whether or not the access is within the same page. When the HT page access determination signal is High, it indicates an access within the same page as the selected row address, and when it is Low, a page access or row address different from the selected row address is selected. Indicates that the access has not been made. When HT is Low, the row address already set in the selected bank is always replaced with the row address in the current access by the current access. When HT is High, the row address does not change.
The IADD is composed of an 18-bit address and is not particularly limited. However, in the embodiment of FIG. 2, the most significant 17th to 8th bits are the MEM row address, and the 7th to 6th bit. The MEM memory bank address, the 5th to 4th bits are the MEM memory macro address, and the 3rd to 0th bits are the MEM column address.
The memory macro address, memory bank address, and row address in the IADD address are input to the in-page access determination circuit PH. In PH, first, a PS signal corresponding to one memory bank selected by the memory macro address and the memory bank address is output to the instruction generation circuit CGEN and the address generation circuit AGEN. When the PS signal is low, it is set to 1 at the rising edge of the next clock. When an access end command is input from ICOM and LMS is 0, the selected PS signal is set to 0.
Next, the operation of the in-page access determination signal HT signal will be described. When the PS signal of one memory bank selected by the IADD address is Low, HT is set to Low. When the PS signal is High, if the row address of one bank selected by the memory macro address and the memory bank address matches the current access row address, HT is set to High, and otherwise, HT is set to Low. . The HT signal is output to the instruction generation circuit CGEN and the address generation circuit AGEN.
FIG. 10 shows an example of operations of the instruction generation circuit CGEN and the address generation circuit AGEN when a read instruction is input. CGEN and AGEN are supplied with a read command from ICOM, an address from IADD, an in-page access determination signal HT and a row address selection signal PS from in-page
When the row address selection signal PS is Low, CGEN and AGEN first perform a row operation in normal access. Specifically, CGEN first outputs a bank active instruction BA, and AGEN outputs a row address, a memory macro address, and a memory bank address to MEM. After two cycles, the column operation is performed. Specifically, CGEN outputs a read command RD, and AGEN outputs a column address, a memory macro address, and a memory bank address to MEM, and reads the data.
When the row address selection signal PS is High and the in-page access determination circuit signal HT is Low, the current access is an access to a row address different from the already selected row address, that is, an access to a different page. Show. In accessing a different page, first, a precharge operation is performed to deselect a previously selected row address, and then a row operation is performed to select a new row address. After two cycles, column operation is performed to read data.
When the row address selection signal PS is High and the in-page access determination circuit signal HT is High, the current access indicates an access within the already selected row address, that is, an access within the same page. At this time, no row operation is required, column operation is performed, and data is read.
For an access of a page different from the normal access, when EOA indicating the end of access is input from ICOM after the end of the column operation, if LMS is Low, a precharge operation is performed and the page of the MEM memory bank is closed. . When LMS is high, the next access is performed while the page is opened without performing the precharge operation. When accessing the same page, the next access is waited with the page opened.
FIG. 11 shows an example of operations of the instruction generation circuit CGEN and the address generation circuit AGEN when a refresh instruction is input. CGEN and AGEN are supplied with a refresh command from ICOM, an address from IADD, an in-page access determination signal HT and a row address selection signal PS from in-page
When the row address selection signal PS is Low, CGEN and AGEN first perform a row operation in normal access. Specifically, CGEN first outputs a bank active instruction BA, and AGEN outputs a row address, a memory macro address, and a memory bank address to MEM.
When the row address selection signal PS is High and the in-page access determination circuit signal HT is Low, the current access is an access to a row address different from the already selected row address, that is, an access to a different page. Show. In accessing a different page, first, a precharge operation is performed to deselect a previously selected row address, and then a row operation is performed to select a new row address.
When the row address selection signal PS is High and the in-page access determination circuit signal HT is High, the current access indicates an access within the already selected row address, that is, an access within the same page. Do nothing at this time.
For an access to a page different from the normal access, when EOA indicating the end of access is input from ICOM after the row operation is completed, if LMS is Low, a precharge operation is performed and the page of the memory bank of MEM is closed. . When LMS is high, the next access is performed while the page is opened without performing the precharge operation.
FIG. 12 shows the latency when accessing the same page, normal access, and different pages as described above. When accessing the same page, read latency is 3, write latency is 1, normal access is read latency is 5, write latency is 3, and when accessing different pages, read latency is 7, and write latency is 5. Become.
In FIG. 13, after the power is turned on (T1 (INIT)), an access from the CPU (T2 (CPU)), an access from the hard disk controller HDC (T3 (HDC)), and an access from the CPU (T4 (CPU)) occur. Specific operation in the case of PW in the T1 (INIT) period indicates the initial operation after the power is turned on and after the power is turned on. Each of C0 to Cm in the T2 (CPU) period indicates one access from the CPU, and H0 in the T3 (HDC) period indicates one access from the HDC.
As described above, according to the present invention, the access from the CPU keeps the word line of the MEM selected at the end of the access, that is, keeps the page open, and the access from the HDC and the refresh control circuit MCTL Flag data is set in the
By the initial operation (T1 (INIT)) after power-on, the row address selection signal PS signal of each bank becomes Low. Therefore, the first access (C0) in the T2 (CPU) period from the CPU to each memory bank is a normal access, and the data read latency is 5. This operation is shown in FIG.
On the other hand, FIG. 15 shows the operation in the page hit state (HT = 1) in the second and subsequent accesses (C1 to Cn) in the T2 (CPU) period. According to the present invention, for the CPU access, the precharge operation for closing the page is not performed at the end of the access, and the page is kept open. When most of the second and subsequent accesses to the same page occur, the read latency is 3, and the MEM can be operated at a higher speed than the normal operation.
FIG. 16 shows the access of H0 in the T3 (HDC) period when the access is switched from the CPU to the hard disk controller HDC. In this access, it is assumed that a 512-byte read command is issued from the HDC to the MEM. First, the first half of FIG. 16 shows an operation when a page miss occurs in the first access of H0. Since each memory bank of the memory block MEM is in a state where a page is opened for CPU access, an access from the HDC is almost an access to a different page. In FIG. 16, the read latency of the first access is 7.
Subsequent accesses of the hard disk controller HDC occur in the same page, and a total of 16 accesses are made to read 512 bytes, resulting in a latency of 22. When EOA indicating the end of access is input, a precharge operation is performed and the page is closed. Compared with the case of normal access, the read latency of the first data is delayed by 2 latencies, that is, 20 ns, but when the HDC writes 512 bytes of data to the hard disk, it takes about several ms, so 20 ns The delay is not a problem in operation.
In the T4 (CPU) period of FIG. 13, the access of Cn + 1 when the access is switched from the HDC to the CPU is as follows. According to the present invention, the page of one memory bank that has been accessed from the HDC is closed, and the remaining pages of the memory bank remain open by CPU access. When the CPU access accesses a bank whose page is closed, it becomes a normal access and the latency is 5.
When the control mode switching circuit according to the present invention is not used, the page is kept open by the access from the hard disk controller HDC, and when the CPU accesses the bank holding this state, it is almost different. Access to the page. As a result, the read latency of access from the CPU is 7, which is delayed by two latencies from the normal access, and this latency directly affects the operation of the CPU. Therefore, according to the present invention, for an access from the HDC, by closing the page at the end of the access, even if an access from the CPU after this access occurs in the memory bank that was previously accessed by the HDC, There is no increase in latency.
FIG. 17 shows an operation timing chart at the time of a refresh request from the refresh control circuit RFC. In this case, it is assumed that the page was closed by the previous access. An access from RFC occurs interruptively to the MEM about once every 4 μs, and the page is closed at the end of the refresh operation. That is, in FIG. 17, MCOM ends with PRE. That is, since the same address is not accessed in the next RFC access after 4 μs, the page should be closed. Even if an access from the CPU occurs in the memory bank accessed by the refresh control circuit after this access, the latency does not increase.
Examples of the development form of the information processing apparatus of the present invention on a specific semiconductor chip include the following. First, as a first mode, there is a mode in which a master such as a CPU, HDC, and RFC and each of ARB, MCTL, and MEM are formed on individual semiconductor chips. Here, there are two possible types of MEMs: a case where all DRAMs are formed on one chip and a case where they are formed by a plurality of DRAM chips. A well-known SDRAM etc. can be used for a DRAM chip. Next, as a second form, there is a form in which three function blocks of RFC, ARB, and MCTL are integrated on one chip as a memory control chip. Other CPUs and the like are formed on individual semiconductor chips as in the first embodiment. As a third form, there is a form in which MCTL and MEM are formed on one chip. Others are the same as the first embodiment. Furthermore, as a fourth mode, it is also effective in a small-scale system to integrate the CPU, RFC, ARB, MTL, and MEM all in one semiconductor chip. Even in this case, although not particularly limited, a master to be an external option such as HDC is a separate chip. If HDC or the like is essential as a system, it may be integrated as necessary.
<Example 2>
FIG. 18 shows an embodiment of the
FIG. 19 shows an information processing apparatus using the
Since the refresh counter 106 is provided in the
Accordingly, the configuration example of the information processing apparatus of FIG. 19 can also realize the present invention and reduce the number of terminals, which can contribute to cost reduction.
<Example 3>
FIG. 20 shows an embodiment in which the
As in the first embodiment, the CPU access opens the page even when the access is completed, and the MPEG decoder, the video interface, and the
The MPEG decoder decompresses compressed data stored in a CD-ROM or the like and temporarily stores it in the MEM. For display, data in the MEM is read from the video interface. At this time, the data transfer rate required for the MEM in order for the MPEG decoder to decompress the data is about 160 MByte / sec.
When the memory capacity of one frame necessary for display is calculated, one frame is composed of 720 × 480 pixels in the NTSC, and the luminance signal Y is 8 bits, and the color difference signals Cr and Cb are 8 bits respectively. Then, the total number of bits in one frame is about 4 Mbit. If 60 frames are read out per second, a data transfer rate of about 30 MByte / sec is required for display. Therefore, a total transfer rate of 190 MByte / sec is required.
The
At this time, the access to the
<Example 4>
FIG. 21 shows an embodiment in which the
In the same way as in the first embodiment, the CPU access opens the page even when the access is completed, and the GC, VIF, and RFC access control is performed to switch the page closed at the end of the access.
The data processing speed required for drawing by the
The number of bits per pixel is 24 bits for R, G, and B representing colors, 16 bits for Z values representing depth, 8 bits for α values representing transparency, a total of 48 bits, a frame rate of 60 Hz, If the frame size is 640 × 480, the transfer rate required for drawing is approximately 884 MByte / sec, the transfer rate required for display is approximately 110 MByte / sec, and a total transfer rate of 1 GByte / sec is required.
The graphics processing circuit GC and the display interface circuit 702 are connected to the
Considering that the
The DRAM used in the embodiment described above shows an example in which a plurality of memory macros are integrated on one chip, but this is not a limitation. The present invention can be realized by treating a DRAM of an individual chip as a memory macro.
As described above, access from a plurality of masters sharing a DRAM has its characteristics, and the present invention can control the DRAM by switching the control mode corresponding to the plurality of masters. DRAM can be operated at high speed.
Industrial applicability
The present invention can be applied to an information processing apparatus, particularly a computer apparatus typified by a personal computer apparatus. This information processing apparatus may be versatile or may be incorporated as a part of the control apparatus.
[Brief description of the drawings]
FIG. 1 shows a memory control circuit MCTL according to an embodiment of the present invention. FIG. 2 is an overall configuration diagram of an information processing apparatus to which the present invention is applied. FIG. 3 is an example of the instruction set of each master. FIG. 4 is an example of a block diagram of the memory block MEM of FIG. FIG. 5 is an example of a configuration diagram in a bank configuring the block diagram of FIG. FIG. 6 is a diagram illustrating an example of control of the memory block MEM of FIG. FIG. 7 is a diagram showing an example of control for setting data in the shift register of FIG. FIG. 8 is a flowchart showing the operation of the control mode switching circuit of FIG. FIG. 9 is an example of a diagram showing a row address selection signal and a row address corresponding to each memory bank set by the in-page access determination circuit of FIG. FIG. 10 is a flowchart showing the operation of the instruction generation circuit and address generation circuit of FIG. FIG. 11 is a flowchart showing the operation of the instruction generation circuit and address generation circuit of FIG. FIG. 12 is a diagram showing the latency of the DRAM for each access. FIG. 13 is a diagram showing an example of the temporal transition of the master accessing the DRAM. FIG. 14 is a waveform diagram showing an example of an operation for access from the CPU. FIG. 15 is a waveform diagram showing an example of an operation for access from the CPU. FIG. 16 is a waveform diagram showing an example of an operation for access from the hard disk controller HDC. FIG. 17 is a waveform diagram showing an example of an operation for an access from the refresh control circuit. FIG. 18 is a diagram showing another embodiment of the memory control circuit of the present invention. FIG. 19 is a diagram showing another embodiment of the information processing apparatus of the present invention. FIG. 20 is a diagram showing another embodiment of the information processing apparatus of the present invention. FIG. 21 is a diagram showing another embodiment of the information processing apparatus of the present invention.
Claims (9)
前記メモリブロックをアクセス可能とされる第1マスタと、
前記メモリブロックをアクセス可能とされる第2マスタと、
前記第1及び第2マスタからのアクセス要求を受けて前記メモリブロックにアクセス命令を出力するメモリ制御回路とを備え、
前記メモリ制御回路は、前記第1マスタからのアクセス要求があった場合には第1手順で前記複数のメモリバンクの一つにアクセスを行い、前記第2マスタからのアクセス要求があった場合には第2手順で前記複数のメモリバンクの一つにアクセスを行い、
前記複数のメモリバンクのそれぞれは、複数のワード線と複数のデータ線との交点に設けられ一つのMOSトランジスタ及び一つのキャパシタをそれぞれに含む複数のメモリセルを含み、
前記アクセス要求が前記複数のメモリバンクの一つからのデータ読み出し要求である場合に、前記第1手順は選択されたメモリバンクを活性化状態にして読み出し動作を終了する命令を含み、前記第2手順は選択されたメモリバンクをプリチャージ状態にして読み出し動作を終了する命令を含み、
前記第1及び第2マスタのアクセス要求のそれぞれには、前記複数のメモリバンクの一つを指定するためのバンクアドレスと、前記複数のメモリバンクの一つの中の前記複数のワード線の一つを選択するためのロウアドレスと、前記アクセス要求が前記第1マスタ又は第2マスタのいずれかから行われたのかを示すマスタ識別情報とが含まれ、
前記メモリ制御回路は、前記アクセス要求があった場合に、前記バンクアドレスに対応するメモリバンクが前記活性状態と前記プリチャージ状態のいずれであるかを判定する第1判定回路と、前記バンクアドレスに対応するメモリバンクが活性状態にある場合に当該活性状態にあるメモリバンクの中で選択状態にある前記複数のワード線の一つが前記アクセス要求に含まれる前記ロウアドレスと一致するか否かを判定する第2判定回路と、前記第1及び第2マスタのそれぞれに対し、前記第1手順又は前記第2手順のいずれを行うかを示す情報を保持する制御モード切り替え回路とを含み、前記アクセス要求に含まれる前記マスタ識別情報及び前記制御モード切り替え回路に保持された情報に従って、前記第1手順又は前記第2手順のいずれを行うかを決定することを特徴とする情報処理装置。A memory block including a plurality of memory banks;
A first master capable of accessing the memory block;
A second master capable of accessing the memory block;
A memory control circuit for receiving an access request from the first and second masters and outputting an access command to the memory block;
The memory control circuit accesses one of the plurality of memory banks in a first procedure when there is an access request from the first master, and when there is an access request from the second master. Accesses one of the plurality of memory banks in the second procedure,
Each of the plurality of memory banks includes a plurality of memory cells provided at intersections of a plurality of word lines and a plurality of data lines, each including one MOS transistor and one capacitor.
When the access request is a data read request from one of the plurality of memory banks, the first procedure includes an instruction to activate the selected memory bank and end the read operation, The procedure includes an instruction to put the selected memory bank into a precharged state and end the read operation,
Each of the access requests of the first and second masters includes a bank address for designating one of the plurality of memory banks, and one of the plurality of word lines in one of the plurality of memory banks. And a master identification information indicating whether the access request is made from the first master or the second master, and
The memory control circuit includes a first determination circuit that determines whether the memory bank corresponding to the bank address is in the active state or the precharge state when the access request is made; When the corresponding memory bank is in an active state, it is determined whether one of the plurality of word lines in the selected state among the memory banks in the active state matches the row address included in the access request And a control mode switching circuit for holding information indicating whether to perform the first procedure or the second procedure for each of the first and second masters, and the access request Either the first procedure or the second procedure according to the master identification information and the information held in the control mode switching circuit The information processing apparatus characterized by determining whether to perform.
前記複数のメモリバンクのそれぞれは、複数のデータラッチ回路を含み、
前記アクセス要求が前記複数のメモリバンクの一つからのデータ読み出し要求である場合に、前記第1手順は、選択されたメモリセルから読み出された所定のデータを前記複数のデータラッチ回路に保持して前記第1マスタに出力した後に前記複数のデータラッチ回路に対するデータの保持を持続させる動作を含み、前記第2手順は、選択されたメモリセルから読み出された所定のデータを前記複数のデータラッチ回路に保持して第2マスタに出力した後に前記複数のデータラッチ回路に保持されたデータをクリアする動作を含むことを特徴とする情報処理装置。In claim 1,
Each of the plurality of memory banks includes a plurality of data latch circuits,
When the access request is a data read request from one of the plurality of memory banks, the first procedure holds predetermined data read from a selected memory cell in the plurality of data latch circuits. And holding the data in the plurality of data latch circuits after the data is output to the first master, and the second procedure includes the predetermined data read from the selected memory cell as the plurality of data. An information processing apparatus comprising: an operation of clearing data held in the plurality of data latch circuits after being held in the data latch circuit and outputted to the second master.
前記情報処理装置は、前記第1及び第2マスタと前記メモリ制御回路との間に挿入されたアクセス調停回路を更に有し、
前記アクセス調停回路は、前記第1マスタのアクセス要求と前記第2マスタのアクセス要求が競合する場合には、前記第2マスタのアクセス要求を優先して前記メモリ制御回路に伝達し、しかる後に前記第1マスタのアクセス要求を前記メモリ制御回路に伝達することを特徴とする情報処理装置。In claim 2,
The information processing apparatus further includes an access arbitration circuit inserted between the first and second masters and the memory control circuit,
When the access request of the first master and the access request of the second master conflict with each other, the access arbitration circuit preferentially transmits the access request of the second master to the memory control circuit. An information processing apparatus that transmits an access request of a first master to the memory control circuit.
前記第1マスタはCPUであることを特徴とする情報処理装置。In claim 3,
The information processing apparatus, wherein the first master is a CPU.
前記第1マスタはCPUであることを特徴とする情報処理装置。In claim 1,
The information processing apparatus, wherein the first master is a CPU.
前記アクセス要求がメモリバンクからのデータ読み出し要求である場合に、前記第1手順は、対応するメモリバンクの前記複数のワード線の一つを選択することで所定のデータを読み出して前記第1マスタに出力した後に当該選択されたワード線を選択された状態に保つ動作を含み、前記第2手順は、対応するメモリバンクの前記複数のワード線の一つを選択することで所定のデータを読み出して前記第2マスタに出力する動作と当該選択されたワード線を非選択状態とする動作とを含むことを特徴とする情報処理装置。In claim 1,
When the access request is a data read request from a memory bank, the first procedure reads out predetermined data by selecting one of the plurality of word lines in the corresponding memory bank, and the first master And the second procedure reads out predetermined data by selecting one of the plurality of word lines in the corresponding memory bank. And an operation for outputting the selected word line to a non-selected state.
前記アクセス要求がメモリバンクからのデータ読み出し要求である場合に、前記第1手順は、対応するメモリバンクを活性化して所定のデータを前記第1マスタに出力した後にその対応するメモリバンクの活性状態を保つ動作を含み、前記第2手順は、対応するメモリバンクから所定のデータを前記第2マスタに出力した後にその対応するメモリバンクのプリチャージする動作を含むことを特徴とする情報処理装置。In claim 1,
When the access request is a data read request from a memory bank, the first procedure activates the corresponding memory bank and outputs predetermined data to the first master and then activates the corresponding memory bank. And the second procedure includes an operation of outputting predetermined data from the corresponding memory bank to the second master and then precharging the corresponding memory bank.
前記情報処理装置はハードディスク装置を更に含み、 The information processing apparatus further includes a hard disk device,
前記第1マスタはCPUであり、前記第2マスタはハードディスク装置に結合されたハードディスクコントローラであることを特徴とする情報処理装置。 The information processing apparatus according to claim 1, wherein the first master is a CPU, and the second master is a hard disk controller coupled to a hard disk device.
前記第1マスタはCPUであり、前記第2マスタは前記メモリブロックのリフレッシュコントローラであることを特徴とする情報処理装置。 The information processing apparatus, wherein the first master is a CPU, and the second master is a refresh controller of the memory block.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/000648 WO2001059573A1 (en) | 2000-02-07 | 2000-02-07 | Information processor and semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP4549001B2 true JP4549001B2 (en) | 2010-09-22 |
Family
ID=11735662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001558836A Expired - Fee Related JP4549001B2 (en) | 2000-02-07 | 2000-02-07 | Information processing apparatus and semiconductor integrated circuit |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP4549001B2 (en) |
AU (1) | AU2000223268A1 (en) |
WO (1) | WO2001059573A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023069655A (en) | 2021-11-08 | 2023-05-18 | 華邦電子股▲ふん▼有限公司 | pseudo static random access memory |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01163849A (en) * | 1987-12-21 | 1989-06-28 | Hitachi Micro Comput Eng Ltd | Semiconductor integrated circuit |
JPH0212541A (en) * | 1988-04-29 | 1990-01-17 | Internatl Business Mach Corp <Ibm> | Computing system and operation thereof |
JPH0784866A (en) * | 1993-06-30 | 1995-03-31 | Toshiba Corp | Memory control circuit |
JPH07129500A (en) * | 1993-11-08 | 1995-05-19 | Canon Inc | Bus switch circuit |
US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
JPH1097788A (en) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | Information processor |
JPH1153252A (en) * | 1997-07-30 | 1999-02-26 | Nec Niigata Ltd | Memory control circuit |
JPH11345165A (en) * | 1997-12-05 | 1999-12-14 | Texas Instr Inc <Ti> | Traffic controller using priority and burst control for reducing access times |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
JPH09288614A (en) * | 1996-04-22 | 1997-11-04 | Mitsubishi Electric Corp | Semiconductor integrated circuit device, semiconductor storage device and control circuit therefor |
-
2000
- 2000-02-07 JP JP2001558836A patent/JP4549001B2/en not_active Expired - Fee Related
- 2000-02-07 AU AU2000223268A patent/AU2000223268A1/en not_active Abandoned
- 2000-02-07 WO PCT/JP2000/000648 patent/WO2001059573A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01163849A (en) * | 1987-12-21 | 1989-06-28 | Hitachi Micro Comput Eng Ltd | Semiconductor integrated circuit |
JPH0212541A (en) * | 1988-04-29 | 1990-01-17 | Internatl Business Mach Corp <Ibm> | Computing system and operation thereof |
JPH0784866A (en) * | 1993-06-30 | 1995-03-31 | Toshiba Corp | Memory control circuit |
JPH07129500A (en) * | 1993-11-08 | 1995-05-19 | Canon Inc | Bus switch circuit |
US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
JPH1097788A (en) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | Information processor |
JPH1153252A (en) * | 1997-07-30 | 1999-02-26 | Nec Niigata Ltd | Memory control circuit |
JPH11345165A (en) * | 1997-12-05 | 1999-12-14 | Texas Instr Inc <Ti> | Traffic controller using priority and burst control for reducing access times |
Also Published As
Publication number | Publication date |
---|---|
WO2001059573A1 (en) | 2001-08-16 |
AU2000223268A1 (en) | 2001-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6381190B1 (en) | Semiconductor memory device in which use of cache can be selected | |
US6466511B2 (en) | Semiconductor memory having double data rate transfer technique | |
US5555528A (en) | Dynamic random access memory persistent page implemented as processor register sets | |
US7596666B2 (en) | Multi-path accessible semiconductor memory device having port state signaling function | |
KR100816053B1 (en) | Memory device, memory system and dual port memory device with self-copy function | |
JP2000021160A (en) | Semiconductor integrated circuit and data processing system | |
JP2002063069A (en) | Memory controller, data processing system, and semiconductor device | |
JPH05274859A (en) | Integrated circuit storage device | |
US6779074B2 (en) | Memory device having different burst order addressing for read and write operations | |
JP2006190402A (en) | Semiconductor device | |
JP3719808B2 (en) | Semiconductor memory device | |
US6091667A (en) | Semiconductor memory device and a data reading method and a data writing method therefor | |
JP3816110B2 (en) | Semiconductor integrated circuit device | |
US6829195B2 (en) | Semiconductor memory device and information processing system | |
JP2007087375A (en) | Memory control system and memory control circuit | |
US7898880B2 (en) | Dual port memory device, memory device and method of operating the dual port memory device | |
US20020136079A1 (en) | Semiconductor memory device and information processing system | |
JP5481823B2 (en) | Memory module and memory auxiliary module | |
JP4549001B2 (en) | Information processing apparatus and semiconductor integrated circuit | |
JPH09115283A (en) | Semiconductor storage | |
JPH08328949A (en) | Storage device | |
US20050232060A1 (en) | Memory controller controlling cashed dram | |
US6433786B1 (en) | Memory architecture for video graphics environment | |
JPH08138377A (en) | Semiconductor memory | |
JP2004055112A (en) | Dram for high-speed data access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20030826 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20030901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070124 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070124 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100706 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100706 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |