JP2008305232A - Pcカード装置 - Google Patents

Pcカード装置 Download PDF

Info

Publication number
JP2008305232A
JP2008305232A JP2007152691A JP2007152691A JP2008305232A JP 2008305232 A JP2008305232 A JP 2008305232A JP 2007152691 A JP2007152691 A JP 2007152691A JP 2007152691 A JP2007152691 A JP 2007152691A JP 2008305232 A JP2008305232 A JP 2008305232A
Authority
JP
Japan
Prior art keywords
interrupt
cpu
card
data
system bus
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
JP2007152691A
Other languages
English (en)
Inventor
Ryohei Ono
亮平 大野
Yukimasa Shima
幸雅 島
Yasutsugu Nagusa
恭紹 南艸
Takeshi Moro
健 茂呂
Hidekazu Nozuhara
秀和 野津原
Fumi Sato
文 佐藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007152691A priority Critical patent/JP2008305232A/ja
Publication of JP2008305232A publication Critical patent/JP2008305232A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】本発明は、PCIバスを有するホスト装置とPCカードとの間で一方のCPUが相手側のシステムバスに直接干渉することのないPCカード装置を提供することを目的とする。
【解決手段】PCカード装置は、システムバスと、該システムバスに接続されるマスターデバイスと、外部PCIバスと接続可能に構成されるPCIバス・インターフェース・コントローラと、該システムバスと該PCIバス・インターフェース・コントローラとの間に結合される第1のバッファと、該PCIバス・インターフェース・コントローラを介した該PCIバス側からの該第1のバッファへのデータ書込みの完了に応答して、該マスターデバイスに書込み完了信号を通知する通知部を含むことを特徴とする。
【選択図】図2

Description

本発明は、一般に情報転送装置に関し、詳しくはホスト装置との間で情報転送を行うPCカード装置に関する。
PCカード規格は、PCMCIA(Personal Computer Memory Card International Association)とJEIDA(Japanese Electronic Industry Development Association)が共同で標準化した携帯型パソコン用の拡張カードの規格である。この規格に準拠したPCカードは、LAN、モデム、外部記憶機器等を接続するために用いられる。当初のPCカードでは、16ビット幅のバスの規格であるISA(Industry Standard Architecture)に対応して16ビット幅のデータ転送構成となっていた。その後、32ビット幅のバスの規格であるPCI(Peripheral Component Interconnect)に対応して、32ビット幅のデータ転送を行うPCカード規格として、カードバス(CardBus)が利用できるようになっている。
図1は、PCカードバス・インターフェースを有する従来のシステムの構成を示す図である。図1に示すシステムは、携帯型パーソナルコンピュータ等のホスト装置10とPCカード11とを含む。PCカード11は、ホスト装置10のカードバススロットに挿入されて、ホスト装置10とのデータ送受信を行う。PCカード11は、システムバス12、PCIブリッジ回路13、CPU(Central Processing Unit)14、DMAC(Dynamic Memory Access Controller)15、及びメモリ16を含む。
図1に示す従来のシステムにおいて、ホスト装置10内部のPCIバスとPCカード11内部のシステムバス12との間の通信は、バス間の物理インターフェースを変換する役割を担うPCIブリッジ回路13を介して行われる。PCIブリッジ回路13は、PCIプロトコルをシステムバス12のプロトコルに変換することによりホスト装置10側からシステムバス12側への通信を行い、逆にシステムバス12のプロトコルをPCIプロトコルに変換することによりシステムバス12側からホスト装置10側への通信を行う。これにより、ホスト装置10からメモリ16へのデータの書き込みS1や、メモリ16からホスト装置10へのデータ読み出しS2等を実行する。この構成の場合、ホスト装置10からのデータ転送等の要求がある度に、この要求に応じてPCIブリッジ回路13がシステムバス12にアクセスしている。即ち、ホスト装置10側のCPUが、PCIブリッジ回路13を介して、システムバス12に直接に干渉することになる。また逆向きの経路では、PCカード11のCPU14が、PCIブリッジ回路13を介して、ホスト装置10側のシステムバス(PCIバス)に直接干渉することになる。
上記の構成では、以下に説明するような問題点がある。まず第1の問題として、CPUがPCIブリッジ回路を介して相手側のシステムバスに直接干渉することに起因して、システム性能の劣化が起きる場合がある。即ち、ホスト装置10側のCPU又はPCカード11内のCPU14からのデータ転送等の要求に応じてPCIブリッジ回路13が逐次相手側のシステムバスにアクセスすると、各データ転送の度に、相手側のシステムの状態と無関係にバスの使用権を奪うことになる。この結果、CPUが相手側のシステムにデータを転送する度に相手側のシステムの動作が毎回中断されることになり、システム性能が劣化してしまう場合がある。
第2の問題として、検証工数が増大するという問題がある。ホスト装置10側のCPU又はPCカード11内のCPU14からの要求に応じてPCIブリッジ回路13が相手側のシステムバスにアクセスするためには、PCIブリッジ回路13がシステムバスに対するマスター機能を有している必要がある。通常、システムバスに繋がる全てのスレーブに対してマスターからのアクセスが生じ得るので、マスターが1つ増加するとスレーブ数分のアクセス経路が増えることになる。即ち例えば、スレーブの数が3でマスターの数が2であるときアクセス経路の数は全体で6であるが、マスターが1つ増えて3つになると、アクセス経路の数は全体で9に増えることになる。従って、PCIブリッジ回路13を設けることによりマスター数が増加すると、アクセス経路の数が増え、システム設計時の検証作業の手間が増大することになる。
第3の問題として、システム仕様の変更に伴いドライバソフトの仕様の変更が必須になるという問題がある。例えば、図1の構成においてシステムバス12に接続されるメモリやI/Oのマッピング構成が変更されると、それに応じてホスト装置10側でのドライバソフト(通信用プログラム)の仕様を変更することが必要になる。これは、図1のような従来のシステムにおいては、CPUが相手側のメモリやI/Oに直接アクセスする構成となっているからである。相手側のメモリやI/Oのマッピング構成が変更になれば、CPUが相手側のメモリやI/Oにアクセスするために用いるドライバソフトの仕様も当然に変更することが必要になる。
特開平11−39245号公報 特開2000−181858号公報 特開平11−126182号公報
以上を鑑みて本発明は、PCIバスを有するホスト装置とPCカードとの間で一方のCPUが相手側のシステムバスに直接干渉することのないPCカード装置を提供することを目的とする。
PCカード装置は、システムバスと、該システムバスに接続されるマスターデバイスと、外部PCIバスと接続可能に構成されるPCIバス・インターフェース・コントローラと、該システムバスと該PCIバス・インターフェース・コントローラとの間に結合される第1のバッファと、該PCIバス・インターフェース・コントローラを介した該PCIバス側からの該第1のバッファへのデータ書込みの完了に応答して、該マスターデバイスに書込み完了信号を通知する通知部を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、第1のバッファに転送データを纏めて書き込んでから、マスターデバイスに通知して第1のバッファからメモリへのデータ転送を纏めて実行することができる。従って、従来のようにホスト装置がPCIブリッジ回路を介してPCカードのシステムバスに直接干渉することがなく、各データ転送の度にバスの使用権を逐次奪うこともない。従って、システム性能の劣化を避けることができる。
また例えばCPU又はDMAC等のマスターデバイスを利用してデータ転送するので、PCIブリッジ回路にはバスマスター機能を設ける必要が無く、マスター機能を持つブロックの数を削減することができる。その結果、アクセス経路の数が削減され、その分の検証工数を削減することができる。
またホスト装置のCPUがPCカードのメモリやI/Oに直接アクセスする構成となっていないので、メモリやI/Oのマッピング構成が変更になっても、ドライバソフトの仕様を変更する必要がない。これにより、ドライバソフトの開発が容易となる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図2は、本発明によるPCカードバス・インターフェース回路を有するシステムの構成を示す図である。図2に示すシステムは、携帯型パーソナルコンピュータ等のホスト装置10とPCカード21とを含む。PCカード21は、ホスト装置10のカードバススロットに挿入されて、ホスト装置10とのデータ送受信を行う。本発明によるPCカード21は、システムバス22、PCIブリッジ回路23、CPU24、DMAC25、メモリ26、及び割込み信号線27及び28を含む。PCカード21は、1つの半導体チップとして実装されてよい。
図2に示すシステムにおいて、ホスト装置10内部のPCIバスとPCカード21内部のシステムバス22との間の通信は、本発明によるPCカードバス・インターフェース回路であるPCIブリッジ回路23を介して行われる。PCIブリッジ回路23は、PCIバス・インターフェース・コントローラ31、バッファ制御・監視部32、送信バッファ33、受信バッファ34、PCカード側割込み受信部36、PCカード側コード受信部37、PCカード側割込み送信部38、PCカード側コード送信部39、ホスト側割込み送信部40、ホスト側コード送信部41、ホスト側割込み受信部42、及びホスト側コード受信部43を含む。
PCIバス・インターフェース・コントローラ31は、PCIブリッジ回路23内部に設けられたバッファ制御・監視部32、送信バッファ33、受信バッファ34、ホスト側割込み送信部40、ホスト側コード送信部41、ホスト側割込み受信部42、及びホスト側コード受信部43と、ホスト装置10内部に設けられたPCIバスとの間の通信を制御する。例えばホスト装置10側のCPUが送信バッファ33に送信データを格納する際には、PCIバス・インターフェース・コントローラ31はホスト装置10側から制御信号及びデータを受け取り、受け取った制御信号に応じて動作することにより、バッファ制御・監視部32を制御して送信バッファ33へデータを格納する。またホスト装置10側のCPUが受信バッファ34から受信データを取り出す際には、PCIバス・インターフェース・コントローラ31はホスト装置10側から制御信号を受け取り、受け取った制御信号に応じて動作することにより、バッファ制御・監視部32を制御して受信バッファ34からデータを読み出してホスト装置10側に供給する。
送信バッファ33は、ホスト装置10のCPUから供給されたデータをシステムバス22側に転送するために一時的に格納するバッファである。この送信バッファ33に対しては、ホスト装置10のCPU側からは書き込み、システムバス22側からは読み出ししかできない。受信バッファ34は、システムバス22側から供給されたデータをホスト装置10側に転送するために一時的に格納するバッファである。この受信バッファ34に対しては、ホスト装置10のCPU側からは読み出し、システムバス22側からは書き込みしかできない。
バッファ制御・監視部32は、送信バッファ33及び受信バッファ34の動作を制御・監視する。例えば、バッファ制御・監視部32は、送信バッファ33及び受信バッファ34のデータ書込み量を監視し、書込み済みデータ量を必要に応じて通知したり、送信バッファ33及び受信バッファ34についてBUSYやFULL等の状態を設定し、設定状態を必要に応じて通知したりする。
ホスト側割込み送信部40は、ホスト装置10のCPUからのデータ転送動作の際に、ホスト装置10のCPUにより制御されるブロックである。ホスト装置10のCPUから送信バッファ33へのデータ書き込みが完了すると、ホスト側割込み送信部40は、PCカード側割込み受信部36に対して、送信バッファ書き込み完了通知割込みの生成を要求する。
PCカード側割込み受信部36は、ホスト側割込み送信部40が発行した送信バッファ書き込み完了通知割込み生成要求に応答して割込みを生成し、CPU24に割込みを通知する。CPU24への割込み信号は、割込み信号線27を介して供給される。
PCカード側割込み送信部38は、ホスト装置10へのデータ転送動作の際に、PCカード21のCPU24により制御されるブロックである。PCカード21のCPU24から受信バッファ34へのデータ書き込みが完了すると、PCカード側割込み送信部38は、ホスト側割込み受信部42に対して、受信バッファ書き込み完了通知割込みの生成を要求する。
ホスト側割込み受信部42は、PCカード側割込み送信部38が発行した受信バッファ書き込み完了通知割込み生成要求に応答して割込みを生成し、ホスト装置10のCPUに割込みを通知する。ホスト装置10のCPUへの割込み信号は、割込み信号線28を介して供給される。
ホスト側コード送信部41には、ホスト装置10のCPUからPCカード21のCPU24へのコミュニケーションのために用いる制御コードが、ホスト装置10のCPUにより書き込まれる。ホスト側コード送信部41は、書き込まれた制御コードをPCカード側コード受信部37に送信する。PCカード側コード受信部37は、ホスト側コード送信部41から送信された制御コードを受信して、受信した制御コードを内部レジスタに保持する。
PCカード側コード送信部39には、PCカード21のCPU24からホスト装置10のCPUへのコミュニケーションのために用いる制御コードが、PCカード21のCPU24により書き込まれる。PCカード側コード送信部39は、書き込まれた制御コードをホスト側コード受信部43に送信する。ホスト側コード受信部43は、PCカード側コード送信部39から送信された制御コードを受信して、受信した制御コードを内部レジスタに保持する。
上記説明したように、図2に示すPCカード21は、システムバス22と、システムバス22に接続されるマスターデバイス(例えばCPU24又はDMAC25)と、外部PCIバスと接続可能に構成されるPCIバス・インターフェース・コントローラ31と、システムバス22とPCIバス・インターフェース・コントローラ31との間に結合される送信バッファ33と、PCIバス・インターフェース・コントローラ31を介したPCIバス側からの送信バッファ33へのデータ書込みの完了に応答して、CPU24に書込み完了信号を通知する通知部(PCカード側割込み受信部36)を含む。マスターデバイスは、通知部からの書込み完了信号の通知に応答して、送信バッファ33のデータをメモリ26に転送するデータ転送動作を実行するよう構成される。この通知は、例えば割込み信号としてCPU24に供給されてよい。
この構成により、送信バッファ33に転送データを纏めて書き込んでから、マスターデバイスに通知して送信バッファ33からメモリへのデータ転送を纏めて実行することができる。従って、従来のようにホスト装置10がPCIブリッジ回路を介してPCカード21のシステムバス22に直接干渉することがなく、各データ転送の度にバスの使用権を逐次奪うこともない。従って、システム性能の劣化を避けることができる。
また例えばCPU24又はDMAC25等のマスターデバイスを利用してデータ転送するので、PCIブリッジ回路23にはバスマスター機能を設ける必要が無く、マスター機能を持つブロックの数を削減することができる。その結果、アクセス経路の数が削減され、その分の検証工数を削減することができる。
またホスト装置10のCPUがPCカード21のメモリやI/Oに直接アクセスする構成となっていないので、メモリやI/Oのマッピング構成が変更になっても、ドライバソフトの仕様を変更する必要がない。これにより、ドライバソフトの開発が容易となる。
図3は、ホスト装置10のCPUからPCカード21のメモリ26へのデータ転送の手順を示すシーケンス図である。まずステップS1で、ホスト装置10が送信バッファ33(TxBuffer)の状態確認を行う。即ち、ホスト装置10のCPUが、バッファ制御・監視部32を介して送信バッファ33のステートがBUSY状態でないこと(FREE状態であること)を確認する。
ステップS2で、ホスト装置10が送信バッファ33の状態をBUSY状態に設定する。即ち、送信バッファ33のステートがBUSY状態でないこと、即ちPCカード21のシステムバス22側から送信バッファ33を読出し中でないことを確認したら、ホスト装置10のCPUが、バッファ制御・監視部32を介して送信バッファ33のステートをBUSY状態に設定する。
ステップS3で、ホスト装置10のCPUから送信バッファ33へデータを書き込む。即ち、ホスト装置10のCPUからPCカード21のメモリ26へ転送すべきデータを、送信バッファ33に格納する。
送信バッファ33へのデータ書込みを完了したら、ステップS4で、ホスト装置10がホスト側コード送信部41に制御コードを設定する。即ち、ホスト側コード送信部41に、転送処理が要求されていることを示す情報や、転送データ量等の転送処理のための制御情報、その他付帯情報等の転送タスクに関する情報を格納する。引き続きステップS5で、ホスト装置10は、ホスト側割込み送信部40にデータライト完了通知割込み生成要求を発行するように指示する。更にステップS6で、ホスト装置10のCPUが、バッファ制御・監視部32を介して送信バッファ33のステートをFULL状態に設定する。
ステップS7で、送信バッファのデータライト完了通知割込みを生成し、CPU24に割込み通知する。即ち、PCカード側割込み受信部36は、ホスト側割込み送信部40からのデータライト完了通知割込み生成要求信号を受信すると、送信バッファのデータライト完了通知割込みを生成し、CPU24に対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPU24に通知するように構成してよく、またCPU24は、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS8で、CPU24は割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード側割込み受信部36を特定したCPU24は、PCカード側割込み受信部36にシステムバス22を介してアクセスし、PCカード側割込み受信部36の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS9で、CPU24はPCカード側コード受信部37にシステムバス22を介してアクセスし、PCカード側コード受信部37の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、CPU24は、転送タスクが要求されていること、及びその転送タスクで転送すべきデータサイズ(データ量)等を認識する。
ステップS10で、CPU24はDMAC25の設定・起動をする。本ステップはDMACを使用して送信バッファ33のデータを読み出し、読み出したデータを転送先のメモリ26に書き込む場合に必要なステップであり、CPU24で送信バッファ33のデータを読み出し、読み出したデータを転送先のメモリ26に書き込む場合は省略される。
ステップS11で、CPU24等(CPU24又はDMAC25)は送信バッファ33のデータを読み出す。CPU24等は更に、読み出したデータを転送先のメモリ26に書き込む。
送信バッファ33からメモリ26へのデータ転送が完了すると、ステップS12で、CPU24は、PCカード側コード送信部39にデータリード完了を示す制御コード(タスク情報)を設定する。更にステップS13で、CPU24は、PCカード側割込み送信部38にデータリード完了通知割込み生成要求を発行するように指示する。更にステップS14で、CPU24が、バッファ制御・監視部32を介して送信バッファ33のステートをFREE状態に設定する。
ステップS15で、送信バッファのデータリード完了通知割込みを生成し、ホスト装置10のCPUに割込み通知する。即ち、ホスト側割込み受信部42は、PCカード側割込み送信部38からのデータリード完了通知割込み生成要求信号を受信すると、送信バッファのデータリード完了通知割込みを生成し、ホスト装置10のCPUに対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPUに通知するように構成してよく、またCPUは、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS16で、ホスト装置10のCPUは割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード21を特定したCPUは、PCカード21のホスト側割込み受信部42にPCIバスを介してアクセスし、ホスト側割込み受信部42の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS17で、ホスト装置10のCPUはホスト側コード受信部43にPCIバスを介してアクセスし、ホスト側コード受信部43の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、ホスト装置10のCPUは、データ転送の完了を認識する。
以上で、ホスト装置10からPCカード21のメモリ26へのデータ転送処理を終了する。送信バッファ33への書込み・読出しを一回だけでなく複数回実行してデータ転送を連続して実行する場合には、上記のステップS1からステップS17までの動作を繰り返して行うことになる。
図4は、PCカード21のメモリ26からホスト装置10へのデータ転送の手順を示すシーケンス図である。まずステップS1で、CPU24が受信バッファ34(RxBuffer)の状態確認を行う。即ち、CPU24が、バッファ制御・監視部32を介して受信バッファ34のステートがBUSY状態でないこと(FREE状態であること)を確認する。
ステップS2で、CPU24が受信バッファ34の状態をBUSY状態に設定する。即ち、受信バッファ34のステートがBUSY状態でないこと、即ちホスト装置10側から受信バッファ34を読出し中でないことを確認したら、CPU24が、バッファ制御・監視部32を介して受信バッファ34のステートをBUSY状態に設定する。
ステップS3で、CPU24がDMAC25の設定・起動をする。本ステップはDMACを使用してメモリ26からデータを読み出して、読み出したデータを受信バッファ34に格納する場合に必要なステップであり、CPU24でメモリからデータを読み出して、読み出したデータを受信バッファ34に格納する場合は省略される。
ステップS4で、CPU24等から受信バッファ34へデータを書き込む。即ち、CPU24等がメモリ26からデータを読み出して、読み出したデータを受信バッファ34に格納する。
受信バッファ34へのデータ書込みを完了したら、ステップS5で、CPU24がPCカード側コード送信部39に制御コードを設定する。即ち、PCカード側コード送信部39に、転送処理が要求されていることを示す情報や、転送データ量等の転送処理のための制御情報、その他付帯情報等の転送タスクに関する情報を格納する。引き続きステップS6で、CPU24は、PCカード側割込み送信部38にデータライト完了通知割込み生成要求を発行するように指示する。更にステップS7で、CPU24が、バッファ制御・監視部32を介して受信バッファ34のステートをFULL状態に設定する。
ステップS8で、受信バッファのデータライト完了通知割込みを生成し、ホスト装置10のCPUに割込み通知する。即ち、ホスト側割込み受信部42は、PCカード側割込み送信部38からのデータライト完了通知割込み生成要求信号を受信すると、受信バッファのデータライト完了通知割込みを生成し、ホスト装置10のCPUに対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPUに通知するように構成してよく、またCPUは、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS9で、ホスト装置10のCPUは割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード21を特定したホスト装置10のCPUは、PCカード21にPCIバスを介してアクセスし、PCカード21のホスト側割込み受信部42の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS10で、ホスト装置10のCPUはPCカード21にPCIバスを介してアクセスし、ホスト側コード受信部43の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、ホスト装置10のCPU等は、転送タスクが要求されていること、及びその転送タスクで転送すべきデータサイズ(データ量)等を認識する。
ステップS11で、ホスト装置10のCPUは受信バッファ34のデータを読み出す。ホスト装置10のCPUは更に、読み出したデータを転送先に書き込む。
受信バッファ34からのデータ転送が完了すると、ステップS12で、ホスト装置10のCPUは、ホスト側コード送信部41にデータリード完了を示す制御コード(タスク情報)を設定する。更にステップS13で、ホスト装置10のCPUは、ホスト側割込み送信部40にデータリード完了通知割込み生成要求を発行するように指示する。更にステップS14で、ホスト装置10のCPUが、バッファ制御・監視部32を介して受信バッファ34のステートをFREE状態に設定する。
ステップS15で、受信バッファのデータリード完了通知割込みを生成し、ホスト装置10のCPUに割込み通知する。即ち、PCカード側割込み受信部36は、ホスト側割込み送信部40からのデータリード完了通知割込み生成要求信号を受信すると、受信バッファのデータリード完了通知割込みを生成し、CPU24に対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPU24に通知するように構成してよく、またCPU24は、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS16で、CPU24は割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード側割込み受信部36を特定したCPU24は、PCカード側割込み受信部36にシステムバス22を介してアクセスし、PCカード側割込み受信部36の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS17で、CPU24はPCカード側コード受信部37にシステムバス22を介してアクセスし、PCカード側コード受信部37の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、CPU24は、データ転送の完了を認識する。
以上で、PCカード21のメモリ26からホスト装置10へのデータ転送処理を終了する。受信バッファ34への書込み・読出しを一回だけでなく複数回実行してデータ転送を連続して実行する場合には、上記のステップS1からステップS17までの動作を繰り返して行うことになる。
図5は、本発明によるPCカードバス・インターフェース回路を有するシステムの構成の変形例を示す図である。図5において、図2と同一の構成要素は同一の番号で参照し、その説明は省略する。
図5に示すシステムは、携帯型パーソナルコンピュータ等のホスト装置10とPCカード21Aとを含む。PCカード21Aは、ホスト装置10のカードバススロットに挿入されて、ホスト装置10とのデータ送受信を行う。本発明によるPCカード21Aは、システムバス22、CPU24、DMAC25、メモリ26、及びPCI−システムバス・ブリッジ回路51を含む。なお割込み信号線27及び28については、図示を省略してある。PCカード21Aは、1つの半導体チップとして実装されてよい。
PCI−システムバス・ブリッジ回路51は、図2に示すPCIブリッジ回路23に加え、更にシステムバスマスター回路52及びシステムバスマスター制御部53を含む。システムバスマスター回路52は、システムバス22のバスマスターとして、メモリ26に対するデータ読出し・書込みを実行する機能を有する。システムバスマスター制御部53は、システムバスマスター回路52の動作を制御する。システムバスマスター回路52及びシステムバスマスター制御部53は、PCIブリッジ回路23のバッファ33及び34とシステムバス22との間を結合するよう設けられ、ホスト装置10のPCIバスとシステムバス22との間のデータ転送のために専用に設けられたバスマスター回路として機能する。
図2の構成では、例えばDMAC25が、送信バッファ33又は受信バッファ34とメモリ26との間のデータ転送を行うバスマスター回路として機能する。この構成では、DMAC25がデータ転送元からデータを読み出すリードサイクルとデータ転送先にデータを書き込むライトサイクルとが存在し、読出し及び書込みの2サイクルの間システムバス22を占有することになる。それに対して図5に示す構成においてメモリ26への書込みの場合、システムバスマスター回路52が送信バッファ33のデータを直接読み出して、システムバス22を介してメモリ26にデータを書き込むので、システムバス22を占有するのは書込みサイクルのみである。またメモリ26からの読出しの場合、システムバスマスター回路52がシステムバス22を介してメモリ26からデータを読み出して、受信バッファ34にデータを直接書き込むので、システムバス22を占有するのは読出しサイクルのみである。従って、図5に示す構成とすることにより、システムバス22の占有時間を半分にすることができる。但しこの場合、マスター機能が追加されるために検証工数は増大することになる。
図6は、図5の構成においてホスト装置10のCPUからPCカード21Aのメモリ26へのデータ転送の手順を示すシーケンス図である。まずステップS1で、ホスト装置10が、PCI−システムバス・ブリッジ回路51のPCIブリッジ回路23に設けられた送信バッファ33(TxBuffer)の状態確認を行う。即ち、ホスト装置10のCPUが、PCI−システムバス・ブリッジ回路51のPCIブリッジ回路23に設けられたバッファ制御・監視部32を介して、送信バッファ33のステートがBUSY状態でないこと(FREE状態であること)を確認する。
ステップS2で、ホスト装置10が送信バッファ33の状態をBUSY状態に設定する。即ち、送信バッファ33のステートがBUSY状態でないこと、即ちPCカード21Aのシステムバス22側から送信バッファ33を読出し中でないことを確認したら、ホスト装置10のCPUが、バッファ制御・監視部32を介して送信バッファ33のステートをBUSY状態に設定する。
ステップS3で、ホスト装置10のCPUから送信バッファ33へデータを書き込む。即ち、ホスト装置10のCPUからPCカード21Aのメモリ26へ転送すべきデータを、送信バッファ33に格納する。
送信バッファ33へのデータ書込みを完了したら、ステップS4で、ホスト装置10がPCIブリッジ回路23のホスト側コード送信部41に制御コードを設定する。即ち、ホスト側コード送信部41に、転送処理が要求されていることを示す情報や、転送データ量等の転送処理のための制御情報、その他付帯情報等の転送タスクに関する情報を格納する。引き続きステップS5で、ホスト装置10は、PCIブリッジ回路23のホスト側割込み送信部40にデータライト完了通知割込み生成要求を発行するように指示する。更にステップS6で、ホスト装置10のCPUが、バッファ制御・監視部32を介して送信バッファ33のステートをFULL状態に設定する。
ステップS7で、送信バッファのデータライト完了通知を生成し、システムバスマスター制御部53に書込み完了を通知する。即ち、PCIブリッジ回路23のPCカード側割込み受信部36は、ホスト側割込み送信部40からのデータライト完了通知割込み生成要求信号を受信すると、送信バッファのデータライト完了通知を生成し、システムバスマスター制御部53に対して書込み完了を通知する。ステップS8で、システムバスマスター制御部53及びシステムバスマスター回路52は、PCカード側コード受信部37の内部レジスタから読み出された転送すべきデータサイズ(データ量)の情報に基づいて、転送データサイズを認識する。
ステップS9で、システムバスマスター制御部53は送信バッファ33のデータを読み出す。更にステップS10で、システムバスマスター制御部53は、読み出したデータをシステムバスマスター回路52に転送する。ステップS11で、システムバスマスター回路52は、転送されたデータをメモリ26に書き込む。なおCPU24により、システムバスマスター回路52に対してメモリ26内の転送先アドレスが予め指定されているものとする。
メモリ26へのデータ書込みが完了すると、ステップS12で、システムバスマスター制御部53は、送信バッファのデータ転送完了通知割込みを生成し、CPU24に割込み通知する。この際、割込みコントローラを介して割込み信号をCPU24に通知するように構成してよく、またCPU24は、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。ステップS13で、システムバスマスター制御部53は、バッファ制御・監視部32を介して送信バッファ33のステートをFREE状態に設定する。
ステップS14で、CPU24は割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCI−システムバス・ブリッジ回路51のシステムバスマスター制御部53を特定したCPU24は、システムバス22を介してシステムバスマスター制御部53にアクセスして、システムバスマスター制御部53の割込み通知状態を解除することにより割込み信号をネゲートさせる。ステップS15で、システムバスマスター制御部53は、PCIブリッジ回路23のPCカード側割込み受信部36にアクセスし、PCカード側割込み受信部36の割込み通知状態を解除することにより書込み完了信号をネゲートさせる。
ステップS16で、CPU24はPCIブリッジ回路23のPCカード側コード受信部37にシステムバス22を介してアクセスし、PCカード側コード受信部37の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、CPU24は、転送タスクが実行されたこと、及びその転送タスクで転送されたデータサイズ(データ量)等を認識する。
ステップS17で、CPU24は、システムバスマスター制御部53に制御コードを設定する。ステップS18で、CPU24は、PCIブリッジ回路23のPCカード側コード送信部39にデータリード完了を示す制御コード(タスク情報)を設定する。更にステップS19で、CPU24は、PCIブリッジ回路23のPCカード側割込み送信部38にデータリード完了通知割込み生成要求を発行するように指示する。
ステップS20で、送信バッファのデータリード完了通知割込みを生成し、ホスト装置10のCPUに割込み通知する。即ち、PCIブリッジ回路23のホスト側割込み受信部42は、PCカード側割込み送信部38からのデータリード完了通知割込み生成要求信号を受信すると、送信バッファのデータリード完了通知割込みを生成し、ホスト装置10のCPUに対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPUに通知するように構成してよく、またCPUは、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS21で、ホスト装置10のCPUは割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード21Aを特定したCPUは、PCカード21Aのホスト側割込み受信部42にPCIバスを介してアクセスし、ホスト側割込み受信部42の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS22で、ホスト装置10のCPUはホスト側コード受信部43の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、ホスト装置10のCPUは、データ転送の完了を認識する。
以上で、ホスト装置10からPCカード21のメモリ26へのデータ転送処理を終了する。送信バッファ33への書込み・読出しを一回だけでなく複数回実行してデータ転送を連続して実行する場合には、上記のステップS1からステップS22までの動作を繰り返して実行することになる。
図7は、図5の構成においてPCカード21Aのメモリ26からホスト装置10へのデータ転送の手順を示すシーケンス図である。まずステップS1で、CPU24が、システムバスマスター制御部53に対して受信バッファ34(RxBuffer)にデータ転送するための設定をする。即ち、CPU24は、転送データの総転送量や転送データが格納されているメモリ26のアドレス等の情報をシステムバスマスター制御部53に通知する。次にステップS2で、CPU24が、PCIブリッジ回路23のPCカード側コード送信部39に制御コードを通知する。この制御コードは、転送処理が要求されていることを示す情報や、転送データ量等の転送処理のための制御情報、その他付帯情報等の転送タスクに関する情報である。
ステップS3で、システムバスマスター制御部53が受信バッファ34(RxBuffer)の状態確認を行う。即ち、システムバスマスター制御部53が、PCIブリッジ回路23のバッファ制御・監視部32を介して受信バッファ34のステートがBUSY状態でないこと(FREE状態であること)を確認する。ステップS4で、システムバスマスター制御部53及びシステムバスマスター回路52は、PCカード側コード送信部38の内部レジスタから読み出された転送すべきデータサイズ(データ量)の情報に基づいて、転送データサイズを認識する。その後ステップS5において、システムバスマスター回路52がメモリ26からデータを読出し、ステップS6において、システムバスマスター回路52からシステムバスマスター制御部53にデータを転送する。
ステップS7で、システムバスマスター制御部53が受信バッファ34の状態をBUSY状態に設定する。即ち、受信バッファ34のステートがBUSY状態でないこと、即ちホスト装置10側から受信バッファ34を読出し中でないことを確認したら、システムバスマスター制御部53が、バッファ制御・監視部32を介して受信バッファ34のステートをBUSY状態に設定する。
ステップS8で、システムバスマスター制御部53から受信バッファ34へデータを書き込む。即ち、システムバスマスター制御部53が、システムバスマスター回路52を介してメモリ26から転送されたデータを、受信バッファ34に格納する。
受信バッファ34へのデータ書込みを完了したら、ステップS9で、システムバスマスター制御部53は、PCIブリッジ回路23のPCカード側割込み送信部38にデータライト完了通知割込み生成要求を発行するように指示する。更にステップS10で、システムバスマスター制御部53が、バッファ制御・監視部32を介して受信バッファ34のステートをFULL状態に設定する。
ステップS11で、受信バッファのデータライト完了通知割込みを生成し、ホスト装置10のCPUに割込み通知する。即ち、PCIブリッジ回路23のホスト側割込み受信部42は、PCカード側割込み送信部38からのデータライト完了通知割込み生成要求信号を受信すると、受信バッファのデータライト完了通知割込みを生成し、ホスト装置10のCPUに対して割り込みを通知する。この際、割込みコントローラを介して割込み信号をCPUに通知するように構成してよく、またCPUは、割込みコントローラからのデータに応じて割込み原因(割込みデバイス)を特定するように構成されてよい。
ステップS12で、ホスト装置10のCPUは割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてPCカード21Aを特定したホスト装置10のCPUは、PCカード21AにPCIバスを介してアクセスし、PCカード21Aのホスト側割込み受信部42の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS13で、ホスト装置10のCPUはPCカード21AにPCIバスを介してアクセスし、ホスト側コード受信部43の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、ホスト装置10のCPUは、転送タスクが要求されていること、及びその転送タスクで転送すべきデータサイズ(データ量)等を認識する。
ステップS14で、ホスト装置10のCPUは受信バッファ34のデータを読み出す。ホスト装置10のCPUは更に、読み出したデータを転送先に書き込む。
受信バッファ34からのデータ転送が完了すると、ステップS15で、ホスト装置10のCPUは、ホスト側コード送信部41にデータリード完了を示す制御コード(タスク情報)を設定する。更にステップS16で、システムバスマスター制御部53にデータリード完了を示す制御コード(タスク情報)を設定する。
ステップS17で、ホスト装置10のCPUは、PCIブリッジ回路23のホスト側割込み送信部40にデータリード完了通知割込み生成要求を発行するように指示する。ステップS18で、PCIブリッジ回路23のPCカード側割込み受信部36が、受信バッファのデータリード完了通知をシステムバスマスター制御部53に送信する。これに応答してステップS19で、システムバスマスター制御部53が、CPU24に受信バッファのデータリード完了通知割込みを送信する。
ステップS20で、システムバスマスター制御部53が、バッファ制御・監視部32を介して受信バッファ34のステートをFREE状態に設定する。ステップS21で、CPU24は割込み要因をクリアする。即ち、割込み原因(割込みデバイス)としてシステムバスマスター制御部53を特定したCPU24は、システムバスマスター制御部53にシステムバス22を介してアクセスし、システムバスマスター制御部53の割込み通知状態を解除することにより割込み信号をネゲートさせる。更にステップS22で、CPU24はPCカード側コード受信部37にシステムバス22を介してアクセスし、PCカード側コード受信部37の内部レジスタからタスク情報(制御コード)を読み出す。このタスク情報により、CPU24は、データ転送の完了を認識する。
以上で、PCカード21のメモリ26からホスト装置10へのデータ転送処理を終了する。受信バッファ34への書込み・読出しを一回だけでなく複数回実行してデータ転送を連続して実行する場合には、上記のステップS1からステップS21までの動作を繰り返して行うことになる。
上記のようにして、図5に示す構成では、システムバスマスター回路52がホスト装置10のPCIバスとシステムバス22との間のデータ転送のために専用に設けられたバスマスター回路として機能する。図5に示す構成では、システムバススレーブI/F(インターフェース)として示すように、システムバスマスター回路52及びシステムバスマスター制御部53を介すことなく、CPU24等からシステムバス22を介して直接にPCIブリッジ回路23にアクセスする経路が設けられている。従って、システムバスマスター回路52及びシステムバスマスター制御部53の動作を停止して無効化することにより、システムバスマスターI/Fを使用せずにシステムバススレーブI/Fのみを使用して、図2に示すようにマスター機能を設けない場合の動作と同様の動作を実現することができる。即ち、CPUやDMACをマスターデバイスとして使用する動作モードと、PCIバスとシステムバスとの間のデータ転送のために専用に設けられたシステムバスマスター回路52及びシステムバスマスター制御部53をマスターデバイスとして使用する動作モードとを、選択的に実行可能な構成とすることができる。このように専用のバスマスター回路の使用/不使用を選択的に指定できる構成とすれば、システムの要求に応じて適切な構成を提供することができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
PCカードバス・インターフェースを有する従来のシステムの構成を示す図である。 本発明によるPCカードバス・インターフェース回路を有するシステムの構成を示す図である。 ホスト装置のCPUからPCカードのメモリへのデータ転送の手順を示すシーケンス図である。 PCカードのメモリからホスト装置へのデータ転送の手順を示すシーケンス図である。 本発明によるPCカードバス・インターフェース回路を有するシステムの構成の変形例を示す図である。 図5の構成においてホスト装置のCPUからPCカードのメモリへのデータ転送の手順を示すシーケンス図である。 図5の構成においてPCカードのメモリからホスト装置へのデータ転送の手順を示すシーケンス図である。
符号の説明
10 ホスト装置
21 PCカード21
22 システムバス
23 PCIブリッジ回路
24 CPU
25 DMAC
26 メモリ
27、28 割込み信号線
31 PCIバス・インターフェース・コントローラ
32 バッファ制御・監視部
33 送信バッファ
34 受信バッファ
36 PCカード側割込み受信部
37 PCカード側コード受信部
38 PCカード側割込み送信部
39 PCカード側コード送信部
40 ホスト側割込み送信部
41 ホスト側コード送信部
42 ホスト側割込み受信部
43 ホスト側コード受信部

Claims (10)

  1. システムバスと、
    該システムバスに接続されるマスターデバイスと、
    外部PCIバスと接続可能に構成されるPCIバス・インターフェース・コントローラと、
    該システムバスと該PCIバス・インターフェース・コントローラとの間に結合される第1のバッファと、
    該PCIバス・インターフェース・コントローラを介した該PCIバス側からの該第1のバッファへのデータ書込みの完了に応答して、該マスターデバイスに書込み完了信号を通知する通知部
    を含むことを特徴とするPCカード装置。
  2. 該システムバスに接続されるメモリを更に含み、該マスターデバイスは、該通知部からの該書込み完了信号の通知に応答して該第1のバッファのデータを該メモリに転送するデータ転送動作を実行するよう構成されることを特徴とする請求項1記載のPCカード装置。
  3. 該データ書込みのデータ書込み量を含む情報を該マスターデバイスから読出し可能なよう格納するレジスタを更に含むことを特徴とする請求項1記載のPCカード装置。
  4. 該システムバスと該PCIバス・インターフェース・コントローラとの間に結合される第2のバッファと、
    該システムバスを介した該マスターデバイスからの該第2のバッファへのデータ書込みの完了に応答して、該PCIバス・インターフェース・コントローラを介して外部に割込み信号を通知する割込み通知部
    を更に含むことを特徴とする請求項1記載のPCカード装置。
  5. 該第2のバッファへの該データ書込みのデータ書込み量を含む情報を外部から読出し可能なよう格納するレジスタを更に含むことを特徴とする請求項4記載のPCカード装置。
  6. 該マスターデバイスはCPU及びDMACの何れか一方であり、該通知部は該書込み完了信号を割込み信号として該マスターデバイスに通知することを特徴とする請求項2記載のPCカード装置。
  7. 該マスターデバイスは、該第1のバッファと該システムバスとの間を結合するよう設けられ、該PCIバスと該システムバスとの間のデータ転送のために専用に設けられたバスマスター回路であることを特徴とする請求項2記載のPCカード装置。
  8. 該システムバスに接続されるCPU及びDMACの何れか一方である第1のバスマスター回路と、
    該第1のバッファと該システムバスとの間を結合するよう設けられ、該PCIバスと該システムバスとの間のデータ転送のために専用に設けられた第2のバスマスター回路と
    を更に含み、該第1のバスマスター回路と該第2のバスマスター回路との何れか一方を該マスターデバイスとして選択的に使用可能なように構成されることを特徴とする請求項2記載のPCカード装置。
  9. 該PCIバス・インターフェース・コントローラはカードバス規格に従うものであることを特徴とする請求項1記載のPCカード装置。
  10. 該第1のバッファの状態を監視・制御するバッファ制御・監視部を更に含むことを特徴とする請求項1記載のPCカード装置。
JP2007152691A 2007-06-08 2007-06-08 Pcカード装置 Pending JP2008305232A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007152691A JP2008305232A (ja) 2007-06-08 2007-06-08 Pcカード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007152691A JP2008305232A (ja) 2007-06-08 2007-06-08 Pcカード装置

Publications (1)

Publication Number Publication Date
JP2008305232A true JP2008305232A (ja) 2008-12-18

Family

ID=40233889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007152691A Pending JP2008305232A (ja) 2007-06-08 2007-06-08 Pcカード装置

Country Status (1)

Country Link
JP (1) JP2008305232A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02245959A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 入出力制御装置におけるデータ転送方式
JPH10164089A (ja) * 1996-12-04 1998-06-19 Hitachi Ltd Atm通信アダプタ
JP2003022248A (ja) * 2001-07-06 2003-01-24 Sony Corp バスブリッジ回路及びデータ転送方法
JP2004295778A (ja) * 2003-03-28 2004-10-21 Fujitsu Ltd バス間通信インタフェース装置、情報処理ユニット、外部ホスト装置、およびバス間通信制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02245959A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 入出力制御装置におけるデータ転送方式
JPH10164089A (ja) * 1996-12-04 1998-06-19 Hitachi Ltd Atm通信アダプタ
JP2003022248A (ja) * 2001-07-06 2003-01-24 Sony Corp バスブリッジ回路及びデータ転送方法
JP2004295778A (ja) * 2003-03-28 2004-10-21 Fujitsu Ltd バス間通信インタフェース装置、情報処理ユニット、外部ホスト装置、およびバス間通信制御方法

Similar Documents

Publication Publication Date Title
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
JP5641754B2 (ja) インターフェースカードシステム
JP4322451B2 (ja) Dspメモリ間あるいはdspメモリとcpu用メモリ(dpram)間データ転送方式
JP4837659B2 (ja) 分割トランザクションを処理するためのバス・コントローラ
EP1730643A2 (en) Pvdm (packet voice data module) generic bus protocol
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
JP5506304B2 (ja) データ処理装置及びデータ処理システム
EP1535169B1 (en) Improved inter-processor communication system for communication between processors
JP4696199B2 (ja) 転送ディスクリプタ用メモリを備えるusbホストコントローラ
JP2003296267A (ja) バスシステム及びバスシステムを含む情報処理システム
KR20050043303A (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
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
JP2008502977A (ja) バス・コントローラのための割り込み方式
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
JP2006520956A (ja) データを転送するためのデータ処理の装置および方法
JP4257358B2 (ja) バス制御方法および装置
JP2008305232A (ja) Pcカード装置
JP2006285872A (ja) マルチcpuシステム
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
US6505276B1 (en) Processing-function-provided packet-type memory system and method for controlling the same
JP3056169B2 (ja) データ送受信方式とその方法
JP2010067765A (ja) 半導体集積回路
TWI427481B (zh) 工業標準構造介面匯流排的橋接系統、裝置與其方法
JP3946980B2 (ja) レジスタアクセス装置
JP2005352559A (ja) マルチプロセッサシステムにおけるデータ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20100303

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20111118

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A02 Decision of refusal

Effective date: 20120403

Free format text: JAPANESE INTERMEDIATE CODE: A02