JPH04343105A - ビット演算処理装置 - Google Patents

ビット演算処理装置

Info

Publication number
JPH04343105A
JPH04343105A JP11466591A JP11466591A JPH04343105A JP H04343105 A JPH04343105 A JP H04343105A JP 11466591 A JP11466591 A JP 11466591A JP 11466591 A JP11466591 A JP 11466591A JP H04343105 A JPH04343105 A JP H04343105A
Authority
JP
Japan
Prior art keywords
instruction
bit
data
relay data
program
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
JP11466591A
Other languages
English (en)
Other versions
JP2973578B2 (ja
Inventor
Yasunori Kawada
河田 泰紀
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP3114665A priority Critical patent/JP2973578B2/ja
Publication of JPH04343105A publication Critical patent/JPH04343105A/ja
Application granted granted Critical
Publication of JP2973578B2 publication Critical patent/JP2973578B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ラダー・プログラムを
実行するプログラマブル・コントローラに設けられるビ
ット演算処理装置に関し、詳しくは、ビット演算処理を
高速化してスキャン・タイムを向上するように改善する
ものである。
【0002】
【従来の技術】ファクトリー・オートメーション関連の
制御分野においては、きめ細かい制御、タクト・タイム
の短縮等が要求され、プログラマブル・コントローラの
動作速度の高速化が進んでいる。特に、プログラマブル
・コントローラに設けられ、コンパイルされたラダー・
プログラムについてビット演算処理を実行するビット演
算処理装置の処理速度は、処理ビット幅の拡張、クロッ
ク周波数の増加、高速メモリの採用、ASIC技術の利
用等により、着実に進歩してきている。
【0003】プログラマブル・コントローラで処理され
る一般的なラダー・プログラムは、例えば図5のような
ものである。このようなラダー・プログラムは、通常、
プログラマブル・コントローラ内に設置されるビット演
算処理装置で実行される。実際には、ラダー・プログラ
ムはコンパイルされ、図6のようなニーモニック表現さ
れた後、ビット演算処理される。また、この中の1個の
プログラム命令につき、その命令コードは図7のように
構成される。即ち、図6における1行のプログラム命令
につき1ワード(16ビット)で構成され、OPコード
、オプション・コードI、ビット・フィールドAから構
成される。オプション・コードIには、“AND”命令
、“OR”命令等がコードとして設定され、ビット・フ
ィールドAには、データRAM等に格納され処理に必要
なリレー・データ(入出力接点データ)1個を読み出す
ためのアドレスが設定される。
【0004】
【発明が解決しようとする課題】従来の装置においては
、例えば、図6のようなプログラム命令列は、ステップ
数は計16ステップ、処理速度は計19クロック(OU
T命令は2クロック速度、それ以外の命令は1クロック
速度)であり、最近、種々のデバイスは進歩してきてい
るが、装置全体の処理速度は、結局、プログラム命令列
処理の際のリレー・データ、プログラム命令列等を格納
するメモリのリード/ライト・サイクルの速度により制
限されることになる。メモリには、きわめて高速なもの
も存在するが、価格が高い、消費電流が多い(プログラ
マブル・コントローラでは、通常、電池バック・アップ
が必要)等のため、プログラマブル・コントローラに、
このような高速メモリを用いるのは現実的ではない。
【0005】本発明は、このような問題を解決すること
を課題とし、ビット演算を短縮化し、高速なビット演算
処理装置を実現することを目的とする。
【0006】
【課題を解決するための手段】以上の課題を解決した本
発明は、ラダー・プログラムをコンパイルし、そのコン
パイル結果についてビット演算処理をするビット演算処
理装置において、使用頻度の高い複数のリレー・データ
を一度に読み込むようにプログラム命令に対応する命令
コード内のビット・フィールドにそのアドレス情報を設
定するとともに既に読み込まれている前記リレー・デー
タを使用する複数のプログラム命令を1個のプログラム
命令に圧縮するコンパイル手段と、前記リレー・データ
を格納するデータ・レジスタ・アレイと、前記データ・
レジスタ・アレイに格納された前記リレー・データを選
択出力するマルチプレクサ群と、前記プログラム命令及
び前記マルチプレクサ群で選択されたリレー・データに
従ってビット演算を行う演算部と、前記プログラム命令
を読み出し前記マルチプレクサ及び前記演算部を制御す
るコントローラとを備えるビット演算処理装置である。
【0007】
【作用】本発明のビット演算処理装置は、コンパイル時
に使用頻度の高い複数のリレー・データを一度に読み込
むようにプログラム命令に対応する命令コード内のビッ
ト・フィールドにそのアドレス情報を設定し、既に読み
込まれているリレー・データを使用する複数のプログラ
ム命令を1個のプログラム命令に圧縮し、プログラム実
行時は、データ・レジスタ・アレイに格納されているリ
レー・データを選択出力してプログラム命令に従ってビ
ット演算を行う。
【0008】
【実施例】本発明を実施したビット演算処理装置につい
て、図面を用いて説明する。本発明では、ラダー・プロ
グラムのコンパイル時に、使用頻度の高いリレー・デー
タを用いる複数のプログラム命令を1個のプログラム命
令に圧縮するようにコンパイルする。具体的には、図5
に示したようなラダー・プログラムをコンパイルする際
、図2のようなプログラム命令列にコンパイルする。 例えば、通常形式のプログラム命令“LD  Y10”
,“AND  X10”等の他に、第5行目のプログラ
ム命令“MUL  (AND  I02)(LD  Y
01)(AND  X03)(ORLD  )(AND
  I04)”及び第7行目のプログラム命令“MUL
  (LD  X01)(OR  I06)(OR  
I07)(OR  I08)(OR  I09)”のよ
うな圧縮命令を設定する。 尚、圧縮命令を表わすニーモニックとして、ここで、新
たな命令コード“MUL”を定義する。
【0009】このため、本発明では図3に示すように、
通常の命令コードについては次のように改善する。即ち
、命令コード内のビット・フィールドA´をデータRA
Mに格納される複数のリレー・データを読み出すための
アドレス設定領域とし、また、オプション・コードI内
にデスティネーション・アドレスD(例えば2ビットd
1,d2)を設定し、このデスティネーション・アドレ
スDを読み出した複数のリレー・データを後述するデー
タ・レジスタ・アレイに格納するための格納先アドレス
とする。例えば、図2の第1行目のプログラム命令“L
D  Y10”、第2行目のプログラム命令“AND 
 X10”等のプログラム命令を実行すると、ビット・
フィールドA´に設定したアドレス情報により、複数個
のリレー・データ(プログラム命令“LD  Y10”
によりデータRAMのアドレスY1〜Y16に格納され
るリレー・データ、プログラム命令“AND  X10
”によりデータRAMのアドレスX1〜X16に格納さ
れるリレー・データ等)をデータRAMから一度に読み
出す。そして、読み出したリレー・データをオプション
・コードI内に設定したデスティネーション・アドレス
D(d1,d2)に従って後述するデータ・レジスタ・
アレイに格納する。更に、第1行目のプログラム命令“
LD  Y10”であれば、ビット・フィールドA´内
に指定されるビット・アドレスY10により、データ・
レジスタ・アレイからビット情報Y10を選択し、オプ
ション・コードI内の命令“LD”に対応するコードに
従ってビット演算を実行する。そして、第2行目のプロ
グラム命令“AND  X10”であれば、ビット・フ
ィールドA´内に指定されるビット・アドレスX10に
より、データ・レジスタ・アレイからビット情報X10
を選択し、オプション・コードI内の命令“AND”に
対応するコードに従ってビット演算を実行する。このよ
うにして、プログラム命令が実行される。
【0010】また、図2の第5行目の圧縮命令“MUL
(AND  I02)(LD  Y01)(AND  
X03)(ORLD  )(AND  I04)”は、
図4に示すような複数ワード(この例では3ワード)の
命令コードにより構成される。この命令コードにおいて
は、OPコード、オプション・コードの次にこの“MU
L”命令内の第1命令“AND  I02”、第2命令
“LD  Y01”、第3命令“AND  X03”、
第4命令“ORLD”、第5命令“AND  I04”
が設定される。第1命令“AND  I02”について
は、レジスタ・アドレスraにてデータ・レジスタ・ア
レイを指定し、ビット・アドレスI02によりこのデー
タ・レジスタ・アレイに既に格納されているリレー・デ
ータ(ビット情報I02)を指定する。そして、OPコ
ード内に設定されている命令コード“AND”に従って
ビット演算を実行する。第2命令“LD  Y01”も
同様に、レジスタ・アドレスraによりデータ・レジス
タ・アレイを指定し、ビット・アドレスY01によりビ
ット情報Y01が指定され、“LD”命令が実行される
。第3命令“AND  I02”も同様に処理される。 第4命令“ORLD”は単なる接続情報である。第5命
令“AND  I04”も同様に処理される。即ち、圧
縮命令“MUL”を実行する際には、この命令“MUL
”内に設定される各プログラム命令にて用いるリレー・
データは既にデータ・レジスタ・アレイに格納されてお
り、データ・レジスタ・アレイから必要なビット情報を
選択して処理をする。
【0011】以下のプログラム命令も同様にして処理さ
れる。このように、圧縮命令“MUL”(第5行目のプ
ログラム命令)の実行時は、必要なリレー・データI1
〜I16,Y01〜Y16,X1〜X16は既にデータ
・レジスタ・アレイに格納されているため、このデータ
・レジスタ・アレイから必要なビット情報を選択出力し
てそれぞれの命令を実行すればよく、データRAMから
リレー・データを命令実行の都度読み出して処理する必
要はない。
【0012】次に、以上のようなプログラム命令を処理
するためのハードウェア構成を図1に示し、説明する。 図1において、本発明のビット演算処理装置は、リレー
・データを記憶するデータRAMmから外部データ・バ
スDBを介して複数のリレー・データを格納するデータ
・レジスタ・アレイ1、このデータ・レジスタ・アレイ
1に格納されたリレー・データ(ビット・データ)を選
択出力するマルチプレクサ21,22,…,2(n−1
),2nよりなるマルチプレクサ群2、このマルチプレ
クサ群2から出力されたビット・データを演算処理する
演算部ALU3、ラダー・プログラムを上記のような圧
縮命令を含むプログラム命令列に変換するコンパイル手
段4、プログラム命令列からの命令コードを一旦格納す
る命令レジスタ5、命令レジスタ5から命令コードを受
けパイプライン・レジスタprを介してマルチプレクサ
群2及びALU3を制御するコントローラ6、ALU3
のビット演算処理を補助するスタック7,ACC8から
構成される。
【0013】このように構成された本発明装置の動作を
次に説明する。実行するラダー・プログラムは図5に示
したものとし、コンパイル手段4のコンパイル結果は図
2に示したプログラム命令列とする。はじめに、命令“
LD  Y10”を読み出すと、命令レジスタ5に図3
に示すような命令コードが設定される。この命令コード
内のビット・フィールドのアドレスA´によりデータR
AMmからリレー・データY1〜Y16が読み出され、
命令コード内のオプション・コードに設定されるデステ
ィネーション・アドレスD(d1,d2)により、デー
タ・レジスタ・アレイ1の指定位置に格納される。  
そして、コントローラ6によりマルチプレクサ群2が制
御され、ビット・フィールドの指定により、データ・レ
ジスタ・アレイ1からビット・データY10がマルチプ
レクサ群2を介してALU3に選択出力され、オプショ
ン・コード内にある命令コード“LD”に従い、この命
令を実行する。続く命令“AND  X10”を実行す
る際も同様にして、命令コード内のデスティネーション
・アドレスD及びビット・フィールドA´に従ってリレ
ー・データX1〜X16がRAMmから読み出されてデ
ータ・レジスタ・アレイ1に格納される。そして、コン
トローラ6の制御によりマルチプレクサ群2から対応す
るビット・データX10がALU3に与えられ、スタッ
ク7、ACC8とともに“AND”命令がALU3にて
実行される。次の命令は、出力命令“OUT  Y01
”であるので、ALU3から演算結果Y01が出力され
る。
【0014】さて、次に読み出される圧縮命令“MUL
  (AND  I02)(LD  Y01)(AND
  X03)(ORLD  )(AND  I04)”
は、図4に示すような複数ワード(この例では3ワード
構成)の命令コードである。この命令コードは1ワード
ずつ命令レジスタ5に格納されるが、OPコード、オプ
ション・コードにより、当該命令が圧縮命令であること
と何ワード構成かを指定される。第1命令“AND  
I02”実行の際は、コントローラ6の制御により、レ
ジスタ・アドレスraにてデータ・レジスタ・アレイ1
が指定されるとともに、ビット・アドレスI02にて既
に格納済みのビット・データI02がマルチプレクサ群
2で選択され、ALU3に与えられてビット演算処理さ
れる。第2命令“LD  Y01”も同様に、レジスタ
・アドレスraによりデータ・レジスタ・アレイ1のビ
ット情報Y01が選択出力され、ALU3に与えられて
ビット演算処理がなされる。第3命令“AND  I0
2”実行の際は図4の第2ワードが命令レジスタ5に設
定され、その処理は同様であり、第4命令“ORLD”
は単なる接続情報、第5命令“AND  I04”も同
様のビット演算処理が実行される。
【0015】以下、同様の処理が繰り返されてプログラ
ム命令列が実行される。この結果、図2のプログラム列
のステップ数は10、処理速度(クロック数)は13と
なり、従来に比べて処理速度が格段に向上する。
【0016】このように、従来は1命令毎にデータRA
Mmからリレー・データが読み出されて逐次演算処理が
なされていたが、本発明装置によれば、よく使用される
頻度の高い一連のリレー・データは処理の初期段階でデ
ータ・レジスタ・アレイ1に格納され、このデータ・レ
ジスタ・アレイ1から読み出されてビット演算されるた
め、データRAMmから逐次ビット情報を読み出すこと
はなく、その分、高速にビット情報を得ることができる
【0017】
【発明の効果】以上述べたように、本発明のビット演算
処理装置によれば、使用する頻度の高い一連のリレー・
データを一度にデータ・レジスタ・アレイに取り込み、
更に複数命令を一つにまとめた圧縮命令により、このデ
ータ・レジスタ・アレイを直接読み出してビット演算処
理を行うので、メモリ・アクセスを最少限にすることで
処理速度を高速化できるとともに、命令メモリのサイズ
も小さくでき、安価なメモリを用いて装置を構成するこ
とにより、コスト低減を図ることができる。
【図面の簡単な説明】
【図1】本発明を実施したビット演算処理装置の構成ブ
ロック図である。
【図2】本発明装置が実行するラダー・プログラムの圧
縮表現によるニーモニックを表わす図である。
【図3】本発明装置にて使用される命令コードを表わす
図である。
【図4】本発明装置にて使用される複数命令を含む命令
コードを表わす図である。
【図5】本発明が対象とするラダー・プログラムの例で
ある。
【図6】図5に示したラダー・プログラムをコンパイル
した際のニーモックを表わす図である。
【図7】従来の装置で用いられる命令コードを表わす図
である。
【符号の説明】
1  データ・レジスタ・アレイ 2  マルチプレクサ群 21,22,2(n−1),2n  マルチプレクサ3
  演算部ALU 4  コンパイル手段 5  命令レジスタ 6  コントローラ 7  スタック 8  ACC m  RAM DB  外部データ・バス pr  パイプライン・レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  ラダー・プログラムをコンパイルし、
    そのコンパイル結果についてビット演算処理をするビッ
    ト演算処理装置において、使用頻度の高い複数のリレー
    ・データを一度に読み込むようにプログラム命令に対応
    する命令コード内のビット・フィールドにそのアドレス
    情報を設定するとともに既に読み込まれている前記リレ
    ー・データを使用する複数のプログラム命令を1個のプ
    ログラム命令に圧縮するコンパイル手段と、前記リレー
    ・データを格納するデータ・レジスタ・アレイと、前記
    データ・レジスタ・アレイに格納された前記リレー・デ
    ータを選択出力するマルチプレクサ群と、前記プログラ
    ム命令及び前記マルチプレクサ群で選択されたリレー・
    データに従ってビット演算を行う演算部と、前記プログ
    ラム命令を読み出し前記マルチプレクサ及び前記演算部
    を制御するコントローラとを備えるビット演算処理装置
JP3114665A 1991-05-20 1991-05-20 ビット演算処理装置 Expired - Fee Related JP2973578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3114665A JP2973578B2 (ja) 1991-05-20 1991-05-20 ビット演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3114665A JP2973578B2 (ja) 1991-05-20 1991-05-20 ビット演算処理装置

Publications (2)

Publication Number Publication Date
JPH04343105A true JPH04343105A (ja) 1992-11-30
JP2973578B2 JP2973578B2 (ja) 1999-11-08

Family

ID=14643522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3114665A Expired - Fee Related JP2973578B2 (ja) 1991-05-20 1991-05-20 ビット演算処理装置

Country Status (1)

Country Link
JP (1) JP2973578B2 (ja)

Also Published As

Publication number Publication date
JP2973578B2 (ja) 1999-11-08

Similar Documents

Publication Publication Date Title
US5964861A (en) Method for writing a program to control processors using any instructions selected from original instructions and defining the instructions used as a new instruction set
JP2973578B2 (ja) ビット演算処理装置
JPH0363092B2 (ja)
JP2563557Y2 (ja) ビット演算処理装置
JPH06187015A (ja) シーケンサのプログラム変換装置
JP2764024B2 (ja) 記憶装置のテーブル索引方法及び索引装置
JPH07248918A (ja) マイクロプロセッサ
JPS6217847Y2 (ja)
JPH06161518A (ja) プログラムコントローラ
JPH11259436A (ja) データ並列処理方法
JPH0713758A (ja) 命令デコード方法
JP2583614B2 (ja) ベクトル演算装置
JP2000347890A (ja) 半導体装置のテストパタン生成方法およびテストパタン生成装置
JPH0353321A (ja) 情報処理装置
KR960002544B1 (ko) 논리해석 회로장치(hls)
JP3048969B2 (ja) サイクルベースシミュレータ
JPH07306798A (ja) マイクロコンピュータ装置
JPH0328905A (ja) プログラマブルコントローラの入出力転送方法
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH03139741A (ja) 履歴情報格納方式
JPS615306A (ja) プログラマブル・コントロ−ラ
JPH02245826A (ja) 命令制御装置
JPH03111935A (ja) マイクロプログラム制御装置
JPS63228332A (ja) 命令実行制御方式
JPS63311445A (ja) 会話型試験プログラムファイル生成処理システム

Legal Events

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees