JP5597120B2 - メモリアクセス装置 - Google Patents

メモリアクセス装置 Download PDF

Info

Publication number
JP5597120B2
JP5597120B2 JP2010276730A JP2010276730A JP5597120B2 JP 5597120 B2 JP5597120 B2 JP 5597120B2 JP 2010276730 A JP2010276730 A JP 2010276730A JP 2010276730 A JP2010276730 A JP 2010276730A JP 5597120 B2 JP5597120 B2 JP 5597120B2
Authority
JP
Japan
Prior art keywords
data
address
output
bits
memory
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
JP2010276730A
Other languages
English (en)
Other versions
JP2012128478A5 (ja
JP2012128478A (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.)
Xacti Corp
Original Assignee
Xacti 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 Xacti Corp filed Critical Xacti Corp
Priority to JP2010276730A priority Critical patent/JP5597120B2/ja
Priority to US13/311,985 priority patent/US20120147690A1/en
Publication of JP2012128478A publication Critical patent/JP2012128478A/ja
Publication of JP2012128478A5 publication Critical patent/JP2012128478A5/ja
Application granted granted Critical
Publication of JP5597120B2 publication Critical patent/JP5597120B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

この発明は、メモリアクセス装置に関し、特に、ビット幅の異なるメモリにアクセスするためのアドレス情報を生成する、メモリアクセス装置に関する。
この種の装置の一例が、特許文献1に開示されている。この背景技術によれば、読み出しタイミング制御回路は、メモリに与えられる読み出しアドレスを1リードサイクルの途中で変化させる。ラッチ回路は、読み出しアドレスが変化する前にメモリから読み出されたデータをラッチする。データバスは、ラッチ回路によってラッチされたデータと読み出しアドレスが変化した後にメモリから読み出されたデータとを並列的に伝達する。これによって、データバス幅より小さいバス幅を有するメモリからのデータ読み出し動作の効率が向上する。
特開平5−2525号公報
しかし、背景技術では、1アドレスあたりのアクセスサイクルがバス幅によって変化する。このため、背景技術ではアクセス性能に限界がある。
それゆえに、この発明の主たる目的は、ビット幅の異なるメモリへのアクセス性能を高めることができる、メモリアクセス装置を提供することである。
この発明に従うメモリアクセス装置(10:実施例で相当する参照符号。以下同じ)は、K個(K:2以上の整数)のアドレス係数を第1モードに対応して発生する一方、L個(L:Kを上回る整数)のアドレス係数を第2モードに対応して発生する発生手段(24)、発生手段によって発生されたアドレス係数の値を1/M(M:2以上の整数)の値に変換する第1変換手段(26, 28)、発生手段によって発生されたアドレス係数に基づくアドレス情報を第1モードに対応して生成する一方、第1変換手段によって変換されたアドレス係数に基づくアドレス情報を第2モードに対応して生成する生成手段(20~22, 30~32)、およびNビットおよびN/Mビットのいずれか一方に相当するビット幅を各々が有する複数のアドレスが設けられたメモリ(18)へのアクセスのために生成手段によって生成されたアドレス情報を出力する出力手段(34~36)を備える。
好ましくは、第1モードはNビットに相当するビット幅のアドレスが設けられたメモリに対応し、第2モードはN/Mビットに相当するビット幅のアドレスが設けられたメモリに対応する。
好ましくは、LはKのM倍からM+1倍の範囲に属する値を示す。
好ましくは、メモリはバーストアクセス方式を採用し、出力手段は生成手段によって生成されたアドレス情報をメモリのバースト長に対応する周期でラッチするラッチ手段(36)を含む。
さらに好ましくは、出力手段から出力されたアドレス情報の基礎となるアドレス係数を検出する検出手段(46)、検出手段によって検出されたアドレス係数の値をM倍の値に変換する第2変換手段(52)、および検出手段によって検出されたアドレス係数を第1モードに対応して選択する一方、第2変換手段によって変換されたアドレス係数を第2モードに対応して選択する選択手段(54)がさらに備えられる。
或る局面では、メモリに設けられた複数のアドレスの各々はカラムアドレスを有し、選択手段によって選択されたアドレス係数はアクセス先のカラムアドレスを特定する係数に相当する。
他の局面では、各ワードがNビットに相当するビット幅を有するデータをN/Mビットに相当するビット幅を有する部分データに分割する分割手段(60~96)、および分割手段によって分割された部分データをメモリに向けて出力するデータ出力手段(98~118)がさらに備えられる。
その他の局面では、各ワードがN/Mビットに相当するビット幅を有してメモリから読み出されたデータを結合して各ワードがNビットに相当するビット幅を有する結合データを作成する結合手段(130~198)、および結合手段によって作成された結合データを出力する出力手段(200)がさらに備えられる。
第1モードの下では、発生手段によって発生されたK個のアドレス係数に基づいてアドレス情報が生成される。これに対して、第2モードでは、発生手段によって発生されたL個のアドレス係数の各々の値が1/Mの値に変換され、変換された値を示すL個のアドレス係数に基づいてアドレス情報が生成される。一方、メモリに設けられたアドレスは、NビットおよびN/Mビットのいずれか一方に相当するビット幅を有する。
したがって、Nビットに相当するビット幅を有するメモリに対応して第1モードを選択し、N/Mビットに相当するビット幅を有するメモリに対応して第2モードを選択することで、ビット幅の異なるメモリに対する適応的なアクセスが実現される。この結果、メモリアクセス性能が向上する。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
この発明の実施例の基本的構成を示すブロック図である。 この発明の一実施例の構成を示すブロック図である。 図2実施例に適用されるアドレス指定回路の構成の一例を示すブロック図である。 図2実施例に適用されるアドレス変換回路の構成の一例を示すブロック図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はクロックCLK2の一例を示す波形図であり、(C)はカウンタ24の出力の一例を示す図解図であり、(D)はセレクタ32の出力の一例を示す図解図であり、(E)はF/F回路36から出力される統合アドレスの一例を示す図解図であり、(F)はF/F回路58から出力されるカラムアドレスの一例を示す図解図であり、(G)はバスから入力されるデータの一例を示す図解図であり、(H)はSDRAMへ出力されるデータの一例を示す図解図であり、(I)はSDRAMから入力されるデータの一例を示す図解図であり、(J)はバスへ出力されるデータの一例を示す図解図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はクロックCLK2の一例を示す波形図であり、(C)はカウンタ24の出力の一例を示す図解図であり、(D)はセレクタ32の出力の一例を示す図解図であり、(E)はF/F回路36から出力される統合アドレスの一例を示す図解図であり、(F)はF/F回路58から出力されるカラムアドレスの一例を示す図解図であり、(G)はバスから入力されるデータの一例を示す図解図であり、(H)はSDRAMへ出力されるデータの一例を示す図解図であり、(I)はSDRAMから入力されるデータの一例を示す図解図であり、(J)はバスへ出力されるデータの一例を示す図解図である。 図2実施例に適用される書き込みデータ転送回路の構成の一例を示すブロック図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はバスから入力されるデータの一例を示す図解図であり、(C)はF/F回路60から出力されるデータの一例を示す図解図であり、(D)はセレクタ116から出力されるデータの一部を示す図解図であり、(E)はクロックCLK2の一例を示す波形図であり、(F)はSRAM92から読み出されるデータの一例を示す図解図であり、(G)はF/F回路94から出力されるデータの一例を示す図解図であり、(H)はセレクタ116から出力されるデータの他の一部を示す図解図であり、(I)はSDRAMへ出力されるデータの一例を示す図解図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はバスから入力されるデータの一例を示す図解図であり、(C)はF/F回路60から出力されるデータの一例を示す図解図であり、(D)はSDRAMへ出力されるデータの一例を示す図解図である。 図2実施例に適用される読み出しデータ転送回路の構成の一例を示すブロック図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はSDRAMから入力されるデータの一例を示す図解図であり、(C)は結合器134から出力されるデータの一例を示す図解図であり、(D)はSRAM136から読み出されるデータの一例を示す図解図であり、(E)はセレクタ200から出力されるデータの一部を示す図解図であり、(F)はセレクタ200から出力されるデータの他の一部を示す図解図であり、(G)はバスへ出力されるデータの一例を示す図解図である。 (A)はクロックCLK1の一例を示す波形図であり、(B)はSDRAMから入力されるデータの一例を示す図解図であり、(C)はバスへ出力されるデータの一例を示す図解図である。
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
図1を参照して、この発明の実施例であるメモリアクセス装置は、基本的に次のように構成される。発生手段1は、K個(K:2以上の整数)のアドレス係数を第1モードに対応して発生する一方、L個(L:Kを上回る整数)のアドレス係数を第2モードに対応して発生する。第1変換手段2は、発生手段1によって発生されたアドレス係数の値を1/M(M:2以上の整数)の値に変換する。生成手段3は、発生手段1によって発生されたアドレス係数に基づくアドレス情報を第1モードに対応して生成する一方、第1変換手段2によって変換されたアドレス係数に基づくアドレス情報を第2モードに対応して生成する。出力手段4は、NビットおよびN/Mビットのいずれか一方に相当するビット幅を各々が有する複数のアドレスが設けられたメモリへのアクセスのために生成手段3によって生成されたアドレス情報を出力する。
第1モードの下では、発生手段1によって発生されたK個のアドレス係数に基づいてアドレス情報が生成される。これに対して、第2モードでは、発生手段1によって発生されたL個のアドレス係数の各々の値が1/Mの値に変換され、変換された値を示すL個のアドレス係数に基づいてアドレス情報が生成される。一方、メモリに設けられたアドレスは、NビットおよびN/Mビットのいずれか一方に相当するビット幅を有する。
したがって、Nビットに相当するビット幅を有するメモリに対応して第1モードを選択し、N/Mビットに相当するビット幅を有するメモリに対応して第2モードを選択することで、ビット幅の異なるメモリに対する適応的なアクセスが実現される。この結果、メモリアクセス性能が向上する。
[実施例]
図2を参照して、この実施例のデータ処理装置10は、データ書き込みを担うデータ処理回路12とデータ読み出しを担うデータ処理回路14を含む。データ処理回路12はアドレス指定回路12aおよびデータ出力回路12dによって形成され、データ処理回路14はアドレス指定回路14aおよびデータ入力回路14dによって形成される。
アドレス指定回路12aは、SDRAM18のビット幅に応じて異なる数の統合アドレスを、SDRAM18のビット幅に応じて異なる態様で発生する。発生された統合アドレスは、バスBS1を経た後、メモリ制御回路16のアドレス変換回路16cに与えられる。一方、データ出力回路12dは、各ワードが32ビット幅を有するデータを16ワードずつ繰り返し出力する。出力されたデータは、バスBS1を経た後、メモリ制御回路16の書き込みデータ転送回路16wに与えられる。
ここで、統合アドレスには、アクセス先のバンクアドレス,ロウアドレスおよびカラムアドレスが記述される。また、SDRAM18はバーストアクセス方式を採用し、SDRAM18に設けられた複数のアドレスの各々は16ビットまたは32ビットのビット幅を有する。SDRAM18が16ビット幅を採用するメモリの場合は、1回のバーストアクセスに対応して8つの統合アドレスがアドレス指定回路12aから発生される。一方、SDRAM18が32ビット幅を採用するメモリの場合は、1回のバーストアクセスに対応して4つの統合アドレスがアドレス指定回路12aから発生される。
アドレス変換回路16cは、統合アドレスに記述されたバンクアドレス,ロウアドレスおよびカラムアドレスを検出し、検出されたバンクアドレス,ロウアドレスおよびカラムアドレスをSDRAM18に向けて出力する。ここで、カラムアドレスの値は、SDRAM18のビット幅を参照して調整される。
SDRAM18が16ビット幅を採用する場合、書き込みデータ転送回路16wは、バスBS1から与えられたデータ(各ワードが32ビット幅を有する16ワードのデータ)を各ワードが16ビット幅を有する32ワードのデータに変換し、変換されたデータをSDRAM18に向けて出力する。これに対して、SDRAM18が32ビット幅を採用する場合、書き込みデータ転送回路16wは、バスBS1から与えられたデータをそのままSDRAM18に向けて出力する。こうして出力されたデータは、アドレス変換回路16cによって指定されたアドレスに書き込まれる。
データ処理回路14に設けられたアドレス指定回路14aもまた、SDRAM18のビット幅に応じて異なる数の統合アドレスを、SDRAM18のビット幅に応じて異なる態様で発生する。上述と同様、SDRAM18が16ビット幅を採用する場合は、8つの統合アドレスがアドレス指定回路14aから発生される。また、SDRAM18が32ビット幅を採用する場合は、4つの統合アドレスがアドレス指定回路14aから発生される。
発生された統合アドレスはバスBS1を経てアドレス変換回路16cに与えられ、これに基づくバンクアドレス,ロウアドレスおよびカラムアドレスが上述の要領でSDRAM18に向けて出力される。この結果、指定アドレスに格納されたデータが読み出される。
SDRAM18が16ビット幅を採用するSDRAMである場合は、各ワードが16ビット幅を有するデータが32ワードずつ読み出される。一方、SDRAM18が32ビット幅を採用するSDRAMである場合は、各ワードが32ビット幅を有するデータが16ワードずつ読み出される。
読み出しデータ転送回路16rは、SDRAM18が16ビット幅を採用するメモリであるとき、読み出されたデータ(各ワードが16ビット幅を有する32ワードのデータ)を各ワードが32ビット幅を有する16ワードのデータに変換し、変換されたデータをバスBS1に向けて出力する。これに対して、SDRAM18が32ビット幅を採用するメモリであれば、読み出しデータ転送回路16rは、読み出されたデータをそのままバスBS1に向けて出力する。バスBS1を経たデータはその後、データ入力回路14dによって取り込まれる。
アドレス指定回路12aおよび14aの各々は、図3に示すように構成される。カウンタ20は、バンクアドレスの一部およびロウアドレスの一部が上位14ビットに記述された26ビットのカウント値を発生する。一方、カウンタ24は、バンクアドレスの一部およびロウアドレスの一部およびカラムアドレスが記述された12ビットのカウント値を、モード情報が示すモードに応じて異なる回数だけ発生する。
モード情報は、SDRAM18が16ビット幅を採用するメモリである場合に“MD16”を示し、SDRAM18が32ビット幅を採用するメモリである場合に“MD32”を示す。カウンタ24は、モード情報が“MD16”を示すとき、“0”から“28”まで“2”毎に増大する合計15個のカウント値をクロックCLK2の立ち上がりに応答して出力する。カウンタ24はまた、モード情報が“MD32”を示すとき、“0”から“12”まで“2”毎に増大する合計7個のカウント値をクロックCLK2の立ち上がりに応答して出力する。
したがって、SDRAM18が16ビット幅を採用する場合、カウント値は、図5(B)に示すクロックCLK2に同期して、図5(C)に示す要領で出力される。これに対して、SDRAM18が32ビット幅を採用する場合、カウント値は、図6(B)に示すクロックCLK2に同期して、図6(C)に示す要領で出力される。なお、クロックCLK2の周期は、図5(A)または図6(A)に示すクロックCLK1の周期の2倍に相当する。
加算器22は、カウンタ20および24からそれぞれ出力された2つのカウント値を互いに加算し、これによって得られた加算値をセレクタ32の一方入力端に与える。加算器30は、カウンタ20から出力されたカウント値と結合器28から出力された12ビット値(後述)とを互いに加算し、これによって得られた加算値をセレクタ32の他方入力端に与える。
分配器26は、カウンタ24から出力されたカウント値を上位10ビット値,下位から2番目の1ビット値,および最下位の1ビット値に分割する。このうち、上位11ビット値は結合器28に与えられ、下位から2番目の1ビット値はインバータ34を介してF/F回路36に与えられ、そして最下位の1ビット値は廃棄される。結合器28は、分配器26から与えられた11ビット値の上位に“0”を示す1ビット値を結合し、これによって得られた12ビット値(=カウンタ24から出力されたカウント値の1/2の値)を加算器30に与える。
セレクタ32は、モード情報が“MD16”を示すとき加算器30から出力された加算値を選択し、モード情報が“MD32”を示すとき加算器22から出力された加算値を選択する。したがって、セレクタ32によって選択された加算値の下位12ビットは、SDRAM18が16ビット幅を採用する場合に図5(D)に示す要領で変化し、SDRAM18が32ビット幅を採用する場合に図6(D)に示す要領で変化する。
F/F回路36は、インバータ34の出力がHレベルを示す期間に能動化され、セレクタ32から出力された加算値をクロックCLK2の立ち上がりに応答してラッチする。ラッチされた加算値は、統合アドレスとしてアドレス指定回路12aまたは14aから出力される。
したがって、統合アドレスの下位12ビットは、モード情報が“MD16”を示すとき図5(E)に示す要領で変化し、モード情報が“MD32”を示すとき図6(E)に示す要領で変化する。SDRAM18のバースト長はビット幅に関係なく“4”に設定され、下位12ビット値は図5(E)および図6(E)のいずれにおいてもクロックCLK1の4周期毎に更新される。
アドレス変換回路16cは、図4に示すように構成される。セレクタ40は、アドレス指定回路12aから出力された統合アドレスおよびアドレス指定回路14aから出力された統合アドレスのいずれか一方を選択する。選択された統合アドレスは、クロックCLK2に応答してラッチ動作を実行するF/F回路42および44を経て、分配器46に与えられる。
分配器46は、統合アドレスに相当する26ビット値のうち、上位17ビット値または上位16ビット値をバンク/ロウアドレス生成回路48に与える。上位17ビット値は“MD16”のモード情報に対応してバンク/ロウアドレス生成回路48に与えられ、上位16ビット値は“MD32”のモード情報に対応してバンク/ロウアドレス生成回路48に与えられる。
バンク/ロウアドレス生成回路48は、与えられた17ビット値または16ビット値に基づいてバンクアドレスおよびロウアドレスを生成する。生成されたバンクアドレスおよびロウアドレスは、クロックCLK1に応答してラッチ動作を実行するF/F回路50を経た後、SDRAM18に向けて出力される。
分配器46はまた、統合アドレスに相当する26ビット値のうち、下位10ビット値をセレクタ54の一方入力端に与え、下位9ビット値を結合器52に与える。結合器52は、与えられた9ビット値の下位に“0”を示す1ビット値を結合し、これによって得られた10ビット値(=分配器46から出力された9ビット値の2倍の値)をセレクタ54の他方入力端に与える。
セレクタ54は、結合器52から与えられた10ビット値を“MD16”のモード情報に対応して選択する一方、分配器46から与えられた10ビット値を“MD32”のモード情報に対応して選択する。こうして選択された10ビット値は、クロックCLK2に応答してラッチ動作を実行するF/F回路56とクロックCLK1に応答してラッチ動作を実行するF/F回路58を介して、カラムアドレスとして出力される。
したがって、SDRAM18が16ビット幅を採用するメモリである場合、カラムアドレスは、図5(E)に示す統合アドレスに基づいて、図5(F)に示す要領でF/F回路58から出力される。これに対して、SDRAM18が32ビット幅を採用するメモリである場合、カラムアドレスは、図6(E)に示す統合アドレスに基づいて、図6(F)に示す要領でF/F回路58から出力される。
書き込みデータ転送回路16wは、図7に示すように構成される。バスBS1を転送されたデータは、各ワードが32ビット幅を有する16ワードのデータであり、図8(A)または図9(A)に示すクロックCLK1に同期して図8(B)または図9(B)に示す要領でF/F回路60に与えられる。F/F回路60は32ビット幅を有し、クロックCLK1に応答して入力データをラッチする。ラッチされたデータは、図8(C)または図9(C)に示すタイミングでF/F回路60から出力される。
なお、16ワードの各々には、説明の便宜上、参照符号“A”〜“P”のいずれか1つを割り当てる。
F/F回路60から出力された1ワード目のデータAは、分配器76によって部分データA1およびA2に分割される。部分データA1は上位16ビットデータに相当し、部分データA2は下位16ビットデータに相当する。部分データA1はセレクタ116の端子T1に直接入力される一方、部分データA2はF/F回路98を経てセレクタ116の端子T2に入力される。F/F回路98は16ビット幅を有し、クロックCLK1に応答してラッチ動作を実行する。したがって、部分データA2はクロックCLK1の1周期分遅れてセレクタ116に入力される。
F/F回路60から出力された2ワード目〜8ワード目のデータB〜Hは、直列接続された7個のF/F回路62〜74に与えられる。F/F回路62〜74の各々は32ビット幅を有し、2ワード目〜8ワード目のデータB〜HをクロックCLK1に応答してラッチする。
分配器78は、F/F回路62から出力された2ワード目のデータBを、上位16ビットデータに相当する部分データB1と下位16ビットデータに相当する部分データB2とに分割する。部分データB1は、セレクタ116の端子T3に直接入力される。一方、部分データB2は、16ビット幅を有するF/F回路100を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T4に入力される。
分配器80は、F/F回路64から出力された3ワード目のデータCを、上位16ビットデータに相当する部分データC1と下位16ビットデータに相当する部分データC2とに分割する。部分データC1は、セレクタ116の端子T5に直接入力される。一方、部分データC2は、16ビット幅を有するF/F回路102を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T6に入力される。
分配器82は、F/F回路66から出力された4ワード目のデータDを、上位16ビットデータに相当する部分データD1と下位16ビットデータに相当する部分データD2とに分割する。部分データD1は、セレクタ116の端子T7に直接入力される。一方、部分データD2は、16ビット幅を有するF/F回路104を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T8に入力される。
分配器84は、F/F回路68から出力された5ワード目のデータEを、上位16ビットデータに相当する部分データE1と下位16ビットデータに相当する部分データE2とに分割する。部分データE1は、セレクタ116の端子T9に直接入力される。一方、部分データE2は、16ビット幅を有するF/F回路106を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T10に入力される。
分配器86は、F/F回路70から出力された6ワード目のデータFを、上位16ビットデータに相当する部分データF1と下位16ビットデータに相当する部分データF2とに分割する。部分データF1は、セレクタ116の端子T11に直接入力される。一方、部分データF2は、16ビット幅を有するF/F回路108を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T12に入力される。
分配器88は、F/F回路72から出力された7ワード目のデータGを、上位16ビットデータに相当する部分データG1と下位16ビットデータに相当する部分データG2とに分割する。部分データG1は、セレクタ116の端子T13に直接入力される。一方、部分データG2は、16ビット幅を有するF/F回路110を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T14に入力される。
分配器90は、F/F回路74から出力された8ワード目のデータHを、上位16ビットデータに相当する部分データH1と下位16ビットデータに相当する部分データH2とに分割する。部分データH1は、セレクタ116の端子T15に直接入力される。一方、部分データH2は、16ビット幅を有するF/F回路112を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T16に入力される。
セレクタ116は、クロックCLK1が立ち上がる毎に、端子T1〜T16を順次選択する。この結果、部分データA1〜H2は、図8(D)に示すタイミングでセレクタ116から出力される。
F/F回路60から出力された16ワードのデータA〜Pはまた、SRAM92に書き込まれる。このうち、9ワード目〜16ワード目のデータI〜Pは、図8(E)に示すクロックCLK2の3周期分遅れて、図8(F)に示すタイミングでSRAM92から読み出される。
SRAM92の出力端には、32ビット幅を有するF/F回路94が接続される。F/F回路94は、クロックCLK2に応答してラッチ動作を実行する。したがって、SRAM92から読み出された8ワードのデータI〜Pは、図8(G)に示すタイミングでF/F回路94から出力される。
分配器96は、F/F回路94から出力された各ワードのデータを上位16ビットの部分データと下位16ビットの部分データとに分割する。9ワード目のデータIは部分データI1およびI2に分割され、10ワード目のデータJは部分データJ1およびJ2に分割され、11ワード目のデータKは部分データK1およびK2に分割され、12ワード目のデータLは部分データL1およびL2に分割され、13ワード目のデータMは部分データM1およびM2に分割され、14ワード目のデータNは部分データN1およびN2に分割され、15ワード目のデータOは部分データO1およびO2に分割され、そして16ワード目のデータPは部分データP1およびP2に分割される。
上位16ビットの部分データは、セレクタ116の端子T17に直接入力される。一方、下位16ビットの部分データは、16ビット幅を有するF/F回路114を経て、クロックCLK1の1周期分遅れてセレクタ116の端子T18に入力される。
セレクタ116は、端子T16の選択が完了した後、クロックCLK1が立ち上がる毎に端子T17およびT18を交互に選択する。この結果、部分データI1〜P2は図8(H)に示すタイミングでセレクタ116から出力される。
F/F回路118は16ビット幅を有し、セレクタ116から出力された部分データA1〜P2をクロックCLK1に応答してラッチする。この結果、部分データA1〜P2は、図8(I)に示すタイミングでF/F回路118から出力される。
F/F回路60から出力された16ワードのデータA〜Pはまた、32ビット幅を有するF/F回路120に与えられる。F/F回路120は、与えられたデータA〜PをクロックCLK1に応答してラッチする。ラッチされたデータA〜Pは、図9(D)に示すタイミングでF/F回路120から出力される。
セレクタ122は、SDRAM18が16ビット幅を採用するメモリであるときにF/F回路118から出力された部分データA1〜P2を選択する一方、SDRAM18が32ビット幅を採用するメモリであるときにF/F回路120から出力されたデータA〜Pを選択する。選択されたデータは、SDRAM18に向けて出力される。
なお、図8(B)に示すデータA〜Pは、図5(F)に示すカラムアドレスに対して図5(G)に示すタイミングで入力される。また、図8(I)に示すデータA1〜P2は、図5(F)に示すカラムアドレスに対して図5(H)に示すタイミングで出力される。さらに、図9(B)に示すデータA〜Pは、図6(F)に示すカラムアドレスに対して図6(G)に示すタイミングで入力される。また、図9(D)に示すデータA〜Pは、図6(F)に示すカラムアドレスに対して図6(H)に示すタイミングで出力される。
読み出しデータ転送回路16rは、図10に示すように構成される。SDRAM18が16ビット幅を採用するメモリである場合は、上述した32ワードのデータA1〜P2がSDRAM18から読み出される。読み出されたデータA1〜P2は、図11(A)に示すクロックCLK1に同期して、図11(B)に示す要領で入力される。一方、SDRAM18が32ビット幅を採用するメモリである場合は、上述した16ワードのデータA〜PがSDRAM18から読み出される。読み出されたデータA〜Pは、図12(A)に示すクロックCLK1に同期して、図12(B)に示す要領で入力される。
SDRAM18が16ビット幅を採用するメモリである場合に注目して、SDRAM18から入力されたデータA1〜P2は、直列接続されたF/F回路130〜132に与えられる。F/F回路130〜132の各々は16ビット幅を有し、データA1〜P2をクロックCLK1に応答してラッチする。F/F回路130〜132から同時に出力されたデータは、クロックCLK1の2周期毎に、結合器134によって結合される。これによって、各ワードが32ビット幅を有する16ワードの結合データA〜Pが作成される。
ここで、結合データAはデータA1およびA2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データBはデータB1およびB2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。結合データCはデータC1およびC2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データDはデータD1およびD2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。
結合データEはデータE1およびE2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データFはデータF1およびF2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。結合データGはデータG1およびG2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データHはデータH1およびH2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。
結合データIはデータI1およびI2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データJはデータJ1およびJ2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。結合データKはデータK1およびK2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データLはデータL1およびL2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。
結合データMはデータM1およびM2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データNはデータN1およびN2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。結合データOはデータO1およびO2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当し、結合データPはデータP1およびP2が上位16ビットおよび下位16ビットにそれぞれ配置されたデータに相当する。
結合データA〜Pは図11(C)に示すタイミングで結合器134から出力され、このうち結合データA〜FがSRAM136に書き込まれる。SRAM136に格納された結合データA〜Fは、図11(D)に示すタイミングつまり結合データHが結合器134から出力されるタイミングで、クロックCLK1に応答して読み出される。F/F回路138は、SRAM136から出力された結合データA〜FをクロックCLK1に応答してラッチし、ラッチされた結合データA〜FをクロックCLK1の1周期分遅れて出力する。出力された結合データA〜Fは、セレクタ200の端子T1を介して図11(E)に示すタイミングで出力される。
SDRAM18から入力されたデータA1〜P2はまた、直列接続された20個のF/F回路140〜178に与えられる。F/F回路140〜178の各々は16ビット幅を有し、32ワードのデータA1〜P2をクロックCLK1に応答してラッチする。
F/F回路140〜142から同時に出力されたデータは、クロックCLK1の2周期毎に結合器180によって結合され、これによって作成された結合データはセレクタ200の端子T11に与えられる。F/F回路144〜146から同時に出力されたデータは、クロックCLK1の2周期毎に結合器182によって結合され、これによって作成された結合データはセレクタ200の端子T10に与えられる。
F/F回路148〜150から同時に出力されたデータは、クロックCLK1の2周期毎に結合器184によって結合され、これによって作成された結合データはセレクタ200の端子T9に与えられる。F/F回路152〜154から同時に出力されたデータは、クロックCLK1の2周期毎に結合器186によって結合され、これによって作成された結合データはセレクタ200の端子T8に与えられる。
F/F回路156〜158から同時に出力されたデータは、クロックCLK1の2周期毎に結合器188によって結合され、これによって作成された結合データはセレクタ200の端子T7に与えられる。F/F回路160〜162から同時に出力されたデータは、クロックCLK1の2周期毎に結合器190によって結合され、これによって作成された結合データはセレクタ200の端子T6に与えられる。
F/F回路164〜166から同時に出力されたデータは、クロックCLK1の2周期毎に結合器192によって結合され、これによって作成された結合データはセレクタ200の端子T5に与えられる。F/F回路168〜170から同時に出力されたデータは、クロックCLK1の2周期毎に結合器194によって結合され、これによって作成された結合データはセレクタ200の端子T4に与えられる。
F/F回路172〜174から同時に出力されたデータは、クロックCLK1の2周期毎に結合器196によって結合され、これによって作成された結合データはセレクタ200の端子T3に与えられる。F/F回路176〜178から同時に出力されたデータは、クロックCLK1の2周期毎に結合器198によって結合され、これによって作成された結合データはセレクタ200の端子T2に与えられる。
セレクタ200は、端子T1に与えられたデータFの出力後、クロックCLK1が立ち上がる毎に端子T2〜T11を順に選択する。この結果、結合器198〜180でそれぞれ作成された結合データG〜Pが、図11(F)に示すタイミングでセレクタ200から出力される。
セレクタ204は、SDRAM18が16ビット幅を採用するメモリであるとき、セレクタ200を選択する。セレクタ200から出力された結合データA〜Pは、図11(G)に示す要領でバスBS1に向けて出力される。
SDRAM18が32ビット幅を採用するメモリである場合に注目して、SDRAM18から入力されたデータA〜Pは、32ビット幅のF/F回路202に与えられる。F/F回路202は、データA〜PをクロックCLK1に応答してラッチし、ラッチされたデータA〜Pをセレクタ204に与える。セレクタ204は、SDRAM18が32ビット幅を採用するメモリであるとき、F/F回路202を選択する。したがって、F/F回路202から与えられたデータA〜Pは、図12(C)に示す要領でバスBS1に向けて出力される。
なお、図11(B)に示すデータA1〜P2は、図5(F)に示すカラムアドレスに対して図5(I)に示すタイミングで入力される。また、図11(G)に示すデータA〜Pは、図5(F)に示すカラムアドレスに対して図5(J)に示すタイミングで出力される。さらに、図12(B)に示すデータA〜Pは、図6(F)に示すカラムアドレスに対して図6(I)に示すタイミングで入力される。また、図12(C)に示すデータA〜Pは、図6(F)に示すカラムアドレスに対して図6(J)に示すタイミングで出力される。
以上の説明から分かるように、カウンタ24は、7個のカウント値(=K個のアドレス係数)をモード情報“MD32”に対応して出力する一方、15個のカウント値(=L個のアドレス係数)をモード情報“MD16”に対応して出力する。分配器26および結合器28は、カウンタ24から出力されたカウント値を1/2(=1/M)の値に変換する。セレクタ32は、カウンタ24から出力されたカウント値に基づく加算値(=アドレス情報)をモード情報“MD32”に対応して生成する一方、結合器28から出力された数値に基づく加算値をモード情報“MD16”に対応して生成する。SDRAM18に設けられた複数のアドレスの各々は、32ビット(=Nビット)および16ビット(=N/Mビット)のいずれか一方に相当するビット幅を有する。F/F回路36は、このようなSDRAM18へのアクセスのために、セレクタ32によって選択されたカウント値を統合アドレスとして出力する。
このように、モード情報が“MD32”を示すときは、カウンタ24から出力された7個のカウント値に基づいて統合アドレスが生成される。これに対して、モード情報が“MD16”を示すときは、カウンタ24から出力された15個のカウント値の各々の値が1/2の値に変換され、変換されたL個の数値に基づいて統合アドレスが生成される。一方、SDRAM18に設けられたアドレスは、32ビットおよび16ビットのいずれか一方に相当するビット幅を有する。
したがって、SDRAM18が32ビット幅を有する場合にモード情報を“MD32”に設定し、SDRAM18が16ビット幅を有する場合にモード情報を“MD16”に設定することで、ビット幅の異なるSDRAMに対する適応的なアクセスが実現される。この結果、メモリアクセス性能が向上する。
なお、この実施例のデータ処理装置10としては、ディジタルカメラ,オーディオプレーヤなどのSDRAMを利用してデータを処理するあらゆる電子機器が想定される。
10 …データ処理装置
12a,14a …アドレス指定回路
16c …アドレス変換回路
20,24 …カウンタ
32,54 …セレクタ
26 …分配器
28,52 …結合器
36 …F/F回路

Claims (3)

  1. K個(K:2以上の整数)の、カウンタから出力されたカウント値に基づき、メモリにアクセスするためのアドレス情報を生成するためのアドレス係数を第1モードに対応して発生する一方、L個(L:Kを上回る整数)の、カウンタから出力されたカウント値に基づき、メモリにアクセスするためのアドレス情報を生成するためのアドレス係数を第2モードに対応して発生する発生手段、
    前記発生手段によって発生されたアドレス係数の値を1/M(M:2以上の整数)の値に変換する第1変換手段、
    前記発生手段によって発生されたアドレス係数に基づくアドレス情報を前記第1モードに対応して生成する一方、前記第1変換手段によって変換されたアドレス係数に基づくアドレス情報を前記第2モードに対応して生成する生成手段、および
    NビットおよびN/Mビットのいずれか一方に相当するビット幅を各々が有する複数のアドレスが設けられたメモリへのアクセスのために前記生成手段によって生成されたアドレス情報を出力する出力手段を備え、
    前記メモリはバーストアクセス方式を採用し、
    前記出力手段は前記生成手段によって生成されたアドレス情報を前記メモリのバースト長に対応する周期でラッチするラッチ手段を含み
    前記出力手段から出力されたアドレス情報の基礎となるアドレス係数を検出する検出手段、
    前記検出手段によって検出されたアドレス係数の値をM倍の値に変換する第2変換手段、および
    前記検出手段によって検出されたアドレス係数を前記第1モードに対応して選択する一方、前記第2変換手段によって変換されたアドレス係数を前記第2モードに対応して選択する選択手段をさらに備えるメモリアクセス装置。
  2. 各ワードが前記Nビットに相当するビット幅を有するデータを前記N/Mビットに相当するビット幅を有する部分データに分割する分割手段、および
    前記分割手段によって分割された部分データを前記メモリに向けて出力するデータ出力手段をさらに備える、請求項1記載のメモリアクセス装置。
  3. 各ワードが前記N/Mビットに相当するビット幅を有して前記メモリから読み出されたデータを結合して各ワードが前記Nビットに相当するビット幅を有する結合データを作成する結合手段、および
    前記結合手段によって作成された結合データを出力する出力手段をさらに備える、請求項2のいずれかに記載のメモリアクセス装置。
JP2010276730A 2010-12-13 2010-12-13 メモリアクセス装置 Expired - Fee Related JP5597120B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010276730A JP5597120B2 (ja) 2010-12-13 2010-12-13 メモリアクセス装置
US13/311,985 US20120147690A1 (en) 2010-12-13 2011-12-06 Memory accessing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010276730A JP5597120B2 (ja) 2010-12-13 2010-12-13 メモリアクセス装置

Publications (3)

Publication Number Publication Date
JP2012128478A JP2012128478A (ja) 2012-07-05
JP2012128478A5 JP2012128478A5 (ja) 2014-01-23
JP5597120B2 true JP5597120B2 (ja) 2014-10-01

Family

ID=46199267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010276730A Expired - Fee Related JP5597120B2 (ja) 2010-12-13 2010-12-13 メモリアクセス装置

Country Status (2)

Country Link
US (1) US20120147690A1 (ja)
JP (1) JP5597120B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5949639A (ja) * 1982-09-16 1984-03-22 Hitachi Ltd 記憶回路の語長変更回路
JPS61139866A (ja) * 1984-12-11 1986-06-27 Toshiba Corp マイクロプロセツサ
JPH05210572A (ja) * 1992-01-30 1993-08-20 Casio Comput Co Ltd メモリ制御装置
JP2002063791A (ja) * 2000-08-21 2002-02-28 Mitsubishi Electric Corp 半導体記憶装置およびメモリシステム
JP4052878B2 (ja) * 2002-05-28 2008-02-27 松下電器産業株式会社 情報処理装置
JP2007164415A (ja) * 2005-12-13 2007-06-28 Sony Corp データ転送制御装置

Also Published As

Publication number Publication date
US20120147690A1 (en) 2012-06-14
JP2012128478A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
US7606089B2 (en) Data strobe signal generator for generating data strobe signal based on adjustable preamble value and semiconductor memory device with the same
US7529139B2 (en) N-port memory circuits allowing M memory addresses to be accessed concurrently and signal processing methods thereof
US8358557B2 (en) Memory device and method
JP2009015832A (ja) アクセス間調停回路、半導体装置およびアクセス間調停方法
US11625196B2 (en) Semiconductor memory device and operating method thereof
JP4947395B2 (ja) 半導体試験装置
JP5597120B2 (ja) メモリアクセス装置
JP6004463B2 (ja) 記憶装置及びその制御方法
JP3967559B2 (ja) 制御回路及び半導体記憶装置
JPWO2009125572A1 (ja) メモリ制御回路及びメモリ制御方法
JP2008077418A (ja) メモリアクセス装置
US9438210B1 (en) Semiconductor devices employing a data inversion scheme for improved input/output characteristics
JP4866194B2 (ja) 集積回路及びリコンフィギュラブル回路の入力データ制御方法
JP4019757B2 (ja) 記憶装置
JP2004280924A (ja) メモリテスト回路
JP2005259266A (ja) 試験装置及び試験方法
JP2013093092A (ja) デュアルポートメモリおよびその方法
JP2007157283A (ja) 半導体記憶装置
EP0661648A2 (en) Digital signal processing circuit
JP2010287150A (ja) データ転送回路
US9251887B2 (en) Static random access memory system and operation method thereof
JPH0644051A (ja) マイクロコンピュータ
JP6314083B2 (ja) 半導体装置、メモリアクセス制御方法、及び半導体装置システム
CN118245110A (zh) 面向稀疏矩阵向量乘计算的软硬件协同设计方法和框架
JP5559932B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130404

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140808

R150 Certificate of patent or registration of utility model

Ref document number: 5597120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees