JPH03212733A - Memory command processor - Google Patents

Memory command processor

Info

Publication number
JPH03212733A
JPH03212733A JP887490A JP887490A JPH03212733A JP H03212733 A JPH03212733 A JP H03212733A JP 887490 A JP887490 A JP 887490A JP 887490 A JP887490 A JP 887490A JP H03212733 A JPH03212733 A JP H03212733A
Authority
JP
Japan
Prior art keywords
memory
latch
address
decoder
processing
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
Application number
JP887490A
Other languages
Japanese (ja)
Inventor
Hiroyuki Nakamura
広幸 中村
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.)
Toshiba Corp
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP887490A priority Critical patent/JPH03212733A/en
Publication of JPH03212733A publication Critical patent/JPH03212733A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は、メモリコマンド処理装置に関し、特に、マイ
クロプログラム実行時のメモリコマンド処理に用いて好
適なメモリコマンド処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a memory command processing device, and particularly to a memory command processing device suitable for use in memory command processing during execution of a microprogram.

(従来の技術) 従来、マイクロプログラム(ファームウェア)によって
メモリのリード/ライト処理を行なう場合、目的とする
データのり−ド/ライトはメモリコマンドを指定した次
のタイミングで実行される。
(Prior Art) Conventionally, when a microprogram (firmware) performs memory read/write processing, the intended data write/write is executed at the next timing when a memory command is specified.

第3図は、マイクロプログラムによるメモリアクセスの
ためのマイクロアドレスの処理フローの従来の一例を示
す。この図においては、特にメモリのリードの場合を例
示している。
FIG. 3 shows an example of a conventional microaddress processing flow for memory access by a microprogram. In this figure, the case of reading memory is particularly illustrated.

今、処理すでメモリリード命令を出すと、このタイミン
グで、アドレス計算、アドレス関係のレジスタのセット
を行ないなからメモリのアクセスが行なわれる。そして
、次のタイミングの処理Cでは、前のステップでアクセ
スしたメモリデータが送られ、外部バッファにラッチさ
れる。つまり、メモリリード命令の指定された次のタイ
ミングでメモリデータを読み出すことができる。同様の
ことが、処理eと処理fの関係でも成立する。よって、
処理eてメモリリード命令が出された場合、次のタイミ
ングの処理fで実際にメモリデータが得られる。
Now, when a memory read command is issued after processing, the memory is accessed at this timing without performing address calculation or setting of address-related registers. Then, in process C at the next timing, the memory data accessed in the previous step is sent and latched into an external buffer. In other words, memory data can be read at the next timing specified by the memory read command. The same thing holds true for the relationship between process e and process f. Therefore,
When a memory read command is issued after processing e, memory data is actually obtained at the next timing of processing f.

(発明が解決しようとする課題) 従来の処理方式では、メモリコマンドか頻繁に使用され
るようなソフトウェア命令においては、メモリアドレス
の指定とデータの読み出しという手順の処理ステップが
必要となり、多くの処理時間を必要とするばかりでなく
、CPUの処理性能を劣化させる原因となっていた。
(Problem to be Solved by the Invention) In conventional processing methods, memory commands or frequently used software instructions require processing steps such as specifying a memory address and reading data, resulting in a large number of processing steps. This not only takes time, but also causes deterioration in the processing performance of the CPU.

本発明は、上記に鑑みてなされたもので、その目的は、
メモリコマンドを先行処理することによって、マイクロ
プログラム実行時のメモリコマンドの処理時間を短縮可
能としたメモリコマンド処理装置を提供することにある
The present invention has been made in view of the above, and its purpose is to:
An object of the present invention is to provide a memory command processing device that can shorten the processing time of memory commands when executing a microprogram by processing memory commands in advance.

〔発明の構成〕[Structure of the invention]

