JP3990569B2 - Data memory control device - Google Patents

Data memory control device Download PDF

Info

Publication number
JP3990569B2
JP3990569B2 JP2001393101A JP2001393101A JP3990569B2 JP 3990569 B2 JP3990569 B2 JP 3990569B2 JP 2001393101 A JP2001393101 A JP 2001393101A JP 2001393101 A JP2001393101 A JP 2001393101A JP 3990569 B2 JP3990569 B2 JP 3990569B2
Authority
JP
Japan
Prior art keywords
data memory
data
block
access
address
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
JP2001393101A
Other languages
Japanese (ja)
Other versions
JP2003196151A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001393101A priority Critical patent/JP3990569B2/en
Publication of JP2003196151A publication Critical patent/JP2003196151A/en
Application granted granted Critical
Publication of JP3990569B2 publication Critical patent/JP3990569B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データメモリ制御装置に関し、特に、データメモリ制御部の調停制御により、データメモリを複数のブロックで共有しているデータメモリ制御装置に関するものである。
【0002】
【従来の技術】
近年のシステムLSI、中でも画像データ等を扱うメディア処理を実現するLSIでは、全体の面積に対するメモリの占有比率が非常に高くなっているという傾向にある。従って、コスト削減のために面積を削減する場合、メモリの容量削減は非常に効果があり、重要な取り組みであるといえる。また、メモリ容量削減技術の一つとして、メモリの共有化がある。データメモリを複数のブロックで共有する際のアクセスの調停制御において、アクセスブロック毎に優先順位を与え、その優先順位に従って調停制御を実行していた。これにより、優先順位が高いブロックのアクセスが優先的に実行され、処理をよりスムーズに流すことができるという効果を得ていた。
【0003】
【発明が解決しようとする課題】
従来におけるデータメモリ制御装置では、複数のブロックの各ブロックに対してデータメモリへのアクセスを実行する場合の優先順位を定義し、該優先順位に従って各ブロックからのアクセスの調停を行なっている。したがって、データメモリに対してアクセスを実行するブロックを追加する時は、アクセス調停機構を変更する必要が生じると同時に、データメモリに対してアクセスを実行するブロックが多い場合はアクセス調停機構が複雑になるという問題がある。
【0004】
また、複数のタスクから構成されるブロックの処理を行なう場合には、各タスクに対して処理の優先順位を定義する必要があり、ソフトウェアが複雑になると言う問題もある。
本発明は、前記問題点に鑑みてなされたものであり、アクセス効率の向上と、タスク毎の優先順位を設定することを可能とすることができるデータメモリ制御装置を提供することを目的とする。
【0019】
【課題を解決するための手段】
前述した問題点を解決するために、本発明の請求項に記載のデータメモリ制御装置は、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、前記データメモリ制御部は、前記データメモリを共有する第1のブロックが読み出したデータを保持するリードレジスタと、前記第1のブロックが前記データメモリへ2回以上連続して同じアドレスから読み出し動作をしていることを検出する連続アクセス検出部とをさらに備え、前記第1のブロックによる前記データメモリの同一アドレスからの2回以上の連続した読み出し動作を前記連続アクセス検出部にて検出した時、前記第1のブロックが前記データメモリから読み出しているデータを前記リードレジスタに保存し、引き続き前記連続アクセス検出部にて同一アドレスからの連続した読み出し動作を検出中に、前記データメモリを共有する第2のブロックがアクセス要求を出したときには、前記第1のブロックへは該リードレジスタの保存データを送信して、前記第2のブロックの前記データメモリへのアクセスを許可するものである。
【0020】
これにより、従来のように、アクセスするブロック単位のみでしか定義できなかった優先順位が、アドレス情報を用いて定義できるので、データメモリ制御部におけるアクセス調停機構を変更することなく、ブロックの数を容易に拡張することができるとともに、複数のブロックからのアクセスの調停制御を簡素化することができ、また、データの転送効率の向上を可能にする。
また、あるブロックからの同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスすることができるので、システム全体の処理性能を向上することができる。
【0021】
また、本発明の請求項に記載のデータメモリ制御装置は、請求項に記載のデータメモリ制御装置において、前記データメモリ制御部は、前記第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部を備え、前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出し、前記第2のブロックによる前記同一アドレスへのデータの書き込み後に、前記第1のブロックによる前記同一アドレスからの読み出しを行い、同時に前記リードレジスタに該読み出しデータを書き込み、前記リードレジスタの更新を行うものである。
【0022】
これにより、同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスすることができるので、システム全体の処理性能を向上することができ、また、同一アドレスへの書き込みにより、データが更新された場合は、再度読み出しすることにより、連続読み出しへ結果を反映させることができる。
【0023】
また、本発明の請求項に記載のデータメモリ制御装置は、請求項に記載のデータメモリ制御装置において、前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出したとき、前記第2のブロックによる前記同一アドレスへのデータの書き込みと同時に前記リードレジスタに該書き込みデータを書き込み、前記リードレジスタの更新を行うものである。
【0024】
これにより、同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスすることができるので、システム全体の処理性能を向上することができ、また、同一アドレスへの書き込みにより、データが更新された場合は、再度読み出しを実行することなしに連続読み出しへ結果を反映させることができる。
【0025】
また、本発明の請求項に記載のデータメモリ制御装置は、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、前記データメモリ制御部は、n(n≧2)ワード分のデータを保持する一時記憶メモリと、前記データメモリを共有する第1のブロックが前記データメモリへ2回以上連続して同じアドレスへ読み出し動作をしていることを検出する連続アクセス検出部と、前記データメモリを共有する第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部とをさらに備え、前記第1のブロックが連続してm(m≦n)ワードの周期的なアドレスアクセスを行うという通知を受け、該周期的なアドレスアクセスにより読み出されるmワードのデータを前記一時記憶メモリへ保存し、該第1のブロックへは前記一時記憶メモリのデータを送信して前記第2のブロックの前記データメモリへのアクセスを許可し、前記アドレス検出部で前記第2のブロックの書き込みアドレスと前記第1のブロックの読み出しアドレスとが同一アドレスであることを検出した時は、前記第2のブロックによる書き込みと同時に前記一時記憶メモリにデータを書き込み、前記一時記憶メモリの更新を行うものである。
【0026】
これにより、従来のように、アクセスするブロック単位のみでしか定義できなかった優先順位が、アドレス情報を用いて定義できるので、データメモリ制御部におけるアクセス調停機構を変更することなく、ブロックの数を容易に拡張することができるとともに、複数のブロックからのアクセスの調停制御を簡素化することができ、また、データの転送効率の向上を可能にする。
また、係数参照等、周期的なアクセスを実行する領域へのアクセスの場合、他のアクセスを許可できるので、システム全体の処理効率の向上を可能にする。
【0027】
また、本発明の請求項に記載のデータメモリ制御装置は、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、該データメモリ制御装置は、前記複数のブロック間で直接データの受け渡しを行うための複数のダイレクトバスと、前記複数のブロックに対してのデータのダイレクト転送を制御するダイレクト転送制御部とをさらに備え、前記複数のブロックの中の単一ブロックからのデータメモリへのライトアクセス要求を行っているアドレスと、前記複数のブロックの全てもしくは一部のブロックからのリードアクセス要求を行っているアドレスとが同一アドレスの場合、アクセス要求全てに対して許可を与え、ライトアクセス許可を受けたブロックから出力された書き込みデータのデータメモリへの書き込みを実行すると同時に、前記ダイレクト転送制御部にて、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しを制御するとともに、前記ライトアクセス許可を受けたブロックから前記データメモリへの書き込みが不要な場合は、前記データメモリへの書き込みは実行せず、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しのみを実行し、その間、他のブロックからのアクセス要求を許可するものである。
【0028】
これにより、従来のように、アクセスするブロック単位のみでしか定義できなかった優先順位が、アドレス情報を用いて定義できるので、データメモリ制御部におけるアクセス調停機構を変更することなく、ブロックの数を容易に拡張することができるとともに、複数のブロックからのアクセスの調停制御を簡素化することができ、また、データの転送効率の向上を可能にする。
また、データメモリを介した複数ブロック間のデータの転送の場合、ライトアクセスとリードアクセスとを同時に実行できるので、システム全体の処理効率の向上を可能にする。
さらに、データメモリを介した複数ブロック間の転送の場合でかつ、データメモリ上に転送データを書き込む必要がない場合、ライトアクセスとリードアクセスとを同時に実行でき、また、その間にも他のアクセスを許可することができるので、システム全体の処理性能を向上することができる。
【0037】
【発明の実施の形態】
実施の形態1.
図1は、実施の形態1におけるデータメモリ制御装置の基本構成図である。
図において、基本構成として、後述する複数のブロックからのアクセス要求を調停制御するデータメモリ制御部100と、データメモリ101と、複数のブロックであるプロセッサコア102、専用ハードウェア(以下、専用HWとする)103、及びペリフェラル104とから構成される。
【0038】
また、データメモリ101とデータメモリ制御部100との接続は、第1のアドレスバスとなるアドレスバス101a、第1のデータバスとなるデータバス101a、及びアクセス要求信号101cを出力する第1のアクセス要求信号線で接続され、複数のブロック102、103、及び104とデータメモリ制御部との接続は、複数の第2のアドレスバスとなるアドレスバス102b、103b、及び104b、複数の第2のデータバスとなるデータバス102a、103a、及び104a、アクセス要求信号102c、103c、及び104cを出力する複数の第2のアクセス要求信号線、アクセス許可信号102d、103d、及び104dを出力する複数のアクセス許可信号線で接続される。
【0039】
次に、本発明の実施の形態1におけるデータメモリ制御装置の動作を図2を用いて行う。
図2は、基本構成図である図1におけるデータメモリ101に対して、格納するデータの内容に応じてデータメモリのアドレス空間を、データメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの3つの領域に分割したものである。
【0040】
本実施の形態1によるデータメモリ制御装置では、上記データメモリ101内のデータメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの領域を表すアドレス空間に対して、プロセッサコア102、専用HW103、及びペリフェラル104といったデータメモリ101へのアクセスを行う各ブロックがデータメモリ101へアクセスを実行する場合の優先順位を与える。優先順位については、その与え方は問わない。つまり、優先順位はあらかじめ固定されていてもよいし、各ブロックで実行される処理の状況に合わせて優先順位を変更するようにしてもよい。
【0041】
例えば、図において、前記各ブロックがアクセスを実行する場合の優先順位は、データメモリ領域A105a、データメモリ領域B105b、データメモリ領域C105cの順で与えられているとする。このような優先順位が与えられているときに、プロセッサコア102、専用HW103、及びペリフェラル104がデータメモリ101に対するアクセスを実行する場合について説明する。
【0042】
プロセッサコア102、専用HW103、及びペリフェラル104がデータメモリ101に対するアクセスを実行する場合、上記各ブロックはデータメモリ制御部100に対して、アクセス要求信号102c、103c、及び104cにて、データメモリ101へアクセスを実行する旨を通知する。データメモリ制御部100は各ブロックからのアクセス要求信号102c、103c、及び104cから、どのブロックがデータメモリ101に対するアクセスを実行しようとしているかを判断する。そして、アクセスの競合が発生していない場合、データメモリ制御部100は、アクセス許可信号102d、103d、及び104dにて、該ブロックに対して、該ブロックからのアクセスを許可する旨を通知する。その後、上記アクセス許可信号を受信した該ブロックはデータメモリ101へのアクセスを実行開始する。
【0043】
アクセスの競合が発生している場合は、上記各ブロックがデータメモリ101内のどの領域へのアクセスを実行するかを示すアドレスバス102b、103b、及び104bの中から、同時にデータメモリ101へのアクセス要求を行なっているブロックのアドレスバスの値と、上記データメモリ101内のデータメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの領域に対して与えられた優先順位とからデータメモリ制御部100は、優先順位の高い領域へのアクセスを実行しようとしているブロックに対してアクセス許可信号にてアクセスを許可する旨を通知する。その後、上記アクセス許可信号を受信した、データメモリ101内の優先順位の高い領域へのアクセスを実行するブロックはデータメモリ101へのアクセスを実行開始する。
【0044】
以上のような、本実施の形態1に係るデータメモリ制御装置は、データメモリ101内の各データ領域に対して優先順位を定義することにより、各ブロックがアクセスを実行しようとするアドレス空間の値のみでアクセス調停を行なうことができ、アクセスを実行する上記各ブロックに対して優先順位を定義することがないので、データメモリ101に対するアクセスを実行するブロックの数が変更された場合でも、データメモリ制御部100を変更する必要なく、データメモリ制御部100における調停制御を簡素化できるとともに、データメモリ101に対するアクセスを実行するブロックの数を容易に拡張することが可能となる。
【0045】
また、優先順位が高いタスクが使用するデータが格納されているデータメモリ領域に対する優先順位を高めることにより、各タスクの機能ではなく、各タスクが使用するデータの内容によって優先順位を定義することが可能となるので、優先順位の定義を柔軟に実現することができる。
【0046】
実施の形態2.
本発明の実施の形態2に係るデータメモリ制御装置は、各ブロックにおける処理の高速化をハードウェアコストの増大を抑えて実現するための手段を実施の形態1に施したものである。
【0047】
図3は、実施の形態2に係るデータメモリ制御装置の構成を示すブロック図である。
図3の基本構成は、上述した図1の基本構成となっており、データメモリ101は、図2と同様、格納するデータの内容に応じてデータメモリのアドレス空間を割り当てることにより、データメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの3つの領域に分割されている。
【0048】
また、上記データメモリ101内のデータメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの領域を表すアドレス空間に対して、プロセッサコア102、専用HW103、及びペリフェラル104といったデータメモリ101へのアクセスを行なう各ブロックがデータメモリ101へアクセスを実行する場合の優先順位を与える。
【0049】
そして、図2と同様に、前記各ブロックがアクセスを実行する場合の優先順位は、データメモリ領域A105a、データメモリ領域B105b、データメモリ領域C105cの順で与えられているとする。
【0050】
本実施の形態2に係るデータメモリ制御装置は、上述した構成に加えて、優先順位の高いデータメモリ領域A105aを構成する記憶素子を、該データメモリ領域A105aより優先順位の低いデータメモリ領域B105b、及びデータメモリ領域C105cに比べて高速アクセス可能な高性能記憶素子で構成したものである。
【0051】
一般に、実時間処理を必要とする処理や、他の処理と比べて優先的に実行しなければならない処理というものが存在する。このような処理に必要となるデータは上記データメモリ101内の優先順位の高い領域に格納することにより、データメモリ101へのアクセスが優先的に実行されるので、実時間性を満たすことや高速に処理を行なうことが可能となる。
【0052】
さらに、上記データメモリ101を構成する記憶素子に高速アクセス可能な高性能記憶素子を用いることで高速のアクセスが可能となり、上記各ブロックに対するデータ供給が高速に行なわれ、処理の高速化が実現可能となる。
【0053】
なお、一般的に高速アクセス可能な高性能記憶素子は、電力消費が大きく、ハードウェアコストも高いために、高速アクセス可能な高性能記憶素子は、ハードウェアコストの増大を抑えるためにできるだけ小さな領域のみに用いることが好ましい。
【0054】
以上のような、本実施の形態2に係るデータメモリ制御装置は、データメモリ101内の優先順位の高いデータメモリ領域A105aを構成する記憶素子を、該データメモリ領域A105aよりも優先順位の低いデータメモリ領域B105b、及びデータメモリ領域C105cに比べて高速アクセス可能な高性能記憶素子で構成することにより、ハードウェアコストの増大を抑えつつ、優先順位の高いデータメモリ領域A105a内のデータを使用する処理の高速化が可能となる。
【0055】
また、優先順位の高い処理の高速化が可能となることで、優先順位の高いデータメモリ領域A105aにアクセスを実行する処理によって、その実行が待たされる優先順位の低いデータ領域B105b、及びデータ領域C105c内のデータを使用する処理の待ち時間が短くなり、システム全体の処理効率を向上させることが可能となる。
【0056】
実施の形態3.
本発明の実施の形態3に係るデータメモリ制御装置は、実施の形態2に対して、さらに各ブロックにおける処理の高速化をハードウェアコストの増大を抑えて実現するための手段を施したものである。
【0057】
図4は、実施の形態3に係るデータメモリ制御装置の構成を示すブロック図である。
図4の基本構成は、上述した図1の基本構成となっており、図において、データメモリ101は、図2、及び図3と同様、格納するデータの内容に応じてデータメモリのアドレス空間を割り当てることにより、データメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの3つの領域に分割されている。
【0058】
また、上記データメモリ101内のデータメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの領域を表すアドレス空間に対して、プロセッサコア102、専用HW103、およびペリフェラル104といったデータメモリ101へのアクセスを行なう各ブロックがデータメモリ101へアクセスを実行する場合の優先順位を与える。
【0059】
そして、図2、及び図3と同様、前記各ブロックがアクセスを実行する場合の優先順位は、データメモリ領域A105a、データメモリ領域B105b、データメモリ領域C105cの順で与えられているとする。
【0060】
また、図3と同様、優先順位の高いデータメモリ領域A105aを構成する記憶素子は、データメモリ領域A105aよりも優先順位の低いデータメモリ領域B105b、及びデータメモリ領域C105cに比べて高速アクセス可能な高性能記憶素子で構成する。
【0061】
本実施の形態3に係るデータメモリ制御装置は、上述した構成に加えて、さらに、優先順位の高いデータメモリ領域A105aにおいて、アクセス頻度が高い領域を構成する記憶素子を、高性能記憶素子で構成されるデータメモリ領域A1、106a、及びデータメモリ領域A3、106cよりもさらに高速アクセス可能な超高性能記憶素子でデータメモリ領域A2、106bに構成する。これには、優先順位の高いデータメモリ領域A105aにおいて、アクセス頻度が高い領域を構成する記憶素子を、優先順位の低いデータメモリ領域B105b、及びデータメモリ領域C105cよりも高速アクセス可能な高性能記憶素子で構成することをも含んでいる。
【0062】
一般にデータメモリ101内の各データメモリ領域内のアクセス頻度が高い領域があるということは、その領域に格納されているデータを使用する処理に時間を要していることが言える。したがって、アクセス頻度が高い領域を構成する記憶素子を他の領域に比べてさらに高速アクセス可能な高性能記憶素子で構成することにより、各ブロックに対するデータ供給能力が向上し、処理の高速化が実現可能となる。
【0063】
なお、一般的に高速アクセス可能な高性能記憶素子は、電力消費が大きく、ハードウェアコストも高いために、高速アクセス可能な高性能記憶素子は、ハードウェアコストの増大を抑えるためにできるだけ小さな領域のみに用いることが好ましい。
【0064】
以上のように、本発明の実施の形態3に係るデータメモリ制御装置は、データメモリ101内の優先順位の高いデータメモリ領域A105a内におけるアクセス頻度の高い領域を構成する記憶素子を、さらに高速アクセス可能な超高性能記憶素子で構成することにより、ハードウェアコストの増大を抑えつつ、優先順位の高いデータメモリ領域A105a内のデータを使用する処理の、より一層の高速化が可能となる。
【0065】
また、優先順位の高い処理の高速化が可能となることで、優先順位の高いデータメモリ領域A105aにアクセスを実行する処理によって、その実行が待たされる優先順位の低いデータ領域B105b、及びデータ領域C105c内のデータを使用する処理の待ち時間がさらに短くなり、システム全体の処理効率を向上させることが可能となる。
【0066】
実施の形態4.
本実施の形態4は、実施の形態3に対して、さらに各ブロックにおける処理の高速化をハードウェアコストの増大を抑えつつ実現するための手段を施したものである。
【0067】
図5は、実施の形態4に係るデータメモリ制御装置の構成を示すブロック図である。
図5の基本構成は、上述した図1の基本構成となっており、データメモリ制御装置のデータメモリ101は、図2、図3、及び図4と同様、格納するデータの内容に応じてデータメモリのアドレス空間を割り当てることにより、データメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの3つの領域に分割されている。
【0068】
また、上記データメモリ101内のデータメモリ領域A105a、データメモリ領域B105b、及びデータメモリ領域C105cの領域を表すアドレス空間に対して、プロセッサコア102、専用HW103、及びペリフェラル104といったデータメモリ101へのアクセスを行なう各ブロックがデータメモリ101へアクセスを実行する場合の優先順位を与える。
【0069】
そして、図2、図3、及び図4と同様、前記各ブロックがアクセスを実行する場合の優先順位は、データメモリ領域A105a、データメモリ領域B105b、データメモリ領域C105cの順で与えられているとする。
【0070】
本実施の形態4に係るデータメモリ制御装置は、上述した構成に加えて、さらに、データメモリA105a、データメモリ領域B105b、及びデータメモリ領域C105cのそれぞれにおいて、アクセス頻度が高い領域を構成する記憶素子を、アクセス頻度が高い領域以外のデータメモリ領域よりも高速アクセス可能な高性能記憶素子で構成する。
【0071】
一般にデータメモリ101内の各データメモリ領域内のアクセス頻度が高い領域があるということは、その領域に格納されているデータを使用する処理に時間を要していることが言える。したがって、アクセス頻度が高い領域を構成する記憶素子を他の領域に比べてさらに高速アクセス可能な高性能記憶素子で構成することにより、各ブロックに対するデータ供給能力が向上し、処理の高速化が実現可能となる。
【0072】
なお、一般的に高速アクセス可能な高性能記憶素子は、電力消費が大きく、ハードウェアコストも高いために、高速アクセス可能な高性能記憶素子は、ハードウェアコストの増大を抑えるためにできるだけ小さな領域のみに用いることが好ましい。
【0073】
以上のような、本発明の実施の形態4に係るデータメモリ制御装置は、データメモリ101内の優先順位が与えられたそれぞれのデータメモリ領域内におけるアクセス頻度の高い領域を構成する記憶素子を、高速アクセス可能な高性能記憶素子で構成することにより、ハードウェアコストの増大を抑えつつ、さらに各ブロックにおける処理の高速化が可能となる。
【0074】
また、各ブロックにおける処理の高速化が可能となることで、アクセス競合時において、その実行が待たされる各ブロックの待ち時間が短くなり、システム全体の処理効率を向上させることが可能となる。
【0075】
実施の形態5.
本発明の実施の形態5に係るデータメモリ制御装置は、データメモリの同一の領域へ複数のブロックからのリードアクセス競合が発生した場合において、システム全体の処理性能を向上させるために、同一アドレスへのリードアクセス競合を検出し、複数のブロックからのリードアクセスを許可するものである。
【0076】
図6は、本発明の実施の形態5に係るデータメモリ制御装置の構成を示すブロック図である。
図1との違いは、データメモリ101の同一アドレスに対するリードアクセスの競合を監視する同一アドレスリード・リードアクセス競合監視ブロック600aを備えている点、及び図1の専用HW103をプロセッサコア601で置き換えている点である。
【0077】
次に本発明の実施の形態5におけるデータメモリ制御装置の動作について説明する。
同一アドレスリード、リードアクセス競合監視ブロック600aは、アドレスバス102b、601b、及び104bとアクセス要求信号102c、601c、及び104cとを入力としている。例えばプロセッサコア102がデータメモリ101に格納されているフラグ602を常にリードし続けてポーリング状態にある場合、さらにプロセッサコア601がフラグ602のポーリングを実行しようとした場合を考える。
【0078】
この時、同一アドレスリード、リードアクセス競合監視ブロック600aは、アドレスバス102bと601bとの一致、及びアクセス要求信号102cと601cとの一致を監視し、一致した場合にアクセス許可信号601dを出力すると同時にデータバス101aのデータをデータバス601aに出力するようにデータメモリ制御装置100を制御する。これにより、データバス101aのデータをデータバス102aとデータバス601aに出力し、アクセス許可信号102d、601dを出力することでプロセッサコア102、及び601ともにポーリング状態に移行できるためにリードアクセス競合がなくなる。
【0079】
以上のような、本発明の実施の形態5に係るデータメモリ制御装置は、データメモリの同一領域への複数ブロックからのリードアクセス競合時に、それぞれ入力したアドレスバスとアクセス要求信号により、同一アドレスへのリードアクセス競合を検出し、リードアクセス競合を許可するので、システム全体の処理性能を向上することが可能となる。
【0080】
実施の形態6.
本発明の実施の形態6に係るデータメモリ制御装置は、リードアクセスを行っているブロックと、該ブロックと同一のアドレスにライトアクセスを行っているブロックとの競合を検知し、システム全体の処理性能を向上させるために、ライトアクセスを許可するものである。
【0081】
図7は、本発明の実施の形態6に係るデータメモリ制御装置の構成を示すブロック図である。
図6との違いは、同一アドレスリード・リードアクセス競合監視ブロック600aの代わりに、データメモリ101の同一アドレスに対するリードアアクセスとライトアクセスの競合を監視する同一アドレスリード・ライトアクセス競合監視ブロック600bを備えている点である。
【0082】
次に本発明の実施の形態6におけるデータメモリ制御装置の動作について説明する。
同一アドレスリード・ライトアクセス競合監視ブロック600bは、アドレスバス102b、601b、及び104bとアクセス要求信号102c、601c、及び104cとを入力としている。例えばプロセッサコア102がデータメモリ101のあるフラグ602を常にリードし続けてポーリング状態にある場合、ペリフェラル104がフラグ602を書き換えて、プロセッサコア102のポーリング解除を実行しようとした場合を説明する。
【0083】
この時、同一アドレスリード・ライトアクセス競合監視ブロック600bは、アドレスバス102bと104bとの一致、及びアクセス要求信号102cと104cとの一致を監視し、一致した場合にアクセス許可信号104dとアクセス要求信号101cを出力すると同時にデータバス101aとデータバス102aにデータバス104aのデータを出力するようにデータメモリ制御部100を制御する。これにより、データメモリ101へデータバス101aのライトアクセスを行いつつ、データバス102aに同じデータを出力することでプロセッサコア102のポーリング状態を解除できるためにアクセス競合がなくなる。
【0084】
以上のような、本発明の実施の形態6に係るデータメモリ制御装置は、データメモリの同一領域へのブロックのアクセス時に、それぞれ入力したアドレスバスとアクセス要求信号により、リードアクセスに対するライトアクセス競合を検出し、ライトアクセス競合を許可するので、システム全体の処理性能を向上することができる。
【0085】
実施の形態7.
本発明の実施の形態7に係るデータメモリ制御装置は、あるブロックから同一アドレスへ連続してデータを読み出す場合において、システム全体の処理性能を向上させるために、あるブロックから読み出したデータをデータメモリ制御部内に保持し、該ブロックからの読み出し要求がある間は、該保持したデータを該ブロックに送信して、他のブロックからのアクセスを許可できるようにしたものである。
【0086】
図8は、本発明の実施の形態7に係るデータメモリ制御装置の構成を示すブロック図である。
図1との違いは、データメモリ制御部100内に、ブロック102、103、及び104のいずれかのブロックのアクセス要求信号が2回以上連続してきており、かつそのアクセス先が同一アドレスであることを検出する連続アクセス検出部800と、ブロック102、103、及び104のいずれかのブロックがデータメモリ101から読み出したデータを保持することができるリードレジスタ801とを備えた点である。
【0087】
例えば、102、及び104のブロックからデータメモリ101へアクセス要求が来ておらず、ブロック103からデータメモリ101へ2回以上連続してアクセス要求が来たとき、まず連続アクセス検出部において前回アクセスしたアドレスと今回読み出すアドレスとが同一アドレスであるかどうかを検出する。そして、同一アドレスであると検出されたときは、読み出したデータをリードレジスタ801へ保存し、保存後は同一アドレス上のデータへの読み出し要求が来ている間はリードレジスタ801のデータをブロック103へ送信し続ける。
【0088】
このように、リードレジスタ801のデータをブロック103へ送信し続けている間は、他のブロックからデータメモリ101へのアクセスが許可されるので、ブロック102またはブロック104からアクセス要求が来たとき、そのアクセス要求は許可される。
【0089】
以上のような本発明の実施の形態7に係るデータメモリ制御装置は、連続アクセス検出部800により、あるブロックの同一アドレスへの連続読み出しを検出して、該読み出したデータをリードレジスタ801に保存し、該ブロックのデータの読み出しは、データを保存したリードレジスタ801から該ブロックに送信することによって行われるので、あるブロックからの同一アドレスへの連続読み出し中は、他のブロックからアクセス要求が来たときに競合して待つことなくアクセスすることができ、システム全体の処理性能を向上することができる。
【0090】
実施の形態8.
本発明の実施の形態8に係るデータメモリ制御装置は、同一のアドレスを連続して読み出すブロックに対して、データメモリ制御部内のリードレジスタから該リードレジスタにて保持したデータを送信している際に、他のブロックから、該読み出し要求しているブロックと同一のアドレスに書き込み要求があった場合において、リードレジスタの更新を行うために、データメモリのデータの書き込み後に、読み出し要求しているブロックから再度データメモリの読み出しを行うと同時に、リードレジスタに該読み出しデータを書き込むようにしたものである。
【0091】
図9は、本発明の実施の形態8に係るデータメモリ制御装置の構成を示すブロック図である。
図8との違いは、データメモリ制御部100内に、各ブロック102、103、及び104の各ブロックからデータメモリ101のアクセスが競合したとき、そのアドレスが同一であるかを検出するアドレス検出部802を付加した点である。
【0092】
例えば、ブロック103がデータメモリ101へ同一アドレスを連続読み出しするので、リードレジスタ801のデータを読んでいる間に、ブロック102または104からデータメモリ101へ、データの書きこみ要求が来たとき、アドレス競合検出部802は、ブロック103が読み出しているアドレスと同一アドレスであるかを検出する。
【0093】
書き込み要求しているブロックとブロック103とが同一アドレスであると検出されたときは、ブロック102または104のアクセスを許可し、データメモリ101のデータを更新する。その後、ブロック103はデータメモリ101へ再度読み出しを行い、同時にリードレジスタ801のデータも更新する。更新後は、ブロック103にリードレジスタ801のデータを送信し続ける。
【0094】
また、リードレジスタ801の更新が必要なとき、ブロック102またはブロック104がデータメモリ101にアクセスすると同時にリードレジスタ801のデータを更新することも可能である。従って、ブロック103は、リードレジスタ801を更新するために、データメモリ101に再アクセスする必要が無くなる。
【0095】
以上のような、実施の形態8に係るデータメモリ制御装置は、同一アドレスからの連続読み出し中は他のアクセス要求が来たときに競合して待つことなくアクセスできるので、システム全体の処理性能を向上することができる。
【0096】
また、他のブロックからの連続読み出し中のブロックと同一のアドレスへの書き込みにより、データメモリ101のデータが更新されても、データを読み出し中のブロック103がデータメモリ101へ再度読み出しを行い、リードレジスタ801のデータも更新するので、更新したデータもリードレジスタ801に反映させることができ、連続読み出し中のブロックへ更新結果を反映することができる。
【0097】
また、他のブロックから、読み出し中のブロック103と同一のアドレスへの書き込みと同時に、リードレジスタ801のデータを更新することにより、ブロック103は、リードレジスタ801の更新のためにデータメモリ101への再アクセスする必要が無く、リードレジスタ801更新時のオーバーヘッドを無くしてアクセス時間の短縮を可能にする。
【0098】
実施の形態9.
本発明の実施の形態9に係るデータメモリ制御装置は、あるブロックが、データメモリから周期的にデータを連続して読み出す場合において、システム全体の処理効率を向上させるために、該ブロックがデータメモリから読み出したデータをデータメモリ制御部内で一時記憶し、該記憶したデータを該ブロックに送信することにより、他のブロックからのアクセスを許可できるようにしたものである。
【0099】
図10は、本発明の実施の形態9に係るデータメモリ制御装置の構成を示すブロック図である。
図1との違いは、データメモリ制御部100内に、ブロック102、103、及び104のいずれかのアクセス要求信号が2回以上連続してきており、かつそのアクセス先が同一アドレスであることを検出する連続アクセス検出部800と、各ブロック102、103、及び104の各ブロックからデータメモリ101のアクセスが競合したとき、そのアドレスが同一アドレスであるかを検出するアドレス競合検出部802と、データメモリ101からブロック102、103、及び104のいずれかへ読み出したn(n≧2)ワードのデータを保持する一時記憶メモリ803とを備えた点である。
【0100】
例えば、102、及び104のブロックからデータメモリ101へアクセス要求が来ておらず、ブロック103から周期的にデータメモリ101からm(m≦n)ワードのデータを連続して読み出すという通知をデータメモリ制御部100に渡したとき、データメモリ101から読み出したmワードのデータを一時記憶メモリ803に保存し、保存後はブロック103から通知が続く限り、ブロック103に一時記憶メモリ803のデータを送信し続ける。
【0101】
そして、一時記憶メモリ803のデータをブロック103へ送信し続けている間は、他のブロックからデータメモリ101へのアクセスが許可されるので、ブロック102またはブロック104からアクセス要求が来たとき、そのアクセス要求は許可される。従って、ブロック103からの通知中に他のブロックからアクセス要求が来たときに、競合して待つことなくアクセスすることが可能になる。
【0102】
ただし、ブロック102またはブロック104からのアクセス要求が、ブロック103のアクセスしているアドレスへのアクセス要求であった場合は、アドレス競合検出部802によって検出される。同一アドレスであると検出されると、ブロック102またはブロック104のアクセスは許可され、データメモリ101の更新が行われる。データの更新は、データメモリ101と同時に一時記憶803も同時に更新を行うことが可能であり、データメモリへのアクセスによるオーバーヘッド無しに一時記憶803の更新が可能である。
【0103】
以上のような、実施の形態9に係るデータメモリ制御装置は、mワードの周期的なデータをデータメモリ101から連続して読み出すときにデータメモリ制御部100に通知することにより、mワードのデータは一時記憶メモリ803から送信されるので、他のブロックのデータメモリ101へのアクセスを許可することが可能となる。
【0104】
また、他のブロックによりデータメモリ101が更新されて一時記憶メモリ803の更新が必要なときに、データメモリ101と同時に一時記憶メモリ803も更新されるので、データメモリ101への再アクセスが無くアクセス時間の短縮が可能である。
【0105】
実施の形態10.
本発明の実施の形態10に係るデータメモリ制御装置は、データメモリを介して複数のブロック間で同一アドレスのデータの転送を行う場合において、システム全体の処理効率を向上させるために、あるブロックからの書き込みデータをデータメモリに出力すると同時に、該データを他のブロックにダイレクトに転送して、ライトアクセスとリードアクセスとを同時に行うものである。
【0106】
図11は、本発明の実施の形態10に係るデータメモリ制御装置の構成を示すブロック図である。図1との違いは、複数のブロック間で直接データの受け渡しを行うダイレクトバス102e、103e、及び104eと、データのダイレクト転送を制御するダイレクト制御部1201とを備えている点である。
【0107】
次に、本発明の実施の形態10におけるデータメモリ制御装置の動作について、ペリフェラル104から専用HW103にダイレクトバス103eを介してデータを受け渡す場合を説明する。
【0108】
まず、ペリフェラル104は、データメモリ制御部100に、データメモリ101のデータ書き込み要求を発行し、ダイレクト転送制御部1201により、ペリフェラル104からダイレクトバス103eを介して専用HW103にダイレクトに転送すると同時に、データバス101aにデータを出力する。この時点ではペリフェラル104は、データメモリ制御部100への転送データのみを出力し続け、書き込み要求受理待ち状態になる。専用HW103は、データメモリ制御部100に、データメモリ101のデータ読み出し要求を発行する。この時点では専用HW103は、読み出し要求受理待ち状態となる。データメモリ制御部100は、双方から要求されたデータメモリ101のアドレスが同一アドレスであり、かつデータメモリに対するアクセス要求が読み出しと書き込みの反するタイプであれば、双方からのデータメモリ101に対するアクセス許可信号103c、104cをアサートし、ペリフェラル104から出力される書き込みデータをデータメモリ101の変数1202に格納する。書き込み要求を発行しているペリフェラル104は、データメモリ制御部100から出力されるアクセス許可信号104dを受けて、書き込み受理待ち状態から書き込み状態へと遷移する。一方、読み出し要求を発行している専用HW103は、データメモリ制御部100から出力されるアクセス許可信号103dを受けて、読み出し受理待ち状態から読み出し状態へと遷移し、ダイレクト転送制御部1201により、ペリフェラル104から専用HW103へのダイレクト転送を行う。
【0109】
ただし、ダイレクト転送を行うのは、有効なデータすなわち、ペリフェラル104がデータメモリ101にデータを出力する期間に限る。例えば、有効と無効の判別は、ダイレクトバス104e、及び103eの中に識別信号を設けることで可能となる。無効なデータすなわち、ペリフェラル104がデータメモリ101の変数1202にデータを出力し終えた場合には、専用HW103は、データメモリ101の変数1202から読み出しを行う。
【0110】
以上のような、本発明の実施の形態10に係るデータメモリ制御装置は、読み出し要求するブロックのアドレスと、書き込み要求するブロックのアドレスとが同一の場合において、書き込み要求するブロックから、書き込みデータをダイレクトに読み出しブロックに転送すると同時に、データメモリに該書き込みデータを出力するので、リードアクセスとライトアクセスとを同時に実行することが可能となり、システム全体の処理効率の向上が可能になる。
【0111】
なお、上記の例において、ペリフェラル104からデータメモリ101に出力するデータがダイレクト転送によって専用HW103に受け渡しができ、かつ以後の処理でデータメモリ101に格納されるデータを使用しない場合は、データメモリ101への書き込みを抑止する制御を行うことにより、ペリフェラル104と専用エンジン103以外の例えばプロセッサコア102がデータメモリ101へアクセスすることが可能となる。
【0112】
また、各ブロックを結ぶダイレクト転送は、複数のブロックにつなぐことによって、読み出しにおいては複数のブロックが同時に書き込みデータを読み出すことが可能になる。
【0113】
また、ダイレクトバス102e、103e、及び104eは、データバス102a、103a、及び104aとそれぞれ共用可能であり、ダイレクトバス102e、103e、及び104eを設けない場合も、データバス102a、103a、及び104aによりダイレクト転送が可能である。
【0114】
実施の形態11.
本発明の実施の形態11に係るデータメモリ制御装置は、消費電力を低減するために、複数のブロックに対するクロックのオン/オフを制御するクロック制御部を備え、データメモリ制御部からのアクセス許可の待ち状態に入っているブロックに対してのクロックを制御するものである。
【0115】
図12は、本発明の実施の形態11に係るデータメモリ制御装置の構成を示すブロック図である。
図1との違いは、データメモリ制御部100内に、複数の各ブロックのクロックを制御するクロック制御部200を備え、該クロック制御部200を、クロック制御信号102f、103f、及び104fによりブロック102、103、及び104に接続した点である。
【0116】
ブロック102、103、及び104は、データメモリ101にアクセス要求信号102c、103c、及び104cを用いてアクセス要求を出すが、複数のブロックからのアクセス要求がある場合、アクセス競合が発生するため、データメモリ制御部100が調停制御を行い、アクセスを許可されたブロックのみがデータメモリ101のデータの読み出しまたは書き込みを行う。
しかし、アクセスを許可されたブロック以外のブロックが存在する場合、そのブロックはアクセスの許可をデータメモリ制御部100から受け取るまで、いわゆる待ち状態に入る。
【0117】
この時クロック制御部200は、待ち状態に入るブロックに対してクロックを停止する制御信号を出力する。これにより、待ち状態に入るブロックはクロックを停止する。その後、アクセス許可を受けたブロックの処理が終了し、待ち状態に入っているブロックがアクセスの許可を受ける段階で、クロック制御部200は待ち状態に入っているブロックのクロックをアクティブにする。
【0118】
以上のクロック制御部の動作により、ブロックが待ち状態に入っている間のみクロックを停止することができる。
このときのブロックのクロックを停止する方法であるが、対象となるブロックがクロック制御機構を備えていれば、このクロック制御信号を制御信号としてクロックのオン/オフを実現できる。しかし、対象となるブロックにクロック制御機構がない場合でも、このブロックに供給されるクロックをクロック制御信号との論理積等の簡単な回路を通じて供給することにより、対象ブロックのクロックのオン/オフを実現できる。なお、クロック制御信号自体をクロック信号とし対象ブロックに供給すると、クロック制御機構を付加することなくブロックのクロックのオン/オフを実現できる。
【0119】
以上のような、本発明の実施の形態11に係るデータメモリ制御装置は、複数のブロックによるデータメモリへのアクセス競合が発生した場合、クロック制御部により、アクセスの許可を保留され、待ち状態に入っているブロックに対して、クロックを停止することにより、消費電力を低減することができる。
【0120】
実施の形態12.
本発明の実施の形態12に係るデータメモリ制御装置は、アクセス競合が発生したブロックの消費電力を低減するために、データメモリの動作速度を制御するメモリ速度制御部を備え、データメモリを高速動作させ、転送待ち状態のブロックの周波数を落とすものである。
【0121】
図13は、本発明の実施の形態12に係るデータメモリ制御装置の構成を示すブロック図である。
図1との違いは、データメモリ制御部100内に、データメモリ101の動作速度を制御するメモリ速度制御部300を備え、該メモリ速度制御部300を、メモリ速度制御信号101gによりデータメモリ101と接続した点である。
【0122】
ブロック102、103、及び104は、データメモリ101にアクセス要求信号102d、103d、及び104dを用いてアクセス要求を出すが、複数のブロックからのアクセス要求がある場合、アクセス競合が発生するため、データメモリ制御部100が調停制御を行う必要がある。
【0123】
本実施の形態12では、例えば2つのブロックからのアクセス要求が発生した場合、メモリ速度制御部300がメモリ速度制御信号線101gを通じデータメモリ101の動作速度を2倍以上に上げ、各アクセス要求を出したブロックを待たせることなく処理し、データメモリに対する読み出し、及び書き込みを行う。この処理により、2つのブロックからのアクセス競合が発生した場合でも、それぞれのブロックはデータメモリ101に同時にアクセスすることができる。
【0124】
なお、3つ以上のブロックからのアクセス要求が発生した場合でも、同様にデータメモリの動作速度を競合アクセス数に応じて上げることで処理することができる。このように、動的にデータメモリ101の動作速度を変更することにより、データメモリ制御部100は、複数のブロックからのアクセス要求を競合制御する。ただし、同時に処理する競合アクセス要求の数は、データメモリ101の最高動作速度に応じて制限される。
【0125】
以上のような、本発明の実施の形態12に係るデータメモリ制御装置は、複数のブロックからのアクセス要求がある場合、メモリ速度制御部により、データメモリの動作速度を上げることによって、複数のブロックからのアクセス要求を処理することができるとともに、転送待ちの状態のブロックの周波数が落とされるため、ブロックの消費電力を低減することができる。
【0126】
実施の形態13.
本発明の実施の形態13に係るデータメモリ制御装置は、システムの要求に対して、比較的短期間に柔軟な対応を可能にするため、複数のデータメモリ制御部同士を接続して、スケーラブルに機能拡張したものである。
【0127】
図14は、本発明の実施の形態13に係るデータメモリ制御装置の構成を示すブロック図である。
図において、データメモリ制御部400が実行しているプロセッサコア402、及び専用HW403からのデータメモリ401へのアクセス調停制御内容や、データメモリ制御部500が実行しているプロセッサコア502、及び専用HW503からのデータメモリ501へのアクセス調停制御内容は、実施の形態1から実施の形態12の内容と同じである。本実施の形態13で示している特徴は、データメモリ制御部400とデータメモリ制御部500とがデータバス404a、アドレスバス404b、アクセス要求信号404c、及びアクセス許可信号404d、で接続され、2系統のデータメモリ制御部で構成している点である。
【0128】
以上の構成により、例えば、プロセッサコア402がデータメモリ501にアクセス要求を出すことが可能となる。具体的には、プロセッサコア402は、アクセス要求信号402cを用いてデータメモリ制御部400に対してライトアクセス要求を出すと、データメモリ制御部400は、アクセス要求信号404cを用いてデータメモリ制御部500にライトアクセス要求を出す。データメモリ制御部500は、アクセス要求信号404cよりアクセス要求を受け取ると、他のブロックからのアクセス要求との競合を確認して、競合がなかった場合、データメモリ501へライトアクセスを実行する。
【0129】
以上のような、実施の形態13に係るデータメモリ制御装置は、複数のデータメモリ制御部同士をデータバス、アドレスバス、アクセス要求信号、及びアクセス許可信号で接続することにより、他のデータメモリ制御部で制御されているデータメモリに対して、アクセスの要求を可能にし、スケーラブルに機能拡張することができるので、システムの要求に対して比較的短期間に柔軟な対応ができる。
【0130】
なお、本実施の形態13では、プロセッサコア402からデータメモリ501へのライトアクセスを例に取ったが、リードアクセス要求、または、他のブロックからのアクセスも同様に実行可能である。さらに、本実施の形態13において、2系統のデータメモリ制御部の結合を説明したが、n(nは2以上の自然数)系統までの拡張も容易に可能である。
【0138】
【発明の効果】
発明の請求項に記載のデータメモリ制御装置によれば、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、前記データメモリ制御部は、前記データメモリを共有する第1のブロックが読み出したデータを保持するリードレジスタと、前記第1のブロックが前記データメモリへ2回以上連続して同じアドレスから読み出し動作をしていることを検出する連続アクセス検出部とをさらに備え、前記第1のブロックによる前記データメモリの同一アドレスからの2回以上の連続した読み出し動作を前記連続アクセス検出部にて検出した時、前記第1のブロックが前記データメモリから読み出しているデータを前記リードレジスタに保存し、引き続き前記連続アクセス検出部にて同一アドレスからの連続した読み出し動作を検出中に、前記データメモリを共有する第2のブロックがアクセス要求を出したときには、前記第1のブロックへは該リードレジスタの保存データを送信して、前記第2のブロックの前記データメモリへのアクセスを許可するので、同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスすることができ、システム全体の処理性能を向上することができる効果がある。
【0139】
また、本発明の請求項に記載のデータメモリ制御装置によれば、請求項に記載のデータメモリ制御装置において、前記データメモリ制御部は、前記第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部を備え、前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出し、前記第2のブロックによる前記同一アドレスへのデータの書き込み後に、前記第1のブロックによる前記同一アドレスからの読み出しを行い、同時に前記リードレジスタに該読み出しデータを書き込み、前記リードレジスタの更新を行うので、同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスできることで処理性能を向上することが可能となり、また、同一アドレスへの書き込みによりデータメモリが更新された場合は、再度読み出しを実行することにより、連続読みだしへ結果を反映させることができる効果がある。
【0140】
また、本発明の請求項に記載のデータメモリ制御装置によれば、請求項に記載のデータメモリ制御装置において、前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出したとき、前記第2のブロックによる前記同一アドレスへのデータの書き込みと同時に前記リードレジスタに該書き込みデータを書き込み、前記リードレジスタの更新を行うので、同一アドレスからの連続読み出し中は、他のアクセス要求が来たときに競合して待つことなくアクセスできることで処理性能を向上することが可能となり、また、同一アドレスへの書き込みにより、データメモリが更新された場合は、再度読み出しを実行することなしに連続読みだしへ結果を反映させることができる効果がある。
【0141】
また、本発明の請求項に記載のデータメモリ制御装置によれば、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、前記データメモリ制御部は、n(n≧2)ワード分のデータを保持する一時記憶メモリと、前記データメモリを共有する第1のブロックが前記データメモリへ2回以上連続して同じアドレスへ読み出し動作をしていることを検出する連続アクセス検出部と、前記データメモリを共有する第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部とをさらに備え、前記第1のブロックが連続してm(m≦n)ワードの周期的なアドレスアクセスを行うという通知を受け、該周期的なアドレスアクセスにより読み出されるmワードのデータを前記一時記憶メモリへ保存し、該第1のブロックへは前記一時記憶メモリのデータを送信して前記第2のブロックの前記データメモリへのアクセスを許可し、前記アドレス検出部で前記第2のブロックの書き込みアドレスと前記第1のブロックの読み出しアドレスとが同一アドレスであることを検出した時は、前記第2のブロックによる書き込みと同時に前記一時記憶メモリにデータを書き込み、前記一時記憶メモリの更新を行うので、係数参照等、周期的なアクセスを実行する領域へのアクセスの場合、他のアクセスを許可でき、システム全体の処理効率を向上することができる効果がある。
【0142】
また、本発明の請求項に記載のデータメモリ制御装置によれば、複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、該データメモリ制御装置は、前記複数のブロック間で直接データの受け渡しを行うための複数のダイレクトバスと、前記複数のブロックに対してのデータのダイレクト転送を制御するダイレクト転送制御部とをさらに備え、前記複数のブロックの中の単一ブロックからのデータメモリへのライトアクセス要求を行っているアドレスと、前記複数のブロックの全てもしくは一部のブロックからのリードアクセス要求を行っているアドレスとが同一アドレスの場合、アクセス要求全てに対して許可を与え、ライトアクセス許可を受けたブロックから出力された書き込みデータのデータメモリへの書き込みを実行すると同時に、前記ダイレクト転送制御部にて、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しを制御するとともに、前記ライトアクセス許可を受けたブロックから前記データメモリへの書き込みが不要な場合は、前記データメモリへの書き込みは実行せず、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しのみを実行し、その間、他のブロックからのアクセス要求を許可するので、従来のように、アクセスするブロック単位のみでしか定義できなかった優先順位が、アドレス情報を用いて定義できるので、データメモリ制御部におけるアクセス調停機構を変更することなく、ブロックの数を容易に拡張することができるとともに、複数のブロックからのアクセスの調停制御を簡素化することができ、また、データの転送効率の向上を可能にする効果がある。
また、データメモリを介した複数ブロック間の転送の場合、ライトアクセスとリードアクセスとを同時に実行でき、システム全体の処理効率を向上することができる効果がある。
さらに、データメモリを介した複数ブロック間の転送の場合でかつ、データメモリ上に転送データを書き込む必要がない場合、ライトアクセスとリードアクセスとを同時に実行でき、また、その間にも他のアクセスを許可することができるので、システム全体の処理性能を向上することができる効果がある。
【図面の簡単な説明】
【図1】本発明のデータメモリ制御装置の基本構成図である。
【図2】実施の形態1におけるデータメモリ制御装置の構成を示すブロック図である。
【図3】実施の形態2におけるデータメモリ制御装置の構成を示すブロック図である。
【図4】実施の形態3におけるデータメモリ制御装置の構成を示すブロック図である。
【図5】実施の形態4におけるデータメモリ制御装置の構成を示すブロック図である。
【図6】実施の形態5におけるデータメモリ制御装置の構成を示すブロック図である。
【図7】実施の形態6におけるデータメモリ制御装置の構成を示すブロック図である。
【図8】実施の形態7におけるデータメモリ制御装置の構成を示すブロック図である。
【図9】実施の形態8におけるデータメモリ制御装置の構成を示すブロック図である。
【図10】実施の形態9におけるデータメモリ制御装置の構成を示すブロック図である。
【図11】実施の形態10におけるデータメモリ制御装置の構成を示すブロック図である。
【図12】実施の形態11におけるデータメモリ制御装置の構成を示すブロック図である。
【図13】実施の形態12におけるデータメモリ制御装置の構成を示すブロック図である。
【図14】実施の形態13におけるデータメモリ制御装置の構成を示すブロック図である。
【符号の説明】
100 データメモリ制御部
101 データメモリ
101a データバス
101b アドレスバス
101c アクセス要求信号
102 プロセッサコア
102a データバス
102b アドレスバス
102c アクセス要求信号
102d アクセス許可信号
103 専用HW
103a データバス
103b アドレスバス
103c アクセス要求信号
103d アクセス許可信号
104 ペリフェラル
104a データバス
104b アドレスバス
104c アクセス要求信号
104d アクセス許可信号
105a データメモリ領域A
105b データメモリ領域B
105c データメモリ領域C
106a データメモリ領域A1
106b データメモリ領域A2
106c データメモリ領域A3
107a データメモリ領域B1
107b データメモリ領域B2
108a データメモリ領域C1
108b データメモリ領域C2
600a 同一アドレスへのリード・リードアクセス競合監視ブロック
600b 同一アドレスへのリード・ライトアクセス競合監視ブロック
602 フラグ
800 連続アクセス検出部
801 リードレジスタ
802 アドレス競合検出部
803 一時記憶メモリ
1201 ダイレクト転送制御部
1202 変数
102e ダイレクトバス
103e ダイレクトバス
104e ダイレクトバス
200 クロック制御信部
102f クロック制御信号
103f クロック制御信号
104f クロック制御信号
300 メモリ速度制御信部
101g メモリ速度制御信号
400 データメモリ制御部
401 データメモリ
401a データバス
401b アドレスバス
401c アクセス要求信号
402 プロセッサコア
402a データバス
402b アドレスバス
402c アクセス要求信号
402d アクセス許可信号
403 専用HW
403a データバス
403b アドレスバス
403c アクセス要求信号
403d アクセス許可信号
404a データバス
404b アドレスバス
404c アクセス要求信号
404d アクセス許可信号
500 データメモリ制御部
501 データメモリ
501a データバス
501b アドレスバス
501c アクセス要求信号
502 プロセッサコア
502a データバス
502b アドレスバス
502c アクセス要求信号
502d アクセス許可信号
503 専用HW
503a データバス
503b アドレスバス
503c アクセス要求信号
503d アクセス許可信号
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data memory control device, and more particularly to a data memory control device in which a data memory is shared by a plurality of blocks by arbitration control of a data memory control unit.
[0002]
[Prior art]
In recent system LSIs, especially LSIs that implement media processing that handles image data and the like, the memory occupation ratio tends to be very high with respect to the total area. Therefore, when the area is reduced for cost reduction, it can be said that the memory capacity reduction is very effective and is an important effort. As one of memory capacity reduction techniques, there is memory sharing. In access arbitration control when a data memory is shared by a plurality of blocks, priority is given to each access block, and arbitration control is executed according to the priority. As a result, an access to a block having a high priority is preferentially executed, and the process can be performed more smoothly.
[0003]
[Problems to be solved by the invention]
In the conventional data memory control device, the priority order when executing access to the data memory for each block of a plurality of blocks is defined, and the access from each block is arbitrated according to the priority order. Therefore, when adding a block for executing access to the data memory, it becomes necessary to change the access arbitration mechanism. At the same time, when there are many blocks for executing access to the data memory, the access arbitration mechanism is complicated. There is a problem of becoming.
[0004]
In addition, when processing a block composed of a plurality of tasks, it is necessary to define processing priority for each task, and there is a problem that software becomes complicated.
The present invention has been made in view of the above problems, and an object of the present invention is to provide a data memory control device capable of improving access efficiency and setting priorities for each task. .
[0019]
[Means for Solving the Problems]
  To solve the problems mentioned above, this bookClaims of the invention1The data memory control device described in the above item arbitrates and controls access requests from the plurality of blocks in the data memory control device that controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks. A data memory control unit; a first address bus connecting the data memory and the data memory control unit; a first data bus connecting the data memory and the data memory control unit; A first access request signal line connecting the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data memory control. A plurality of second data buses that connect the plurality of blocks, and the plurality of blocks and the data memory control unit A plurality of second access request signal lines, and a plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit, wherein the data memory control unit includes the plurality of blocks and the plurality of access permission signal lines. The access request is received by the second access request signal line, and the arbitration control of the plurality of access requests is performed using the address information from the plurality of second address buses. Data is transferred between the block and the data memory, the data memory control unit includes a read register that holds data read by the first block sharing the data memory, and the first block includes the first block A continuous access detector for detecting that the data memory is being read from the same address more than once in succession; Further comprising, detecting two or more consecutive read operations from the same address of said data memory by said first block in the continuous access detection unitBeforeThe data read from the data memory by the first block is stored in the read register,When the second block sharing the data memory issues an access request while the continuous access detection unit is continuously detecting continuous read operations from the same address,Data stored in the read register is transmitted to the first block, and access to the data memory of the second block is permitted.
