JPH1165838A - Arithmetic and logic unit and setting method for wait time of the same - Google Patents
Arithmetic and logic unit and setting method for wait time of the sameInfo
- Publication number
- JPH1165838A JPH1165838A JP21878397A JP21878397A JPH1165838A JP H1165838 A JPH1165838 A JP H1165838A JP 21878397 A JP21878397 A JP 21878397A JP 21878397 A JP21878397 A JP 21878397A JP H1165838 A JPH1165838 A JP H1165838A
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- microcode
- micro
- stored
- 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.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、指定されたマシ
ンサイクル数だけウエイトサイクルを挿入することがで
きる演算装置およびこの演算装置における待ち時間の設
定方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit capable of inserting wait cycles by a designated number of machine cycles, and a method of setting a waiting time in the arithmetic unit.
【0002】[0002]
【従来の技術】図10は従来の演算装置におけるNOP
命令による待ち時間の設定方法を示すフローチャート、
図11は従来の演算装置における他のNOP命令による
待ち時間の設定方法を示すフローチャート、図12は従
来の演算装置におけるタイマを用いた待ち時間設定方法
を示すフローチャートである。図10は待ち時間が短い
場合のプログラムの流れであり、複数個のNOP命令を
命令Aと命令Bとの間に挿入するものであり、例えば、
NOP命令1個の実行に2サイクル必要であるとすれ
ば、10個のNOP命令を挿入することにより、20サ
イクルの待ち時間を設定することができる。2. Description of the Related Art FIG.
A flowchart showing a method of setting a waiting time by an instruction,
FIG. 11 is a flowchart showing a method of setting a waiting time by another NOP instruction in a conventional arithmetic device, and FIG. 12 is a flowchart showing a method of setting a waiting time using a timer in a conventional arithmetic device. FIG. 10 shows a program flow when the waiting time is short, in which a plurality of NOP instructions are inserted between the instruction A and the instruction B.
If two cycles are required to execute one NOP instruction, a wait time of 20 cycles can be set by inserting ten NOP instructions.
【0003】また、図11は待ち時間が長い場合のプロ
グラムの流れであり、時間待ちのループを命令Aと命令
Bとの間に挿入するものであり、例えば、Aレジスタに
‘8’をセットした後、Aレジスタの内容をデクリメン
トし、Aレジスタの内容が‘0’であれば次の命令に移
行し、‘0’でなければDECAに戻るものである。図
12は待ち時間が長い場合のプログラムの流れであり、
マイクロコンピュータに内蔵されている汎用タイマを利
用して待ち時間を設定できるものであり、命令Aと命令
Bとの間にタイマをスタートさせる命令と初期設定され
たサイクルをカウントすると割り込み発生を行なわせタ
イマを終了させるものである。FIG. 11 shows the flow of a program in the case where the waiting time is long, in which a time waiting loop is inserted between the instruction A and the instruction B. For example, '8' is set in the A register. After that, the contents of the A register are decremented. If the contents of the A register are "0", the processing shifts to the next instruction. If not, the processing returns to DECA. FIG. 12 shows a program flow when the waiting time is long.
The waiting time can be set by using a general-purpose timer built in the microcomputer. An interrupt is generated between the instruction A and the instruction B when an instruction for starting the timer and an initially set cycle are counted. This is to end the timer.
【0004】[0004]
【発明が解決しようとする課題】従来の演算装置および
この演算装置における待ち時間の設定方法は以上のよう
に構成されているので、NOP命令を用いた待ち時間の
設定方法では、プログラマが各命令(NOP命令あるい
はループを構成する命令)の実行サイクル数を加算しな
がらプログラミングする必要があり、作業に手間がかか
るとともに正確な時間を設定することが困難であった。
特に、パイプライン処理や命令の先取り機能等を取り入
れた最近の高機能なマイクロコンピュータでは、各命令
の実行サイクル数の正確な算出自体が困難であるなどの
課題があった。The conventional arithmetic unit and the method of setting the waiting time in this arithmetic unit are configured as described above. Therefore, in the method of setting the waiting time using the NOP instruction, the programmer needs to execute each instruction. It is necessary to perform programming while adding the number of execution cycles of a (NOP instruction or an instruction constituting a loop), which requires a lot of work and makes it difficult to set an accurate time.
In particular, recent high-performance microcomputers incorporating pipeline processing and instruction prefetching functions have had a problem that it is difficult to accurately calculate the number of execution cycles of each instruction.
【0005】また、汎用タイマを用いた待ち時間設定
は、タイマの初期設定や割り込み処理ルーチンの用意な
ど、余分なプログラミングが多く必要であり、また短い
待ち時間の設定には不向きであるなどの課題があった。The setting of a waiting time using a general-purpose timer requires a lot of extra programming such as initial setting of a timer and preparation of an interrupt processing routine, and is not suitable for setting a short waiting time. was there.
【0006】この発明は上記のような課題を解決するた
めになされたもので、待ち時間を容易に、かつ正確に設
定できるとともに、待ち時間を少ないプログラム量で設
定することができる演算装置およびこの演算装置におけ
る待ち時間の設定方法を得ることを目的とする。SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an arithmetic unit and a computer which can easily and accurately set a waiting time and can set the waiting time with a small program amount. An object of the present invention is to obtain a method of setting a waiting time in an arithmetic device.
【0007】[0007]
【課題を解決するための手段】請求項1記載の発明に係
る演算装置は、マイクロアドレス発生回路により入力し
た命令コードをデコードし、実行すべきマイクロコード
が格納されている番地を設定し、アドレスデコーダを介
して出力し、マイクロコードROMにより、マイクロア
ドレス発生回路から入力した番地に格納されている各ア
ドレスに対応した制御情報を出力するとともに、次に実
行するマイクロコードの格納番地をマイクロアドレス発
生回路に出力し、データパス部により、制御情報を入力
すると命令の実行完了後に命令と命令との間をどの程度
待機させるかを指定する待ち時間値をデータバスを介し
て入力し、この待ち時間値を指定された値で減算し、減
算結果が0となった時点で次に実行するマイクロコード
の格納番地の入力許可信号をマイクロアドレス発生回路
に出力するようにしたものである。An arithmetic unit according to the present invention decodes an instruction code input by a microaddress generation circuit, sets an address where a microcode to be executed is stored, and sets an address. The control information corresponding to each address stored in the address input from the micro address generation circuit is output by the micro code ROM, and the micro address generation address is stored in the micro code ROM. When the control information is input by the data path unit and the control information is input, a wait time value specifying how long to wait between instructions after completion of execution of the instruction is input via the data bus. Subtracts the value by the specified value, and inputs the storage address of the microcode to be executed next when the subtraction result becomes 0 The variable signal is obtained so as to output to the micro address generation circuit.
【0008】請求項2記載の発明に係る演算装置におけ
る待ち時間の設定方法は、入力した命令コードをデコー
ドし、実行すべきマイクロコードが格納されている番地
を設定した後に出力し、この入力した番地に格納されて
いる各アドレスに対応した制御情報を出力するととも
に、次に実行するマイクロコードの格納番地を出力し、
制御情報を入力すると命令の実行完了後に命令と命令と
の間をどの程度待機させるかを指定する待ち時間値をデ
ータバスを介して入力し、この待ち時間値を指定された
値で減算し、減算結果が0となった時点で次に実行する
マイクロコードの格納番地の入力許可信号を出力するよ
うにしたものである。According to a second aspect of the present invention, there is provided a method for setting a waiting time in an arithmetic unit, which decodes an input instruction code, sets an address at which a microcode to be executed is stored, and outputs the address. The control information corresponding to each address stored in the address is output, and the storage address of the microcode to be executed next is output.
When the control information is input, a wait time value specifying how long to wait between instructions after completion of execution of the instruction is input via the data bus, and the wait time value is subtracted by the specified value, When the result of the subtraction becomes 0, an input permission signal for the storage address of the microcode to be executed next is output.
【0009】請求項3記載の発明に係る演算装置は、ダ
ウンカウンタに任意の値が設定されるとCPU部の他の
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントし、このダウンカウンタの値の内容をゼ
ロ検出回路によりチェックし、ゼロであればゼロ検出信
号をマイクロアドレス発生回路に出力し、このゼロ検出
信号を入力したマイクロアドレス発生回路は、マイクロ
コードROMから次に実行するマイクロコードの格納番
地を入力するようにしたものである。According to the third aspect of the present invention, when an arbitrary value is set in the down counter, the content is decremented every cycle of the basic clock independently of the other circuits of the CPU section. The contents of the value of the down counter are checked by the zero detection circuit, and if it is zero, a zero detection signal is output to the micro address generation circuit. This is to input the storage address of the microcode to be executed.
【0010】請求項4記載の発明に係る演算装置におけ
る待ち時間の設定方法は、任意の値が設定されるとCP
U部の他の回路とは独立に基本クロックの1サイクル毎
にその内容をデクリメントした後、この値の内容をチェ
ックし、ゼロであればゼロ検出信号をマイクロアドレス
発生回路に出力し、このゼロ検出信号を入力したマイク
ロアドレス発生回路は、マイクロコードROMから次に
実行するマイクロコードの格納番地を入力するようにし
たものである。According to a fourth aspect of the present invention, there is provided a method for setting a waiting time in an arithmetic unit, the method comprising the steps of:
After decrementing the content of each cycle of the basic clock independently of the other circuits of the U section, the content of this value is checked. If the value is zero, a zero detection signal is output to the microaddress generation circuit. The micro-address generation circuit to which the detection signal is input is configured to input the storage address of the micro-code to be executed next from the micro-code ROM.
【0011】[0011]
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による演
算装置を示す構成図であり、図において、1は出力Iビ
ットのシーケンスROM1aおよび出力Jビットの制御
ROM1bから構成されるマイクロコードROM、2は
マイクロコードROM1から出力された出力信号をラッ
チするラッチ回路であり、制御ROM1bからの出力信
号S0〜SJは、一旦ラッチされた後に定められたタイ
ミングに基づいてデータパス部7に出力される。一方、
シーケンスROM1aからの出力信号A0〜AIは、一
旦ラッチされた後に定められたタイミングに基づいてマ
イクロアドレス発生回路3へ出力される。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below. Embodiment 1 FIG. FIG. 1 is a block diagram showing an arithmetic unit according to Embodiment 1 of the present invention. In FIG. 1, reference numeral 1 denotes a microcode ROM comprising an output I-bit sequence ROM 1a and an output J-bit control ROM 1b; This is a latch circuit for latching an output signal output from the ROM 1. Output signals S0 to SJ from the control ROM 1b are output to the data path unit 7 based on timing determined once after being latched. on the other hand,
The output signals A0 to AI from the sequence ROM 1a are output to the micro-address generation circuit 3 based on the timing determined once after being latched.
【0012】3はシーケンスROM1aからの出力信号
A0〜AIに基づいて次に実行すべきマイクロコードの
格納番地を決めてアドレスデコーダ4へ出力するマイク
ロアドレス発生回路、4はマイクロアドレス発生回路3
から入力したアドレスをデコードし、デコード信号5と
してマイクロコードROM1へ出力するアドレスデコー
ダである。なお、命令実行の最初のマシンサイクルにお
いては、マイクロアドレス発生回路3は命令レジスタ6
より命令コードを受け取りこれをデコードしてマイクロ
コードアドレスを決める。Reference numeral 3 denotes a micro address generating circuit for determining a storage address of a microcode to be executed next based on output signals A0 to AI from the sequence ROM 1a and outputting it to the address decoder 4, and 4 a micro address generating circuit 3.
Is an address decoder that decodes an address input from the microcode ROM 1 and outputs the decoded signal to the microcode ROM 1 as a decode signal 5. In the first machine cycle of the instruction execution, the micro address generation circuit 3 sets the instruction register 6
An instruction code is received and decoded to determine a microcode address.
【0013】次に動作について説明する。図2はこの発
明の実施の形態1による命令の実装方法を簡略的に示す
フローチャートであり、図のように、命令の実行サイク
ル数nを任意に指定できるNOP命令を基本命令の一つ
としてマイクロコンピュータに実装して、命令Aと命令
Bの間に配置する。なお、nの値はプログラマが任意に
設定する。一般にマイクロコンピュータの有する命令の
実行は、複数のマイクロコード(マイクロ命令)を順次
実行することによって行われる。例えば、ある命令がマ
イクロコードROM内のA.B.Cの3つの番地に格納
されたマイクロコードをこの順に実行することによって
実行される。この場合、最初にこの命令の命令コードが
マイクロアドレス発生回路3においてデコードされ、最
初に実行すべきマイクロコードの格納番地Aが求めら
れ、これがアドレスデコーダ4を介してマイクロコード
ROM1へ出力される。Next, the operation will be described. FIG. 2 is a flowchart schematically showing an instruction mounting method according to the first embodiment of the present invention. As shown in FIG. 2, a NOP instruction capable of arbitrarily specifying an instruction execution cycle number n is set as one of basic instructions. Implemented on a computer and placed between instruction A and instruction B. The value of n is arbitrarily set by the programmer. In general, the execution of instructions of a microcomputer is performed by sequentially executing a plurality of microcodes (microinstructions). For example, if an instruction is in the A.D. B. This is executed by executing the microcode stored in the three addresses of C in this order. In this case, first, the instruction code of this instruction is decoded in the micro-address generation circuit 3, and the storage address A of the micro-code to be executed is obtained first, and this is output to the microcode ROM 1 via the address decoder 4.
【0014】制御ROM1bには、各アドレスに対応し
たデータパス部7の制御情報が格納されている。一方、
シーケンスROM1aには次に実行すべきマイクロコー
ドの格納番地(この場合はB)がそれぞれ格納されてお
り、ラッチ回路2を通して信号S0〜SJ、A0〜AI
として出力される。S0〜SJはデータパス部7に送ら
れアドレスAに対応する仕事をデータパス部7に行わせ
る。一方、A0〜AIはマイクロアドレス発生回路3に
戻され、これは通常そのまま次のサイクルにアドレスデ
コーダ4を通してマイクロコードROM1に入力され、
B番地に格納されたマイクロコードが次に実行される。
このような原理によってA,B,Cの3つの番地に格納
されたマイクロコードが順次実行され1つの命令の実行
が完了する。The control ROM 1b stores control information of the data path unit 7 corresponding to each address. on the other hand,
The storage address (B in this case) of the microcode to be executed next is stored in the sequence ROM 1a, and the signals S0 to SJ and A0 to AI are passed through the latch circuit 2.
Is output as S0 to SJ are sent to the data path unit 7 to cause the data path unit 7 to perform work corresponding to the address A. On the other hand, A0 to AI are returned to the microaddress generation circuit 3, which is normally input to the microcode ROM 1 through the address decoder 4 in the next cycle as it is,
The microcode stored at address B is executed next.
According to this principle, the microcodes stored in the three addresses A, B, and C are sequentially executed, and the execution of one instruction is completed.
【0015】次に命令の実行シーケンスを図3のタイミ
ングチャートをもとにさらに詳しく説明する。図3はこ
の発明の実施の形態1による演算装置の実行シーケンス
を示すタイミングチャートであり、図において、ФはC
PU部の基本クロックであり、この1サイクルが1マシ
ンサイクルに対応する。まず、サイクル(8)のФ=
‘L’の期間に命令レジスタ6が命令コードをマイクロ
アドレス発生回路3に出力する。次に、マイクロアドレ
ス発生回路3では、命令コードをデコードしてこの命令
を実行するに際して最初に実行すべきマイクロコードが
格納されている番地Aをもとめ、これをサイクル(9)
でアドレスデコーダ4に出力する。そして、アドレスデ
コーダ4では入力アドレスをただちにデコードし、デコ
ード信号5をマイクロコードROM1に出力する。Next, the instruction execution sequence will be described in more detail with reference to the timing chart of FIG. FIG. 3 is a timing chart showing an execution sequence of the arithmetic unit according to the first embodiment of the present invention.
This is a basic clock of the PU unit, and one cycle corresponds to one machine cycle. First, Ф in cycle (8)
The instruction register 6 outputs the instruction code to the micro address generation circuit 3 during the period of “L”. Next, the micro address generation circuit 3 determines the address A where the micro code to be executed first is stored when the instruction code is decoded and this instruction is executed.
To the address decoder 4. The address decoder 4 immediately decodes the input address and outputs a decode signal 5 to the microcode ROM 1.
【0016】これにより、制御ROM1bおよびシーケ
ンスROM1bのA番地に格納されている内容が、サイ
クル(9)のФ=‘L’の期間に出力される。制御RO
M1bからの出力は、ラッチ回路2によって一旦ラッチ
された後、各々定められたタイミングで信号S0〜SJ
としてデータパス部7へ出力し制御する。一方、シーケ
ンスROM1aの出力は、次に実行すべきマイクロコー
ドの格納番地Bを示しており、同様にラッチ回路2によ
り次のサイクル(10)で示されるФ=‘H’の期間ま
で保持される。As a result, the contents stored in the address A of the control ROM 1b and the sequence ROM 1b are output during the period of Ф = “L” in the cycle (9). Control RO
After the output from M1b is once latched by the latch circuit 2, the signals S0 to SJ are output at predetermined timings.
Is output to the data path unit 7 and controlled. On the other hand, the output of the sequence ROM 1a indicates the storage address B of the microcode to be executed next, and is similarly held by the latch circuit 2 until the period of Ф = 'H' shown in the next cycle (10). .
【0017】そして、マイクロアドレス発生回路3では
このシーケンスROM1aからの出力を受け取り、これ
を次のマイクロコードアドレスとしてサイクル(10)
の期間にアドレスデコーダ4に出力する。以上のような
動作を各マシンサイクルごとに繰り返すことによって
A,B,Cの各番地に格納されたマイクロコードは順次
実行に移され命令が完了する。これと同時にサイクル
(11)で示されるサイクルのФ=‘L’の期間に命令
レジスタから次の命令コードがマイクロアドレス発生回
路3に送られ次の命令の実行が始まる。Then, the micro address generating circuit 3 receives the output from the sequence ROM 1a and uses it as the next micro code address in the cycle (10).
To the address decoder 4 during the period. By repeating the above operation for each machine cycle, the microcode stored at each of the addresses A, B, and C is sequentially shifted to execution, and the instruction is completed. At the same time, the next instruction code is sent from the instruction register to the microaddress generation circuit 3 during the period of Ф = “L” in the cycle indicated by the cycle (11), and the execution of the next instruction is started.
【0018】次にnサイクルのNOP命令の実現方法に
ついて説明する。図4はこの発明の実施の形態1による
演算装置の具体的な構成を示す構成図、図5は図4の演
算装置のウエイト命令の命令実行シーケンスを示すフロ
ーチャート、図6は図4の演算装置のウエイト命令を示
すタイミングチャートである。まず、サイクル(12)
のФ=‘L’の期間に命令レジスタ6にこの命令の命令
コードが格納され、同時に何サイクルウエイトさせるか
を指定するnの値がオペランドレジスタ18に格納され
る。次に、命令レジスタ6の内容は、直ちにマイクロア
ドレス発生回路3に転送され、マイクロアドレス発生回
路3ではこの命令コードをデコードして、最初に実行す
べきマイクロコードが格納されている番地Aを決める。Next, a method of realizing an n-cycle NOP instruction will be described. 4 is a configuration diagram showing a specific configuration of the arithmetic unit according to Embodiment 1 of the present invention, FIG. 5 is a flowchart showing an instruction execution sequence of a wait instruction of the arithmetic unit of FIG. 4, and FIG. 6 is an arithmetic unit of FIG. 6 is a timing chart showing the wait instruction of FIG. First, cycle (12)
The instruction code of this instruction is stored in the instruction register 6 during the period of Ф = “L”, and at the same time, the value of n designating how many cycles to wait is stored in the operand register 18. Next, the contents of the instruction register 6 are immediately transferred to the micro-address generation circuit 3, and the micro-address generation circuit 3 decodes the instruction code to determine the address A where the micro code to be executed first is stored. .
【0019】なお、マイクロアドレスは8ビット長であ
るとし、Aの番地を‘00H’番地とする。したがっ
て、サイクル(13)では‘00H’番地がアドレスデ
コーダ4を介してマイクロコードROM1に出力され、
‘00H’番地の内容がФ=‘L’の期間に読み出され
る。そして、読み出された信号の一部は、ラッチ回路2
で一旦ラッチされ、各信号毎に定められたタイミングで
次サイクル(14)にS0〜SJ信号としてデータパス
部7に出力される。It is assumed that the micro address has a length of 8 bits, and the address A is "00H". Therefore, in the cycle (13), the address '00H' is output to the microcode ROM 1 via the address decoder 4, and
The contents of the address '00H' are read during the period of Ф = 'L'. A part of the read signal is supplied to the latch circuit 2
, And are output to the data path unit 7 as S0 to SJ signals in the next cycle (14) at a timing determined for each signal.
【0020】このS0〜SJ信号はサイクル(14)に
データパス部7に以下のような仕事を実行させる。Ф=
‘H’の期間にオペランドレジスタ18の内容(n)を
Iバスに読み出し、Dバスには‘1’を出力させる。I
バス及びDバスに読み出された内容は、ラッチ19でФ
=‘L’の期間まで保持され、それぞれI’バス及び
D’バスに出力される。次に、ALUではI’バスの内
容からD’バスの内容が減算され(n−1が実行され
る)、その結果はФ=‘H’の期間にテンポラリレジス
タ20に格納される。この内容はのゼロ検出回路21で
チェックされ、ゼロであればゼロ検出信号Z0=‘H’
とし、ゼロでなければゼロ検出信号Z0=‘L’とな
る。すなわちn−1の演算結果がゼロであればZ0=
‘H’、そうでなければZ0=‘L’である。The S0 to SJ signals cause the data path unit 7 to execute the following work in the cycle (14). Ф =
During the period of “H”, the content (n) of the operand register 18 is read out to the I bus, and “1” is output to the D bus. I
The contents read to the bus and the D bus are output by the latch 19
= 'L' and output to the I 'and D' buses, respectively. Next, in the ALU, the content of the D 'bus is subtracted from the content of the I' bus (n-1 is executed), and the result is stored in the temporary register 20 during the period of Ф = 'H'. This content is checked by the zero detection circuit 21. If it is zero, the zero detection signal Z0 = 'H'
If not zero, the zero detection signal Z0 = 'L'. That is, if the operation result of n-1 is zero, Z0 =
'H', otherwise Z0 = 'L'.
【0021】一方、サイクル(13)の期間のФ=
‘L’の期間にシーケンスROM1aの‘00H’番地
から読み出される次のマイクロアドレスはBであり、こ
こではB=‘03H’番地とする。読み出された内容は
ラッチ回路2を通って、サイクル(13)のФ=‘L’
の期間から次のサイクル(14)のФ=‘H’の期間ま
での間A0〜A7信号=‘03H’としてマイクロアド
レス発生回路3へ出力される。ただし、これらの信号の
内A0信号は先のゼロ検出信号Z0の反転信号とAND
されたのちにマイクロアドレス発生回路3に出力され
る。したがって、サイクル(14)でデータパス部7に
より実行されたn−1の結果がゼロでなければ(Z0=
‘L’)、マイクロアドレス発生回路3に出力され、次
に実行するマイクロアドレスは‘03H’のままであ
る。On the other hand, in the cycle (13), Ф =
The next micro address read from the address "00H" of the sequence ROM 1a during the period "L" is B, and here it is assumed that B = address "03H". The read content passes through the latch circuit 2 and Ф = “L” in cycle (13).
Are output to the microaddress generation circuit 3 as A0 to A7 signals = `03H` from the period of the period to the period of Ф =` H` in the next cycle (14). However, among these signals, the A0 signal is ANDed with the inverted signal of the previous zero detection signal Z0.
After that, it is output to the micro address generation circuit 3. Therefore, the result of n-1 executed by the data path unit 7 in the cycle (14) is not zero (Z0 =
'L') is output to the micro address generation circuit 3, and the micro address to be executed next remains '03H'.
【0022】しかし、サイクル(14)でデータパス部
7により実行されたn−1の結果がゼロであると(Z0
=‘H’)、‘02H’に変更される(ここではこの
‘02H’番地をCとする)。したがって、サイクル
(14)でマイクロコードROM1に出力される番地
は、B=‘03H’番地となり、その番地の制御情報に
基づいたデータパス部7の動作が次のサイクル(15)
で実行される。すなわち、このサイクル(15)では、
テンポラリレジスタ20の内容(n−1)がIバスヘ、
‘1’がDバスヘ読み出され、ALUでは(n−1)−
1が実行され、結果n−2が再びテンポラリレジスタ2
0に格納される。ここで、再度ゼロ検出が行われZ0の
値が決まる。However, if the result of n-1 executed by the data path unit 7 in cycle (14) is zero (Z0
= 'H'), and is changed to '02H' (here, this '02H' address is C). Therefore, the address output to the microcode ROM 1 in the cycle (14) is B = '03H', and the operation of the data path unit 7 based on the control information of the address is changed to the next cycle (15).
Executed in That is, in this cycle (15),
When the content (n-1) of the temporary register 20 is transferred to the I bus,
'1' is read out to the D bus, and in the ALU (n-1)-
1 is executed, and the result n-2 is stored in the temporary register 2 again.
0 is stored. Here, zero detection is performed again to determine the value of Z0.
【0023】一方、‘03H’番地のシーケンスROM
1aの内容は、自分自身である‘03H’番地を指す。
以降の動作は、テンポラリレジスタ20のデクリメント
を値がゼロになるまで繰り返し、ゼロを検出するとマイ
クロアドレスがC=‘02H’番地になって命令を終了
する。なお、この命令の実行サイクル数はn+1サイク
ルであるが、プログラマが指定した値をコンパイラで機
械語に変換する時に−1の補正などをすれば解決する。On the other hand, a sequence ROM at address '03H'
The content of 1a indicates the address '03H' which is itself.
Subsequent operations are repeated until the value of the temporary register 20 is decremented to zero. When zero is detected, the microaddress becomes C = '02H' and the instruction is terminated. Although the number of execution cycles of this instruction is n + 1, it can be solved by correcting -1 when converting a value specified by the programmer into a machine language by a compiler.
【0024】以上のように、この実施の形態1によれ
ば、命令と次の命令との間に一定のウエイト命令を挿入
することにより、待ち時間を容易に、かつ正確に設定で
きるとともに、待ち時間を少ないプログラム量で設定す
ることができるなどの効果が得られる。As described above, according to the first embodiment, by inserting a constant wait instruction between an instruction and the next instruction, the waiting time can be easily and accurately set, and the waiting time can be easily set. The advantage is that the time can be set with a small program amount.
【0025】実施の形態2.図7はこの発明の実施の形
態2による演算装置を示す構成図であり、図において、
実施の形態1と同一の符号については同一または相当部
分を示すので説明を省略する。22は任意の値nを設定
するダウンカウンタであり、値nが設定されるとその
後、CPU部の他の回路とは独立にФの1サイクル毎に
その内容をデクリメントする。23はダウンカウンタ2
2の値nの内容をチェックし、ゼロであればゼロ検出信
号Z0=‘H’とし、ゼロでなければゼロ検出信号Z0
=‘L’となるゼロ検出回路である。Embodiment 2 FIG. 7 is a configuration diagram showing an arithmetic unit according to Embodiment 2 of the present invention.
The same reference numerals as those in the first embodiment denote the same or corresponding parts, and a description thereof will not be repeated. Reference numeral 22 denotes a down counter for setting an arbitrary value n. After the value n is set, the content of the down counter is decremented every cycle of Ф independently of other circuits of the CPU section. 23 is a down counter 2
The content of the value n of 2 is checked. If it is zero, the zero detection signal Z0 is set to "H".
= 'L'.
【0026】次に動作について説明する。図8はこの発
明の実施の形態2による演算装置の命令実行の流れを示
すフローチャート、図9はこの発明の実施の形態2によ
る演算装置の命令の実行シーケンスを示すフローチャー
トである。まず、ダウンカウンタ22に付属されている
ゼロ検出回路23からの出力であるゼロ検出信号Z0
は、実施の形態1と同様にその反転信号がマイクロコー
ドROM1のラッチ回路2の出力のA0信号とANDさ
れて、マイクロアドレス発生回路3に出力される。命令
aによってダウンカウンタに値がセットされた後、CP
Uはそれに続く命令Cを順次実行していく。そして命令
bが実行されるとここで先に設定されたダウンカウンタ
の内容がゼロになるまで待って、次に命令Bの実行に移
る。Next, the operation will be described. FIG. 8 is a flowchart showing a flow of instruction execution of the arithmetic unit according to the second embodiment of the present invention, and FIG. 9 is a flowchart showing an instruction execution sequence of the arithmetic unit according to the second embodiment of the present invention. First, a zero detection signal Z0 which is an output from the zero detection circuit 23 attached to the down counter 22
As in the first embodiment, the inverted signal is ANDed with the A0 signal of the output of the latch circuit 2 of the microcode ROM 1 and output to the microaddress generation circuit 3. After the value is set in the down counter by the instruction a, the CP
U sequentially executes the following instruction C. When the instruction "b" is executed, the process waits until the value of the down counter previously set becomes zero, and then proceeds to the execution of the instruction "B".
【0027】命令bの実行シーケンスは図9に示す通り
である。実施の形態1で示したnサイクルのウエイト命
令の制御と同じ原理を使って、ダウンカウンタの内容が
ゼロになるまでは、A番地の内容(NOP)を繰り返し
実行し、ゼロ検出信号Z0が‘H’になるとB番地に移
って命令を終了する。この実施の形態であれば命令Aと
命令Bの間に他の処理が入っても、この処理に必要なサ
イクル数を計算することなく、命令Aと命令Bの間の待
ち時間を正確に設定できる。The execution sequence of the instruction b is as shown in FIG. Using the same principle as that of the control of the n-cycle wait instruction shown in the first embodiment, the contents of address A (NOP) are repeatedly executed until the contents of the down counter become zero, and the zero detection signal Z0 becomes '0'. When it becomes H ', it moves to address B and ends the instruction. According to this embodiment, even if another process enters between the instruction A and the instruction B, the waiting time between the instruction A and the instruction B is accurately set without calculating the number of cycles required for this process. it can.
【0028】以上のように、この実施の形態2によれ
ば、実施の形態1の効果の他に、命令と命令との間の待
ち時間に他の処理を実行させることができるなどの効果
が得られる。As described above, according to the second embodiment, in addition to the effect of the first embodiment, there is an effect that other processing can be executed during a waiting time between instructions. can get.
【0029】[0029]
【発明の効果】以上のように、この発明によれば、命令
と次の命令との間に一定のウエイト命令を挿入すること
により、待ち時間を容易に、かつ正確に設定できるとと
もに、待ち時間を少ないプログラム量で設定することが
できる効果がある。As described above, according to the present invention, by inserting a constant wait instruction between an instruction and the next instruction, the wait time can be easily and accurately set, and the wait time can be easily set. Can be set with a small program amount.
【0030】この発明によれば、命令と命令との間の待
ち時間に他の処理を実行させることができる効果があ
る。According to the present invention, there is an effect that other processing can be executed during a waiting time between instructions.
【図1】 この発明の実施の形態1による演算装置を示
す構成図である。FIG. 1 is a configuration diagram showing an arithmetic unit according to Embodiment 1 of the present invention.
【図2】 この発明の実施の形態1による命令の実装方
法を簡略的に示すフローチャートである。FIG. 2 is a flowchart schematically illustrating a method of mounting instructions according to the first embodiment of the present invention.
【図3】 この発明の実施の形態1による演算装置の実
行シーケンスを示すタイミングチャートである。FIG. 3 is a timing chart showing an execution sequence of the arithmetic unit according to the first embodiment of the present invention.
【図4】 この発明の実施の形態1による演算装置の具
体的な構成を示す構成図である。FIG. 4 is a configuration diagram showing a specific configuration of an arithmetic unit according to Embodiment 1 of the present invention;
【図5】 図4の演算装置のウエイト命令の命令実行シ
ーケンスを示すフローチャートである。FIG. 5 is a flowchart showing an instruction execution sequence of a wait instruction of the arithmetic unit in FIG. 4;
【図6】 図4の演算装置のウエイト命令を示すタイミ
ングチャートである。6 is a timing chart showing a wait instruction of the arithmetic unit in FIG.
【図7】 この発明の実施の形態2による演算装置を示
す構成図である。FIG. 7 is a configuration diagram showing an arithmetic unit according to Embodiment 2 of the present invention.
【図8】 この発明の実施の形態2による演算装置の命
令実行の流れを示すフローチャートである。FIG. 8 is a flowchart showing a flow of instruction execution of an arithmetic unit according to Embodiment 2 of the present invention;
【図9】 この発明の実施の形態2による演算装置の命
令の実行シーケンスを示すフローチャートである。FIG. 9 is a flowchart showing an execution sequence of an instruction of an arithmetic unit according to Embodiment 2 of the present invention;
【図10】 従来の演算装置におけるNOP命令による
待ち時間の設定方法を示すフローチャートである。FIG. 10 is a flowchart showing a method of setting a waiting time by a NOP instruction in a conventional arithmetic device.
【図11】 従来の演算装置における他のNOP命令に
よる待ち時間の設定方法を示すフローチャートである。FIG. 11 is a flowchart illustrating a method of setting a waiting time by another NOP instruction in a conventional arithmetic device.
【図12】 従来の演算装置におけるタイマを用いた待
ち時間設定方法を示すフローチャートである。FIG. 12 is a flowchart illustrating a waiting time setting method using a timer in a conventional arithmetic device.
1 マイクロコードROM、3 マイクロアドレス発生
回路、4 アドレスデコーダ、7 データパス部、22
ダウンカウンタ、23 ゼロ検出回路。1 microcode ROM, 3 micro address generation circuit, 4 address decoder, 7 data path section, 22
Down counter, 23 Zero detection circuit.
Claims (4)
るとともに、次に実行すべきマイクロコードの格納番地
を格納するマイクロコードROMと、 このマイクロコードROMに格納されているアドレスに
対応する動作を実行するデータパス部と、上記マイクロ
コードROMに格納されているマイクロコードの格納番
地を入力し、アドレスデコーダを介して上記マイクロコ
ードROMへ出力するマイクロアドレス発生回路とを備
えた演算装置において、 上記マイクロアドレス発生回路は、入力した命令コード
をデコードし、実行すべきマイクロコードが格納されて
いる番地を設定し、上記アドレスデコーダを介して出力
し、上記マイクロコードROMは、上記マイクロアドレ
ス発生回路から入力した番地に格納されている各アドレ
スに対応した制御情報を出力するとともに、次に実行す
るマイクロコードの格納番地を上記マイクロアドレス発
生回路に出力し、上記データパス部は、上記制御情報を
入力すると命令の実行完了後に命令と命令との間をどの
程度待機させるかを指定する待ち時間値をデータバスを
介して入力し、この待ち時間値を指定された値で減算
し、減算結果が0となった時点で次に実行するマイクロ
コードの格納番地の入力許可信号を上記マイクロアドレ
ス発生回路に出力することを特徴とする演算装置。1. A microcode ROM for storing control information corresponding to each address and storing a storage address of a microcode to be executed next, and an operation corresponding to an address stored in the microcode ROM. An arithmetic device comprising: a data path unit to be executed; and a micro address generation circuit that inputs a storage address of a microcode stored in the microcode ROM and outputs the input address to the microcode ROM via an address decoder. The micro address generation circuit decodes the input instruction code, sets the address where the micro code to be executed is stored, and outputs the address via the address decoder. The micro code ROM reads the micro code ROM from the micro address generation circuit. Corresponding to each address stored in the entered address In addition to outputting the control information, the storage address of the microcode to be executed next is output to the microaddress generation circuit.When the control information is input, the data path unit switches between the instructions after the execution of the instruction is completed. A wait time value specifying how long to wait is input via the data bus, the wait time value is subtracted by the specified value, and when the result of the subtraction becomes 0, the microcode to be executed next is stored. An arithmetic unit for outputting an address input enable signal to the micro address generation circuit.
るとともに、次に実行すべきマイクロコードの格納番地
を格納し、この格納されているアドレスに対応する動作
を実行し、格納されている上記マイクロコードの格納番
地を入力し、アドレスデコーダを介して出力する演算装
置における待ち時間の設定方法において、入力した命令
コードをデコードし、実行すべきマイクロコードが格納
されている番地を設定した後に出力し、この入力した番
地に格納されている各アドレスに対応した制御情報を出
力するとともに、次に実行するマイクロコードの格納番
地を出力し、上記制御情報を入力すると命令の実行完了
後に命令と命令との間をどの程度待機させるかを指定す
る待ち時間値をデータバスを介して入力し、この待ち時
間値を指定された値で減算し、減算結果が0となった時
点で次に実行するマイクロコードの格納番地の入力許可
信号を出力することを特徴とする演算装置における待ち
時間の設定方法。2. Control information corresponding to each address is stored, a storage address of a microcode to be executed next is stored, an operation corresponding to the stored address is executed, and the stored address is stored. In a method of setting a waiting time in an arithmetic unit that inputs a storage address of a microcode and outputs the address through an address decoder, the input instruction code is decoded, and output after setting an address where a microcode to be executed is stored. Then, while outputting the control information corresponding to each address stored in the input address, outputting the storage address of the microcode to be executed next, and inputting the control information, the instruction and the instruction are executed after the execution of the instruction is completed. Enter a wait time value over the data bus that specifies how long to wait between and the wait time value. A method for setting a waiting time in an arithmetic device, wherein an input permission signal of a storage address of a microcode to be executed next is output when the result of the subtraction becomes 0.
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントするダウンカウンタと、このダウンカウ
ンタの値の内容をチェックし、ゼロであればゼロ検出信
号をマイクロアドレス発生回路に出力するゼロ検出回路
とを備え、このゼロ検出信号を入力したマイクロアドレ
ス発生回路は、マイクロコードROMから次に実行する
マイクロコードの格納番地を入力することを特徴とする
請求項1記載の演算装置。3. When an arbitrary value is set, a down counter for decrementing the content every cycle of the basic clock independently of other circuits of the CPU unit, and checking the content of the value of the down counter, A micro address generation circuit that outputs a zero detection signal to the micro address generation circuit if it is zero, and the micro address generation circuit that receives the zero detection signal inputs the storage address of the next micro code to be executed from the micro code ROM The arithmetic device according to claim 1, wherein:
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントした後、この値の内容をチェックし、ゼ
ロであればゼロ検出信号をマイクロアドレス発生回路に
出力し、このゼロ検出信号を入力したマイクロアドレス
発生回路は、マイクロコードROMから次に実行するマ
イクロコードの格納番地を入力することを特徴とする請
求項2記載の演算装置における待ち時間の設定方法。4. When an arbitrary value is set, the content is decremented every cycle of the basic clock independently of other circuits of the CPU unit, and the content of this value is checked. 3. The micro-address generation circuit according to claim 2, wherein the detection signal is output to a micro-address generation circuit, and the micro-address generation circuit to which the zero detection signal is input inputs a storage address of a microcode to be executed next from a microcode ROM. A method for setting a waiting time in an arithmetic unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21878397A JPH1165838A (en) | 1997-08-13 | 1997-08-13 | Arithmetic and logic unit and setting method for wait time of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21878397A JPH1165838A (en) | 1997-08-13 | 1997-08-13 | Arithmetic and logic unit and setting method for wait time of the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1165838A true JPH1165838A (en) | 1999-03-09 |
Family
ID=16725317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21878397A Pending JPH1165838A (en) | 1997-08-13 | 1997-08-13 | Arithmetic and logic unit and setting method for wait time of the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1165838A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT515428B1 (en) * | 2014-07-04 | 2015-09-15 | Banny Klaus | filter |
-
1997
- 1997-08-13 JP JP21878397A patent/JPH1165838A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT515428B1 (en) * | 2014-07-04 | 2015-09-15 | Banny Klaus | filter |
AT515428A4 (en) * | 2014-07-04 | 2015-09-15 | Banny Klaus | filter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4750865B2 (en) | Method and apparatus for influencing subsequent instruction processing in a data processor | |
JP2848606B2 (en) | Method and apparatus for modifying microinstructions using a macroinstruction pipeline | |
EP0352935B1 (en) | Pipelined processor | |
JP3745039B2 (en) | Microprocessor with delayed instructions | |
US8006114B2 (en) | Software programmable timing architecture | |
JP2507638B2 (en) | Data processing device | |
EP0357188A2 (en) | Pipelined processor | |
JPH07129413A (en) | Interruption processor | |
JP3578883B2 (en) | Data processing device | |
JPH07120284B2 (en) | Data processing device | |
US5185870A (en) | System to determine if modification of first macroinstruction to execute in fewer clock cycles | |
JP3738253B2 (en) | Method and apparatus for processing program loops in parallel | |
JPS6019028B2 (en) | information processing equipment | |
JPH1165838A (en) | Arithmetic and logic unit and setting method for wait time of the same | |
KR100188374B1 (en) | Central processing unit and an arithmetic operation processing unit | |
JP2694948B2 (en) | Micro program processor | |
EP0573071A2 (en) | A microprocessor | |
JP2525492B2 (en) | Programmable controller | |
US20030182511A1 (en) | Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor | |
JP2000029696A (en) | Processor, and pipeline process control method | |
JP2825315B2 (en) | Information processing device | |
JPH1173301A (en) | Information processor | |
JP3539914B2 (en) | Microcomputer | |
JP2503223B2 (en) | Prior control method | |
JP2924735B2 (en) | Pipeline operation device and decoder device |