JP3045731B2 - Sequence control method - Google Patents
Sequence control methodInfo
- Publication number
- JP3045731B2 JP3045731B2 JP1110941A JP11094189A JP3045731B2 JP 3045731 B2 JP3045731 B2 JP 3045731B2 JP 1110941 A JP1110941 A JP 1110941A JP 11094189 A JP11094189 A JP 11094189A JP 3045731 B2 JP3045731 B2 JP 3045731B2
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- microinstruction
- address
- microprogram
- data
- 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
Links
Description
【発明の詳細な説明】 〔発明の技術分野〕 本発明はマイクロプログラムで制御されるシーケンサ
制御方式に関し、特にそこで必要なマイクロプログラム
メモリ容量を大幅に低減できるようにするシーケンサに
関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sequencer control method controlled by a microprogram, and more particularly, to a sequencer capable of significantly reducing the required microprogram memory capacity.
メモリアドレスシーケンス等の所望のデータ系列を発
生するために、マイクロプログラム制御方式のシーケン
サがしばしば使用される。Microprogram-controlled sequencers are often used to generate a desired data sequence, such as a memory address sequence.
従来技術によるこの種のシーケンサのブロック図を第
2図に示す。同図に示すシーケンサは、アドレスを一定
の時間間隔で出力する、アドレスジェネレータとして動
作するものである。マイクロプログラムメモリ201から
読み出されたマイクロ命令はシーケンス制御部203のIin
端子に与えられる。このようにして与えられたマイクロ
命令に基づいて、シーケンス制御部203はCLK端子に与え
られるクロックに同期して今回の動作周期に出力すべき
アドレスをバッファ205に与えるとともに、この同じア
ドレスを次回に読み出すべきマイクロ命令を指定するア
ドレスとしてマイクロプログラムメモリ201に与える。FIG. 2 shows a block diagram of this type of sequencer according to the prior art. The sequencer shown in FIG. 1 operates as an address generator that outputs addresses at fixed time intervals. The microinstruction read from the microprogram memory 201 is stored in Iin of the sequence control unit 203.
Terminal. Based on the microinstruction given in this way, the sequence control unit 203 gives an address to be output in the current operation cycle to the buffer 205 in synchronization with the clock given to the CLK terminal, and supplies the same address to the next time. The microinstruction to be read is given to the microprogram memory 201 as an address for designating the microinstruction.
しかしながらこのような従来のシーケンサはマイクロ
プログラムの容量をかなり大きくする必要があるという
問題がある。例えば上述のようにこのシーケンサをアド
レスジェネレータとして使用する場合、大容量メモリの
ためのアドレス系列を発生させようとすると、発生しな
ければならないアドレスの語長が長くなるとともに、マ
イクロプログラムメモリが備えていなければならない語
数が指数関数的に増加する。例えば、発生すべきアドレ
スの語長が10ビットの場合はマイクロプログラムメモリ
201は1024語しか必要としないのに対して、16ビットに
なると65536語が必要になる。マイクロプログラムメモ
リ201は極めて高速であることが要求されるので、この
ように大容量のものを準備するには、費用、発熱、実
装、更に高速メモリチップの入手等、多くの問題があ
る。However, such a conventional sequencer has a problem that the capacity of the microprogram needs to be considerably increased. For example, when this sequencer is used as an address generator as described above, if an attempt is made to generate an address sequence for a large-capacity memory, the word length of the address that must be generated becomes longer and the microprogram memory is provided. The number of words that must be exponentially increases. For example, if the word length of the address to be generated is 10 bits,
201 requires only 1024 words, whereas 16 bits requires 65536 words. Since the microprogram memory 201 is required to be extremely high-speed, preparing such a large-capacity memory has many problems such as cost, heat generation, mounting, and acquisition of a high-speed memory chip.
マイクロプログラムメモリの必要量を減らすため、シ
ーケンサの発生するアドレスのうちの下位nビットはマ
イクロプログラムメモリに与えず、上位部分だけでマイ
クロプログラムメモリへのアクセスをコントールする方
法も考えられる。しかし、このような制御を行うと、発
生するアドレスを2n未満の細かな単位で操作するのが困
難になるなど、自由度が損なわれる。従って、このよう
な制御は限られた局面でしか採用できない。In order to reduce the required amount of the microprogram memory, a method in which the lower n bits of the address generated by the sequencer are not given to the microprogram memory, but only the upper part controls access to the microprogram memory can be considered. However, when such control is performed, the degree of freedom is impaired, for example, it becomes difficult to operate generated addresses in small units of less than 2 n . Therefore, such control can be adopted only in a limited situation.
また、アドレスジェネレータ等における通常の用途で
は、必要とされるアドレス系列は完全にランダムではな
く、例えば1000番地から1128番地までのアドレスの系列
を100回繰り返してから次へ進むというように、ほとん
どの場合は連続した系列、すなわち今回発生すべきアド
レスは前回のものをインクリメントしたもの、となって
いる。ジャップ、コール等のフローの変更が入る割合は
比較的少ない。連続部分に対応するマイクロ命令は、実
質的な動作は何もしないという所謂NOP命令になる。従
って、マイクロプログラムメモリの大部分はNOP命令で
埋め尽くされ、利用効率が極めて悪くなる。Also, in a normal application such as an address generator, the required address sequence is not completely random, and for example, the sequence of addresses from address 1000 to address 1128 is repeated 100 times before proceeding to the next. In this case, a continuous series, that is, an address to be generated this time is an increment of the previous address. The proportion of changes in flow such as japs and calls is relatively small. The microinstruction corresponding to the continuous part is a so-called NOP instruction that does not perform any substantial operation. Therefore, most of the microprogram memory is filled with NOP instructions, and the utilization efficiency becomes extremely poor.
本発明の目的は、上述した従来技術の問題点を解消
し、シーケンス制御の自由度に制限を加えることなくマ
イクロプログラムメモリの容量を減少することにある。SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-mentioned problems of the prior art and to reduce the capacity of a microprogram memory without limiting the degree of freedom of sequence control.
本発明の一実施例によれば、通常発生すべきシーケン
スに関する上述の性質を利用してマイクロプログラムメ
モリの容量を削減するシーケンサが与えられる。すなわ
ち、系列中の連続的な部分はカウンタのインクリメント
で発生させ、ジャンプ、コールの起こる、あるいは起こ
る可能性のある部分だけマイクロプログラム制御を行
う。これにより、従来のNOP命令の系列をマイクロプロ
グラムから除去できるので、マイクロプログラムメモリ
の容量を大幅に削減できる。According to one embodiment of the present invention, there is provided a sequencer that reduces the size of the microprogram memory using the above-described properties of the sequence to be normally generated. That is, a continuous portion in the sequence is generated by incrementing the counter, and microprogram control is performed only for a portion where a jump, a call occurs, or may occur. As a result, the conventional series of NOP instructions can be removed from the microprogram, so that the capacity of the microprogram memory can be significantly reduced.
第1図に本発明の一実施例に基づいて構成されたシー
ケンサのブロック図を示す。FIG. 1 shows a block diagram of a sequencer configured based on one embodiment of the present invention.
同図において、マイクロ命令の実行により、次回のマ
イクロ命令アドレスがマイクロプログラムメモリ101に
与えられる。これにより読み出されたマイクロ命令が、
シーケンス制御部103のIin端子に与えられる。マイクロ
プログラムメモリ101からはこれと同時に、連続して発
生すべきアドレス系列の先頭のものおよび最後のものが
読み出され、夫々カウンタ105およびレジスタ107に適当
なタイミング信号に従ってラッチされる。カウンタ105
にラッチされた先頭アドレスは適当なクロックに従って
バッファ111にラッチされ、これにより外部に出力され
る。In the figure, the execution of the microinstruction gives the next microinstruction address to the microprogram memory 101. The microinstruction read out by this is
This is supplied to the Iin terminal of the sequence control unit 103. At the same time, the first and last address series to be continuously generated are read from the microprogram memory 101 and latched by the counter 105 and the register 107, respectively, according to appropriate timing signals. Counter 105
Is latched in the buffer 111 in accordance with an appropriate clock, and is output to the outside.
カウンタ105にラッチされた先頭アドレスはクロック
Aによってインクリメントされ、そのインクリメント結
果がバッファ111にラッチされ出力される。これと並行
して、カウンタ105の出力はレジスタ107にラッチされて
いる最終アドレスと比較器109で比較される。ここで一
致が検出されると、その一致検出信号がANDゲート113を
開き、ディレイ115で所要の遅延を与えられたクロック
Aをシーケンス制御部103のクロック入力CLKに送る。こ
れにより、シーケンス制御部103は以前に読み出してお
いてあるマイクロ命令を実行する。この実行によって、
また次に実行されるべきマイクロ命令が読み出されシー
ケンス制御部103に与えられると同時に、カウンタ105お
よびレジスタ107にはマイクロプログラムメモリ101から
読み出された新たな値がラッチされ、すでに説明した動
作が繰り返される。この新たな値は、前回とは異なる連
続したアドレス系列の先頭アドレスおよび最終アドレス
であってよい。あるいは前回と同じアドレス系列を再度
生成するため、前回と同じ先頭アドレスおよび最終アド
レスであってもよい。更に、連続したアドレス系列では
なく、ランダムな系列を発生する必要がある際には、先
頭アドレスと最終アドレスを同じアドレスにすればよ
い。The head address latched by the counter 105 is incremented by the clock A, and the increment result is latched by the buffer 111 and output. In parallel with this, the output of the counter 105 is compared with the final address latched in the register 107 by the comparator 109. Here, when a match is detected, the match detection signal opens the AND gate 113, and sends the clock A delayed by the delay 115 to the clock input CLK of the sequence control unit 103. As a result, the sequence control unit 103 executes the previously read microinstruction. By this execution,
At the same time that the microinstruction to be executed next is read and given to the sequence control unit 103, a new value read from the microprogram memory 101 is latched in the counter 105 and the register 107. Is repeated. The new value may be a start address and an end address of a continuous address series different from the previous value. Alternatively, in order to regenerate the same address series as the previous time, the same start address and last address as the previous time may be used. Further, when it is necessary to generate a random sequence instead of a continuous address sequence, the start address and the end address may be the same address.
なお、言うまでもないことではあるが、本発明は上述
した実施例に限定されるものではなく、広範な修正を施
した実現形態をも包含するものである。Needless to say, the present invention is not limited to the above-described embodiment, but also includes an embodiment with extensive modifications.
そのような他の例の極く一部を挙げれば、上述の実施
例で先頭アドレスとともに最終アドレスを与えていた代
わりに、連続して発生すべき系列の長さを与えるように
してもよい。To give just a part of such another example, instead of giving the end address together with the start address in the above-described embodiment, the length of a sequence to be generated continuously may be given.
また、上述の実施例では、シーケンス制御部103はAND
ゲート113からのクロックBの到着を待ってマイクロ命
令を実行し、この実行結果により次回の先頭アドレスお
よび最終アドレスをマイクロプログラムメモリ101から
読み出していた。マイクロプログラム制御装置の外部の
事象による条件分岐等がない場合には、その代わりにマ
イクロ命令を1回分先回りして実行し、その結果を中間
バッファに保持しておくことにより、この装置のサイク
ルタイム(つまりバッファ111を介して出力されるアド
レスの更新の周期)を短くすることもできる。Further, in the above-described embodiment, the sequence control unit 103
The microinstruction was executed after the arrival of the clock B from the gate 113, and the next start address and the last address were read from the microprogram memory 101 based on the execution result. If there is no conditional branch or the like due to an event external to the microprogram control device, the microinstruction is executed one step ahead and executed instead, and the result is stored in the intermediate buffer. (That is, the cycle of updating the address output via the buffer 111) can be shortened.
つまりマイクロプログラムメモリ101の出力を一時的
に保持する中間バッファを置き、そこに次回の先頭アド
レスと最終アドレス、更にその次に実行すべきマイクロ
命令を置く。これにより、比較回路109により、連続し
たアドレス系列の最後に到達したことが検出されると、
上述の実施例よりも短い時間で次のアドレス系列の発生
のために必要なデータをカウンタ105およびレジスタ107
に設定することができる。また、中間バッファに置かれ
ていたマイクロ命令も同じタイミングで実行され、次に
必要なデータを中間バッファに設定する。That is, an intermediate buffer for temporarily holding the output of the microprogram memory 101 is placed, and the next start address and last address, and the next microinstruction to be executed are placed there. Thus, when the comparison circuit 109 detects that the end of the continuous address sequence has been reached,
The data necessary for the generation of the next address sequence in a shorter time than in the above-described embodiment is stored in the counter 105 and the register 107.
Can be set to Also, the microinstruction placed in the intermediate buffer is executed at the same timing, and the next necessary data is set in the intermediate buffer.
また、本発明のシーケンサはアドレス系列の発生に限
定されるものではなく、いかなる用途であれ、先に述べ
たような性質を有するデータの系列の発生に使用でき
る。Further, the sequencer of the present invention is not limited to the generation of an address sequence, but can be used for generating a sequence of data having the above-described properties in any application.
以上詳細に説明したように、本発明によれば必要とさ
れるマイクロプログラムメモリの容量を大幅に低減でき
るので、動作の高速化のためマイクロプログラムメモリ
に高速の素子を採用することが容易かつ安価になるとい
う効果が得られる。As described in detail above, according to the present invention, the required capacity of the microprogram memory can be greatly reduced, so that it is easy and inexpensive to adopt a high-speed element in the microprogram memory for high-speed operation. Is obtained.
第1図は本発明の一実施例を示す図、第2図は従来技術
を説明するための図である。 101……マイクロプログラムメモリ 103……シーケンス制御部 105……カウンタ 107……レジスタ 109……比較器 111……バッファ 113……ANDゲート 115……ディレイFIG. 1 is a view showing an embodiment of the present invention, and FIG. 2 is a view for explaining a conventional technique. 101: Microprogram memory 103: Sequence control unit 105: Counter 107: Register 109: Comparator 111: Buffer 113: AND gate 115: Delay
Claims (3)
ータ系列を連続して発生することを特徴とするシーケン
サ、 (a)連続値をとるデータ系列の開始条件及び終了条件
を含むマイクロ命令を含むマイクロプログラムメモリ、 (b)前記マイクロプログラムメモリから前記マイクロ
命令を読み出し実行する機能と、第1の信号に対応して
前記機能を行なうシーケンス制御部、 (c)前記マイクロ命令の読み出しが行われる毎に、読
み出される前記マイクロ命令中の前記連続値開始条件を
格納しカウントしてデータ系列を出力するカウンタ、 (d)前記マイクロ命令中の前記連続値の終了条件を格
納するレジスタ、 (e)前記カウンタ出力と前記レジスタの内容とを比較
し、前記終了条件を満足したときに前記第1の信号を発
生し、前記シーケンス制御部へ送る比較器。1. A sequencer comprising the following (a) to (e) and continuously generating an arbitrary data sequence: (a) including a start condition and an end condition of a data sequence having continuous values A microprogram memory including a microinstruction; (b) a function of reading and executing the microinstruction from the microprogram memory; and a sequence control unit performing the function in response to a first signal. (C) reading of the microinstruction. A counter that stores and counts the continuous value start condition in the microinstruction to be read and outputs a data sequence each time the operation is performed; (d) a register that stores an end condition of the continuous value in the microinstruction; (E) comparing the counter output with the contents of the register, generating the first signal when the end condition is satisfied, Comparator sends to the Sequence controller.
始条件及び終了条件として、それぞれ、先頭データ及び
終了データを使うことを特徴とする請求項1に記載のシ
ーケンサ。2. The sequencer according to claim 1, wherein start data and end data are used as the start condition and the end condition included in the microprogram, respectively.
始条件及び終了条件として、それぞれ、先頭データ及び
連続して発生すべき系列の長さを使うことを特徴とする
請求項1に記載のシーケンサ。3. The sequencer according to claim 1, wherein, as the start condition and the end condition included in the microprogram, a head data and a length of a sequence to be continuously generated are used, respectively.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1110941A JP3045731B2 (en) | 1989-04-28 | 1989-04-28 | Sequence control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1110941A JP3045731B2 (en) | 1989-04-28 | 1989-04-28 | Sequence control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02287827A JPH02287827A (en) | 1990-11-27 |
JP3045731B2 true JP3045731B2 (en) | 2000-05-29 |
Family
ID=14548446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1110941A Expired - Fee Related JP3045731B2 (en) | 1989-04-28 | 1989-04-28 | Sequence control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3045731B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59100957A (en) * | 1982-11-30 | 1984-06-11 | Fujitsu Ltd | Loop control system |
JPS62219153A (en) * | 1986-03-20 | 1987-09-26 | Fujitsu Ltd | Dma controller |
JPS63200234A (en) * | 1987-02-17 | 1988-08-18 | Toshiba Corp | Data processor |
-
1989
- 1989-04-28 JP JP1110941A patent/JP3045731B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02287827A (en) | 1990-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6365963B2 (en) | ||
JPH0346850B2 (en) | ||
JPH03139726A (en) | Instruction readout control system | |
US4047245A (en) | Indirect memory addressing | |
JP2548428B2 (en) | Timing generator | |
US5526500A (en) | System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions | |
JP3045731B2 (en) | Sequence control method | |
KR900005306A (en) | Computer system and method for setting recovery time | |
JP2504974B2 (en) | Sequencer high-speed processing method | |
JP3251237B2 (en) | Reprogramming method in SDRAM | |
JP2673145B2 (en) | Computer-controlled pulse interval sequence generation method | |
JPH0626305B2 (en) | Double memory configuration pulse programmer | |
JP2721611B2 (en) | Programmable controller | |
JPS61253559A (en) | Microprocessor | |
KR900002602B1 (en) | Microprogram control method | |
JP2601055B2 (en) | Microprogram sequencer | |
JPH01269140A (en) | Memory extending circuit | |
JP2570271B2 (en) | Semiconductor memory controller | |
JPH07210456A (en) | Memory controller | |
JPH02245826A (en) | Instruction controller | |
JPH0131218B2 (en) | ||
JPS6346858B2 (en) | ||
JPH05197612A (en) | Data access circuit | |
JPH04209046A (en) | Memory access circuit | |
JPS61280194A (en) | Holding memory control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080317 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |