JP2008077389A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2008077389A
JP2008077389A JP2006255867A JP2006255867A JP2008077389A JP 2008077389 A JP2008077389 A JP 2008077389A JP 2006255867 A JP2006255867 A JP 2006255867A JP 2006255867 A JP2006255867 A JP 2006255867A JP 2008077389 A JP2008077389 A JP 2008077389A
Authority
JP
Japan
Prior art keywords
controller
area
pci
interrupt
register
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
JP2006255867A
Other languages
English (en)
Inventor
Yasutake Ueda
泰毅 上田
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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2006255867A priority Critical patent/JP2008077389A/ja
Publication of JP2008077389A publication Critical patent/JP2008077389A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置を提供する。
【解決手段】タイマ割込機能を有するCPU202のタイマレジスタに対応する領域をPCIメモリ500内に設け、MFPコントローラ100からPCIメモリ500に設けられた当該領域にアクセスすることにより、カウントの開始を書き込めるようにする。
【選択図】図1

Description

本発明は、データ処理装置に関する。
従来、ホストコントローラと複数のデバイスコントローラ間を接続する代表的なバスとして、PCI(Peripheral Components Interconnect)バスがある。従来のPCIバスは、ホストコントローラに対して専用線を用いて割り込みの通知が可能である。従来、PCIバスは、パーソナルコンピュータにおいて、I/Oデバイスを接続するために作成されたものであるため、割込信号は、各デバイスからホストコントローラ方向への割込信号にのみ対応していた。
PCIバスを組み込みシステムに採用する場合、ホストコントローラから各デバイスへの割り込み、さらに各デバイス間での相互割り込み信号が必要となってくる。このような組み込みシステムとして、たとえば、特許文献1に記載されたものがある。同文献に記載されたシステムは、PCIバス経由で、割込メッセージを書き込むメモリ回路およびこのメモリ回路への書き込みの完了を検知して割込要求信号をCPU(Central Processing Unit)に対して発生する割込要求発生回路を有するMCC(Multi-processor Communication Controller)を設け、CPUに対して割り込みを通知する。
特開平1−133169号公報
しかし、このような割り込みを発生させるためには、CPUに対して、割込線と割込コントローラを追加する必要があり、装置構成が複雑になるという問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置を提供することにある。
本発明によれば、
CPUを含む第1のコントローラと、
カウントの開始を書き込む開始書込レジスタ、および当該開始書込レジスタへの書き込みに基づき、所定クロック数のカウントによりタイマ割込を発生するタイマコントロールを含むCPUを含む第2のコントローラと、
前記第1のコントローラに割り当てられた第1の割当領域および前記第2のコントローラに割り当てられた第2の割当領域を含むとともに、前記第2の割当領域中に前記開始書込レジスタに対応する開始書込領域を含み、前記第1のコントローラおよび前記第2のコントローラからアクセス可能な共有メモリと、
を含み、
前記第1のコントローラは、前記第2の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記第2のコントローラへの割込指示があると、前記マッピング情報記憶部を参照して、前記第2の割当領域の前記開始書込領域に前記カウントの開始を書き込む第1の共有メモリコントローラと、を含み、
前記第2のコントローラは、前記第2の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記開始書込領域への書き込みを前記開始書込レジスタに反映させる第2の共有メモリコントローラと、を含むデータ処理装置が提供される。
このようにすれば、CPUがもともと有するタイマ割込機能を用いて他のコントローラからの割込を行うため、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができる。
前記第1のコントローラおよび前記第2のコントローラはPCIバスを介して接続することができる。また、前記共有メモリはPCIメモリとすることができる。さらに、前記第1の共有メモリコントローラおよび前記第2の共有メモリコントローラはPCIコントローラとすることができる。
前記タイマコントロールは、1クロックのカウントによりタイマ割込を発生することができる。これにより、遅延をほとんど生じることなくタイマ割込を発生させることができる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置が提供される。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図1は、本発明の実施の形態におけるデータ処理装置の構成を示すブロック図である。本実施の形態において、データ処理装置は、ホストコントローラ(MFPコントローラ100)、および複数のデバイスコントローラ、たとえば、ネットワークコントローラ200、USBコントローラ300、CDRWコントローラ400等を含む複合装置10である。複合装置10は、たとえばMFP(Multi Functional Peripheral)とすることができる。
MFPコントローラ100は、複合装置10の本体装置のコントローラであり、複合装置10全体を制御する。MFPコントローラ100は、CPU102を含む。ネットワークコントローラ200は、複合装置10と、パーソナルコンピュータ等の他の装置との通信インタフェース部として機能する。ネットワークコントローラ200は、CPU202を含む。
本実施の形態において、MFPコントローラ100、ネットワークコントローラ200、USBコントローラ300およびCDRWコントローラ400は、PCIバス600を介して接続される。また、複合装置10は、MFPコントローラ100、ネットワークコントローラ200、USBコントローラ300およびCDRWコントローラ400からアクセス可能な共有メモリであるPCIメモリ500を含む。これらのコントローラは、PCIバス600を介してPCIメモリ500にアクセス可能である。PCIメモリ500には、後述するように、各コントローラに割り当てられた領域が設けられる。図示していないが、複合装置10は、さらにコピーコントローラやプリンタコントローラ等を含むことができる。
図2は、MFPコントローラ100およびネットワークコントローラ200の構成を詳細に示すブロック図である。
MFPコントローラ100は、CPU102、割込指示部104、PCIコントローラ106、およびマッピング情報記憶部108を含む。ネットワークコントローラ200は、CPU202、割込指示部204、PCIコントローラ206、およびマッピング情報記憶部208を含む。
CPU102は、MFPコントローラ100の各要素とともにMFPコントローラ100全体を制御する。CPU202は、ネットワークコントローラ200の各要素とともにネットワークコントローラ200全体を制御する。
図3は、CPU202の構成を詳細に示すブロック図である。
CPU202は、開始書込レジスタ210、クロック数設定レジスタ212、およびタイマコントロール214を含む。タイマコントロール214は、所定クロック数のカウントによりタイマ割込を発生する。クロック数設定レジスタ212には、タイマコントロール214がカウントするクロック数が設定される。開始書込レジスタ210には、カウントの開始を書き込む。タイマコントロール214は、開始書込レジスタ210にカウントの開始が書き込まれると、クロック数設定レジスタ212に設定されたクロック数のカウントを開始する。図示していないが、本実施の形態において、MFPコントローラ100のCPU102も、CPU202と同じ構成を有する。
図4は、PCIメモリ500の内部構成を示す図である。
PCIメモリ500は、MFPコントローラ100に割り当てられたMFPコントローラ領域502(第1の割当領域)、ネットワークコントローラ200に割り当てられたネットワークコントローラ領域504(第2の割当領域)、USBコントローラ300に割り当てられたUSBコントローラ領域506等を含む。図示していないが、PCIメモリ500には、複合装置10の各デバイスコントローラにそれぞれ割り当てられた領域が設けられる。
ネットワークコントローラ領域504には、CPU202の開始書込レジスタ210に対応するタイマレジスタ領域512(開始書込領域)が設けられる。同様に、MFPコントローラ領域502には、CPU102の開始書込レジスタに対応するタイマレジスタ領域510が設けられる。
図2に戻り、マッピング情報記憶部108は、PCIメモリ500に割り当てられた各領域のアドレスを記憶する。マッピング情報記憶部108は、少なくともネットワークコントローラ領域504中のタイマレジスタ領域512のアドレスを記憶する。PCIコントローラ106は、MFPコントローラ100と他のコントローラとのPCIバス600を介したデータの授受を制御する。割込指示部104は、他のコントローラに割込を行う指示をPCIコントローラ106に対して行う。PCIコントローラ106は、割込指示部104からの指示を受けて、マッピング情報記憶部108を参照して割込対象のコントローラのタイマレジスタ領域のアドレスを取得し、PCIメモリ500の対応する領域に所定クロックのカウントの開始を書き込む。
また、PCIコントローラ106は、PCIメモリ500のMFPコントローラ領域502にデータが書き込まれると、マッピング情報記憶部108を参照して、書き込まれた内容をMFPコントローラ100の対応する要素に反映させる。
同様に、マッピング情報記憶部208は、PCIメモリ500に割り当てられた各領域のアドレスを記憶する。本実施の形態において、マッピング情報記憶部208は、少なくともMFPコントローラ領域502中のタイマレジスタ領域510のアドレスを記憶する。PCIコントローラ206は、ネットワークコントローラ200と他のコントローラとのPCIバス600を介したデータの授受を制御する。割込指示部204は、他のコントローラに割込を行う指示をPCIコントローラ206に対して行う。PCIコントローラ206は、割込指示部204からの指示を受けて、マッピング情報記憶部208を参照して割込対象のコントローラのタイマレジスタ領域に所定クロックのカウントの開始を書き込む。
また、PCIコントローラ206は、PCIメモリ500のネットワークコントローラ領域504にデータが書き込まれると、マッピング情報記憶部208を参照して、書き込まれた内容をネットワークコントローラ200の対応する要素に反映させる。たとえば、PCIメモリ500のネットワークコントローラ領域504のタイマレジスタ領域512に所定クロックのカウントの開始が書き込まれると、PCIコントローラ206は、CPU202の開始書込レジスタ210に所定クロックのカウントの開始を反映させる。これにより、タイマコントロール214がクロック数設定レジスタ212に設定されたクロック数のカウントを開始し、所定クロック数がカウントされると割込が発生する。
本実施の形態において、たとえばMFPコントローラ100からネットワークコントローラ200に割込を発生させるために、ネットワークコントローラ200のCPU202が有するタイマ割込機能を利用する。ここで、タイマコントロール214に、1クロックのカウントでタイマ割込を発生させるように設定しておく。すなわち、本実施の形態において、クロック数設定レジスタ212には、1クロックを設定する。また、上述したように、CPU202の開始書込レジスタ210を、MFPコントローラ100が書き込み可能に設定しておく。具体的には、PCIメモリ500の開始書込レジスタ210に対応するタイマレジスタ領域512にタイマカウントの書込開始が書き込まれると、開始書込レジスタ210に反映されるようにしておく。MFPコントローラ100からネットワークコントローラ200に割込を発生させる際、MFPコントローラ100は自装置内で必要な処理を行った後、PCIメモリ500のタイマレジスタ領域512に開始を書き込む。これにより、CPU202において、書き込みから1クロックでタイマ割込が発生する。このような構成とすることにより、割込線と割込コントローラを実装する必要なく、外部割り込みを行うことができる。
次に、以上のように構成された複合装置10の動作について、図5を参照して以下に説明する。以下では、MFPコントローラ100からネットワークコントローラ200に割込を行う場合を例として説明する。
まず、ネットワークコントローラ200の開始書込レジスタ210(タイマレジスタ)を、MFPコントローラ100等の外部デバイスから書き込めるようにしておく(ステップS100)。具体的には、PCIメモリ500のネットワークコントローラ領域504に、開始書込レジスタ210に対応するタイマレジスタ領域512を設ける。また、MFPコントローラ100およびネットワークコントローラ200にそれぞれマッピング情報記憶部108およびマッピング情報記憶部208を持たせる。
さらに、CPU202のクロック数設定レジスタ212のクロック数を1クロックに設定しておく(S102)。以上により、設定処理が終了する。
このような状態で、PCIコントローラ206がタイマレジスタ領域512への書き込みを検出すると、PCIコントローラ206は、CPU202の開始書込レジスタ210にこの書き込みを反映させる。これにより、タイマコントロール214は、タイマレジスタに書き込みがあったと判断し(S104)、クロック数設定レジスタ212に設定されたクロック数のカウントを開始する。次いで、1クロックがカウントされ(S106)、CPU202にタイマ割込が発生する(S108)。その後、割り込み処理が行われる(S110)。
なお、図1〜図4において、本発明の本質に関わらない部分の構成については省略してある。また、複合装置10の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
以上、図面を参照して本発明の実施の形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以上の実施の形態では、MFPコントローラ100からネットワークコントローラ200に割込を行う場合を例として説明したが、ネットワークコントローラ200からMFPコントローラ100に割込を行う場合も同様とすることができる。
本発明の実施の形態における複合装置の構成を示すブロック図である。 図1のMFPコントローラおよびネットワークコントローラの構成を詳細に示すブロック図である。 図2のCPUの構成を示すブロック図である。 図2のPCIメモリの構成を示す図である。 本発明の実施の形態の複合装置の処理手順を示すフローチャートである。
符号の説明
10 複合装置
100 MFPコントローラ
104 割込指示部
106 PCIコントローラ
108 マッピング情報記憶部
200 ネットワークコントローラ
204 割込指示部
206 PCIコントローラ
208 マッピング情報記憶部
210 開始書込レジスタ
212 クロック数設定レジスタ
214 タイマコントロール
300 USBコントローラ
400 CDRWコントローラ
500 PCIメモリ
502 MFPコントローラ領域
504 ネットワークコントローラ領域
506 USBコントローラ領域
510 タイマレジスタ領域
512 タイマレジスタ領域
600 バス