[0020]
  ThisPriorities that could only be defined in units of accessed blocks as in the past can be defined using address information, so the number of blocks can be easily expanded without changing the access arbitration mechanism in the data memory controller In addition, the arbitration control of access from a plurality of blocks can be simplified, and the data transfer efficiency can be improved.
  Also,During continuous reading from the same address from a certain block, access can be made without waiting for contention when another access request comes, so that the processing performance of the entire system can be improved.
[0021]
  Further, the claims of the present invention2A data memory control device according to claim1In the data memory control device according to claim 1, the data memory control unit detects that the address from which the second block issues a write request and the address from which the first block is reading are the same address. An address detection unit, wherein the address detection unit detects that the read address of the first block and the write address of the second block are the same address, and the address to the same address by the second block is detected. After the data is written, reading from the same address by the first block is performed, and at the same time, the read data is written to the read register to update the read register.
[0022]
As a result, during continuous reading from the same address, it is possible to access without waiting for contention when another access request comes, so that the processing performance of the entire system can be improved and the same address can be improved. When the data is updated by writing to, the result can be reflected to continuous reading by reading again.
[0023]
  Further, the claims of the present invention3A data memory control device according to claim1In the data memory control device according to claim 2, when the address detection unit detects that the read address of the first block and the write address of the second block are the same address, the second block causes the Simultaneously with writing data to the same address, the write data is written to the read register to update the read register.
[0024]
As a result, during continuous reading from the same address, it is possible to access without waiting for contention when another access request comes, so that the processing performance of the entire system can be improved and the same address can be improved. When data is updated by writing to, the result can be reflected to continuous reading without executing reading again.
[0025]
  Further, the claims of the present invention4The data memory control device described in the above item arbitrates and controls access requests from the plurality of blocks in the data memory control device that controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks. A data memory control unit; a first address bus connecting the data memory and the data memory control unit; a first data bus connecting the data memory and the data memory control unit; A first access request signal line connecting the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data memory control. A plurality of second data buses that connect the plurality of blocks, and the plurality of blocks and the data memory control unit A plurality of second access request signal lines, and a plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit, wherein the data memory control unit includes the plurality of blocks and the plurality of access permission signal lines. The access request is received by the second access request signal line, and the arbitration control of the plurality of access requests is performed using the address information from the plurality of second address buses. The data memory controller transfers data between a block and the data memory, and the data memory control unit includes a temporary storage memory that holds data for n (n ≧ 2) words and a first block that shares the data memory A continuous access detecting unit for detecting that the data memory is continuously read from the data memory at least twice. An address detector for detecting that an address from which a second block sharing the memory issues a write request and an address read from the first block are the same address; Is continuously notified of periodic address access of m (m ≦ n) words, and m word data read by the periodic address access is stored in the temporary storage memory. The data in the temporary storage memory is transmitted to the block to permit access to the data memory in the second block, and the write address of the second block and the reading of the first block are read by the address detection unit When it is detected that the address is the same address, the temporary storage memo is written simultaneously with the writing by the second block. Data is written in the memory and the temporary storage memory is updated.
