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

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

Info

Publication number
JPH03282904A
JPH03282904A JP2085522A JP8552290A JPH03282904A JP H03282904 A JPH03282904 A JP H03282904A JP 2085522 A JP2085522 A JP 2085522A JP 8552290 A JP8552290 A JP 8552290A JP H03282904 A JPH03282904 A JP H03282904A
Authority
JP
Japan
Prior art keywords
instruction
cpu
execution
instructions
dedicated
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.)
Granted
Application number
JP2085522A
Other languages
English (en)
Other versions
JP2834837B2 (ja
Inventor
Joji Takera
武良 丈治
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

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

Claims (1)

    【特許請求の範囲】
  1. (1)ソースコードのシーケンス命令を格納するシーケ
    ンス命令メモリと、OSを格納するとともにワークエリ
    アを確保するためのシステムメモリと、上記ソースコー
    ドのシーケンス命令をコンパイルして得られた専用実行
    命令を格納する専用実行命令メモリと、実行時に専用実
    行命令メモリに格納された上記専用実行命令をパイプラ
    イン制御により実行する演算専用CPUと、該演算専用
    CPUが実行中に使用するデータメモリと、上記シーケ
    ンス命令を最初のスキャンサイクルでコンパイルして専
    用実行命令メモリに格納させ、演算専用CPUの命令処
    理中に並列してI/Oサービス、周辺サービスの主要タ
    スクを上記システムメモリを使用して処理する一般処理
    用CPUと、上記両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 true JPH03282904A (ja) 1991-12-13
JP2834837B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
JPH10312202A (ja) * 1997-05-12 1998-11-24 Sharp Corp プログラマブルコントローラ
JP2006119824A (ja) * 2004-10-20 2006-05-11 Canon Inc ダイレクトメモリアクセス装置及びその制御方法
JP2009110176A (ja) * 2007-10-29 2009-05-21 Fujitsu Ltd データ処理装置およびデータ処理方法
JP2019149763A (ja) * 2018-02-28 2019-09-05 オムロン株式会社 データの処理方法、制御システム、制御装置

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE173840T1 (de) * 1992-10-19 1998-12-15 Siemens Energy & Automat 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
US5995996A (en) * 1993-06-15 1999-11-30 Xerox Corporation Pipelined image processing system for a single application environment
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
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
FR2733612B1 (fr) * 1995-04-28 1997-06-13 Sgs Thomson Microelectronics Dispositif de mise en service d'un circuit integre
FR2733611B1 (fr) * 1995-04-28 1997-06-13 Sgs Thomson Microelectronics Procede de mise en service d'un circuit integre
WO1997012304A1 (en) * 1995-09-26 1997-04-03 Omron Corporation Method and apparatus for information processing
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
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
ES2263465T3 (es) * 1999-03-30 2006-12-16 SIEMENS ENERGY & AUTOMATION, INC. Metodo, sistema y aparato, para un controlador logico programable.
US6446195B1 (en) * 2000-01-31 2002-09-03 Intel Corporation Dyadic operations instruction processor with configurable functional blocks
AU2001243463A1 (en) 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching 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
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
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7024495B2 (en) * 2001-03-30 2006-04-04 Omron Corporation Programmable controller
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
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
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
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
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
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
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
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
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
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
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
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
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 プログラマブルコントローラのパイプライン処理方法
US4716541A (en) * 1984-08-02 1987-12-29 Quatse Jesse T Boolean processor for a progammable controller
US4870614A (en) * 1984-08-02 1989-09-26 Quatse Jesse T Programmable controller ("PC") with co-processing architecture
US4799150A (en) * 1985-07-29 1989-01-17 Orchid Technology Interface system between a host computer and a peripheral processor with address detection circuitry
JPS63501904A (ja) * 1985-10-24 1988-07-28 カラ− サイアンテイフイツク システムズ コ−ポレ−シヨン 統合したマルチコンピュ−タデ−タ処理装置
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
JPH10312202A (ja) * 1997-05-12 1998-11-24 Sharp Corp プログラマブルコントローラ
JP2006119824A (ja) * 2004-10-20 2006-05-11 Canon Inc ダイレクトメモリアクセス装置及びその制御方法
JP2009110176A (ja) * 2007-10-29 2009-05-21 Fujitsu Ltd データ処理装置およびデータ処理方法
JP2019149763A (ja) * 2018-02-28 2019-09-05 オムロン株式会社 データの処理方法、制御システム、制御装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2834837B2 (ja) プログラマブルコントローラ
US6327650B1 (en) Pipelined multiprocessing with upstream processor concurrently writing to local register and to register of downstream processor
US5727227A (en) Interrupt coprocessor configured to process interrupts in a computer system
US20010021970A1 (en) Data processor
JPH03129433A (ja) 並列処理装置および並列処理方法
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
JPH07175666A (ja) データプロセッサおよびその割込み要求処理方法
JPH04260950A (ja) キャッシュメモリ装置
JPH081599B2 (ja) データ処理装置
JPH03158928A (ja) データ処理装置
JPH01214932A (ja) データ処理装置
JPH07120284B2 (ja) データ処理装置
JP3716604B2 (ja) 情報処理装置
JP2006313561A (ja) データ処理装置
JP2710994B2 (ja) データ処理装置
JP2504235B2 (ja) デ―タ処理装置
JP2002157115A (ja) データ処理装置
JP2001014161A (ja) プログラマブルコントローラ
JPH04104350A (ja) マイクロプロセッサ
JPH06214785A (ja) マイクロプロセッサ
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JP2532560B2 (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