Claims (3)

  1. CPUを含む第1のコントローラと、
    カウントの開始を書き込む開始書込レジスタ、および当該開始書込レジスタへの書き込みに基づき、所定クロック数のカウントによりタイマ割込を発生するタイマコントロールを含むCPUを含む第2のコントローラと、
    前記第1のコントローラに割り当てられた第1の割当領域および前記第2のコントローラに割り当てられた第2の割当領域を含むとともに、前記第2の割当領域中に前記開始書込レジスタに対応する開始書込領域を含み、前記第1のコントローラおよび前記第2のコントローラからアクセス可能な共有メモリと、
    を含み、
    前記第1のコントローラは、前記第2の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記第2のコントローラへの割込指示があると、前記マッピング情報記憶部を参照して、前記第2の割当領域の前記開始書込領域に前記カウントの開始を書き込む第1の共有メモリコントローラと、を含み、
    前記第2のコントローラは、前記第2の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記開始書込領域への書き込みを前記開始書込レジスタに反映させる第2の共有メモリコントローラと、を含むデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記第1のコントローラおよび前記第2のコントローラはPCIバスを介して接続され、前記共有メモリはPCIメモリであって、前記第1の共有メモリコントローラおよび前記第2の共有メモリコントローラはPCIコントローラであるデータ処理装置。
  3. 請求項1または2に記載のデータ処理装置において、
    前記タイマコントロールは、1クロックのカウントによりタイマ割込を発生するデータ処理装置。
JP2006255867A 2006-09-21 2006-09-21 データ処理装置 Pending JP2008077389A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006255867A JP2008077389A (ja) 2006-09-21 2006-09-21 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006255867A JP2008077389A (ja) 2006-09-21 2006-09-21 データ処理装置

Publications (1)

Publication Number Publication Date
JP2008077389A true JP2008077389A (ja) 2008-04-03

Family

ID=39349375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255867A Pending JP2008077389A (ja) 2006-09-21 2006-09-21 データ処理装置

Country Status (1)

Country Link
JP (1) JP2008077389A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224671A (ja) * 2009-03-19 2010-10-07 Nec Corp マルチプロセッサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224671A (ja) * 2009-03-19 2010-10-07 Nec Corp マルチプロセッサシステム

Similar Documents

Publication Publication Date Title
JP2004280790A (ja) Ecc制御装置
US7725621B2 (en) Semiconductor device and data transfer method
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
US20100153622A1 (en) Data Access Controller and Data Accessing Method
JP4472646B2 (ja) システム制御装置、システム制御方法及びシステム制御プログラム
JPWO2009098737A1 (ja) 外部デバイスアクセス装置、その制御方法及びシステムlsi
JP4693843B2 (ja) メモリ制御装置及びメモリ制御方法
JP2006268753A (ja) Dma回路及びコンピュータシステム
EP2194458A2 (en) Request processing device, request processing system, and access testing method
JP2008077389A (ja) データ処理装置
JP2008046981A (ja) システム制御装置、情報処理装置および入出力要求制御方法
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
JP2007264751A (ja) データ転送制御装置
JP2007219925A (ja) バス制御装置、バス制御プログラム及び記録媒体
EP0784819A1 (en) A cache flush mechanism for a secondary cache memory
WO2021192098A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2010140440A (ja) バス調停装置
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム
JP3511407B2 (ja) インタフェースボード及び命令処理装置
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP2006155488A (ja) データ処理装置およびデータ処理方法
JP2008225894A (ja) Sdramコントローラ
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2007316880A (ja) デュアルポートメモリのアクセス権調停方式
JP6007822B2 (ja) フォールトトレラントサーバ、およびそのメモリコピー方法