JP2013131139A - アクセス制御装置、画像処理装置及びアクセス制御方法 - Google Patents

アクセス制御装置、画像処理装置及びアクセス制御方法 Download PDF

Info

Publication number
JP2013131139A
JP2013131139A JP2011281734A JP2011281734A JP2013131139A JP 2013131139 A JP2013131139 A JP 2013131139A JP 2011281734 A JP2011281734 A JP 2011281734A JP 2011281734 A JP2011281734 A JP 2011281734A JP 2013131139 A JP2013131139 A JP 2013131139A
Authority
JP
Japan
Prior art keywords
access
access request
input
port
storage device
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.)
Pending
Application number
JP2011281734A
Other languages
English (en)
Inventor
Tomohiro Shima
智広 島
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2011281734A priority Critical patent/JP2013131139A/ja
Publication of JP2013131139A publication Critical patent/JP2013131139A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】演算装置によるメモリアクセスの優先度判断において、処理の種類毎に異なる優先度の判断を可能とすること。
【解決手段】RAM102へのアクセスを制御するアドレスデコータ111であって、RAM102へのアクセス要求を取得するアクセス要求取得部111aと、複数の入出力ポート毎に設定された優先度に応じてRAM102へのアクセスを調停するアービタ115に対して、取得されたアクセス要求を出力するアクセス要求出力部111cと、アクセス要求の内容に応じて複数の入出力ポートのいずれかを選択するためのアドレス領域設定テーブルを参照し、取得されたアクセス要求に基づいて入出力ポートを選択するポート選択部111bとを含むことを特徴とする。
【選択図】図5

Description

本発明は、アクセス制御装置、画像処理装置及びアクセス制御方法に関し、特に、メモリアクセス優先度の制御に関する。
PC(Personal Computer)等の情報処理装置において、CPU(Central Processing Unit)やDMAC(Direct Memory Access Controller)等のマスタがRAM(Random Access Memory)等のメモリを共用する場合、各マスタからのアクセス要求を調停してメモリへのアクセス権をマスタに付与するアービタが用いられる。
従来のアービタは、CPU及び複数のDMAの夫々について優先度が設定されており、夫々の優先度に応じてメモリへのアクセス権をマスタに付与する。このようなアービタにおいて、動的なアービトレーションを可能とするため、アービトレーションテーブルを切り替える方法が提案されている(例えば、特許文献1参照)。
特許文献1に開示された技術においては、装置の動作状態に応じてマスタ毎のアクセス優先度を設定することは可能である。他方、装置において複数のソフトウェア・プログラムが動作している場合、CPUによるメモリアクセスは、夫々のソフトウェア・プログラム毎に発生する。
そして、メモリアクセス優先度はマスタ毎に判断されるため、特許文献1において開示された技術を用いたとしても、同一のタイミングにおいてCPUから発生した複数のメモリアクセスは、同一のマスタであるCPUからのメモリアクセスであるため、同一の優先度で扱われる。
しかしながら、同一マスタであるCPUからのアクセスであっても、メモリアクセス元となるソフトウェア・プログラムによっては優先度が異なる。即ち、優先させるべき処理と後回しでもよい処理とがあり、優先させるべき処理が後回しにされないように、CPUのアクセス優先度は高く設定されることが一般的である。その結果、CPUによる優先度の低い処理によるメモリアクセスが、優先させるべきDMACのメモリアクセスよりも優先されてしまうようなことが起こり得る。
例えば、スキャナ機能及びプロッタ機能を含む複合機においては、スキャナ、プロッタ等のエンジンやハードウェアアクセラレータ等に搭載されるDMACのメモリアクセスと、CPUによって処理される画像処理等のメモリアクセスとがアービタによって調停される。
そして、スキャン機能やプロッタ機能に関係するCPUによる画像処理は、スキャナの線速やプロッタの線速に間に合わせる必要があるため、高い優先度が求められる。他方、CPUによって実行される処理には優先度の低い処理もあるが、上述したような画像処理によるメモリアクセスの優先度を上げるためにCPUのアクセス優先度が高く設定されているため、優先度の低い処理までが、他のDMACによるメモリアクセスよりも優先されてしまうこととなる。
このような課題は、上述した複合機に限らず、CPU及びDMACによるメモリアクセスの調停が必要な情報処理装置において同様に課題となり得る。
本発明は、上記実情を考慮してなされたものであり、演算装置によるメモリアクセスの優先度判断において、処理の種類毎に異なる優先度の判断を可能とすることを目的とする。
上記課題を解決するために、本発明の一態様は、主記憶装置へのアクセスを制御するアクセス制御装置であって、前記主記憶装置へのアクセス要求を取得するアクセス要求取得部と、複数の入出力ポート毎に設定された優先度に応じて前記主記憶装置へのアクセスを調停するアービタに対して、取得された前記アクセス要求を出力するアクセス要求出力部と、前記アクセス要求の内容に応じて前記複数の入出力ポートのいずれかを選択するためのポート選択情報を参照し、取得された前記アクセス要求に基づいて前記複数の入出力ポートのいずれかを選択するポート選択部とを含み、前記アクセス要求出力部は、選択された入出力ポートに対して前記アクセス要求を出力することを特徴とする。
また、本発明の他の態様は、画像処理装置であって、上記アクセス制御装置を含むことを特徴とする。
また、本発明の更に他の態様は、主記憶装置へのアクセスを制御するアクセス制御方法であって、前記主記憶装置へのアクセス要求を取得し、複数の入出力ポート毎に設定された優先度に応じて前記主記憶装置へのアクセスを調停するアービタの前記複数の入出力ポートのいずれかを前記アクセス要求に基づいて選択するためのポート選択情報を参照し、取得された前記アクセス要求及び前記ポート選択情報に基づいて前記複数の入出力ポートのいずれかを選択し、選択された入出力ポートに対して前記アクセス要求を出力することを特徴とする。
本発明によれば、演算装置によるメモリアクセスの優先度判断において、処理の種類毎に異なる優先度の判断を可能とすることができる。
本発明の実施形態に係る画像処理装置の全体構成を示すブロック図である。 本発明の実施形態に係るメモリアクセス要求に含まれる情報を示す図である。 本発明の実施形態に係るメモリ領域マップを示す図である。 本発明の実施形態に係るアドレス領域設定テーブルを示す図である。 本発明の実施形態に係るアドレスデコータの機能構成を示す図である。 本発明の実施形態に係る優先度設定情報の例を示す図である。 本発明の他の実施形態に係る画像処理装置の全体構成を示すブロック図である。 本発明の他の実施形態に係るメモリ領域マップを示す図である。 本発明の他の実施形態に係るアドレス監視部が保持している情報を示す図である。 本発明の他の実施形態に係るコントローラチップの動作を示すフローチャートである。 本発明の他の実施形態に係る画像処理装置の全体構成を示すブロック図である。 本発明の他の実施形態に係るコア設定情報を示す図である。 本発明の他の実施形態に係るアドレス領域設定記憶部が保持している情報を示す図である。
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機(MFP:Multi Function Peripheral)としての画像処理装置において、CPUによるメモリアクセス優先度を処理の内容に応じて制御する機能について説明する。
図1は、本実施形態に係る画像処理装置1の全体構成を示すブロック図である。図1に示すように、本実施形態に係る画像処理装置1は、コントローラボード100、エンジンボード200、スキャナ210及びプロッタ220を含む。スキャナ210は、画像処理装置1がスキャン動作、複写動作及びファックス送信動作を実行する際に原稿を読み取る読取装置である。プロッタ220は、画像処理装置1がプリントアウト動作、複写動作及びファックス受信動作を実行する際に画像形成出力を実行する印刷装置である。
エンジンボード200は、スキャナ210及びプロッタ220を制御する制御基板であり、画像処理ASIC(Application Specific Integrated Circuit)201を含む。画像処理ASIC201は、スキャナ210によって原稿が読み取られて生成された画像情報を処理する機能や、プロッタ220が紙面上に形成するべき画像の情報を処理する機能を含む。
コントローラボード100は、画像処理装置1の全体を制御する制御部であり、CPU(Central Processing Unit)101、RAM(Random Access Memory)102及びコントローラチップ110を含む。CPU101は演算装置であり、RAM102にロードされたソフトウェア・プログラムに従って演算を行うことにより、夫々のプログラムに従った処理を実行する。
RAM102は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、COU101を動作させるためのソフトウェア・プログラムがロードされる他、CPU101が処理を実行する際の作業領域として用いられる主記憶装置である。RAM102へのアクセス権の優先度の判断が本実施形態に係る要旨である。
コントローラチップ110は、コントローラボード100に搭載される機能が実装された集積回路であり、本実施形態の要旨に係る機能として、CPU101によるRAM102へのアクセスに際して優先度を判断する際に、処理の内容に応じて異なる判断を行う機能を有する。
ここで、CPU101からRAM102へのメモリアクセス要求に含まれる情報の例を図2に示す。図2に示すように、CPU101からRAM102へのメモリアクセス要求には、“read/write識別子”、“アクセス先アドレス”、“アクセス範囲”及び“アクセス元マスタ”の情報が含まれる。
“read/write識別子”は、メモリへの情報の書込み命令であるか、読出し命令であるかを識別する識別子である。“アクセス先アドレス”は、メモリアクセスする対象のアドレスを示す情報であり、本実施形態においてはアクセス範囲の開始アドレスを示す。“アクセス範囲”は、上記開始アドレスから情報を読み出し若しくは書き込む範囲を示す情報である。“アクセス元マスタ”は、メモリアクセスを要求したマスタを示す情報であり、CPU101や、PCIeインタフェース117及びDMAC118等のマスタを識別する情報である。
このように、CPU101からRAM102へのメモリアクセス要求には、メモリアクセスの主体である処理、即ちソフトウェア・プログラムを判別可能な情報は含まれず、メモリアクセスにおいて必要最低限の情報のみが含まれる。そのため、CPU101からRAM102へのメモリアクセス要求に含まれる情報のみに基づいて、メモリアクセスの処理の元となっているプログラムを判断することはできない。
これに対して、本実施形態に係るコントローラチップ110を含む画像処理装置1においては、RAM102のメモリ領域を図3に示すように優先度別に区切った仕様を前提とする。そして、CPU101を動作させるためのソフトウェア・プログラムを作成する際に、上記優先度に従ったメモリ領域を用いるようにプログラムを作成する。そして、図2に示すようなアクセス要求に含まれる“アクセス先アドレス”に基づいて処理の優先度を判断する。
次に、コントローラチップ110の構成について説明する。図1に示すように、本実施形態に係るコントローラチップ110は、アドレスデコーダ111、アドレス領域設定記憶部112、第1ポート113、第2ポート114、アービタ115、メモリコントローラ116、PCIe(Peripheral Component Interface−Express)インタフェース117及びDMAC(Cirect Memory Access Controller)118a、118b、118c(以降、総じてDMAC118とする)を含む。
アドレスデコータ111は、CPU101からのメモリアクセス要求に基づいてアクセス優先度を判断する。具体的に、アドレスデコーダ111は、第1ポート113及び第2ポート114の2つのポートを介してアービタ115と接続されており、図2に示すようなアクセス要求に含まれる“アクセス先アドレス”に応じて、第1ポート113及び第2ポート114のいずれかを選択してアービタにメモリアクセス要求を行う。即ち、アドレスデコータ111が、主記憶装置であるRAM102へのアクセスをアービタ115の前段において制御するアクセス制御装置として機能する。
この際、アドレスデコータ111は、アドレス領域設定記憶部112に格納されているアドレス領域設定テーブルを参照する。アドレス領域設定記憶部112は、図3に示すようなメモリ領域マップに対応する情報として、図4に示すような、アドレス領域と選択ポートとが関連付けられたアドレス領域設定テーブルを記憶している。アドレスデコータ111は、図4に示すような情報に基づき、メモリアクセス要求に含まれる“アクセス先アドレス”に基づいて第1ポート及び第2ポートのいずれかを選択する。
即ち、本実施形態においては、図4に示すアドレス領域設定テーブルが、アクセス要求の内容に応じて複数の入出力ポートのいずれかを選択するためのポート選択情報として用いられる。図4における“アドレス領域”の情報が、RAM102における記憶領域の範囲を特定する情報であり、夫々の範囲に対して入出力ポートのいずれかが関連付けられている。
図3に示すメモリ領域マップ及び図4に示すアドレス領域設定テーブルの関係について更に説明する。図3に示すメモリ領域マップの構成例として、例えば、割込みハンドラが格納されるメモリ領域の優先度を高くすることが考えられる。この場合、図4に示すアドレス領域設定テーブルにおいて、割込みハンドラが格納されるアドレス領域を優先度の高いポートに関連付ける。これにより、CPU以外のマスタであって高い優先度が求められる他のマスタの処理を優先させ、割込み応答性を向上させることができる。
また、スキャナ210によるスキャン動作に関連する画像処理や、プロッタ220による画像形成出力動作に関連する画像処理を行うアプリケーションが格納されるメモリ領域や、処理対象の画像データが格納されるメモリ領域の優先度を高くすることが考えられる。この場合、図4に示すアドレス領域設定テーブルにおいて、上記アプリケーションや処理対象の画像データが格納される領域を優先度の高いポートに関連付ける。これにより、スキャナ210及びプロッタ220のライン線速に間に合うように画像処理を行い、欠陥画像の発生を防ぐことができる。
図5は、アドレスデコータ111内部の機能構成を示すブロック図である。図5に示すように、アドレスデコータ111は、CPU101からメモリアクセス要求を取得するアクセス要求取得部111aと、アドレス領域設定テーブルを参照して第1ポート113及び第2ポート114のいずれかを選択するポート選択部111bと、選択されたポートにメモリアクセス要求を出力するアクセス要求出力部111cとを含む。
第1ポート113、第2ポート114は、夫々アドレスデコータ111がCPU101からの要求に基づいてアービタ115に対してメモリアクセス要求を行うためのポートである。アービタ115は、第1ポート113及び第2ポート114に対応するポートの他、複数のDMAC118やPCIeインタフェース117に対応するポートも含めて、複数のポートを有する。本実施形態に係るアドレスデコータ111には、アービタ115が元々有している複数のポートのうちの2つが割り当てられ、第1ポート113及び第2ポート114として選択的に用いられる。
アービタ115は、アドレスデコータ111を介したCPU101の他、DMAC118等の各種のマスタからのメモリアクセス要求を調停する。上述したしたように、アービタ115は夫々のマスタと接続されるための複数のポートを有し、夫々のポート毎に優先度が設定されている。夫々のポート毎に設定された優先度は、アービタ115において優先度設定情報として記憶されている。
メモリコントローラ116は、アービタ115の要求に応じてRAM102への情報の書込み及び情報の読み出しを行う。PCIeインタフェース117は、メモリアクセスのマスタの1つであり、PCIeバスを介して画像処理ASIC201と接続されている。DMAC118は、メモリアクセスのマスタの1つであり、CPU101によるレジスタ設定に従って、ダイレクトメモリアクセスを行うコントローラである。
このような構成において、本実施形態に係る要旨は、アドレスデコータ111を介したCPU101によるメモリアクセスの処理にある。以下、CPU101によるメモリアクセスの詳細について説明する。図6は、アービタ115が記憶している優先度設定情報の例を示す図である。図6に示すように、アービタ115に搭載されているポート毎に優先度が設定されており、アービタ115は、図6に示すようなテーブルに従って、CPU101やDMAC118及びPCIeインタフェース117からのメモリアクセス要求を調停する。
アドレスデコータ111とアービタ115とを接続する第1ポート113及び第2ポート114は、アービタ115において夫々異なるポートに接続されている。従って、アドレスデコータ111においてアドレス領域に応じて第1ポート及び第2ポートのいずれかが選択されてアービタ115に対してメモリアクセス要求が行われると、アービタ115においては、選択されたポートに応じた優先度の判断が行われる。
上述したように、第1ポート113及び第2ポート114の選択は、図4に示すようにアクセス先のアドレスに応じて行われる。そして、図3において説明したように、CPU101に演算を行わせるためのプログラムを作成する際に、夫々のプログラムによって実行される処理の重要度に応じて、夫々のプログラムがアクセスする先のアドレスが指定される。
即ち、CPU101の処理の内容に応じて、アクセス先のアドレスが指定され、アクセス先のアドレスに応じてアービタ115のポートが選択され、アービタ115においてポートに応じた優先度でメモリアクセスが処理されるため、結果的にCPU101の処理の内容に応じた優先度が適用されることとなる。
以上、説明したように、本実施形態に係るコントローラチップ110を含む画像処理装置1においては、CPU101を動作させるためのプログラムを作成する際に、図3のように予め想定されたメモリ領域マップに従い、プログラム毎の処理の優先度に応じた領域を使用するようにプログラムを構築する。
そして、アドレスデコータ111は、図4に示すように、メモリ領域マップに対応したアドレス領域設定テーブルを参照して、CPU101からのメモリアクセス要求に含まれるアクセス先アドレスに応じたポートを選択する。アービタ115においては、従来から用いられているアービタと同様に、複数のポート夫々に対応した優先度が設定されており、夫々のポートの優先度に応じてメモリアクセス権を付与するように調停を行う。
従って、本実施形態に係るコントローラチップ110を含む画像処理装置1においては、演算装置によるメモリアクセスの優先度判断において、処理の種類毎に異なる優先度の判断が可能となる。
尚、上記実施形態においては、複合機である画像処理装置1を例として説明した。上述したように、画像処理装置1においては、CPU101によって実行される処理として、スキャナ210、プロッタ220と連動した画像処理のように、線速に応じた処理が求められる重要度の高い処理や、表示部、操作部に関連する処理のように、比較的優先度の低い処理があり、夫々について同一の優先度を適用することは好ましくない。
従って、本実施形態に係るコントローラチップ110及び図3に示すようなメモリ領域マップの仕様を画像処理装置1に適用することにより、本件発明に係る効果をより有効に得ることができる。しかしながら、画像処理装置1への適用は一例であり、CPU101のような演算装置が複数種類のプログラムに従って動作し、メモリアクセスを行う情報処理装置であれば同様に適用することが可能である。
また、上記実施形態においては、図4に示すように、アドレス領域設定テーブルが、全アドレス領域について第1ポート113及び第2ポート114のいずれかと関連付けられた情報である場合を例として説明した。しかしながら、第1ポート113及び第2ポート114のように2つのポートのいずれかを選択する場合であれば、いずれか一方のポートを選択するアドレス領域のみを設定しておき、それ以外のアドレス領域に対するアクセスであれば他方のポートを選択するようにしても良い。これにより、アドレス領域設定テーブルの情報量を削減することができる。
また、上記実施形態においては、アドレスデコータ111とアービタ115との接続ポートとして第1ポート113及び第2ポート114の2つを設ける場合を例として説明した。そのため、CPU101からのメモリアクセスの優先度は、処理の内容に応じて2つの優先度が適用される。しかしながら、これは一例であり、3種類以上の優先度を切り替えて用いるために、アドレスデコータ111とアービタ115の接続ポートを3つ以上設けても良い。
この場合、図3において説明したメモリ領域マップは、アドレスデコータ111とアービタ115との接続ポートの数に応じた優先度毎に領域分けされ、その領域分けに応じて図4に示すアドレス領域設定テーブルを生成することにより、上記と同様に実現可能である。
また、上記実施形態においては、同一マスタによるメモリアクセス優先度を処理の内容に応じて変える実施例として、CPU101が実行する処理の内容に応じた優先度を変える場合を例として説明した。CPU101は様々なプログラムに従って演算を行い、処理の種類が多岐にわたるため、本実施形態を適用する意義が大きい。
しかしながら、メモリアクセス主体はCPU101に限られるものではなく、DMAC118であっても同様に適用可能である。DMAC118がメモリアクセス要求を行う際には、CPU101によってアクセス先アドレス及びアクセス範囲がレジスタ設定され、DMAC118はレジスタ設定に従ってメモリアクセスを行う。
従って、DMAC118が本実施形態に係るアドレスデコータ111を介してアービタ115に接続されており、CPU101がDMAC118にメモリアクセスを実行させる際のアクセス先アドレスを、図3において説明したようなメモリ領域マップに従って変えることにより、DMAC118によるメモリアクセスであっても上記と同様の効果を得ることが可能である。
また、上記実施形態においては、アドレスデコータ111がアドレス領域設定記憶部112に格納されているアドレス領域設定テーブルに基づいてポートを選択する場合を例として説明した。このアドレス領域設定はレジスタによって実現することが可能であり、画像処理装置1の動作状態、動作条件等に応じて設定を変更することが可能である。また、アドレス領域設定記憶部112が、予め複数のアドレス領域設定テーブルを記憶しており、適用するアドレス領域設定テーブルを条件に応じて切り替えるようにしても良い。
実施の形態2.
実施の形態1においては、CPU101が1つの場合を例として説明した。これに対して、近年ではマルチプロセッサ構成の情報処理装置や、1つのプロセッサ内に複数のコアが含まれるマルチコアプロセッサ等、演算主体が複数である情報処理装置が広く用いられている。本実施形態においては、このような演算主体が複数の場合を例として説明する。
図7は、本実施形態に係る画像処理装置1の全体構成を示すブロック図である。図7に示すように、本実施形態に係る画像処理装置1は、実施の形態1に係る画像処理装置1と略同一の構成を有する。以下、本実施形態に係る画像処理装置1の構成について、実施の形態1との相違点について説明する。
図7に示すように、本実施形態に係る画像処理装置1は、CPU101a、CPU101bの2つのCPUを有する。2つのCPU101a、101bは、夫々が独立して演算を行い、独立してアドレスデコータ111と接続されている。尚、2つのCPU101a、101bは、プロセッサとして完全に独立した構成であっても良いし、1つのプロセッサ内に2つのコアが含まれる構成であっても良い。
このように2つのプロセッサが含まれる情報処理装置においては、一方のプロセッサと他方のプロセッサとの間で情報をやり取りするCPU間通信が行われる場合がある。このCPU間通信は、一方のプロセッサからRAM102に情報が書き込まれた上で、他方のプロセッサがその情報を読み出すことによって実行される。このCPU間通信に対応することが本実施形態に係る要旨である。
そのため、本実施形態においては、図8に示すように、メモリ領域マップの構成においてCPU間通信を行うための領域が設定され、CPU間通信の際には図7に示すように設定されたアドレスの領域が用いられる。そして、図4において説明したアドレス領域設定テーブルにおいて、CPU間通信において用いられる領域を優先度の高いポートに関連付ける。これにより、CPU間通信が優先して処理され、マルチプロセッサ構成の情報処理においてプロセッサ間の連携性を高めることができる。
本実施形態に係るアドレスデコータ111とアービタ115は、実施の形態1と同様に2つのポートを介して接続されているが、その一方のポートは、アドレス監視部119を介して、第1出力ポート113a、113bによって接続されている。また、アドレス監視部119には、CPU101a、101bへの割込みを制御するINTC(INTerrupt Controller)120が接続されている。
アドレス監視部119は、第1ポート113a、113bを介してアービタ115に通知されるメモリアクセス要求のアクセス先アドレスを監視し、CPU101aとCPU101bとの間の通信、即ちCPU間通信であるか否かを判断する。そのため、アドレス監視部119は、図9に示すような“先頭アドレス”及び“終点アドレス”の情報を記憶しており、第1ポート113aを介して入力されるメモリアクセス要求の“アクセス先アドレス”が上記“先頭アドレス”及び“終点アドレス”によって特定されるアドレス範囲に含まれる場合は、CPU間通信の発生を検知してINTC120にCPU間通信の発生を通知する。
アドレス監視部119からINTC120への通知には、CPU間通信の発生検知を示す識別子に加えて、CPU間通信の検知対象となったメモリアクセス要求の情報、即ち、図2に示す情報が含まれる。INTC120は、アドレス監視部119からCPU間通信の通知を受けると、“アクセス元マスタ”とは異なる側のCPU(以降、受け側CPUとする)に対して割込みを発生させると共に“アクセス先アドレス”及び“アクセス範囲”を通知する。
受け側CPUは、CPU間通信の割込みが発生すると、同時に通知された“アクセス先アドレス”及び“アクセス範囲”から情報を読み出すメモリアクセス要求を行い、情報を取得する。このような処理により、実施の形態1と同様の効果を得ると共に、CPU間通信についても任意の優先度によって実現することが可能となる。
図10を参照して、本実施形態に係る動作について説明する。図10に示すように、CPU101a、101bいずれかによるメモリアクセスが発生すると(S1001)、アドレスデコーダ111は、メモリアクセス要求に含まれる“アクセス先アドレス”に基づき、図4に示すアドレス領域設定テーブルを参照して第1ポート、第2ポートのいずれかを選択する(S1002)。
アドレスデコータ111は、第1ポートを選択した場合(S1002/YES)第1ポート113aを介してアドレス監視部119にメモリアクセス要求を転送する。アドレス監視部119は、メモリアクセス要求を受け付けると、図9において説明した情報を参照し、メモリアクセス要求に含まれる“アクセス先アドレス”に基づいてCPU間通信であるか否かを判断する(S1003)。
S1003の判断の結果、CPU間通信であった場合(S1003/YES)、アドレス監視部119は第1ポート113bを介してメモリアクセス要求を転送することにより、第1ポートでメモリアクセスを行うと共に、INTC120にCPU間通信の発生を通知することにより、INTC120に割込みを発生させる(S1004)。
割込みが発生したCPU101a又はCPU101bは、S904のメモリアクセスによってRAM102の所定領域にデータが書き込まれると、メモリアクセス要求によりそのデータを読み出してCPU間通信を完了する(S1007)。尚、S1004の第1ポートメモリアクセスが完了したことは、アドレス監視部119及びINTC120の機能によって通知される。
S1003の判断においてCPU間通信ではなかった場合(S1003/NO)、アドレス監視部119は第1ポート113bを介してメモリアクセス要求を転送することにより、第1ポートでメモリアクセスを行い(S1005)、処理を終了する。また、S1002の判断において第2ポートを選択した場合(S1002/NO)、アドレスデコータ111は、第2ポート114を介してアービタ115にメモリアクセス要求を行う。
このような処理により、本実施形態のようなマルチプロセッサ構成の装置において、CPUによって実行される処理の内容に応じた優先度によるメモリアクセスの調停制御を、CPU間通信のためのメモリアクセスの優先度も考慮して行うことが可能となる。
尚、図7の構成は、マルチプロセッサ構成の場合を示す例であるが、上述したように、1つのプロセッサ内の複数のコアが含まれるマルチコアプロセッサが近年主流となっている。そのようなマルチコアプロセッサの場合の構成例を図11に示す。マルチコアプロセッサを用いる場合、図11に示すように、CPU101以外の構成は図1の構成と略同一である。
図11の構成におけるCPU101は、夫々が独立した演算装置として機能するコアA101A及びコアB101Bに加えて、GIC(General Interrupt Controller)101Cを含む。コアA101A及びコアB101Bは、図7において説明したCPU101a、101bと同様に、夫々独立してアドレスデコータ111と接続されている。
GIC101Cは、コアA101AとコアB101Bとの間のコア間通信が発生した場合の割込み制御を行う。即ち、GIC101Cは、図7の例においてCPU間通信が発生した場合のINTC120に相当する機能を担う。
図11に示す画像処理装置1において例えば、コアA101AからコアB101Bへの情報の受け渡しによるコア間通信が発生すると、コアA101Aは、受け渡すべきデータをRAM102に書き込むためのメモリアクセス要求を行うと共に、GIC101Cに対してコア間通信の発生を通知する。GIC101Cは、コア間通信が発生した通知を受けると、コアB101Bに対して割込みを発生させる。
コアB101Bは、GIC101Cの機能より割込みが発生すると、コア間通信におけるデータの受け渡しよう領域として予め定められているメモリ領域に対して、メモリアクセス要求を行い、コアA101Aによって書き込まれた受け渡し用のデータを読み込む。このような処理により、コア間通信が完了する。
このような態様は、図8において説明したメモリ領域マップと同様に、コア間通信に用いられるメモリ領域が予め定められていれば、アドレスデコータ111は、特に複数のコアが存在することを意識することなく、図1において説明した態様と同様の処理を実行するのみで実現することが可能である。
実施の形態3.
実施の形態1、2においては、図3及び図8において説明したようなメモリ領域マップに従ってRAM102の記憶領域を利用し、アドレスデコータ111においてアドレス領域に応じたポートを選択することによって、CPUによるメモリアクセスの優先度を処理の内容に応じて変化させる場合について説明した。
本実施形態においては、図7及び図11のような、独立して演算を行う複数のプロセッサ若しくは複数のコアがある場合におけるアドレスデコータ111によるポート選択の態様として、実施の形態2とは異なる態様について説明する。尚、以下の説明においては、図11の構成を例として説明するが、図7の構成においても同様である。
図2において説明したように、メモリアクセス要求にはメモリアクセスの要求元得御特定する“アクセス元マスタ”の情報が含まれるため、アドレスデコータ111は、コアA101Aによるメモリ要求か、コアB101Bによるメモリ要求かを判断することができる。そして、マルチコアプロセッサを用いる情報処理装置1においては、処理の内容に応じてコアA101AとコアB101Bとのいずれのコアによって演算を行うかが予め定められている場合がある。
従って、画像処理装置1の動作を制御するためのソフトウェア・プログラムを構築する際に、優先度の高い処理と優先度の低い処理とで、処理させるコアを予め定めておくことにより、アドレスデコータ111において、メモリアクセスの要求元のマスタを示す“アクセス元マスタ”の情報に基づいて優先度を判断することが可能となる。
そのため、本実施形態に係るアドレスデコータ111は、図4に示すようなドレス領域設定テーブルに替えて、図12に示すように、“アクセス元マスタ”と選択するべきポートとが関連付けられたコア設定情報に基づいて、コアA101A及びコアB101Bからのメモリアクセス要求を第1ポート113、第2ポート114のいずれかに振り分ける。
このような態様により、マルチコアプロセッサを用いる装置やマルチプロセッサ構成の装置において、コアやプロセッサに基づいたメモリアクセス優先度の判断が可能となる。
尚、図2において説明したようなアドレス領域設定テーブルを用いて、“アクセス先アドレス”に基づいてポートを判断する態様と、本実施形態に係る態様とを組み合わせて利用することも可能である。即ち、CPU101に演算を行わせるためのプログラムの構築に際して、図7に示すようなメモリ領域マップに対応したプログラムを構築すると共に、上述したように、処理の内容に応じて演算を行うコアを定めておく。
そして、アドレス領域設定記憶部112は、図13に示すように、アドレス領域と“アクセス元マスタ”であるコアの種類との組み合わせ毎に、選択するべきポートが関連付けられた情報を記憶しておく。このような構成において、アドレスデコータ111は、図13に示すようアドレス領域設定記憶部112に記憶された情報を参照し、メモリアクセス要求に含まれる“アクセス先アドレス”及び“アクセス元マスタ”に関連付けられているポートを選択する。このような態様により、メモリアクセス要求に含まれる限られた情報に基づいてより詳細な優先度の判断が可能となる。
1 画像処理装置
100 コントローラボード
101 CPU
102 RAM
110 コントローラチップ
111 アドレスデコータ
111a アクセス要求取得部
111b ポート選択部
111c アクセス要求出力部
112 アドレス領域設定記憶部
113 第1ポート
114 第2ポート
115 アービタ
116 メモリコントローラ
117 PCIeインタフェース
118、118a、118b、118c DMAC
119 アドレス監視部
120 INTC
200 エンジンボード
201 画像処理ASIC
210 スキャナ
220 プロッタ
特開2010−218170号公報

