(57)【特許請求の範囲】
【請求項１】
２ｋ個の複数のデータで構成されるブロック単位で順番に転送されてくる複数系統の各データをメモリ内に当該系統毎に分割して記憶するためのｉビットのメモリアドレスを生成するアドレス生成回路であって、
前記系統の数を２ｊとすると共に前記ブロックの１つに含まれている前記データ数を２ｋとしたときに、インクリメントまたはデクリメントされているｉビットのアドレスを入力すると共に当該アドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、前記アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、前記メモリアドレスを生成するアドレス生成回路。ここで、ｊは１以上の整数であり、ｋは１以上の整数であり、ｉは（ｊ＋ｋ）を超える整数である。
【請求項２】
２ｋ個の複数のデータで構成されるブロック単位で順番に転送されてくる２ｊ系統の各データをｉビットのメモリアドレス空間を有するメモリ内に当該系統毎に分割して記憶するデータ記憶装置であって、
インクリメントまたはデクリメントするｉビットのアドレスを生成するアドレスカウンタと、
前記アドレスカウンタによって生成された前記アドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、前記アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、前記メモリ用のメモリアドレスを生成するアドレス生成回路とを備えているデータ記憶装置。ここで、ｊは１以上の整数であり、ｋは１以上の整数であり、ｉは（ｊ＋ｋ）を超える整数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力したアドレスに基づいてメモリ内の偶数個の記憶領域を順次アクセス可能な新たなアドレスを生成するアドレス生成回路、およびそのアドレス生成回路を備えたデータ記憶装置に関するものである。
【背景技術】
【０００２】
メモリ内の複数の記憶領域（バンク）をアクセスするためのアドレスを生成する回路として、特開２０００−１０５７２４号公報に開示されているアドレス生成回路（アドレス制御回路）が知られている。このアドレス生成回路は、バンクレジスタおよびアドレスカウンタを備え、バンクレジスタに格納された値に基づいてメモリを仮想的に複数のバンクに分割すると共に、分割された各バンクのアドレスをアドレスカウンタによって生成されたアドレスで制御している。
【特許文献１】特開２０００−１０５７２４号公報（第３−４頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記した従来のアドレス生成回路には、次のような解決すべき課題が存在する。すなわち、このアドレス生成回路では、メモリ内に形成される記憶領域の数はバンクレジスタのビット数で決定され、また１つの記憶領域の容量はアドレスカウンタのビット数によって一義的に決定される。このため、例えば、ブロック単位で順番に転送されてくる複数系統（２ｊ（ｊは１以上の整数）で規定される任意の数の系統）の各データをメモリ内に系統毎に分割して記憶するためのアドレスを生成させようとしたときには、バンクレジスタのビット長およびアドレスカウンタのビット長の双方を変更可能で、しかもバンクレジスタのビット長とアドレスカウンタのビット長との和が一定となるように回路を構成する必要が生じ、回路が非常に複雑化するという課題が存在している。
【０００４】
本発明は、かかる課題を解決するためになされたものであり、簡易に構成しつつメモリの記憶領域を２ｊで規定される任意の数に分割し得るアドレス生成回路を提供することを主目的とする。また、そのアドレス生成回路を備えたデータ記憶装置を提供することを他の主目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成すべく請求項１記載のアドレス生成回路は、２ｋ個の複数のデータで構成されるブロック単位で順番に転送されてくる複数系統の各データをメモリ内に当該系統毎に分割して記憶するためのｉビットのメモリアドレスを生成するアドレス生成回路であって、前記系統の数を２ｊとすると共に前記ブロックの１つに含まれている前記データ数を２ｋとしたときに、インクリメントまたはデクリメントされているｉビットのアドレスを入力すると共に当該アドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、前記アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、前記メモリアドレスを生成するアドレス生成回路。ここで、ｊは１以上の整数であり、ｋは１以上の整数であり、ｉは（ｊ＋ｋ）を超える整数である。
【０００６】
また、請求項２記載のデータ記憶装置は、２ｋ個の複数のデータで構成されるブロック単位で順番に転送されてくる２ｊ系統の各データをｉビットのメモリアドレス空間を有するメモリ内に当該系統毎に分割して記憶するデータ記憶装置であって、インクリメントまたはデクリメントするｉビットのアドレスを生成するアドレスカウンタと、前記アドレスカウンタによって生成された前記アドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、前記アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、前記メモリ用のメモリアドレスを生成するアドレス生成回路とを備えているデータ記憶装置。ここで、ｊは１以上の整数であり、ｋは１以上の整数であり、ｉは（ｊ＋ｋ）を超える整数である。
【発明の効果】
【０００７】
請求項１記載のアドレス生成回路では、系統の数を２ｊとすると共に１つの系統に転送されてくる複数のデータのブロックの１つに含まれているデータ数を２ｋとしたときに、インクリメントまたはデクリメントされているｉビットのアドレスを入力すると共にアドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、メモリアドレスを生成する。したがって、このアドレス生成回路によれば、ビット長の変更が可能なバンクレジスタおよびビット長の変更が可能なアドレスカウンタを備えると共にバンクレジスタのビット長とアドレスカウンタのビット長との和が一定となるように構成することによって同様のメモリアドレスを生成する回路と比較して、データを入力する系統の数２ｊと同数の記憶領域にメモリの全記憶領域を自動的に等分割する共に分割した各記憶領域に各系統のデータを記憶させ得るメモリアドレスを簡易な構成で生成することができる。また、例えば、複数の系統のデータがブロック単位で複数個連続して転送されてくる場合、ＣＰＵなどの他のアクセスによるバンクレジスタの切り替えを行うことなく自動でメモリに記憶させることができるため、書き込み速度を向上させることができる。
【０００８】
請求項２記載のデータ記憶装置では、インクリメントまたはデクリメントするｉビットのアドレスを生成するアドレスカウンタと、アドレスカウンタによって生成されたアドレスの最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、アドレスの（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを、ｋビット目から１ビット目までのアドレスビット列をそのままにした状態で入れ替えることにより、メモリ用のメモリアドレスを生成するアドレス生成回路とを備えている。この場合、このアドレス生成回路は、ビット長の変更が可能なバンクレジスタおよびビット長の変更が可能なアドレスカウンタを備えると共にバンクレジスタのビット長とアドレスカウンタのビット長との和が一定となるように構成することによって同様のメモリアドレスを生成する回路と比較して、データを入力する系統の数２ｊと同数の記憶領域にメモリの全記憶領域を自動的に等分割する共に分割した各記憶領域に各系統のデータを記憶させ得るメモリアドレスを簡易な構成で生成することができる。したがって、このアドレス生成回路を備えたデータ記憶装置によれば、入力するデータの系統数２ｊや１ブロックを構成するデータ数２ｋが変わったとしても、簡易な装置構成でありながら、データを入力する系統の数２ｊと同数の記憶領域にメモリの全記憶領域を自動的に等分割できると共に分割した各記憶領域に各系統のデータを記憶させることができる。また、例えば、複数の系統のデータがブロック単位で複数個連続して転送されてくる場合、ＣＰＵなどの他のアクセスによるバンクレジスタの切り替えを行うことなく自動でメモリに記憶させることができるため、書き込み速度を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明に係るデータ記憶装置の最良の形態について説明する。
【００１０】
最初に、データ記録装置１の構成について説明する。データ記録装置１は、図１に示すように、データ制御回路２、アドレスカウンタ３、アドレス生成回路４、アドレス制御回路５およびメモリ６を備え、ブロック単位（各ブロックは２ｋ個のデータで構成される）で順番に転送されてくる２ｊ系統の各データをメモリ６内に系統毎に分割して記憶する。ここで、ｊは１以上の整数を意味し、ｋは１以上の整数を意味するが、本例では、一例として、ｊおよびｋが共に２に規定されて、データ記録装置１は、図１に示すように、２２個（４個）のデータで構成されるブロック単位でそれぞれ転送されてくる４系統ＣＨ１〜ＣＨ４の各データＤａ，Ｄｂ，Ｄｃ，Ｄｄを、ｉビットのメモリアドレスで各アドレスが特定される記憶領域を有するメモリ６内に規定された各記憶領域６１，６２，６３，６４に分割して記憶する。ここで、ｉは、（ｊ＋ｋ）を超える整数を意味するが、本例では、一例としてｉは８に規定されている。
【００１１】
データ制御回路２は、例えばセレクタ（図示せず）を備えて構成されている。この場合、データ制御回路２は、データの記憶動作時には、図３に示すように、時間的に互いにオーバーラップしない状態で順番で転送されてくる各系統ＣＨ１〜ＣＨ４の各データＤａ（ａ１，ａ２，ａ３，ａ４），Ｄｂ（ｂ１，ｂ２，ｂ３，ｂ４），Ｄｃ（ｃ１，ｃ２，ｃ３，ｃ４），Ｄｄ（ｄ１，ｄ２，ｄ３，ｄ４）を、その転送タイミングに合わせて選択して出力することにより、各データＤａ，Ｄｂ，Ｄｃ，Ｄｄを時間軸上で連続させてメモリ６に出力する。また、データ制御回路２は、メモリ６からのデータの読出動作時には、メモリ６から読み出したデータＤ１を図外の外部装置（この例ではＣＰＵ）に出力する。
【００１２】
アドレスカウンタ３は、データの記録動作時には、図３に示すように、各データＤａ，Ｄｂ，Ｄｃ，Ｄｄの転送タイミングに同期してインクリメントまたはデクリメント動作（本例ではインクリメント動作の例を説明するが、デクリメント動作であってもよい）を実行して、ｉビット（本例では上記したように８ビット）のアドレスＡＤ１を出力する。なお、同図では、アドレスＡＤ１および後述するアドレスＡＤ２を１６進数で表している。
【００１３】
アドレス生成回路４は、例えばセレクタ（図示せず）を備えて構成されて、入力しているアドレスＡＤ１の最上位ビット目から（ｊ＋ｋ＋１）ビット目までのアドレスビット列と、アドレスＡＤ１の（ｊ＋ｋ）ビット目から（ｋ＋１）ビット目までのアドレスビット列とを入れ替えるというビット操作を実行することにより、メモリ６用のメモリアドレス（以下、「アドレス」ともいう）ＡＤ２を生成する。本例では、上記したように、ｉ，ｊおよびｋを８，２，２にそれぞれ規定したことにより、アドレス生成回路４は、一例として、図２に示すように、アドレスＡＤ１の最上位ビット目（８ビット目。ＭＳＢ）から５（＝ｊ＋ｋ＋１）ビット目までのアドレスビット列（破線で囲まれたアドレスビット列）と、アドレスＡＤ１の４（＝ｊ＋ｋ）ビット目から３（＝ｋ＋１）ビット目までのアドレスビット列（実線で囲まれたアドレスビット列）とを入れ替えることにより、アドレスＡＤ２を生成する。この場合、アドレス生成回路４は、内部に設けられているディップスイッチやレジスタなどに設定されているｊ，ｋの各数値に基づいて、上記した２つのアドレスビット列の入れ替えを実行する。なお、ｊ，ｋの各数値のディップスイッチやレジスタなどへの設定は、手動またはＣＰＵにより自動で行うこともできる。
【００１４】
アドレス制御回路５は、例えばセレクタ（図示せず）を備えて構成されている。この場合、アドレス制御回路５は、データの記憶動作時には、アドレス生成回路４から入力したアドレスＡＤ２をメモリ６に出力すると共に、アドレスＡＤ２の変化タイミングに同期した書込パルス（図示せず）を生成してメモリ６に出力する。また、アドレス制御回路５は、メモリ６からのデータの読出動作時には、図外のＣＰＵから入力したアドレスＡＤ３をメモリ６に出力すると共に、アドレスＡＤ３の変化タイミングに同期した読出パルス（図示せず）を生成してメモリ６に出力する。
【００１５】
次に、データ記録装置１によるデータの記憶動作について説明する。
【００１６】
まず、データ制御回路２は、図３に示す転送タイミングで転送されてくる系統ＣＨ１〜ＣＨ４の各データＤａ〜Ｄｄを入力すると共に時間軸上で連続する状態にしてメモリ６に出力する。具体的には、データ制御回路２は、系統ＣＨ１から入力したデータＤａ（最初の１ブロックは、４つのデータａ１〜ａ４で構成されている）を最初に出力し、次いで、系統ＣＨ２から入力したデータＤｂ（最初の１ブロックは、４つのデータｂ１〜ｂ４で構成されている）を出力し、続いて、系統ＣＨ３から入力したデータＤｃ（最初の１ブロックは、４つのデータｃ１〜ｃ４で構成されている）を出力し、次いで、系統ＣＨ４から入力したデータＤｄ（最初の１ブロックは、４つのデータｄ１〜ｄ４で構成されている）を出力する、という動作を繰り返し実行することにより、メモリ６に対して、各系統ＣＨ１〜ＣＨ４の各データＤａ〜Ｄｄを、ａ１〜ａ４，ｂ１〜ｂ４，ｃ１〜ｃ４，ｄ１〜ｄ４，ａ５〜ａ８，ｂ５〜ｂ８，・・・というように連続させて出力する。
【００１７】
他方、アドレスカウンタ３は、データＤａ（ａ１）の入力開始のタイミングに同期してインクリメント動作を開始すると共に、各データＤａ，Ｄｂ，Ｄｃ，Ｄｄの転送タイミングに同期してインクリメント動作を実行することにより、図３に示すようにアドレスＡＤ１（「００」，「０１」，「０２」，・・・・）を出力する。また、アドレス生成回路４は、入力したアドレスＡＤ１に対して、図２に示すように、８ビット目（ＭＳＢ）から５ビット目までのアドレスビット列と、４ビット目から３ビット目までのアドレスビット列とを入れ替えることによってアドレスＡＤ２を生成してアドレス生成回路４に出力する。これにより、アドレス生成回路４は、図３に示すように、「００」，「０１」，「０２」，「０３」，「０４」，・・・，「０７」，「０８」，・・・，「０Ｂ」，「０Ｃ」，・・・，「０Ｆ」，「１０」，・・・と変化するアドレスＡＤ１に基づき、「００」，「０１」，「０２」，「０３」，「４０」，・・・，「４３」，「８０」，・・・，「８３」，「Ｃ０」，・・・，「Ｃ３」，「０４」，・・・・と変化するアドレスＡＤ２を生成してアドレス生成回路４に出力する。アドレス制御回路５は、入力したアドレスＡＤ２と共に生成した書込パルスをメモリ６に出力する。これにより、図４に示すように、系統ＣＨ１のデータＤａはメモリ６内のアドレス「００００００００（００）」から始まる記憶領域６１に、また系統ＣＨ２のデータＤｂはメモリ６内のアドレス「０１００００００（４０）」から始まる記憶領域６２に、また系統ＣＨ３のデータＤｃはメモリ６内のアドレス「１０００００００（８０）」から始まる記憶領域６３に、また系統ＣＨ４のデータＤｄはメモリ６内のアドレス「１１００００００（Ｃ０）」から始まる記憶領域６４にそれぞれ分割して記憶される。なお、図４では、アドレスを２進数と１６進数（カッコ内に表記）とで表記している。
【００１８】
このように、このデータ記録装置１では、アドレス生成回路４が、アドレスカウンタ３によって生成されるアドレスＡＤ１の最上位ビット目から（ｊ＋ｋ＋１）ビット目（本例では５ビット目）までのアドレスビット列と、アドレスＡＤ１の（ｊ＋ｋ）ビット目（本例では４ビット目）から（ｋ＋１）ビット目（本例では３ビット目）までのアドレスビット列とを入れ替えるというビット操作を実行することにより、メモリ６用のアドレスＡＤ２を生成する。したがって、このアドレス生成回路４によれば、ビット長の変更が可能なバンクレジスタおよびビット長の変更が可能なアドレスカウンタを備えると共にバンクレジスタのビット長とアドレスカウンタのビット長との和が一定となるように構成することによって同様のアドレスＡＤを生成する回路と比較して、簡易に構成することができる。この結果、このアドレス生成回路４を備えたデータ記録装置１によれば、入力するデータの系統数２ｊや１ブロックを構成するデータ数２ｋが変わったとしても、簡易な装置構成でありながら、データＤａ〜Ｄｄを入力する系統ＣＨ１〜ＣＨ４の数２ｊと同数の記憶領域にメモリ６の全記憶領域を自動的に等分割できると共に分割した各記憶領域に各系統ＣＨ１〜ＣＨ４のデータＤａ〜Ｄｄを記憶させることができる。また、例えば、複数の系統ＣＨ１〜ＣＨ４のデータＤａ〜Ｄｄがブロック単位で連続して転送されてくる場合、ＣＰＵなどの他のアクセスによるバンクレジスタの切り替えを行うことなく自動でメモリ６に記憶させることができるため、メモリ６へのデータＤａ〜Ｄｄの書き込み速度を向上させることができる。加えて、複数の系統ＣＨ１〜ＣＨ４からデータ制御回路２にデータＤａ〜Ｄｄを直接的に転送できるため、他のアクセスによるデッドタイムがない結果、系統ＣＨ１〜ＣＨ４からデータ制御回路２へのデータ転送レートを向上させることもできる。
【００１９】
なお、例えば、ｋ＝２として、１ブロックを構成するデータ数が４の例、つまり各系統のデータがブロック単位で複数個転送されてくる例について説明したが、ｋ＝０とした場合、つまり各系統のデータが１ビット単位でシングル転送されてくる構成にも適用できる。一例として、ｉ＝８であって、入力するデータの系統数２ｊが２（ｊ＝１）で、ｋ＝０の場合には、アドレス生成回路４は、図５に示すように、アドレスＡＤ１の最上位ビット目（８ビット目。ＭＳＢ）から２（＝ｊ＋ｋ＋１）ビット目までのアドレスビット列（破線で囲まれたアドレスビット列）と、アドレスＡＤ１の１（＝ｊ＋ｋ）ビット目から１（＝ｋ＋１）ビット目まで、つまり１ビット目のアドレスビット列（実線で囲まれたアドレスビット列。この場合には１ビットのみで構成される）とを入れ替えるビット操作を実行することにより、アドレスＡＤ２を生成する。この場合、データ記録装置１に入力される２系統ＣＨ１，ＣＨ２のデータＤａ（ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，・・・），Ｄｂ（ｂ１，ｂ２，ｂ３，ｂ４，ｂ５，ｂ６，・・・）は、ａ１，ｂ１，ａ２，ｂ２，・・・というように交互に入力されるが、図５に示すビット操作によって生成されたアドレスＡＤ２により、図６に示すように、メモリ６の２つの記憶領域、つまりアドレス「００００００００（００）」から始まる記憶領域６１と、アドレス「１０００００００（８０）」から始まる記憶領域６２とにそれぞれ順番に記憶される。したがって、各系統毎に１ビット単位で転送されてくるデータを記録するためのデータ記録装置においても、簡易な構成のアドレス生成回路４によってメモリ６用のアドレスＡＤ２を生成できる結果、簡易な装置構成でありながら、各データを入力する系統の数２ｊと同数の記憶領域にメモリの全記憶領域を自動的に等分割できると共に分割した各記憶領域に各系統のデータをそれぞれ記憶させることができる。
【図面の簡単な説明】
【００２０】
【図１】データ記録装置１のブロック図である。
【図２】１つのブロックが４つのデータで構成された４系統ＣＨ１〜ＣＨ４の各データＤａ〜Ｄｄをメモリ６に分割して記憶する際におけるアドレス生成回路４の動作を説明するための説明図である。
【図３】データ記録装置１の動作を説明するためのタイミングチャートである。
【図４】系統ＣＨ１〜ＣＨ４の各データＤａ〜Ｄｄのメモリ６への記憶状態を示す説明図である。
【図５】１つのブロックが１つのデータで構成された２系統ＣＨ１，ＣＨ２の各データＤａ，Ｄｂをメモリ６に分割して記憶する際におけるアドレス生成回路４の動作を説明するための説明図である。
【図６】系統ＣＨ１，ＣＨ２の各データＤａ，Ｄｂのメモリ６への記憶状態を示す説明図である。
【符号の説明】
【００２１】
１  データ記録装置
２  データ制御回路
３  アドレスカウンタ
４  アドレス生成回路
５  アドレス制御回路
６  メモリ
ＡＤ１，ＡＤ２  アドレス
ＣＨ１〜ＣＨ４  系統
Ｄａ〜Ｄｄ  データ
【図１】
0004811909.tif 000002
【図２】
0004811909.tif 000003
【図３】
0004811909.tif 000004
【図４】
0004811909.tif 000005
【図５】
0004811909.tif 000006
【図６】
0004811909.tif 000007