(57)【要約】【課題】読み出し要求の都度、優先順位を変更することが可能であり、メモリバスを占有することのない半導体記憶装置を提供する。【解決手段】半導体記憶装置が、アドレスに関連付けてデータが記憶されるメインメモリと、データを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す優先度情報とを関連付けた読み出し要求を入力する読み出し要求入力部と、データと優先度情報とが関連付けて記憶される読み出しデータ記憶部と、読み出し要求入力部が入力するアドレス情報に該当するデータをメインメモリから読み出すデータ読み出し部と、読み出し要求入力部に入力された優先度情報とデータ読み出し部が読み出したデータとを関連付けて読み出しデータ記憶部に記憶させる読み出しデータ登録部と、読み出しデータ記憶部に関連付けて記憶された優先度情報とデータとの中から、優先度が最も高いデータを選択し出力する優先処理制御部と、を有する。【選択図】図３
2008276638.tif 000002
【特許請求の範囲】
【請求項１】
アドレスに関連付けてデータが記憶されるメインメモリと、
データを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す優先度情報とを関連付けた読み出し要求を入力する読み出し要求入力部と、
前記データと優先度情報とが関連付けて記憶される読み出しデータ記憶部と、
前記読み出し要求入力部が入力するアドレス情報に該当するデータを前記メインメモリから読み出すデータ読み出し部と、
前記読み出し要求入力部に入力された優先度情報と前記データ読み出し部が読み出したデータとを関連付けて前記読み出しデータ記憶部に記憶させる読み出しデータ登録部と、
前記読み出しデータ記憶部に関連付けて記憶された優先度情報とデータとの中から、前記優先度が最も高いデータを選択し出力する優先処理制御部と、
を有することを特徴とする半導体記憶装置。
【請求項２】
前記半導体記憶装置が、
前記データを出力することを示す読み出しデータ転送要求信号を入力する読み出しデータ転送要求入力部を有し、
前記優先処理制御部が、
前記読み出しデータ転送要求入力部が読み出しデータ転送要求信号を入力したことに応じて、前記優先度が最も高いデータを選択し出力する、
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記読み出しデータ記憶部が、
前記データと優先度情報とを関連付けて記憶する複数個のレジスタと、
前記複数個のレジスタの読み込み番地を示す読み出しポインタ部と、
前記複数個のレジスタの書き込み番地を示す書き込みポインタ部と、
を有し、
前記読み出しデータ登録部が、
前記読み出しポインタ部が示す番地のレジスタに、前記優先度情報とデータとを関連付けて記憶させ、
前記優先処理制御部が、
前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、優先度が最も高いレジスタを選択し、該選択したレジスタに記憶されている読み出しデータを出力する、
ことを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記優先処理制御部が、
前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、前記優先度が最も高いレジスタを選択する場合に、前記優先度の最も高いレジスタが複数個存在する場合には、前記複数個存在する優先度の最も高いレジスタの中から、前記書き込みポインタ部が示す番地に最も近い番地のレジスタを、前記優先度の最も高いレジスタとして選択する、
ことを特徴とする請求項３に記載の半導体記憶装置。
【請求項５】
前記レジスタには、
前記データと優先度情報と関連付けて、該レジスタの読み出し済みを示す読み出し済みフラグが記憶されており、
前記読み出しデータ登録部が、
前記書き込みポインタ部が示す番地のレジスタに、前記優先度情報とデータとを関連付けて記憶させる場合に、前記書き込みポインタ部が示す番地のレジスタの読み出し済みフラグを未読み出しとして記憶させ、
前記優先処理制御部が、
前記優先度が最も高いレジスタを選択し、該選択したレジスタに記憶されている読み出しデータを出力する場合に、前記選択した優先度が最も高いレジスタの読み出し済みフラグを読み出し済として記憶させる、
ことを特徴とする請求項３または請求項４に記載の半導体記憶装置。
【請求項６】
前記優先処理制御部が、
前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、前記優先度が最も高いレジスタを選択する場合に、前記読み出し済みフラグが読み出し済であるレジスタをスキップして、前記優先度が最も高いレジスタを選択する、
ことを特徴とする請求項５に記載の半導体記憶装置。
【請求項７】
前記読み出し要求には、前記読み出したデータを格納する格納先を識別する情報である格納先識別情報が含まれ、
前記格納先識別情報は、前記アドレス情報と前記優先度情報とに関連付けられており、
前記読み出しデータ記憶部に、前記データと優先度情報と格納先識別情報とが関連付けて記憶され、
前記読み出しデータ登録部が、
前記読み出し要求入力部に入力された優先度情報と格納先識別情報と、前記データ読み出し部が読み出したデータとを関連付けて前記読み出しデータ記憶部に記憶させ、
前記優先処理制御部が、
前記読み出しデータ記憶部に関連付けて登録された優先度情報と格納先識別情報とデータとの中から、前記優先度が最も高いデータと格納先識別情報とを選択し関連付けて出力する、
ことを特徴とする請求項１から請求項６に記載の半導体記憶装置。
【請求項８】
メモリアクセス制御回路を介して半導体記憶装置からデータを読出すメモリアクセス制御システムであって、
前記メモリアクセス制御回路が、
前記半導体記憶装置からデータを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す読出す優先度と、該読み出したデータを格納する格納先を識別する情報である格納先識別情報とが関連付けられて読み出し要求として入力され、該入力された読み出し要求を前記半導体記憶装置に出力する読み出し要求転送部、を有し、
前記半導体記憶装置が、
アドレスに関連付けてデータが記憶されているメインメモリと、
前記データと優先度と格納先識別情報とが関連付けて記憶される読み出しデータ記憶部と、
前記メモリアクセス制御回路からの前記読み出し要求を入力する読み出し要求入力部と、
前記読み出し要求入力部に入力された読み出し要求に含まれるアドレス情報に該当するデータを、前記メインメモリから読出すデータ読み出し部と、
前記データ読み出し部が読み出したデータと、前記読み出し要求入力部に入力された読み出し要求に含まれる優先度と格納先識別情報とを関連付けて前記読み出しデータ記憶部に記憶させる読み出しデータ登録部と、
前記読み出しデータ記憶部に関連付けて記憶されているデータと優先度と格納先識別情報との中から、該優先度が最も高いデータと格納先識別情報とを選択し、該選択したデータと格納先識別情報とを関連付けて前記メモリアクセス制御回路に出力する優先処理制御部と、
を有し、
前記メモリアクセス制御回路が、
前記関連付けられたデータと格納先識別情報とが前記半導体記憶装置から入力され、該入力されたデータを前記入力された格納先識別情報に基づいて格納するデータ格納部と、
を有することを特徴とするメモリアクセス制御システム。
【請求項９】
前記メモリアクセス制御回路が、
前記データを出力することを示す読み出しデータ転送要求信号を前記半導体記憶装置に送出する読み出しデータ転送要求送出部を有し、
前記半導体記憶装置が、
前記メモリアクセス制御回路からの読み出しデータ転送要求信号を入力する読み出し要求転送要求入力部を有し、
前記優先処理制御部が、前記読み出しデータ転送要求信号を前記読み出しデータ転送要求入力部が入力したことに応じて、前記データと格納先識別情報とを前記メモリアクセス制御回路に出力する、
ことを特徴とする請求項８に記載のメモリアクセス制御システム。
【請求項１０】
前記データ格納部は、
前記データと格納先識別情報とが前記半導体記憶装置から入力され、前記データと格納先識別情報とが入力された順に、前記入力されたデータを前記入力された格納先識別情報に基づいて格納する、
ことを特徴とする請求項８または請求項９に記載のメモリアクセス制御システム。
【請求項１１】
前記メモリアクセス制御システムが、
格納先アドレスに関連付けてデータが記憶される格納先記憶部を有し、
前記メモリアクセス制御回路が、
前記優先度と格納先アドレスとが関連付けて記憶される宛先情報記憶部を有し、
前記読み出し要求転送部が、
前記入力された読み出し要求の格納先識別情報が前記格納先記憶部を示しており、前記格納先識別情報に前記格納先アドレスが含まれている場合には、前記入力された読み出し要求の優先度と格納先アドレスとを関連付けて前記宛先情報記憶部に記憶し、
前記データ格納部が、
前記データと格納先識別情報とが前記半導体記憶装置から入力され、該入力された格納先識別情報が前記格納先記憶部を示す場合には、前記宛先情報記憶部から最も優先度の高い格納先アドレスを読み出し、該読み出した格納先アドレスの前記格納先記憶部に、前記入力されたデータを格納する、
ことを特徴とする請求項８から請求項１０に記載のメモリアクセス制御システム。
【請求項１２】
アドレスに関連付けてデータが記憶されるメインメモリを有する半導体記憶装置におけるデータの読み出し方法であって、
データを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す優先度情報とが関連付けられて読み出し要求として入力され、
前記入力されたアドレス情報に該当するデータを、前記メインメモリから読み出し、
前記入力された優先度情報と読み出したデータとを関連付けて、データと優先度情報とが関連付けて記憶される読み出しデータ記憶部に記憶させ、
前記読み出しデータ記憶部に関連付けて記憶された優先度情報とデータとの中から、前記優先度が最も高いデータを選択し出力する、
ことを特徴とするデータの読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスタに共有される半導体記憶装置の技術に関し、特に、複数のバスマスタが読み出す毎に異なる優先度で半導体記憶装置からデータを読み出すメモリアクセス制御システムの技術に関する。
【背景技術】
【０００２】
従来、マイクロプロセッサの性能向上のためにクロック周波数を際限なく向上させるアプローチは、半導体技術の微細化を推進してきた。その副作用としてトランジスタのリーク電流が急激に増加し、消費電力が問題となり、そのため、従来のように、クロック周波数を向上させることによりマイクロプロセッサの性能を向上させることが、難しくなってきている。このような問題への対策として、一つのチップに複数のプロセッサコアを集積し、タスクを分散させることで、クロック周波数を高めずにマイクロプロセッサの性能を向上させるアプローチが主流になってきている。
【０００３】
このようなマルチコア方式のＣＰＵ（Central Processing Unit）を用いて情報処理を並列に行うシステムでは、共有されるメインメモリへの読み出し要求に対して、その読み出しデータが適切なタイミングで処理されるように、読み出し要求毎に優先度を設定しないと、情報処理の性能を高めることが出来ない。
【０００４】
また、マルチコア方式のＣＰＵとメインメモリとの間のメモリバス効率を高めるためには、書き込みと読み出しのタイミングを制御し、メモリバスのデータ転送に空きが出来ないようにすることが望ましい。そのため、読み出し要求と読み出しデータの転送要求とを独立して制御して、メモリアクセスのフレキシビリティを高めることが重要となってきている。
【０００５】
このような技術として、特許文献１から特許文献４の技術が知られている。特許文献１および特許文献２には、アクセス要求が競合した場合、優先順位により定められる順番でアクセスが許可されるメモリアクセス調整方法とその回路の技術が開示されている。
【０００６】
また、特許文献３には、処理系からの処理要求を受け付けて予約を行い、予約された処理要求を状況に応じてメモリ駆動手段が取り込んでメモリ駆動信号を発生するようにし、メモリの駆動が各処理系からの処理要求ごとにそれぞれ独立して行われ、１個のメモリに対して複数の処理系からの書き込み読み出しを良好にして、複数のメモリを１個に置き換えることができるメモリ統合装置の技術が開示されている。
【０００７】
また、特許文献４には、ＣＰＵと複数のＤＳＰ（Digital Signal Processor）とを備える装置において、ＣＰＵ或いはＤＳＰからの転送要求信号を受け付ける転送要求選択回路と、この転送要求信号を受信して保持し、この転送要求信号の優先順位に従ってデータ転送を実行するための指示信号を送出する転送要求保持回路と、ＤＳＰの各々と拡張バスを介して接続されているＤＳＰメモリ間データ転送装置の技術が開示されている。また、この特許文献４のＤＳＰメモリ間データ転送装置は、指示信号を受けて、ＣＰＵ或いはＤＳＰの転送情報を読み込み、該転送情報に従ってデータ転送を実行する拡張バス制御回路と、ＣＰＵ用の転送データを保持し、拡張バス制御回路が転送データの読み出し或いは書き込みを行うデュアルポートＲＡＭ（Random Access Memory）とを含む。この特許文献４には、以上の構成により、複数のＤＳＰ内のメモリ間におけるデータ転送を、簡易な構成の回路により実現することが出来るＤＳＰメモリ間データ転送装置の技術を開示されている。
【０００８】
以上のように、特許文献１から特許文献４として、複数のＣＰＵ等の情報処理装置からの読み出し要求が競合した場合に優先順位をつけてメモリアクセスを行うような制御方法の技術が知られている。
【特許文献１】特開平７−２００４８８号公報
【特許文献２】特開平８−１６４５４号公報
【特許文献３】特開平２００２−５５８０７号公報
【特許文献４】特開平２００３−７６６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、これらの従来技術においては、その優先順位のつけ方は予め定められており、読み出し要求の都度、優先順位が変更されるような場合には対応できないという問題がある。
【００１０】
また、メモリアクセス制御回路側で優先順位を決めてメモリアクセスを行い、対応する読み出しデータが返されるのを待つことが前提となっているため、読み出し要求を出してから読み出しデータが返されるまで、メモリバスが占有されてしまう可能性があるという問題がある。
【００１１】
本発明は、このような事情に鑑みてなされたもので、その目的は、読み出し要求の都度、優先順位を変更することが可能であり、メモリバスを占有することのない半導体記憶装置、メモリアクセス制御システムおよびデータの読み出し方法を提供することにある。
【課題を解決するための手段】
【００１２】
この発明は上述した課題を解決するためになされたもので、アドレスに関連付けてデータが記憶されるメインメモリと、データを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す優先度情報とを関連付けた読み出し要求を入力する読み出し要求入力部と、前記データと優先度情報とが関連付けて記憶される読み出しデータ記憶部と、前記読み出し要求入力部が入力するアドレス情報に該当するデータを前記メインメモリから読み出すデータ読み出し部と、前記読み出し要求入力部に入力された優先度情報と前記データ読み出し部が読み出したデータとを関連付けて前記読み出しデータ記憶部に記憶させる読み出しデータ登録部と、前記読み出しデータ記憶部に関連付けて記憶された優先度情報とデータとの中から、前記優先度が最も高いデータを選択し出力する優先処理制御部と、を有することを特徴とする半導体記憶装置である。
【００１３】
また、この発明は、前記半導体記憶装置が、前記データを出力することを示す読み出しデータ転送要求信号を入力する読み出しデータ転送要求入力部を有し、前記優先処理制御部が、前記読み出しデータ転送要求入力部が読み出しデータ転送要求信号を入力したことに応じて、前記優先度が最も高いデータを選択し出力する、ことを特徴とする半導体記憶装置である。
【００１４】
また、この発明は、前記読み出しデータ記憶部が、前記データと優先度情報とを関連付けて記憶する複数個のレジスタと、前記複数個のレジスタの読み込み番地を示す読み出しポインタ部と、前記複数個のレジスタの書き込み番地を示す書き込みポインタ部と、を有し、前記読み出しデータ登録部が、前記読み出しポインタ部が示す番地のレジスタに、前記優先度情報とデータとを関連付けて記憶させ、前記優先処理制御部が、前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、優先度が最も高いレジスタを選択し、該選択したレジスタに記憶されている読み出しデータを出力する、ことを特徴とする半導体記憶装置である。
【００１５】
また、この発明は、前記優先処理制御部が、前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、前記優先度が最も高いレジスタを選択する場合に、前記優先度の最も高いレジスタが複数個存在する場合には、前記複数個存在する優先度の最も高いレジスタの中から、前記書き込みポインタ部が示す番地に最も近い番地のレジスタを、前記優先度の最も高いレジスタとして選択する、ことを特徴とする半導体記憶装置である。
【００１６】
また、この発明は、前記レジスタには、前記データと優先度情報と関連付けて、該レジスタの読み出し済みを示す読み出し済みフラグが記憶されており、前記読み出しデータ登録部が、前記書き込みポインタ部が示す番地のレジスタに、前記優先度情報とデータとを関連付けて記憶させる場合に、前記書き込みポインタ部が示す番地のレジスタの読み出し済みフラグを未読み出しとして記憶させ、前記優先処理制御部が、前記優先度が最も高いレジスタを選択し、該選択したレジスタに記憶されている読み出しデータを出力する場合に、前記選択した優先度が最も高いレジスタの読み出し済みフラグを読み出し済として記憶させる、ことを特徴とする半導体記憶装置である。
【００１７】
また、この発明は、前記優先処理制御部が、前記書き込みポインタ部が示す番地と前記読み出しポインタ部が示す番地との間のレジスタの中から、前記優先度が最も高いレジスタを選択する場合に、前記読み出し済みフラグが読み出し済であるレジスタをスキップして、前記優先度が最も高いレジスタを選択する、ことを特徴とする半導体記憶装置である。
【００１８】
また、この発明は、前記読み出し要求には、前記読み出したデータを格納する格納先を識別する情報である格納先識別情報が含まれ、前記格納先識別情報は、前記アドレス情報と前記優先度情報とに関連付けられており、前記読み出しデータ記憶部に、前記データと優先度情報と格納先識別情報とが関連付けて記憶され、前記読み出しデータ登録部が、前記読み出し要求入力部に入力された優先度情報と格納先識別情報と、前記データ読み出し部が読み出したデータとを関連付けて前記読み出しデータ記憶部に記憶させ、前記優先処理制御部が、前記読み出しデータ記憶部に関連付けて登録された優先度情報と格納先識別情報とデータとの中から、前記優先度が最も高いデータと格納先識別情報とを選択し関連付けて出力する、ことを特徴とする半導体記憶装置である。
【００１９】
また、この発明は、メモリアクセス制御回路を介して半導体記憶装置からデータを読出すメモリアクセス制御システムであって、前記メモリアクセス制御回路が、前記半導体記憶装置からデータを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す読出す優先度と、該読み出したデータを格納する格納先を識別する情報である格納先識別情報とが関連付けられて読み出し要求として入力され、該入力された読み出し要求を前記半導体記憶装置に出力する読み出し要求転送部、を有し、前記半導体記憶装置が、アドレスに関連付けてデータが記憶されているメインメモリと、前記データと優先度と格納先識別情報とが関連付けて記憶される読み出しデータ記憶部と、前記メモリアクセス制御回路からの前記読み出し要求を入力する読み出し要求入力部と、前記読み出し要求入力部に入力された読み出し要求に含まれるアドレス情報に該当するデータを、前記メインメモリから読出すデータ読み出し部と、前記データ読み出し部が読み出したデータと、前記読み出し要求入力部に入力された読み出し要求に含まれる優先度と格納先識別情報とを関連付けて前記読み出しデータ記憶部に記憶させる読み出しデータ登録部と、前記読み出しデータ記憶部に関連付けて記憶されているデータと優先度と格納先識別情報との中から、該優先度が最も高いデータと格納先識別情報とを選択し、該選択したデータと格納先識別情報とを関連付けて前記メモリアクセス制御回路に出力する優先処理制御部と、を有し、前記メモリアクセス制御回路が、前記関連付けられたデータと格納先識別情報とが前記半導体記憶装置から入力され、該入力されたデータを前記入力された格納先識別情報に基づいて格納するデータ格納部と、を有することを特徴とするメモリアクセス制御システムである。
【００２０】
また、この発明は、前記メモリアクセス制御回路が、前記データを出力することを示す読み出しデータ転送要求信号を前記半導体記憶装置に送出する読み出しデータ転送要求送出部を有し、前記半導体記憶装置が、前記メモリアクセス制御回路からの読み出しデータ転送要求信号を入力する読み出し要求転送要求入力部を有し、前記優先処理制御部が、前記読み出しデータ転送要求信号を前記読み出しデータ転送要求入力部が入力したことに応じて、前記データと格納先識別情報とを前記メモリアクセス制御回路に出力する、ことを特徴とするメモリアクセス制御システムである。
【００２１】
また、この発明は、前記データ格納部は、前記データと格納先識別情報とが前記半導体記憶装置から入力され、前記データと格納先識別情報とが入力された順に、前記入力されたデータを前記入力された格納先識別情報に基づいて格納する、ことを特徴とするメモリアクセス制御システムである。
【００２２】
また、この発明は、前記メモリアクセス制御システムが、格納先アドレスに関連付けてデータが記憶される格納先記憶部を有し、前記メモリアクセス制御回路が、前記優先度と格納先アドレスとが関連付けて記憶される宛先情報記憶部を有し、前記読み出し要求転送部が、前記入力された読み出し要求の格納先識別情報が前記格納先記憶部を示しており、前記格納先識別情報に前記格納先アドレスが含まれている場合には、前記入力された読み出し要求の優先度と格納先アドレスとを関連付けて前記宛先情報記憶部に記憶し、前記データ格納部が、前記データと格納先識別情報とが前記半導体記憶装置から入力され、該入力された格納先識別情報が前記格納先記憶部を示す場合には、前記宛先情報記憶部から最も優先度の高い格納先アドレスを読み出し、該読み出した格納先アドレスの前記格納先記憶部に、前記入力されたデータを格納する、ことを特徴とするメモリアクセス制御システムである。
【００２３】
また、この発明は、アドレスに関連付けてデータが記憶されるメインメモリを有する半導体記憶装置におけるデータの読み出し方法であって、データを読出す際に参照されるアドレス情報と、該データを読出す際の優先度を示す優先度情報とが関連付けられて読み出し要求として入力され、前記入力されたアドレス情報に該当するデータを、前記メインメモリから読み出し、前記入力された優先度情報と読み出したデータとを関連付けて、データと優先度情報とが関連付けて記憶される読み出しデータ記憶部に記憶させ、前記読み出しデータ記憶部に関連付けて記憶された優先度情報とデータとの中から、前記優先度が最も高いデータを選択し出力する、ことを特徴とするデータの読み出し方法である。
【発明の効果】
【００２４】
この本発明によれば、読み出し要求の都度、優先順位を変更することが可能であり、メモリバスを占有することのない半導体記憶装置、メモリアクセス制御システムおよび読み出し方法を提供することが出来るという効果を奏する。
【００２５】
また、この本発明によれば、制御回路の回路規模が大きくなることを減じることが可能となる半導体記憶装置、メモリアクセス制御システムおよび読み出し方法を提供することが出来るという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態によるメモリアクセス制御システムの構成を示す概略ブロック図である。このメモリアクセス制御システムは、複数個のバスマスタ５であるバスマスタ５＿１、５＿２、・・・５＿ｎ（このｎは任意の自然数）と、ローカルメモリ３（格納先記憶部）と、メモリアクセス制御回路１（以降、ＭＡＣ（Memory Access Controller）１とする。）と、それらを相互に接続する共有バス４と、ＭＡＣ１によって制御されるメインメモリシステム２（半導体記憶装置）と、から構成されている。
【００２７】
バスマスタ５は、メインメモリシステム２からデータを読出す際に参照される読み出しアドレスと、そのデータを読出す際の優先度を示す優先度と、読み出したデータを格納する格納先を識別する情報である格納先識別情報とを関連付けて読み出し要求として、共有バス４を介してＭＡＣ１に出力する（図１Ａ１００参照）。また、バスマスタ５は、バスマスタ５毎に、また、読み出し要求を送出する毎に、優先度を任意に設定して、読み出し要求を送出する。
【００２８】
また、それぞれのバスマスタ５は、識別情報により、共有バス４の上で、一意に識別されている。ここでは、バスマスタ５＿１、５＿２、・・・５＿ｎの、識別番号を、ＢＭ（BusMaster）１、ＢＭ２、・・・ＢＭｎとして説明する。このバスマスタ５は、例えば、シングルコアまたはマルチコアであるＣＰＵや、ＤＳＰ、または、ＤＭＡ（Direct Memory Access）コントローラなどである。
【００２９】
ローカルメモリ３（Ｌ２）は、アドレスと関連付けてデータが記憶される記憶部であり、例えば、キャッシュメモリである。このローカルメモリ３も、識別情報により、共有バス４の上で、一意に識別されている。ここでは、ローカルメモリ３の識別情報をＬ２として説明する。また、以降においては、ローカルメモリ３のアドレスを、格納先アドレスして説明する。
【００３０】
メインメモリシステム２は、共有バス４とＭＡＣ１とメモリバス６とを介して、複数のバスマスタ５に共有されている半導体記憶装置である。このメインメモリシステム２は、優先処理機能付きＦＩＦＯ（First In First Out）２０１とメインメモリ２０２とを備えている。メインメモリ２０２には、アドレスに関連付けてデータが記憶される。優先処理機能付きＦＩＦＯ２０１は、ＭＡＣ１とメモリバス６を介して接続されている。また、優先処理機能付きＦＩＦＯ２０１は、メインメモリ２０２を制御する。優先処理機能付きＦＩＦＯ２０１の詳細については、後述する。
【００３１】
なお、メインメモリシステム２は、外部メモリ又はオンチップメモリのどちらでも良い。また、メインメモリ２０２は、さらに下位のメモリの階層が存在する場合には、Ｌ３キャッシュメモリとなる場合もある。
【００３２】
次に、図２を用いて、ＭＡＣ１の構成について説明する。同図において図１の各部に対応する部分には同一の符号を付け、その説明を省略する。ＭＡＣ１は、読み出し要求転送部１０１と、データ格納部１０２と、宛先情報記憶部１０３と、読み出しデータ転送要求送出部１０５と、バス監視部１０４とを有する。宛先情報記憶部１０３には、優先度と格納先アドレスとが関連付けて記憶される。バス監視部１０４は、共有バス４を監視しており、監視した共有バス４の情報を読み出しデータ転送要求送出部１０５およびデータ格納部１０２に出力する。バス監視部１０４は、例えば、共有バス４を流れるデータ量を監視している。
【００３３】
読み出し要求転送部１０１は、読み出し要求をバスマスタ５から共有バス４を介して入力され、入力された読み出し要求をメインメモリシステム２にメモリバス６を介して出力する。また、読み出し要求転送部１０１は、格納先識別情報がローカルメモリ３を示し、格納先識別情報にローカルメモリ３のアドレスを示す格納先アドレスが含まれている場合には、受信した読み出し要求の優先度と格納先アドレスとを関連付けて宛先情報記憶部１０３に記憶させる。
【００３４】
データ格納部１０２は、読み出しデータと格納先識別情報とがメインメモリシステム２からメモリバス６を介して入力され、入力された読み出しデータを入力された格納先識別情報に基づいて、この格納先識別情報で示される格納先、例えば、格納先識別情報と一致する識別情報を有するバスマスタ５に、共有バス４を介して格納する。なお、この読み出しデータとは、読み出し要求の読み出しアドレスに基づいて、メインメモリシステム２が読み出したデータである。
【００３５】
また、データ格納部１０２は、読み出しデータと格納先識別情報とがメインメモリシステム２から入力され、入力された格納先識別情報がローカルメモリ３を示す場合には、宛先情報記憶部１０３から最も優先度の高い格納先アドレスを読み出し、読み出した格納先アドレスのローカルメモリ３に、入力された読み出しデータを格納する。
【００３６】
また、データ格納部１０２は、読み出しデータと格納先識別情報とがメインメモリシステム２から入力され、読み出しデータと格納先識別情報とが入力された順に、入力された読み出しデータを入力された格納先識別情報に基づいて格納する。また、データ格納部１０２は、バス監視部１０４から入力されるデータ量の情報に基づいて、共有バス４にデータを流す余裕がある場合に、入力された読み出しデータを入力された格納先識別情報に基づいて格納する。
【００３７】
読み出しデータ転送要求送出部１０５は、読み出しデータを出力することを示す読み出しデータ転送要求信号をメインメモリシステム２にメモリバス６を介して送信する。また、読み出しデータ転送要求送出部１０５は、読み出し要求転送部１０１がメインメモリシステム２にメモリバス６を介して送出する読み出し要求を監視しており、読み出し要求転送部１０１が読み出し要求を送出しない場合に、読み出しデータ転送要求信号をメインメモリシステム２にメモリバス６を介して送信する。また、読み出しデータ転送要求送出部１０５は、バス監視部１０４から入力されるデータ量の情報に基づいて、共有バス４にデータを流す余裕がある場合に、読み出しデータ転送要求信号をメインメモリシステム２に送信する。
【００３８】
次に、図３を用いて、メインメモリシステム２に含まれる優先処理機能付きＦＩＦＯ２０１の構成について説明する。同図において図１または図２の各部に対応する部分には同一の符号を付け、その説明を省略する。
【００３９】
優先処理機能付きＦＩＦＯ２０１は、読み出し要求がＭＡＣ１から入力される読み出し要求入力レジスタ部２１０と、読み出しデータを出力することを示す読み出しデータ転送要求信号をＭＡＣ１から入力される読み出しデータ転送要求入力レジスタ部２１１と、格納先識別情報、読み出しデータ、優先度、および、そのレジスタの読み出し済みフラグ（Ｆ）を関連付けて記憶する複数個のレジスタを有するレジスタ部２１４と、を有する。
【００４０】
また、優先処理機能付きＦＩＦＯ２０１は、レジスタ部２１４の書き込みアドレス（番地）を示す書込みポインタ部２１７と、レジスタ部２１４の読み出しアドレス（番地）を示す読み出しポインタ部２１８と、その内部に関連付けて格納された読み出しデータと格納先識別情報とをＭＡＣ１にメモリバス６を介して出力する出力レジスタ部２１６と、を有する。
【００４１】
また、優先処理機能付きＦＩＦＯ２０１は、データ読み出し部２１２と、読み出しデータ登録部２１３と、レジスタ部２１４の読み出しデータの中から優先度が最も高いデータと格納先識別情報とを読み出し、読み出した読み出しデータと格納先識別情報とを出力レジスタ部２１６に格納する優先処理制御回路２１５と、を有する。
【００４２】
データ読み出し部２１２は、読み出し要求入力レジスタ部２１０に入力された読み出し要求に含まれる読み出しアドレスに該当するデータを読み出しデータとして、メインメモリ２０２から読み出す。読み出しデータ登録部２１３は、データ読み出し部２１２が読み出した読み出しデータと、読み出し要求入力レジスタ部２１０に入力された読み出し要求に含まれる優先度と格納先識別情報とを関連付けて、レジスタ部２１４に登録する。
【００４３】
また、読み出しデータ登録部２１３は、書込みポインタ部２１７が示す番地のレジスタに、読み出しデータと優先度と格納先識別情報とを関連付けて登録する。また、読み出しデータ登録部２１３は、書込みポインタ部２１７が示す番地のレジスタに、読み出しデータと優先度と格納先識別情報とを関連付けて登録する場合に、書込みポインタ部２１７が示す番地のレジスタの読み出し済みフラグ（Ｆ）を、未読み出しとして登録する。
【００４４】
優先処理制御回路２１５は、レジスタ部２１４に関連付けて記憶されている読み出しデータと優先度と格納先識別情報との中から、優先度が最も高い読み出しデータと格納先識別情報とを選択し、選択した読み出しデータと格納先識別情報とを、出力レジスタ部２１６に格納することにより、選択した読み出しデータと格納先識別情報とを、ＭＡＣ１にメモリバス６を介して出力する。また、優先処理制御回路２１５は、読み出しデータ転送要求入力レジスタ部２１１に読み出しデータ転送要求信号が入力されたことに応じて、読み出しデータと格納先識別情報とを出力レジスタ部２１６に格納することにより、読み出しデータと格納先識別情報とをＭＡＣ１にメモリバス６を介して出力する。
【００４５】
また、優先処理制御回路２１５は、書込みポインタ部２１７が示す番地と読み出しポインタ部２１８が示す番地との間のレジスタ部２１４のレジスタの中から、優先度が最も高いレジスタを選択し、選択したレジスタに記憶されている読み出しデータと格納先識別情報とを選択し出力する。なお、優先処理制御回路２１５は、書込みポインタ部２１７が示す番地と読み出しポインタ部２１８が示す番地との間のレジスタ部２１４のレジスタの中から、優先度が最も高いレジスタを選択する場合に、書込みポインタ部２１７が示す番地を基準として、書込みポインタ部２１７が示す番地から読み出しポインタ部２１８が示す番地に向けて、１番地分だけ近い番地と、読み出しポインタ部２１８が示す番地との間のレジスタ部２１４のレジスタの中から、優先度が最も高いレジスタを選択する。
【００４６】
また、優先処理制御回路２１５は、書込みポインタ部２１７が示す番地と読み出しポインタ部２１８が示す番地との間のレジスタの中から、優先度が最も高いレジスタを選択する場合に、優先度の最も高いレジスタが複数個存在する場合には、複数個存在する優先度の最も高いレジスタの中から、書込みポインタ部２１７が示す番地に最も近い番地のレジスタを、優先度の最も高いレジスタとして選択する。
【００４７】
また、優先処理制御回路２１５は、優先度が最も高いレジスタを選択し、選択したレジスタに記憶されている読み出しデータを出力する場合に、選択した優先度が最も高いレジスタの読み出し済みフラグ（Ｆ）を、読み出し済として登録する。また、優先処理制御回路２１５は、優先度が最も高いレジスタを選択し、選択した優先度が最も高いレジスタの番地が、読み出しポインタ部２１８が示すレジスタ部２１４の番地と一致する場合には、選択したレジスタに記憶されている読み出しデータを出力する場合に、読み出しポインタ部２１８が示す番地の値をインクリメントする。
【００４８】
また、優先処理制御回路２１５は、書込みポインタ部２１７が示す番地と読み出しポインタ部２１８が示す番地との間のレジスタ部２１４のレジスタの中から、優先度が最も高いレジスタを選択する場合に、読み出し済みフラグ（Ｆ）が読み出し済であるレジスタをスキップして、優先度が最も高いレジスタを選択する。このスキップとは、例えば、読み出し済みフラグ（Ｆ）が読み出し済であるレジスタを、選択対象として無視することである。
【００４９】
次に、優先処理機能付きＦＩＦＯ２０１の動作について説明する。まず、読み出し要求がＭＡＣ１から入力された場合の、優先処理機能付きＦＩＦＯ２０１の動作について説明する。優先処理機能付きＦＩＦＯ２０１に入力された読み出し要求は、優先処理機能付きＦＩＦＯ２０１の読み出し要求入力レジスタ部２１０に入力される。
【００５０】
次に、読み出しデータ登録部２１３が、読み出し要求が読み出し要求入力レジスタ部２１０に入力されると、読み出し要求に含まれる優先度情報と格納先識別情報とを関連付けて書込みポインタ部２１７が示すレジスタ部２１４に格納する。また、データ読み出し部２１２が、読み出し要求が読み出し要求入力レジスタ部２１０に入力されると、読み出し要求の読み出しアドレスに該当するデータを読み出しデータとして、メインメモリ２０２から読み出す。次に、読み出しデータ登録部２１３は、データ読み出し部２１２がメインメモリ２０２から読み出した読み出しデータを、書込みポインタ部２１７が示すレジスタ部２１４に格納する。
【００５１】
従って、読み出し要求入力レジスタ部２１０に入力されたＭＡＣ１からの読み出し要求の優先度情報と、格納先識別情報と、読み出し要求の読み出しアドレスに該当するメインメモリ２０２から読み出した読み出しデータとが、関連付けられて、書込みポインタ部２１７が示す同じレジスタ部２１４に格納されることになる。次に、読み出しデータ登録部２１３は、レジスタ部２１４の読み出し済みフラグ（Ｆ）を未読み出しとして記憶させることによりリセットし、また、書込みポインタ部２１７の値をインクリメントする。
【００５２】
次に、読み出しデータ転送要求信号がＭＡＣ１から入力された場合の、優先処理機能付きＦＩＦＯ２０１の動作について説明する。優先処理機能付きＦＩＦＯ２０１に入力された読み出しデータ転送要求信号は、優先処理機能付きＦＩＦＯ２０１の読み出しデータ転送要求入力レジスタ部２１１に入力される。
【００５３】
次に、優先処理制御回路２１５は、読み出しデータ転送要求入力レジスタ部２１１に読み出しデータ転送要求信号が入力されると、書込みポインタ部２１７の示すレジスタの一つ前のレジスタと、読み出しポインタ部２１８の示すレジスタとの間にあるレジスタ部２１４に格納されている読み出しデータの中から、優先度の高い順に格納先識別番号と読み出しデータとを読み出し、読み出した格納先識別番号と読み出しデータとを関連付けて、出力レジスタ部２１６に格納する。
【００５４】
ここで、書込みポインタ部２１７の示すレジスタの一つ前のレジスタとは、書込みポインタ部２１７が示す番地を基準として、書込みポインタ部２１７が示す番地から読み出しポインタ部２１８が示す番地へ向けて、１番地分だけ近い番地のレジスタのことである。
【００５５】
なお、上記動作において、優先処理制御回路２１５は、同じ優先度の場合は、書込みポインタ部が示す番地に近い方の格納先識別番号と読み出しデータとを、出力レジスタ部２１６に出力する。次に、出力レジスタ部２１６は、格納された格納先識別番号と読み出しデータとを、メモリバス６を介してＭＡＣ１に転送する。また、上記動作において、優先処理制御回路２１５は、読み出しポインタ部２１８が示すレジスタ部２１４から格納先識別番号と読み出しデータとを出力レジスタ部２１６に出力した場合には、読み出しポインタ部２１８の値をインクリメントする。また、優先処理制御回路２１５は、読み出しポインタ部２１８が示すレジスタ以外のレジスタ部２１４から、格納先識別番号と読み出しデータとを出力レジスタ部２１６に出力した場合には、そのレジスタ部２１４の読み出し済みフラグ（Ｆ）を立てて、読み出し済に更新する。
【００５６】
また、上記動作において、優先処理制御回路２１５は、ＭＡＣ１から読み出しデータ転送要求信号を受け取ると、書込みポインタ部２１７の示す一つ前のレジスタと、読み出しポインタ部２１８の示すレジスタとの間にあるレジスタに格納されている格納先識別番号と読み出しデータとの中から、優先度の高い順に格納先識別番号と読み出しデータとを読出す場合、読み出し済みフラグ（Ｆ）が立てられていて読み出し済とされているレジスタは、選択対象として無視して、スキップする。従って、読み出し済みフラグ（Ｆ）を立てて読み出し済に更新されたレジスタ部２１４のレジスタは、読み出しデータ登録部２１３により、メインメモリ２０２から読み出された読み出しデータを格納され、その読み出し済みフラグ（Ｆ）がリセットされるまでは、優先処理制御回路２１５から選択対象として無視されスキップされる。この読み出し済みフラグ（Ｆ）により、優先処理制御回路２１５が、レジスタ部２１４の中から、最も優先度の高いレジスタを選択することが早くなる。
【００５７】
次に、図４から図６を用いて、メモリアクセス制御システムの動作について、３つの場合について説明する。なお、同図において図１から図３の各部に対応する部分には同一の符号を付け、その説明を省略する。
【００５８】
＜動作例１：バスマスタ５＿２が、宛先をバスマスタ５＿２とした場合＞
図４は、バスマスタ５＿２が、格納先識別情報をバスマスタ５＿２の識別番号であるＢＭ２として、メインメモリ２０２に対する読み出し要求を送出した場合の、読み出し要求の内容、格納先識別情報と読み出しデータとの内容、読み出しデータの転送経路を具体的に示した図である。
【００５９】
まず、バスマスタ５＿２は、格納先識別情報をＢＭ２とした読み出し要求（Ａ４０１）を、ＭＡＣ１に送出する（Ｂ４１１）。次に、ＭＡＣ１は、読み出し要求（Ａ４０１）を、メインメモリシステム２に送出する。次に、ＭＡＣ１は、読み出しデータ転送要求信号（Ａ４０２）を、メインメモリシステム２に送出する。メインメモリシステム２は、読み出しデータ転送要求信号（Ａ４０２）を受信したことに応じて、読み出しデータと格納先識別情報であるＢＭ２と（Ａ４０３）を、ＭＡＣ１に送出する。次に、読み出しデータと格納先識別情報であるＢＭ２と（Ａ４０３）を受信したＭＡＣ１は、格納先識別情報であるＢＭ２に基づいて、読み出しデータをバスマスタ５＿２に送出する（Ｂ４１３）。
【００６０】
図４を用いて説明したように、ＭＡＣ１はメインメモリシステム２から読み出しデータを受け取った順に、読み出しデータを格納すれば良いため、その制御は簡単であり、ＭＡＣ１を構成する回路の規模を小さくすることが可能である。
【００６１】
＜動作例２：バスマスタ５＿１が、宛先をバスマスタ５＿２とした場合＞
図５は図４とは異なる経路で読み出しデータが転送される例である。図５は、バスマスタ５＿１が、格納先識別情報をバスマスタ５＿２の識別番号であるＢＭ２として、メインメモリ２０２に対する読み出し要求を送出した場合の、読み出し要求の内容、格納先識別情報と読み出しデータとの内容、読み出しデータの転送経路を具体的に示した図である。
【００６２】
まず、バスマスタ５＿１は、格納先識別情報をＢＭ２とした読み出し要求（Ａ５０１）を、ＭＡＣ１に送出する（Ｂ５１１）。次に、ＭＡＣ１は、読み出し要求（Ａ５０１）を、メインメモリシステム２に送出する。次に、ＭＡＣ１は、読み出しデータ転送要求信号（Ａ５０２）を、メインメモリシステム２に送出する。メインメモリシステム２は、読み出しデータ転送要求信号（Ａ５０２）を受信したことに応じて、読み出しデータと格納先識別情報であるＢＭ２と（Ａ５０３）を、ＭＡＣ１に送出する。次に、読み出しデータと格納先識別情報であるＢＭ２と（Ａ５０３）を受信したＭＡＣ１は、格納先識別情報であるＢＭ２に基づいて、読み出しデータをバスマスタ５＿２に送出する（Ｂ５１３）。
【００６３】
図５を用いて説明したように、読み出し要求はバスマスタ５＿１から送出され、その格納先はバスマスタ５＿２である。この場合でも、バスマスタ５＿１は、優先度と格納先識別番号であるＢＭ２とを関連付けた読み出し要求を、ＭＡＣ１に対して送出すれば良いことが分かる。後は上述したメモリアアクセス制御システムにより、メインメモリシステム２から読み出された読み出しデータが、バスマスタ５＿２に格納されることになる。
【００６４】
＜動作例３：バスマスタ５＿２が、宛先をローカルメモリ３とした場合＞
図６は、バスマスタ５＿２が、格納先識別情報を、ローカルメモリ３を示す識別番号であるＬ２として、メインメモリ２０２に対する読み出し要求を送出した場合の、読み出し要求の内容、格納先識別情報と読み出しデータとの内容、読み出しデータの転送経路を具体的に示した図である。この図６を用いて、バスマスタ５＿２がメインメモリ２０２に対する読み出し要求を送出し、読み出しデータをローカルメモリ３に格納する場合の、メモリアクセス制御システムの動作について説明する。
【００６５】
まず、バスマスタ５＿２は、格納先識別情報をＬ２とした読み出し要求（Ａ６０１）を、ＭＡＣ１に送出する（Ｂ６１１）。なお、この読み出し要求（Ａ６０１）には、ローカルメモリ３のアドレスを指定する格納先アドレスが含まれている。次に、ＭＡＣ１は、読み出し要求（Ａ６０１）を、メインメモリシステム２に送出する。ここで、ＭＡＣ１は、格納先アドレスと優先度とを関連付けて（Ａ６０２）、ＭＡＣ１の内部の宛先情報記憶部１０３に記憶する。
【００６６】
次に、ＭＡＣ１は、読み出しデータ転送要求信号（Ａ６０３）を、メインメモリシステム２に送出する。メインメモリシステム２は、読み出しデータ転送要求信号（Ａ６０３）を受信したことに応じて、読み出しデータと格納先識別情報であるＬ２と（Ａ６０４）を、ＭＡＣ１に送出する。次に、読み出しデータと格納先識別情報であるＬ２と（Ａ６０４）を受信したＭＡＣ１は、格納先識別情報がＬ２であることから、宛先情報記憶部１０３から優先度が最も高い格納先アドレスを、ＭＡＣ１の内部の宛先情報記憶部１０３から読み出し、格納先識別情報がＬ２で識別されるローカルメモリ３の、読み出した格納先アドレスに、読み出しデータを格納する（Ｂ６１３）。
【００６７】
図６を用いて説明したように、バスマスタ５＿２はＭＡＣ１にメモリアクセス要求を出す際に、ローカルメモリ３を示す識別情報（Ｌ２）とした格納先識別情報と、ローカルメモリ３の格納先アドレスと、優先度と、およびメインメモリ２０２から読み出す読み出しアドレスとを関連づけて、読み出し要求として、ＭＡＣ１に送出する。ＭＡＣ１は、ローカルメモリ３を示す識別情報、優先度、メインメモリ２０２の読み出しアドレスを関連付けてメインメモリシステム２に対して読み出し要求を出すと共に、ＭＡＣ１が内蔵する宛先情報記憶部１０３に優先度とローカルメモリ３の格納先アドレスとを関連付けて記憶する。
【００６８】
その後、ＭＡＣ１は、メインメモリシステム２に対して読み出しデータ転送要求信号を出すことにより、読み出された読み出しデータと一緒に転送されてきた格納先識別情報が、ローカルメモリ３を示す場合には、ＭＡＣ１が内蔵する宛先情報記憶部１０３から最も優先度の高いローカルメモリ３の格納先アドレスを選択し、選択した最も優先度の高い格納先アドレスに、読み出しデータを格納する。なお、ＭＡＣ１は、最も優先度の高い格納先を複数見つけた場合には、最初に保管された格納先アドレスに読み出しデータを格納する。
【００６９】
＜実施形態の動作のまとめ＞
以上に説明した実施形態によるメモリアクセス制御システムにおいて特徴的となる構成は、ＭＡＣ１からメインメモリシステム２に対する読み出し要求に、バスマスタ５がＭＡＣ１に対して読み出し要求を出す都度設定可能な優先度、格納先の格納先識別番号、および、読み出し先のメインメモリ２０２の読み出しアドレスを含むことである。
【００７０】
この読み出し要求をＭＡＣ１から受け取ったメインメモリシステム２は、メインメモリ２０２から該当するデータを読み出しデータとして読み出し、読み出した読み出しデータと、優先度と、格納先識別番号とを関連付けて、優先処理機能付きＦＩＦＯ２０１に格納する。次にＭＡＣ１からメインメモリシステム２に対して読み出しデータ転送要求信号が送出されると、メインメモリシステム２は優先処理機能付きＦＩＦＯ２０１に格納されている読み出しデータの優先度を調べ、優先度の高い読み出しデータから順に格納先識別番号と読み出しデータとを関連付けてＭＡＣ１に送出する。
【００７１】
なお、メインメモリシステム２は、同じ優先度の読み出しデータが複数見つかった場合には、メインメモリ２０２から読み出され優先処理機能付きＦＩＦＯ２０１に格納された順に従ってＭＡＣ１に送出する。ここで、メインメモリシステム２が、ＭＡＣ１に送出する読み出しデータには、優先度の情報は不要である。次に、ＭＡＣ１は、メインメモリシステム２から読み出しデータを受け取った順に、読み出しデータと一緒に転送されてきた格納先識別番号が示す格納先に、読み出しデータを格納し、一連のメモリアクセスが終了する。
【００７２】
以上示したように、マルチコア方式のＣＰＵを用いて情報処理を並列に行うシステムに本実施形態を適用すると、共有されるメインメモリ２０２への読み出し要求に対して、その読み出しデータが適切なタイミングで転送され処理されるように、読み出し要求毎に優先度を設定してアクセスすることが容易になり、情報処理システム全体の性能が向上するという効果がある。
また、ＭＡＣ１は、メインメモリシステム２に対する読み出し要求と重ならないタイミングで、メインメモリシステム２に対して読み出しデータ転送要求信号を出すことが出来るので、メモリバス６を効率的に使うことが出来る。
【００７３】
また、メモリアクセス制御システムにおいて、優先処理機能付きＦＩＦＯ２０１とメインメモリ２０２からなるメインメモリシステム２は、以上のような構成とその動作により、メモリアクセスの優先度処理制御を、ＭＡＣ１と分担することができ、そのため、ＭＡＣ１とメインメモリシステム２とは、それぞれ、比較的簡単な制御を行うだけで済む。
【００７４】
例えば、ＭＡＣ１の読み出し要求についての処理は、バスマスタ５から入力された読み出し要求をメインメモリシステム２に転送するのみである。また、ＭＡＣ１の読み出しデータを転送する処理については、メインメモリシステム２から入力される格納先識別情報と読み出しデータとを、入力された順に、読み出しデータを格納先識別情報で示される格納先に送信するのみである。そのため、ＭＡＣ１が実行する処理は、簡単な処理となる。
【００７５】
また、例えば、ＭＡＣ１のデータ格納部１０２に、メインメモリシステム２から入力される情報は、格納先識別情報と読み出しデータのみであり、優先度の情報は含まれていない。これは、メインメモリシステム２により、優先度に関しての処理が実行されており、ＭＡＣ１は、優先度に関しての処理を実行しないためである。そのため、ＭＡＣ１が実行する処理は、簡単な処理となる。
【００７６】
このように、優先度に応じたメインメモリ２０２からのデータの読出しにおける制御を、ＭＡＣ１とメインメモリシステム２とに分散し、それぞれが比較的簡単な制御を行うだけで済むため、ＭＡＣ１の消費電力を削減でき、ＭＡＣ１の回路規模を削減でき、また、ＭＡＣ１のチップ面積を削減できるという効果がある。
【００７７】
また、本実施形態によれば、メモリアクセスを制御する制御回路（ＭＡＣ１）からの読み出し要求を受けて、メインメモリシステム２が読み出しデータを返すメモリアクセス制御方法において、複数のバスマスタ５からの読み出し要求の優先度が、バスマスタ毎に、また、読み出し要求毎に、変更された場合においても、メインメモリシステム２が、変更された優先度に対応して、優先度の高い読み出しデータから順に返すことで、メモリバス６の利用効率を最適化しつつ、システム全体の性能を向上させることが出来る。
【００７８】
なお、実施形態においては、優先処理制御回路２１５は、読み出しデータ転送要求入力レジスタ部２１１に読み出しデータ転送要求信号が入力されたことに応じて、読み出しデータと格納先識別情報とを出力するとして説明したが、これに限られるものではなく、例えば、優先処理制御回路２１５が、メモリバス６を監視し、メモリバス６にデータを送出する余裕がある場合に、読み出しデータと格納先識別情報とを出力するようにしてもよい。また、例えば、優先処理制御回路２１５が、時刻を計測するタイマーを内部に有し、このタイマーが一定時刻毎に、読み出しデータと格納先識別情報とを出力するようにしてもよい。ただし、これらの場合においても、優先処理制御回路２１５は、優先度に基づいて、読み出しデータと格納先識別情報とを出力する。
【００７９】
なお、実施形態においては、格納先記憶部として、ローカルメモリ３についてのみ説明したが、これに限られるものではなく、格納先記憶部としては、共有バス４の上で一意に識別される格納先識別情報で識別され、またアドレスによりデータが入力される場所を特定することが出来るインターフェースを有していればよい。例えば、格納先記憶部として、ローカルメモリ３以外にも、Ｉ／Ｏ（Input／Output）部などがある。
【００８０】
なお、実施形態においては、メインメモリシステム２が、優先処理機能付きＦＩＦＯ２０１とメインメモリ２０２とを有するものとして説明してきたが、これに限られるものではなく、優先処理機能付きＦＩＦＯ２０１とメインメモリ２０２とは一体として構成してもよいし、独立して構成してもよい。
【００８１】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８２】
本発明の利用分野として、マルチコア方式のＣＰＵを用いて情報処理を並列に行うシステムに広く適用が可能である。また、本発明は、レジスタに転送することを特徴とするメインメモリシステムに適用が可能である。
【図面の簡単な説明】
【００８３】
【図１】この発明の一実施形態によるメモリアクセス制御システムの構成を示すブロック図である。
【図２】ＭＡＣの構成を示すブロック図である。
【図３】メインメモリシステムの構成を示すブロック図である。
【図４】メモリアクセス制御システムの第１の動作例を説明する説明図である。
【図５】メモリアクセス制御システムの第２の動作例を説明する説明図である。
【図６】メモリアクセス制御システムの第３の動作例を説明する説明図である。
【符号の説明】
【００８４】
１  メモリアクセス制御回路、ＭＡＣ
２  メインメモリシステム
３  ローカルメモリ
４  共有バス
５  バスマスタ
５＿１、５＿２、５＿ｎ  バスマスタ
６  メモリバス
１０１  読み出し要求転送部
１０２  データ格納部
１０３  宛先情報記憶部
１０４  バス監視部
１０５  読み出しデータ転送要求送出部
２０１  優先処理機能付きＦＩＦＯ
２０２  メインメモリ
２１０  読み出し要求入力レジスタ部
２１１  読み出しデータ転送要求入力レジスタ部
２１２  データ読み出し部
２１３  読み出しデータ登録部
２１４  レジスタ部
２１５  優先処理制御回路
２１６  出力レジスタ部
２１７  書込みポインタ部
２１８  読み出しポインタ部
【図１】
2008276638.tif 000003
【図２】
2008276638.tif 000004
【図３】
2008276638.tif 000005
【図４】
2008276638.tif 000006
【図５】
2008276638.tif 000007
【図６】
2008276638.tif 000008