Nothing Special   »   [go: up one dir, main page]

JPS60175146A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JPS60175146A
JPS60175146A JP3006184A JP3006184A JPS60175146A JP S60175146 A JPS60175146 A JP S60175146A JP 3006184 A JP3006184 A JP 3006184A JP 3006184 A JP3006184 A JP 3006184A JP S60175146 A JPS60175146 A JP S60175146A
Authority
JP
Japan
Prior art keywords
data
instruction
memory
microprogram
register
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
JP3006184A
Other languages
Japanese (ja)
Other versions
JPH0317135B2 (en
Inventor
Tadashi Okamoto
正 岡本
Hiromasa Yamaoka
弘昌 山岡
Kazuhiko Shimoyama
和彦 下山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3006184A priority Critical patent/JPS60175146A/en
Publication of JPS60175146A publication Critical patent/JPS60175146A/en
Publication of JPH0317135B2 publication Critical patent/JPH0317135B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Programmable Controllers (AREA)

Abstract

PURPOSE:To increase the processing speed of a programmable controller by controlling independently the precedent read starting timing of an instruction and data and read waiting timing. CONSTITUTION:A control means controls separately the precedent read starting timing and read waiting timing from a program memory 1 and a data memory 2 in accordance with a microinstruction from a microprogram memory 8. The control means is constituted of an instruction synchronizing flip flop 16 for synchronizing the program memory 1 or the data memory 2 with an arithmetic circuit 9, data synchronizing flip flop 17, a NOR circuit 19 finding out NOR of respective oututs from these flip flops 16, 17, and a switch 20 for inhibiting the sending of a clock signal 117 from a clock circuit 15 to a microprogram counter 7 in accordance with the output from the NOR circuit 19.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、プラントのプロセス制御に用いるプログラマ
ブル・コントローラに関し、特に、高速高機能を必要と
する制御に使用するに好適なプログラマブル・コントロ
ーラの内部の制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a programmable controller used for plant process control, and in particular, to a programmable controller suitable for use in control requiring high speed and high functionality. Regarding control method.

〔発明の背景〕[Background of the invention]

プログラマブル・コント、ローラは、当所、簡単なシー
ケンス制御からスタートした。しかし、最近では、適用
分野の拡大とともに、数値演算を高速処理する必要性か
ら、使用素子自体の高速化をはじめとして、命令、デー
タの先読みと命令実行の並行処理方式が採用されるに至
っている。ところが、制御対象の複雑化等に起因して、
よシきめこまかな、並行処理の制御及び、1つの命令で
複数データを処理するような高機能処理の制御方式が要
望されている。
Our programmable control roller started with simple sequence control. However, in recent years, as the field of application has expanded and the need to process numerical operations at high speed has led to the adoption of parallel processing methods for prefetching instructions and data and executing instructions, including increasing the speed of the used elements themselves. . However, due to the increasing complexity of the controlled object,
There is a need for a highly detailed control system for parallel processing and for high-performance processing such as processing multiple pieces of data with one command.

ここで、第1図に従来のプログラマブル・コントローラ
の一例を示す。まず、概略について述べる。このコント
ローラは、命令、データの先読みを行なう制御方式を採
用したものである。先読みとは、現在実行中の演算にお
いて次に必要となる命令、データを先行的に読み出して
おくことである。
Here, FIG. 1 shows an example of a conventional programmable controller. First, I will give an overview. This controller employs a control system that pre-reads commands and data. Pre-reading means reading in advance the instructions and data that will be needed next in the currently executing operation.

第2図はこのコントローラにおいて使用する命令のフォ
ーマットを示し、第1図中のプログラム・メモリ1に格
納されている。
FIG. 2 shows the format of instructions used in this controller, which are stored in program memory 1 in FIG.

第3図は、第2図の命令をさらにマイクロプログラムで
実行する場合の、マイクロ命令のフォーマットを示し、
第1図中のマイクロプログラム・メモリ8に格納されて
いる。このマイクロ命令の制御コードの内容は次の第1
表の通シである。
FIG. 3 shows the format of microinstructions when the instructions in FIG. 2 are further executed by a microprogram,
It is stored in microprogram memory 8 in FIG. The contents of the control code of this microinstruction are as follows:
This is the table of contents.

第1表 102・・・プログラムカウンタ更新(+1)103・
・・メモリアドレスレジスタ更新(+1)104・・・
Dレジスタ書込み 105・・・書込データレジスタにデータをセット10
6・・・データ読出し開始 107・・・データ書込み開始 108・・・JMAP (次の命令を実行)次に、第4
図に以上のコントローラ各部の動作タイムチャートを示
しである。
Table 1 102...Program counter update (+1) 103.
...Memory address register update (+1) 104...
D register write 105...Set data in write data register 10
6...Start reading data 107...Start writing data 108...JMAP (Execute next command) Next, the fourth
The figure shows an operation time chart of each part of the controller described above.

この制御方式の大きな特徴は、命令の中にデータ先読む
許可ビット(以下、POFビットと略す。)を持つこと
、また、構成上、プログラム・メモリ1とデータ・メモ
リ2が独立に存在し、命令レジスタとして第1命令レジ
スタ3、および第2命令レジスタ4との2段設けてアシ
、第1命令レジスタ3のアドレス部分がメモリ・アドレ
ス・レジスタ5に接続されている点である。
The major feature of this control method is that the instruction includes a data prefetch permission bit (hereinafter abbreviated as POF bit), and in terms of the structure, program memory 1 and data memory 2 exist independently. There are two stages of instruction registers, a first instruction register 3 and a second instruction register 4, and the address portion of the first instruction register 3 is connected to the memory address register 5.

以下、動作上の特徴を説明する。第1図において第2命
令レジスタ4に格納されている命令は、命令デコーダ5
で解読され、マイクロ・プログラム・カウンタ7、マイ
クロプログラム・メモリ8を経て演算回路9に与えられ
、その命令に従って演算が実行される。このとき、次に
実行する命令が第1命令レジスタ3にすでに格納されて
おシ、POFビット101(第2図)が11”の時、こ
の命令のデータ読み出しくつまシ、データの先読み)を
行う。一方、プログラム・カウンタ6は、現在実行して
いる命令の次の次の命令の読み出しを行なっている。そ
して、今実行中の命令が終シ次の命令の実行に移る時に
、その命令データが読み出しデータレジスタ18に入シ
、また、読み出し中であった次の命令は、第1命令レジ
スタ3に格納されている。
The operational features will be explained below. The instructions stored in the second instruction register 4 in FIG.
The instruction is decoded by the microprogram counter 7, microprogram memory 8, and then sent to the arithmetic circuit 9, where an arithmetic operation is executed according to the instruction. At this time, if the next instruction to be executed has already been stored in the first instruction register 3, and the POF bit 101 (Figure 2) is 11'', the data readout for this instruction (prefetching, data prefetching) is executed. On the other hand, the program counter 6 is reading the next instruction after the currently executed instruction.Then, when the currently executed instruction ends and the next instruction is executed, the program counter 6 reads the next instruction after the currently executed instruction. The data has entered the read data register 18, and the next instruction that was being read is stored in the first instruction register 3.

