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