(57)【要約】【課題】回路規模を抑えることができるとともに、コストを低減させる。【解決手段】１種類の命令が予め設定され、この命令に基づき、処理の順序毎に対応付けられた一つ又は複数のオペランドを格納するオペランド格納部１１から、所定の順序に対応付けられたオペランドを読み出し、外部に接続されたデバイス２に対して送出するとともに、読み出したオペランドをデバイス２に対して送出することにより、次の順序に対応付けられたオペランドをオペランド格納部１１から読み出す。【選択図】図１
2012123438.tif 000002
【特許請求の範囲】
【請求項１】
予め決められた順序に従って処理を実行するシーケンス命令処理装置であって、
前記処理の順序毎に対応付けられた一つ又は複数のオペランドを格納するオペランド格納部と、
１種類の命令が設定され、該命令に基づき、前記オペランド格納部から所定の順序に対応付けられたオペランドを読み出し、外部に接続されたデバイスに対して送出する命令実行部とを備え、
前記命令実行部は、前記読み出したオペランドを前記デバイスに対して送出することにより、次の順序に対応付けられたオペランドを前記オペランド格納部から読み出すことを特徴とするシーケンス命令処理装置。
【請求項２】
前記命令実行部は、前記処理の順序を決定するプログラムカウンタを有し、
前記プログラムカウンタの値が示す順序に対応付けられたオペランドを前記オペランド格納部から読み出すことを特徴とする請求項１に記載のシーケンス命令処理装置。
【請求項３】
前記命令実行部は、前記読み出したオペランドを前記デバイスに対して送出することにより、前記プログラムカウンタの値を所定数だけインクリメントさせることを特徴とする請求項２に記載のシーケンス命令処理装置。
【請求項４】
前記オペランドは、アドレス及びデータを含むことを特徴とする請求項１に記載のシーケンス命令処理装置。
【請求項５】
予め決められた順序に従って処理を実行するシーケンス命令処理方法であって、
１種類の命令が設定され、該命令に基づき、前記処理の順序毎に対応付けられた一つ又は複数のオペランドを格納するオペランド格納部から、所定の順序に対応付けられたオペランドを読み出し、外部に接続されたデバイスに対して送出し、
前記読み出したオペランドを前記デバイスに対して送出することにより、次の順序に対応付けられたオペランドを前記オペランド格納部から読み出すことを特徴とするシーケンス命令処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス命令処理装置及びシーケンス命令処理方法に関し、特に、一連のシーケンス命令を実行するプログラマブル・コントローラに設けられるシーケンス命令処理装置及びシーケンス命令処理方法に関する。
【背景技術】
【０００２】
近年、デジタル技術の発展に伴い、様々な製品に半導体部品が使用されている。これらの製品の多くには、シーケンス命令処理装置が内蔵されており、複雑な処理を行わせることで、様々な機能を組み込むことが可能となっている。
【０００３】
図７は、従来のシーケンス命令処理装置１００の構成の一例を示し、このシーケンス命令処理装置１００は、バス３００を介してデバイス２００と接続される。また、シーケンス命令処理装置１００は、オペランド格納部１０１、命令実行部１０２及び命令デコード部１０３を備え、オペランド格納部１０１と命令デコード部１０３とがバス１０４を介して接続される。
【０００４】
オペランド格納部１０１は、例えばメモリであり、内部が論理的なテーブル構成となっている。オペランド格納部１０１には、シーケンス処理の順序を示すステップ毎に対応付けられたオペランドが格納される。図８は、命令アーキテクチャ１１０の一例を示し、命令コード及び２種類のオペランド＃１及び＃２で構成される。
【０００５】
図９は、オペランド格納部１０１の内部構成の一例を示し、オペランド格納部１０１には、ステップ毎に対応付けられた命令コードと、複数のオペランド＃１及び＃２とが対になって格納される。この例では、オペランド＃１にアドレスが適用されるとともに、オペランド＃２にデータが適用され、８ステップ分のアドレス及びデータがオペランド格納部１０１に格納される。
【０００６】
命令実行部１０２は、オペランド格納部１０１から各ステップに対応付けられた命令コード及びオペランドを読み出すための要求を行う。命令デコード部１０３は、命令実行部１０２の要求に基づき読み出された命令コードを解析し、解析結果に基づいて所定の命令を実行する。例えば、図９に示す命令コード、アドレス及びデータがオペランド格納部１０１に格納されている場合、命令実行部１０２は、オペランド格納部１０１に対してオペランドの読み出しを要求する。この要求に基づき、命令デコード部１０３は、１ステップずつ、各ステップに対応付けられた命令コード、アドレス及びデータを順次読み出し、命令コードの解析を行う。そして、命令実行部１０２は、解析された命令に基づき、読み出したアドレス及びデータをバス３００を介してデバイス２００に送出する。
【０００７】
このように、複数種類の命令が格納されたメモリから、所定の命令を順次読み出し、読み出された命令に応じた処理を実行するシーケンス命令処理装置が、例えば下記の特許文献１及２に記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開昭５９−２０５６０５号公報
【特許文献２】特開平４−２７１４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、シーケンス命令処理装置を搭載する製品によっては、複数種類の命令に応じた処理を実行するような高い機能が不要であり、単純な処理のみを実行できればよい、という製品もある。このような製品に、特許文献１及び２に記載のシーケンス命令処理装置を搭載すると、命令を解析するための回路が必要となるため、回路の規模が大きくなってしまい、製造コストや開発工数が増大するという問題があった。
【００１０】
また、このシーケンス命令処理装置を集積回路に搭載する場合、シーケンス命令処理装置の回路規模が大きくなるに従って、他の回路を搭載するための面積が狭くなり、集積回路に多くの機能を組み込むことが困難になる。さらに、集積回路に多数の回路を搭載した場合には、回路の配置や配線の引き回し等に支障をきたし、回路の遅延調整等に多大な時間と労力を要するという問題がある。
【００１１】
また、このシーケンス命令処理装置では、命令解析回路が複雑化するため、開発期間が増大するという問題があった。
【００１２】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、回路規模を抑えるとともに、コストを低減させることが可能なシーケンス命令処理装置及びシーケンス命令処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、予め決められた順序に従って処理を実行するシーケンス命令処理装置であって、前記処理の順序毎に対応付けられた一つ又は複数のオペランドを格納するオペランド格納部と、１種類の命令が設定され、該命令に基づき、前記オペランド格納部から所定の順序に対応付けられたオペランドを読み出し、外部に接続されたデバイスに対して送出する命令実行部とを備え、前記命令実行部は、前記読み出したオペランドを前記デバイスに対して送出することにより、次の順序に対応付けられたオペランドを前記オペランド格納部から読み出すことを特徴とする。
【００１４】
そして、本発明によれば、命令を１種類に限定し、オペランド格納部から読み出されたオペランドを、そのまま外部のデバイスへ送出するため、命令を解析するための回路が不要となり、シーケンス命令処理装置の回路規模を抑えることができる。
【００１５】
そして、命令を解析するための回路が不要であることにより、シーケンス命令処理装置のプログラムを簡素化することができるため、設計及び検証作業等を軽減させることができ、開発工数を抑えることができる。
【００１６】
また、シーケンス命令処理装置の回路規模を抑えることにより、集積回路にこのシーケンス命令処理装置を搭載した場合に、他の回路に割り当てることができる面積を増加させることができるため、集積回路により多くの機能を搭載することができる。
【００１７】
上記シーケンス命令処理装置において、前記命令実行部は、前記処理の順序を決定するプログラムカウンタを有し、前記プログラムカウンタの値が示す順序に対応付けられたオペランドを前記オペランド格納部から読み出すことができる。
【００１８】
上記シーケンス命令処理装置において、前記命令実行部は、前記読み出したオペランドを前記デバイスに対して送出することにより、前記プログラムカウンタの値を所定数だけインクリメントさせることができる。
【００１９】
上記シーケンス命令処理装置において、前記オペランドは、アドレス及びデータを含むことができる。
【００２０】
また、本発明は、予め決められた順序に従って処理を実行するシーケンス命令処理方法であって、１種類の命令が設定され、該命令に基づき、前記処理の順序毎に対応付けられた一つ又は複数のオペランドを格納するオペランド格納部から、所定の順序に対応付けられたオペランドを読み出し、外部に接続されたデバイスに対して送出し、前記読み出したオペランドを前記デバイスに対して送出することにより、次の順序に対応付けられたオペランドを前記オペランド格納部から読み出すことを特徴とする。本発明によれば、前記発明と同様に、回路規模を抑えることができるとともに、開発工数を抑えることができる。
【発明の効果】
【００２１】
以上のように、本発明によれば、回路規模を抑えることができるとともに、コストを低減させることが可能になる。
【図面の簡単な説明】
【００２２】
【図１】本発明にかかるシーケンス命令処理装置の一実施の形態を示すブロック図である。
【図２】命令アーキテクチャについて説明するための略線図である。
【図３】オペランド格納部について説明するための略線図である。
【図４】命令実行部の構成の一例を示すブロック図である。
【図５】シーケンス命令処理装置の動作について説明するためのシーケンス図である。
【図６】命令実行部における処理の流れについて説明するためのフローチャートである。
【図７】従来のシーケンス命令処理装置の構成の一例を示すブロック図である。
【図８】従来の命令アーキテクチャについて説明するための略線図である。
【図９】従来のオペランド格納部について説明するための略線図である。
【発明を実施するための形態】
【００２３】
次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。本発明は、実行する命令を１種類に限定し、この命令に従い、予め定められた順序に基づいて処理を実行するものである。一般に、複数種類の命令に基づいて処理を実行する場合、各々の命令を解析する必要があるが、本発明では、命令の種類を１つに限定しているため、命令の解析を行うことなく処理を実行することができる。
【００２４】
図１は、本発明にかかるシーケンス命令処理装置１の一実施の形態を示し、このシーケンス命令処理装置１は、バス３を介してデバイス２と接続される。また、シーケンス命令処理装置１は、オペランド格納部１１及び命令実行部１２を備え、オペランド格納部１１と命令実行部１２とがバス１３を介して接続される。
【００２５】
オペランド格納部１１は、例えばメモリであり、内部が論理的なテーブル構成となっている。オペランド格納部１１には、シーケンス処理の順序を示すステップ毎に対応付けられたオペランドが格納される。図２は、命令アーキテクチャ１０の一例を示し、本発明の一実施の形態では、命令アーキテクチャ１０が２種類のオペランド＃１及び＃２で構成される。
【００２６】
図３は、オペランド格納部１１の内部構成の一例を示し、オペランド格納部１１には、ステップ毎に対応付けられた２種類のオペランド＃１及び＃２が対になって格納される。この例では、オペランド＃１にアドレスが適用されるとともに、オペランド＃２にデータが適用され、８ステップ分のアドレス及びデータがオペランド格納部１１に格納される。
【００２７】
尚、ここでは、ステップ数が８の場合を例にとって説明したが、これに限られず、ステップ数を７以下、または９以上としてもよい。また、オペランド格納部１１に格納されるオペランドは、２種類に限られず、１種類又は３種類以上としてもよい。さらに、オペランドの内容は、アドレス及びデータ以外のものでもよい。
【００２８】
命令実行部１２は、１種類の命令が予め設定され、オペランド格納部１１から各ステップに対応付けられたオペランドを読み出し、設定された命令を実行する。例えば、図３に示すアドレス及びデータがオペランド格納部１１に格納されている場合、命令実行部１２は、オペランド格納部１１に対してオペランドの読み出しを要求し、１ステップずつ、各ステップに対応付けられたアドレス及びデータを順次読み出す。そして、命令実行部１２は、読み出したアドレス及びデータを、バス３を介してデバイス２に送出する。
【００２９】
また、命令実行部１２は、デバイス２におけるアドレス及びデータの受信が有効である期間を示すライトストローブ信号を送信し、ライトストローブ信号の有効期間であるライトサイクルの間に、送出したアドレス及びデータを受信するようにデバイス２を制御する。
【００３０】
図４は、命令実行部１２の構成の一例を示し、この命令実行部１２は、プログラムカウンタ２１、サイクル生成部２２及び加算器２３を備える。
【００３１】
プログラムカウンタ２１は、初期値が「１」であり、加算器２３により、例えば１ずつインクリメントされる。プログラムカウンタ２１の値は、オペランド格納部１１からオペランドを読み出す際のステップの数に対応する。具体的には、例えば、プログラムカウンタ２１の値が「１」の場合は、ステップ１に対応する。尚、インクリメントされるプログラムカウンタ２１の値は、「１」に限られず、例えば所定数だけインクリメントさせるようにしてもよい。
【００３２】
命令実行部１２は、プログラムカウンタ２１の値に基づき、オペランド格納部１１に格納されたオペランドのうち、所定のステップに対応付けられたオペランドを読み出す。オペランド格納部１１から読み出されたアドレスは、アドレスライン１３ａを介して送出され、データは、データライン１３ｂを介して送出される。
【００３３】
サイクル生成部２２は、プログラムカウンタ２１の加算タイミングを制御し、ライトストローブ信号に基づくライトサイクルがデバイス２へ送出されると、プログラムカウンタ２１の値を１だけインクリメントさせるように制御する。
【００３４】
次に、上記構成を有するシーケンス命令処理装置１の動作について、図５及び６を参照しながら説明する。
【００３５】
先ず、シーケンス命令処理装置１の動作について、図５を参照して説明する。シーケンス命令処理装置１において、命令実行部１２は、オペランド格納部１１に対してステップ１に対応付けられたアドレス及びデータの読み出しを要求する（ＳＥＱ１）。オペランド格納部１１は、この要求に対して、ステップ１に対応付けられたオペランド＃１及び＃２に格納されたアドレス及びデータを、命令実行部１２を介してデバイス２に送出する（ＳＥＱ２）。
【００３６】
ステップ１に対応付けられたアドレス及びデータの送出が完了すると、命令実行部１２は、オペランド格納部１１に対してステップ２に対応付けられたアドレス及びデータの読み出しを要求する（ＳＥＱ３）。オペランド格納部１１は、この要求に対して、ステップ２に対応付けられたアドレス及びデータを、命令実行部１２を介してデバイス２に送出する（ＳＥＱ４）。
【００３７】
以下、同様にして、命令実行部１２によるアドレス及びデータの読み出し要求、及びデバイス２に対するアドレス及びデータの送出処理をステップ毎に順次行い、ステップ８に対応付けられたアドレス及びデータの読み出し及びデバイス２への送出処理を行う（ＳＥＱ５、６）。
【００３８】
尚、この例では、所定のステップに対応付けられたアドレス及びデータをデバイス２に送出した後、直ちに次のステップに対応付けられたアドレス及びデータを読み出してデバイス２に対して送出するようにしているが、これはこの例に限られない。例えば、所定のステップに対応付けられたアドレス及びデータをデバイス２に送出した後、デバイス２からの受信完了を示す通知等を受け取り、アドレス及びデータの受信が正常に完了したことを確認してから、次のステップに対応付けられたアドレス及びデータを読み出して送出するようにしてもよい。
【００３９】
このように、本発明の一実施の形態においては、オペランド格納部１１から読み出されたアドレス及びデータに対して、命令実行部１２で何ら処理を施すことなく、そのままデバイス２へ送出する。
【００４０】
次に、命令実行部１２の処理の流れについて、図６を参照して説明する。ステップＳ１において、命令実行部１２は、プログラムカウンタ２１が示す値に基づき、所定のステップに対応付けられたオペランドに格納されたアドレス及びデータの読み出しを要求する。ステップＳ２では、この要求に基づき、対応するアドレス及びデータが読み出される。
【００４１】
ステップＳ３において、読み出したアドレス及びデータを送出するとともに、ライトストローブ信号が送出されることによりライトサイクルが生成され、ステップＳ４でデバイスに対してライトサイクルが送出される。
【００４２】
デバイス２へのライトサイクルの送出が完了すると、ステップＳ５において、最終ステップに対応付けられたアドレス及びデータの送出が完了したか否かが判断される。最後に送出したアドレス及びデータが最終ステップに対応するものであると判断された場合には、一連の処理が終了する。
【００４３】
一方、最後に送出したアドレス及びデータが最終ステップに対応するものではないと判断された場合には、ステップＳ６において、サイクル生成部２２の制御によりプログラムカウンタ２１の値が所定数、例えば１だけインクリメントされ、処理がステップＳ１に戻り、次のステップに対応付けられたアドレス及びデータの送出処理が行われる。
【００４４】
以上のように、本実施の形態によれば、命令を１種類に限定し、オペランド格納部１１から読み出されたオペランドを、そのまま外部のデバイス２へ送出するため、命令を解析するための回路が不要となる。これにより、シーケンス命令処理装置の回路規模を抑えることができる。
【００４５】
また、本実施の形態によれば、命令を解析するための回路が不要であるため、シーケンス命令処理装置のプログラムを簡素化することができる。これにより、設計及び検証作業等を軽減させることができ、開発工数を抑えることができる。
【００４６】
さらに、シーケンス命令処理装置の回路規模を抑えることにより、従来と同一サイズの集積回路にこのシーケンス命令処理装置を搭載した場合、他の回路に割り当てることができる面積を増加させることができる。そのため、従来と比較して、集積回路により多くの機能を搭載することができる。
【００４７】
以上、本発明の一実施の形態について説明したが、本発明は、上述した本発明の一実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００４８】
例えば、一実施の形態では、プログラムカウンタ２１の値に基づき処理を行うステップを決定したが、これに限られず、他の方法を用いて処理を行うステップを決定してもよい。
【符号の説明】
【００４９】
１  シーケンス命令処理装置
２  デバイス
３  バス
１０  命令アーキテクチャ
１１  オペランド格納部
１２  命令実行部
１３  バス
１３ａ  アドレスライン
１３ｂ  データライン
２１  プログラムカウンタ
２２  サイクル生成部
２３  加算器
１００  シーケンス命令処理装置
１０１  オペランド格納部
１０２  命令実行部
１０３  命令デコード部
１０４  バス
１１０  命令アーキテクチャ
２００  デバイス
３００  バス
【図１】
2012123438.tif 000003
【図２】
2012123438.tif 000004
【図３】
2012123438.tif 000005
【図４】
2012123438.tif 000006
【図５】
2012123438.tif 000007
【図６】
2012123438.tif 000008
【図７】
2012123438.tif 000009
【図８】
2012123438.tif 000010
【図９】
2012123438.tif 000011