JP2004252960A - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
JP2004252960A
JP2004252960A JP2004017735A JP2004017735A JP2004252960A JP 2004252960 A JP2004252960 A JP 2004252960A JP 2004017735 A JP2004017735 A JP 2004017735A JP 2004017735 A JP2004017735 A JP 2004017735A JP 2004252960 A JP2004252960 A JP 2004252960A
Authority
JP
Japan
Prior art keywords
memory
access
block
bank
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.)
Granted
Application number
JP2004017735A
Other languages
English (en)
Other versions
JP3819004B2 (ja
Inventor
Mamiko Akizuki
麻水子 秋月
Toru Aoki
青木  透
Yasushi Ueda
泰志 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004017735A priority Critical patent/JP3819004B2/ja
Publication of JP2004252960A publication Critical patent/JP2004252960A/ja
Application granted granted Critical
Publication of JP3819004B2 publication Critical patent/JP3819004B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】 SDRAMの同一のバンクに連続してアクセスすることを防止し処理時間を向上させたメモリ制御装置を提供することを目的とする。
【解決手段】 本発明のメモリ制御装置105は、複数のバンクを有しバンク分割モードにより連続してアクセスすることが可能なメモリを制御するメモリ制御装置であって、メモリ制御装置105を介してSDRAM808にアクセスするブロック804,805,806からのメモリアクセス要求を前記SDRAM808の異なるバンクに連続してアクセスするよう、前記複数のブロックの優先順位を制御するよう構成したものである。
【選択図】 図1

Description

本発明は、電子機器における複数のバンクで構成されるメモリを制御するメモリ制御装置に関するものである。
近年、パーソナルコンピュータで頻繁に使われるキャッシュメモリのバースト転送をクロックに同期して高速に行えるようにしたシンクロナスダイナミックランダムアクセスメモリ(以下、SDRAMと略す。)が使用されつつある。このSDRAMは、バンク分割モードによる連続アクセスモードとランダムアクセスモードとの切り替えが可能である。バンク分割モードでは4つのメモリ領域として、2ビットのバンク信号が「00」であるバンク0、「01」であるバンク1、「10」であるバンク2、「11」であるバンク3とを持ち、このバンク0,バンク1,バンク2及びバンク3をクロック制御により切り替えながらアクセスし、最初にアクセスしたバンクからデータの読み出しを行っている間に次のバンクのアドレスの取り込みを行うことが可能となっている。
このSDRAMを制御するメモリ制御装置801は、図18に示すように、メモリ制御手段802と調停・Wait信号発生部803とで構成され、複数のブロック804,805,806,807からSDRAM808へのアクセスを制御しているものがある(例えば、特許文献1参照。)。
複数のブロック804,805,806,807から、それぞれメモリアドレス信号(MADR)とデータ信号(DATA)と読み出し/書き込み制御信号(RD/WR )とが、それぞれのブロックに対応するメモリ制御部809,810,811,812に入力される。複数のブロック804,805,806,807からのメモリアクセス要求信号(CS)が調停・Wait信号発生部803に入力され、この調停・Wait信号発生部803から複数のブロック804,805,806,807に待ち信号(Wait)が返信される。調停・Wait信号発生部803からメモリアクセス許可信号(Enable)を受けたブロックに対応するメモリ制御部は、許可されたブロックのSDRAM808へのアクセスを制御する。このメモリ制御装置801を用いたSDRAM808のリードアクセスタイミングの一例を説明する。なおここでは、このSDRAM808をバンク分割モードで動作させている。
例えば、ブロックからのメモリアドレスのビット10とビット3をSDRAMのバンク信号に対応づけて「00」であればバンク0を、「01」であればバンク1を、「10」であればバンク2を、「11」であればバンク3を選択する。図19に示すように、クロック(図19(A))に従って、複数のブロックのロウアドレス(R0,R1,R2,R3)とカラムアドレス(C0,C1,C2,C3)を切り替えながらSDRAM808にメモリコマンド(図19(B))とメモリアドレス(図19(C))を出力する。バンク0から読み出されたデータ(図19(D))D00,D01は、バンク0に対するリードコマンド901が入力されてから3クロック後に出力される。D01はD00に続くアドレスのデータであり、1つのアドレス入力で2ワードのデータが出力できることを意味している。1ワード分のみ必要な場合はD01は不要であり、メモリアクセスを行ったブロックに転送しない。データが出力されるまでのクロック数は「CASレイテンシ」と呼ばれるSDRAM808に備えられているモード設定で変更することができる。また、1つのアドレス入力で扱えるデータ数は「バースト長」と呼ばれるモード設定で変更することできる。例では、「CASレイテンシ」を”3”、「バースト長」を”2”としている。
各バンクのプリチャージは、最終データ、すなわち2ワード出力のときはデータD01の出力タイミングで自動的に実行される。バンク1,バンク2,バンク3に関しても同様である。このようにSDRAM808のバンク0,バンク1,バンク2,バンク3へのアクセスを切り替えながら行うことによって隙間なく連続してアクセスしている。
特開平8−212170号公報(第3−4頁、第1図)
しかしながら、従来のメモリ制御装置ではバンク分割モードのSDRAM808に単一ブロックがアクセスする場合に、同一のバンク(例えば、バンク1とする。)に連続してアクセスするようなメモリアドレスが出力されるとバンク1へのアクセスが続いてしまう。このとき、バンク1に対するプリチャージ動作が終了するまではバンク1にアドレスを出力することができず、SDRAM808にアクセスできない無駄なサイクルが生じてしまうという問題がある。
そこで、単一ブロックがSDRAM808にアクセスする場合には、単一ブロック側で同じバンクに連続してアクセスしないようにメモリアドレスを生成することで前記の問題を解決することが考えられる。しかしながら、複数のブロックがSDRAM808にアクセスする場合には、複数のブロックからのメモリアクセス時のバンクを相互に制御することは極めて難しいため、同一バンクに連続してアクセスする可能性が生じる。
例えば、ブロック804がバンク1をアクセスした直後に、ブロック805がバンク1にアクセスしようとしたとき、同一バンクへのアクセスが続いてしまう。このときバンク1に対するプリチャージ動作が終了するまでは、バンク1にアドレスを出力することができない。即ち、SDRAM808にアクセスできない無駄なサイクルが生じてしまう。
さらに、従来のメモリ制御装置801では、SDRAM808からデータを読み出すリードアクセスの後、SDRAM808へデータを書き込むライトアクセスを行う場合、SDRAM808の仕様によりSDRAM808にアクセスできない無駄なサイクルが生じてしまう。そのため、複数のブロック804,805,806,807からリードアクセス要求の後にライトアクセス要求が続く場合は、ライトアクセスが連続して行われる場合やリードアクセスが連続して行われる場合に比べ、SDRAM808にアクセスするサイクル数が多くなってしまうという問題がある。
また、SDRAM808は内部データを保持するため一定時間毎にリフレッシュ動作を実行しなければならず、複数のブロック804,805,806,807からのメモリアクセスの間でリフレッシュ動作を実行する。複数のブロック804,805,806,807からのライトアクセス要求の後にリフレッシュ動作が実行されるとSDRAM808の仕様により無駄なサイクルが生じてしまう場合がある。
本発明は、SDRAM808の同一のバンクに連続してアクセスしないようメモリアクセスの優先順位を変更することにより処理時間を向上させ、リードアクセスの後にライトアクセスが連続しないようメモリアクセスの優先順位を変更することによりメモリアクセスサイクル数を少なくし、ライトアクセス要求の後にリフレッシュ動作が連続しないようメモリアクセスの優先順位を変更することによりメモリアクセスサイクル数を少なくしたメモリ制御装置を提供することを目的とする。
前記課題を解決するために、第1の本発明のメモリ制御装置は、複数のブロックからのメモリアクセスを調停する調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように優先順位を変更することを特徴とする。
この第1の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように前記複数のブロックのメモリアクセスの優先順位を変更することを特徴とする。
第2の本発明は、前記第1の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第3の本発明は、前記第1の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする。
第4の本発明は、前記第1の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする。
第5の本発明は、前記第1の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと次のメモリアクセスで要求されたバンクが同一である場合に、メモリアクセスの優先順位を下げることを特徴とする。
第6の本発明は、前記第2の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第7の本発明は、前記第2の本発明のメモリ制御装置において、前記同一バンク時優先順位指定手段は、外部から設定可能であり前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
第8の本発明は、前記第1の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第9の本発明のメモリ制御装置は、ブロックアクセスデータ単位でメモリアクセス要求を行う場合は、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合に、前記調停回路が前記ブロックデータ内のバンクアクセスデータの順序を入れ替えることを特徴とする。
また、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合に、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納するとともに格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して前記データラッチブロックが転送することを特徴とする。
この第9の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記メモリの同一バンクに対して書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する2組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとし、前記複数のブロックが前記ブロックアクセスデータ単位でメモリアクセス要求をしたとき、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合には、前記調停回路が前記ブロックアクセスデータ内のバンクアクセスデータのメモリアクセスの順序を入れ替えることを特徴とする。
第10の本発明は、前記第9の本発明のメモリ制御装置において、前記調停回路が前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第11の本発明は、前記第9の本発明のメモリ制御装置において、前記データラッチブロックが前記複数ブロックからのライトデータを受け取り、ラッチするライトデータラッチブロックと、前記調停回路からのデータラッチ制御信号に基づき、前記ライトデータラッチブロックが出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力し、さらに後述するリードデータラッチブロックが出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロックと、前記メモリから読み出されたリードデータを受け取り、ラッチするリードデータラッチブロックとを備えることを特徴とする。
第12の本発明は、前記第9の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納し、前記データラッチブロックは、格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して転送することを特徴とする。
第13の本発明は、前記第10の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第14の本発明は、前記第9の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第15の本発明のメモリ制御装置は、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求がバンクアクセスデータ単体の場合に、前記コマンド生成ブロックで待ちサイクルを設けることを特徴とする。
この第15の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記メモリの同一バンクに対して、書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する2組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとするとき、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求が前記バンクアクセスデータ単体の場合には、前記調停回路が待ちサイクルを設けるように前記コマンド生成ブロックに指示することを特徴とする。
第16の本発明は、前記第15の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第17の本発明は、前記第16の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第18の本発明は、前記第16の本発明のメモリ制御装置において、前記ウェイトサイクル指定手段は、外部から設定可能であり前記ウェイトサイクル指定手段の設定により、前記コマンド生成ブロックで設ける待ちサイクル数を変更できることを特徴とする。
第19の本発明は、第15の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第20の本発明のメモリ制御装置は調停回路が直前に許可したメモリアクセスがリードアクセスの場合、連続してリードアクセスが行われるように複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とする。
この第20の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、連続してリードアクセスが行われるように前記複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とする。
第21の本発明は、前記第20の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第22の本発明は、前記第20の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げることを特徴とする。
第23の本発明は、前記第20の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合に、リードアクセスの優先順位を上げることを特徴とする。
第24の本発明は、前記第20の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第25の本発明は、前記第20の本発明のメモリ制御装置において、前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする。
第26の本発明は、前記第20の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第27の本発明のメモリ制御装置は、直前に許可したメモリアクセスがライトアクセスの場合、リフレッシュ要求ブロックからリフレッシュ要求の優先順位を変更することを特徴とする。
この第27の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、前記メモリの内部データを保持するために一定間隔でリフレッシュ動作を要求するリフレッシュ要求ブロックと、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求と前記リフレッシュ要求ブロックからのリフレッシュ要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合は、前記リフレッシュ要求ブロックからのリフレッシュ要求の優先順位を変更することを特徴とする。
第28の本発明は、前記第27の本発明のメモリ制御装置において、前記調停回路が、前記リフレッシュ要求ブロックからのリフレッシュ要求と前記複数ブロックからのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第29の本発明は、前記第27の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げることを特徴とする。
第30の本発明は、前記第27の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがライトアクセスで、次のメモリアクセス要求にリフレッシュ要求が存在する場合に、リフレッシュ要求の優先順位を下げることを特徴とする。
第31の本発明は、前記第28の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第32の本発明は、前記第28の本発明のメモリ制御装置において、前記ライトアクセス時優先順位指定手段は、外部から設定可能であり前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、前記ライトアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
第33の本発明は、前記第27の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
第34の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、前記調停回路が前記複数のブロックのメモリアクセスの優先順位を変更するための調停方法を指定することを特徴とする。
第35の本発明は、前記第34の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段と、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段と、前記バンク判断手段と前記アクセス要求判断手段とを含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段と、前記調停方法指定手段の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、前記調停方法指定手段の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
第36の本発明は、前記第35の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
第37の本発明は、前記第35の本発明のメモリ制御装置において、前記調停方法指定手段は、外部から設定可能であり前記調停方法指定手段の設定により、前記複数のブロックからのメモリアクセスの調停方法を変更できることを特徴とする。
第38の本発明は、前記第35の本発明のメモリ制御装置において、前記同一バンク時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がバンク優先の場合でかつ、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
第39の本発明は、前記第35の本発明のメモリ制御装置において、前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がアクセス優先の場合でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする。
第40の本発明は、前記第34の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
以上のように本発明のメモリ制御装置によれば、調停回路が直前にメモリアクセスを許可したバンクと同一のバンクが連続する場合に前記メモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。また、メモリアドレスを生成する複数のブロックは、直前にメモリアクセスを許可されたバンクを意識することなくメモリアドレスを生成することができる。
また、異なるバンクに属する2組のバンクアクセスデータによって構成されるブロックアクセスデータ単位でメモリアクセス要求をした時、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合にメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。また、メモリアドレスを生成する複数のブロックは、直前のバンクを意識することなくメモリアドレスを生成することができる。
さらに、メモリから読み出したブロックアクセスデータをブロックから要求があったメモリアクセス順に出力することにより、メモリアドレスを生成する複数のブロックはバンクを意識することなく前記メモリから読み出したブロックアクセスデータを受け取ることが可能である。
また、バンクアクセスデータ単体でメモリアクセス要求が行われるブロックからのメモリアクセス要求を調停回路が許可した場合には、コマンド生成ブロックで待ちサイクルを設けることにより、直前に許可されたメモリアクセスのバンクの影響を受けずメモリアクセスを実現することができ、かつ、バンクアクセスデータ単体でメモリアクセスを行うために必要な回路を削減することができる。
また、調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、次のメモリアクセス要求がリードアクセス以外の場合に生じるメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
また、調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次のメモリアクセス要求がリフレッシュ要求の場合に生じるメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
(実施の形態1)
以下に、第1ないし第8の本発明の実施の形態について、図1及び図2及び図8及び図9を用いて説明する。図1は実施の形態1におけるメモリ制御装置を示すブロック図、図2は図1の主要な信号のタイミングチャート、図8は実施の形態1における調停回路を示すブロック図である。
このメモリ制御装置105は、図1に示すようにSDRAM808にアクセスする複数のブロック804,805,806からのメモリアクセス要求の調停を行う調停回路101と、SDRAM808へのメモリコマンドを生成するコマンド生成ブロック102と、
前記調停回路101によってアクセスを許可された前記ブロックからのメモリアドレスを受け取り、SDRAM808に出力するアドレス生成ブロック103と、前記調停回路101によってアクセスを許可された前記ブロックからの書き込みデータまたはSDRAM808からの読み出しデータをラッチし、アクセスを許可された前記ブロックとSDRAM808とのデータの受け渡しを行うデータラッチブロック104とで構成される。
前記調停回路101は、図8に示すように前記複数ブロック804,805,806からのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一のバンクに対するアクセスか判断するバンク判断手段1002を含み、許可信号の生成を指示するリクエスト受信ブロック1001と、前記複数ブロック804,805,806からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、前記複数ブロック804,805,806からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段1004と、前記リクエスト受信ブロック1001からの許可信号の生成を指示され、前記SDRAM808へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック1006とで構成される。
図2において、
(A)はSDRAM808が動作するクロック、
(B)はブロック804から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(D)はブロック805から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(F)はブロック806から出力される調停回路101へのメモリリクエスト、
(G)は調停回路101から返信されるブロック806へのメモリアクセス許可信号、
(H)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセス、
(I)はSDRAM808から読み出したリードデータを示す。
201はメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス、
202はブロック805のバンク2へのメモリリードアクセス、
203はブロック804のバンク1へのメモリリードアクセス、
204はブロック806のバンク0へのメモリリードアクセスである。
なお、ブロック804,805,806は、例えばCPUや誤り訂正ブロックなどがあり、ホストコンピュータとマイクロコンピュータ間のデータ転送をSDRAM808を介して実行したり、誤り訂正ブロックで誤ったデータを訂正したりする。また、ブロック804,805,806からのメモリアクセス要求はSDRAM808の同じバンクに対して、書き込みまたは読み出しデータが8バイトのバンクアクセスデータ単位で行われる。
最初に、調停回路101が直前にメモリアクセスを許可したバンクと次のメモリアクセスリクエストのバンクが同一である場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定したとして、ブロック804がSDRAM808からデータをリード(読み出し)する場合のメモリ制御装置105の動作について説明する。
ブロック804がSDRAM808にアクセスする場合には、メモリ制御装置105を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック804から調停回路101にメモリリクエスト(図2(B))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がブロック804に対しメモリアクセス許可信号(図2(C))を返信する。ブロック804の前記メモリリクエストと同時に他のブロック(ブロック805,806)がメモリリクエスト(図2(D),(F))を出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク1に対しアクセス中(図2(H)201)で、ブロック804からSDRAM808のバンク1へのメモリリードリクエスト(図2(B))が出力され、それと同時にブロック805からバンク2へのメモリリードリクエスト(図2(D))と、ブロック806からバンク0へのメモリリードリクエスト(図2(F))が出力されているとする。ブロック804からのSDRAM808のバンク1へのメモリリードリクエスト(図2(B))が出力されると、調停回路101はリクエスト受信ブロック1001でメモリリクエストとメモリアドレスを受け取り、バンク判断手段1002でメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス(図2(H)201)と同一のバンクへのメモリアクセス要求であると判断し、許可信号生成ブロック1005に、第2の優先順位のブロック805に対する許可信号を生成するよう指示する。リクエスト受信ブロック1001は、ブロック804から出力されているバンク1へのメモリードリクエストの優先順位を下げて、次に優先順位の高いブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図2(E))を返信する(優先順位変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック805からのメモリアドレスを受け取り、SDRAM808に出力する。
コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、RAS(Row Address Strobe),CAS(Column Address Strobe)などのメモリコマンドを生成し、前記メモリコマンドをSDRAM808に出力し、ブロック805のバンク2へのメモリリードアクセス202を実行する。SDRAM808から読み出されたデータはデータラッチブロック104が取り込み、ブロック805に出力する。
SDRAM808は、コマンド生成ブロック102から出力されたメモリコマンドと、アドレス生成ブロック103から出力されたメモリアドレスに基づき、SDRAM808からデータD20,D21を読み出す。D21はD20に続くアドレスのデータであり、一つのアドレス入力で2ワードのデータが出力できることを意味している(「バースト長」=”2”)。各バンクのプリチャージは最終データ、即ち、この2ワード出力時ではデータD21などの出力タイミングで自動的に実行される。バンク0,バンク1,バンク3に対するプリチャージに関しても同様である。ブロック805のバンク2へのメモリリードアクセス202が終わると、メモリアクセスの優先順位に従って、ブロック804のバンク1へのメモリリードアクセス203を実行し、続いてブロック806のバンク0へのメモリリードアクセス204を実行する。
次に、調停回路101が直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げる場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、ブロック804がバンク1に、ブロック805がバンク2に、ブロック806がバンク0にメモリアクセス要求を出力するとする。
調停回路101が直前に許可したアクセスがバンク1へのメモリリードアクセスで、メモリ制御装置105がバンク1にメモリリードアクセス中(図2(H)201)であるとき、前記バンク判断手段1002は、直前のメモリアクセスを許可した時点でバンク1へアクセス要求を出力するブロック804のメモリアクセスの優先順位を下げる。
ブロック804からSDRAM808のバンク1へのメモリリードリクエスト(図2(B))が出力され、それと同時にブロック805からバンク2へのメモリリードリクエスト(図2(D))と、ブロック806からバンク0へのメモリリードリクエスト(図2(F))が出力されると、リクエスト受信ブロック1001は許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示するとともに、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図2(E))を返信する(優先順位変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作と、ブロック805のバンク2へのメモリリードアクセス202以降の動作については、調停回路101が直前にメモリアクセスを許可したバンクと次のメモリアクセス要求のバンクが同一である場合と同様なので省略する。
次に、調停回路101が直前にメモリアクセスを許可したバンクと異なるバンクにアクセスするブロックに対するメモリアクセスの優先順位を上げる場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、ブロック804がバンク1に、ブロック805がバンク2に、ブロック806がバンク0にメモリアクセス要求を出力するとする。
調停回路101が直前に許可したアクセスがバンク1へのメモリリードアクセスで、メモリ制御装置105がバンク1にメモリリードアクセス中(図2(H)201)であるとき、バンク判断手段1002は直前のメモリアクセスを許可した時点で異なるバンクにアクセスするように、次に優先順位の高いブロック805へのメモリアクセスの優先順位を上げる。
ブロック804からSDRAM808のバンク1へのメモリリードリクエスト(図2(B))が出力され、それと同時にブロック805からバンク2へのメモリリードリクエスト(図2(D))と、ブロック806からバンク0へのメモリリードリクエスト(図2(F))が出力されると、リクエスト受信ブロック1001は許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示する。それとともに、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図2(E))を返信する(優先順位変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作と、ブロック805のバンク2へのメモリリードアクセス202以降の動作については、直前にメモリアクセスを許可したバンクと次のメモリアクセス要求のバンクが同一である場合と同様なので省略する。
次に、調停回路101が直前にメモリアクセスを許可したバンクと同一バンクに対するブロックからのアクセス要求の場合に、次にアクセスを許可するブロックを選択する場合について図9を用いて説明する。図9は、実施の形態1において、同一バンクが連続した場合に次にアクセスを許可するブロックを選択する場合のタイミングチャートである。
図9において、
(A)はSDRAM808が動作するクロック、
(B)はブロック804から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(D)はブロック805から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(F)はブロック806から出力される調停回路101へのメモリリクエスト、
(G)は調停回路101から返信されるブロック806へのメモリアクセス許可信号、
(H)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセス、
(I)はSDRAM808から読み出したリードデータを示す。
1101はメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス、
1102はブロック806のバンク0へのメモリリードアクセス、
1103はブロック804のバンク1へのメモリリードアクセス、
1104はブロック805のバンク2へのメモリリードアクセスである。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定したとして、同一バンクに対するメモリアクセスが生じた場合の優先順位をブロック806,805,804の順に優先順位が高いと、同一バンク時優先順位指定手段1004にこの優先順位を設定する。そして、ブロック804がバンク1に、ブロック805がバンク2に、ブロック806がバンク0にメモリアクセス要求を出力するとする。
調停回路101が直前に許可したアクセスがバンク1へのメモリリードアクセスで、メモリ制御装置105がバンク1にメモリリードアクセス中(図9(H)1101)であるとき、ブロック804からのSDRAM808のバンク1へのメモリリードリクエスト(図9(B))が出力されると、調停回路101はリクエスト受信ブロック1001でメモリリクエストとメモリアドレスを受け取り、バンク判断手段1002でメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス(図9(H)1101)と同一のバンクへのメモリアクセス要求であると判断し、同一バンク時優先順位指定手段1004の設定に従って、許可信号生成ブロック1005に、優先順位が最も高いブロック806に対する許可信号を生成するよう指示するとともに、ブロック806のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック806にメモリアクセス許可信号(図9(G))を返信する(同一バンク時優先順位変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック806からのメモリアドレスを受け取り、SDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、RAS,CASなどのメモリコマンドを生成し、前記メモリコマンドをSDRAM808に出力し、ブロック806のバンク0へのメモリリードアクセス1102を実行する。
ブロック806のバンク0へのメモリリードアクセス1102が終わると、メモリアクセスを許可する優先順位に従って、ブロック804のバンク1へのメモリリードアクセス1103を実行し、続いてブロック805のバンク2へのメモリリードアクセス1104を実行する。
以上のような構成にしたため、SDRAM808に対してメモリ制御装置105がアクセス中のバンクと次にアクセスするブロックからのメモリアクセス要求の対象となるバンクが同一である場合は、調停回路101が同一のバンクに対するメモリアクセスを出力するブロックの優先順位を下げて、あるいは、異なるバンクに対するメモリアクセス要求を出力しているブロックの優先順位を上げて、異なるバンクに連続してアクセスできるようにすることにより、SDRAM808にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
また、メモリアドレスを生成する複数のブロックは、前記メモリ制御装置がアクセス中のバンクを意識することなくメモリアドレスを生成することができる。
この実施の形態1では、SDRAM808が「バースト長」=”2”に設定されている場合を一例として説明したが、例えば、「バースト長」=”4”,”8”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態1では、SDRAM808が「CASレイテンシ」=”3”に設定されている場合を一例として説明したが、例えば、「CASレイテンシ」=”2”,その他の値に設定されている場合にも、同様の効果が得られる。
なお、この実施の形態1では、SDRAM808に対する優先順位がブロック804,805,806の順に高いという例で説明したが、メモリアクセス優先順位指定手段1003を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも本実施の形態1と同様の効果が得られる。
なお、この実施の形態1では、同一バンクに対するメモリアクセスが生じた場合の優先順位をブロック806,805,804の順に優先順位が高いという例で説明したが、同一バンク時優先順位指定手段1004を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態1では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
(実施の形態2)
以下に、第9ないし第14の本発明の実施の形態について、図1及び図3及び図10及び図11を用いて説明する。図3は実施の形態2の主要な信号のタイミングチャート、図10は実施の形態2の調停回路101を示すブロック図、図11は実施の形態2のデータラッチブロック104を示すブロック図である。
メモリ制御装置105の構成に関しては、実施の形態1の構成(図1)と同様なので図番を同じくして説明は省略する。
前記調停回路101は、図1、図10に示すように複数ブロック804,805,806からのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段1202を含み、許可信号の生成を指示するリクエスト受信ブロック1201と、前記複数ブロック804,805,806からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、前記リクエスト受信ブロック1001からの許可信号の生成を指示され、前記SDRAM808へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック1006とで構成される。
前記データラッチブロック104は、図1、図11に示すように前記複数ブロック804,805,806からのライトデータを受け取り、ラッチするライトデータラッチブロック1301と、前記調停回路101からのデータラッチ制御信号に基づき、前記ライトデータラッチブロック1301が出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力したり、後述するリードデータラッチブロック1303が出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロック1302と、前記SDRAM808から読み出されたリードデータを受け取り、ラッチするリードデータラッチブロック1303とで構成される。
図3において、
(A)はSDRAM808が動作するクロック、
(B)はブロック804から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(D)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセス、
(E)はSDRAM808から読み出したリードデータ、
(F)は各ブロックに転送するデータを示す。
301はメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス、
302はブロック804のバンク1へのメモリリードリクエスト、
303はブロック804のバンク2へのメモリリードリクエスト、
304はブロック804のバンク2へのメモリリードアクセス、
305はブロック804のバンク1へのメモリリードアクセス、
306はSDRAM808のバンク2から読み出した8バイトのバンクリードデータ、
307はSDRAM808のバンク1から読み出した8バイトのバンクリードデータである。
本発明の実施の形態2のメモリ制御装置は、前述の実施の形態1の複数のブロック804,805,806からのメモリアクセス要求が8バイトのバンクアクセスデータ単位で行われていたのに対し、異なるバンクに属する2組の8バイトのバンクアクセスデータによって構成される16バイトのブロックアクセスデータ単位でメモリアクセス要求が行われる点が前述の実施の形態1とは異なっている。そのため、調停回路101が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、ブロックアクセスデータ内のバンクアクセスデータの順序を入れ替えて、SDRAM808の異なるバンクに連続してアクセスするよう前記SDRAM808へのアクセスを制御する機能が前述の実施の形態1とは異なっている。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定したとして、ブロック804がSDRAM808からデータをリード(読み出し)する場合のメモリ制御装置105の動作について説明する。
ブロック804がSDRAM808にアクセスする場合には、メモリ制御装置105を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック804から調停回路101にメモリリクエスト(図3(B))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がブロック804に対しメモリアクセス許可信号(図3(C))を返信する。ブロック804の前記メモリリクエストと同時に他のブロック(ブロック805,806)がメモリリクエストを出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク1に対しアクセス中(図3(D)301)で、ブロック804からSDRAM808のバンク1、バンク2の順にメモリリードリクエスト(図3(B)302,303)が出力されているとする。ブロック804からメモリリードリクエスト302,303が出力されると、調停回路101はリクエスト受信ブロック1201でメモリリクエストとメモリアドレスを受け取る。バンク判断手段1202で、メモリ制御装置105がアクセス中の後半の8バイトのバンクアクセスデータを読み出すバンク1へのメモリアクセス301とブロック804から出力された前半の8バイトのバンクアクセスデータを読み出すメモリリードリクエスト302が同一のバンクへのメモリアクセス要求であると判断し、リクエスト受信ブロック1201が許可信号生成ブロック1005に、ブロック804に対する許可信号を生成するよう指示する。さらに、リクエスト受信ブロック1201は、前半の8バイトのバンクアクセスデータを読み出すメモリリリードクエスト302と後半の8バイトのバンクアクセスデータを読み出すメモリリードリクエスト303のメモリアクセスの順序を入れ替えて、後半の8バイトのバンクアクセスデータを読み出すメモリリードリクエスト303に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック804にメモリアクセス許可信号(図3(B))を返信する(アクセス順序変換処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1001からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック804からのメモリアドレスを受け取り、メモリアクセスの順序を入れ替えてSDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、バンク2へのメモリリードアクセス304を実行後、バンク1へのメモリリードアクセス305を実行する。
SDRAM808は、コマンド生成ブロック102から出力されたメモリコマンドと、アドレス生成ブロック103から出力されたメモリアドレスに基づき、SDRAM808からD20,D21の8バイトのバンクアクセスデータ306と、D10,D11の8バイトのバンクアクセスデータ307を読み出す。
データラッチブロック104は、調停回路101で入れ替えたアクセス順(バンク2へのアクセス後、バンク1へのアクセス)にSDRAM808から読み出したバンクアクセスデータ306,307をリードデータラッチブロック1303でラッチし、データ入れ替えブロック1302で調停回路101から出力されたデータラッチ制御信号に基づいて、ブロック804からメモリリクエスト302,303が出力された元のアクセス順(バンク1へのアクセス後、バンク2へのアクセス)にSDRAM808から読み出したバンクアクセスデータ306,307を入れ替えてブロック804に出力する(読み出しデータ順序変換処理)。
以上のような構成にしたため、SDRAM808に対してメモリ制御装置105がアクセス中の後半のバンクと次にアクセスするブロックからのメモリアクセス要求の前半のアクセスの対象となるバンクが同一である場合は、調停回路101が前半のアクセスと後半のアクセスの順序を入れ替えて、異なるバンクに連続してアクセスできるようにすることにより、SDRAM808にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
また、メモリアドレスを生成する複数のブロックは、前記メモリ制御装置がアクセス中のバンクを意識することなくメモリアドレスを生成することができる。
また、SDRAM808に対するバンクアクセスデータのアクセス順序を変更した場合でも、SDRAM808から16バイトのブロックアクセスデータを読み出してデータラッチブロック104に格納するとともに格納したバンクアクセスデータをSDRAM808から読み出した順序と逆の順序で、メモリアクセスを行ったブロックに対してデータラッチブロック104が転送することにより、メモリアクセス要求を行ったブロックはバンクを意識することなくSDRAM808から読み出したブロックアクセスデータを受け取ることができる。
この実施の形態2では、SDRAM808が「バースト長」=”2”に設定されている場合を一例として説明したが、例えば、「バースト長」=”4”,”8”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態2では、SDRAM808が「CASレイテンシ」=”3”に設定されている場合を一例として説明したが、例えば、「CASレイテンシ」=”2”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態2では、実施の形態1と同様にメモリアクセス優先順位指定手段1003を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態2では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
(実施の形態3)
以下に、第15ないし第19の本発明の実施の形態について、図1及び図4及び図12を用いて説明する。図4は実施の形態3の主要な信号のタイミングチャート、図12は実施の形態3の調停回路を示すブロック図である。
メモリ制御装置105の構成に関しては、実施の形態1の構成(図1)と同様なので図番を同じくして説明は省略する。
前記調停回路101は、図1、図12に示すように前記複数ブロック804,805,806からのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段1402を含み、許可信号の生成を指示するリクエスト受信ブロック1401と、前記複数ブロック804,805,806からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段1403と、前記リクエスト受信ブロック1401からの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロック1006とで構成される。
図4において、
(A)はSDRAM808が動作するクロック、
(B)はブロック805から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(D)はブロック806から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック806へのメモリアクセス許可信号、
(F)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセスを示す。
401はメモリ制御装置105がアクセス中のバンク1へのメモリアクセス、
402はブロック805のバンク1へのメモリリクエスト、
403はブロック805のバンク1へのメモリアクセス、
404はメモリ制御装置105がアクセス中のバンク1へのメモリアクセス、
405はブロック806のバンク2へのメモリリクエスト、
406はブロック806のバンク2へのメモリアクセスである。
本発明の実施の形態3のメモリ制御装置は、前述の実施の形態2の複数のブロック804,805,806からのメモリアクセス要求が異なるバンクに属する2組の8バイトのバンクアクセスデータによって構成される16バイトのブロックアクセスデータ単位で行われていたのに対し、前記16バイトのブロックアクセスデータ単位でメモリアクセス要求を行うブロックと8バイトのバンクアクセスデータ単体でメモリアクセス要求を行うブロックが存在する点が前述の実施の形態2とは異なっている。そのため、複数のブロック804,805,806のうち、前記バンクアクセスデータ単体でメモリアクセス要求が行われるブロック805,806からのメモリアクセス要求を調停回路101が許可した場合、前記リクエスト受信ブロック1401でウェイトサイクル指定手段1403に設定されたサイクル数だけ待ちサイクルを設け、前記バンクアクセスデータ単位のメモリアクセスのサイクル数が前記ブロックアクセスデータ単位のメモリアクセスのサイクル数と同じになるように制御する機能が実施の形態2とは異なっている。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、ウェイトサイクル指定手段1403にバイトアクセスデータ1つ分の待ちサイクル数を設定したとして、バイトアクセスデータ単体でメモリアクセスの要求を行うブロック805が調停回路101が直前にメモリアクセスを許可したバンクと同一のバンクからデータをリード(読み出し)する場合のメモリ制御装置105の動作について説明する。
ブロック805がSDRAM808にアクセスする場合には、メモリ制御装置105を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック805から調停回路101にメモリリクエスト(図4(B))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がブロック805に対しメモリアクセス許可信号(図4(C))を返信する。ブロック805の前記メモリリクエストと同時に他のブロック(例えば、ブロック806)がメモリリクエスト(図4(D))を出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク1に対しアクセス中(図4(F)401)でブロック805からSDRAM808のバンク1に対しメモリリードリクエスト(図4(B)402)が出力されているとする。ブロック805からメモリリードリクエスト(図4(B)402)が出力されると、調停回路101はリクエスト受信ブロック1401でメモリリクエストを受け取り、データ単位判断手段1402でブロック805からのメモリアクセス要求のデータ単位を判断し、許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示するとともに、ウェイトサイクル指定手段1403に設定したバイトアクセスデータ1つ分の待ちサイクル数を設けて、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図4(C))を返信する(アクセスウェイト処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1401からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリアクセス403を実行する。
すなわち、アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック805からのメモリアドレスを受け取り、バンクアクセスデータ1つ分の待ちサイクルを設けてSDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、バンクアクセスデータ1つ分の待ちサイクルを設けてメモリアクセス403を実行する。
次に、バイトアクセスデータ単体でメモリアクセスの要求を行うブロック806が、調停回路地101が直前にメモリアクセスを許可したバンクと異なるバンクからデータをリード(読み出し)する場合のメモリ制御装置105の動作について説明する。
ブロック806がSDRAM808にアクセスする場合も、ブロック805がSDRAM808にアクセスする場合と同様にメモリ制御装置105を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック806から調停回路101にメモリリクエスト(図4(D))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がブロック806に対しメモリアクセス許可信号(図4(E))を返信する。ブロック806の前記メモリリクエストと同時に他のブロック(例えばブロック805)がメモリリクエスト(図4(B))を出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク1に対しアクセス中(図4(F)404)でブロック806からSDRAM808のバンク2に対しメモリリードリクエスト(図4(D))405)が出力されているとする。ブロック806からメモリリードリクエスト(図4(D)405)が出力されると、調停回路101はリクエスト受信ブロック1401でメモリリクエストを受け取り、データ単位判断手段1402でブロック806からのメモリアクセス要求のデータ単位を判断し、許可信号生成ブロック1005に、ブロック806に対する許可信号を生成するよう指示するとともに、ウェイトサイクル指定手段1403に設定したバイトアクセスデータ1つ分の待ちサイクル数を設けて、ブロック806のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック806にメモリアクセス許可信号(図4(E))を返信する(アクセスウェイト処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1401からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリリードアクセス406を実行する。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック806からのメモリアドレスを受け取り、バンクアクセスデータ1つ分の待ちサイクルを設けてSDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、バンクアクセスデータ1つ分の待ちサイクルを設けてメモリーアクセス406を実行する。
以上のような構成にしたため、8バイトのバンクアクセスデータ単体のメモリアクセス要求を調停回路101が許可した場合は、ウェイトサイクル指定手段1403に設定したバイトアクセスデータ1つ分の待ちサイクル数を設けて、ブロック806のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示することにより、直前のメモリアクセスのバンクの影響を受けずメモリアクセスを実現することができ、かつ、バンクアクセスデータ単体でメモリアクセスを行うために必要な回路を削減することができる。
この実施の形態3では、SDRAM808が「バースト長」=”2”に設定されている場合を一例として説明したが、例えば、「バースト長」=”4”,”8”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態3では、SDRAM808が「CASレイテンシ」=”3”に設定されている場合を一例として説明したが、例えば、「CASレイテンシ」=”2”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態3では、実施の形態1と同様にメモリアクセス優先順位指定手段1003を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
また、この実施の形態3では、バンクアクセスデータ1つ分の待ちサイクルを設けるという例で説明したが、ウェイトサイクル指定手段1403を外部から設定可能な構成にして、待ちサイクル数を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態3では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
(実施の形態4)
以下に、第20ないし第26の本発明の実施の形態について、図1及び図5及び図13及び図14を用いて説明する。図5は実施の形態4の主要な信号のタイミングチャート、図13は実施の形態4の調停回路を示すブロック図である。
メモリ制御装置105の構成に関しては、実施の形態1の構成(図1)と同様なので図番を同じくして説明は省略する。
前記調停回路101は、図1、図13に示すように複数ブロック804,805,806からのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段1502を含み、許可信号の生成を指示するリクエスト受信ブロック1501と、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段1503と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロック1006とで構成される。
図5において、
(A)はSDRAM808が動作するクロック、
(B)はブロック804から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(D)はブロック805から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(F)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセスを示す。
501はメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス、
502はブロック804のバンク2へのメモリライトリクエスト、
503はブロック805のバンク0へのメモリリードリクエスト、
504はブロック805のバンク0へのメモリリードアクセス、
505はブロック804のバンク2へのメモリライトアクセスである。
本発明の実施の形態4のメモリ制御装置は、前述の実施の形態1の調停回路101が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように複数のブロック804,805,806のメモリアクセスの優先順位を変更していたのに対し、調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更する機能が前述の実施の形態1とは異なっている。
最初に、調停回路101が直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定したとして、ブロック804がSDRAM808にデータをライト(書き込み)する場合のメモリ制御装置105の動作について説明する。
ブロック804がSDRAM808にアクセスする場合には、メモリ制御装置105を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック804から調停回路101にメモリリクエスト(図5(B))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がブロック804に対しメモリアクセス許可信号(図5(C))を返信する。ブロック804の前記メモリリクエストと同時に他のブロック(ブロック805,806)がメモリリクエスト(図5(D))を出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク1に対しリードアクセス中(図5(F)501)でブロック804からSDRAM808のバンク2に対しメモリライトリクエスト(図5(B)502)が出力され、それと同時にブロック805からSDRAM808のバンク0に対しメモリリードリクエスト(図5(D)503)が出力されているとする。調停回路101はリクエスト受信ブロック1501でブロック804,805から出力されているメモリリクエストを受け取り、アクセス要求判断手段1502で、直前に許可したリードアクセス(図5(F)501)と同じリードアクセス要求が、ブロック805から出力されている(図5(D)503)と判断し、許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示するとともに、ブロック805から出力されているSDRAM808のバンク0に対するメモリリードリクエスト503の優先順位をブロック804から出力されているバンク2へのメモリライトリクエストより上げて、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805に対しメモリアクセス許可信号(図5(E))を返信する(リードアクセス優先処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1501からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリリードアクセス504を実行する。
その後、SDRAM808からデータを読み出す間待ちサイクルを設け、ブロック804のSDRAM808のバンク2に対するメモリライトリクエスト502を受け付け、ブロック804にメモリアクセス許可信号(図5(C))を返信し、ブロック804のバンク2へのメモリライトアクセス505を実行する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作については、実施の形態1と同様なので省略する。
次に、調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げる場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、ブロック804がバンク2にメモリライトリクエストを、ブロック805がバンク0にメモリリードリクエストを出力するとする。
調停回路101が直前に許可したアクセスがリードアクセスで、メモリ制御装置105がバンク1にメモリリードアクセス中(図5(F)501)であるとき、アクセス要求判断手段1502は、直前のリードアクセスを許可した時点でライトアクセスの優先順位を下げる。ブロック804からSDRAM808のバンク2へのメモリライトリクエスト(図5(B)502)が出力され、それと同時にブロック805からバンク0へのメモリリードリクエスト(図5(D)503)が出力されると、リクエスト受信ブロック1501は許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示するとともに、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図5(E))を返信する(リードアクセス優先処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1501からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリリードアクセス504を実行する。その後、SDRAM808からデータを読み出す間待ちサイクルを設け、ブロック804のSDRAM808のバンク2に対するメモリライトリクエスト502を受け付け、ブロック805にメモリアクセス許可信号(図5(C))を返信し、ブロック804のバンク2へのメモリライトアクセス505を実行する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作については、実施の形態1と同様なので省略する。
次に、調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択する場合について図14を用いて説明する。図14は、実施の形態4において、調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に次にリードアクセスを許可する場合のタイミングチャートである。
図14において、
(A)はSDRAM808が動作するクロック、
(B)はブロック804から出力される調停回路101へのメモリリクエスト、
(C)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(D)はブロック805から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(F)はブロック806から出力される調停回路101へのメモリリクエスト、
(G)は調停回路101から返信されるブロック806へのメモリアクセス許可信号、
(H)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセスを示す。
1601はメモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス、
1602はブロック806のバンク0へのメモリリードアクセス、
1603はブロック804のバンク2へのメモリライトアクセス、
1604はブロック805のバンク1へのメモリリードアクセスである。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック806,805,804の順に優先順位が高いとリードアクセス時優先順位指定手段1503に設定し、ブロック804がバンク2にメモリライトリクエストを、ブロック805がバンク1にメモリリードリクエストを、ブロック806がバンク0にメモリリードリクエストを出力するとする。
調停回路101が直前に許可したアクセスがバンク1へのメモリリードアクセスで、メモリ制御装置105がバンク1にメモリリードアクセス中(図14(H)1601)であるとき、ブロック804からのSDRAM808のバンク2へのメモリライトリクエスト(図14(B))が出力されると、調停回路101はリクエスト受信ブロック1501でブロック804,805,806から出力されているメモリリクエストを受け取り、アクセス要求判断手段1502で、直前に許可したリードアクセス(図14(H)1601)と同じリードアクセス要求が、ブロック805,806から出力されている(図14(D),(F))と判断し、リードアクセス時優先順位指定手段1503の設定に従って、許可信号生成ブロック1005に、ブロック806に対する許可信号を生成するよう指示する。それとともに、ブロック806のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック806にメモリアクセス許可信号(図14(G))を返信する(リードアクセス時優先順位変更処理)。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック806からのメモリアドレスを受け取り、SDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、RAS,CASなどのメモリコマンドを生成し、前記メモリコマンドをSDRAM808に出力し、ブロック806のバンク0へのメモリリードアクセス1602を実行する。
ブロック806のバンク0へのメモリリードアクセス1602が終わると、メモリアクセスを許可する優先順位に従って、ブロック804のバンク2へのメモリライトアクセス1603を実行し、続いてブロック805のバンク1へのメモリリードアクセス1604を実行する。
以上のような構成にしたため、SDRAM808に対してメモリ制御装置105がメモリリードアクセス中の場合は、調停回路101がリードアクセスの優先順位を上げて、連続してリードアクセスが行われるようにメモリアクセス要求の優先順位を変更することにより、SDRAM808にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
この実施の形態4では、SDRAM808が「バースト長」=”2”に設定されている場合を一例として説明したが、例えば、「バースト長」=”4”,”8”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態4では、SDRAM808が「CASレイテンシ」=”3”に設定されている場合を一例として説明したが、例えば、「CASレイテンシ」=”2”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態4では、実施の形態1と同様にメモリアクセス優先順位指定手段1003を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態4では、直前にアクセスを許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック806,805,804の順に優先順位が高いという例で説明したが、リードアクセス時優先順位指定手段1503を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態4では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
(実施の形態5)
以下に、第27ないし第33の本発明の実施の形態について、図6及び図7及び図15及び図16を用いて説明する。図6は、本発明におけるメモリ制御装置を示すブロック図、図7は、実施の形態5の主要な信号のタイミングチャート、図15は実施の形態5の調停回路を示すブロック図である。
図6において、このメモリ制御装置105は調停回路101,コマンド生成ブロック102,アドレス生成ブロック103,データラッチブロック104については実施の形態1の構成と同じであり、説明を省略する。この実施の形態5は、SDRAM808の内部データを保持するために一定時間毎に調停回路101に対し、リフレッシュ要求信号を出力するリフレッシュ要求ブロック601を有する。
前記調停回路101は、図15に示すように前記リフレッシュ要求ブロック601からのリフレッシュ要求と前記複数ブロック804,805,806からのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段1502を含み、許可信号の生成を指示するリクエスト受信ブロック1701と、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にメモリへのアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段1702と、前記リクエスト受信ブロック1701からの許可信号の生成を指示され、前記SDRAM808へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロック1701からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック1006とで構成される。
図7において、
(A)はSDRAM808が動作するクロック、
(B)はリフレッシュ要求ブロック601から出力されるリフレッシュ要求信号、
(C)は調停回路101からリフレッシュ要求ブロック601へリフレッシュ許可信号、
(D)はブロック804から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(F)はブロック805から出力される調停回路101へのメモリリクエスト、
(G)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(H)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセスを示す。
701はメモリ制御装置105がアクセス中のバンク1へのメモリライトアクセス、
702はブロック804のバンク1へのメモリリードアクセス、
703はリフレッシュ要求ブロック601のリフレッシュ動作、
704はブロック805のバンク0へのメモリリードアクセスである。
本発明の実施の形態5のメモリ制御装置は、前述の実施の形態4の調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更していたのに対し、直前に許可したメモリアクセスがライトアクセスの場合に、前記複数のブロックのメモリアクセスの優先順位を変更する機能が前述の実施の形態4とは異なっている。
最初に、調停回路101が直前に許可したメモリアクセスがライトアクセスで、リフレッシュ要求ブロックからリフレッシュ要求が出力された場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をリフレッシュ要求ブロック601,ブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定したとして、リフレッシュ要求ブロック601がSDRAM808に対しリフレッシュ動作を実行する場合のメモリ制御装置105の動作について説明する。
リフレッシュ要求ブロック601がSDRAM808にアクセスする場合には、メモリ制御装置105を介して、制御信号の受け渡しを行う。リフレッシュ要求ブロック601から調停回路101にリフレッシュ要求信号(図7(B))が出力されると、SDRAM808に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路101がリフレッシュ要求ブロック601に対し、リフレッシュ許可信号(図7(C))を返信する。リフレッシュ要求ブロック601の前記リフレッシュ要求信号と同時に他のブロック(ブロック804,805,806)がメモリリクエスト(図7(D),(F))を出力している場合には、SDRAM808にアクセスする優先順位に従って優先順位の高いブロックに対し許可信号を返信する。
メモリ制御装置105がSDRAM808のバンク0に対しライトアクセス中(図7(H)701)でリフレッシュ要求ブロック601からリフレッシュ要求信号(図7(B))が出力され、それと同時にブロック804からバンク1へのメモリリードリクエスト(図7(D))と、ブロック805からバンク0へのメモリリードリクエスト(図7(F))が出力されているとする。調停回路101はリクエスト受信ブロック1701でリフレッシュ要求ブロック601から出力されているリフレッシュ要求とブロック804,805から出力されているメモリリクエストを受け取り、アクセス要求判断手段1502で、リフレッシュ要求(図7(B))が出力されていると判断し、許可信号生成ブロック1005に、ブロック804に対する許可信号を生成するよう指示するとともに、リフレッシュ要求ブロックから出力されているリフレッシュ要求の優先順位を下げて、ブロック804のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック804に対しメモリアクセス許可信号(図7(E))を返信する(リフレッシュ順序変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1701からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリリードアクセス702を実行する。
その後、SDRAM808に対しリフレッシュ動作703を実行し、リフレッシュ動作が終了すると、ブロック805から出力されているSDRAM808のバンク0に対するメモリリードリクエスト(図7(F))を受け付け、ブロック805に対しメモリアクセス許可信号(図7(G))を返信し、ブロック805のバンク0へのメモリリードアクセス704を実行する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作については、実施の形態1と同様なので省略する。
次に、調停回路101が直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げる場合について説明する。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、リフレッシュ要求ブロック601からリフレッシュ要求信号が出力され、ブロック804がバンク1へのメモリリードリクエストを、ブロック805がバンク0へのメモリリードリクエストを出力するとする。
調停回路101が直前に許可したアクセスがライトアクセスで、メモリ制御装置105がバンク0にメモリライトアクセス中(図7(H)701)であるとき、アクセス要求判断手段1502では、直前のライトアクセスを許可した時点でリフレッシュ要求の優先順位を下げる。ブロック804からSDRAM808のバンク1へのメモリライトリクエスト(図7(D))が出力され、それと同時にブロック805からバンク0へのメモリリードリクエスト(図7(F))が出力されると、リクエスト受信ブロック1701は許可信号生成ブロック1005に、ブロック804に対する許可信号を生成するよう指示する。それとともに、ブロック804のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック804にメモリアクセス許可信号(図7(E))を返信する(リフレッシュ順序変更処理)。
制御信号生成ブロック1006は前記リクエスト受信ブロック1701からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってSDRAM808に対しメモリリードアクセス702を実行する。
その後、SDRAM808に対しリフレッシュ動作703を実行し、リフレッシュ動作が終了すると、ブロック805から出力されているSDRAM808のバンク0に対するメモリリードリクエスト(図7(F))を受け付け、ブロック805に対しメモリアクセス許可信号(図7(G))を返信し、ブロック805のバンク0へのメモリリードアクセス704を実行する。
コマンド生成ブロック102及びアドレス生成ブロック103及びデータラッチブロック104の動作については、実施の形態1と同様なので省略する。
次に、調停回路101が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択する場合について図16を用いて説明する。図16は、実施の形態5において、直前に許可したメモリアクセスがライトアクセスの場合に次にリードアクセスを許可する場合のタイミングチャートである。
図16において、
(A)はSDRAM808が動作するクロック、
(B)はリフレッシュ要求ブロック601から出力されるリフレッシュ要求信号、
(C)は調停回路101からリフレッシュ要求ブロック601へリフレッシュ許可信号、
(D)はブロック804から出力される調停回路101へのメモリリクエスト、
(E)は調停回路101から返信されるブロック804へのメモリアクセス許可信号、
(F)はブロック805から出力される調停回路101へのメモリリクエスト、
(G)は調停回路101から返信されるブロック805へのメモリアクセス許可信号、
(H)はメモリ制御装置105がSDRAM808に対し実行しているメモリアクセスを示す。
1801はメモリ制御装置105がアクセス中のバンク0へのメモリライトアクセス、
1802はブロック805のバンク2へのメモリリードアクセス、
1803はリフレッシュ要求ブロック601のリフレッシュ動作、
1804はブロック804のバンク1へのメモリリードアクセスである。
以下、SDRAM808に備えられているモード設定を「CASレイテンシ」=”3”、「バースト長」=”2”と設定し、SDRAM808に対する優先順位をリフレッシュ要求ブロック601、ブロック804,805,806の順に優先順位が高いとメモリアクセス優先順位指定手段1003に設定し、直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック806,805,804,リフレッシュ要求ブロック601の順に優先順位が高いとライトアクセス時優先順位指定手段1702に設定する。そして、リフレッシュ要求ブロック601がリフレッシュ要求を、ブロック804がバンク1にメモリリードリクエストを、ブロック805がバンク2にメモリリードリクエストを出力するとする。
調停回路101が直前に許可したアクセスがバンク0へのメモリライトアクセスで、メモリ制御装置105がバンク0にメモリライトアクセス中(図16(H)1801)であるとき、調停回路101はリクエスト受信ブロック1701でリフレッシュ要求ブロック601から出力されているリフレッシュ要求信号と、ブロック804,805,806から出力されているメモリリクエストを受け取り、アクセス要求判断手段1502で、リフレッシュ要求(図16(B))と、ブロック804,805からリードリクエストが出力されている(図16(D),(F))と判断し、ライトアクセス時優先順位指定手段1702の設定に従って、許可信号生成ブロック1005に、ブロック805に対する許可信号を生成するよう指示する。それとともに、ブロック805のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック1006に指示する。許可信号生成ブロック1005はブロック805にメモリアクセス許可信号(図16(G))を返信する(ライトアクセス時優先順位変更処理)。
アドレス生成ブロック103が調停回路101から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック805からのメモリアドレスを受け取り、SDRAM808に出力する。コマンド生成ブロック102が調停回路101から出力されたコマンド生成制御信号に基づき、RAS,CASなどのメモリコマンドを生成し、前記メモリコマンドをSDRAM808に出力し、ブロック805のバンク2へのメモリリードアクセス1802を実行する。
ブロック805のバンク2へのメモリリードアクセス1802が終わると、メモリアクセスを許可する優先順位に従って、リフレッシュ要求ブロック601のリフレッシュ動作1803を実行し、ブロック804のバンク1へのメモリリードアクセス1604を実行する。
以上のような構成にしたため、SDRAM808に対してメモリ制御装置105がメモリライトアクセス中の場合は、調停回路101がライトアクセスの後のリフレッシュ動作の優先順位を下げて、他のブロックからのリードアクセス要求を受け付けることにより、SDRAM808にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
この実施の形態5では、SDRAM808が「バースト長」=”2”に設定されている場合を一例として説明したが、例えば、「バースト長」=”4”,”8”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態5では、SDRAM808が「CASレイテンシ」=”3”に設定されている場合を一例として説明したが、例えば、「CASレイテンシ」=”2”,その他の値に設定されている場合にも、同様の効果が得られる。
また、この実施の形態5では、実施の形態1と同様にメモリアクセス優先順位指定手段1003を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態5では、直前にアクセスを許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック806,805,804の順に優先順位が高いという例で説明したが、ライトアクセス時優先順位指定手段1702を外部から設定可能な構成にして、ブロック804,805,806の優先順位を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態5では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
(実施の形態6)
以下に、第34ないし第40の本発明の実施の形態について、図1及び図17を用いて説明する。図17は実施の形態6における調停回路を示すブロック図である。
メモリ制御装置105の構成に関しては、実施の形態1の構成(図1)と同様なので図番を同じくして説明は省略する。
調停回路101は、図1、図17に示すように前記複数ブロック804,805,806からのメモリリクエストとメモリアドレスを受け取り、許可信号の生成を指示するリクエスト受信ブロック1901が、実施の形態1及び実施の形態4で説明したバンク判断手段1002とアクセス要求判断手段1502を含むよう構成されており、前記複数ブロック804,805,806からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段1003と、前記複数ブロック804,805,806からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段1902と、前記調停方法指定手段1902の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段1004と、前記調停方法指定手段1902の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段1503と、前記リクエスト受信ブロック1901からの許可信号の生成を指示され、前記SDRAM808へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック1005と、前記リクエスト受信ブロック1901からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック1006とで構成される。
本発明の実施の形態6のメモリ制御装置は、前述の実施の形態1の調停回路101が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように複数のブロック804,805,806のメモリアクセスの優先順位を変更する。また、前述の実施の形態4の調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更していたのに対し、調停回路101がメモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段1902を持ち、前記複数ブロック804,805,806からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路101が直前に許可したメモリアクセスがリードアクセスの場合でも、前記調停方法指定手段1902の設定に従って調停方法を指定する機能が前述の実施の形態1及び実施の形態4とは異なっている。
前記調停方法指定手段1902の設定がバンク優先の場合には、リクエスト受信ブロック1901はバンク判断手段1002を用いて、前述の実施の形態1と同様に同一バンクが連続しないようにメモリアクセスの優先順位を変更する。
また、前記調停方法指定手段1902の設定がアクセス優先の場合にはリクエスト受信ブロック1901はアクセス要求手段1502を用いて、前述の実施の形態4と同様にリードアクセスが連続するようにメモリアクセスの優先順位を変更する。
以上のような構成にしたため、前記複数ブロック804,805,806からのメモリアクセス要求が、直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、SDRAM808に対してメモリ制御装置105がメモリリードアクセス中の場合でも、調停回路101が同一のバンクに対するメモリアクセスを出力するブロックの優先順位を下げる。または、異なるバンクに対するメモリアクセス要求を出力しているブロックの優先順位を上げて、異なるバンクに連続してアクセスできるようにする。または、調停回路101がリードアクセスの優先順位を上げて、連続してリードアクセスが行われるようにメモリアクセス要求の優先順位を変更する。かかる作用により、SDRAM808にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
この実施の形態6では、調停方法指定手段1902を外部から設定可能な構成にして、調停方法を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態6では、メモリをSDRAM808という例で説明したが、SDRAMに限らず他の同期式メモリについても同様の効果が得られる。
本発明の実施の形態1におけるメモリ制御装置を示すブロック図 本発明の実施の形態1におけるメモリ制御装置の主要な信号のタイミングチャート 本発明の実施の形態2におけるメモリ制御装置の主要な信号のタイミングチャート 本発明の実施の形態3におけるメモリ制御装置の主要な信号のタイミングチャート 本発明の実施の形態4におけるメモリ制御装置の主要な信号のタイミングチャート 本発明の実施の形態5におけるメモリ制御装置を示すブロック図 本発明の実施の形態5におけるメモリ制御装置の主要な信号のタイミングチャート 実施の形態1における調停回路 本発明の実施の形態1において、同一バンクが連続した場合に次にアクセスを許可するブロックを選択する場合のタイミングチャート 本発明の実施の形態2の調停回路101を示すブロック図 本発明の実施の形態2のデータラッチブロック104を示すブロック図 本発明の実施の形態3の調停回路を示すブロック図 本発明の実施の形態4の調停回路を示すブロック図 本発明の実施の形態4において、調停回路101が直前に許可したメモリアクセスがリードアクセスの場合に次にリードアクセスを許可する場合のタイミングチャート 本発明の実施の形態5の調停回路を示すブロック図 本発明の実施の形態5において、調停回路101が直前に許可したメモリアクセスがライトアクセスの場合に次にリードアクセスを許可する場合のタイミングチャート 本発明の実施の形態6の調停回路を示すブロック図 従来発明のメモリ制御装置の構成を示すブロック図 従来発明のメモリ制御装置の主要な信号のタイミングチャート
符号の説明
101 調停回路
102 コマンド生成ブロック
103 アドレス生成ブロック
104 データラッチブロック
105 メモリ制御装置
201 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
202 ブロック805のバンク2へのメモリリードアクセス
203 ブロック804のバンク1へのメモリリードアクセス
204 ブロック806のバンク0へのメモリリードアクセス
301 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
302 ブロック804のバンク1へのメモリリードリクエスト
303 ブロック804のバンク2へのメモリリードリクエスト
304 ブロック804のバンク2へのメモリリードアクセス
305 ブロック804のバンク1へのメモリリードアクセス
306 SDRAM808のバンク2から読み出した8バイトのバンクリードデータ
307 SDRAM808のバンク1から読み出した8バイトのバンクリードデータ
401 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
402 ブロック805のバンク1へのメモリリードリクエスト
403 ブロック805のバンク1へのメモリリードアクセス
404 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
405 ブロック806のバンク2へのメモリリードリクエスト
406 ブロック806のバンク2へのメモリリードアクセス
501 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
502 ブロック804のバンク2へのメモリライトリクエスト
503 ブロック805のバンク0へのメモリリードリクエスト
504 ブロック805のバンク0へのメモリリードアクセス
505 ブロック804のバンク2へのメモリライトアクセス
601 リフレッシュ要求ブロック
701 メモリ制御装置105がアクセス中のバンク0へのメモリライトアクセス
702 ブロック804のバンク1へのメモリリードアクセス
703 リフレッシュ要求ブロック601のリフレッシュ動作
704 ブロック805のバンク0へのメモリリードアクセス
1001 リクエスト受信ブロック
1002 バンク判断手段
1003 メモリアクセス優先順位指定手段
1004 同一バンク時優先順位指定手段
1005 許可信号生成ブロック
1006 制御信号生成ブロック
1101 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
1102 ブロック806のバンク0へのメモリリードアクセス
1103 ブロック804のバンク1へのメモリリードアクセス
1104 ブロック805のバンク2へのメモリリードアクセス
1201 リクエスト受信ブロック
1202 バンク判断手段
1301 ライトデータラッチブロック
1302 データ入れ替えブロック
1303 リードデータラッチブロック
1401 リクエスト受信ブロック
1402 データ単位判断手段
1403 ウェイトサイクル指定手段
1501 リクエスト受信ブロック
1502 アクセス要求判断手段
1503 リードアクセス時優先順位指定手段
1601 メモリ制御装置105がアクセス中のバンク1へのメモリリードアクセス
1602 ブロック806のバンク0へのメモリリードアクセス
1603 ブロック804のバンク2へのメモリライトアクセス
1604 ブロック805のバンク1へのメモリリードアクセス
1701 リクエスト受信ブロック
1702 ライトアクセス時優先順位指定手段
1801 メモリ制御装置105がアクセス中のバンク0へのメモリライトアクセス
1802 ブロック805のバンク2へのメモリリードアクセス
1803 リフレッシュ要求ブロック601のリフレッシュ動作
1804 ブロック804のバンク1へのメモリリードアクセス
1901 リクエスト受信ブロック
1902 調停方法指定手段

Claims (40)

  1. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように前記複数のブロックのメモリアクセスの優先順位を変更することを特徴とするメモリ制御装置。
  2. 前記調停回路が、
    前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする請求項1に記載のメモリ制御装置。
  4. 前記調停回路は、直前にメモリアクセスを許可したバンクと異なるバンクにアクセスするブロックに対するメモリアクセスの優先順位を上げることを特徴とする請求項1に記載のメモリ制御装置。
  5. 前記調停回路は、直前にメモリアクセスを許可したバンクと次のメモリアクセスで要求されたバンクが同一である場合に、メモリアクセスの優先順位を下げることを特徴とする請求項1に記載のメモリ制御装置。
  6. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項2に記載のメモリ制御装置。
  7. 前記同一バンク時優先順位指定手段は、外部から設定可能であり前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項2に記載のメモリ制御装置。
  8. 前記メモリは、同期式メモリであることを特徴とする請求項1に記載のメモリ制御装置。
  9. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記メモリの同一バンクに対して書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する2組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとし、
    前記複数のブロックが前記ブロックアクセスデータ単位でメモリアクセス要求をしたとき、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合には、前記調停回路が前記ブロックアクセスデータ内のバンクアクセスデータのメモリアクセスの順序を入れ替えることを特徴とするメモリ制御装置。
  10. 前記調停回路が、
    前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項9に記載のメモリ制御装置。
  11. 前記データラッチブロックが、
    前記複数ブロックからのライトデータを受け取り、ラッチするライトデータラッチブロックと、
    前記調停回路からのデータラッチ制御信号に基づき、前記ライトデータラッチブロックが出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力し、さらに後述するリードデータラッチブロックが出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロックと、
    前記メモリから読み出されたリードデータを受け取り、ラッチするリードデータラッチブロックとを備えることを特徴とする請求項9に記載のメモリ制御装置。
  12. 前記調停回路は、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納し、前記データラッチブロックは、格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して転送することを特徴とする請求項9に記載のメモリ制御装置。
  13. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項10に記載のメモリ制御装置。
  14. 前記メモリは、同期式メモリであることを特徴とする請求項9に記載のメモリ制御装置。
  15. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記メモリの同一バンクに対して、書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する2組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとするとき、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求が前記バンクアクセスデータ単体の場合には、前記調停回路が待ちサイクルを設けるように前記コマンド生成ブロックに指示することを特徴とするメモリ制御装置。
  16. 前記調停回路が、
    前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項15に記載のメモリ制御装置。
  17. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項16に記載のメモリ制御装置。
  18. 前記ウェイトサイクル指定手段は、外部から設定可能であり前記ウェイトサイクル指定手段の設定により、前記コマンド生成ブロックで設ける待ちサイクル数を変更できることを特徴とする請求項16に記載のメモリ制御装置。
  19. 前記メモリは、同期式メモリであることを特徴とする請求項15に記載のメモリ制御装置。
  20. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、連続してリードアクセスが行われるように前記複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とするメモリ制御装置。
  21. 前記調停回路が、
    前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項20に記載のメモリ制御装置。
  22. 前記調停回路は、直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げることを特徴とする請求項20に記載のメモリ制御装置。
  23. 前記調停回路は、直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合に、リードアクセスの優先順位を上げることを特徴とする請求項20に記載のメモリ制御装置。
  24. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項21に記載のメモリ制御装置。
  25. 前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする請求項20に記載のメモリ制御装置。
  26. 前記メモリは、同期式メモリであることを特徴とする請求項20に記載のメモリ制御装置。
  27. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    前記メモリの内部データを保持するために一定間隔でリフレッシュ動作を要求するリフレッシュ要求ブロックと、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求と前記リフレッシュ要求ブロックからのリフレッシュ要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合は、前記リフレッシュ要求ブロックからのリフレッシュ要求の優先順位を変更することを特徴とするメモリ制御装置。
  28. 前記調停回路が、
    前記リフレッシュ要求ブロックからのリフレッシュ要求と前記複数ブロックからのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項27に記載のメモリ制御装置。
  29. 前記調停回路は、直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げることを特徴とする請求項27に記載のメモリ制御装置。
  30. 前記調停回路は、直前に許可したメモリアクセスがライトアクセスで、次のメモリアクセス要求にリフレッシュ要求が存在する場合に、リフレッシュ要求の優先順位を下げることを特徴とする請求項27に記載のメモリ制御装置。
  31. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項28に記載のメモリ制御装置。
  32. 前記ライトアクセス時優先順位指定手段は、外部から設定可能であり前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、前記ライトアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項28に記載のメモリ制御装置。
  33. 前記メモリは、同期式メモリであることを特徴とする請求項27に記載のメモリ制御装置。
  34. 複数のバンクを有するメモリを制御するメモリ制御装置において、
    複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
    前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
    前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
    前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
    前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、前記調停回路が前記複数のブロックのメモリアクセスの優先順位を変更するための調停方法を指定することを特徴とするメモリ制御装置。
  35. 前記調停回路が、
    前記複数ブロックからのメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段と、
    前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段と、
    前記バンク判断手段と前記アクセス要求判断手段とを含み、許可信号の生成を指示するリクエスト受信ブロックと、
    前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
    前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段と、
    前記調停方法指定手段の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、
    前記調停方法指定手段の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、
    前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
    前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項34に記載のメモリ制御装置。
  36. 前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項35に記載のメモリ制御装置。
  37. 前記調停方法指定手段は、外部から設定可能であり前記調停方法指定手段の設定により、前記複数のブロックからのメモリアクセスの調停方法を変更できることを特徴とする請求項35に記載のメモリ制御装置。
  38. 前記同一バンク時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がバンク優先の場合でかつ、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項35に記載のメモリ制御装置。
  39. 前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がアクセス優先の場合でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする請求項35に記載のメモリ制御装置。
  40. 前記メモリは、同期式メモリであることを特徴とする請求項34に記載のメモリ制御装置。
JP2004017735A 2003-01-27 2004-01-27 メモリ制御装置 Expired - Fee Related JP3819004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004017735A JP3819004B2 (ja) 2003-01-27 2004-01-27 メモリ制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003017372 2003-01-27
JP2004017735A JP3819004B2 (ja) 2003-01-27 2004-01-27 メモリ制御装置

Publications (2)

Publication Number Publication Date
JP2004252960A true JP2004252960A (ja) 2004-09-09
JP3819004B2 JP3819004B2 (ja) 2006-09-06

Family

ID=32820562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004017735A Expired - Fee Related JP3819004B2 (ja) 2003-01-27 2004-01-27 メモリ制御装置

Country Status (6)

Country Link
US (1) US20060059320A1 (ja)
JP (1) JP3819004B2 (ja)
KR (1) KR100750273B1 (ja)
CN (3) CN100580640C (ja)
TW (1) TWI259362B (ja)
WO (1) WO2004068349A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2009086702A (ja) * 2007-09-27 2009-04-23 Renesas Technology Corp メモリ制御装置および半導体装置
JP2012173856A (ja) * 2011-02-18 2012-09-10 Fuji Xerox Co Ltd データ処理装置
JP2013033350A (ja) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd プロセッサ、及びプロセッサの制御方法
JP2014219980A (ja) * 2013-05-06 2014-11-20 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ制御装置及びメモリ制御方法
US12001691B2 (en) 2021-03-24 2024-06-04 Panasonic Automotive Systems Co., Ltd. Memory controller and memory access control method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843142B1 (ko) * 2006-09-19 2008-07-02 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
JP4715801B2 (ja) * 2007-04-26 2011-07-06 日本電気株式会社 メモリアクセス制御装置
TW201022935A (en) 2008-12-12 2010-06-16 Sunplus Technology Co Ltd Control system for accessing memory and method of the same
CN101770438B (zh) * 2008-12-31 2013-08-28 凌阳科技股份有限公司 存储器存取的控制系统和方法
CN102063392B (zh) * 2010-12-17 2012-10-17 杭州晟元芯片技术有限公司 一种实现sdram的四通道串行通信方法
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
KR101258533B1 (ko) * 2011-07-01 2013-04-30 성균관대학교산학협력단 Dram 버퍼 엑세스 스케줄링 방법 및 장치
KR101292309B1 (ko) * 2011-12-27 2013-07-31 숭실대학교산학협력단 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US9146855B2 (en) * 2012-01-09 2015-09-29 Dell Products Lp Systems and methods for tracking and managing non-volatile memory wear
JP6210742B2 (ja) * 2013-06-10 2017-10-11 オリンパス株式会社 データ処理装置およびデータ転送制御装置
CN104375895B (zh) * 2013-08-13 2018-02-06 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175901B1 (en) * 1994-04-15 2001-01-16 Micron Technology, Inc. Method for initializing and reprogramming a control operation feature of a memory device
US5752266A (en) * 1995-03-13 1998-05-12 Fujitsu Limited Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method
JPH08314793A (ja) * 1995-03-13 1996-11-29 Fujitsu Ltd メモリアクセス制御方法および該方法を適用した半導体集積回路および画像復号装置
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
EP0935199B1 (en) * 1998-02-04 2011-05-04 Panasonic Corporation Memory control unit and memory control method and medium containing program for realizing the same
JP4234829B2 (ja) * 1998-12-03 2009-03-04 パナソニック株式会社 メモリ制御装置
US6219747B1 (en) * 1999-01-06 2001-04-17 Dvdo Inc Methods and apparatus for variable length SDRAM transfers
JP2000315173A (ja) * 1999-04-30 2000-11-14 Matsushita Electric Ind Co Ltd メモリ制御装置
JP3420725B2 (ja) * 1999-10-14 2003-06-30 城下工業株式会社 音声消去システム及びこれを用いた放送用受信機
JP3820831B2 (ja) * 2000-02-08 2006-09-13 富士ゼロックス株式会社 メモリ制御方法及び装置
JP2001356961A (ja) * 2000-06-13 2001-12-26 Nec Corp 調停装置
EP1395908A1 (en) 2001-05-22 2004-03-10 Koninklijke Philips Electronics N.V. Method and system for accelerated access to a memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2009086702A (ja) * 2007-09-27 2009-04-23 Renesas Technology Corp メモリ制御装置および半導体装置
JP2012173856A (ja) * 2011-02-18 2012-09-10 Fuji Xerox Co Ltd データ処理装置
JP2013033350A (ja) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd プロセッサ、及びプロセッサの制御方法
JP2014219980A (ja) * 2013-05-06 2014-11-20 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ制御装置及びメモリ制御方法
US12001691B2 (en) 2021-03-24 2024-06-04 Panasonic Automotive Systems Co., Ltd. Memory controller and memory access control method

Also Published As

Publication number Publication date
WO2004068349A1 (ja) 2004-08-12
TW200422829A (en) 2004-11-01
TWI259362B (en) 2006-08-01
CN100501701C (zh) 2009-06-17
CN100432958C (zh) 2008-11-12
JP3819004B2 (ja) 2006-09-06
CN1723447A (zh) 2006-01-18
CN101110060A (zh) 2008-01-23
CN101101573A (zh) 2008-01-09
CN100580640C (zh) 2010-01-13
US20060059320A1 (en) 2006-03-16
KR100750273B1 (ko) 2007-08-17
KR20050093805A (ko) 2005-09-23

Similar Documents

Publication Publication Date Title
JP3819004B2 (ja) メモリ制御装置
US6104417A (en) Unified memory computer architecture with dynamic graphics memory allocation
US7707328B2 (en) Memory access control circuit
JP5893632B2 (ja) ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
JP2004536417A (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
JP2000315173A (ja) メモリ制御装置
TWI471731B (zh) 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器
KR100676982B1 (ko) 데이터 처리 장치 및 방법과 컴퓨터 판독 가능 저장 매체
JP2007018222A (ja) メモリアクセス制御回路
JP2008140078A (ja) バスブリッジ装置、情報処理装置、およびデータ転送制御方法
JP2004246862A (ja) リソース管理装置
JP2000020451A (ja) 情報処理装置および方法、並びに提供媒体
JP2005346715A (ja) マルチポートランダムアクセスメモリ
JP2003316642A (ja) メモリ制御回路、dma要求ブロック及びメモリアクセスシステム
JP2010129029A (ja) メモリアクセス制御装置およびメモリアクセス制御方法
JP2011034214A (ja) メモリ制御装置
JP4071930B2 (ja) シンクロナスdram
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
KR20010050234A (ko) 메모리(mem)와 결합한 데이터 처리용 디바이스
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
KR100690597B1 (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
JP2570271B2 (ja) 半導体メモリ制御装置
JP2007011884A (ja) データ転送装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060414

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: 20060516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060613

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees