(57)【要約】      （修正有）【課題】複数のマスターからのリード要求を同時にさばくと共に、メモリリードアクセスの頻度が高いマスターに対してより効率的にデータを返す。【解決手段】優先順位の高い１個の第１マスター及びこれより優先順位の低い少なくとも２個の第２マスターからのメモリリード要求を受けるアービターのアービトレーション結果に基づいてメモリにアクセスする装置において、前記メモリに対するブロックリード要求並びに前記第１マスターまたは前記第２マスターからのメモリリード要求がある場合に、第１優先順位に設定された前記第１マスターからのメモリリード要求、若しくは、この第１マスターがアクセスする前記メモリのバンクとは異なるバンク対して前記第２マスターからのメモリリード要求があるときに、前記第１マスターのメモリリード要求と同時に、この第１マスターがアクセスするバンクと同一バンクの別データにアクセス可能な、先行リード指令を発行する。【選択図】図１
2010191845.tif 000002
【特許請求の範囲】
【請求項１】
優先順位の高い１個の第１マスター及びこれより優先順位の低い少なくとも２個の第２マスターからのメモリリード要求を受けるアービターのアービトレーション結果に基づいてメモリにアクセスし、取得したデータを前記第１マスター又は第２マスターに返すメモリアクセス装置において、
前記メモリに対するブロックリード要求並びに前記第１マスターまたは前記第２マスターからのメモリリード要求がある場合に、第１優先順位に設定された前記第１マスターからのメモリリード要求、若しくは、この第１マスターがアクセスする前記メモリのバンクとは異なるバンク対して前記第２マスターからのメモリリード要求があるときに、前記第１マスターのメモリリード要求と同時に、この第１マスターがアクセスするバンクと同一バンクの別データにアクセス可能な、先行リード指令を発行する高効率処理装置を備えたことを特徴とするメモリアクセス装置。
【請求項２】
前記高効率処理装置は、前記メモリに対するブロックリード要求並びに前記第１マスターまたは前記第２マスターからのメモリリード要求がある場合に、前記第１マスターがアクセスする前記メモリのバンクとは異なるバンク対して前記第２マスターからのメモリリード要求があるときに、選択された１個の前記第２マスターに対して同時リード指令を発行することを特徴とする請求項１に記載のメモリアクセス装置。
【請求項３】
前記高効率処理装置は、前記アービターで設定される前記第２マスターの優先順位情報に基づいて、同時リード指令を発行する対象となる１個の前記第２マスターを選択するためのテーブル手段を備えることを特徴とする請求項２に記載のメモリアクセス装置。
【請求項４】
前記ブロックリード要求は、前記第１マスターより発行されることを特徴とする請求項１乃至３のいずれかに記載のメモリアクセス装置。
【請求項５】
前記メモリは、ＤＲＡＭであることを特徴とする請求項１乃至４のいずれかに記載のメモリアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、優先順位の高い１個の第１マスター及びこれより優先順位の低い少なくとも２個の第２マスターからのメモリリード要求を受けるアービターのアービトレーション結果に基づいてメモリにアクセスし、取得したデータを前記第１マスター又は第２マスターに返すメモリアクセス装置に関するものである。
【背景技術】
【０００２】
図６は、従来のメモリアクセス装置の構成例を示す機能ブロック図である。メモリにアクセスしたいマスター（ＣＰＵ）が４個存在する場合を考える。このとき、メインプロセッサのようにメモリアクセス頻度の高い第１マスター１０（以下、マスターＳ）が１個存在し、ＤＭＡのようにメモリアクセス頻度の低い複数個の第２マスター２０（以下、マスターＡ），３０（以下、マスターＢ），４０（以下、マスターＣ）が存在するのが一般的である。
【０００３】
メモリコントローラ５０は、マスターＳのメモリリード要求Ｓreq、マスターＡのメモリリード要求Ａreq、マスターＢのメモリリード要求Ｂreq、マスターＣのメモリリード要求Ｃreqを受け付けるアービター５１と、メモリアクセス制御信号生成器５２とを備える。
【０００４】
アービター５１は、各マスターからのメモリリード要求を、予め設定されている優先順位に基づいて調停した結果、今回どのマスターがメモリアクセスできるかを決定し、アービトレーション結果ＡＢＴを、メモリアクセス制御信号生成器５２に送る。
【０００５】
メモリアクセス制御信号生成器５２は、アービトレーション結果ＡＢＴを受け、複数のバンクＭ１，Ｍ２，Ｍ３，…Ｍｎに分割されているＤＲＡＭで構成されるメモリ６０に対する各マスターのリード要求に対応するメモリリードアクセスＸＳ，ＸＡ，ＸＢ，ＸＣを発生させる。メモリ６０から取得されたデータは、逆の経路を経て要求元のマスターに返される。
【０００６】
メモリアクセス制御信号生成器５２は、マスターＳからブロックリード要求ＢＲを受けた場合には、複数の連続したアドレスを指定してメモリ６０にアクセスし、複数の連続データを読み出して要求元のマスターに返す。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０５−０８８９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来構成のメモリアクセス装置では、次のような問題がある。
（１）メモリコントローラ５０は、各マスターに1つずつメモリリードアクセスを許可するため、アービター５１での競合が起きた場合、時系列的処理のため、メモリ６０からのリードデータを返すまでに時間がかかる。
【０００９】
（２）また、マスターＳが特にメモリリードアクセスの頻度が高い場合、メモリコントローラ５０は、そのリード要求の度にメモリ６０にアクセスしなければならないので、アクセス効率が悪い。
【００１０】
（３）いずれの場合も、ＤＲＡＭで構成されるメモリ６０に複数のバンクがあって、異なるバンクへ同時アクセスが可能であり、更に同一バンク内の異なるアドレスへのアクセスも可能であるという、メモリコントローラとメモリ間のバス帯域が広い特性を上手く活用できていないと言える。
【００１１】
本発明の目的は、メモリコントローラとメモリ間の広いバス帯域を活かして、複数のマスターからのリード要求を同時にさばくと共に、特にメモリリードアクセスの頻度が高いマスターに対してより効率的にリードデータを返すことが可能なメモリアクセス装置を実現することにある。
【課題を解決するための手段】
【００１２】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）優先順位の高い１個の第１マスター及びこれより優先順位の低い少なくとも２個の第２マスターからのメモリリード要求を受けるアービターのアービトレーション結果に基づいてメモリにアクセスし、取得したデータを前記第１マスター又は第２マスターに返すメモリアクセス装置において、
前記メモリに対するブロックリード要求並びに前記第１マスターまたは前記第２マスターからのメモリリード要求がある場合に、第１優先順位に設定された前記第１マスターからのメモリリード要求、若しくは、この第１マスターがアクセスする前記メモリのバンクとは異なるバンク対して前記第２マスターからのメモリリード要求があるときに、前記第１マスターのメモリリード要求と同時に、この第１マスターがアクセスするバンクと同一バンクの別データにアクセス可能な、先行リード指令を発行する高効率処理装置を備えたことを特徴とするメモリアクセス装置。
【００１３】
（２）前記高効率処理装置は、前記メモリに対するブロックリード要求並びに前記第１マスターまたは前記第２マスターからのメモリリード要求がある場合に、前記第１マスターがアクセスする前記メモリのバンクとは異なるバンク対して前記第２マスターからのメモリリード要求があるときに、選択された１個の前記第２マスターに対して同時リード指令を発行することを特徴とする（１）に記載のメモリアクセス装置。
【００１４】
（３）前記高効率処理装置は、前記アービターで設定される前記第２マスターの優先順位情報に基づいて、同時リード指令を発行する対象となる１個の前記第２マスターを選択するためのテーブル手段を備えることを特徴とする（２）に記載のメモリアクセス装置。
【００１５】
（４）前記ブロックリード要求は、前記第１マスターより発行されることを特徴とする（１）乃至（３）のいずれかに記載のメモリアクセス装置。
【００１６】
（５）前記メモリは、ＤＲＡＭであることを特徴とする（１）乃至（４）のいずれかに記載のメモリアクセス装置。
【発明の効果】
【００１７】
本発明によれば、以下のような効果を期待することができる。
（１）ＡＡＣＴ同時リード機能により、メモリコントローラ５０は、第１マスターＳとその他の第２マスター（マスターＡ、マスターＢ、マスターＣのいずれか）に同時にメモリアクセスを許可できるため、アービター５１での競合が起きても、同時にメモリ６０からのリードデータを要求元のマスターに返すことができる。ただし、異なるバンクへのメモリリード要求があった場合である。
【００１８】
この機能は、特にメモリリードアクセスの頻度が高いマスターとその他のマスターに同時にメモリアクセスを許可でき、同時にメモリ６０からのリードデータを夫々のマスターに返すことができるため、アクセス効率が良い。
【００１９】
ＣＣＡＳ先行リード機能により、特にメモリリードアクセスの頻度が高いマスターが存在した場合、同一バンク内のメモリにアクセスし、先行して読み出しておいたデータを返せるためアクセス効率が良い。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用したメモリアクセス装置の一実施例を示す機能ブロック図である。
【図２】本発明で使用される論理回路の一実施例を示す回路構成図である。
【図３】本発明で使用されるテーブル手段の一実施例を示す表である。
【図４】本発明で使用されるテーブル手段の他の実施例を示す表である。
【図５】本発明で使用されるテーブル手段の更に他の実施例を示す表である。
【図６】従来のメモリアクセス装置の構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００２１】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用したメモリアクセス装置の一実施例を示す機能ブロック図である。図６で説明した従来装置と同一要素には同一符号を付して説明を省略する。
【００２２】
図１において、従来装置に追加された本発明の特徴部は、メモリコントローラ５０内において、アービター５１とメモリアクセス制御信号生成器５２の間に設けられた高効率処理手段１００の構成にある。
【００２３】
高効率処理手段１００は、論理回路１０１及びテーブル手段１０２を備え、アービター５１と同様に各マスターからのメモリリード要求Ｓreq、Ａreq、Ｂreq、Ｃreqを入力すると共に、マスターＳからのブロックリード要求ＢＲ及びアービター５１から各マスター間の優先順位情報ＰＲＩを入力する。
【００２４】
図２は、高効率処理手段１００における論理回路１０１の一実施例を示す回路構成図である。第１マスターまたは第２マスターからのリードアクセス要求有りの論理入力Ｌ１とブロックリード要求有りの論理入力Ｌ２でオンとなるＡＮＤゲートＧ１の論理出力Ｌ３がアンドゲートＧ２及びＧ３の論理入力となっている。
【００２５】
この条件で、マスターＳの優先順位が１位の論理入力Ｌ４、またはマスターＳとは異なるバンクへの他のマスターからのアクセス要求有りの論理入力Ｌ５の何れかでオンとなるＯＲゲートＧ４の論理出力Ｌ６がアンドゲートＧ２に入力される。アンドゲートＧ２の論理出力Ｌ７により、高効率処理手段１００は、ＣＣＡＳリード指令をメモリアクセス制御信号生成器５２に発行する。
【００２６】
ＣＣＡＳは、Continuous CASの略で、ＤＲＡＭにおいてブロックリード要求ＢＲがあった場合に、そのアクセスと同時に同一バンク内の別データを読み込むよう指示する信号である。ＣＣＡＳ機能を利用することにより、今回必要なリードデータの他に、別途先行して読み出しておきたいデータを読み出すことが可能とり、アクセス頻度の高いマスターＳのメモリアクセス効率を高めることができる。
【００２７】
論理出力Ｌ３がアンドゲートＧ３の論理入力となっている条件において、マスターＳとは異なるメモリバンクへの他のマスターからのアクセス要求有りの論理入力Ｌ５は、アンドゲートＧ３に入力される。アンドゲートＧ３の論理出力Ｌ８により起動されるテーブル手段１０２の処理で選択されるマスターに対し、高効率処理手段１００は、ＡＡＣＴ同時リード指令ＡＡＣＴ−ＡまたはＡＡＣＴ−ＢまたはＡＡＣＴ−Ｃの何れかをメモリアクセス制御信号生成器５２に発行する。
【００２８】
ＡＡＣＴは、Another ACTの略で、マスターＳの他に、マスターＡ、マスター、マスターＣのいずれかも同時にメモリリードアクセスできることを指示する信号である。この機能により、２つのマスターに同時にリードデータを返すことができる。
【００２９】
つまり、ＣＣＡＳ機能とＡＡＣＴ機能により、最大で第１マスターであるマスターＳの２アクセスと、第２マスター（ＡorＢorＣ）の１アクセスの計３アクセスを同時に処理することが可能となる。
【００３０】
図３乃至図５によりテーブル手段１０２の構成と動作を説明する。ここで、アービター５１で設定されるマスターＡのメモリアクセス優先順位をＡpri、マスターＢのメモリアクセス優先順位をＢpri、マスターＣのメモリアクセス優先順位をＣpriと表記する。
【００３１】
図３に示すテーブル１では、アクセス要求Ａreq、Ｂreq、Ｃreqが単独で発生し、互いに競合がない場合であり、夫々の要求に対してＡＡＣＴ−Ａ，ＡＡＣＴ−Ｂ，ＡＡＣＴ−Ｃがメモリアクセス制御信号生成器５２に発行される。
【００３２】
図４に示すテーブル２では、アクセス要求ＡreqとＢreqが競合した場合（ａ）、ＡreqとＣreqが競合した場合（ｂ）、ＢreqとＣreqが競合した場合（ｃ）におけるＡＣＴ−Ａ，ＡＡＣＴ−Ｂ，ＡＡＣＴ−Ｃの発行形態を、優先順位に応じて（イ），（ロ），（ハ）で示したものである。
【００３３】
ＡreqとＢreqが競合した場合（ａ）において、（イ）Ａpri＞（Ｂpri，Ｃpri）の優先形態では、ＡＡＣＴ−Ａが発行される。（ロ）Ｂpri＞（Ａpri，Ｃpri）の優先形態では、ＡＡＣＴ−Ｂが発行される。（ハ）Ｃpri＞（Ａpri，Ｂpri）の優先形態では、Ａpri＞Ｂprであれば、ＡＡＣＴ−Ａが、その他の場合にはＡＡＣＴ−Ｂが発行される。
【００３４】
ＡreqとＣreqが競合した場合（ｂ）において、（イ）Ａpri＞（Ｂpri，Ｃpri）の優先形態では、ＡＡＣＴ−Ａが発行される。（ロ）Ｂpri＞（Ａpri，Ｃpri）の優先形態では、Ａpri＞Ｃprであれば、ＡＡＣＴ−Ａが、その他の場合にはＡＡＣＴ−Ｃが発行される。（ハ）Ｃpri＞（Ａpri，Ｂpri）の優先形態では、ＡＡＣＴ−Ｃが発行される。
【００３５】
ＢreqとＣreqが競合した場合（ｃ）において、（イ）Ａpri＞（Ｂpri，Ｃpri）の優先形態では、Ｂpri＞Ｃpriであれば、ＡＡＣＴ−Ｂが、その他の場合にはＡＡＣＴ−Ｃが発行される。（ロ）Ｂpri＞（Ａpri，Ｃpri）の優先形態では、ＡＡＣＴ−Ｂが発行される。（ハ）Ｃpri＞（Ａpri，Ｂpri）の優先形態では、ＡＡＣＴ−Ｃが発行される。
【００３６】
図５に示すテーブル３では、ＡreqとＢreqとＣreqの３者が競合した場合、（イ）Ａpri＞（Ｂpri，Ｃpri）の優先形態では、ＡＡＣＴ−Ａが発行される。（ロ）Ｂpri＞Ｃpriの優先形態では、ＡＡＣＴ−Ｂが発行される。（ハ）その他の場合にはＡＡＣＴ−Ｃが発行される。
【００３７】
以上説明した実施例では、第２マスターとしてマスターＡ，Ｂ，Ｃの３台を例示したが、４台以上または２台であってもよい。また、実施例ではブロックリード要求ＢＲが第１マスターであるマスターＳから発行される形態を例示したが、これに限定されるものではない。
【符号の説明】
【００３８】
１０  マスターＳ
２０  マスターＡ
３０  マスターＢ
４０  マスターＣ
５０  メモリコントローラ
５１  アービター
５２  メモリアクセス制御信号生成器
６０  メモリ
１００  高効率処理装置
１０１  論理回路
１０２  テーブル手段
【図１】
2010191845.tif 000003
【図２】
2010191845.tif 000004
【図６】
2010191845.tif 000005
【図３】
2010191845.tif 000006
【図４】
2010191845.tif 000007
【図５】
2010191845.tif 000008