JP2005196426A - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP2005196426A JP2005196426A JP2004001546A JP2004001546A JP2005196426A JP 2005196426 A JP2005196426 A JP 2005196426A JP 2004001546 A JP2004001546 A JP 2004001546A JP 2004001546 A JP2004001546 A JP 2004001546A JP 2005196426 A JP2005196426 A JP 2005196426A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- address
- output
- data
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】
アドレス空間を拡張するためにウィンドウをCPUがソフトコントロールで切替えながら行うとCPUの負荷が増加して処理性能が低下するという問題があった。
【解決手段】
I/Oバス2空間内の固定アドレスをアクセスすると自動的にアドレスをインクリメントするアドレス設定レジスタ402を設け、ウィンドウをソフトコントロールで切替えることなくI/Oバス2空間以上のアドレス空間を連続アクセスするようにし、プロセス入出力装置4にデータレジスタ409,411を設け、CPUからのアクセスに応じ、一時的にデータをラッチすることによりバス幅の異なるデータ転送の同時性を確保した。
【選択図】図3
アドレス空間を拡張するためにウィンドウをCPUがソフトコントロールで切替えながら行うとCPUの負荷が増加して処理性能が低下するという問題があった。
【解決手段】
I/Oバス2空間内の固定アドレスをアクセスすると自動的にアドレスをインクリメントするアドレス設定レジスタ402を設け、ウィンドウをソフトコントロールで切替えることなくI/Oバス2空間以上のアドレス空間を連続アクセスするようにし、プロセス入出力装置4にデータレジスタ409,411を設け、CPUからのアクセスに応じ、一時的にデータをラッチすることによりバス幅の異なるデータ転送の同時性を確保した。
【選択図】図3
Description
本発明は、プロセス全体の制御をCPUが行い、プロセス操作端の制御を行う単数のプロセス入出力装置もしくはプロセス制御に関連する制御を行う複数枚のプロセス入出力装置を備えた制御装置に関する。
従来は、1枚あたり数点から数十点のプロセス入出力装置(DI,DO,AIまたは
AO)を複数枚使用してプロセスの制御を行っていたので、1枚あたりのI/Oバス空間は、数十ワードで十分だった。一方、インテリジェント化するなど機能を特化したプロセス入出力装置は、1枚あたり数百Kバイト〜数Mバイトのアドレス空間が必要であり、I/Oバスにこれを接続するためにはアドレス空間を拡張する必要がある。アドレス空間を拡張する方法としては、1枚あたりのI/Oバス空間分のウィンドウをCPUがソフトコントロールしてウィンドウを切替えて空間拡張していた。
AO)を複数枚使用してプロセスの制御を行っていたので、1枚あたりのI/Oバス空間は、数十ワードで十分だった。一方、インテリジェント化するなど機能を特化したプロセス入出力装置は、1枚あたり数百Kバイト〜数Mバイトのアドレス空間が必要であり、I/Oバスにこれを接続するためにはアドレス空間を拡張する必要がある。アドレス空間を拡張する方法としては、1枚あたりのI/Oバス空間分のウィンドウをCPUがソフトコントロールしてウィンドウを切替えて空間拡張していた。
又、〔特許文献1〕には、プロセッサからMビット・アドレスを受信する回路と、X−Mビットを受信されるアドレスに連結する回路と、プロセッサからのアドレスのX−Mビットのアドレス・マスクとの論理和演算を実行する回路と、論理和演算結果を、プロセッサから受信されるアドレスの残りのMビットと連結する回路と、この連結オペレーション結果をXビット・アドレスと比較する回路と、比較演算結果に応答して論理和演算結果を選択する回路と、この選択をメモリ・システム内のアドレスをアクセスするためのアドレスとして出力する回路を備えたプロセッサがある。
従来の技術では、1枚あたりのI/Oバス空間分のウィンドウをCPUがソフトコントロールして切替えながら行っていたので、CPUの負荷が増加して処理性能が低下するとういう問題があった。この処理性能の低下は、プロセス入出力装置に対して、メモリロード,メモリダンプ等の動作を行った場合に顕著に現れる。また、I/Oバスのデータバス幅と高機能プロセス入出力装置内部バスのデータバス幅が異なる場合、プロセス入出力装置のアクセス時にデータの同時性が確保されないという問題があった。
又、〔特許文献1〕に記載の技術は、本来アドレス指定不能なメモリ・システム内のアドレスの必要データをアクセス可能にするものではあるが、CPUの負荷の軽減,データの同時性の確保については配慮されていないものである。
本発明の目的は、メモリロード,メモリダウン等の動作におけるCPUの負荷を軽減でき、データの同時性が確保できる制御装置を提供することにある。
上記目的を達成するために、本発明の制御装置は、I/Oバス空間内の固定アドレスをアクセスすると自動的にアドレスをインクリメントする加算器とアドレス設定レジスタを設け、ウィンドウをソフトコントロールで切替えることなくI/Oバス空間以上のアドレス空間を連続アクセスするようにしたものである。また、プロセス入出力装置にデータバッファレジスタを設け、CPUからのアクセスに応じ、一時的にデータをラッチすることによりバス幅の異なるデータ転送の同時性を確保したものである。
高機能プロセス入出力装置に対するメモリロード,メモリダンプ等の連続アクセスをする場合、ソフトコントロールによる切替えが不要となるので、CPU負荷を低減することができる。
また、I/Oバスからのアクセス2回に1回の割合で、高機能プロセス入出力装置の内部バスをアクセスするのでトータルのアクセス時間を短縮することができる。
本発明の一実施例を図1から図3により説明する。図1は、高機能プロセス入出力装置を適用した制御装置7の構成図である。制御装置7は、CPU1に、I/Oバス2を介して高機能プロセス入出力装置4が接続され、高機能プロセス入出力装置4は、プロセス操作端5と接続されて構成されている。図1に示す例では、I/Oバス2にDI,DO,
AIまたはAO等のプロセス入出力装置3も接続した例を示しており、プロセス入出力装置3はプロセス操作端5と接続されている。プロセス入出力装置3はI/Oバス空間内のアドレス空間を有するプロセス入出力装置である。
AIまたはAO等のプロセス入出力装置3も接続した例を示しており、プロセス入出力装置3はプロセス操作端5と接続されている。プロセス入出力装置3はI/Oバス空間内のアドレス空間を有するプロセス入出力装置である。
図2は、高機能プロセス入出力装置4の構成図である。高機能プロセス入出力装置4は、I/Oバス2に接続されるバス変換回路44と、バス変換回路44に内部バス42を介して接続されるMPU41,メモリ43と、バス変換回路44と内部I/Oバス45を介して接続されるDI制御回路46,DO制御回路47,AI制御回路48,AO制御回路
49で構成される。DI制御回路46及びAI制御回路48はプロセス操作端5からの信号を受信し、DO制御回路47及びAO制御回路49はプロセス操作端5に信号を送信するようになっている。
49で構成される。DI制御回路46及びAI制御回路48はプロセス操作端5からの信号を受信し、DO制御回路47及びAO制御回路49はプロセス操作端5に信号を送信するようになっている。
図3は、バス変換回路44の詳細な構造を示す図である。I/Oバス2は、アドレスバス2a,16ビット幅のデータバス2b,制御信号線2cで構成されている。アドレスバス2a及び制御信号線2cはデコーダ401に接続されている。データバス2bは、セレクタ405及びアクセスモード切替レジスタ402に接続されるとともに、インバータ
420を介してセレクタ410,インバータ421を介してセレクタ408に接続されている。制御信号線2cは、データ制御回路422に接続されている。デコーダ401の出力は、データ制御回路422,セレクタ405,デコーダ407にそれぞれ接続されている。データ制御回路422はインバータ421に接続されている。デコーダ401の他の出力である信号線401aはアクセスモード切替レジスタ402に、信号線401bはアドレス設定レジスタ403に接続されている。
420を介してセレクタ410,インバータ421を介してセレクタ408に接続されている。制御信号線2cは、データ制御回路422に接続されている。デコーダ401の出力は、データ制御回路422,セレクタ405,デコーダ407にそれぞれ接続されている。データ制御回路422はインバータ421に接続されている。デコーダ401の他の出力である信号線401aはアクセスモード切替レジスタ402に、信号線401bはアドレス設定レジスタ403に接続されている。
アクセスモード切替レジスタ402の出力は、データ制御回路422,セレクタ406に接続されている。セレクタ405の出力は、アドレス設定レジスタ403に接続され、アドレス設定レジスタ403の出力は加算器404に接続される一方、アドレスバス2aと接続された信号線403aによりセレクタ406に接続される。加算器404に入力された信号は1又は2加算されてセレクタ405に入力されるようになっている。セレクタ406の出力は、内部I/Oバス45のアドレスバス45a,内部バス42のアドレスバス42a,デコーダ407に接続されている。デコーダ407の出力は、データ制御回路422,内部バス42の制御信号42c及び内部I/Oバス45の制御信号線45cにそれぞれ接続されている。
セレクタ410は上位及び下位それぞれデータレジスタ411に、セレクタ408は上位及び下位それぞれデータレジスタ409と接続されている。データレジスタ411はインバータ423を介して32ビット幅のデータバス42bと接続され、データレジスタ
409はインバータ424を介してデータバス42bと接続されている。データ制御回路422の出力は、セレクタ408,セレクタ410とデータレジスタ411を結ぶ信号線410a,データレジスタ409,インバータ423にそれぞれ接続されている。データレジスタ411はインバータ423を介して、データレジスタ409はインバータ424を介して内部バス42のデータバス42b,内部I/Oバス45の16ビット幅のデータバス45bに接続されている。ここで、I/Oバス2を16ビット幅で説明したが、I/Oバス2のビット幅と内部バス42のビット幅の関係が1対2であればよい。
409はインバータ424を介してデータバス42bと接続されている。データ制御回路422の出力は、セレクタ408,セレクタ410とデータレジスタ411を結ぶ信号線410a,データレジスタ409,インバータ423にそれぞれ接続されている。データレジスタ411はインバータ423を介して、データレジスタ409はインバータ424を介して内部バス42のデータバス42b,内部I/Oバス45の16ビット幅のデータバス45bに接続されている。ここで、I/Oバス2を16ビット幅で説明したが、I/Oバス2のビット幅と内部バス42のビット幅の関係が1対2であればよい。
このように構成されたバス変換回路44は次のように動作する。I/Oバス空間分のウィンドウをCPUがソフトコントロールする場合は、I/Oバス2のアドレスバス2a,制御信号線2cからの信号をデコーダ401が取り込んで、自カード内のアクセスモード切替レジスタ402が指定されていると、デコーダ401より信号線401aにアクセスモード切替レジスタ選択信号が出力され、アクセスモード切替レジスタ402にウィンドウ方式であるアクセスモードを設定する。また、デコーダ401でアドレス設定レジスタ403が指定されていると、デコーダ401からアドレス設定レジスタ選択信号が信号線401bを介してアドレス設定レジスタ403に入力される。一方、デコーダ401からの信号がセレクタ405に出力され、セレクタ405を介してデータバス2bからの番地を設定するためのデータがアドレス設定レジスタ403に入力される。アドレス設定レジスタ403は、アクセスするバスとアクセスする先頭番地を設定するため、内部I/Oバス45のアドレスを設定する。
アクセスモード切替レジスタ402から信号線402aを介してセレクタ406に入力される信号がウィンドウ方式であるので、セレクタ406は、アドレス設定レジスタ403に取り込んだデータの上位ビットとI/Oバス2のアドレスの下位5ビットと組み合わされたアドレスが入力される。この組み合わされたアドレスは、アドレスバス45aに入力される。
一方、データ制御回路422ではウィンドウ方式であることに基づいてセレクタ410,データレジスタ411をアクセス要求1回に対し1回出力されるように設定する。データはデータバス2bからセレクタ410を介してデータレジスタ411の上位または下位に記憶され、セレクタ406からアドレスが出力されるとデータバス45bに16ビットのデータを出力する。
以上の説明では、ライトアクセスする場合を説明したが、I/Oバス2から内部I/Oバスをリードアクセスする場合は、データレジスタ409をアクセス要求1回に対し1回出力されるように設定し、データはデータレジスタ409の上位または下位に記憶され、セレクタ406からアドレスが出力されるとI/Oバス2のデータバス2bに出力される。
次に、自動インクリメントのモードでは、I/Oバス2のアドレスバス2a,制御信号線2cからの信号をデコーダ401が取り込んで、自カード内のアクセスモード切替レジスタ402が指定されていると、デコーダ401より信号線401aにアクセスモード切替レジスタ選択信号が出力され、アクセスモード切替レジスタ402に自動インクリメントであるアクセスモードを設定する。また、デコーダ401でアドレス設定レジスタ403が指定されていると、デコーダ401からアドレス設定レジスタ選択信号が信号線401bを介してアドレス設定レジスタ403に入力される。一方、デコーダ401からの信号がセレクタ405に出力され、セレクタ405を介してデータバス2bからの番地を設定するためのデータがアドレス設定レジスタ403に入力される。アドレス設定レジスタ403
は、アクセスするバスとアクセスする先頭番地を設定するため、内部バス42または内部I/Oバス45のアドレスを設定する。
は、アクセスするバスとアクセスする先頭番地を設定するため、内部バス42または内部I/Oバス45のアドレスを設定する。
I/Oバス2の信号をデコーダ401が取り込んで、自カードが指定されていると、デコーダ401から信号線401cに自カード選択信号が出力され、デコーダ407に入力される。自カードが選択された時には、セレクタ406から出力されるアドレスに基づいて、信号線407aにより内部バス42へのアクセス要求信号、あるいは信号線407bにより内部I/Oバス45へのアクセス要求信号を出力する。
内部I/Oバス45が設定されている場合は、最初の1回はアドレス設定レジスタ403の先頭番地のアドレスがセレクタ406に出力され、次回からのアクセスがあるとアドレスが加算器404に入力されて1加算されてセレクタ405に入力され、アドレス設定レジスタ403に記憶される。アドレス設定レジスタ403に記憶されたアドレスはセレクタ406に出力され、以下アクセスされる度にアドレスが1ずつ自動的にインクリメントされる。
一方、データ制御回路422で自動インクリメントモードで内部I/Oバスが設定されていることに基づいてセレクタ410,データレジスタ411をアクセス要求1回に対し1回出力されるように設定する。データはデータバス2bからセレクタ410を介してデータレジスタ411の上位または下位に記憶され、セレクタ406からアドレスが出力されるとデータバス45bに16ビットのデータを出力する。
セレクタ406から出力されるアドレスに基づいて、信号線407aにより内部バス
42へのアクセス要求信号が出力され、内部バス42が設定されている場合は、最初の1回はアドレス設定レジスタ403の先頭番地のアドレスがセレクタ406に出力され、次回からのアクセスがあるとアドレスが加算器404に入力されて2加算されてセレクタ
405に入力され、アドレス設定レジスタ403に記憶される。アドレス設定レジスタ
403に記憶されたアドレスはセレクタ406に出力され、以下アクセスされる度にアドレスが2ずつ自動的にインクリメントされる。
42へのアクセス要求信号が出力され、内部バス42が設定されている場合は、最初の1回はアドレス設定レジスタ403の先頭番地のアドレスがセレクタ406に出力され、次回からのアクセスがあるとアドレスが加算器404に入力されて2加算されてセレクタ
405に入力され、アドレス設定レジスタ403に記憶される。アドレス設定レジスタ
403に記憶されたアドレスはセレクタ406に出力され、以下アクセスされる度にアドレスが2ずつ自動的にインクリメントされる。
一方、データ制御回路422で自動インクリメントモードで内部バスが設定されていることに基づいてセレクタ410,データレジスタ411をアクセス要求2回に対し1回出力されるように設定する。これにより、インバータ423を制御して、内部バス42へのアクセス要求信号は、I/Oバス2からのアクセス要求2回に対し1回出力される。
信号線401cに自カード選択信号が出力されると、加算器404から出力されたアドレスがセレクタ405により選択される。信号線402aのアクセスモード切替信号によりアドレス設定レジスタ403から信号線403bにアドレスが出力される。
I/Oバス2から内部バス42をリードアクセスした場合、最初のアクセスでは信号線407aの内部バスアクセス要求信号により内部バス42bのデータバス42bから上位側及び下位側データがデータレジスタ409に一旦格納される。セレクタ408により上位側データがI/Oバス2に出力される。次のアクセスでは、内部バス42をアクセスしないでデータレジスタ409に一旦格納された下位側データがセレクタ408により選択されてI/Oバス2に出力される。
又、I/Oバス2から内部バス42にライトアクセスした場合には、最初のアクセスではセレクタ410によりデータレジスタ411の上位側に一旦データを格納する。次のアクセスではセレクタ410によりデータレジスタ411の下位側に一旦データを格納する。上位側及び下位側に格納されたデータは一緒に内部バス42に出力される。
このように自動インクリメントモードでは、ウィンドウをソフトコントロールで切替えることなくI/Oバス空間以上の連続したアドレス空間をアクセスすることができる。
本実施例によれば、プロセス入出力装置に対してメモリロード,メモリダンプ等の連続アクセスをする場合、I/Oバス空間分のウィンドウをCPUがソフトコントロールで切替えなくてもメモリロード,メモリダンプ等を行うことができるので、CPUの負荷を低減することができる。
また、I/Oバスからのアクセス2回に1回の割合で、内部バスのアクセスを行うのでトータルのアクセス時間を短縮することができる。また、一旦データレジスタにデータを格納して内部バスへのアクセスを行っているので、上位側データと下位側データの同時性を確保することができる。
又、1枚あたり数点から数十点のプロセス入出力装置を複数枚使用する場合に、I/Oバスに1枚あたり数百kバイトから数Mバイトのアドレス空間を持つ高機能化したプロセス入出力装置を混在して実装することができる。又、I/Oバス空間内の任意の固定アドレスをアクセスすることによりI/Oバス空間以上の空間を連続してリードまたはライトする場合に適している。
1…CPU、2…I/Oバス、3…プロセス入出力装置、4…高機能プロセス入出力装置、5…プロセス操作端、41…MPU、42…内部バス、43…メモリ、44…バス変換回路、45…内部I/Oバス、46…DI制御回路、47…DO制御回路、48…AI制御回路、49…AO制御回路、401,407…デコーダ、402…アクセスモード切替レジスタ、403…アドレス設定レジスタ、404…加算器、405,406,408,410…セレクタ、409,411…データレジスタ、420,421,423,424…インバータ、422…データ制御回路。
Claims (5)
- I/Oバスの信号を入力し先頭番地を含むアドレスを設定するアドレス設定レジスタと、アクセスがあると該アドレス設定レジスタのアドレスをインクリメントする加算器と、前記アドレス設定レジスタから出力されるアドレスに基づいたバスにアクセス要求信号を出力するデコーダと、前記アクセス要求信号を出力する内部バスに基づいてアクセス要求回数に対するデータレジスタの出力を設定するデータ制御回路とを備えたプロセス入出力装置をI/Oバスに接続した制御装置。
- I/Oバスの信号を入力しウィンドウ方式か自動インクリメントモードのいずれかを設定するアクセスモード切替レジスタと、I/Oバスの信号を入力し先頭番地を含むアドレスを設定するアドレス設定レジスタと、前記アドレス設定レジスタが自動インクリメントモードに設定された場合にアクセスがあると前記アドレス設定レジスタのアドレスをインクリメントする加算器と、前記アドレス設定レジスタから出力されるアドレスに基づいたバスにアクセス要求信号を出力するデコーダと、前記アクセス要求信号を出力する内部バス及び前記アドレス設定レジスタの設定に基づいてアクセス要求回数に対するデータレジスタの出力を設定するデータ制御回路とを備えた高機能プロセス入出力装置をI/Oバスに接続した制御装置。
- 前記アクセス要求信号を出力する内部バスが前記I/Oバスのビット幅と同じバスと2倍のビット幅のバスを含むものであって、前記データ制御回路は、アクセス要求信号を出力する内部バスが前記I/Oバスのビット幅と同じ場合はアクセス要求1回に対し出力を1回に設定し、前記内部バスが2倍のビット幅の場合はアクセス要求2回に対し出力を1回に設定する請求項1又は2に記載の制御装置。
- 前記I/OバスにI/Oバス空間内のアドレス空間を有するプロセス入出力装置が接続されている請求項1又は2に記載の制御装置。
- 前記アクセスモード切替レジスタがウィンドウ方式に設定された場合は、前記アドレス設定レジスタに設定されたアドレスの上位と前記I/Oバスから入力されたアドレスの下位5ビットを組み合わせたアドレスを生成すると共に、前記データ制御回路によりアクセス要求1回に対して出力を1回に設定する請求項2に記載の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004001546A JP2005196426A (ja) | 2004-01-07 | 2004-01-07 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004001546A JP2005196426A (ja) | 2004-01-07 | 2004-01-07 | 制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005196426A true JP2005196426A (ja) | 2005-07-21 |
Family
ID=34817030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004001546A Pending JP2005196426A (ja) | 2004-01-07 | 2004-01-07 | 制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005196426A (ja) |
-
2004
- 2004-01-07 JP JP2004001546A patent/JP2005196426A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006268801A (ja) | メモリアクセス制御回路 | |
US11687261B2 (en) | Semiconductor device and a method for controlling accessing data | |
JP2005196426A (ja) | 制御装置 | |
JP2005258509A (ja) | ストレージ装置 | |
JPH0447349A (ja) | データ記憶装置 | |
JP2001256104A (ja) | 情報処理装置 | |
JPH05189360A (ja) | データ転送および記憶方式 | |
JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
JP3353877B2 (ja) | メモリ装置 | |
JP3322993B2 (ja) | 情報処理装置 | |
JP2853736B2 (ja) | クラスタ番号変換回路 | |
JP2001005722A (ja) | メモリアクセス制御方法とその装置 | |
JP2845746B2 (ja) | マイクロプログラム制御装置 | |
JP3496942B2 (ja) | メモリアクセス方法 | |
JPH0981500A (ja) | 仮想dma転送方法 | |
JP3242474B2 (ja) | データ処理装置 | |
JP3217815B2 (ja) | アドレス変換方式 | |
JPH11176165A (ja) | シーケンシャルアクセス型半導体メモリ装置 | |
JPH02307123A (ja) | 計算機 | |
JPH03262056A (ja) | キャッシュ・バースト転送方式 | |
JPS59205649A (ja) | 演算制御方式 | |
JPH03259491A (ja) | メモリ制御装置 | |
JPH04333954A (ja) | 情報処理装置 | |
JP2003296105A (ja) | データ処理装置 | |
JP2005190092A (ja) | メモリアクセスコントロール回路 |