JP2834837B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JP2834837B2
JP2834837B2 JP2085522A JP8552290A JP2834837B2 JP 2834837 B2 JP2834837 B2 JP 2834837B2 JP 2085522 A JP2085522 A JP 2085522A JP 8552290 A JP8552290 A JP 8552290A JP 2834837 B2 JP2834837 B2 JP 2834837B2
Authority
JP
Japan
Prior art keywords
instruction
execution
dedicated
bus
memory
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.)
Expired - Fee Related
Application number
JP2085522A
Other languages
English (en)
Other versions
JPH03282904A (ja
Inventor
丈治 武良
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP2085522A priority Critical patent/JP2834837B2/ja
Priority to DE69126166T priority patent/DE69126166T2/de
Priority to EP91302798A priority patent/EP0455345B1/en
Priority to KR1019910004956A priority patent/KR950003552B1/ko
Priority to US07/678,730 priority patent/US5371860A/en
Publication of JPH03282904A publication Critical patent/JPH03282904A/ja
Application granted granted Critical
Publication of JP2834837B2 publication Critical patent/JP2834837B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Advance Control (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はプログラマブルコントローラに関するもので
ある。
[従来の技術] プログラマブルコントローラのシーケンス命令はリレ
ーシーケンスの記述が可能な1ビットの論理演算命令が
中心となる基本命令セットと、ワード単位のデータ処理
の記述が可能な算術、論理演算等の応用命令セットとか
らなる。
ところがプログラマブルコントローラの適用分野の拡
大に伴い、ユーザの扱うデータ量は増え、プログラムの
内容も高度化し、サイズも増大している。当然、従来の
基本命令中心のプログラム構成から、データ処理用の応
用命令も多用されたプログラム構成に変わっている。
そのためこれまでの基本命令を主体とした高速処理ア
ーキテクチャアでは、応用命令を多用する用途におい
て、応用命令実行時間が無いため、サイクリックスキャ
ン演算方式のプログラマブルコントローラではスキャン
タイムが極端に増え、実用的な応答性が得られないとい
う問題があった。
また大量のデータ処理においてもプログラマブルコン
トローラのリアルタイム性を維持するためには多用され
る応用命令の高速化が必須となってきている。
一方プログラムの内容が高度化し、サイズも増大する
傾向に伴い、サイズの圧縮効果と、ユーザシーケンスプ
ログラムの見通しをよくするため、応用命令が複数高機
能化し、例えば1つの命令が数ワード以上に及ぶ命令も
多くなってきている。
更に、ユーザプログラム開発の効率を考えると、これ
までのアセンブリ言語レベルのニーモック形式ではデバ
ック作業に手間がかかるため、制御フローの見通しのよ
いSFC言語等が注目されてきており、アセンブリ言語か
らより高位言語に移行する傾向は今後一層強くなると予
測される。
しかもこうした異なる仕様の言語に対してもプログラ
マブルコントローラのリアルタイム性を維持しなければ
ならない。
このように複雑且つ高機能化した応用命令の高速化
と、異なる仕様の言語に対する柔軟な対応は必要不可欠
の条件となる。
従来のシーケンス命令を実行する高速処理手段として
は、基本命令がユーザプログラムの大半を占めている背
景から、基本命令を専用のハードロジックで実行し、応
用命令は一般のCPUでソフトウェア処理をするマルチプ
ロセッサの切り替え実行方式がある。
またこのマルチプロセッサの切り替え実行方式をよ
り高性能化した方式としては、応用命令の大半をハード
ウェアで実行し、また大部分の実行制御を巨大なマイク
ロコードメモリの制御コードに依存するマイクロプログ
ラム形式の演算専用プロセッサ部で行い、システムの構
成に依存する特殊命令は一般処理用CPUがソフトウェア
処理をする方式がある。
更にシーケンス命令を一般処理用CPUの命令セットに
コンパイルして実行する方式もある。この方式はコ
ンパイルメモリにコンパイルした基本命令を格納して該
コンパイルされた基本命令を実行し、応用命令の場合に
はコンパイルしてコンパイルメモリに格納した応用命令
に対応する処理プログラムを実行演算することは行わ
ず、コンパイルメモリに応用命令の処理プログラムが格
納されている先頭アドレスと、戻り先アドレスとをコン
パイルして格納し各処理プログラムの分岐を行うだけで
とし、その処理速度を一般処理用CPUのシーケンス命令
との適合性と処理能力に全面的に依存する方式である。
而して上記〜の方式の処理能力は→→の順
番となり、の方式が最も高性能を得ることができる。
このような点からみて現在提供されているプログラマ
ブルコントローラでは特開昭63−65969号公報等に示さ
れるようにの方式を採用するのが一般的となりつつあ
り、また中型のプログラマブルコントローラではの方
式を採用するのが一般的である。
一方の方式では基本命令の処理をシーケンス命令イ
ンタプリタ方式に比べて数倍の高速化にすることが可能
であるため、小型機種に一般化している方式であり、ま
たの方式との方式のような複雑な専用ロジックを必
要としないため、ローコスト化が容易である。
[発明が解決しようとする課題] しかしながら現在のプログラマブルコントローラの高
速処理手段の中で、最も高性能化を実現できるの方式
は応用命令が高機能になるに従って、巨大なマイクロプ
ログラムメモリと複雑な制御ロジックを必要とするとい
う問題がある。一方高速処理には欠かせない実行方式
に、演算パイプライン実行方式があるが、複数ワードに
及ぶシーケンス命令のソースコードとその中でオペラン
ド修飾などのアドレスモードを持つコード体系では、命
令の先取り、解読、実行という主要ステージを使って連
続した実行状態を理想とする高効率パイプラインは実現
できないという問題がある。例えば基本命令の実行が1
バスサイクルで完了した後、次の応用命令が複雑ワード
に及ぶコード構成になっていると、実行ステージに移行
する前に命令の先取りを継続しなければならないため、
実行ステージが複数サイクルの間、空ステージになって
しまうという問題がある。
また解読のステージ、実行のステージでもマイクロプ
ログラムフェッチサイクルを必要とする。
そのためパイプライン化は前の命令が複数のバスサイ
クルの実行ステージにある状態で、命令の先取りをする
ことしか期待はできず、演算パイプラインによる高速化
は期待できないのが実状である。
更に複数ワードに及ぶ命令のプリフェッチには多くの
命令キューを必要とする問題があり、例えばブランチ命
令では既に命令キューにあるシーケンス命令をキャンセ
ルしなければならないため、そのロスサイクルも命令キ
ューの容量に比例して大きくなるという問題がある。
また直接ソースコードのシーケンス命令をマイクロプ
ログラム制御方式で実行するの方式は、巨大なマイク
ロプログラムメモリと多くの命令キュー、FIFOを内蔵
し、複雑なハードウェアをシーケンス命令コードに制約
されたアーキテクチャでインプリメントしなければなら
ないという。またパイプラインによる実行速度の向上が
期待できないだけでなく、ソースコードの変更、通過は
再開発を意味することになり、再開発に多くの労力を必
要とし、仕様の異なるソースコードに対する柔軟な対応
ができないという問題がある。
この辺の問題は、CISC型と言われている汎用の32ビッ
トマイクロプロセッサが命令の高機能化に伴って、巨大
なマイクロコードを搭載し、演算パイプラインの効率化
においてはマイクロコードサイクルの圧縮の工夫と多く
のパイプラインステージ、ブランチ命令でのロスサイク
ルの工夫と非常に複雑なハードウェアのインプリメント
に多くの時間と労力を費やしている点で類似する。
第15図は従来のマイクロプログラム制御方式のプログ
ラマブルコントローラの構成を示しており、この場合マ
イクロプログラムを格納するマイクロコードメモリ1
と、ソースコードシーケンス命令を格納しているシーケ
ンス命令メモリ(以下SIMと略す)2と、OSを格納する
とともにワードエリアを得るためのシステムメモリ(以
下STMと略す)3と、データメモリ(以下DMと略す)4
とを持ち、一般処理用CPU5と、演算専用CPU6とをプロセ
ッサとして備えている。
演算専用CPU6はSIM2に格納されているソースコードの
シーケンス命令を直接実行するもので、ソースコードの
シーケンス命令をSIM2より読み出した後、演算に必要な
情報をマイクロコードメモリ1からフェッチするように
なっている。
図中B1、B2は16bitのデータバス、B3は48bitのデータ
バスを示し、B4はI/Oインタフェースバス及び周辺イン
タフェースバスを構成するバスを示す。
ここで第15図従来例における命令処理について、転送
命令を実行する場合を例とし挙げて説明する。
転送命令はシーケンス命令では例えば第16図に示すよ
うにオペコードMVと、転送元アドレス(オペランド修飾
命令を含む)に対応する下位オぺランド及び上位オペラ
ンドと、転送先アドレス(オペランド修飾命令を含む)
に対応する下位オペランド及び上位オペランドとからな
る5ワード(1ワードが16bit構成)の応用命令となっ
ており、処理の前提条件として、SIM2とDM4とが別々の
データパスを持ち命令のパイプラインとして最低1ワー
ドの命令のプリフェッチを可能としている。
1つの命令処理の基本ステージとして、命令フェッチ
解読ステージ(命令とマイクロコードのフェッチ及び解
読のステージ)と、DM4のメモリアクセス、又は演算専
用CPU6内部のレジスタ間の計算を行う実行、演算ステー
ジとに分けた形とし、その処理の流れを第17図に示す。
まず最初のオペコードは、転送命令の前に格納された
命令が実行される実行,演算ステージにある間に、プリ
フェッチされるので、通常の実行シーケンス上、一部の
例外、例えばブランチ命令、割り込みなどによるプリフ
ェッチキャンセル状態を除き、所要バスサイクル数に含
まれない。
次のマイクロコードフェッチサイクルでは、プリフェ
ッチされたオペコードに基づきマイクロコードメモリ1
のアドレス計算とマイクロコードフェッチを2つのバス
サイクルで実現する。
このマイクロコードフェッチサイクルの後、マイクロ
コードの内容に従い、SIM2のアドレス更新、後続の命令
フェッチ制御、演算専用CPU6の内部にある命令キューの
更新、続くマイクロコードフェッチ制御、実行ステージ
への遷移、演算制御などをオペコードとの組み合わせで
実現していく。
ここで上記のマイクロコードフェッチサイクルは最初
の2バスサイクルだけに示されているが、実際はSIM2の
命令フエッチ、解読ステージ、実行、演算ステージの中
でも同時に行われる場合もある。
さてマイクロコードフェッチサイクルの後、転送元の
アドレスを判定するために、下位オペランドのフェッ
チ、上位オペランドのフエッチの2回の命令フェッチ制
御が必要となる。この2回目の命令フェッチ制御の後、
初めてDM4の転送元アドレスのデータを読み出して演算
専用CPU6内部に転送し、演算を行う実行、演算ステージ
に移れる。
この実行、演算ステージに移行したサイクルではDM4
からのデータ読み出しのメモリアクセスを実行モジュー
ルで行うと同時に、転送先のアドレスを判定するために
命令フェッチ制御により下位オペランドのフェッチを行
う。
この次のバスサイクルでは再度命令フェッチ制御によ
り上位オペランドのフェッチを行い、転送先アドレスの
判定を完了する。更に次のバスサイクルでは最後の実
行、演算ステージに遷移し、転送先アドレスに、前の実
行、演算ステージで読み出したデータを書き込み、同時
に転送命令の次の命令をプリフェッチする。
このように従来例での転送命令の処理に要するバスサ
イクル数は以上説明した内容に基づき、第17図に示す7
バスサイクルとなっているが、最初のマイクロコードフ
ェッチの中で、オペコードの内容を解読することによ
り、自動的に次の命令即ち転送元アドレスの下位オペラ
ンドを同時にフェッチすることもオペコードの工夫によ
り可能となる。
この場合所要バスサイクル数を6バスサイクルに圧縮
することができる。
しかしながらいずれにしても所要バスサイクルを多く
必要とするという問題がある。
尚上記説明は転送命令という応用命令の一例の場合で
あるが、基本命令の場合、多くは1つのソースコードの
中にオペコード部とオペランド部が含まれているため、
第15図の従来例の構成においてもマイクロプログラムを
介さずに、ハードワイヤードロジックで実現すれば1バ
スサイクルでも処理でき、従って基本命令と応用命令の
大部分を高速処理するプログラマブルコントローラで
は、基本命令をハードワイヤーロジックで処理し、応用
命令をマイクロコードに依存して処理するのが一般的と
なっており、第15図に示すようにマイクロコードを演算
専用CPU6の外部に設けることにより、仕様の一部変更の
要素をマイクロコードで補い、マイクロコードにて、複
雑な実行シーケンスをサポートすることで、演算専用CP
U6の内部制御ロジックを簡単にするという狙いがある。
従って従来例においてバスサイクル数を多く必要とする
のが応用命令であることが分かる。
ところでサイクリック演算方式のプログラマブルコン
トローラでは命令処理能力以外に高速化を図る場合は問
題となるのがスキャンタイムである。
1つのスキャンタイムの中にはSIM2に格納されたユー
ザプログラムの処理とは別に、入出力ユニットのデータ
処理を行うI/Oサービス処理と、高機能ユニット又は周
辺機器との周辺サービス処理とが第18図に示すように含
まれる。これらの処理をタスクとして分けて各タスクが
時間的に合成されて1つのスキャンタイムを構成する、
つまり時間的に各タスクがシリーズとなっているタスク
構成が従来のプログラマブルコントローラにおいて採用
されている。この第18図で示す例ではトータルのスキャ
ンタイムTはI/Oサービス処理の時間T1と周辺サービス
処理の時間T3との和が例えば3ms、命令処理の時間T2
例えば8msであるから11msとなり、スキャンタイムTが
結構長いという問題がある。
本発明は上述の問題点に鑑みてなされたもので、RISC
型プロセッサの思想を取り入れ、応用命令の処理を高速
で行え、しかもI/Oサービス処理、周辺サービス処理な
どの命令処理以外の基本タスクを並列処理して応答性を
向上させ、更にソースコードの異なる言語にも柔軟に対
応できるアーキテクチャを持つプログラマブルコントロ
ーラを提供するにある。
[発明が解決しようとする課題] 本発明は上述の目的を達成するために、ソースコード
のシーケンス命令を格納するシーケンス命令メモリと、
OSを格納するとともにワークエリアを確保するためのシ
ステムメモリと、上記ソースコードのシーケンス命令を
コンパイルして得られた専用実行命令を格納する専用実
行命令メモリと、実行時に専用実行命令メモリに格納さ
れた上記専用実行命令をパイプライン制御により実行す
る演算専用CPUと、該演算専用CPUが実行中に使用するデ
ータメモリと、上記シーケンス命令を最初のスキャンサ
イクルでコンパイルして専用実行命令メモリに格納さ
せ、演算専用CPUの命令処理中に並列してI/Oサービス、
周辺サービスの主要タスクを上記システムメモリを使用
して処理する一般用CPUと、上記両CPUが夫々所有するメ
モリのアドレスバスとデータバスの信号を各別に持ち上
記並列処理を行う前に両CPUで共有するデータを、両CPU
が所有するメモリのアドレスを同時に各別に出力してDM
Aにより転送すると共にこの転送終了後両CPUが並列処理
を行う場合に両CPUが所有するメモリのバスを分離する
周辺プロセッサとを備えたものである。
[作用] 而して本発明によればシーケンス命令をコンパイルし
た専用実行命令を演算専用CPUがパイプライン制御によ
り処理するため、マイクロコードフェッチが不要であ
り、1ワードの命令解読と実行が可能なことによって高
効率なパイプライン制御が行え、そのため所要バスサイ
クルを少なくでき、高速処理が実現できる。
更にソースコードを直接実行せず、コンパイルされた
専用実行命令を実行するためソースコードに制約されな
いアーキテクチャを実現することができ、ソースコード
の追加、変更に対してコンパイル柔軟に対応することが
可能となる。
また命令セットは1ワードで大半が実行することが可
能となることにより、パイプライン段数を小さくするこ
とができて多くのキューやFIFOが不要となりハード量を
小さくすることができ、また命令の前後関係に依存せ
ず、パイプライン性を保つことが可能となって、コンパ
イラが容易にできる。
更に並列処理を行う前に両CPUで共有するデータを、
同時に両CPUが所有するメモリのアドレスを各別に出力
してDMAにより転送し、この転送終了後両CPUが並列処理
を行う場合に両CPUが所有するメモリのバスを分離する
周辺プロセッサにより1バスサイクルで1ワードのメモ
リ間の転送が実現でき、更に主要タスクを命令処理と並
列に行うことにより命令処理を高速化した効果をスキャ
ンタイムに直接反映することができることになる。
[実施例] 以下本発明を実施例により説明する。
第1図は本発明の基本的な構成を示しており、第15図
従来例と異なる点はマイクロコードメモリ1が無く、代
わりに32bit(1ワード)幅のコンパイルされた専用実
行命令を格納する専用実行命令メモリ(以下RIMと略
す)7を設け、また所謂RISC型CPUから構成された演算
専用CPU8を設けて、この演算専用CPU8でRIM7に格納され
たコンパイルされている専用実行命令を実行する。専用
実行命令はSIM2に格納されているシーケンス命令のソー
スコードからコンパイルされて単純化された命令であ
り、このコンパイルは一般処理用CPU5で行われる。
また一般処理用CPU5が使用するメモリであるSTM3と演
算専用CPU8が使用するDM4との夫々のデータバスB5,B6
分離する機能を持ち且つDMA機能を持つ周辺プロセッサ
9を使用して別々のデータパスのアーキテクチャを実現
している。
演算専用CPU8はRISC型プロセッサの思想を取り入れて
高効率パイプラインが可能なアーキテクチャを持つもの
であり、第2図はその内部ブロックは第2図に示すよう
に構成され、主要なユニットとしてインストラクション
フェッチユニット(以下IFUと略す)10と、コミュニケ
ーションコントロールユニット(以下CCUと略す)11
と、データメモリアクセスユニット(以下DMUと略す)1
2と、シーケンス命令の内、基本命令に相当するシーケ
ンス命令をコンパイルした専用実行命令を実行するユニ
ット(以下BPUと略す)13と、シーケンス命令の内、応
用命令に相当するシーケンス命令をコンパイルした専用
実行命令をセットして実行するユニット(以下MPUと略
す)14と、MPU14のMPALU14a、バレルシフタ14bでは演算
できない命令として乗除算、BCD変換機構、BIN変換機構
を有したユニット(以下SPUと略す)15とを有する。
IFU10はRIM7で格納された専用実行命令のフェッチ制
御を行うユニットで、16bitのプログラムカウンタ(以
下RIMPCと略す)10aと一つの32bitの命令レジスタ(以
下PFIRと略す)10bを中心として構成されており、RIMPC
10aは一般処理用CPU5で初期設定ができるようになって
いる。このIFU10はマルチプレクサ16a、トライステート
バッファ17aを介してRIM7のアドレスバスPA00〜PA15に
接続され、また双方向トライステートバッファ17bを介
してRIM7のPD0〜PD32の32bitのデータバスB7に接続した
マルチプレクサ・デュマルチプレクサ16bにRIM命令バス
B16を介して接続し、またIFUデータバスB17を介して外
部データバスB13に接続し、更にまた命令バスB10を介し
てCCU11及びBPU13に接続し、更にCCU11からのIFUコント
ロールバスB11を接続している。
CCU11は各ユニット10,12〜15間の動作調停機能と、外
部のメモリコントロール信号や各部のメモリバスとのバ
スインターフェース11a、内部ポートの特権レジスタの
設定と読み出しを行うI/Oポートアドレスデコーダ11bを
持ち、命令実行では演算シーケンサ11cが各ユニット10,
12〜15に対する制御信号を発生する一方、内部のMPU14
から出力された情報を入力して、全体の演算制御を実現
するようになっており、BPU13にはBPインタフェース18
を介して接続し、またMPU14にMPインタフェース19を介
して接続し、更にSPU15及びDMU12にはSPコントロール・
DMコントロールバスB12を介して接続し、更にバッファ2
0を介してシステム情報を取り込むことができ、さらにI
/OポートアドレスバスB18を介して外部アドレスバスB19
に接続している。
DMU12はDM4に対するスタックポイント及びベースアド
レスを設定する機能と、BPU13とMPU14のデータバスの選
択を行うデータバスセレクタ12aと、アドレスバスの選
択を行うアドレスバスセレクタ12bを持ち、また内部ポ
ートの特権レジスタに対するアクセスを行うために、CC
U11に対してI/Oポートのアドレスを出力するなどの機能
を持ち、外部アドレスバスB19、マルチプレクサ16a、ト
ライステートバッファ17aを介してアドレスバスPA00〜P
A15に接続し、また外部データバスB13に接続し、更にBP
U13からのアドレスバスB15及びMPU14からのアドレスバ
スB20を接続し、また双方向トライステートバッファ21
を介してDM4のアドレスバスDMA0〜DMA15に、またDMD0〜
DMD15からなるデータバスB6に接続している。
BPU13はメーカ間の仕様が統一している基本命令の最
短実行を可能とした専用のALUであるBPALU13aと、演算
に必要な最小限のファンクションレジスタ13bと、ワー
キングレジスタ13cと、DM4のアドレス計算部13dとを備
え、BPデータバスB14を介して外部データバスB13に接続
している。
MPU14は縮小化された専用実行命令を最適に実行でき
るアーキテクチャアで内部がインリメントされ、32bit
のALUからなるMPALU14aと、16bit,32bitの切り替えが可
能なバレルシフト14bと、8つの32bitのワーキングレジ
スタ14c、DM4のアドレス計算部14dとを内蔵し、MPデー
タバスB21を介して外部データバスB13に、またSP/IF22
を介してSPU15に接続している。
SPU15は、乗除算、BCD変換、BIN変換を行うALUからな
るSPALU15aと、32bitと64bitのワーキングレジスタ15b
と、パイプライン用ラッチ(図示せず)と、ファンクシ
ョンレジスタ15cとを内蔵している。
第3図(a)〜(c)は演算専用CPU8が実行するBPU
実行命令、MPU実行命令、CPU実行命令の実行コードの概
要を示し、これらの実行コードはRIM7に格納されて一般
処理用CPU5からの実行コマンドにて実行されるものであ
り、そのフォーマットは図示する3つの命令コードに分
類される。
各命令コードの最上位の6bitにはBPU指定、MPUオペコ
ード、CPU特殊命令指定等の実行振り分けコードが夫々
入っており、BPU指定は、その次の6bitのオペコード(B
PUオペコード)の内容に従ってBPU13が実行するための
切り替えコードが1種類割り当てられ、CCU11がBPU指定
のコードを判定したとき、実行許可信号がBPU13に与え
られる。
一方CPU特殊命令指定はシステムの構成に依存する特
殊命令(通信命令、I/O直接アクセス命令等)に相当す
る専用実行コードを意味し、この特殊命令ではBPU13、M
PU14とも実行できないので、CCU11は、この指定コード
を判定すると、特殊命令のフラグをセットし、一般処理
用CPU5に対して実行要求を出して停止する。
BPU指定と、CPU特殊命令指定以外のコードであれば最
上位の6bitはMPU14が実行するための、命令コードが第
3図(b)に示すように格納されていることになるの
で、CCU11はMPU14に対して実行許可信号を与えるのであ
る。SPU15に対する実行許可はMPU14のオペコード判断に
よりMPU14からSPU15に対して与えられる。
尚第3図(a)〜(c)中のStコードはステータスタ
グコードで、ソースコードであるシーケンス命令と専用
実行命令との関連情報であって、第3図(d)に示すよ
うにコンパイルされた専用実行命令がシーケンス命令を
マクロとして、どの命令まで対応するかを示す19bitに
は区切りコード(“1")を、18〜16bitにはコンパイル
された専用実行命令がシーケンス命令のソースコードで
は何ワードに相当するかを示す情報を格納する。従って
Stコードによりソースコードと専用実行命令とのアドレ
ス対応が可能となる。尚実施例では1コードにつき最大
7ワード指定でき、7以上は次のコードに残りを入れ
る。
第4図は演算専用CPU8のパイプライン実行に必要な内
部信号の関係を示しており、CCU1はパイプライン実行に
おけるRIMPC10aに更新とPFIR10bのラッチ制御とをタイ
ムリィに行うために、BPU13とMPU14とから出力されるオ
ペコードのデーコド情報と、外部、内部からの例外情報
とによってIFU10を制御するようになっており、IFU10に
はRIMPC10aのアドレス更新情報と、命令フェッチ情報と
を与える。
BPU13のデーコド情報にはBPU13内部のBPUALU13aに対
するファンクション信号と、DM4のアドレス計算に必要
な信号とは別に、CCU11に対してデーコドした結果からR
IMPC10aのアドレス更新情報と命令フェッチ許可信号を
出力する。
尚BPU命令には1ワードの命令で複数サイクル実行す
る命令もあるため、複数サイクルの実行のうち最終サイ
クルの実行に入るまで命令フェッチを禁止する必要があ
る。またRIMPC10aの更新も停止しなければ、パイプライ
ンができなくなるので、命令フェッチを禁止したときは
BPU13のRIMPCアドレス更新情報をCCU11が判定し、RIMPC
アドレス更新情報をIFU10に送る。この1ワードで複数
サイクルの実行を必要とする命令には、乗除算などSPU1
5が実行する命令もあり、この場合MPU14のデーコド情報
をCCU11が選択して、上述したBPU13と同様に命令フェッ
チの禁止、RIMPC10aの停止を行う。命令フェッチ許可信
号がBPU13、MPU14からCCU11に与えられて、命令フェッ
チが許可状態のときはCCU1は外部、内部の例外情報との
組み合わせで、IFU10のRIMPCアドレスの更新制御、又は
命令フェッチ制御を行うためのRIMPCアドレス更新情
報、及び命令フェッチ情報をIFU10に与える。
BPU13,MPU14がDM4をアクセスするとき、BPU13、MPU14
とも実行サイクルでデータメモリ読み出し要求信号▲
▼とデータメモリ書き込み要求信号▲▼をCCU11
に対して出力する。
CCU11はBPU実行許可信号又はMPU実行許可信号を出し
ているBPU13又はMPU14の要求を選択してDM4に対してそ
の要求信号▲▼又は▲▼を出力させる。DM4の
アドレスバス及びデータバスも実行許可信号を出してい
るBPU13又はMPU14からの信号をセレクトする。
尚上記信号、情報以外にはCCU11からDMU12にはデータ
バス切り替え信号、アドレスバス切り替え信号及びスタ
ックポインタ更新情報を与え、またMPU14からCCU11には
スタックポインタ更新情報、エラーフラグ情報を与え、
MPU14からSPU15にはSPU実行許可信号、SPU15からMPU14
はSPU実行終了信号を与え、またSP15からCCU11にエラー
フラグ情報を与え、更にBPU13からCCU11にフラグ情報を
与えるようになっている。
また上記例外情報としては一般処理用CPU5が実行すべ
き特殊命令をフェッチしたときの情報、又は演算中のエ
ラー発生の情報、及び外部からの割り込み要求の情報な
どがあり、これら例外情報をCCU11が検出したとき、バ
スの開放フラグをセットして、実行の終了を待ち、この
終了時の次のサイクルで停止して一般処理用CPU5に対す
る処理要求を出し、またこの停止中にはバス開放状態に
する。
第5図は演算専用CPU8のパイプラインを実現するため
の各種信号の変化を示し、図示する例のパイプライン段
数は3段パイプラインであって、総ての命令は1ワード
32bit構成で実行ステージに入り、また1段目の命令フ
ェッチのステージ、2段目のデコード、アドレス計算の
ステージは夫々1バスサイクルで完了する。
1バスサイクルは第5図(b)に示すように3クロッ
クで構成され、この3クロックから第5図(a)に示す
6フェーズφ〜φの状態を作る。データのアドレス
は1フェーズ前から発生し、外部のメモリアクセスタイ
ムに対して、余裕を持たせている。第5図(c)は内部
のコントロールバス(内部BPU13、MPU14のデコード出
力、エラー、割り込み、ステップ実行の状態等CCU11が
制御するための情報)の状態を示し、第5図(d)はIF
U10のRIMPC10a、PFIR10b、MPU14、SPU15のフラグレジス
タと、各ALU13a,14a,15aの出力レジスタと、BPU13、MPU
14のアドレスレジスタとの夫々の書き込みを示し、第5
図(e)は実行サイクルの演算情報(ALU13a,14a,15aフ
ァンクションラッチ)及びバスステータス情報(メモリ
の▲▼、▲▼、例外情報のシーケンス)の転送
を示し、第5図(f)はDM4のアドレスイネーブル信号
(BPU13、MPU14のアドレス出力)を示し、第5図(g)
はDM4のデータバスイネーブル信号を示し、第5図
(h)はDM4の▲▼信号を示し、第5図(i)はDM4
の▲▼信号を示す。
第6図は演算専用CPU8と、一般処理用CPU5とのインタ
フェースを示し、演算専用CPU8から演算専用イネーブル
信号が、また処理要求信号が出力され、外部からはクロ
ックCLK、システムリセット信号、例外情報の一つであ
る割込み信号が入り、更に一般処理用CPU5とのインタフ
ェース信号として、演算専用CPU8のチップセレクト信号
▲▼、書き込み信号▲▼、読み出し信号▲
▼が送られるとともに、演算専用CPU8の内部ポートアド
レス信号、演算専用CPU8の内部ポートデータが送られ、
演算専用CPU8はデータバス、アドレスバスを通じてDM4
との間でアドレスの転送と、データの読み書きが行える
ようになっている。
次に本発明プログラマコントローラの動作を第7図〜
第11図に基づいて説明する。
まず最初のスキャンサイクルでは、一般処理用CPU5に
よりハードウェアチェック、イニシャライズ、コンパイ
ラ起動(A)を行い、SIM2のシーケンス命令を専用実行
命令にコパイルしてRIM8に格納する。
次に一般処理用CPU5は共有データ転送を開始するた
め、PIU9のDMA機能に対して、転送に必要なパラメータ
を設定する(B)。この転送に必要なパラメータとは転
送先メモリの指定と、その先頭アドレス、転送元メモリ
の指定とその先頭アドレス、及び転送ワード数からな
る。
また一方向でのメモリ転送が完了したあと、逆方向の
メモリ転送も自動的に行うことができる。この場合PIU9
に2つのDMA機能を内蔵し、夫々のDMA機能にパラメータ
を設定する。
このパラメータ設定が完了したあと、一般処理用CPU5
はPIU9に対してDMA起動命令を発生する(C)。PIU9はD
MA起動命令を受け取ると、一般処理用CPU5にバス使用要
求を出し、一般処理用CPU5はこの要求を受け取ると、処
理動作を停止してバスを開放する(E)。PIU9は一般処
理用CPU5がバスを開放したことを確認してDMAの実行を
開始する(D)。
PIU9のDMA機能では1ワードのメモリ間転送を1バス
サイクルで実現でき、その例としてDM4からSTM3に出力
データを転送するときのPIU9とDM4,STM3との関係を第8
図、第9図に示す。これら、第8図、第9図に示すよう
にPIU9からDM4の読み出しアドレスをDM4に送るととも
に、DM4にチップセレクト信号▲▼、更に読み出し
信号▲▼を送り、DM4ではメモリアクセスタイムT
0を経てDM4からデータを読み出し、その読み出しデータ
をPIU9へ転送させる。
一方PIU9はSTM3の書き込みアドレスをSTM3に送り、
とともにこのSTM3にチップセレクト信号▲▼を送出
し、更に書き込み信号▲▼をSTM3に送り、しか
る後に上記DM4から読み出したデータをSTM3に書き込
みデータとして転送して書き込むのである。
このようにしてDMAが終了すると、共有データ転送は
終わり、この終了により一般処理用CPU5は再度アクティ
ブ状態となる。
アクティブになった一般処理用CPU5は演算専用CPU8に
対し、IFU10のRIMPC10aの設定、動作モードの指定など
内部の特権レジスタに起動開始前にパラメータを設定す
る(第7図(F))。
演算専用CPU8はシステムリセット信号を受けると自動
的に停止してバス開放フラグを立ててバス開放状態に入
る。この演算専用CPU8が停止しているか、アクティブか
は演算専用CPU8のイネーブル信号で判断でき、停止状態
では一般処理用CPU5が演算専用CPU8内部の特権レジスタ
に対するアクセスが可能となるアーキテクチャを持つこ
とになる。第6図のφ〜φはフェーズを示す。
さて各種レジスタの選択にはアドレスが必要となる
が、このアドレスをDM4のアドレスとして共有して、停
止の時はアドレスが入力方向となるようにしておく。CC
U11は内部特権レジスタの選択と書き込み、読み出しク
ロックをアドレスバスのデコード機能と、演算専用CPU8
に対するチップセレクト信号▲▼と、書き込み信号
▲▼と、読み出し信号▲▼とにより発生させ
る。
演算専用CPU8の内部特権レジスタに対するパラメータ
設定が完了すると、演算専用CPU8の起動命令を発生する
(第7図(G))。この起動命令はCCU11がアドレスの
デコードと、チップセレクト信号▲▼により判定し
て、演算専用CPU8のイネーブル信号のフラグをアクティ
ブ状態にセットし、予め設定されたプログラムカウンタ
の内容に基づいた命令のフェッチ、デコード、実行のパ
イプライン制御を開放する(第7図(H))。
第10図はこの演算専用CPU8の起動命令を一般処理用CP
U5が出力したときの起動シーケンスのタイムチャートを
示し、この起動シーケンスではチップセレクト信号▲
▼が第10図(f)に示すように出力されるとともに第
10図(k)に示すようにデータバスがイネーブルされて
アドレスのデコード出力が為され、起動命令が第10図
(e)に示すように出力されたとき、これらがCCU11の
内部ラッチによって第10図(g)、(h)に示すように
ラッチされ、その後第10図(i)に示すように演算専用
CPU8のイネーブル信号が“H"となったとき、演算専用CP
U8はホールド状態からアクティブ状態になる。
尚第10図(a)はクロックCLKを示し、第10図(b)
はシステムリセット信号を示し、第10図(c)は演算専
用CPU8の内部リセット信号を示し、また第10図(d)は
1バスサイクルを決めるフェーズφ〜φを示す。
さてイネーブル信号が“H"になった最初の1バスサイ
クルはクロック調停及びバス切り替え調停サイクルであ
り、このサイクルのフェーズφが初めてプログラムカ
ウンタRIMPC10aの内容が出力されて命令フェッチを開始
する。第10図(j)はこのときのDM4及びRIM7に対する
演算専用CPU8のアドレスイネーブル信号を示す。
さて上記最初の調停サイクルではプログラムカウンタ
RIMPC10aの歩進は、演算専用CPU8のプログラムカウンタ
ステータス及びデコードステータスに対応した第10図
(n)に示すように停止(PCHLT)し、また命令フェッ
チも禁止(FinH)する。
次のサイクルでは起動初期サイクルM1に入り、このサ
イクルM1では命令フェッチは許可(FEN)となり、RIMPC
10aは第10図(l)に示すように歩進(PCinc)する。但
し、この場合内部のBPU13,MPU14からのデコード情報は
起動初期サイクルM1では演算専用CPU8のバスステータス
及びコントロールステータスに対応して第10図(m)で
示すように無効(DinH)となる。
この起動初期サイクルM1が終わると、通常実行サイク
ルM2に入る。この通常実行サイクルM2からは命令をフェ
ッチした内容に基づいて判定し、次の命令のプリフェッ
チ及びRIMPC10aの更新は命令のデコード結果から判定さ
れることになる。つまりこの通常実行サイクルM2ではデ
コードが有効状態(DEN)となる。この次のサイクルM3
ではサイクルM1でフェッチされた内容が実行(EEN)さ
れる。
一方一般処理用CPU5は演算処理CPU8が命令を実行して
いる間I/Oサービスと周辺サービスの主要タスクを処理
する(第7図(I))。
この処理過程で更新されるI/OデータはSTM3に一時的
に格納される。このI/Oサービス又は周辺サービスの処
理の間に、演算専用CPU8からの処理要求があれば、その
処理要求の内容を演算専用CPU8の内部特権レジスタから
読み出し、即時に処理を行う。この処理要求は一般処理
CPU8に対する割込み信号となる(第7図(K))。
一方処理要求した演算専用CPU8は停止し、バスを開放
した状態とする。この処理要求を発生する場合は、一般
処理用CPU5が実行する特殊命令をフェッチしたとき、又
は割込み信号の検出、演算エラーの発生時などの例外事
象の起きたときであり、演算専用CPU8はバスの開放フラ
グを第11図(c)に示すようにセットし、このバスの開
放フラグを処理要求信号とすると同時に命令の最終実行
サイクルの次のサイクルで、演算専用CPU8のイネーブル
信号を第11図(g)に示すように“L"にしてバスを開放
し、アクティブ状態からホールド状態とする。第11図
(a)はクロックCLK、第11図(b)はフェーズを示
す。また第11図(d)は演算専用CPU8の起動ラッチの状
態を、第11図(e)はアドレスバスイネーブル信号を、
第11図(f)はデータバスイネーブル信号を夫々示す。
尚演算専用CPU8はユーザプログラムの最終となる終了
命令に相当する専用実行命令を検出すると、総ての命令
実行の終了フラグをセットして停止し、バスを開放す
る。この場合でも処理要求を出力する。一般処理用CPU5
はこの命令実行の終了フラグがセットされていることを
検出すると、最初の共有データ転送に戻ることになる
(第7図(J))。
次に従来例と比較するために転送命令の実行について
説明する。
まず本発明実施例では専用実行命令として、32bitのL
D命令と、STOR命令の二つの命令に転送命令が対応付け
られ、最初のLD命令は第12図に示すようにLD命令の実
行、演算ステージでプリフェッチされており、所要バス
サイクル数としては従来例で説明したオペコードの場合
と全く同じ理由により含まれない。LD命令は次のサイク
ルで実行、演算ステージに遷移して実行処理され、同時
にその実行、演算ステージのサイクルで、次のSTOR命令
をプリフェッチする。つまりLD命令の処理は最初の実
行、演算ステージで完了するので、同時に次の命令をプ
リフェッチすることができる。次の命令、つまりSTOR命
令もその次のサイクルで実行、演算ステージに遷移して
実行され、しかも実行が完了するので、その次の命令を
プリフェッチすることができる。従ってLD命令とSTOR命
令の実行、演算ステージは2バスサイクルで完了するこ
とになる。
第13図(a),(b)はSIM2に格納している15ワード
(16bit=1ワード)構成(オペコードMV、下位オペラ
ンドド、上位オペランド、下位オペランド、上位オペラ
ンド)の転送命令を、第13図(b)に示すようにLD命令
と、STOR命令とからなる2ワード構成(32bit=1ワー
ド)の専用実行命令にコンパイルして、RIM7に格納した
状態を示す。
而して本実施例では上記転送命令の実行においては従
来例の6バスサイクル〜7バスサイクルの所要サイクル
を2バスサイクルに低減できて、3倍以上の高速性能が
得られた。
また実行専用実行命令セットを有用な命令に単純化す
るRISC型プロセッサのアーキテクチャを取り入れている
本発明では32bitの命令はオペコード部のbitエリアを小
さくすることができ、そのため従来のシーケンス命令の
オペランドで指定されるメモリアクセス空間を同等以上
に確保することができ、また大部分の命令を1ワードの
命令フェッチの後、実行、演算ステージに遷移すること
ができるのある。また実行、演算ステージが連続的につ
ながっていることは、パイプライン性が完全であること
を意味することになり、従って1ワードの命令で、実
行、演算ステージの連続状態を維持できることは、分岐
割込み等の例外情報によるロスが少なくて済み、またパ
イプライン段数も少なくでき、更に命令キューや、FIFO
が不要であるため、ハードウェア量を小さくすることが
でき、また命令の前後関係に依存せず、高効率パイプラ
インが可能で、コンパイラも容易となる。
さて上記の説明では応用命令の一つである転送命令の
処理についてであったが、基本命令では多くの命令が一
つのソースコードの中に、オペコード部とオペランド部
とが含まれているため、従来例でも1バスサイクルでハ
ードワイヤーロジックにより処理することができため、
基本命令と応用命令とが半分づつでユーザプログラムを
構成していると考えた場合、従来例では平均4バスサイ
クルであるが、本発明では応用命令を3バスサイクルと
見積もっても平均2バスサイクルとなり、従来例に比べ
て半分のバスサイクル数で実現でき、更に一つのバスサ
イクルに必要な時間はマイクロコードメモリに対するア
クセスタイムを考慮する必要がなく、RIM7のRAMアクセ
スタイムと、DM4のRAMアクセスタイムとを考慮するだけ
で良い。またRAMキャッシュメモリが適用できる、高速S
RAMを使用することも可能となるので、従来のバスサイ
クルタイムに比べて大幅に短縮できる。
次にサイクリック演算方式のプログラマブルコントロ
ーラで使用した場合のスキャンタイムについて考察す
る。本発明では上述したようにPIU9が一般処理用CPU5
と、その使用するメモリであるSTM3と、演算専用CPU8が
使用するDM4との夫々のメモリバスを分離する機能をも
っており、PIU9による並列処理を行ったときのスキャン
タイム構成は第14図に示すようになり、一般処理用CPU5
がI/Oサービス、周辺サービス等の主要タスクをSTM3を
使用して実現する一方、演算専用CPU8がRIM7とDM4とを
使用して命令処理のタスクを並列処理を行っている。
ここで共有データとして4Kワード(1ワード=16bi
t)をPIU9のDAM機能によりSTM3とDM4間のメモリ転送を
1ワード当たり125nsで実現した場合、共有データの転
送に要する時間は0.5msとなる。尚実際の共有データと
しては、I/O点数、リンクデータ点数、モニタ用のデー
タエリア容量を考えると4Kワードで十分であり、第18図
で示したトータルスキャンタイムに各タスクの所要時間
を割り当てると、トータルスキャンタイムTは4.5msと
なる。
このようにPIU9と演算専用CPU8により、応答を決める
スキャンタイムはデバイスの応答性能に依存せず、従来
例に比べて半分以下で実現できる。第14図では演算専用
CPU8が命令処理に必要とする時間が一般処理用CPU5がI/
Oサービスと周辺サービスの処理に必要とする時間に比
べて長い場合、一般処理用CPU5が終了待ちとなって、演
算専用CPU8から出力される終了信号をモニタしてお
り、逆に命令処理が短い場合は演算専用CPU8がの終了
信号を出力した状態で停止している。この停止状態とは
メモリバスを開放している状態である。そして一般処理
用CPU5はI/Oサービス、周辺サービスが終了すると、実
行終了を検出し、最初の共有データ転送に移行する。
共有データ転送は第9図で説明した通りであり、共有
データ転送が終了すると、一般処理用CPU5が演算専用CP
U8に対して実行起動命令を第13図に示すように出力す
ることになり、演算専用CPU8は実行を開始するのであ
る。
一般処理用CPU5はSTM3を使用して専用のI/Oサービ
ス、周辺サービスを行い、この主要タスクが完了した
後、演算専用CPU9の実行終了を検出し、一つのスキャ
ンサイクルが終了するのである。
[発明の効果] 本発明は本シーケンス命令をコンパイルした専用実行
命令を演算専用CPUがパイプライン制御により処理する
ため、マイクロコードフェッチが不要であって、1ワー
ドの命令解読と実行が可能なことによる高効率なパイプ
ライン制御が行え、所要バスサイクルを少なくでき、高
速処理が実現できるという効果があり、またソースコー
ドを直接実行せず、コンパイルされた専用実行命令を実
行するためソースコードに制約されないアーキテクチャ
を実現することができ、結果ソースコードの追加、変更
に対してコンパイラで柔軟に対応することが可能となる
という効果があり、更に大半の命令セットを1ワードで
実行することが可能となることにより、パイプライン段
数を小さくすることができて多くのキューやFIFOが不要
となり、そのためハードウェアの量を小さくすることが
でき、また命令の前後関係に依存せず、パイプライン性
を保つことが可能となって、コンパイラが容易にできる
という効果があり、しかも並列処理を行う前に同時に両
CPUが所有するメモリのアドレスを各別に出力して両CPU
で共有するデータをDMAにより転送し、この転送終了後
両CPUが並列処理を行う場合に両CPUが所有するメモリの
バスを分離する周辺プロセッサにより1バスサイクルで
1ワードのメモリ間の転送が実現でき、更に主要タスク
を命令処理と並列に行うことにより命令処理の高速化し
た効果をスキャンタイムに直接反映することができると
いう効果がある。
【図面の簡単な説明】
第1図は本発明の実施例の概略構成図、第2図は同上の
演算専用CPUの内部構成図、第3図は同上の実行コード
のフォーマット説明図、第4図は同上の演算専用CPUの
各ユニットの信号系を示す構成図、第5図は同上の演算
専用CPUの内部の信号の状態説明図、第6図は同上の一
般処理用CPUと演算専用CPUのインタフェースの説明図、
第7図は同上の動作説明用フローチャート、第8図、第
9図は同上の共有データ転送の説明用タイムチャート、
動作説明図、第10図、第11図は同上の演算専用CPUの動
作説明用タイムチャート、第12図は同上における転送命
令の処理説明図、第13図は同上における転送命令のコン
パイル過程の説明図、第14図は同上におけるスキャンタ
イムの説明図、第15図は従来例の概略構成図、第16図は
同上の転送命令の説明図、第17図は同上の転送命令の処
理説明図、第18図は同上のトータルスキャンタイムの説
明図である。 2はシーケンス命令メモリ、3はシステムメモリ、4は
データメモリ、5は一般処理用メモリ、7は専用実行命
令メモリ、8は演算専用CPU、9は周辺プロセッサであ
る。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】ソースコードのシーケンス命令を格納する
    シーケンス命令メモリと、OSを格納するとともにワーク
    エリアを確保するためのシステムメモリと、上記ソース
    コードのシーケンス命令をコンパイルして得られた専用
    実行命令を格納する専用実行命令メモリと、実行時に専
    用実行命令メモリに格納された上記専用実行命令をパイ
    プライン制御により実行する演算専用CPUと、該演算専
    用CPUが実行中に使用するデータメモリと、上記シーケ
    ンス命令を最初のスキャンサイクルでコンパイルして専
    用実行命令メモリに格納させ、演算専用CPUの命令処理
    中に並列してI/Oサービス、周辺サービスの主要タスク
    を上記システムメモリを使用して処理する一般処理用CP
    Uと、上記両CPUが夫々所有するメモリのアドレスバスと
    データバスの信号を各別に持ち上記並列処理を行う前に
    両CPUが所有するメモリのアドレスを同時に各別に出力
    して両CPUで共有するデータをDMAにより転送するととも
    に、この転送終了後両CPUが並列処理を行う場合に両CPU
    が所有するメモリのバスを分離する周辺プロセッサとを
    備えたことを特徴とするプログラマブルコントローラ。
JP2085522A 1990-03-30 1990-03-30 プログラマブルコントローラ Expired - Fee Related JP2834837B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2085522A JP2834837B2 (ja) 1990-03-30 1990-03-30 プログラマブルコントローラ
DE69126166T DE69126166T2 (de) 1990-03-30 1991-03-28 Programmierbare Steuerungsvorrichtung
EP91302798A EP0455345B1 (en) 1990-03-30 1991-03-28 Programmable controller
KR1019910004956A KR950003552B1 (ko) 1990-03-30 1991-03-29 프로그램 가능한 제어기
US07/678,730 US5371860A (en) 1990-03-30 1991-04-01 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2085522A JP2834837B2 (ja) 1990-03-30 1990-03-30 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH03282904A JPH03282904A (ja) 1991-12-13
JP2834837B2 true JP2834837B2 (ja) 1998-12-14

Family

ID=13861240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2085522A Expired - Fee Related JP2834837B2 (ja) 1990-03-30 1990-03-30 プログラマブルコントローラ

Country Status (5)

Country Link
US (1) US5371860A (ja)
EP (1) EP0455345B1 (ja)
JP (1) JP2834837B2 (ja)
KR (1) KR950003552B1 (ja)
DE (1) DE69126166T2 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69322283T2 (de) * 1992-10-19 1999-05-20 Siemens Energy & Automation, Inc., Alpharetta, Ga. Hoch schnelligkeit speicher programmierbar steuerung
US5535414A (en) * 1992-11-13 1996-07-09 International Business Machines Corporation Secondary data transfer mechanism between coprocessor and memory in multi-processor computer system
US5557795A (en) * 1993-06-15 1996-09-17 Xerox Corporation Pipelined image processing system for a single application environment
US5701479A (en) * 1993-06-15 1997-12-23 Xerox Corporation Pipelined image processing system for a single application environment
US5995996A (en) * 1993-06-15 1999-11-30 Xerox Corporation Pipelined image processing system for a single application environment
US5689727A (en) * 1994-09-08 1997-11-18 Western Digital Corporation Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution
EP0702306A1 (en) * 1994-09-19 1996-03-20 International Business Machines Corporation System and method for interfacing risc busses to peripheral circuits using another template of busses in a data communication adapter
US5862401A (en) * 1994-10-11 1999-01-19 Crown International, Inc. Programmable central intelligence controller and distributed intelligence network for analog/digital control systems
FR2733611B1 (fr) * 1995-04-28 1997-06-13 Sgs Thomson Microelectronics Procede de mise en service d'un circuit integre
FR2733612B1 (fr) * 1995-04-28 1997-06-13 Sgs Thomson Microelectronics Dispositif de mise en service d'un circuit integre
DE69625041T2 (de) * 1995-09-26 2003-07-24 Omron Corp., Kyoto Verfahren und vorrichtung zur informationsbehandlung
US5933651A (en) * 1995-09-29 1999-08-03 Matsushita Electric Works, Ltd. Programmable controller
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
JP3745039B2 (ja) * 1996-08-01 2006-02-15 株式会社ルネサステクノロジ 遅延命令を有するマイクロプロセッサ
US5822570A (en) * 1996-10-30 1998-10-13 Microsoft Corporation System and method for parsing and executing a single instruction stream using a plurality of tightly coupled parsing and execution units
AUPO648397A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
JPH10312202A (ja) * 1997-05-12 1998-11-24 Sharp Corp プログラマブルコントローラ
US5968136A (en) * 1997-06-05 1999-10-19 Sun Microsystems, Inc. Apparatus and method for secure device addressing
US6332152B1 (en) * 1997-12-02 2001-12-18 Matsushita Electric Industrial Co., Ltd. Arithmetic unit and data processing unit
JP3432728B2 (ja) * 1997-12-12 2003-08-04 株式会社日立産機システム プログラマブルコントローラ
US8489860B1 (en) * 1997-12-22 2013-07-16 Texas Instruments Incorporated Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker
US6243736B1 (en) * 1998-12-17 2001-06-05 Agere Systems Guardian Corp. Context controller having status-based background functional task resource allocation capability and processor employing the same
US6032248A (en) * 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
US6480952B2 (en) * 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US6581088B1 (en) * 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
EP1196838B1 (en) * 1999-03-30 2006-05-31 Siemens Energy & Automation, Inc. Programmable logic controller method, system and apparatus
US6446195B1 (en) * 2000-01-31 2002-09-03 Intel Corporation Dyadic operations instruction processor with configurable functional blocks
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US6950954B1 (en) * 2000-10-26 2005-09-27 Cypress Semiconductor Corporation Method and circuit for synchronizing a write operation between an on-chip microprocessor and an on-chip programmable analog device operating at different frequencies
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
DE10213860B4 (de) * 2001-03-30 2009-01-22 Omron Corporation Programmierbare Steuerung
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
JP2003296724A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 画像処理システム及びその方式
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
JP4406241B2 (ja) * 2003-09-04 2010-01-27 オリンパス株式会社 画像処理装置
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8082531B2 (en) 2004-08-13 2011-12-20 Cypress Semiconductor Corporation Method and an apparatus to design a processing system using a graphical user interface
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US20060075157A1 (en) * 2004-09-28 2006-04-06 Paul Marchal Programmable memory interfacing device for use in active memory management
JP5062950B2 (ja) * 2004-10-20 2012-10-31 キヤノン株式会社 ダイレクトメモリアクセス装置及びその制御方法
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
WO2007069000A1 (en) * 2005-12-16 2007-06-21 Freescale Semiconductor, Inc. Device and method for processing instructions
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7598462B2 (en) * 2006-01-11 2009-10-06 Lear Corporation Sealed remote keyless entry device
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
JP5056345B2 (ja) * 2007-10-29 2012-10-24 富士通株式会社 データ処理装置およびデータ処理方法
US20100134690A1 (en) * 2008-12-03 2010-06-03 Sanyo Electric Co., Ltd. Television receiver
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
JP5949188B2 (ja) * 2012-06-08 2016-07-06 日本電気株式会社 密結合マルチプロセッサシステム
US9405534B2 (en) 2013-01-21 2016-08-02 Tom Yap Compound complex instruction set computer (CCISC) processor architecture
US9110657B2 (en) 2013-01-21 2015-08-18 Tom Yap Flowchart compiler for a compound complex instruction set computer (CCISC) processor architecture
CN103150146B (zh) * 2013-01-31 2015-11-25 西安电子科技大学 基于可扩展处理器架构的专用指令集处理器及其实现方法
US9202056B2 (en) * 2013-03-15 2015-12-01 Intel Corporation Inter-processor attestation hardware
JP2019149763A (ja) * 2018-02-28 2019-09-05 オムロン株式会社 データの処理方法、制御システム、制御装置
CN113849433B (zh) * 2021-09-14 2023-05-23 深圳市昂科技术有限公司 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3424618A1 (de) * 1983-07-04 1985-01-17 Nippondenso Co., Ltd., Kariya, Aichi Microprozessor
JPS6079431A (ja) * 1983-10-06 1985-05-07 Hitachi Ltd プログラマブルコントローラのパイプライン処理方法
US4870614A (en) * 1984-08-02 1989-09-26 Quatse Jesse T Programmable controller ("PC") with co-processing architecture
US4716541A (en) * 1984-08-02 1987-12-29 Quatse Jesse T Boolean processor for a progammable controller
US4799150A (en) * 1985-07-29 1989-01-17 Orchid Technology Interface system between a host computer and a peripheral processor with address detection circuitry
WO1987002800A1 (en) * 1985-10-24 1987-05-07 Culler Scientific Systems Corporation Integrated, multicomputer data processing system
JPS63143660A (ja) * 1986-12-08 1988-06-15 Fanuc Ltd コ・プロセツサを有する演算処理装置
US4943915A (en) * 1987-09-29 1990-07-24 Digital Equipment Corporation Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit

Also Published As

Publication number Publication date
EP0455345A2 (en) 1991-11-06
DE69126166D1 (de) 1997-06-26
DE69126166T2 (de) 1997-12-04
US5371860A (en) 1994-12-06
EP0455345A3 (en) 1993-06-09
KR910017256A (ko) 1991-11-05
KR950003552B1 (ko) 1995-04-14
JPH03282904A (ja) 1991-12-13
EP0455345B1 (en) 1997-05-21

Similar Documents

Publication Publication Date Title
JP2834837B2 (ja) プログラマブルコントローラ
JP2550213B2 (ja) 並列処理装置および並列処理方法
EP0782071B1 (en) Data processor
US5717946A (en) Data processor
US6327650B1 (en) Pipelined multiprocessing with upstream processor concurrently writing to local register and to register of downstream processor
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
EP1001335A1 (en) Data processing unit with coprocessor interface
JP3543181B2 (ja) データ処理装置
JPH081599B2 (ja) データ処理装置
JP2002073330A (ja) データ処理装置
JPH03158928A (ja) データ処理装置
JPH07120284B2 (ja) データ処理装置
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JP3345787B2 (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JP2710994B2 (ja) データ処理装置
JP2504235B2 (ja) デ―タ処理装置
JPH0769806B2 (ja) データ処理装置
JP2636821B2 (ja) 並列処理装置
JPH0651984A (ja) マイクロプロセッサ
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JP3102399B2 (ja) データ処理装置及び方法
JP3147884B2 (ja) 記憶装置及び情報処理装置
JPH0524537B2 (ja)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071002

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081002

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081002

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees