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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
- G06F9/3879—Concurrent 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のシーケンス命令
との適合性と処理能力に全面的に依存する方式である。
番となり、の方式が最も高性能を得ることができる。
ブルコントローラでは特開昭63−65969号公報等に示さ
れるようにの方式を採用するのが一般的となりつつあ
り、また中型のプログラマブルコントローラではの方
式を採用するのが一般的である。
ンタプリタ方式に比べて数倍の高速化にすることが可能
であるため、小型機種に一般化している方式であり、ま
たの方式との方式のような複雑な専用ロジックを必
要としないため、ローコスト化が容易である。
速処理手段の中で、最も高性能化を実現できるの方式
は応用命令が高機能になるに従って、巨大なマイクロプ
ログラムメモリと複雑な制御ロジックを必要とするとい
う問題がある。一方高速処理には欠かせない実行方式
に、演算パイプライン実行方式があるが、複数ワードに
及ぶシーケンス命令のソースコードとその中でオペラン
ド修飾などのアドレスモードを持つコード体系では、命
令の先取り、解読、実行という主要ステージを使って連
続した実行状態を理想とする高効率パイプラインは実現
できないという問題がある。例えば基本命令の実行が1
バスサイクルで完了した後、次の応用命令が複雑ワード
に及ぶコード構成になっていると、実行ステージに移行
する前に命令の先取りを継続しなければならないため、
実行ステージが複数サイクルの間、空ステージになって
しまうという問題がある。
ログラムフェッチサイクルを必要とする。
クルの実行ステージにある状態で、命令の先取りをする
ことしか期待はできず、演算パイプラインによる高速化
は期待できないのが実状である。
命令キューを必要とする問題があり、例えばブランチ命
令では既に命令キューにあるシーケンス命令をキャンセ
ルしなければならないため、そのロスサイクルも命令キ
ューの容量に比例して大きくなるという問題がある。
ログラム制御方式で実行するの方式は、巨大なマイク
ロプログラムメモリと多くの命令キュー、FIFOを内蔵
し、複雑なハードウェアをシーケンス命令コードに制約
されたアーキテクチャでインプリメントしなければなら
ないという。またパイプラインによる実行速度の向上が
期待できないだけでなく、ソースコードの変更、通過は
再開発を意味することになり、再開発に多くの労力を必
要とし、仕様の異なるソースコードに対する柔軟な対応
ができないという問題がある。
トマイクロプロセッサが命令の高機能化に伴って、巨大
なマイクロコードを搭載し、演算パイプラインの効率化
においてはマイクロコードサイクルの圧縮の工夫と多く
のパイプラインステージ、ブランチ命令でのロスサイク
ルの工夫と非常に複雑なハードウェアのインプリメント
に多くの時間と労力を費やしている点で類似する。
ラマブルコントローラの構成を示しており、この場合マ
イクロプログラムを格納するマイクロコードメモリ1
と、ソースコードシーケンス命令を格納しているシーケ
ンス命令メモリ(以下SIMと略す)2と、OSを格納する
とともにワードエリアを得るためのシステムメモリ(以
下STMと略す)3と、データメモリ(以下DMと略す)4
とを持ち、一般処理用CPU5と、演算専用CPU6とをプロセ
ッサとして備えている。
シーケンス命令を直接実行するもので、ソースコードの
シーケンス命令をSIM2より読み出した後、演算に必要な
情報をマイクロコードメモリ1からフェッチするように
なっている。
バスを示し、B4はI/Oインタフェースバス及び周辺イン
タフェースバスを構成するバスを示す。
命令を実行する場合を例とし挙げて説明する。
うにオペコードMVと、転送元アドレス(オペランド修飾
命令を含む)に対応する下位オぺランド及び上位オペラ
ンドと、転送先アドレス(オペランド修飾命令を含む)
に対応する下位オペランド及び上位オペランドとからな
る5ワード(1ワードが16bit構成)の応用命令となっ
ており、処理の前提条件として、SIM2とDM4とが別々の
データパスを持ち命令のパイプラインとして最低1ワー
ドの命令のプリフェッチを可能としている。
解読ステージ(命令とマイクロコードのフェッチ及び解
読のステージ)と、DM4のメモリアクセス、又は演算専
用CPU6内部のレジスタ間の計算を行う実行、演算ステー
ジとに分けた形とし、その処理の流れを第17図に示す。
命令が実行される実行,演算ステージにある間に、プリ
フェッチされるので、通常の実行シーケンス上、一部の
例外、例えばブランチ命令、割り込みなどによるプリフ
ェッチキャンセル状態を除き、所要バスサイクル数に含
まれない。
ッチされたオペコードに基づきマイクロコードメモリ1
のアドレス計算とマイクロコードフェッチを2つのバス
サイクルで実現する。
コードの内容に従い、SIM2のアドレス更新、後続の命令
フェッチ制御、演算専用CPU6の内部にある命令キューの
更新、続くマイクロコードフェッチ制御、実行ステージ
への遷移、演算制御などをオペコードとの組み合わせで
実現していく。
の2バスサイクルだけに示されているが、実際はSIM2の
命令フエッチ、解読ステージ、実行、演算ステージの中
でも同時に行われる場合もある。
アドレスを判定するために、下位オペランドのフェッ
チ、上位オペランドのフエッチの2回の命令フェッチ制
御が必要となる。この2回目の命令フェッチ制御の後、
初めてDM4の転送元アドレスのデータを読み出して演算
専用CPU6内部に転送し、演算を行う実行、演算ステージ
に移れる。
からのデータ読み出しのメモリアクセスを実行モジュー
ルで行うと同時に、転送先のアドレスを判定するために
命令フェッチ制御により下位オペランドのフェッチを行
う。
り上位オペランドのフェッチを行い、転送先アドレスの
判定を完了する。更に次のバスサイクルでは最後の実
行、演算ステージに遷移し、転送先アドレスに、前の実
行、演算ステージで読み出したデータを書き込み、同時
に転送命令の次の命令をプリフェッチする。
イクル数は以上説明した内容に基づき、第17図に示す7
バスサイクルとなっているが、最初のマイクロコードフ
ェッチの中で、オペコードの内容を解読することによ
り、自動的に次の命令即ち転送元アドレスの下位オペラ
ンドを同時にフェッチすることもオペコードの工夫によ
り可能となる。
することができる。
必要とするという問題がある。
あるが、基本命令の場合、多くは1つのソースコードの
中にオペコード部とオペランド部が含まれているため、
第15図の従来例の構成においてもマイクロプログラムを
介さずに、ハードワイヤードロジックで実現すれば1バ
スサイクルでも処理でき、従って基本命令と応用命令の
大部分を高速処理するプログラマブルコントローラで
は、基本命令をハードワイヤーロジックで処理し、応用
命令をマイクロコードに依存して処理するのが一般的と
なっており、第15図に示すようにマイクロコードを演算
専用CPU6の外部に設けることにより、仕様の一部変更の
要素をマイクロコードで補い、マイクロコードにて、複
雑な実行シーケンスをサポートすることで、演算専用CP
U6の内部制御ロジックを簡単にするという狙いがある。
従って従来例においてバスサイクル数を多く必要とする
のが応用命令であることが分かる。
トローラでは命令処理能力以外に高速化を図る場合は問
題となるのがスキャンタイムである。
ザプログラムの処理とは別に、入出力ユニットのデータ
処理を行うI/Oサービス処理と、高機能ユニット又は周
辺機器との周辺サービス処理とが第18図に示すように含
まれる。これらの処理をタスクとして分けて各タスクが
時間的に合成されて1つのスキャンタイムを構成する、
つまり時間的に各タスクがシリーズとなっているタスク
構成が従来のプログラマブルコントローラにおいて採用
されている。この第18図で示す例ではトータルのスキャ
ンタイムTはI/Oサービス処理の時間T1と周辺サービス
処理の時間T3との和が例えば3ms、命令処理の時間T2が
例えば8msであるから11msとなり、スキャンタイムTが
結構長いという問題がある。
型プロセッサの思想を取り入れ、応用命令の処理を高速
で行え、しかもI/Oサービス処理、周辺サービス処理な
どの命令処理以外の基本タスクを並列処理して応答性を
向上させ、更にソースコードの異なる言語にも柔軟に対
応できるアーキテクチャを持つプログラマブルコントロ
ーラを提供するにある。
のシーケンス命令を格納するシーケンス命令メモリと、
OSを格納するとともにワークエリアを確保するためのシ
ステムメモリと、上記ソースコードのシーケンス命令を
コンパイルして得られた専用実行命令を格納する専用実
行命令メモリと、実行時に専用実行命令メモリに格納さ
れた上記専用実行命令をパイプライン制御により実行す
る演算専用CPUと、該演算専用CPUが実行中に使用するデ
ータメモリと、上記シーケンス命令を最初のスキャンサ
イクルでコンパイルして専用実行命令メモリに格納さ
せ、演算専用CPUの命令処理中に並列してI/Oサービス、
周辺サービスの主要タスクを上記システムメモリを使用
して処理する一般用CPUと、上記両CPUが夫々所有するメ
モリのアドレスバスとデータバスの信号を各別に持ち上
記並列処理を行う前に両CPUで共有するデータを、両CPU
が所有するメモリのアドレスを同時に各別に出力してDM
Aにより転送すると共にこの転送終了後両CPUが並列処理
を行う場合に両CPUが所有するメモリのバスを分離する
周辺プロセッサとを備えたものである。
た専用実行命令を演算専用CPUがパイプライン制御によ
り処理するため、マイクロコードフェッチが不要であ
り、1ワードの命令解読と実行が可能なことによって高
効率なパイプライン制御が行え、そのため所要バスサイ
クルを少なくでき、高速処理が実現できる。
専用実行命令を実行するためソースコードに制約されな
いアーキテクチャを実現することができ、ソースコード
の追加、変更に対してコンパイル柔軟に対応することが
可能となる。
能となることにより、パイプライン段数を小さくするこ
とができて多くのキューやFIFOが不要となりハード量を
小さくすることができ、また命令の前後関係に依存せ
ず、パイプライン性を保つことが可能となって、コンパ
イラが容易にできる。
同時に両CPUが所有するメモリのアドレスを各別に出力
してDMAにより転送し、この転送終了後両CPUが並列処理
を行う場合に両CPUが所有するメモリのバスを分離する
周辺プロセッサにより1バスサイクルで1ワードのメモ
リ間の転送が実現でき、更に主要タスクを命令処理と並
列に行うことにより命令処理を高速化した効果をスキャ
ンタイムに直接反映することができることになる。
従来例と異なる点はマイクロコードメモリ1が無く、代
わりに32bit(1ワード)幅のコンパイルされた専用実
行命令を格納する専用実行命令メモリ(以下RIMと略
す)7を設け、また所謂RISC型CPUから構成された演算
専用CPU8を設けて、この演算専用CPU8でRIM7に格納され
たコンパイルされている専用実行命令を実行する。専用
実行命令はSIM2に格納されているシーケンス命令のソー
スコードからコンパイルされて単純化された命令であ
り、このコンパイルは一般処理用CPU5で行われる。
算専用CPU8が使用するDM4との夫々のデータバスB5,B6を
分離する機能を持ち且つDMA機能を持つ周辺プロセッサ
9を使用して別々のデータパスのアーキテクチャを実現
している。
高効率パイプラインが可能なアーキテクチャを持つもの
であり、第2図はその内部ブロックは第2図に示すよう
に構成され、主要なユニットとしてインストラクション
フェッチユニット(以下IFUと略す)10と、コミュニケ
ーションコントロールユニット(以下CCUと略す)11
と、データメモリアクセスユニット(以下DMUと略す)1
2と、シーケンス命令の内、基本命令に相当するシーケ
ンス命令をコンパイルした専用実行命令を実行するユニ
ット(以下BPUと略す)13と、シーケンス命令の内、応
用命令に相当するシーケンス命令をコンパイルした専用
実行命令をセットして実行するユニット(以下MPUと略
す)14と、MPU14のMPALU14a、バレルシフタ14bでは演算
できない命令として乗除算、BCD変換機構、BIN変換機構
を有したユニット(以下SPUと略す)15とを有する。
御を行うユニットで、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を接続している。
部のメモリコントロール信号や各部のメモリバスとのバ
スインターフェース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
に接続している。
レスを設定する機能と、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に接続している。
短実行を可能とした専用のALUであるBPALU13aと、演算
に必要な最小限のファンクションレジスタ13bと、ワー
キングレジスタ13cと、DM4のアドレス計算部13dとを備
え、BPデータバスB14を介して外部データバスB13に接続
している。
るアーキテクチャアで内部がインリメントされ、32bit
のALUからなるMPALU14aと、16bit,32bitの切り替えが可
能なバレルシフト14bと、8つの32bitのワーキングレジ
スタ14c、DM4のアドレス計算部14dとを内蔵し、MPデー
タバスB21を介して外部データバスB13に、またSP/IF22
を介してSPU15に接続している。
るSPALU15aと、32bitと64bitのワーキングレジスタ15b
と、パイプライン用ラッチ(図示せず)と、ファンクシ
ョンレジスタ15cとを内蔵している。
実行命令、MPU実行命令、CPU実行命令の実行コードの概
要を示し、これらの実行コードはRIM7に格納されて一般
処理用CPU5からの実行コマンドにて実行されるものであ
り、そのフォーマットは図示する3つの命令コードに分
類される。
ード、CPU特殊命令指定等の実行振り分けコードが夫々
入っており、BPU指定は、その次の6bitのオペコード(B
PUオペコード)の内容に従ってBPU13が実行するための
切り替えコードが1種類割り当てられ、CCU11がBPU指定
のコードを判定したとき、実行許可信号がBPU13に与え
られる。
殊命令(通信命令、I/O直接アクセス命令等)に相当す
る専用実行コードを意味し、この特殊命令ではBPU13、M
PU14とも実行できないので、CCU11は、この指定コード
を判定すると、特殊命令のフラグをセットし、一般処理
用CPU5に対して実行要求を出して停止する。
上位の6bitはMPU14が実行するための、命令コードが第
3図(b)に示すように格納されていることになるの
で、CCU11はMPU14に対して実行許可信号を与えるのであ
る。SPU15に対する実行許可はMPU14のオペコード判断に
よりMPU14からSPU15に対して与えられる。
グコードで、ソースコードであるシーケンス命令と専用
実行命令との関連情報であって、第3図(d)に示すよ
うにコンパイルされた専用実行命令がシーケンス命令を
マクロとして、どの命令まで対応するかを示す19bitに
は区切りコード(“1")を、18〜16bitにはコンパイル
された専用実行命令がシーケンス命令のソースコードで
は何ワードに相当するかを示す情報を格納する。従って
Stコードによりソースコードと専用実行命令とのアドレ
ス対応が可能となる。尚実施例では1コードにつき最大
7ワード指定でき、7以上は次のコードに残りを入れ
る。
部信号の関係を示しており、CCU1はパイプライン実行に
おけるRIMPC10aに更新とPFIR10bのラッチ制御とをタイ
ムリィに行うために、BPU13とMPU14とから出力されるオ
ペコードのデーコド情報と、外部、内部からの例外情報
とによってIFU10を制御するようになっており、IFU10に
はRIMPC10aのアドレス更新情報と、命令フェッチ情報と
を与える。
するファンクション信号と、DM4のアドレス計算に必要
な信号とは別に、CCU11に対してデーコドした結果からR
IMPC10aのアドレス更新情報と命令フェッチ許可信号を
出力する。
る命令もあるため、複数サイクルの実行のうち最終サイ
クルの実行に入るまで命令フェッチを禁止する必要があ
る。またRIMPC10aの更新も停止しなければ、パイプライ
ンができなくなるので、命令フェッチを禁止したときは
BPU13のRIMPCアドレス更新情報をCCU11が判定し、RIMPC
アドレス更新情報をIFU10に送る。この1ワードで複数
サイクルの実行を必要とする命令には、乗除算などSPU1
5が実行する命令もあり、この場合MPU14のデーコド情報
をCCU11が選択して、上述したBPU13と同様に命令フェッ
チの禁止、RIMPC10aの停止を行う。命令フェッチ許可信
号がBPU13、MPU14からCCU11に与えられて、命令フェッ
チが許可状態のときはCCU1は外部、内部の例外情報との
組み合わせで、IFU10のRIMPCアドレスの更新制御、又は
命令フェッチ制御を行うためのRIMPCアドレス更新情
報、及び命令フェッチ情報をIFU10に与える。
とも実行サイクルでデータメモリ読み出し要求信号▲
▼とデータメモリ書き込み要求信号▲▼をCCU11
に対して出力する。
ているBPU13又はMPU14の要求を選択してDM4に対してそ
の要求信号▲▼又は▲▼を出力させる。DM4の
アドレスバス及びデータバスも実行許可信号を出してい
るBPU13又はMPU14からの信号をセレクトする。
バス切り替え信号、アドレスバス切り替え信号及びスタ
ックポインタ更新情報を与え、またMPU14からCCU11には
スタックポインタ更新情報、エラーフラグ情報を与え、
MPU14からSPU15にはSPU実行許可信号、SPU15からMPU14
はSPU実行終了信号を与え、またSP15からCCU11にエラー
フラグ情報を与え、更にBPU13からCCU11にフラグ情報を
与えるようになっている。
き特殊命令をフェッチしたときの情報、又は演算中のエ
ラー発生の情報、及び外部からの割り込み要求の情報な
どがあり、これら例外情報をCCU11が検出したとき、バ
スの開放フラグをセットして、実行の終了を待ち、この
終了時の次のサイクルで停止して一般処理用CPU5に対す
る処理要求を出し、またこの停止中にはバス開放状態に
する。
の各種信号の変化を示し、図示する例のパイプライン段
数は3段パイプラインであって、総ての命令は1ワード
32bit構成で実行ステージに入り、また1段目の命令フ
ェッチのステージ、2段目のデコード、アドレス計算の
ステージは夫々1バスサイクルで完了する。
クで構成され、この3クロックから第5図(a)に示す
6フェーズφ1〜φ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
の▲▼信号を示す。
フェースを示し、演算専用CPU8から演算専用イネーブル
信号が、また処理要求信号が出力され、外部からはクロ
ックCLK、システムリセット信号、例外情報の一つであ
る割込み信号が入り、更に一般処理用CPU5とのインタフ
ェース信号として、演算専用CPU8のチップセレクト信号
▲▼、書き込み信号▲▼、読み出し信号▲
▼が送られるとともに、演算専用CPU8の内部ポートアド
レス信号、演算専用CPU8の内部ポートデータが送られ、
演算専用CPU8はデータバス、アドレスバスを通じてDM4
との間でアドレスの転送と、データの読み書きが行える
ようになっている。
第11図に基づいて説明する。
よりハードウェアチェック、イニシャライズ、コンパイ
ラ起動(A)を行い、SIM2のシーケンス命令を専用実行
命令にコパイルしてRIM8に格納する。
め、PIU9のDMA機能に対して、転送に必要なパラメータ
を設定する(B)。この転送に必要なパラメータとは転
送先メモリの指定と、その先頭アドレス、転送元メモリ
の指定とその先頭アドレス、及び転送ワード数からな
る。
メモリ転送も自動的に行うことができる。この場合PIU9
に2つのDMA機能を内蔵し、夫々のDMA機能にパラメータ
を設定する。
はPIU9に対してDMA起動命令を発生する(C)。PIU9はD
MA起動命令を受け取ると、一般処理用CPU5にバス使用要
求を出し、一般処理用CPU5はこの要求を受け取ると、処
理動作を停止してバスを開放する(E)。PIU9は一般処
理用CPU5がバスを開放したことを確認してDMAの実行を
開始する(D)。
サイクルで実現でき、その例としてDM4からSTM3に出力
データを転送するときのPIU9とDM4,STM3との関係を第8
図、第9図に示す。これら、第8図、第9図に示すよう
にPIU9からDM4の読み出しアドレスをDM4に送るととも
に、DM4にチップセレクト信号▲▼、更に読み出し
信号▲▼を送り、DM4ではメモリアクセスタイムT
0を経てDM4からデータを読み出し、その読み出しデータ
をPIU9へ転送させる。
とともにこのSTM3にチップセレクト信号▲▼を送出
し、更に書き込み信号▲▼をSTM3に送り、しか
る後に上記DM4から読み出したデータをSTM3に書き込
みデータとして転送して書き込むのである。
終わり、この終了により一般処理用CPU5は再度アクティ
ブ状態となる。
対し、IFU10のRIMPC10aの設定、動作モードの指定など
内部の特権レジスタに起動開始前にパラメータを設定す
る(第7図(F))。
的に停止してバス開放フラグを立ててバス開放状態に入
る。この演算専用CPU8が停止しているか、アクティブか
は演算専用CPU8のイネーブル信号で判断でき、停止状態
では一般処理用CPU5が演算専用CPU8内部の特権レジスタ
に対するアクセスが可能となるアーキテクチャを持つこ
とになる。第6図のφ1〜φ6はフェーズを示す。
が、このアドレスをDM4のアドレスとして共有して、停
止の時はアドレスが入力方向となるようにしておく。CC
U11は内部特権レジスタの選択と書き込み、読み出しク
ロックをアドレスバスのデコード機能と、演算専用CPU8
に対するチップセレクト信号▲▼と、書き込み信号
▲▼と、読み出し信号▲▼とにより発生させ
る。
設定が完了すると、演算専用CPU8の起動命令を発生する
(第7図(G))。この起動命令はCCU11がアドレスの
デコードと、チップセレクト信号▲▼により判定し
て、演算専用CPU8のイネーブル信号のフラグをアクティ
ブ状態にセットし、予め設定されたプログラムカウンタ
の内容に基づいた命令のフェッチ、デコード、実行のパ
イプライン制御を開放する(第7図(H))。
U5が出力したときの起動シーケンスのタイムチャートを
示し、この起動シーケンスではチップセレクト信号▲
▼が第10図(f)に示すように出力されるとともに第
10図(k)に示すようにデータバスがイネーブルされて
アドレスのデコード出力が為され、起動命令が第10図
(e)に示すように出力されたとき、これらがCCU11の
内部ラッチによって第10図(g)、(h)に示すように
ラッチされ、その後第10図(i)に示すように演算専用
CPU8のイネーブル信号が“H"となったとき、演算専用CP
U8はホールド状態からアクティブ状態になる。
はシステムリセット信号を示し、第10図(c)は演算専
用CPU8の内部リセット信号を示し、また第10図(d)は
1バスサイクルを決めるフェーズφ1〜φ6を示す。
クルはクロック調停及びバス切り替え調停サイクルであ
り、このサイクルのフェーズφ5が初めてプログラムカ
ウンタRIMPC10aの内容が出力されて命令フェッチを開始
する。第10図(j)はこのときのDM4及びRIM7に対する
演算専用CPU8のアドレスイネーブル信号を示す。
RIMPC10aの歩進は、演算専用CPU8のプログラムカウンタ
ステータス及びデコードステータスに対応した第10図
(n)に示すように停止(PCHLT)し、また命令フェッ
チも禁止(FinH)する。
イクルM1では命令フェッチは許可(FEN)となり、RIMPC
10aは第10図(l)に示すように歩進(PCinc)する。但
し、この場合内部のBPU13,MPU14からのデコード情報は
起動初期サイクルM1では演算専用CPU8のバスステータス
及びコントロールステータスに対応して第10図(m)で
示すように無効(DinH)となる。
ルM2に入る。この通常実行サイクルM2からは命令をフェ
ッチした内容に基づいて判定し、次の命令のプリフェッ
チ及びRIMPC10aの更新は命令のデコード結果から判定さ
れることになる。つまりこの通常実行サイクルM2ではデ
コードが有効状態(DEN)となる。この次のサイクルM3
ではサイクルM1でフェッチされた内容が実行(EEN)さ
れる。
いる間I/Oサービスと周辺サービスの主要タスクを処理
する(第7図(I))。
に格納される。このI/Oサービス又は周辺サービスの処
理の間に、演算専用CPU8からの処理要求があれば、その
処理要求の内容を演算専用CPU8の内部特権レジスタから
読み出し、即時に処理を行う。この処理要求は一般処理
CPU8に対する割込み信号となる(第7図(K))。
した状態とする。この処理要求を発生する場合は、一般
処理用CPU5が実行する特殊命令をフェッチしたとき、又
は割込み信号の検出、演算エラーの発生時などの例外事
象の起きたときであり、演算専用CPU8はバスの開放フラ
グを第11図(c)に示すようにセットし、このバスの開
放フラグを処理要求信号とすると同時に命令の最終実行
サイクルの次のサイクルで、演算専用CPU8のイネーブル
信号を第11図(g)に示すように“L"にしてバスを開放
し、アクティブ状態からホールド状態とする。第11図
(a)はクロックCLK、第11図(b)はフェーズを示
す。また第11図(d)は演算専用CPU8の起動ラッチの状
態を、第11図(e)はアドレスバスイネーブル信号を、
第11図(f)はデータバスイネーブル信号を夫々示す。
命令に相当する専用実行命令を検出すると、総ての命令
実行の終了フラグをセットして停止し、バスを開放す
る。この場合でも処理要求を出力する。一般処理用CPU5
はこの命令実行の終了フラグがセットされていることを
検出すると、最初の共有データ転送に戻ることになる
(第7図(J))。
説明する。
D命令と、STOR命令の二つの命令に転送命令が対応付け
られ、最初のLD命令は第12図に示すようにLD命令の実
行、演算ステージでプリフェッチされており、所要バス
サイクル数としては従来例で説明したオペコードの場合
と全く同じ理由により含まれない。LD命令は次のサイク
ルで実行、演算ステージに遷移して実行処理され、同時
にその実行、演算ステージのサイクルで、次のSTOR命令
をプリフェッチする。つまりLD命令の処理は最初の実
行、演算ステージで完了するので、同時に次の命令をプ
リフェッチすることができる。次の命令、つまりSTOR命
令もその次のサイクルで実行、演算ステージに遷移して
実行され、しかも実行が完了するので、その次の命令を
プリフェッチすることができる。従ってLD命令とSTOR命
令の実行、演算ステージは2バスサイクルで完了するこ
とになる。
(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とを
使用して命令処理のタスクを並列処理を行っている。
t)をPIU9のDAM機能によりSTM3とDM4間のメモリ転送を
1ワード当たり125nsで実現した場合、共有データの転
送に要する時間は0.5msとなる。尚実際の共有データと
しては、I/O点数、リンクデータ点数、モニタ用のデー
タエリア容量を考えると4Kワードで十分であり、第18図
で示したトータルスキャンタイムに各タスクの所要時間
を割り当てると、トータルスキャンタイムTは4.5msと
なる。
スキャンタイムはデバイスの応答性能に依存せず、従来
例に比べて半分以下で実現できる。第14図では演算専用
CPU8が命令処理に必要とする時間が一般処理用CPU5がI/
Oサービスと周辺サービスの処理に必要とする時間に比
べて長い場合、一般処理用CPU5が終了待ちとなって、演
算専用CPU8から出力される終了信号をモニタしてお
り、逆に命令処理が短い場合は演算専用CPU8がの終了
信号を出力した状態で停止している。この停止状態とは
メモリバスを開放している状態である。そして一般処理
用CPU5はI/Oサービス、周辺サービスが終了すると、実
行終了を検出し、最初の共有データ転送に移行する。
データ転送が終了すると、一般処理用CPU5が演算専用CP
U8に対して実行起動命令を第13図に示すように出力す
ることになり、演算専用CPU8は実行を開始するのであ
る。
ス、周辺サービスを行い、この主要タスクが完了した
後、演算専用CPU9の実行終了を検出し、一つのスキャ
ンサイクルが終了するのである。
命令を演算専用CPUがパイプライン制御により処理する
ため、マイクロコードフェッチが不要であって、1ワー
ドの命令解読と実行が可能なことによる高効率なパイプ
ライン制御が行え、所要バスサイクルを少なくでき、高
速処理が実現できるという効果があり、またソースコー
ドを直接実行せず、コンパイルされた専用実行命令を実
行するためソースコードに制約されないアーキテクチャ
を実現することができ、結果ソースコードの追加、変更
に対してコンパイラで柔軟に対応することが可能となる
という効果があり、更に大半の命令セットを1ワードで
実行することが可能となることにより、パイプライン段
数を小さくすることができて多くのキューやFIFOが不要
となり、そのためハードウェアの量を小さくすることが
でき、また命令の前後関係に依存せず、パイプライン性
を保つことが可能となって、コンパイラが容易にできる
という効果があり、しかも並列処理を行う前に同時に両
CPUが所有するメモリのアドレスを各別に出力して両CPU
で共有するデータをDMAにより転送し、この転送終了後
両CPUが並列処理を行う場合に両CPUが所有するメモリの
バスを分離する周辺プロセッサにより1バスサイクルで
1ワードのメモリ間の転送が実現でき、更に主要タスク
を命令処理と並列に行うことにより命令処理の高速化し
た効果をスキャンタイムに直接反映することができると
いう効果がある。
演算専用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)
- 【請求項1】ソースコードのシーケンス命令を格納する
シーケンス命令メモリと、OSを格納するとともにワーク
エリアを確保するためのシステムメモリと、上記ソース
コードのシーケンス命令をコンパイルして得られた専用
実行命令を格納する専用実行命令メモリと、実行時に専
用実行命令メモリに格納された上記専用実行命令をパイ
プライン制御により実行する演算専用CPUと、該演算専
用CPUが実行中に使用するデータメモリと、上記シーケ
ンス命令を最初のスキャンサイクルでコンパイルして専
用実行命令メモリに格納させ、演算専用CPUの命令処理
中に並列してI/Oサービス、周辺サービスの主要タスク
を上記システムメモリを使用して処理する一般処理用CP
Uと、上記両CPUが夫々所有するメモリのアドレスバスと
データバスの信号を各別に持ち上記並列処理を行う前に
両CPUが所有するメモリのアドレスを同時に各別に出力
して両CPUで共有するデータをDMAにより転送するととも
に、この転送終了後両CPUが並列処理を行う場合に両CPU
が所有するメモリのバスを分離する周辺プロセッサとを
備えたことを特徴とするプログラマブルコントローラ。
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)
| 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)
| 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 |
-
1990
- 1990-03-30 JP JP2085522A patent/JP2834837B2/ja not_active Expired - Fee Related
-
1991
- 1991-03-28 EP EP91302798A patent/EP0455345B1/en not_active Expired - Lifetime
- 1991-03-28 DE DE69126166T patent/DE69126166T2/de not_active Expired - Fee Related
- 1991-03-29 KR KR1019910004956A patent/KR950003552B1/ko not_active Expired - Fee Related
- 1991-04-01 US US07/678,730 patent/US5371860A/en not_active Expired - Lifetime
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 |