[0026]
  ThisPriorities that could only be defined in units of accessed blocks as in the past can be defined using address information, so the number of blocks can be easily expanded without changing the access arbitration mechanism in the data memory controller In addition, the arbitration control of access from a plurality of blocks can be simplified, and the data transfer efficiency can be improved.
  Also,In the case of access to an area where periodic access is performed, such as coefficient reference, other access can be permitted, so that the processing efficiency of the entire system can be improved.
[0027]
  Further, the claims of the present invention5The data memory control device described in the above item arbitrates and controls access requests from the plurality of blocks in the data memory control device that controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks. A data memory control unit; a first address bus connecting the data memory and the data memory control unit; a first data bus connecting the data memory and the data memory control unit; A first access request signal line connecting the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data memory control. A plurality of second data buses that connect the plurality of blocks, and the plurality of blocks and the data memory control unit A plurality of second access request signal lines, and a plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit, wherein the data memory control unit includes the plurality of blocks and the plurality of access permission signal lines. The access request is received by the second access request signal line, and the arbitration control of the plurality of access requests is performed using the address information from the plurality of second address buses. Data is transferred between the block and the data memory, and the data memory control device is provided with a plurality of direct buses for directly transferring data between the plurality of blocks, and for the plurality of blocks. A direct transfer control unit for controlling direct transfer of data, wherein the single block among the plurality of blocks If the address making the write access request to the data memory and the address making the read access request from all or some of the plurality of blocks are the same address, all access requests are permitted. The write data output from the block that has received write access permission is written to the data memory, and at the same time, the direct transfer control unit passes to the block that has received read access permission through the direct bus. The delivery of the write data ofAt the same time, when writing to the data memory from the block that has received the write access permission is unnecessary, the writing to the data memory is not performed, and the block to the block that has received the read access permission via the direct bus is not executed. Only the write data is transferred, and during that time, access requests from other blocks are permitted.Is.