以上の動作のタイムチャートを第4図に示しである。第
4図において、A、B、C・・・・・・は、それぞれ命
令を示し、並行処理されていることがわかる。
A time chart of the above operation is shown in FIG. In FIG. 4, A, B, C, . . . indicate instructions, and it can be seen that they are processed in parallel.

以上の方式において、プログラム・メモリ・インターフ
ェイス回路lO、データ・メモリ・インターフェイス回
路11、第1命令レジスタ3、第2命令レジスタ4、演
算回路9の各部の動作は、全て、各命令の区切シを示す
JMAP信号108に同期して進めるため、回路及び考
え方が単純である利点がある。ここに、JMAP信号と
はJUMP−MAP信号の略でアシ、命令の特定ビット
をマイクロプログラムのアドレスに変換するためのもの
であシ、先頭アドレスを指定して次の命令を実行させる
信号である。
In the above system, the operations of each part of the program memory interface circuit 1O, data memory interface circuit 11, first instruction register 3, second instruction register 4, and arithmetic circuit 9 are performed based on the delimiter of each instruction. Since the process proceeds in synchronization with the JMAP signal 108 shown, there is an advantage that the circuit and concept are simple. Here, the JMAP signal is an abbreviation for JUMP-MAP signal, and is a signal for converting specific bits of an instruction into a microprogram address.It is a signal that specifies the start address and executes the next instruction. .

さて、以上の方式においては、1つの命令で処理するデ
ータ数が1ケあるいは、固定の数であることが必要であ
シ、1命令で任意のデータ数、例えば、倍長演算が混在
する場合等においては、処理することができないという
点で高速化が妨げられている。
Now, in the above method, it is necessary that the number of data processed by one instruction is 1 or a fixed number, and if any number of data is processed by one instruction, for example, double-length operations are mixed. etc., speeding up is hindered by the inability to process them.

次に、第1図のコントローラの構成の詳細を以下に示し
ておく。先にも述べたように、プログラム・メモリlに
は第2図に示すようなプログラム命令が格納されている
。データ・メモリ2には演算の対象となるデータが書込
まれたシ、読み出されたシする。
Next, details of the configuration of the controller shown in FIG. 1 will be shown below. As mentioned earlier, program instructions as shown in FIG. 2 are stored in the program memory l. Data to be operated on is written into the data memory 2, and data is read out from the data memory 2.

プログラム・メモリ1から読み出された命令は第1命令
レジスタ3に格納され、次いで第2命令レジスタ4に転
送される。なお、この命令のフォーマットは第2図に示
した通シであシ、命令の種数を示す命令コード部112
、POFI 01、データ・アドレス113で構成され
る。POFIOIは、データを読み出して加工する命令
の場合11”、データを出力する命令の場合10#とじ
、@1#の命令に関しては、演算実行に先立って、デー
タを先読みすることができる。
Instructions read from program memory 1 are stored in first instruction register 3 and then transferred to second instruction register 4. The format of this instruction is the same as shown in FIG. 2, and the instruction code section 112 indicates the number of instructions.
, POFI 01, and data address 113. POFIOI is 11'' for an instruction that reads and processes data, and 10# for an instruction that outputs data.For the @1# instruction, data can be read in advance before execution of the operation.

プログラム・メモリ1から命令を読み出す際のアドレス
は、プログラム・カウンタ6よシ与えられ、l命令長る
毎に、プログラム・カウンタ更新信号102を用いて、
カウント・アップする。また、命令を読み出す際に、プ
ログラム・メモナ1とインターフェイスを取るプログラ
ム・メモリ・インターフェイス回路10は、第4図の読
み出しタイミングを発生するものである。第4図の矢印
は、信号変化の順序を示す。このプログラム・メモリ・
インターフェイス回路10に、読み出し開始の起動をか
けるのがPFE(命令先読み開始)信号114である。
The address when reading an instruction from the program memory 1 is given by the program counter 6, and every l instruction length, using the program counter update signal 102,
Count up. The program memory interface circuit 10, which interfaces with the program memorandum 1 when reading instructions, generates the read timing shown in FIG. 4. The arrows in FIG. 4 indicate the order of signal changes. This program memory
A PFE (instruction prefetch start) signal 114 activates the interface circuit 10 to start reading.

命令デコーダ5は、命令レジスタ2段目に入った命令の
命令コードを解読し、その命令を処理するだめのマイク
ロプログラムが格納されている先頭アドレスを、マイク
ロプログラム・カウンタ7にセットするものである。
The instruction decoder 5 decodes the instruction code of the instruction entered into the second stage of the instruction register, and sets in the microprogram counter 7 the starting address where the microprogram to process the instruction is stored. .

マイクロプログラム・カウンタ7は、マイクロプログラ
ムを順次実行するために、マイクロプログラム・メモリ
8に対し、実行すべきマイクロプログラムのアドレスを
与える。
The microprogram counter 7 provides the address of the microprogram to be executed to the microprogram memory 8 in order to execute the microprograms sequentially.

マイクロプログラム・メモリ8は、マイクロ命令(第3
図)が呼び出されるたびに、第1表に定義した内容、つ
まり、演算コード、次に実行するマイクロプログラム・
アドレス及び、102〜108に示すように、ハードウ
ェアを動作させる。
The microprogram memory 8 stores microinstructions (third
Each time the program (Figure) is called, the contents defined in Table 1 are executed, i.e., the operation code, the next microprogram to be executed, etc.
The hardware is operated as shown in addresses and 102-108.

次に、演算回路9は、マイクロ命令の演算コードに従っ
て、加減算を初めとする各種の演算を行なうものである
。演算回路9の内部は、アキュムレータA 91.AL
92と演算用の一時的な用途に用いるTレジスタ93、
演算器94と、演算結果のキャリーを一時的に記憶し、
倍長語演算の桁上げ等に用いるキャリーフラグ95から
成っている。演算回路9の外には、読み出しデータレジ
スタ18と演算回路9との間にDレジスタ12があシ、
データの受け渡しに用いる。内部データ・バス115は
、演算回路9とその周辺のレジスタ数とのデータのやシ
取シの経路に用いる。データ・メモリ2を読み書きする
場合のアドレスは、メモリ・アドレス・レジスタ5から
与える。メモリ・アドレス・レジスタ5にアドレスをセ
ットする手段として2通シあシ、まず、第1K第1命令
レジスタ3のアドレス部を直接セットするデータ先読み
の場合と、第2には演算回路9から与える場合がある。
Next, the arithmetic circuit 9 performs various operations including addition and subtraction according to the operation code of the microinstruction. The inside of the arithmetic circuit 9 includes an accumulator A 91. AL
92 and a T register 93 used for temporary purposes for calculation,
an arithmetic unit 94 and temporarily stores a carry of the arithmetic result;
It consists of a carry flag 95 used for carry, etc. in double word operations. Outside the arithmetic circuit 9, there is a D register 12 between the read data register 18 and the arithmetic circuit 9.
Used for exchanging data. The internal data bus 115 is used as a route for transferring data between the arithmetic circuit 9 and its peripheral registers. Addresses for reading and writing data memory 2 are given from memory address register 5. Two methods are used to set an address in the memory address register 5: first, in the case of data prefetching, in which the address field of the 1K-1st instruction register 3 is directly set; and in the second case, the address is set from the arithmetic circuit 9. There are cases.

以上の切替えはスイッチ13によって行なわれ、データ
先読みの条件、つまシ、命令先読み信号(PFE)11
4が与えられて命令レジスタ1段目3にセットされた命
令のPOF信号101が′1#の時に、メモリ・アドレ
ス・レジスタ5に命令レジスタ1段目3のアドレス部が
直接セットされる。
The above switching is performed by the switch 13, and the conditions for data prefetching, the command prefetching signal (PFE) 11
4 is given and the POF signal 101 of the instruction set in the first stage 3 of the instruction register is '1#, the address part of the first stage 3 of the instruction register is directly set in the memory address register 5.

読み出しデータ・レジスタ18には、データ・メモリか
ら読み出されたデータがセットされる。
The read data register 18 is set with data read from the data memory.

セットされるタイミングは、データ・メモリ2の応答信
号116が返された時点である。
The timing to be set is when the response signal 116 of the data memory 2 is returned.

書込データ・レジスタ14には、データ・メモリ2へ曹
き込むデータをセットして、データ・メモリ・インター
フェイス回路11を起動して、データ書込みを実行する
Data to be written into the data memory 2 is set in the write data register 14, and the data memory interface circuit 11 is activated to execute data writing.

データ・メモリ・インターフェイス回路11は、データ
の読み出しの時にも働き、第7図に示すタイミングを発
生する。
The data memory interface circuit 11 also works when reading data and generates the timing shown in FIG.

クロック回路15は、マイクロプログラムを実行するた
めのクロック信号117を発生する。
Clock circuit 15 generates a clock signal 117 for executing the microprogram.

〔発明の目的〕[Purpose of the invention]

本発明は、l命令で任意のデータ数を処理することがで
きるようにして処理速度を向上しうるようにしたプログ
ラマブル・コントローラを提供することを目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to provide a programmable controller that can process an arbitrary number of data using an l instruction, thereby improving processing speed.

〔発明の概要〕[Summary of the invention]

上記目的を達成するために、本発明によるプログラマブ
ル・コントローラは、命令の先読み開始タイミングおよ
び命令読み出し待ちタイミングと、データの先読み開始
タイミングおよびデータの読み出し待ちタイミングとを
各々独立してマイクロプログラムの命令によシ制御する
制御手段を設けた点に特徴を有する。
In order to achieve the above object, the programmable controller according to the present invention independently sets the instruction prefetch start timing and instruction read wait timing, and the data prefetch start timing and data read wait timing into microprogram instructions. It is characterized by the provision of a control means for better control.

かかる本発明によれば、倍語長命令等の1つの命令で、
複数のデータを取扱う処理においても、命令の先読み、
データの先読み、複数データの読み出し中においても、
内部演算を並行して行なうことができ、従って処理速度
を向上させることができる。
According to the present invention, with one instruction such as a double word length instruction,
Even in processes that handle multiple data, prefetching instructions,
Even while reading data ahead or reading multiple data,
Internal calculations can be performed in parallel, thus improving processing speed.

〔発明の実施例〕[Embodiments of the invention]

次に、本発明によるプログラマブル・コントローラの一
実施例を図面に基づいて説明する。本発明の実施例を第
5図〜第1O図に示し、第1図〜第4図と重複する部分
には同一の符号を附してその詳細な説明を省略する。
Next, one embodiment of the programmable controller according to the present invention will be described based on the drawings. Embodiments of the present invention are shown in FIGS. 5 to 1O, and parts that overlap with those in FIGS. 1 to 4 are given the same reference numerals, and detailed explanation thereof will be omitted.

第5図において、従来のコントローラ(第1図)と異な
る主な部分を太線で示しである。すなわち、この実施例
において、従来のコントローラ(第1図)の構成に加え
、プログラム・メモリlからの命令の先読み開始タイミ
ングおよび命令読み出し待ちタイミングと、データ・メ
モリ2からのデータの先読み開始タイミングおよびデー
タ読み出し待ちタイミングとを各々独立してマイクロプ
ログラム・メモリ8からのマイクロ命令(具体的にはセ
ット信号110,111)によ多制御する手段を設けた
点KfF徴を有する。
In FIG. 5, the main parts that are different from the conventional controller (FIG. 1) are indicated by thick lines. That is, in this embodiment, in addition to the configuration of the conventional controller (FIG. 1), the timing to start prefetching instructions from program memory 1 and the timing to wait for reading instructions, and the timing to start prefetching data from data memory 2, and It has a KfF feature in that it is provided with means for independently controlling the data read wait timing using microinstructions from the microprogram memory 8 (specifically, set signals 110 and 111).

この制御手段は、プログラム・メモIJ 1またはデー
タ・メモリ2と演算回路9との同期をとるための命令同
期フリップ・フロップ16ならびにデータ同期クリップ
・フロップ17と、これらの各出力のNORをとるNO
R回路19と、このNOR回路19の出力によってクロ
ック回路15からマイクロプログラム・カウンタ7への
クロック信号117の送出を禁止するスイッチ20とよ
シ構成される。
This control means includes an instruction synchronization flip-flop 16 and a data synchronization clip-flop 17 for synchronizing the program memo IJ 1 or data memory 2 and the arithmetic circuit 9, and a NOR circuit for NORing their respective outputs.
It consists of an R circuit 19 and a switch 20 for inhibiting the output of the NOR circuit 19 from sending the clock signal 117 from the clock circuit 15 to the microprogram counter 7 .

本実施例(第5図)において、プログラム・メモリ1に
は、例えば第8図に示すようなプログラムが格納されて
いる。その命令仕様の例を次の第2表に示す。
In this embodiment (FIG. 5), the program memory 1 stores a program as shown in FIG. 8, for example. An example of the instruction specification is shown in Table 2 below.

゛第2表 命令仕様 (1)LDD(ロードダブル) D100番地のデータをALレジスタにセットする。゛Table 2 instruction specifications (1) LDD (load double) Set the data at address D100 in the AL register.

DI01101番地タをAUレジスタにセットする。・ (2)X2D(2倍のダブル) AL、AUレジスタの内容を2倍してAL。Set address DI01101 in the AU register.・ (2) X2D (double x2) Double the contents of the AL and AU registers to AL.

AUにセットする。Set to AU.

但し、AUレジスタのデータをALの上位桁として扱う
However, the data in the AU register is treated as the upper digits of AL.

(3)SUBD(引算ダブル) AL、AUレジスタの内容からD300゜D30130
1番地タを引きAL、AUレジスタにセットする。
(3) SUBD (subtraction double) D300°D30130 from the contents of AL and AU registers
Subtract address 1 and set it in the AL and AU registers.

但し、AUレジスタ、D301301番地タを上位桁と
して扱う。
However, the AU register and address D301301 are treated as upper digits.

また、命令を読み出す場合のプログラム・メモリ・イン
ターフェイス回路lOの読み出しタイミングを第7図(
a)K示し、書込みタイミングを第7図(b)に示す。
In addition, the read timing of the program memory interface circuit IO when reading an instruction is shown in FIG.
a) K is shown, and the write timing is shown in FIG. 7(b).

第7図における矢印は信号変化の順序を示している。The arrows in FIG. 7 indicate the order of signal changes.

さらに、マイクロプログラム・メモリ8には、第6図に
示すフォーマットのマイクロ命令が格納されておシ、マ
イクロ命令が呼び出されるたびに、次の第3表に定義し
た内容、つまシ、演算コード、次に実行するマイクロプ
ログラム・アドレス及び、(1)〜αυに示すように、
ハードウェアを動作させる。
Furthermore, the microprogram memory 8 stores microinstructions in the format shown in FIG. As shown in the microprogram address to be executed next and (1) to αυ,
Get the hardware working.

第3表 102・・・プログラムカウンタ更新(+1)((PC
)+1−4PC) 103・・・メモリアドレスレジスタ更新(+i)((
MAR)+1−4MAR) 104・・・Dレジスタ前退み〔(几り几)→D〕10
5・・・書込データレジスタにデータをセット109・
・・DFE (データ先読み開始)lpE] 106・・・データ読み出し開始 (Read)107
・・・データ書込開始 110・・・データ同期フリップ・70ツブのセラ) 
(DWRQ) 111・・・命令同期スリップ・フロップのセット[P
WRQ) 108・・・JMAP (次の命令を実行)(JMAP
] 114・・・PFE(命令先読み開始)(PFE)几D
R:読み出しデータレジスタ 次に動作を説明する。命令同期7リツプ・70ツブ16
は次のように動作する。まず、マイクロプログラム・メ
モリ8から命令先読み開始信号(PFE)114がプロ
グラム・メモリ・インターフェイス回路lOに与えられ
て先読みを実行している状態において、マイクロ・プロ
グラム・メモリ8からセット信号(PW几Q)111が
命令同期フリップ・70ツブ16に与えられると、この
命令同期フリップ・70ツブ16がセットされ、No几
回路19を通じてスイッチ20が開き、クロック回路1
5からのクロック信号117がプログラム・メモリ1か
らの命令の読み出しが終了するまで禁止されてマイクロ
プログラムが待ち状態となる。データ同期フリップ・7
0ツブ17の動作も同様に、データ・メモリ・インター
フェイス回路11が、データ先読み開始信号(DFE)
109あるいは、データ読み出し開始信号106で起動
された状態で、データ同期フリップ・フロップのセット
信号(DwnQ) 11oを与えると、データの読み出
しが終るまでクロック信号117が禁止されてマイクロ
プログラムが待ち状態となる。
Table 3 102...Program counter update (+1) ((PC
)+1-4PC) 103...Memory address register update (+i)((
MAR)+1-4MAR) 104... D register forward retreat [(几り几)→D] 10
5...Set data in write data register 109.
...DFE (Start reading data ahead) lpE] 106... Start reading data (Read) 107
...Start writing data 110...Data synchronization flip/70 knobs)
(DWRQ) 111...Set of instruction synchronous slip-flop [P
WRQ) 108...JMAP (Execute next command) (JMAP
] 114...PFE (instruction prefetch start) (PFE) 几D
R: Read data register Next, the operation will be explained. Command synchronization 7 lips/70 tubes 16
works as follows. First, in a state in which an instruction prefetch start signal (PFE) 114 is applied from the microprogram memory 8 to the program memory interface circuit 1O to execute prefetching, a set signal (PFE) is input from the microprogram memory 8. ) 111 is applied to the instruction synchronous flip 70 knob 16, this instruction synchronous flip 70 knob 16 is set, the switch 20 is opened through the No. 1 circuit 19, and the clock circuit 1
The clock signal 117 from the program memory 1 is inhibited until reading of the instructions from the program memory 1 is completed, putting the microprogram in a wait state. Data sync flip 7
In the same way, the data memory interface circuit 11 receives the data prefetch start signal (DFE).
109, or if the data synchronization flip-flop set signal (DwnQ) 11o is applied in a state activated by the data read start signal 106, the clock signal 117 is inhibited until the data read is completed, and the microprogram enters the wait state. Become.

次に、第8図に示すプログラムの例によシ、動作を説明
する。このプログラム(第8図)に記述している命令L
DD、2D、8UBDの仕様は第2表に示す通りでアシ
、さらに各命令を実行するためのマイクロプログラムの
プログラム例を第9図に示す。第9図におけるニモニッ
ク(mnemonic )は、第6図においてマイクロ
プログラムの動作定義とともに()で示しているもので
ある。
Next, the operation will be explained using the example program shown in FIG. Instruction L written in this program (Figure 8)
The specifications of the DD, 2D, and 8UBD are shown in Table 2, and an example of a microprogram for executing each instruction is shown in FIG. The mnemonic in FIG. 9 is shown in parentheses along with the operation definition of the microprogram in FIG. 6.

ここで、()の内容、例えば、(D)は「Dレジスタの
内容」の意味を示し、→は、データの転送方向を示して
いる。第9図において、マイクロプログラム・アドレス
が各命令でとびとびになっているのは、命令毎にマイク
ロプログラムされ、決まったアドレスに格納されている
ためであシ、実行する時に命令から命令へのつながシは
JMAPで、命令デコーダ5とマイクロプログラム・カ
ウンタ7で行う。なお、第9図VCおいて、点線で囲ん
だ部分は先読みを行い、演算と並行して処理しているこ
とを示している。このプログラム例を実行した場合のタ
イムチャートを第1θ図に示す。
Here, the content of (), for example, (D) indicates the meaning of "content of D register", and → indicates the data transfer direction. In Figure 9, the microprogram addresses are discontinuous for each instruction because each instruction is microprogrammed and stored at a fixed address. This is done using JMAP, an instruction decoder 5 and a microprogram counter 7. In addition, in FIG. 9 VC, the part surrounded by a dotted line indicates that pre-reading is performed and processing is performed in parallel with calculation. A time chart when this program example is executed is shown in Fig. 1θ.

第1θ図において、時間Ts 〜、Txsは、LDD命
令を実行している時間帯を示し、2語口のデータの読み
出し起動がT6であV)、T7〜T9で読み出しが終る
まで待っている状態を示している。
In Fig. 1θ, times Ts to Txs indicate the time period during which the LDD command is executed, and the reading of the two-word data starts at T6 (V), and the time Txs waits until the reading is finished at T7 to T9. Indicates the condition.

この場合は、並行処理が行なわれていないが、TIO”
”T1.3では、次の次の命令である5UBD命令の読
み出しと、内部処理であるAUへのデータのセット動作
を並行処理しているのが分る。更にT14〜Ttyにお
いては 2D命令の実行であシ、この場合は、命令先読
み、データ先読みタイミングがT14と早い時期に行な
うことができるためにT14〜Ttyの演算をした後、
T17で同期をとるため、メモリに対する待ち時間が悪
く、効率の良い並行処理を行なっていることが分る。
In this case, parallel processing is not performed, but TIO"
``At T1.3, it can be seen that the reading of the 5UBD instruction, which is the next instruction, and the operation of setting data to the AU, which is internal processing, are processed in parallel.Furthermore, at T14 to Tty, the 2D instruction In this case, the instruction prefetch and data prefetch timings can be performed as early as T14, so after performing the calculations from T14 to Tty,
It can be seen that since synchronization is achieved at T17, the waiting time for the memory is low and efficient parallel processing is performed.

このように、命令、データの先読みと命令実行の並行処
理をきめこまかに制御することによシ、複数データを処
理する命令の並行処理を行なうことができる。
In this way, by finely controlling the parallel processing of instructions and data prefetching and instruction execution, it is possible to perform parallel processing of instructions that process a plurality of data.

〔発明の効果〕〔Effect of the invention〕

以上述べた如く、本発明によれば、命令の先読み開始タ
イミングおよび命令読み出し待ちタイミングと、データ
の先読み開始タイミングおよびデータの読み出し待ちタ
イミングを各々独立してマイクロプログラムの命令によ
シ制御する制御手段を設けたことによシ、1命令で任意
のデータ数を並行処理することができ、従ってプログラ
マブル・コントローラの処理速度を向上させることがで
きる。
As described above, according to the present invention, the control means independently controls the instruction prefetch start timing and instruction read wait timing, and the data prefetch start timing and data read wait timing, respectively, by instructions of a microprogram. By providing this, an arbitrary number of data can be processed in parallel with one instruction, and therefore the processing speed of the programmable controller can be improved.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来のプログラマブル・コントローラの例を示
すブロック図、第2図はプログラム・メモリから出力さ
れる命令フォーマットの例を示す説明図、第3図は従来
使用されたマイクロ命令7オーマツトの例を示す説明図
、第4図は従来のプログラマブル・コントローラの動作
を示すタイムチャート、第5図は本発明によるプログラ
マブル・コントローラの実施例を示すブロック図、第6
図は本発明において用いられるマイクロ命令の7オーマ
ットを示す説明図、第7図はインターフェイスの動作を
示すタイムチャート、M8図はプログラム・メモリに格
納されているプログラムの例を示す説明図、第9図は本
発明におけるマイクロプログラムの内容の例を示す説明
図、第10図は第8図のプログラムを実行した場合の動
作を示すタイムチャートである。 1・・・プログラム・メモリ、2・・・データ・メモリ
、3・・・第1命令レジスタ、4・・・第2命令レジス
タ、5・・・命令デコーダ、6・・・プログラム・カウ
ンタ、7・・・マイクロプログラム・カウンタ、8・・
・マイクロプログラム・メモリ、9・・・演算回路、1
0・・・プログラム・メモリ・インターフェイス回路、
11・・・データ・メモリ・インターフェイス回路、工
4・・・書込データ・レジスタ、15・・・クロック回
路、16・・・命令同期フリップ・フロップ、17・・
・データ同期フリップ・フロップ、18・・・読み出し
データ・レジスタ、19・・・NOI%回路、20・・
・スイッチ。 第 l 国 第 2 口 第 3 目 第 4 国 第 5 目 第 6 日 第 δ 凹 第 7 目 (0−) (b)
Fig. 1 is a block diagram showing an example of a conventional programmable controller, Fig. 2 is an explanatory diagram showing an example of an instruction format output from a program memory, and Fig. 3 is an example of a conventionally used microinstruction 7 format. FIG. 4 is a time chart showing the operation of a conventional programmable controller, FIG. 5 is a block diagram showing an embodiment of the programmable controller according to the present invention, and FIG.
Figure 7 is an explanatory diagram showing 7 formats of microinstructions used in the present invention, Figure 7 is a time chart showing the operation of the interface, Figure M8 is an explanatory diagram showing an example of a program stored in the program memory, and Figure 9 is an explanatory diagram showing an example of a program stored in the program memory. The figure is an explanatory diagram showing an example of the contents of the microprogram in the present invention, and FIG. 10 is a time chart showing the operation when the program of FIG. 8 is executed. DESCRIPTION OF SYMBOLS 1... Program memory, 2... Data memory, 3... First instruction register, 4... Second instruction register, 5... Instruction decoder, 6... Program counter, 7 ...Microprogram counter, 8...
・Microprogram memory, 9...Arithmetic circuit, 1
0...program memory interface circuit,
DESCRIPTION OF SYMBOLS 11...Data memory interface circuit, 4...Write data register, 15...Clock circuit, 16...Instruction synchronization flip-flop, 17...
・Data synchronization flip-flop, 18... Read data register, 19... NOI% circuit, 20...
·switch. 1st country 2nd unit 3rd item 4th country 5th item 6th day δ concave 7th (0-) (b)

Claims (1)

【特許請求の範囲】[Claims] 1、プログラム・メモリに格納された命令およびデータ
・メモリに格納された演算に必要なデータの先読みを行
いつつ前記命令に基づいてマイクロプログラムよシ演算
回路において演算を実行するプログラマブル・コントロ
ーラにおいて、前記命令の先読み開始タイミングおよび
命令読み出し待ちタイミングと、前記データの先読み開
始タイミングおよびデータの読み出し待ちタイミングと
を各々独立して前記マイクロプログラムの命令によ多制
御する制御手段を備えたことを特徴とするプログラマブ
ル・コントローラ。
1. In a programmable controller that executes an operation in a microprogram and an operation circuit based on the instruction while prefetching the instruction stored in the program memory and the data necessary for the operation stored in the data memory, the above-mentioned The microprogram is characterized by comprising a control means for independently controlling the instruction prefetch start timing and instruction read wait timing, and the data prefetch start timing and data read wait timing, respectively, according to the instructions of the microprogram. Programmable controller.
JP3006184A 1984-02-20 1984-02-20 Programmable controller Granted JPS60175146A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3006184A JPS60175146A (en) 1984-02-20 1984-02-20 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3006184A JPS60175146A (en) 1984-02-20 1984-02-20 Programmable controller

Publications (2)

Publication Number Publication Date
JPS60175146A true JPS60175146A (en) 1985-09-09
JPH0317135B2 JPH0317135B2 (en) 1991-03-07

Family

ID=12293299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3006184A Granted JPS60175146A (en) 1984-02-20 1984-02-20 Programmable controller

Country Status (1)

Country Link
JP (1) JPS60175146A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273134A (en) * 1987-04-10 1988-11-10 タンデム コンピューターズ インコーポレーテッド Method and apparatus for altering microinstruction using microinstruction pipeline
JPH02197961A (en) * 1989-01-27 1990-08-06 Koufu Nippon Denki Kk Information processor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5024044A (en) * 1973-07-04 1975-03-14
JPS5543604A (en) * 1978-09-21 1980-03-27 Toshiba Corp Electronic computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5024044A (en) * 1973-07-04 1975-03-14
JPS5543604A (en) * 1978-09-21 1980-03-27 Toshiba Corp Electronic computer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273134A (en) * 1987-04-10 1988-11-10 タンデム コンピューターズ インコーポレーテッド Method and apparatus for altering microinstruction using microinstruction pipeline
JPH02197961A (en) * 1989-01-27 1990-08-06 Koufu Nippon Denki Kk Information processor

Also Published As

Publication number Publication date
JPH0317135B2 (en) 1991-03-07

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS58149541A (en) Data processing device
JPS62115542A (en) Information processor
JP2752076B2 (en) Programmable controller
JPS60175146A (en) Programmable controller
JPS6161416B2 (en)
JPH01500065A (en) Apparatus and method for microprogram information processing system with multiple control stores
JP2583506B2 (en) Data processing device
JPS6134188B2 (en)
JP2758624B2 (en) Speed control method of micro program
JPH0222413B2 (en)
JPS63308656A (en) Block access system for changeable access cycle
JPS6120893B2 (en)
JPS5896345A (en) Hierarchical arithmetic system
JPH03136136A (en) Instruction execution time control system
JPS60129836A (en) Microprocessor
JPS5896346A (en) Hierarchical arithmetic system
JPS6186843A (en) Control method for high-speed programmable controller
JPS6362065A (en) Data transfer control system
JPS6142184Y2 (en)
SU1195364A1 (en) Microprocessor
JPS6057603B2 (en) arithmetic processing unit
JPH0338613B2 (en)
JPS619728A (en) Microprogram controller
JPS6375833A (en) Information processor