[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4549001B2 - Information processing apparatus and semiconductor integrated circuit - Google Patents

Information processing apparatus and semiconductor integrated circuit Download PDF

Info

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
Application number
JP2001558836A
Other languages
Japanese (ja)
Inventor
誓士 三浦
一重 鮎川
隆夫 渡部
浩己 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Application granted granted Critical
Publication of JP4549001B2 publication Critical patent/JP4549001B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-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 CPU 4 as a first master, a hard disk controller (HDC) 5 as a second master, an access arbitration circuit (ARB) 2 that arbitrates access from the CPU and HDC, and a plurality of banks. Memory block (MEM) 3, memory control circuit (MCTL) 1 that controls MEM by a signal from ARB, hard disk (HD) 50, and refresh control circuit (RFC) 6 that controls refresh operation of memory block 3 Consists of. The RFC becomes the third master.
The hard disk controller HDC controls data transfer between the hard disk 50 and the memory block MEM. The MEM is composed of four memory macros, a 0th memory macro 3M0 to a third memory macro 3M3. Each memory macro is composed of four memory banks, and each memory bank is provided with a sense amplifier. The information processing apparatus operates in synchronization with the clock CLK.
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 shift registers 1a, 1b, and 1c in the DRAM control circuit 1 of FIG. The reserve RV is a reserve instruction for adding a new instruction. No operation NOP is an instruction which does nothing.
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 row address 301 in the selected memory bank is set to 1096 word lines by the row address RW0. One word line WL is selected, and 4096-bit memory cell data for one page passes through 4096 bit line pairs (BL0-0 and BLB0-0 to BL256-15 and BLB256-15). Transferred to and held by the amplifier 303. The sense amplifier is a latch-type sense amplifier in which two CMOS inverters are cross-coupled, and has an amplification and latch function. In this sense, the sense amplifier can be regarded as a data latch circuit. The sense amplifier is not limited to the above-described latch type sense amplifier, and may be a circuit that separates the amplification unit and the latch unit of the sense amplifier. In order to read the data held in the sense amplifier, the read command RD and MADD from MCOM to the column address CA0 (4 bits of MADD [7: 4]) and the macro address MC0 and the bank address BK0 in the bank active command are the same. The macro address MC0 and the bank address BK0 are input. One of the 16 banks is selected by the macro address MC0 and the bank address BK0, and the column decoder 300 selects one column address by the column address CA0. Of the 4096 column switches in the column switch group 304, 256 column switches are selected according to the selected column address, and 256-bit data in the sense amplifier 303 is output to the global bit line GBL. It passes through the output buffer 306 and is output to the outside of the MEM. Thereafter, the page is closed by the precharge signal PRE and the bank address BK0. In such a normal operation, the latency until the memory control circuit 1 receives a command from the CPU and the data is output from the MEM is 5.
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 shift registers 1a, 1b, 1c and 1d, and master identification signal IMAD, control mode switching circuit CREG outputs signal 1e from shift register 1a, output signal 1f from register 1b, and output signal 1g from register 1c. And a selection circuit 1i that selects the output signal 1h from the register 1d, and a latch circuit 1k that latches the output signal 1j of the selection circuit 1i. Each of the shift registers 1a to 1d is a shift register that sets a flag signal necessary for selecting a control mode for each master. 1a is a flag signal of the CPU, 1b is a flag signal of the hard disk controller HDC, 1c is a flag signal of the refresh control circuit RFC, and 1d is a flag signal of another master.
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 shift register 1b, the RFC flag signal Low is sent to the shift register 1c, and the other master flag signals Low are sent to the shift register 1d. Operation when set to. When the CPU issues a set register instruction SR and the ARB permits access, the set register instruction SR is input to the memory control circuit 1 through ICOM. In the set register instruction, as shown in FIG. 3, the 0th bit signal of ICOM becomes the flag data FLAG_D set in the shift register.
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 CPU identification signal 0 is input to the memory control circuit MCTL through the IMAD, the flag signal High of the shift register 1a passes through the output signal 1e and is selected by the selection circuit 1i. 1i is output to the output signal 1j, High is latched in the latch circuit 1k, and the output LMS becomes High.
When access from the HDC is granted to the ARB and the HDC identification signal 1 is input to the MCTL through the IMAD, the flag signal Low of the shift register 1b is selected by the selection circuit 11 through the output signal 1f, and the output signal 1j of the selection circuit 1i , Low is latched in the latch circuit 1k, and its output LMS becomes Low. When access from the RFC is permitted to the access arbitration circuit and the RFC identification signal 2 is input to the MCTL through the IMAD, the lag signal Low of the shift register 1c passes through the output signal 1g and is selected by the selection circuit 1i. The output signal 1j is output, Low is latched in the latch circuit 1k, and the output LMS becomes Low.
The values of the shift registers 1a, 1b, 1c, and 1d can be set by providing a dedicated setting terminal outside. Further, the values of the shift registers 1a, 1b, 1c, and 1d can be set by being connected to a power source or a ground with a metal layer or a diffusion layer when integrated on silicon. This is a so-called metal option.
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 access determination circuit 102, and an LMS from control mode switching circuit 101.
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 access determination circuit 102, and an LMS from control mode switching circuit 101.
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 shift registers 1a, 1b, 1c and 1d so that the page is closed at the end of access. Specific examples of the operation are shown in FIGS. 14 to 17, IMAD is a master identification number, and ICOM corresponds to the instruction of FIG. Here, the NOP instruction is abbreviated as N. IADD represents an access address, AD0 is in a state where a predetermined address signal is input, and DC (Don't Care) indicates a state in which the address is indefinite. MCOM corresponds to the instruction of FIG. MADD also represents an access address for MEM.
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 memory control circuit 100 according to the present invention. In this embodiment, a refresh counter 106 for generating a refresh address is added to the embodiment shown in FIG. When a refresh command is input from the ICOM, the address selection circuit 107 selects an address from the refresh counter and outputs it to the in-page access determination circuit 102 and the address generation circuit. The refresh counter counts up the refresh address every time a refresh command is input.
FIG. 19 shows an information processing apparatus using the memory control circuit 100. This includes a CPU, an HDC, an access arbitration circuit 2 that arbitrates accesses from the CPU and the HDC, a MEM that includes a plurality of banks, and a memory control circuit 1 that controls the MEM by signals from the access arbitration circuit 2. And a hard disk 50 and a refresh control circuit 6 for controlling the refresh operation of the MEM. The CPU, HDC, and refresh control circuit 6 do not have the MAD identification signal shown in FIG. 2, and the ports of REQ0, REQ1, and REQ2 are connected to the access arbitration circuit. The access arbitration circuit identifies the master by the ports of REQ0, REQ1, and REQ2, receives a request from each master, and when access is permitted, converts the port information into a master identification signal IMAD.
Since the refresh counter 106 is provided in the memory control circuit 100, it is not necessary to input a refresh address from the refresh control circuit 6, and only the refresh request signal REQ2 and the refresh permission signal ACK0 are connected.
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 CPU 4, the MPEG decoder (MPEG DEC) 5001, the video interface circuit (VIF) 600, and the RFC become the master and access the memory block MEM. At this time, the MEM is shared by the CPU, MPEG DEC, and VIF.
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 refresh control circuit 6 access the page at the end of the access. Consider the case where switching control is performed.
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 MPEG decoder 501 and the display interface circuit 600 are connected to the memory block (MEM) 50 through the access arbitration circuit 201 and the memory control circuit 101 via a 512-bit data bus.
At this time, the access to the memory block 351 where the data transfer rate of the MPEG decoder 501 is the lowest is the access of different pages and only once. In this access, in order to output 512-bit data, it takes 7 latencies, that is, 70 ns, and the data transfer rate is (512/8) Byte × (1 × 1000/70) MHz = 911 MByte / sec. Considering that the MPEG decoder requires a transfer rate of about 190 MByte / sec at the maximum, the transfer rate of 911 MByte / sec is sufficient, and even if the remaining transfer rate is used for the CPU, the MPEG decoder There is no problem in the operation. Therefore, also in the second embodiment, the access from the MPEG decoder, the display interface circuit 701 and the refresh control circuit 600 according to the present invention is performed after the access by closing the page at the end of these accesses. Even if access from the CPU occurs in a memory bank that was previously accessed by either the MPEG decoder or the video interface, the latency of the DRAM does not increase and the speed can be increased.
<Example 4>
FIG. 21 shows an embodiment in which the CPU 4, the graphics processing circuit (GC) 502, and the display interface circuit (VIF) 702 access the DRAM by the master and the refresh control circuit (RFC) 602. At this time, the memory block (MEM) 352 is shared by the GC, the VIF, and the CPU.
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 graphics processing circuit 502 and the data transfer speed required for display by the display interface circuit 702 are as follows.
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 access arbitration circuit 2 and the memory block 352 through the memory control circuit 102 via a 2048-bit data bus. At this time, the access to the memory block 352 having the lowest GC data transfer rate is a different page access and only once. In this access, in order to output 2048-bit data, it takes 7 latencies, that is, 70 ns, and the data transfer rate is (2048/8) Byte × (1 × 1000/70) MHz = 3.6 GByte / sec.
Considering that the graphics processing circuit 502 and the display interface circuit 602 together require a transfer rate of about 1 GByte / sec, the transfer rate of 3.6 GByte / sec has a sufficient margin, and the remaining transfer rate is Even if it is used for the CPU, no problem occurs in the operation of the graphics processing circuit. Therefore, also in the third embodiment, the operation of the DRAM can be speeded up by the present invention.
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手順は、選択されたメモリセルから読み出された所定のデータを前記複数のデータラッチ回路に保持して前記第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.
請求項2において、
前記情報処理装置は、前記第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.
請求項3において、
前記第1マスタはCPUであることを特徴とする情報処理装置。
In claim 3,
The information processing apparatus, wherein the first master is a CPU.
請求項1において、
前記第1マスタはCPUであることを特徴とする情報処理装置。
In claim 1,
The information processing apparatus, wherein the first master is a CPU.
請求項1において、
前記アクセス要求がメモリバンクからのデータ読み出し要求である場合に、前記第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手順は、対応するメモリバンクを活性化して所定のデータを前記第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.
請求項1において、  In claim 1,
前記情報処理装置はハードディスク装置を更に含み、  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において、  In claim 1,
前記第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.
JP2001558836A 2000-02-07 2000-02-07 Information processing apparatus and semiconductor integrated circuit Expired - Fee Related JP4549001B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023069655A (en) 2021-11-08 2023-05-18 華邦電子股▲ふん▼有限公司 pseudo static random access memory

Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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