(課題を解決するための手段) 本発明のメモリコマンド処理装置は、マイクロプログラ
ムのメモリコマンドを除く部分を格納する第1のメモリ
と、マイクロプログラムのメモリコマンドを格納する第
2のメモリと、前記第1のメモリに現在実行中のマイク
ロアドレスnを与えるとともに、前記第2のメモリに次
に実行すべきマイクロアドレスn+1を与えるシーケン
サと、前記第1のメモリの出力命令コードを保持、解読
して制御演算部に与える第1のラッチ/デコーダと、前
記第2のメモリの出力命令コードを保持、解読する第2
のラッチ/デコーダと、前記第2のラッチ/デコーダの
出力からメモリのアドレスを演算してラッチするアドレ
ス演算/ラッチと、第2のラッチ/デコーダの出力及び
前記アドレス演算/ラッチの出力に基づいて、メモリコ
マンドを先行処理するメモリ制御手段と、を備えるもの
として構成される。
(Means for Solving the Problems) A memory command processing device of the present invention includes: a first memory that stores a portion of a microprogram other than memory commands; a second memory that stores a memory command of the microprogram; a sequencer that provides a microaddress n currently being executed to a first memory and a microaddress n+1 to be executed next to the second memory; and a sequencer that holds and decodes an output instruction code of the first memory. a first latch/decoder that supplies the control operation unit; and a second latch/decoder that holds and decodes the output instruction code of the second memory.
a latch/decoder, an address calculation/latch that calculates and latches a memory address from the output of the second latch/decoder, and an address calculation/latch that calculates and latches a memory address based on the output of the second latch/decoder and the output of the address calculation/latch. , and memory control means for pre-processing memory commands.

(作 用) シーケンサより第1のメモリに現在実行中のマイクロア
ドレスnを与えるとともに、第2のメモリに次に実行す
べきマイクロアドレスn+1を与える。前記第1のメモ
リよりマイクロプログラムのメモリコマンドを除く部分
を第1のラッチ/デコーダ手段に与え、この出力命令コ
ードを保持、解読させて制御演算部に与えることにより
現在の処理を実行させる。これと並行して、第2のメモ
リよりマイクロプログラムのメモリコマンドを第2のラ
ッチ/デコーダに与える。これにより、この出力命令コ
ードを保持、解読させ、この解読結果をアドレス演算/
ラッチに与え、メモリのアドレスを演算してラッチさせ
る。更に、第2のラッチ/デコーダとアドレス演算/ラ
ッチの各出力をメモリ制御手段に与えることにより、メ
モリコマンドを先行処理させている。
(Function) The sequencer gives the microaddress n currently being executed to the first memory, and gives the microaddress n+1 to be executed next to the second memory. The portion of the first memory excluding the memory command of the microprogram is given to the first latch/decoder means, and this output instruction code is held, decoded, and given to the control calculation unit to execute the current process. In parallel with this, a microprogram memory command is provided from the second memory to the second latch/decoder. As a result, this output instruction code is held and decoded, and the decoding result is used for address operation/
It is given to the latch, and the memory address is calculated and latched. Furthermore, the memory commands are processed in advance by providing the outputs of the second latch/decoder and address calculation/latch to the memory control means.

(実施例) 以下、図面を参照しながら本発明の詳細な説明する。(Example) Hereinafter, the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例に係るメモリコマンド処理
装置のブロック図である。この第1図において、メモリ
1はROMまたはRAMで構成されており、ファームウ
ェア(マイクロインストラクション)が格納される。ラ
ッチ2はメモリ1に接続され、現在実行中のマイクロイ
ンストラクションをラッチする。命令デコーダ3は、ラ
ッチ2にラッチされたマイクロインストラクションを解
読し、演算制御部11に命令を伝え、必要な処理を行な
わせる。
FIG. 1 is a block diagram of a memory command processing device according to an embodiment of the present invention. In FIG. 1, memory 1 is composed of ROM or RAM, and stores firmware (microinstructions). Latch 2 is connected to memory 1 and latches the currently executing microinstruction. The instruction decoder 3 decodes the microinstruction latched by the latch 2, transmits the instruction to the arithmetic control unit 11, and causes it to perform necessary processing.

メモリ4は、ROMまたはRAMで構成されており、メ
モリコマンドのみのファームウェアが格納されている。
The memory 4 is composed of ROM or RAM, and stores firmware containing only memory commands.

ラッチ5はメモリ4に接続され、次に実行すべきメモリ
コマンドのマイクロインストラクションをラッチする。
The latch 5 is connected to the memory 4 and latches the microinstruction of the memory command to be executed next.

命令デコーダ6は、ラッチ5にラッチされたマイクロイ
ンストラクションを解読し、次に実行すべきメモリコマ
ンドのマイクロインストラクションに基づく命令をアド
レス演算部7並びにメモリ制御部10に送出する。
The instruction decoder 6 decodes the microinstruction latched by the latch 5 and sends an instruction based on the microinstruction of the memory command to be executed next to the address calculation unit 7 and the memory control unit 10.

アドレス演算部7は、命令デコーダ6の命令に従ってメ
モリのアドレス計算を実行する。ラッチ8はアドレス演
算部7て得られたアドレスを一時ラッチする。シーケン
サ9は、現在実行中のマイクロアドレスと、次に実行す
べきマイクロアドレス(現在実行中のマイクロアドレス
+1)をメモリ1並びにメモリ4に出力して制御する。
The address calculation unit 7 executes memory address calculation according to instructions from the instruction decoder 6. The latch 8 temporarily latches the address obtained by the address calculation section 7. The sequencer 9 outputs the microaddress currently being executed and the microaddress to be executed next (the microaddress currently being executed+1) to the memories 1 and 4 for control.

以上のような構成において、次にその動作を第2図の処
理フローの一例に従って説明する。
Next, the operation of the above configuration will be explained according to an example of the processing flow shown in FIG.

シーケンサ9が、処理Aのマイクロアドレスをメモリ1
に出力するとする。これにより、メモリ1は、与えられ
たマイクロアドレスに従って命令コードをラッチ2に出
力し、保持させる。命令デコーダ3は、ラッチ2にラッ
チされた命令コードを解読し、命令を演算制御部11に
伝え、制御を実行させる。以上の動作と並行して、シー
ケンサ9は、メモリ4に、現在実行中のマイクロアドレ
スn(メモリ1に与えらたマイクロアドレス)よりも1
つだけ先行するマイクロアドレスn+1を出力する。こ
のマイクロアドレスn+1は、処理Bに対応するもので
ある。メモリ4は、与えられたマイクロアドレスn+1
に従った命令コード(メモリ関係命令のみ)をラッチ5
に出力、保持させる。命令デコーダ6は、ラッチ5にラ
ッチされたメモリ関係の命令コードを解読し、命令をア
ドレス演算部7及びメモリ制御部10に伝え、制御させ
ている。アドレス演算部7は、与えられたメモリ関係の
命令に従って、メモリのアドレス計算を行ない、ラッチ
8に結果を保持させ、メモリ制御部10に転送させる。
Sequencer 9 stores the micro address of process A in memory 1.
Suppose we want to output to . Thereby, the memory 1 outputs the instruction code to the latch 2 according to the given microaddress, and causes the latch 2 to hold the instruction code. The instruction decoder 3 decodes the instruction code latched by the latch 2, transmits the instruction to the arithmetic control section 11, and causes it to execute control. In parallel with the above operations, the sequencer 9 writes a message in the memory 4 that is 1 higher than the currently executing micro address n (the micro address given to the memory 1).
Outputs the microaddress n+1 which is the one preceding. This microaddress n+1 corresponds to process B. Memory 4 stores the given micro address n+1
Latch the instruction code (memory related instructions only) according to 5
Output and hold. The instruction decoder 6 decodes the memory-related instruction code latched by the latch 5, and transmits the instruction to the address calculation section 7 and the memory control section 10 for control. The address calculation unit 7 calculates a memory address in accordance with the supplied memory-related command, causes the latch 8 to hold the result, and transfers the result to the memory control unit 10.

このように、現在実行するべき命令に対応する処理Aの
実行処理に関しては、メモリ1、ラッチ2及び命令デコ
ーダ3から演算制御部11に至る系で実行させておく。
In this way, the execution process of process A corresponding to the instruction to be executed currently is executed in the system from the memory 1, latch 2, and instruction decoder 3 to the arithmetic control unit 11.

これに対し、次に実行するべき命令に対応する処理Bの
中のメモリ関係の命令に関しては、メモリ4、ラッチ5
、命令デコーダ6、アドレス演算部7、ラッチ8からメ
モリ制御部10に至る系で先行処理しておく。その結果
、処理が進んで処理Bに入ったときは、既にメモリ関係
の処理は先行処理で終了しているので、直ちにメモリデ
ータを得ることができる。
On the other hand, regarding memory-related instructions in process B that correspond to the next instruction to be executed, memory 4, latch 5
, the instruction decoder 6, the address calculation unit 7, the latch 8, and the memory control unit 10 perform advance processing. As a result, when the process progresses and enters process B, memory-related processes have already been completed in the preceding process, so memory data can be obtained immediately.

以上のような先行処理を、順次続く処理、例えば、処理
Cと処理りの間ても実行させる。これにより、メモリ関
係の処理に関しては常に先行処理が行なわれることにな
る。これにより、メモリコマンドが多くても、処理時間
をかけすに処理することができる。
The preceding processing as described above is also executed between successive processing, for example, processing C and processing. As a result, advance processing is always performed regarding memory-related processing. As a result, even if there are many memory commands, it is possible to process them in a timely manner.

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

以上述べたように本発明によれば、メモリコマンドを先
行処理させるようにしたので、実質的なメモリコマンド
処理時間を大幅に低減することができ、これにより、メ
モリコマンドが頻繁に利用されるようなソフトウェア命
令に対しても高速処理が可能となり、CPUの処理性能
を大幅に向上させるこaができる。
As described above, according to the present invention, since memory commands are processed in advance, the actual memory command processing time can be significantly reduced, and this allows memory commands to be used frequently. This makes it possible to process even simple software instructions at high speed, making it possible to significantly improve the processing performance of the CPU.

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