Claims (10)

  1. 主記憶装置へのアクセスを制御するアクセス制御装置であって、
    前記主記憶装置へのアクセス要求を取得するアクセス要求取得部と、
    複数の入出力ポート毎に設定された優先度に応じて前記主記憶装置へのアクセスを調停するアービタに対して、取得された前記アクセス要求を出力するアクセス要求出力部と、
    前記アクセス要求の内容に応じて前記複数の入出力ポートのいずれかを選択するためのポート選択情報を参照し、取得された前記アクセス要求に基づいて前記複数の入出力ポートのいずれかを選択するポート選択部とを含み、
    前記アクセス要求出力部は、選択された入出力ポートに対して前記アクセス要求を出力することを特徴とするアクセス制御装置。
  2. 前記アクセス要求は、前記主記憶装置における記憶領域を指定するアドレスの情報を含み、
    前記ポート選択情報は、前記主記憶装置における記憶領域の範囲を特定する情報を含み、
    前記ポート選択部は、前記ポート選択情報において特定される前記主記憶装置における記憶領域の範囲と前記アクセス要求において特定される前記主記憶装置における記憶領域とに基づいて前記複数の入出力ポートのいずれかを選択することを特徴とする請求項1に記載のアクセス制御装置。
  3. 前記ポート選択情報は、前記主記憶装置における記憶領域と前記複数の入出力ポートのいずれかとが関連付けられた情報を含み、
    前記ポート選択部は、前記アクセス要求において特定される前記主記憶装置における記憶領域に関連付けられた入出力ポートを選択することを特徴とする請求項2に記載のアクセス制御装置。
  4. 前記ポート選択情報において、割込みハンドラが格納される前記主記憶装置上の領域が、他の入出力ポートよりも優先度の高い入出力ポートと関連付けられていることを特徴とする請求項3に記載のアクセス制御装置。
  5. 前記ポート選択情報において、等時性が要求される処理を行うプログラムが格納される前記主記憶装置上の領域が、他の入出力ポートよりも優先度の高い入出力ポートと関連付けられていることを特徴とする請求項3または4に記載のアクセス制御装置。
  6. 前記ポート選択情報において、複数の演算装置の間でやりとりされる情報が格納される前記主記憶装置上の領域が、他の入出力ポートよりも優先度の高い入出力ポートと関連付けられていることを特徴とする請求項3乃至5のいずれか1項に記載のアクセス制御装置。
  7. 前記アクセス要求は、前記主記憶装置へのアクセスの要求元を識別する情報を含み、
    前記ポート選択情報は、前記主記憶装置へのアクセスの要求元を特定する情報を含み、
    前記ポート選択部は、前記ポート選択情報において特定されるアクセスの要求元と前記アクセス要求において特定されるアクセスの要求元とに基づいて前記複数の入出力ポートのいずれかを選択することを特徴とする請求項1乃至6のいずれか1項に記載のアクセス制御装置。
  8. 前記ポート選択情報は、前記主記憶装置へのアクセスの要求元と前記複数の入出力ポートのいずれかとが関連付けられた情報を含み、
    前記ポート選択部は、前記アクセス要求において特定されるアクセスの要求元に関連付けられた入出力ポートを選択することを特徴とする請求項7に記載のアクセス制御装置。
  9. 請求項1乃至8いずれか1項に記載のアクセス制御装置を含むことを特徴とする画像処理装置。
  10. 主記憶装置へのアクセスを制御するアクセス制御方法であって、
    前記主記憶装置へのアクセス要求を取得し、
    複数の入出力ポート毎に設定された優先度に応じて前記主記憶装置へのアクセスを調停するアービタの前記複数の入出力ポートのいずれかを前記アクセス要求に基づいて選択するためのポート選択情報を参照し、
    取得された前記アクセス要求及び前記ポート選択情報に基づいて前記複数の入出力ポートのいずれかを選択し、
    選択された入出力ポートに対して前記アクセス要求を出力することを特徴とするアクセス制御方法。
JP2011281734A 2011-12-22 2011-12-22 アクセス制御装置、画像処理装置及びアクセス制御方法 Pending JP2013131139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011281734A JP2013131139A (ja) 2011-12-22 2011-12-22 アクセス制御装置、画像処理装置及びアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011281734A JP2013131139A (ja) 2011-12-22 2011-12-22 アクセス制御装置、画像処理装置及びアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2013131139A true JP2013131139A (ja) 2013-07-04

Family

ID=48908620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011281734A Pending JP2013131139A (ja) 2011-12-22 2011-12-22 アクセス制御装置、画像処理装置及びアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2013131139A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015077212A (ja) * 2013-10-16 2015-04-23 株式会社三洋物産 遊技機
JP2015077211A (ja) * 2013-10-16 2015-04-23 株式会社三洋物産 遊技機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015077212A (ja) * 2013-10-16 2015-04-23 株式会社三洋物産 遊技機
JP2015077211A (ja) * 2013-10-16 2015-04-23 株式会社三洋物産 遊技機

Similar Documents

Publication Publication Date Title
KR0160193B1 (ko) 직접메모리접근 제어장치
US7581054B2 (en) Data processing system
US5729714A (en) Shared memory access method and apparatus with address translation
JP2008130056A (ja) 半導体回路
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP2009199414A (ja) マイクロコンピュータ
JP2007219816A (ja) マルチプロセッサシステム
US9172839B2 (en) Image forming apparatus, control method and storage medium
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
JP2013131139A (ja) アクセス制御装置、画像処理装置及びアクセス制御方法
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
JP4446968B2 (ja) データ処理装置
JP5254710B2 (ja) データ転送装置、データ転送方法およびプロセッサ
JP4053545B2 (ja) グラフィックスプロセッサおよび図形処理装置
US20160154603A1 (en) Data transfer control device, apparatus including the same, and data transfer control method
JP2010092101A (ja) 情報処理装置
JP2016224560A (ja) マルチチップシステム、及びその制御方法
JP2005107873A (ja) 半導体集積回路
JP2016154001A (ja) 画像処理装置、画像処理用データ転送制御方法、及び画像処理用データ転送制御プログラム
JP2006277363A (ja) 情報転送方式,画像形成装置
JPS63310060A (ja) マルチプロセツサシステム
JPH05128078A (ja) 並列処理装置
JP2005316621A (ja) バス調停装置および画像処理装置
JP2007108858A (ja) ピン共有装置およびピン共有方法
KR20080089621A (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체