[0028]
  As a result, priorities that can only be defined in units of blocks to be accessed as in the prior art can be defined using address information, so the number of blocks can be reduced without changing the access arbitration mechanism in the data memory control unit. In addition to being easily expandable, the arbitration control of access from a plurality of blocks can be simplified, and the data transfer efficiency can be improved.
  Further, in the case of transferring data between a plurality of blocks via the data memory, write access and read access can be executed at the same time, so that the processing efficiency of the entire system can be improved.
  In addition, when transferring between multiple blocks via the data memory and there is no need to write the transfer data to the data memory, write access and read access can be executed simultaneously, and other accesses can be performed between them. Since it can be permitted, the processing performance of the entire system can be improved.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a basic configuration diagram of a data memory control device according to the first embodiment.
In the figure, as a basic configuration, a data memory control unit 100 that arbitrates and controls access requests from a plurality of blocks, which will be described later, a data memory 101, a processor core 102 that is a plurality of blocks, dedicated hardware (hereinafter referred to as a dedicated HW). 103) and a peripheral 104.
[0038]
Further, the connection between the data memory 101 and the data memory control unit 100 is the first access that outputs the address bus 101a serving as the first address bus, the data bus 101a serving as the first data bus, and the access request signal 101c. The connection between the plurality of blocks 102, 103, and 104 and the data memory control unit is performed by request signal lines. The address buses 102b, 103b, and 104b, which are a plurality of second address buses, and the plurality of second data Data buses 102a, 103a, and 104a serving as buses, a plurality of second access request signal lines that output access request signals 102c, 103c, and 104c, and a plurality of access permissions that output access permission signals 102d, 103d, and 104d Connected with signal lines.
[0039]
Next, the operation of the data memory control device according to the first embodiment of the present invention is performed with reference to FIG.
2 shows the data memory address space of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c according to the contents of the data to be stored in the data memory 101 in FIG. It is divided into three areas.
[0040]
In the data memory control device according to the first embodiment, the processor core 102, the dedicated HW 103, the address space representing the areas of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c in the data memory 101 are provided. Each block that accesses the data memory 101, such as the peripheral 104, gives priority when the block accesses the data memory 101. There is no limitation on the order of priority. That is, the priority order may be fixed in advance, or the priority order may be changed in accordance with the status of processing executed in each block.
[0041]
For example, in the figure, it is assumed that priorities when the blocks execute access are given in the order of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c. A case where the processor core 102, the dedicated HW 103, and the peripheral 104 execute access to the data memory 101 when such priority is given will be described.
[0042]
When the processor core 102, the dedicated HW 103, and the peripheral 104 execute access to the data memory 101, each of the blocks described above accesses the data memory 101 to the data memory control unit 100 with access request signals 102c, 103c, and 104c. Notify that access is to be executed. The data memory control unit 100 determines which block is to access the data memory 101 from the access request signals 102c, 103c, and 104c from each block. If there is no access conflict, the data memory control unit 100 notifies the block that access from the block is permitted by the access permission signals 102d, 103d, and 104d. Thereafter, the block that has received the access permission signal starts to access the data memory 101.
[0043]
When there is an access conflict, access to the data memory 101 at the same time from the address buses 102b, 103b, and 104b indicating which area in the data memory 101 each block performs access to. A data memory control unit based on the address bus value of the block making the request and the priority given to the data memory area A105a, data memory area B105b, and data memory area C105c in the data memory 101 100 notifies the block which is going to execute the access to the area with high priority by the access permission signal that the access is permitted. After that, the block that receives the access permission signal and executes the access to the high priority area in the data memory 101 starts to access the data memory 101.
[0044]
As described above, the data memory control device according to the first embodiment defines the priority order for each data area in the data memory 101, so that the value of the address space to which each block attempts to perform access. Access arbitration can be performed only, and the priority order is not defined for each of the blocks that execute access. Therefore, even if the number of blocks that execute access to the data memory 101 is changed, the data memory Arbitration control in the data memory control unit 100 can be simplified without changing the control unit 100, and the number of blocks for executing access to the data memory 101 can be easily expanded.
[0045]
Also, by increasing the priority for the data memory area that stores data used by tasks with higher priority, it is possible to define the priority according to the content of the data used by each task rather than the function of each task. Since this is possible, the definition of priority can be flexibly realized.
[0046]
Embodiment 2. FIG.
The data memory control device according to the second embodiment of the present invention is the one in which means for realizing high-speed processing in each block while suppressing an increase in hardware cost is applied to the first embodiment.
[0047]
FIG. 3 is a block diagram showing the configuration of the data memory control apparatus according to the second embodiment.
The basic configuration of FIG. 3 is the basic configuration of FIG. 1 described above, and the data memory 101 allocates an address space of the data memory according to the content of the data to be stored, as in FIG. The area is divided into three areas A105a, data memory area B105b, and data memory area C105c.
[0048]
In addition, an access to the data memory 101 such as the processor core 102, the dedicated HW 103, and the peripheral 104 is performed on the address space representing the areas of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c in the data memory 101. The priority order in the case where each block to perform the access to the data memory 101 is given.
[0049]
As in FIG. 2, it is assumed that priorities in the case where each block executes access are given in the order of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c.
[0050]
In addition to the above-described configuration, the data memory control device according to the second embodiment is configured so that the memory elements constituting the data memory region A105a having a high priority are assigned to the data memory region B105b having a lower priority than the data memory region A105a, And a high-performance memory element that can be accessed at a higher speed than the data memory area C105c.
[0051]
In general, there are processing that requires real-time processing and processing that must be executed with priority over other processing. Data necessary for such processing is stored in a high priority area in the data memory 101 so that access to the data memory 101 is preferentially executed. It becomes possible to perform processing.
[0052]
Furthermore, high-speed access is possible by using high-performance storage elements capable of high-speed access to the storage elements constituting the data memory 101, data can be supplied to each block at high speed, and processing speed can be increased. It becomes.
[0053]
In general, high-performance storage elements that can be accessed at high speed consume a large amount of power and have high hardware costs. Therefore, high-performance storage elements that can be accessed at high speed are as small as possible in order to suppress an increase in hardware costs. It is preferable to use it only.
[0054]
As described above, the data memory control device according to the second embodiment allows the storage elements included in the data memory area A105a having a higher priority in the data memory 101 to be transferred to the data having a lower priority than the data memory area A105a. Processing using data in the high-priority data memory area A105a while suppressing an increase in hardware cost by configuring the memory area B105b and the data memory area C105c with high-performance storage elements that can be accessed at high speed. Can be speeded up.
[0055]
In addition, since processing with high priority can be speeded up, data region B 105b and data region C 105c with low priority for which execution is awaited by processing for executing access to data memory region A 105a with high priority. The waiting time for processing using the data in the system becomes shorter, and the processing efficiency of the entire system can be improved.
[0056]
Embodiment 3 FIG.
The data memory control device according to the third embodiment of the present invention is obtained by adding means for realizing a higher processing speed in each block while suppressing an increase in hardware cost. is there.
[0057]
FIG. 4 is a block diagram showing the configuration of the data memory control apparatus according to the third embodiment.
The basic configuration of FIG. 4 is the basic configuration of FIG. 1 described above. In FIG. 4, the data memory 101 has an address space of the data memory corresponding to the contents of data to be stored, as in FIGS. By allocating, the data memory area A105a, the data memory area B105b, and the data memory area C105c are divided into three areas.
[0058]
In addition, access to the data memory 101 such as the processor core 102, the dedicated HW 103, and the peripheral 104 is performed on the address space representing the areas of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c in the data memory 101. The priority order in the case where each block to perform the access to the data memory 101 is given.
[0059]
Similar to FIGS. 2 and 3, it is assumed that priorities in the case where each block executes access are given in the order of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c.
[0060]
Further, as in FIG. 3, the memory elements constituting the data memory area A105a having a higher priority are higher in speed than the data memory area B105b and the data memory area C105c having a lower priority than the data memory area A105a. It consists of a performance memory element.
[0061]
In addition to the above-described configuration, the data memory control device according to the third embodiment further includes a high-performance storage element as a storage element that constitutes an area with a high access frequency in the high-priority data memory area A105a. The data memory areas A2 and 106b are constituted by ultra-high performance storage elements that can be accessed at a higher speed than the data memory areas A1 and 106a and the data memory areas A3 and 106c. For this purpose, in the high-priority data memory area A105a, a high-performance storage element that can be accessed at a higher speed than the low-priority data memory area B105b and the data memory area C105c, It also includes making up.
[0062]
In general, the fact that there is an area with high access frequency in each data memory area in the data memory 101 means that it takes time to process the data stored in that area. Therefore, by configuring the memory elements that make up the frequently accessed area with high-performance memory elements that can be accessed at a higher speed than other areas, the data supply capacity for each block is improved and the processing speed is increased. It becomes possible.
[0063]
In general, high-performance storage elements that can be accessed at high speed consume a large amount of power and have high hardware costs. Therefore, high-performance storage elements that can be accessed at high speed are as small as possible in order to suppress an increase in hardware costs. It is preferable to use it only.
[0064]
As described above, the data memory control device according to the third embodiment of the present invention further increases the speed of access to the memory elements constituting the frequently accessed area in the data memory area A 105a with high priority in the data memory 101. By configuring with a possible ultra-high performance memory element, it is possible to further increase the speed of the process of using data in the data memory area A 105a having a high priority while suppressing an increase in hardware cost.
[0065]
In addition, since processing with high priority can be speeded up, data region B 105b and data region C 105c with low priority for which execution is awaited by processing for executing access to data memory region A 105a with high priority. The waiting time for processing using the data in the system can be further shortened, and the processing efficiency of the entire system can be improved.
[0066]
Embodiment 4 FIG.
In the fourth embodiment, a means for realizing a higher processing speed in each block while suppressing an increase in hardware cost is added to the third embodiment.
[0067]
FIG. 5 is a block diagram showing the configuration of the data memory control apparatus according to the fourth embodiment.
The basic configuration of FIG. 5 is the basic configuration of FIG. 1 described above, and the data memory 101 of the data memory control device stores data according to the contents of data to be stored, as in FIGS. 2, 3, and 4. By allocating the memory address space, it is divided into three areas: a data memory area A 105a, a data memory area B 105b, and a data memory area C 105c.
[0068]
Further, access to the data memory 101 such as the processor core 102, the dedicated HW 103, and the peripheral 104 is performed on the address space representing the areas of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c in the data memory 101. The priority order in the case where each block to perform the access to the data memory 101 is given.
[0069]
As in FIGS. 2, 3, and 4, the priority order when each block executes access is given in the order of the data memory area A 105a, the data memory area B 105b, and the data memory area C 105c. To do.
[0070]
In addition to the above-described configuration, the data memory control device according to the fourth embodiment further includes a memory element that constitutes an area with high access frequency in each of the data memory A 105a, the data memory area B 105b, and the data memory area C 105c. Is configured with a high-performance storage element that can be accessed at a higher speed than the data memory area other than the frequently accessed area.
[0071]
In general, the fact that there is an area with high access frequency in each data memory area in the data memory 101 means that it takes time to process the data stored in that area. Therefore, by configuring the memory elements that make up the frequently accessed area with high-performance memory elements that can be accessed at a higher speed than other areas, the data supply capacity for each block is improved and the processing speed is increased. It becomes possible.
[0072]
In general, high-performance storage elements that can be accessed at high speed consume a large amount of power and have high hardware costs. Therefore, high-performance storage elements that can be accessed at high speed are as small as possible in order to suppress an increase in hardware costs. It is preferable to use it only.
[0073]
As described above, the data memory control device according to the fourth embodiment of the present invention includes a storage element that constitutes a frequently accessed area in each data memory area to which priority is given in the data memory 101. By using high-performance storage elements that can be accessed at high speed, it is possible to increase the processing speed of each block while suppressing an increase in hardware cost.
[0074]
Further, since the processing speed of each block can be increased, the waiting time of each block for which execution is awaited during an access conflict can be shortened, and the processing efficiency of the entire system can be improved.
[0075]
Embodiment 5 FIG.
The data memory control device according to the fifth embodiment of the present invention uses the same address in order to improve the processing performance of the entire system when read access contention from a plurality of blocks occurs in the same area of the data memory. Read access contention is detected, and read access from a plurality of blocks is permitted.
[0076]
FIG. 6 is a block diagram showing the configuration of the data memory control apparatus according to the fifth embodiment of the present invention.
The difference from FIG. 1 is that the same address read / read access conflict monitoring block 600a for monitoring the read access conflict for the same address of the data memory 101 is provided, and the dedicated HW 103 of FIG. It is a point.
[0077]
Next, the operation of the data memory control device according to the fifth embodiment of the present invention will be described.
The same address read / read access conflict monitoring block 600a receives the address buses 102b, 601b, and 104b and the access request signals 102c, 601c, and 104c. For example, let us consider a case where the processor core 102 is constantly in a polling state by continuously reading the flag 602 stored in the data memory 101, and a case where the processor core 601 tries to execute polling of the flag 602.
[0078]
At this time, the same address read / read access conflict monitoring block 600a monitors the coincidence between the address buses 102b and 601b and the coincidence between the access request signals 102c and 601c, and outputs the access permission signal 601d when they coincide. The data memory control device 100 is controlled to output the data on the data bus 101a to the data bus 601a. As a result, since the data on the data bus 101a is output to the data bus 102a and the data bus 601a and the access permission signals 102d and 601d are output, both the processor cores 102 and 601 can shift to the polling state, thereby eliminating read access contention. .
[0079]
As described above, the data memory control device according to the fifth embodiment of the present invention uses the address bus and the access request signal input to the same address at the time of read access contention from a plurality of blocks to the same area of the data memory. Since the read access conflict is detected and the read access conflict is permitted, the processing performance of the entire system can be improved.
[0080]
Embodiment 6 FIG.
The data memory control device according to the sixth embodiment of the present invention detects contention between a block that performs read access and a block that performs write access to the same address as the block, and performs processing performance of the entire system. In order to improve this, write access is permitted.
[0081]
FIG. 7 is a block diagram showing the configuration of the data memory control apparatus according to the sixth embodiment of the present invention.
The difference from FIG. 6 is that instead of the same address read / read access conflict monitoring block 600a, the same address read / write access conflict monitoring block 600b for monitoring the conflict between read access and write access to the same address of the data memory 101 is provided. It is a point that has.
[0082]
Next, the operation of the data memory control device according to the sixth embodiment of the present invention will be described.
The same address read / write access conflict monitoring block 600b receives the address buses 102b, 601b, and 104b and the access request signals 102c, 601c, and 104c. For example, a case will be described in which the processor core 102 always reads a certain flag 602 in the data memory 101 and is in a polling state, and the peripheral 104 rewrites the flag 602 and attempts to cancel polling of the processor core 102.
[0083]
At this time, the same address read / write access conflict monitoring block 600b monitors the match between the address buses 102b and 104b and the match between the access request signals 102c and 104c, and if they match, the access permission signal 104d and the access request signal The data memory control unit 100 is controlled to output the data on the data bus 104a to the data bus 101a and the data bus 102a simultaneously with the output of 101c. As a result, it is possible to cancel the polling state of the processor core 102 by outputting the same data to the data bus 102a while performing write access of the data bus 101a to the data memory 101, thereby eliminating access contention.
[0084]
As described above, the data memory control device according to the sixth embodiment of the present invention performs write access contention for read access using the address bus and the access request signal respectively inputted when accessing the same area of the data memory. Since it detects and permits write access contention, the processing performance of the entire system can be improved.
[0085]
Embodiment 7 FIG.
In the data memory control device according to the seventh embodiment of the present invention, when data is continuously read from a block to the same address, the data read from the block is stored in the data memory in order to improve the processing performance of the entire system. While the data is held in the control unit and there is a read request from the block, the held data is transmitted to the block so that access from other blocks can be permitted.
[0086]
FIG. 8 is a block diagram showing the configuration of the data memory control apparatus according to the seventh embodiment of the present invention.
The difference from FIG. 1 is that the access request signal of any of the blocks 102, 103, and 104 continues in the data memory control unit 100 twice or more, and the access destination is the same address. A continuous access detection unit 800 for detecting the data, and any one of the blocks 102, 103, and 104 includes a read register 801 that can hold data read from the data memory 101.
[0087]
For example, when an access request has not been received from the blocks 102 and 104 to the data memory 101 and an access request has been consecutively received from the block 103 to the data memory 101 twice or more, the previous access is first performed by the continuous access detection unit. It is detected whether the address and the address read this time are the same address. When the same address is detected, the read data is stored in the read register 801. After the storage, the data in the read register 801 is stored in the block 103 while a read request for data on the same address is received. Continue to send to.
[0088]
In this way, while the data in the read register 801 continues to be transmitted to the block 103, access to the data memory 101 from another block is permitted, so when an access request comes from the block 102 or the block 104, The access request is allowed.
[0089]
In the data memory control device according to the seventh embodiment of the present invention as described above, the continuous access detection unit 800 detects continuous reading to the same address of a certain block, and stores the read data in the read register 801. However, since the data of the block is read by transmitting the data from the read register 801 storing the data to the block, an access request is received from another block during continuous reading from the block to the same address. Can be accessed without waiting for contention, and the processing performance of the entire system can be improved.
[0090]
Embodiment 8 FIG.
The data memory control device according to the eighth embodiment of the present invention transmits data held in the read register from the read register in the data memory control unit to the block that continuously reads the same address. In addition, when there is a write request from another block to the same address as the block requesting the read, the block requesting the read after writing the data in the data memory in order to update the read register At the same time, the data memory is read again, and at the same time, the read data is written to the read register.
[0091]
FIG. 9 is a block diagram showing the configuration of the data memory control apparatus according to the eighth embodiment of the present invention.
The difference from FIG. 8 is that, in the data memory control unit 100, when access to the data memory 101 competes from each block 102, 103, and 104, the address detection unit detects whether the addresses are the same. This is the point where 802 is added.
[0092]
For example, since the block 103 continuously reads the same address to the data memory 101, when a data write request is received from the block 102 or 104 to the data memory 101 while the data in the read register 801 is being read, the address The conflict detection unit 802 detects whether the address is the same as the address read by the block 103.
[0093]
When it is detected that the block requesting writing and the block 103 have the same address, access to the block 102 or 104 is permitted and the data in the data memory 101 is updated. Thereafter, the block 103 reads the data in the data memory 101 again and simultaneously updates the data in the read register 801. After the update, the data in the read register 801 is continuously transmitted to the block 103.
[0094]
Further, when the read register 801 needs to be updated, the data in the read register 801 can be updated at the same time when the block 102 or the block 104 accesses the data memory 101. Accordingly, the block 103 does not need to access the data memory 101 again in order to update the read register 801.
[0095]
The data memory control device according to the eighth embodiment as described above can access without competing and waiting when another access request is received during continuous reading from the same address. Can be improved.
[0096]
Also, even if the data in the data memory 101 is updated by writing to the same address as the block that is being continuously read from another block, the block 103 that is reading the data reads out again to the data memory 101, and the read Since the data in the register 801 is also updated, the updated data can be reflected in the read register 801, and the update result can be reflected in the block that is being continuously read.
[0097]
In addition, by updating the data in the read register 801 at the same time as writing to the same address as that of the block 103 being read from another block, the block 103 can update the data memory 101 to update the read register 801. There is no need to re-access, and the overhead at the time of updating the read register 801 can be eliminated to shorten the access time.
[0098]
Embodiment 9 FIG.
In the data memory control device according to the ninth embodiment of the present invention, in the case where a block reads data continuously from the data memory periodically, the block is a data memory in order to improve the processing efficiency of the entire system. The data read from is temporarily stored in the data memory control unit, and the stored data is transmitted to the block so that access from other blocks can be permitted.
[0099]
FIG. 10 is a block diagram showing the configuration of the data memory control apparatus according to the ninth embodiment of the present invention.
The difference from FIG. 1 is that the access request signal of any of the blocks 102, 103, and 104 continues in the data memory control unit 100 twice or more and the access destination is the same address. A continuous access detection unit 800, an address conflict detection unit 802 that detects whether the addresses of the blocks 102, 103, and 104 conflict with each other in the data memory 101, and the data memory. And a temporary storage memory 803 that holds n (n ≧ 2) words of data read from 101 to any of the blocks 102, 103, and 104.
[0100]
For example, there is no access request from the blocks 102 and 104 to the data memory 101, and the data memory is notified that m (m ≦ n) words of data are continuously read from the data memory 101 periodically from the block 103. When the data is transferred to the control unit 100, the m-word data read from the data memory 101 is stored in the temporary storage memory 803. After the storage, the data in the temporary storage memory 803 is transmitted to the block 103 as long as the notification from the block 103 continues. to continue.
[0101]
While the data in the temporary storage memory 803 continues to be transmitted to the block 103, access to the data memory 101 from another block is permitted, so when an access request comes from the block 102 or the block 104, Access requests are allowed. Therefore, when an access request is received from another block during the notification from the block 103, it is possible to access without waiting for contention.
[0102]
However, when the access request from the block 102 or the block 104 is an access request to the address accessed by the block 103, the address conflict detection unit 802 detects the access request. When it is detected that the addresses are the same, access to the block 102 or the block 104 is permitted, and the data memory 101 is updated. The data can be updated simultaneously with the temporary storage 803 simultaneously with the data memory 101, and the temporary storage 803 can be updated without overhead due to access to the data memory.
[0103]
As described above, the data memory control device according to the ninth embodiment notifies the data memory control unit 100 when the cyclic data of m words is continuously read from the data memory 101, so that the data of m words Is transmitted from the temporary storage memory 803, it is possible to permit access to the data memory 101 of another block.
[0104]
Further, when the data memory 101 is updated by another block and the temporary storage memory 803 needs to be updated, the temporary storage memory 803 is also updated at the same time as the data memory 101, so that the data memory 101 is not accessed again and accessed. Time can be shortened.
[0105]
Embodiment 10 FIG.
The data memory control device according to the tenth embodiment of the present invention starts from a certain block in order to improve the processing efficiency of the entire system when transferring data at the same address between a plurality of blocks via the data memory. The write data is output to the data memory, and at the same time, the data is directly transferred to another block to perform write access and read access simultaneously.
[0106]
FIG. 11 is a block diagram showing the configuration of the data memory control apparatus according to the tenth embodiment of the present invention. The difference from FIG. 1 is that direct buses 102e, 103e, and 104e that directly transfer data between a plurality of blocks and a direct control unit 1201 that controls direct transfer of data are provided.
[0107]
Next, the operation of the data memory control device according to the tenth embodiment of the present invention will be described in the case where data is transferred from the peripheral 104 to the dedicated HW 103 via the direct bus 103e.
[0108]
First, the peripheral 104 issues a data write request to the data memory control unit 100 to the data memory control unit 100, and the direct transfer control unit 1201 transfers the data directly from the peripheral 104 to the dedicated HW 103 via the direct bus 103e. Data is output to the bus 101a. At this time, the peripheral 104 continues to output only the transfer data to the data memory control unit 100 and enters a write request acceptance waiting state. The dedicated HW 103 issues a data read request for the data memory 101 to the data memory control unit 100. At this time, the dedicated HW 103 enters a read request acceptance waiting state. If the address of the data memory 101 requested from both is the same address and the access request to the data memory is a type in which reading and writing are opposite, the data memory control unit 100 receives an access permission signal for the data memory 101 from both 103 c and 104 c are asserted, and write data output from the peripheral 104 is stored in the variable 1202 of the data memory 101. The peripheral 104 that has issued the write request receives the access permission signal 104d output from the data memory control unit 100, and transitions from the write acceptance waiting state to the write state. On the other hand, the dedicated HW 103 that has issued the read request receives the access permission signal 103 d output from the data memory control unit 100, transitions from the read acceptance wait state to the read state, and the direct transfer control unit 1201 performs the peripheral processing. Direct transfer from 104 to dedicated HW 103 is performed.
[0109]
However, direct transfer is performed only during a period in which valid data, that is, the peripheral 104 outputs data to the data memory 101. For example, valid / invalid can be determined by providing an identification signal in the direct buses 104e and 103e. When the invalid data, that is, the peripheral 104 has finished outputting data to the variable 1202 of the data memory 101, the dedicated HW 103 reads from the variable 1202 of the data memory 101.
[0110]
As described above, the data memory control device according to the tenth embodiment of the present invention receives write data from a block that requests write when the address of the block that requests read and the address of the block that requests write are the same. Since the write data is output to the data memory simultaneously with the direct transfer to the read block, the read access and the write access can be executed simultaneously, and the processing efficiency of the entire system can be improved.
[0111]
In the above example, when the data output from the peripheral 104 to the data memory 101 can be transferred to the dedicated HW 103 by direct transfer and the data stored in the data memory 101 is not used in the subsequent processing, the data memory 101 For example, the processor core 102 other than the peripheral 104 and the dedicated engine 103 can access the data memory 101 by performing control to suppress writing to the data memory 101.
[0112]
In addition, direct transfer connecting each block connects to a plurality of blocks, so that a plurality of blocks can simultaneously read out write data in reading.
[0113]
Further, the direct buses 102e, 103e, and 104e can be shared with the data buses 102a, 103a, and 104a, respectively, and even when the direct buses 102e, 103e, and 104e are not provided, the data buses 102a, 103a, and 104a are used. Direct transfer is possible.
[0114]
Embodiment 11 FIG.
The data memory control device according to the eleventh embodiment of the present invention includes a clock control unit that controls on / off of a clock for a plurality of blocks in order to reduce power consumption, and permits access permission from the data memory control unit. It controls the clock for the block in the waiting state.
[0115]
FIG. 12 is a block diagram showing the configuration of the data memory control apparatus according to Embodiment 11 of the present invention.
A difference from FIG. 1 is that a data memory control unit 100 includes a clock control unit 200 that controls clocks of a plurality of blocks, and the clock control unit 200 is connected to the block 102 by clock control signals 102f, 103f, and 104f. , 103, and 104.
[0116]
The blocks 102, 103, and 104 issue access requests to the data memory 101 using the access request signals 102c, 103c, and 104c. However, if there are access requests from a plurality of blocks, access contention occurs. The memory control unit 100 performs arbitration control, and only the blocks that are permitted to access read or write data in the data memory 101.
However, if there is a block other than the block for which access is permitted, the block enters a so-called waiting state until access permission is received from the data memory control unit 100.
[0117]
At this time, the clock control unit 200 outputs a control signal for stopping the clock to the block entering the waiting state. As a result, the block entering the waiting state stops the clock. Thereafter, the processing of the block that has received the access permission is completed, and the clock control unit 200 activates the clock of the block in the waiting state when the block in the waiting state receives the permission of access.
[0118]
By the operation of the clock control unit described above, the clock can be stopped only while the block is in a waiting state.
In this method, the clock of the block is stopped. If the target block has a clock control mechanism, the clock can be turned on / off using the clock control signal as a control signal. However, even when the target block does not have a clock control mechanism, the clock of the target block can be turned on / off by supplying the clock supplied to this block through a simple circuit such as a logical product with the clock control signal. realizable. When the clock control signal itself is supplied as a clock signal to the target block, the block clock can be turned on / off without adding a clock control mechanism.
[0119]
As described above, in the data memory control device according to the eleventh embodiment of the present invention, when access competition to the data memory by a plurality of blocks occurs, the access permission is suspended by the clock control unit, and the waiting state is entered. Power consumption can be reduced by stopping the clock for the block that is included.
[0120]
Embodiment 12 FIG.
The data memory control device according to the twelfth embodiment of the present invention includes a memory speed control unit that controls the operation speed of the data memory in order to reduce the power consumption of the block in which the access conflict has occurred, and operates the data memory at a high speed The frequency of the block waiting for transfer is reduced.
[0121]
FIG. 13 is a block diagram showing a configuration of a data memory control apparatus according to Embodiment 12 of the present invention.
The difference from FIG. 1 is that the data memory control unit 100 includes a memory speed control unit 300 that controls the operation speed of the data memory 101. The memory speed control unit 300 is connected to the data memory 101 by a memory speed control signal 101g. It is a connected point.
[0122]
The blocks 102, 103, and 104 issue access requests to the data memory 101 using the access request signals 102 d, 103 d, and 104 d, but when there are access requests from a plurality of blocks, access contention occurs, so data The memory control unit 100 needs to perform arbitration control.
[0123]
In the twelfth embodiment, for example, when an access request from two blocks is generated, the memory speed control unit 300 increases the operating speed of the data memory 101 through the memory speed control signal line 101g more than twice, The extracted block is processed without waiting, and the data memory is read and written. With this process, even when an access conflict from two blocks occurs, each block can access the data memory 101 simultaneously.
[0124]
Even when access requests from three or more blocks are generated, processing can be similarly performed by increasing the operation speed of the data memory in accordance with the number of competing accesses. In this way, by dynamically changing the operation speed of the data memory 101, the data memory control unit 100 performs contention control on access requests from a plurality of blocks. However, the number of contention access requests processed simultaneously is limited according to the maximum operation speed of the data memory 101.
[0125]
As described above, in the data memory control device according to the twelfth embodiment of the present invention, when there is an access request from a plurality of blocks, the memory speed control unit increases the operation speed of the data memory to increase the number of blocks. Can process the access request, and the frequency of the block waiting for transfer is reduced, so that the power consumption of the block can be reduced.
[0126]
Embodiment 13 FIG.
The data memory control device according to the thirteenth embodiment of the present invention is scalable by connecting a plurality of data memory control units to enable flexible response in a relatively short period of time to system requirements. It is an extended function.
[0127]
FIG. 14 is a block diagram showing a configuration of a data memory control apparatus according to Embodiment 13 of the present invention.
In the figure, details of access arbitration control to the data memory 401 from the processor core 402 and the dedicated HW 403 executed by the data memory control unit 400, and the processor core 502 and the dedicated HW 503 executed by the data memory control unit 500 are shown. The contents of access arbitration control to the data memory 501 are the same as those in the first to twelfth embodiments. The feature shown in the thirteenth embodiment is that the data memory control unit 400 and the data memory control unit 500 are connected by a data bus 404a, an address bus 404b, an access request signal 404c, and an access permission signal 404d. It is a point comprised by the data memory control part.
[0128]
With the above configuration, for example, the processor core 402 can issue an access request to the data memory 501. Specifically, when the processor core 402 issues a write access request to the data memory control unit 400 using the access request signal 402c, the data memory control unit 400 uses the access request signal 404c. A write access request is issued to 500. When receiving an access request from the access request signal 404c, the data memory control unit 500 confirms a conflict with an access request from another block, and executes write access to the data memory 501 if there is no conflict.
[0129]
As described above, the data memory control device according to the thirteenth embodiment connects other data memory control units to each other by a data bus, an address bus, an access request signal, and an access permission signal, thereby controlling other data memory controls. Since it is possible to request access to the data memory controlled by the control unit and to expand the function in a scalable manner, it is possible to respond flexibly to the system request in a relatively short time.
[0130]
In the thirteenth embodiment, the write access from the processor core 402 to the data memory 501 is taken as an example, but a read access request or access from another block can be executed in the same manner. Furthermore, in the thirteenth embodiment, the coupling of the two data memory control units has been described. However, expansion to n (n is a natural number of 2 or more) systems can be easily performed.
[0138]
【The invention's effect】
  BookClaims of the invention1According to the data memory control device described in the above, in the data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks, the access requests from the plurality of blocks are arbitrated. A data memory control unit to be controlled, a first address bus connecting the data memory and the data memory control unit, a first data bus connecting the data memory and the data memory control unit, and the data A first access request signal line connecting the memory and the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data A plurality of second data buses connecting the memory control unit, the plurality of blocks, and the data memory control unit; A plurality of second access request signal lines to be connected; and a plurality of access permission signal lines for connecting the plurality of blocks and the data memory control unit; One or a plurality of access requests are received by a plurality of second access request signal lines, arbitration control of the plurality of access requests is performed using address information from the plurality of second address buses, and one or more according to the permitted access request The data memory controller transfers the data between the block and the data memory, the data memory control unit includes a read register that holds data read by the first block sharing the data memory, and the first block Continuous access detection that detects that data is being read from the same address twice or more consecutively. Anda part, detecting two or more consecutive read operations from the same address of said data memory by said first block in the continuous access detection unitBeforeThe data read from the data memory by the first block is stored in the read register,When the second block sharing the data memory issues an access request while the continuous access detection unit is continuously detecting continuous read operations from the same address,Since the data stored in the read register is transmitted to the first block and access to the data memory of the second block is permitted, another access request comes during continuous reading from the same address. The system can be accessed without waiting for contention, and the processing performance of the entire system can be improved.
[0139]
  Further, the claims of the present invention2According to the data memory control device described in claim1In the data memory control device according to claim 1, the data memory control unit detects that the address from which the second block issues a write request and the address from which the first block is reading are the same address. An address detection unit, wherein the address detection unit detects that the read address of the first block and the write address of the second block are the same address, and the address to the same address by the second block is detected. After the data is written, the first block reads from the same address, and at the same time, the read data is written to the read register and the read register is updated. Can be accessed without waiting for contention It is possible to improve the processing performance, and when the data memory is updated by writing to the same address, it is possible to reflect the result to continuous reading by executing the reading again. .
[0140]
  Further, the claims of the present invention3According to the data memory control device described in claim1In the data memory control device according to claim 2, when the address detection unit detects that the read address of the first block and the write address of the second block are the same address, the second block causes the Simultaneously with writing data to the same address, the write data is written to the read register and the read register is updated. Therefore, during continuous reading from the same address, it waits in competition when another access request comes. It is possible to improve the processing performance by being able to access without having to access, and when the data memory is updated by writing to the same address, the result is reflected to continuous reading without executing the reading again. There is an effect that can.
[0141]
  Further, the claims of the present invention4According to the data memory control device described in the above, in the data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks, the access requests from the plurality of blocks are arbitrated. A data memory control unit to be controlled, a first address bus connecting the data memory and the data memory control unit, a first data bus connecting the data memory and the data memory control unit, and the data A first access request signal line connecting the memory and the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data A plurality of second data buses connecting the memory control unit, the plurality of blocks, and the data memory control unit; A plurality of second access request signal lines to be connected; and a plurality of access permission signal lines for connecting the plurality of blocks and the data memory control unit; One or a plurality of access requests are received by a plurality of second access request signal lines, arbitration control of the plurality of access requests is performed using address information from the plurality of second address buses, and one or more according to the permitted access request The data memory controller transfers the data between the block and the data memory, and the data memory control unit shares the data memory with a temporary storage memory that holds n (n ≧ 2) words of data. A continuous access detection unit for detecting that a block is continuously reading from the data memory at least twice to the same address; An address detector for detecting that an address from which a second block sharing the data memory issues a write request and an address from which the first block is reading are the same address; Upon receiving notification that the block continuously performs periodic address access of m (m ≦ n) words, data of m words read by the periodic address access is stored in the temporary storage memory, and the first The data of the temporary storage memory is transmitted to the block of the second block to permit access to the data memory of the second block, and the write address of the second block and the first block of the first block are permitted by the address detection unit. When it is detected that the read address is the same address, the temporary recording is performed simultaneously with the writing by the second block. Since data is written to the memory and the temporary memory is updated, other accesses can be permitted when accessing an area that performs periodic access such as coefficient reference, improving the processing efficiency of the entire system. There is an effect that can.
[0142]
  Further, the claims of the present invention5According to the data memory control device described in the above, in the data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks, the access requests from the plurality of blocks are arbitrated. A data memory control unit to be controlled, a first address bus connecting the data memory and the data memory control unit, a first data bus connecting the data memory and the data memory control unit, and the data A first access request signal line connecting the memory and the data memory control unit; a plurality of second address buses connecting the plurality of blocks and the data memory control unit; and the plurality of blocks and the data A plurality of second data buses connecting the memory control unit, the plurality of blocks, and the data memory control unit; A plurality of second access request signal lines to be connected; and a plurality of access permission signal lines for connecting the plurality of blocks and the data memory control unit; One or a plurality of access requests are received by a plurality of second access request signal lines, arbitration control of the plurality of access requests is performed using address information from the plurality of second address buses, and one or more according to the permitted access request The data memory controller transfers data between the blocks and the data memory, and the data memory control device provides a plurality of direct buses for directly transferring data between the plurality of blocks, and the plurality of blocks. A direct transfer control unit for controlling direct transfer of the data of the plurality of blocks. If the address making the write access request to the data memory from the memory block and the address making the read access request from all or some of the plurality of blocks are the same address, At the same time that the write data output from the block that received the write access permission is written to the data memory, the direct transfer control unit receives the read access permission via the direct bus. Control the passing of the write data to the blockAt the same time, when writing to the data memory from the block that has received the write access permission is unnecessary, the writing to the data memory is not performed, and the block to the block that has received the read access permission via the direct bus is not executed. Only the write data is transferred, and during that time, access requests from other blocks are permitted.SoPriorities that could only be defined in units of accessed blocks as in the past can be defined using address information, so the number of blocks can be easily expanded without changing the access arbitration mechanism in the data memory controller In addition, the arbitration control of access from a plurality of blocks can be simplified, and the data transfer efficiency can be improved.
  Also,In the case of transfer between a plurality of blocks via the data memory, write access and read access can be executed simultaneously, and the processing efficiency of the entire system can be improved.
  In addition, when transferring between multiple blocks via the data memory and there is no need to write the transfer data to the data memory, write access and read access can be executed simultaneously, and other accesses can be performed between them. Since the permission can be granted, the processing performance of the entire system can be improved.
[Brief description of the drawings]
FIG. 1 is a basic configuration diagram of a data memory control device of the present invention.
FIG. 2 is a block diagram showing a configuration of a data memory control device according to the first embodiment.
FIG. 3 is a block diagram illustrating a configuration of a data memory control device according to a second embodiment.
4 is a block diagram illustrating a configuration of a data memory control device according to a third embodiment. FIG.
FIG. 5 is a block diagram showing a configuration of a data memory control device according to a fourth embodiment.
FIG. 6 is a block diagram showing a configuration of a data memory control device according to a fifth embodiment.
FIG. 7 is a block diagram showing a configuration of a data memory control device according to a sixth embodiment.
FIG. 8 is a block diagram illustrating a configuration of a data memory control device according to a seventh embodiment.
FIG. 9 is a block diagram illustrating a configuration of a data memory control device according to an eighth embodiment.
FIG. 10 is a block diagram showing a configuration of a data memory control device according to a ninth embodiment.
FIG. 11 is a block diagram illustrating a configuration of a data memory control device according to a tenth embodiment.
12 is a block diagram showing a configuration of a data memory control device according to an eleventh embodiment. FIG.
13 is a block diagram showing a configuration of a data memory control apparatus according to Embodiment 12. FIG.
14 is a block diagram showing a configuration of a data memory control apparatus according to Embodiment 13. FIG.
[Explanation of symbols]
100 Data memory controller
101 Data memory
101a Data bus
101b Address bus
101c Access request signal
102 processor core
102a Data bus
102b Address bus
102c access request signal
102d access permission signal
103 Dedicated HW
103a Data bus
103b Address bus
103c Access request signal
103d access permission signal
104 peripheral
104a Data bus
104b Address bus
104c access request signal
104d access permission signal
105a Data memory area A
105b Data memory area B
105c Data memory area C
106a Data memory area A1
106b Data memory area A2
106c Data memory area A3
107a Data memory area B1
107b Data memory area B2
108a Data memory area C1
108b Data memory area C2
600a Read / read access conflict monitoring block for the same address
600b Contention monitoring block for read / write access to the same address
602 flag
800 Continuous access detector
801 Read register
802 Address conflict detection unit
803 Temporary memory
1201 Direct transfer control unit
1202 variables
102e Direct bus
103e Direct bus
104e direct bus
200 Clock control signal
102f Clock control signal
103f Clock control signal
104f Clock control signal
300 Memory speed control signal
101g Memory speed control signal
400 Data memory controller
401 Data memory
401a Data bus
401b Address bus
401c Access request signal
402 processor core
402a Data bus
402b Address bus
402c access request signal
402d Access permission signal
403 Dedicated HW
403a Data bus
403b Address bus
403c Access request signal
403d Access permission signal
404a Data bus
404b Address bus
404c Access request signal
404d access permission signal
500 Data memory controller
501 Data memory
501a Data bus
501b Address bus
501c Access request signal
502 processor core
502a data bus
502b Address bus
502c access request signal
502d access permission signal
503 Dedicated HW
503a Data bus
503b Address bus
503c access request signal
503d access permission signal

Claims (5)

複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、
前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、
前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、
前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、
前記データメモリ制御部は、前記データメモリを共有する第1のブロックが読み出したデータを保持するリードレジスタと、
前記第1のブロックが前記データメモリへ2回以上連続して同じアドレスから読み出し動作をしていることを検出する連続アクセス検出部とをさらに備え、
前記第1のブロックによる前記データメモリの同一アドレスからの2回以上の連続した読み出し動作を前記連続アクセス検出部にて検出した時、前記第1のブロックが前記データメモリから読み出しているデータを前記リードレジスタに保存し、引き続き前記連続アクセス検出部にて同一アドレスからの連続した読み出し動作を検出中に、前記データメモリを共有する第2のブロックがアクセス要求を出したときには、前記第1のブロックへは該リードレジスタの保存データを送信して、前記第2のブロックの前記データメモリへのアクセスを許可する、
ことを特徴とするデータメモリ制御装置。
In a data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks,
A data memory control unit that arbitrates and controls access requests from the plurality of blocks;
A first address bus connecting the data memory and the data memory control unit;
A first data bus connecting the data memory and the data memory control unit;
A first access request signal line connecting the data memory and the data memory control unit;
A plurality of second address buses connecting the plurality of blocks and the data memory control unit;
A plurality of second data buses connecting the plurality of blocks and the data memory control unit;
A plurality of second access request signal lines connecting the plurality of blocks and the data memory control unit;
A plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit;
The data memory control unit receives access requests from the plurality of blocks through the plurality of second access request signal lines, and uses address information from the plurality of second address buses for arbitration control of the plurality of access requests. In accordance with the permitted access request, and passing data between one or more blocks and the data memory,
The data memory control unit includes a read register that holds data read by a first block sharing the data memory;
A continuous access detection unit for detecting that the first block is continuously reading from the same address twice or more to the data memory;
When the two or more consecutive read operations from the same address of said data memory by said first block detected by the continuous access detection unit, a data pre-Symbol first block is read out from the data memory When the second block sharing the data memory issues an access request while saving in the read register and subsequently detecting a continuous read operation from the same address in the continuous access detector, the first access Sending the data stored in the read register to the block and allowing access to the data memory of the second block;
A data memory control device.
請求項に記載のデータメモリ制御装置において、
前記データメモリ制御部は、前記第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部を備え、
前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出し、前記第2のブロックによる前記同一アドレスへのデータの書き込み後に、前記第1のブロックによる前記同一アドレスからの読み出しを行い、同時に前記リードレジスタに該読み出しデータを書き込み、前記リードレジスタの更新を行う、
ことを特徴とするデータメモリ制御装置。
In the data memory control device according to claim 1,
The data memory control unit includes an address detection unit that detects that the address from which the second block issues a write request and the address from which the first block is reading are the same address,
The address detection unit detects that the read address of the first block and the write address of the second block are the same address, and after writing data to the same address by the second block, Reading from the same address by the first block, simultaneously writing the read data to the read register, and updating the read register;
A data memory control device.
請求項に記載のデータメモリ制御装置において、
前記アドレス検出部で前記第1のブロックの読み出しアドレスと前記第2のブロックの書き込みアドレスとが同一アドレスであることを検出したとき、前記第2のブロックによる前記同一アドレスへのデータの書き込みと同時に前記リードレジスタに該書き込みデータを書き込み、前記リードレジスタの更新を行う、
ことを特徴とするデータメモリ制御装置。
In the data memory control device according to claim 1,
When the address detection unit detects that the read address of the first block and the write address of the second block are the same address, simultaneously with the writing of data to the same address by the second block Write the write data to the read register and update the read register.
A data memory control device.
複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、
前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、
前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、
前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、
前記データメモリ制御部は、n(n≧2)ワード分のデータを保持する一時記憶メモリと、
前記データメモリを共有する第1のブロックが前記データメモリへ2回以上連続して同じアドレスへ読み出し動作をしていることを検出する連続アクセス検出部と、
前記データメモリを共有する第2のブロックが書き込み要求を出しているアドレスと前記第1のブロックが読み出しているアドレスとが同一アドレスであることを検出するアドレス検出部とをさらに備え、
前記第1のブロックが連続してm(m≦n)ワードの周期的なアドレスアクセスを行うという通知を受け、該周期的なアドレスアクセスにより読み出されるmワードのデータを前記一時記憶メモリへ保存し、該第1のブロックへは前記一時記憶メモリのデータを送信して前記第2のブロックの前記データメモリへのアクセスを許可し、
前記アドレス検出部で前記第2のブロックの書き込みアドレスと前記第1のブロックの読み出しアドレスとが同一アドレスであることを検出した時は、前記第2のブロックによる書き込みと同時に前記一時記憶メモリにデータを書き込み、前記一時記憶メモリの更新を行う、
ことを特徴とするデータメモリ制御装置。
In a data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks,
A data memory control unit that arbitrates and controls access requests from the plurality of blocks;
A first address bus connecting the data memory and the data memory control unit;
A first data bus connecting the data memory and the data memory control unit;
A first access request signal line connecting the data memory and the data memory control unit;
A plurality of second address buses connecting the plurality of blocks and the data memory control unit;
A plurality of second data buses connecting the plurality of blocks and the data memory control unit;
A plurality of second access request signal lines connecting the plurality of blocks and the data memory control unit;
A plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit;
The data memory control unit receives access requests from the plurality of blocks through the plurality of second access request signal lines, and uses address information from the plurality of second address buses for arbitration control of the plurality of access requests. In accordance with the permitted access request, and passing data between one or more blocks and the data memory,
The data memory control unit includes a temporary storage memory that holds data for n (n ≧ 2) words;
A continuous access detection unit for detecting that the first block sharing the data memory is performing a read operation to the data memory at least twice continuously to the same address;
An address detection unit for detecting that an address from which a second block sharing the data memory issues a write request and an address from which the first block is reading are the same address;
Upon receiving notification that the first block continuously performs periodic address access of m (m ≦ n) words, data of m words read by the periodic address access is stored in the temporary storage memory. , Transmitting the data in the temporary storage memory to the first block to permit access to the data memory in the second block,
When the address detecting unit detects that the write address of the second block and the read address of the first block are the same address, data is stored in the temporary storage memory simultaneously with the writing by the second block. To update the temporary storage memory,
A data memory control device.
複数のブロックでデータメモリを共有するために前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御装置において、
前記複数のブロックからのアクセス要求を調停制御するデータメモリ制御部と、
前記データメモリと前記データメモリ制御部とを接続する第1のアドレスバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のデータバスと、
前記データメモリと前記データメモリ制御部とを接続する第1のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアドレスバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のデータバスと、
前記複数のブロックと前記データメモリ制御部とを接続する複数の第2のアクセス要求信号線と、
前記複数のブロックと前記データメモリ制御部とを接続する複数のアクセス許可信号線とを備え、
前記データメモリ制御部は、前記複数のブロックから前記複数の第2のアクセス要求信号線によりアクセス要求を受け、複数のアクセス要求の調停制御を前記複数の第2のアドレスバスからのアドレス情報を用いて行い、許可したアクセス要求に従って、1つまたは複数のブロックと前記データメモリとの間のデータの受け渡しを行い、
該データメモリ制御装置は、前記複数のブロック間で直接データの受け渡しを行うための複数のダイレクトバスと、
前記複数のブロックに対してのデータのダイレクト転送を制御するダイレクト転送制御部とをさらに備え、
前記複数のブロックの中の単一ブロックからのデータメモリへのライトアクセス要求を行っているアドレスと、前記複数のブロックの全てもしくは一部のブロックからのリードアクセス要求を行っているアドレスとが同一アドレスの場合、アクセス要求全てに対して許可を与え、ライトアクセス許可を受けたブロックから出力された書き込みデータのデータメモリへの書き込みを実行すると同時に、前記ダイレクト転送制御部にて、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しを制御するとともに
前記ライトアクセス許可を受けたブロックから前記データメモリへの書き込みが不要な場合は、前記データメモリへの書き込みは実行せず、前記ダイレクトバスを介した、リードアクセス許可を受けたブロックへの前記書き込みデータの受け渡しのみを実行し、その間、他のブロックからのアクセス要求を許可する、
ことを特徴とするデータメモリ制御装置。
In a data memory control device that arbitrates and controls access requests from the plurality of blocks in order to share the data memory among the plurality of blocks,
A data memory control unit that arbitrates and controls access requests from the plurality of blocks;
A first address bus connecting the data memory and the data memory control unit;
A first data bus connecting the data memory and the data memory control unit;
A first access request signal line connecting the data memory and the data memory control unit;
A plurality of second address buses connecting the plurality of blocks and the data memory control unit;
A plurality of second data buses connecting the plurality of blocks and the data memory control unit;
A plurality of second access request signal lines connecting the plurality of blocks and the data memory control unit;
A plurality of access permission signal lines connecting the plurality of blocks and the data memory control unit;
The data memory control unit receives access requests from the plurality of blocks through the plurality of second access request signal lines, and uses address information from the plurality of second address buses for arbitration control of the plurality of access requests. In accordance with the permitted access request, and passing data between one or more blocks and the data memory,
The data memory control device includes a plurality of direct buses for directly transferring data between the plurality of blocks;
A direct transfer control unit that controls direct transfer of data to the plurality of blocks,
The address making a write access request to the data memory from a single block of the plurality of blocks is the same as the address making a read access request from all or some of the plurality of blocks. In the case of an address, permission is given to all access requests, write data output from a block that has received write access permission is written to the data memory, and at the same time, the direct transfer control unit through the controls the transfer of the write data to the block that receives a read access permission,
When writing to the data memory from the block that has received the write access permission is unnecessary, the writing to the data memory is not executed, and the writing to the block that has received the read access permission via the direct bus is not performed. Executes only the data transfer, while permitting access requests from other blocks.
A data memory control device.
JP2001393101A 2001-12-26 2001-12-26 Data memory control device Expired - Fee Related JP3990569B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001393101A JP3990569B2 (en) 2001-12-26 2001-12-26 Data memory control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001393101A JP3990569B2 (en) 2001-12-26 2001-12-26 Data memory control device

Publications (2)

Publication Number Publication Date
JP2003196151A JP2003196151A (en) 2003-07-11
JP3990569B2 true JP3990569B2 (en) 2007-10-17

Family

ID=27600174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001393101A Expired - Fee Related JP3990569B2 (en) 2001-12-26 2001-12-26 Data memory control device

Country Status (1)

Country Link
JP (1) JP3990569B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144401A1 (en) * 2003-12-30 2005-06-30 Pantalone Brett A. Multiprocessor mobile terminal with shared memory arbitration
JP2007128633A (en) * 2005-10-07 2007-05-24 Matsushita Electric Ind Co Ltd Semiconductor storage device and transmission/reception system having the same
JP4233585B2 (en) 2006-07-25 2009-03-04 株式会社エヌ・ティ・ティ・ドコモ Peripheral switching device and peripheral switching control device
JP5129040B2 (en) * 2007-07-03 2013-01-23 パナソニック株式会社 Bus communication device using shared memory
JP4929386B2 (en) 2009-09-07 2012-05-09 株式会社エヌ・ティ・ティ・ドコモ Communication contention management device

Also Published As

Publication number Publication date
JP2003196151A (en) 2003-07-11

Similar Documents

Publication Publication Date Title
JP3573614B2 (en) Image processing apparatus and image processing system
JP4408263B2 (en) Data transfer system and data transfer method
US20020062352A1 (en) Multiprocessor system and control method thereof
KR20060116729A (en) Data transmitting apparatus, data transmitting method and program
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
CA2007737C (en) Data transfer operations between two asynchronous buses
JP2793517B2 (en) Data transfer control device
JP3990569B2 (en) Data memory control device
JPH06119297A (en) Method and apparatus for determining executing order of instruction in data processing system
JP2591502B2 (en) Information processing system and its bus arbitration system
JP2002163228A (en) External bus deciding technology for multi-core dsp device
KR100357284B1 (en) The one chip asynchronous microprocessor Inter Processor Communication circuit
JPH09269927A (en) Bus access method, bus and bus connection system
JPH09218859A (en) Multiprocessor control system
JPH1185673A (en) Method and device for controlling shared bus
JPH05257903A (en) Multiprocessor system
JP2002278922A (en) Computer bus system
JPH09128324A (en) Device and method for controlling data transfer
JPH08278939A (en) Method and device for data transfer
JPH10320351A (en) Buffer system
JPH0689258A (en) Bus control system
JPH0457145A (en) Multiprocessor system
JPH10134013A (en) Multi-cpu system
JPH0424733B2 (en)
JPS62145345A (en) Control system for direct memory access interval

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070720

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees