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

ビット演算処理装置

Info

Publication number
JP2973578B2
JP2973578B2 JP3114665A JP11466591A JP2973578B2 JP 2973578 B2 JP2973578 B2 JP 2973578B2 JP 3114665 A JP3114665 A JP 3114665A JP 11466591 A JP11466591 A JP 11466591A JP 2973578 B2 JP2973578 B2 JP 2973578B2
Authority
JP
Japan
Prior art keywords
instruction
data
program
bit
relay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3114665A
Other languages
English (en)
Other versions
JPH04343105A (ja
Inventor
泰紀 河田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YOKOKAWA DENKI KK
Original Assignee
YOKOKAWA DENKI KK
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 YOKOKAWA DENKI KK filed Critical YOKOKAWA DENKI KK
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)

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クロック(O
UT命令は2クロック速度、それ以外の命令は1クロッ
ク速度)であり、最近、種々のデバイスは進歩してきて
いるが、装置全体の処理速度は、結局、プログラム命令
列処理の際のリレー・データ、プログラム命令列等を格
納するメモリのリード/ライト・サイクルの速度により
制限されることになる。メモリには、きわめて高速なも
のも存在するが、価格が高い、消費電流が多い(プログ
ラマブル・コントローラでは、通常、電池バック・アッ
プが必要)等のため、プログラマブル・コントローラ
に、このような高速メモリを用いるのは現実的ではな
い。
【0005】本発明は、このような問題を解決すること
を課題とし、ビット演算を短縮化し、高速なビット演算
処理装置を実現することを目的とする。
【0006】
【課題を解決するための手段】以上の課題を解決した本
発明は、ラダー・プログラムをコンパイルし、そのコン
パイル結果についてビット演算処理をするビット演算処
理装置において、使用頻度の高い複数のリレー・データ
を一度に読み込むようにプログラム命令に対応する命令
コード内のビット・フィールドにそのアドレス情報を設
定するとともに既に読み込まれている前記リレー・デー
タを使用する複数のプログラム命令を1個のプログラム
命令に圧縮するコンパイル手段と、前記リレー・データ
を格納するデータ・レジスタ・アレイと、前記データ・
レジスタ・アレイに格納された前記リレー・データを選
択出力するマルチプレクサ群と、前記プログラム命令及
び前記マルチプレクサ群で選択されたリレー・データに
従ってビット演算を行う演算部と、前記プログラム命令
を読み出し前記マルチプレクサ及び前記演算部を制御す
るコントローラとを備えるビット演算処理装置である。
【0007】
【作用】本発明のビット演算処理装置は、コンパイル時
に使用頻度の高い複数のリレー・データを一度に読み込
むようにプログラム命令に対応する命令コード内のビッ
ト・フィールドにそのアドレス情報を設定し、既に読み
込まれているリレー・データを使用する複数のプログラ
ム命令を1個のプログラム命令に圧縮し、プログラム実
行時は、データ・レジスタ・アレイに格納されているリ
レー・データを選択出力してプログラム命令に従ってビ
ット演算を行う。
【0008】
【実施例】本発明を実施したビット演算処理装置につい
て、図面を用いて説明する。本発明では、ラダー・プロ
グラムのコンパイル時に、使用頻度の高いリレー・デー
タを用いる複数のプログラム命令を1個のプログラム命
令に圧縮するようにコンパイルする。具体的には、図5
に示したようなラダー・プログラムをコンパイルする
際、図2のようなプログラム命令列にコンパイルする。
例えば、通常形式のプログラム命令“LD Y10”,
“AND X10”等の他に、第5行目のプログラム命
令“MUL (AND I02)(LD Y01)(A
ND X03)(ORLD )(AND I04)”及
び第7行目のプログラム命令“MUL (LD X0
1)(OR I06)(OR I07)(OR I0
8)(OR I09)”のような圧縮命令を設定する。
尚、圧縮命令を表わすニーモニックとして、ここで、新
たな命令コード“MUL”を定義する。
【0009】このため、本発明では図3に示すように、
通常の命令コードについては次のように改善する。即
ち、命令コード内のビット・フィールドA´をデータR
AMに格納される複数のリレー・データを読み出すため
のアドレス設定領域とし、また、オプション・コードI
内にデスティネーション・アドレスD(例えば2ビット
d1,d2)を設定し、このデスティネーション・アド
レスDを読み出した複数のリレー・データを後述するデ
ータ・レジスタ・アレイに格納するための格納先アドレ
スとする。例えば、図2の第1行目のプログラム命令
“LD Y10”、第2行目のプログラム命令“AND
X10”等のプログラム命令を実行すると、ビット・
フィールドA´に設定したアドレス情報により、複数個
のリレー・データ(プログラム命令“LD Y10”に
よりデータRAMのアドレスY1〜Y16に格納される
リレー・データ、プログラム命令“AND X10”に
よりデータRAMのアドレスX1〜X16に格納される
リレー・データ等)をデータRAMから一度に読み出
す。そして、読み出したリレー・データをオプション・
コードI内に設定したデスティネーション・アドレスD
(d1,d2)に従って後述するデータ・レジスタ・ア
レイに格納する。更に、第1行目のプログラム命令“L
D Y10”であれば、ビット・フィールドA´内に指
定されるビット・アドレスY10により、データ・レジ
スタ・アレイからビット情報Y10を選択し、オプショ
ン・コードI内の命令“LD”に対応するコードに従っ
てビット演算を実行する。そして、第2行目のプログラ
ム命令“AND X10”であれば、ビット・フィール
ドA´内に指定されるビット・アドレスX10により、
データ・レジスタ・アレイからビット情報X10を選択
し、オプション・コードI内の命令“AND”に対応す
るコードに従ってビット演算を実行する。このようにし
て、プログラム命令が実行される。
【0010】また、図2の第5行目の圧縮命令“MUL
(AND I02)(LD Y01)(AND X0
3)(ORLD )(AND I04)”は、図4に示
すような複数ワード(この例では3ワード)の命令コー
ドにより構成される。この命令コードにおいては、OP
コード、オプション・コードの次にこの“MUL”命令
内の第1命令“AND I02”、第2命令“LD Y
01”、第3命令“AND X03”、第4命令“OR
LD”、第5命令“AND I04”が設定される。第
1命令“AND I02”については、レジスタ・アド
レスraにてデータ・レジスタ・アレイを指定し、ビッ
ト・アドレスI02によりこのデータ・レジスタ・アレ
イに既に格納されているリレー・データ(ビット情報I
02)を指定する。そして、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から
出力されたビット・データを演算処理する演算部ALU
3、ラダー・プログラムを上記のような圧縮命令を含む
プログラム命令列に変換するコンパイル手段4、プログ
ラム命令列からの命令コードを一旦格納する命令レジス
タ5、命令レジスタ5から命令コードを受けパイプライ
ン・レジスタprを介してマルチプレクサ群2及びAL
U3を制御するコントローラ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 X0
3)(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 I02”実行の際は図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)

    (57)【特許請求の範囲】
  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 JPH04343105A (ja) 1992-11-30
JP2973578B2 true 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
JPH04343105A (ja) 1992-11-30

Similar Documents

Publication Publication Date Title
US4388682A (en) Microprogrammable instruction translator
JP2973578B2 (ja) ビット演算処理装置
JPH0363092B2 (ja)
JP2563557Y2 (ja) ビット演算処理装置
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JP2764024B2 (ja) 記憶装置のテーブル索引方法及び索引装置
US20020156964A1 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JPS6047612B2 (ja) マイクロ命令出力制御方式
JP3164690B2 (ja) アドレス制御装置
JP2583614B2 (ja) ベクトル演算装置
JPH0713758A (ja) 命令デコード方法
JP2000347890A (ja) 半導体装置のテストパタン生成方法およびテストパタン生成装置
RU2020559C1 (ru) Устройство микропрограммного управления
JPS6086625A (ja) デ−タ処理装置
JPH0353321A (ja) 情報処理装置
JPH02217923A (ja) データ処理装置
JPH0328905A (ja) プログラマブルコントローラの入出力転送方法
JPH09288506A (ja) プログラム可能なシーケンス制御回路
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH03111935A (ja) マイクロプログラム制御装置
JPH01169607A (ja) プログラマブルコントローラ
JPH02245826A (ja) 命令制御装置
JPH0531170B2 (ja)
JPS63228332A (ja) 命令実行制御方式
JPS62295138A (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