第1図は本発明の一実施例に係るメモリコマンド処理装
置のブロック図、第2図は第1図の構成の動作を説明す
るためのマイクロアドレスによる処理フローの一例を示
す説明図、第3図はマイクロアドレスによる従来の処理
フローの一例を示す説明図である。 1.4・・・メモリ、2,5.8・・・ラッチ、3.6
・・・命令デコーダ、7・・・アドレス演算部、9・・
・シーケンサ、10・・・メモリ制御部、11・・・演
算制御部。
FIG. 1 is a block diagram of a memory command processing device according to an embodiment of the present invention, FIG. 2 is an explanatory diagram showing an example of a processing flow using a microaddress to explain the operation of the configuration of FIG. 1, and FIG. The figure is an explanatory diagram showing an example of a conventional processing flow using microaddresses. 1.4...Memory, 2,5.8...Latch, 3.6
...Instruction decoder, 7...Address calculation section, 9...
- Sequencer, 10... memory control section, 11... arithmetic control section.

Claims (1)

【特許請求の範囲】 マイクロプログラムのメモリコマンドを除く部分を格納
する第1のメモリと、 マイクロプログラムのメモリコマンドを格納する第2の
メモリと、 前記第1のメモリに現在実行中のマイクロアドレスnを
与えるとともに、前記第2のメモリに次に実行すべきマ
イクロアドレスn+1を与えるシーケンサと、 前記第1のメモリの出力命令コードを保持、解読して制
御演算部に与える第1のラッチ/デコーダと、 前記第2のメモリの出力命令コードを保持、解読する第
2のラッチ/デコーダと、 前記第2のラッチ/デコーダの出力からメモリのアドレ
スを演算してラッチするアドレス演算/ラッチと、 第2のラッチ/デコーダの出力及び前記アドレス演算/
ラッチの出力に基づいて、メモリコマンドを先行処理す
るメモリ制御手段と、 を備えることを特徴とするメモリコマンド処理装置。
[Scope of Claims] A first memory that stores a portion of a microprogram other than memory commands; a second memory that stores memory commands of the microprogram; and a microaddress n currently being executed in the first memory. and a sequencer that gives a micro address n+1 to be executed next to the second memory; a first latch/decoder that holds and decodes an output instruction code of the first memory and provides it to a control calculation section; , a second latch/decoder that holds and decodes an output instruction code of the second memory; an address calculation/latch that calculates and latches a memory address from the output of the second latch/decoder; The output of the latch/decoder and the address operation/
A memory command processing device comprising: memory control means for pre-processing a memory command based on an output of a latch.
JP887490A 1990-01-18 1990-01-18 Memory command processor Pending JPH03212733A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP887490A JPH03212733A (en) 1990-01-18 1990-01-18 Memory command processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP887490A JPH03212733A (en) 1990-01-18 1990-01-18 Memory command processor

Publications (1)

Publication Number Publication Date
JPH03212733A true JPH03212733A (en) 1991-09-18

Family

ID=11704832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP887490A Pending JPH03212733A (en) 1990-01-18 1990-01-18 Memory command processor

Country Status (1)

Country Link
JP (1) JPH03212733A (en)

Similar Documents

Publication Publication Date Title
JPS62197830A (en) Data processing system
JPH06103507B2 (en) Pulse input / output processor and microcomputer using the same
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
WO1986004700A1 (en) Microprogrammable devices using transparent latch
JPH03212733A (en) Memory command processor
JPH0581070A (en) Programmable controller and user program execution method in programmable controller
JPH03271829A (en) Information processor
JP2758624B2 (en) Speed control method of micro program
JP2583506B2 (en) Data processing device
JPH04288625A (en) microcomputer
JPH06324861A (en) System and method for controlling cpu
JP2544533B2 (en) Programmable controller sequence instruction processor
JPH03164945A (en) data processing equipment
JPS62174832A (en) Information processor
JPS63280333A (en) microprogram controller
JPS59218567A (en) Address overlap checking system
JPS63228332A (en) Control system for executing instruction
JPH0561660B2 (en)
JPH05250156A (en) RISC processor
JPS6028014B2 (en) microprocessor
JPS5952348A (en) Microprogram controller
JPH0424731B2 (en)
JPH05100901A (en) Microcomputer
JPH03154929A (en) Central processing unit
JPH01223565A (en) Information processor