(57)【要約】【課題】  アドレス空間を拡張するためにウィンドウをＣＰＵがソフトコントロールで切替えながら行うとＣＰＵの負荷が増加して処理性能が低下するという問題があった。【解決手段】  Ｉ／Ｏバス２空間内の固定アドレスをアクセスすると自動的にアドレスをインクリメントするアドレス設定レジスタ４０２を設け、ウィンドウをソフトコントロールで切替えることなくＩ／Ｏバス２空間以上のアドレス空間を連続アクセスするようにし、プロセス入出力装置４にデータレジスタ４０９，４１１を設け、ＣＰＵからのアクセスに応じ、一時的にデータをラッチすることによりバス幅の異なるデータ転送の同時性を確保した。【選択図】図３
2005196426.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ／Ｏバスの信号を入力し先頭番地を含むアドレスを設定するアドレス設定レジスタと、アクセスがあると該アドレス設定レジスタのアドレスをインクリメントする加算器と、前記アドレス設定レジスタから出力されるアドレスに基づいたバスにアクセス要求信号を出力するデコーダと、前記アクセス要求信号を出力する内部バスに基づいてアクセス要求回数に対するデータレジスタの出力を設定するデータ制御回路とを備えたプロセス入出力装置をＩ／Ｏバスに接続した制御装置。
【請求項２】
Ｉ／Ｏバスの信号を入力しウィンドウ方式か自動インクリメントモードのいずれかを設定するアクセスモード切替レジスタと、Ｉ／Ｏバスの信号を入力し先頭番地を含むアドレスを設定するアドレス設定レジスタと、前記アドレス設定レジスタが自動インクリメントモードに設定された場合にアクセスがあると前記アドレス設定レジスタのアドレスをインクリメントする加算器と、前記アドレス設定レジスタから出力されるアドレスに基づいたバスにアクセス要求信号を出力するデコーダと、前記アクセス要求信号を出力する内部バス及び前記アドレス設定レジスタの設定に基づいてアクセス要求回数に対するデータレジスタの出力を設定するデータ制御回路とを備えた高機能プロセス入出力装置をＩ／Ｏバスに接続した制御装置。
【請求項３】
前記アクセス要求信号を出力する内部バスが前記Ｉ／Ｏバスのビット幅と同じバスと２倍のビット幅のバスを含むものであって、前記データ制御回路は、アクセス要求信号を出力する内部バスが前記Ｉ／Ｏバスのビット幅と同じ場合はアクセス要求１回に対し出力を１回に設定し、前記内部バスが２倍のビット幅の場合はアクセス要求２回に対し出力を１回に設定する請求項１又は２に記載の制御装置。
【請求項４】
前記Ｉ／ＯバスにＩ／Ｏバス空間内のアドレス空間を有するプロセス入出力装置が接続されている請求項１又は２に記載の制御装置。
【請求項５】
前記アクセスモード切替レジスタがウィンドウ方式に設定された場合は、前記アドレス設定レジスタに設定されたアドレスの上位と前記Ｉ／Ｏバスから入力されたアドレスの下位５ビットを組み合わせたアドレスを生成すると共に、前記データ制御回路によりアクセス要求１回に対して出力を１回に設定する請求項２に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス全体の制御をＣＰＵが行い、プロセス操作端の制御を行う単数のプロセス入出力装置もしくはプロセス制御に関連する制御を行う複数枚のプロセス入出力装置を備えた制御装置に関する。
【背景技術】
【０００２】
従来は、１枚あたり数点から数十点のプロセス入出力装置（ＤＩ，ＤＯ，ＡＩまたは
ＡＯ）を複数枚使用してプロセスの制御を行っていたので、１枚あたりのＩ／Ｏバス空間は、数十ワードで十分だった。一方、インテリジェント化するなど機能を特化したプロセス入出力装置は、１枚あたり数百Ｋバイト〜数Ｍバイトのアドレス空間が必要であり、Ｉ／Ｏバスにこれを接続するためにはアドレス空間を拡張する必要がある。アドレス空間を拡張する方法としては、１枚あたりのＩ／Ｏバス空間分のウィンドウをＣＰＵがソフトコントロールしてウィンドウを切替えて空間拡張していた。
【０００３】
又、〔特許文献１〕には、プロセッサからＭビット・アドレスを受信する回路と、Ｘ−Ｍビットを受信されるアドレスに連結する回路と、プロセッサからのアドレスのＸ−Ｍビットのアドレス・マスクとの論理和演算を実行する回路と、論理和演算結果を、プロセッサから受信されるアドレスの残りのＭビットと連結する回路と、この連結オペレーション結果をＸビット・アドレスと比較する回路と、比較演算結果に応答して論理和演算結果を選択する回路と、この選択をメモリ・システム内のアドレスをアクセスするためのアドレスとして出力する回路を備えたプロセッサがある。
【０００４】
【特許文献１】特開平９−９７２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の技術では、１枚あたりのＩ／Ｏバス空間分のウィンドウをＣＰＵがソフトコントロールして切替えながら行っていたので、ＣＰＵの負荷が増加して処理性能が低下するとういう問題があった。この処理性能の低下は、プロセス入出力装置に対して、メモリロード，メモリダンプ等の動作を行った場合に顕著に現れる。また、Ｉ／Ｏバスのデータバス幅と高機能プロセス入出力装置内部バスのデータバス幅が異なる場合、プロセス入出力装置のアクセス時にデータの同時性が確保されないという問題があった。
【０００６】
又、〔特許文献１〕に記載の技術は、本来アドレス指定不能なメモリ・システム内のアドレスの必要データをアクセス可能にするものではあるが、ＣＰＵの負荷の軽減，データの同時性の確保については配慮されていないものである。
【０００７】
本発明の目的は、メモリロード，メモリダウン等の動作におけるＣＰＵの負荷を軽減でき、データの同時性が確保できる制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の制御装置は、Ｉ／Ｏバス空間内の固定アドレスをアクセスすると自動的にアドレスをインクリメントする加算器とアドレス設定レジスタを設け、ウィンドウをソフトコントロールで切替えることなくＩ／Ｏバス空間以上のアドレス空間を連続アクセスするようにしたものである。また、プロセス入出力装置にデータバッファレジスタを設け、ＣＰＵからのアクセスに応じ、一時的にデータをラッチすることによりバス幅の異なるデータ転送の同時性を確保したものである。
【発明の効果】
【０００９】
高機能プロセス入出力装置に対するメモリロード，メモリダンプ等の連続アクセスをする場合、ソフトコントロールによる切替えが不要となるので、ＣＰＵ負荷を低減することができる。
【００１０】
また、Ｉ／Ｏバスからのアクセス２回に１回の割合で、高機能プロセス入出力装置の内部バスをアクセスするのでトータルのアクセス時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の一実施例を図１から図３により説明する。図１は、高機能プロセス入出力装置を適用した制御装置７の構成図である。制御装置７は、ＣＰＵ１に、Ｉ／Ｏバス２を介して高機能プロセス入出力装置４が接続され、高機能プロセス入出力装置４は、プロセス操作端５と接続されて構成されている。図１に示す例では、Ｉ／Ｏバス２にＤＩ，ＤＯ，
ＡＩまたはＡＯ等のプロセス入出力装置３も接続した例を示しており、プロセス入出力装置３はプロセス操作端５と接続されている。プロセス入出力装置３はＩ／Ｏバス空間内のアドレス空間を有するプロセス入出力装置である。
【００１２】
図２は、高機能プロセス入出力装置４の構成図である。高機能プロセス入出力装置４は、Ｉ／Ｏバス２に接続されるバス変換回路４４と、バス変換回路４４に内部バス４２を介して接続されるＭＰＵ４１，メモリ４３と、バス変換回路４４と内部Ｉ／Ｏバス４５を介して接続されるＤＩ制御回路４６，ＤＯ制御回路４７，ＡＩ制御回路４８，ＡＯ制御回路
４９で構成される。ＤＩ制御回路４６及びＡＩ制御回路４８はプロセス操作端５からの信号を受信し、ＤＯ制御回路４７及びＡＯ制御回路４９はプロセス操作端５に信号を送信するようになっている。
【００１３】
図３は、バス変換回路４４の詳細な構造を示す図である。Ｉ／Ｏバス２は、アドレスバス２ａ，１６ビット幅のデータバス２ｂ，制御信号線２ｃで構成されている。アドレスバス２ａ及び制御信号線２ｃはデコーダ４０１に接続されている。データバス２ｂは、セレクタ４０５及びアクセスモード切替レジスタ４０２に接続されるとともに、インバータ
４２０を介してセレクタ４１０，インバータ４２１を介してセレクタ４０８に接続されている。制御信号線２ｃは、データ制御回路４２２に接続されている。デコーダ４０１の出力は、データ制御回路４２２，セレクタ４０５，デコーダ４０７にそれぞれ接続されている。データ制御回路４２２はインバータ４２１に接続されている。デコーダ４０１の他の出力である信号線４０１ａはアクセスモード切替レジスタ４０２に、信号線４０１ｂはアドレス設定レジスタ４０３に接続されている。
【００１４】
アクセスモード切替レジスタ４０２の出力は、データ制御回路４２２，セレクタ４０６に接続されている。セレクタ４０５の出力は、アドレス設定レジスタ４０３に接続され、アドレス設定レジスタ４０３の出力は加算器４０４に接続される一方、アドレスバス２ａと接続された信号線４０３ａによりセレクタ４０６に接続される。加算器４０４に入力された信号は１又は２加算されてセレクタ４０５に入力されるようになっている。セレクタ４０６の出力は、内部Ｉ／Ｏバス４５のアドレスバス４５ａ，内部バス４２のアドレスバス４２ａ，デコーダ４０７に接続されている。デコーダ４０７の出力は、データ制御回路４２２，内部バス４２の制御信号４２ｃ及び内部Ｉ／Ｏバス４５の制御信号線４５ｃにそれぞれ接続されている。
【００１５】
セレクタ４１０は上位及び下位それぞれデータレジスタ４１１に、セレクタ４０８は上位及び下位それぞれデータレジスタ４０９と接続されている。データレジスタ４１１はインバータ４２３を介して３２ビット幅のデータバス４２ｂと接続され、データレジスタ
４０９はインバータ４２４を介してデータバス４２ｂと接続されている。データ制御回路４２２の出力は、セレクタ４０８，セレクタ４１０とデータレジスタ４１１を結ぶ信号線４１０ａ，データレジスタ４０９，インバータ４２３にそれぞれ接続されている。データレジスタ４１１はインバータ４２３を介して、データレジスタ４０９はインバータ４２４を介して内部バス４２のデータバス４２ｂ，内部Ｉ／Ｏバス４５の１６ビット幅のデータバス４５ｂに接続されている。ここで、Ｉ／Ｏバス２を１６ビット幅で説明したが、Ｉ／Ｏバス２のビット幅と内部バス４２のビット幅の関係が１対２であればよい。
【００１６】
このように構成されたバス変換回路４４は次のように動作する。Ｉ／Ｏバス空間分のウィンドウをＣＰＵがソフトコントロールする場合は、Ｉ／Ｏバス２のアドレスバス２ａ，制御信号線２ｃからの信号をデコーダ４０１が取り込んで、自カード内のアクセスモード切替レジスタ４０２が指定されていると、デコーダ４０１より信号線４０１ａにアクセスモード切替レジスタ選択信号が出力され、アクセスモード切替レジスタ４０２にウィンドウ方式であるアクセスモードを設定する。また、デコーダ４０１でアドレス設定レジスタ４０３が指定されていると、デコーダ４０１からアドレス設定レジスタ選択信号が信号線４０１ｂを介してアドレス設定レジスタ４０３に入力される。一方、デコーダ４０１からの信号がセレクタ４０５に出力され、セレクタ４０５を介してデータバス２ｂからの番地を設定するためのデータがアドレス設定レジスタ４０３に入力される。アドレス設定レジスタ４０３は、アクセスするバスとアクセスする先頭番地を設定するため、内部Ｉ／Ｏバス４５のアドレスを設定する。
【００１７】
アクセスモード切替レジスタ４０２から信号線４０２ａを介してセレクタ４０６に入力される信号がウィンドウ方式であるので、セレクタ４０６は、アドレス設定レジスタ403に取り込んだデータの上位ビットとＩ／Ｏバス２のアドレスの下位５ビットと組み合わされたアドレスが入力される。この組み合わされたアドレスは、アドレスバス４５ａに入力される。
【００１８】
一方、データ制御回路４２２ではウィンドウ方式であることに基づいてセレクタ４１０，データレジスタ４１１をアクセス要求１回に対し１回出力されるように設定する。データはデータバス２ｂからセレクタ４１０を介してデータレジスタ４１１の上位または下位に記憶され、セレクタ４０６からアドレスが出力されるとデータバス４５ｂに１６ビットのデータを出力する。
【００１９】
以上の説明では、ライトアクセスする場合を説明したが、Ｉ／Ｏバス２から内部Ｉ／Ｏバスをリードアクセスする場合は、データレジスタ４０９をアクセス要求１回に対し１回出力されるように設定し、データはデータレジスタ４０９の上位または下位に記憶され、セレクタ４０６からアドレスが出力されるとＩ／Ｏバス２のデータバス２ｂに出力される。
【００２０】
次に、自動インクリメントのモードでは、Ｉ／Ｏバス２のアドレスバス２ａ，制御信号線２ｃからの信号をデコーダ４０１が取り込んで、自カード内のアクセスモード切替レジスタ４０２が指定されていると、デコーダ４０１より信号線４０１ａにアクセスモード切替レジスタ選択信号が出力され、アクセスモード切替レジスタ４０２に自動インクリメントであるアクセスモードを設定する。また、デコーダ４０１でアドレス設定レジスタ403が指定されていると、デコーダ４０１からアドレス設定レジスタ選択信号が信号線401ｂを介してアドレス設定レジスタ４０３に入力される。一方、デコーダ４０１からの信号がセレクタ４０５に出力され、セレクタ４０５を介してデータバス２ｂからの番地を設定するためのデータがアドレス設定レジスタ４０３に入力される。アドレス設定レジスタ403
は、アクセスするバスとアクセスする先頭番地を設定するため、内部バス４２または内部Ｉ／Ｏバス４５のアドレスを設定する。
【００２１】
Ｉ／Ｏバス２の信号をデコーダ４０１が取り込んで、自カードが指定されていると、デコーダ４０１から信号線４０１ｃに自カード選択信号が出力され、デコーダ４０７に入力される。自カードが選択された時には、セレクタ４０６から出力されるアドレスに基づいて、信号線４０７ａにより内部バス４２へのアクセス要求信号、あるいは信号線４０７ｂにより内部Ｉ／Ｏバス４５へのアクセス要求信号を出力する。
【００２２】
内部Ｉ／Ｏバス４５が設定されている場合は、最初の１回はアドレス設定レジスタ403の先頭番地のアドレスがセレクタ４０６に出力され、次回からのアクセスがあるとアドレスが加算器４０４に入力されて１加算されてセレクタ４０５に入力され、アドレス設定レジスタ４０３に記憶される。アドレス設定レジスタ４０３に記憶されたアドレスはセレクタ４０６に出力され、以下アクセスされる度にアドレスが１ずつ自動的にインクリメントされる。
【００２３】
一方、データ制御回路４２２で自動インクリメントモードで内部Ｉ／Ｏバスが設定されていることに基づいてセレクタ４１０，データレジスタ４１１をアクセス要求１回に対し１回出力されるように設定する。データはデータバス２ｂからセレクタ４１０を介してデータレジスタ４１１の上位または下位に記憶され、セレクタ４０６からアドレスが出力されるとデータバス４５ｂに１６ビットのデータを出力する。
【００２４】
セレクタ４０６から出力されるアドレスに基づいて、信号線４０７ａにより内部バス
４２へのアクセス要求信号が出力され、内部バス４２が設定されている場合は、最初の１回はアドレス設定レジスタ４０３の先頭番地のアドレスがセレクタ４０６に出力され、次回からのアクセスがあるとアドレスが加算器４０４に入力されて２加算されてセレクタ
４０５に入力され、アドレス設定レジスタ４０３に記憶される。アドレス設定レジスタ
４０３に記憶されたアドレスはセレクタ４０６に出力され、以下アクセスされる度にアドレスが２ずつ自動的にインクリメントされる。
【００２５】
一方、データ制御回路４２２で自動インクリメントモードで内部バスが設定されていることに基づいてセレクタ４１０，データレジスタ４１１をアクセス要求２回に対し１回出力されるように設定する。これにより、インバータ４２３を制御して、内部バス４２へのアクセス要求信号は、Ｉ／Ｏバス２からのアクセス要求２回に対し１回出力される。
【００２６】
信号線４０１ｃに自カード選択信号が出力されると、加算器４０４から出力されたアドレスがセレクタ４０５により選択される。信号線４０２ａのアクセスモード切替信号によりアドレス設定レジスタ４０３から信号線４０３ｂにアドレスが出力される。
【００２７】
Ｉ／Ｏバス２から内部バス４２をリードアクセスした場合、最初のアクセスでは信号線４０７ａの内部バスアクセス要求信号により内部バス４２ｂのデータバス４２ｂから上位側及び下位側データがデータレジスタ４０９に一旦格納される。セレクタ４０８により上位側データがＩ／Ｏバス２に出力される。次のアクセスでは、内部バス４２をアクセスしないでデータレジスタ４０９に一旦格納された下位側データがセレクタ４０８により選択されてＩ／Ｏバス２に出力される。
【００２８】
又、Ｉ／Ｏバス２から内部バス４２にライトアクセスした場合には、最初のアクセスではセレクタ４１０によりデータレジスタ４１１の上位側に一旦データを格納する。次のアクセスではセレクタ４１０によりデータレジスタ４１１の下位側に一旦データを格納する。上位側及び下位側に格納されたデータは一緒に内部バス４２に出力される。
【００２９】
このように自動インクリメントモードでは、ウィンドウをソフトコントロールで切替えることなくＩ／Ｏバス空間以上の連続したアドレス空間をアクセスすることができる。
【００３０】
本実施例によれば、プロセス入出力装置に対してメモリロード，メモリダンプ等の連続アクセスをする場合、Ｉ／Ｏバス空間分のウィンドウをＣＰＵがソフトコントロールで切替えなくてもメモリロード，メモリダンプ等を行うことができるので、ＣＰＵの負荷を低減することができる。
【００３１】
また、Ｉ／Ｏバスからのアクセス２回に１回の割合で、内部バスのアクセスを行うのでトータルのアクセス時間を短縮することができる。また、一旦データレジスタにデータを格納して内部バスへのアクセスを行っているので、上位側データと下位側データの同時性を確保することができる。
【００３２】
又、１枚あたり数点から数十点のプロセス入出力装置を複数枚使用する場合に、Ｉ／Ｏバスに１枚あたり数百ｋバイトから数Ｍバイトのアドレス空間を持つ高機能化したプロセス入出力装置を混在して実装することができる。又、Ｉ／Ｏバス空間内の任意の固定アドレスをアクセスすることによりＩ／Ｏバス空間以上の空間を連続してリードまたはライトする場合に適している。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施例であるプロセス入出力装置を適用した制御装置の構成図である。
【図２】プロセス入出力装置の構成図である。
【図３】バス変換回路の構成図である。
【符号の説明】
【００３４】
１…ＣＰＵ、２…Ｉ／Ｏバス、３…プロセス入出力装置、４…高機能プロセス入出力装置、５…プロセス操作端、４１…ＭＰＵ、４２…内部バス、４３…メモリ、４４…バス変換回路、４５…内部Ｉ／Ｏバス、４６…ＤＩ制御回路、４７…ＤＯ制御回路、４８…ＡＩ制御回路、４９…ＡＯ制御回路、４０１，４０７…デコーダ、４０２…アクセスモード切替レジスタ、４０３…アドレス設定レジスタ、４０４…加算器、４０５，４０６，４０８，４１０…セレクタ、４０９，４１１…データレジスタ、４２０，４２１,４２３,４２４…インバータ、４２２…データ制御回路。
【図１】
2005196426.tif 000003
【図２】
2005196426.tif 000004
【図３】
2005196426.tif 000005