JPS6230452B2 - - Google Patents

Info

Publication number
JPS6230452B2
JPS6230452B2 JP54107014A JP10701479A JPS6230452B2 JP S6230452 B2 JPS6230452 B2 JP S6230452B2 JP 54107014 A JP54107014 A JP 54107014A JP 10701479 A JP10701479 A JP 10701479A JP S6230452 B2 JPS6230452 B2 JP S6230452B2
Authority
JP
Japan
Prior art keywords
address
memory
output
instruction
addresses
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
Application number
JP54107014A
Other languages
Japanese (ja)
Other versions
JPS5631141A (en
Inventor
Hideyo Kanayama
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP10701479A priority Critical patent/JPS5631141A/en
Publication of JPS5631141A publication Critical patent/JPS5631141A/en
Publication of JPS6230452B2 publication Critical patent/JPS6230452B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】 この発明はマイクロ・プログラムによつて制御
される情報処理装置に関し、特に待ち時間の制御
方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing device controlled by a microprogram, and particularly to a waiting time control method.

近年1個のシリコン基板上に記憶装置を内蔵し
たマイクロ・プロセツサが出現し、いろいろな用
途に使用されるようになつた。このようないわゆ
るワンチツプ・マイクロ・プロセツサにおいて
は、出力端子をキースイツチ等を介して入力端子
に導入する場合、出力端子の負荷によるスイツチ
ングスピードを考慮し、出力端子に出力信号を導
出してから適当な時間経過後に入力端子から入力
信号をマイクロ・プロセツサに導入する必要があ
る。あるいは、出力端子を使用して機械的装置等
の動作速度の遅い装置を駆動する場合、その動作
速度に見合つた時間、出力信号を導出する必要が
ある。このため、従来のマイクロ・プロセツサに
おいては、ノー・オペレーシヨン命令(以下
NOP命令と略す)を適当な数だけ実行したり、
タイマカウンタを使用し時間制御を行う方式が知
られている。しかしながらこのような方式におい
ては、プログラム・メモリーの増大を招いたり、
タイマ・カウンタが必要となり、ハードウエアが
増大し、これを大規模集積回路(以下LSIと略
す)に適用した場合チツプ面積の増大を招くとい
う欠点があつた。
In recent years, microprocessors with a built-in memory device on a single silicon substrate have appeared, and have come to be used for a variety of purposes. In such a so-called one-chip microprocessor, when introducing the output terminal to the input terminal via a key switch, etc., the switching speed due to the load on the output terminal is taken into consideration, and the output signal is derived from the output terminal and then the appropriate It is necessary to introduce the input signal to the microprocessor from the input terminal after a certain period of time has elapsed. Alternatively, when using the output terminal to drive a device with a slow operating speed, such as a mechanical device, it is necessary to derive the output signal for a time commensurate with the operating speed. For this reason, in conventional microprocessors, no-operation instructions (hereinafter referred to as
Execute an appropriate number of NOP instructions (abbreviated as NOP instructions),
A method of controlling time using a timer counter is known. However, such a method may result in an increase in program memory or
It required a timer/counter, which increased the hardware, and when it was applied to a large-scale integrated circuit (hereinafter referred to as LSI), it had the disadvantage of increasing the chip area.

この発明の目的は、前述の欠点を除去し、プロ
グラム・メモリの増大や、タイマ・カウンタを使
用することなく、時間制御を行うことが可能で安
価な情報処理装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to eliminate the above-mentioned drawbacks and to provide an inexpensive information processing device that can perform time control without increasing program memory or using a timer/counter.

従来の情報処理装置を示した第1図において、
10はマイクロ・プログラムを格納するリード・
オンリー・メモリ(以下ROMと略す)であり、
N個のアドレス空間を有する。11はROM10
のアドレスを指定するプログラム・カウンタであ
り、12はプログラム・カウンタ11を退避する
スタツク・レジスタで、プログラム・カウンタ1
1およびスタツクレジスタ12はnビツトの出力
情報を有し、2n個のアドレスを指定できる。1
3はプログラム・カウンタ11の出力を受けて
ROM10のアドレス選択信号に変換するアドレ
ス・デコーダで、14はROM10の出力を受け
て各種の演算処理、制御信号の発生等を行う制御
装置(以下CPUと略す)である。15はCPU1
4に制御され、時間の制御を行うタイマ・カウン
タである。I11およびO10はそれぞれ入力端
子、出力端子であり、16は情報処理装置の外部
に付加したスイツチである。今、出力端子O10
に出力信号を導出し、スイツチ16を介して入力
端子I11から入力信号を導入する場合、出力端
子O10の負荷容量等によるスツチング時間の遅
れを考慮し、出力命令実行後、適当な時間経過後
に入力命令を実行する必要がある。第2図aは前
述の処理手順を示すフローチヤートであり、出力
命令実行後、NOP命令の実行により待ち時間を
挿入し、入力命令実行している。ここでNOP命
令実行時間をto、実行回数をm1とすると待ち時
間twは tw=to×m1 となるが、待ち時間twが大きくNOP命令実行時
間が小さいと単位時間あたりの実行回数m1が増
大し、ROMの使用効率が非常に悪くなり、ROM
容量の増大を招く。このためタイマ・カウンタを
設けて待ち時間の制御を行う方法がある。第2図
bにそのフローチヤートを示す。この場合タイマ
カウンタのカウント回数を適当に設定すれば
ROMの使用効率はあまり悪くならないが、タイ
マーカウンタが必要となり、ハードウエアの増大
を招く。このため、LSIに適用した場合ROM容量
の増大や、その他のハードウエアの増大を招き
LSIの原価低減に支障をきたすという欠点があつ
た。
In FIG. 1 showing a conventional information processing device,
10 is a lead that stores the micro program.
Only memory (hereinafter abbreviated as ROM)
It has N address spaces. 11 is ROM10
12 is a stack register that saves program counter 11;
1 and stack register 12 have n bits of output information and can specify 2 n addresses. 1
3 receives the output of the program counter 11
An address decoder converts it into an address selection signal for the ROM 10, and 14 is a control device (hereinafter abbreviated as CPU) that receives the output of the ROM 10 and performs various arithmetic processing, generation of control signals, etc. 15 is CPU1
This is a timer/counter that controls time. I11 and O10 are an input terminal and an output terminal, respectively, and 16 is a switch added to the outside of the information processing device. Now output terminal O10
When the output signal is derived from the input terminal I11 via the switch 16, the input signal is input after an appropriate time has elapsed after the execution of the output command, taking into consideration the delay in switching time due to the load capacitance of the output terminal O10, etc. instructions need to be executed. FIG. 2a is a flowchart showing the above-mentioned processing procedure. After the output command is executed, a waiting time is inserted by executing the NOP command, and then the input command is executed. Here, if the NOP instruction execution time is t o and the number of executions is m 1 , the waiting time tw is t w = t o × m 1 , but if the waiting time tw is large and the NOP instruction execution time is small, the The number of executions m 1 increases, ROM usage becomes very inefficient, and ROM
This results in an increase in capacity. For this reason, there is a method of controlling the waiting time by providing a timer/counter. The flowchart is shown in FIG. 2b. In this case, if you set the timer counter's count number appropriately,
Although the efficiency of ROM usage does not deteriorate so much, a timer counter is required, resulting in an increase in hardware. Therefore, when applied to LSI, it will lead to an increase in ROM capacity and other hardware.
The drawback was that it hindered LSI cost reduction.

本発明は、N個の番地が割り当てられたメモリ
と、このメモリに接続され、前記N個よりも大き
なM個の番地まで計数可能なアドレス発生回路と
を有し、所定の命令実行後次の命令の実行までに
待ち時間が必要な処理を実行する情報処理装置に
おいて、前記所定の命令実行後前記メモリに割当
てられていない番地を前記アドレス発生回路に設
定し、当該番地から計数を開始して特定の番地に
達した時前記次の命令の実行を起動せしめ、前記
メモリに割当てられていない番地を計数している
間は前記メモリの出力を特定の命令コードに固定
することによつてこの間を前記待ち時間とするこ
とを特徴とするものである。
The present invention has a memory to which N addresses are allocated, and an address generation circuit connected to this memory and capable of counting up to M addresses larger than the N, and after executing a predetermined instruction, the next In an information processing device that executes a process that requires a waiting time before executing an instruction, an address that is not allocated to the memory after executing the predetermined instruction is set in the address generation circuit, and counting is started from the address. When a specific address is reached, the execution of the next instruction is started, and while the addresses not allocated in the memory are being counted, the output of the memory is fixed to a specific instruction code. The present invention is characterized in that the waiting time is the above-mentioned waiting time.

第3図はこの発明の一実施例であり、30は
ROMでN個(例えば1536個)のアドレスを有す
る。31はROM30のアドレスを指定するプロ
グラム・カウンタであり、32はプログラム・カ
ウンタ31を退避するスタツク・レジスタで、プ
ログラム・カウンタ31およびスタツク・レジス
タ32はそれぞれnビツトの出力情報を有し、2
n個のアドレスを指定できるが、これはROM30
が有するアドレスNよりも大きい(例えばn=11
で指定可能アドレスは2048)とする。33はアド
レスデコーダで34はCPUであり、35はサブ
ルーチンコール命令実行時出力され、プログラ
ム・カウンタ31の内容をスタツクレジスタ32
に退避するための制御信号である。36は、サブ
ルーチン・リターン命令実行時に出力されスタツ
クレジスタ32の内容をプログラムカウンタ31
に復元するための制御信号であり、37はプログ
ラムカウンタ31の内容が2047番地を指定した場
合出力される信号で、制御信号36とともに、
ORゲート38の入力信号となる。従つて信号3
7が出力された場合は、サブルーチンリターン命
令と同様な動作となる。第4図は、第3図ROM
30およびアドレスデコーダ33の詳細図であ
り、40はROM、43はアドレスデコーダで、
P1〜P11はプログラムカウンタからの出力信
号、R0〜RnはROM40の出力である。またa0
〜a1535およびa2047はアドレスデコーダ43の出力
で、47はインバータである。
FIG. 3 shows an embodiment of this invention, and 30 is
It has N addresses (for example, 1536) in ROM. 31 is a program counter that specifies the address of the ROM 30; 32 is a stack register that saves the program counter 31; the program counter 31 and the stack register 32 each have n bits of output information;
You can specify n addresses, but this is ROM30
is larger than the address N it has (for example, n=11
The address that can be specified is 2048). 33 is an address decoder, 34 is a CPU, and 35 is output when a subroutine call instruction is executed, and the contents of the program counter 31 are stored in the stack register 32.
This is a control signal for saving to. 36 is output when a subroutine return instruction is executed and stores the contents of the stack register 32 in the program counter 31.
37 is a signal that is output when the contents of the program counter 31 specify address 2047. Together with the control signal 36,
This becomes an input signal to the OR gate 38. Therefore signal 3
If 7 is output, the operation is similar to that of a subroutine return instruction. Figure 4 is Figure 3 ROM
30 and an address decoder 33, 40 is a ROM, 43 is an address decoder,
P1 to P11 are output signals from the program counter, and R0 to Rn are outputs from the ROM 40. Also a 0
~a 1535 and a 2047 are the outputs of the address decoder 43, and 47 is an inverter.

ここでプログラムカウンタの出力P1〜P11
が1536番地よりも大きな番地を指定した場合アド
レスデコーダ43の出力a0〜a1535の出力はすべて
非選択となり、ROM出力R0〜Rnはすべて−V
(論理0)となりNOP命令コード(通常すべて0
をNOPとする)と一致する。
Here, the program counter outputs P1 to P11
When specifying an address larger than address 1536, the outputs a0 to a1535 of the address decoder 43 are all unselected, and the ROM outputs R0 to Rn are all -V.
(logical 0) and NOP instruction code (normally all 0)
NOP).

今、第3図O30の出力端子を使用して、動作
速度の遅い機械的装置(図示せず)を駆動する場
合、動作速度に応じて、出力ON命令実行後、適
当な時間出力する必要がある。第5図は前述の処
理手順を示すフローチヤートであり、出力ON命
令実行後、サブルーチンコール命令により、プロ
グラムカウンタをプログラムメモリーの存在しな
いアドレス(1535番地よりも大きなアドレス)と
すると、RON出力はNOP命令が出力される。プ
ログラム・カウンタは順次カウントされNOP命
令を順次実行し、最大アドレス(2047番地)に達
する。前記最大アドレス(2047番地)において
は、サブルーチンリターン命令と同様な動作を行
うのでプログラム・カウンタは、サブルーチン・
コール命令実行アドレスの次のアドレス(出力
OFF命令実行アドレス)に復元され、出力OFF
命令を実行する。以上の説明で明らかなように、
出力時間は、プログラム・メモリに存在しない
1536番地から2047番地までのいずれのアドレスを
コールするかによつて最大512個のNOP命令実行
時間が得られる。また、それ以上の時間を得るた
めには、サブルーチン・コール命令を必要な回数
実行すればよい。第6図は本実施例のアドレス・
マツプであり、61はプログラム・メモリ領域で
あり、62はプログラム・メモリの存在しない領
域である。第7図はこの発明の他の実施例のアド
レス・マツプであり、71と73はプログラム・
メモリ領域であり、72はプログラム・メモリの
存在しない領域である。ここで、1280番地にサブ
ルーチンリターン命令をプログラムしておき、サ
ブルーチン・コール命令にて768番地から1279番
地までのアドレスをコールすれば、余分なハード
ウエアを必要とせず、前述の実施例と同様な効果
が得られる。
Now, when using the output terminal O30 in Figure 3 to drive a mechanical device (not shown) with a slow operating speed, it is necessary to output an appropriate amount of time after executing the output ON command depending on the operating speed. be. Figure 5 is a flowchart showing the above-mentioned processing procedure. After executing the output ON command, if the program counter is set to a non-existing address in the program memory (address larger than address 1535) by a subroutine call command, the RON output will be NOP. The command is output. The program counter counts sequentially, executes NOP instructions sequentially, and reaches the maximum address (address 2047). At the maximum address (address 2047), the program counter performs the same operation as a subroutine return instruction.
Address next to call instruction execution address (output
OFF instruction execution address) and output is OFF.
Execute commands. As is clear from the above explanation,
Output time does not exist in program memory
Depending on which address from address 1536 to address 2047 is called, up to 512 NOP instruction execution times can be obtained. Moreover, in order to obtain more time, it is sufficient to execute the subroutine call instruction as many times as necessary. Figure 6 shows the address and
61 is a program memory area, and 62 is an area where no program memory exists. FIG. 7 is an address map of another embodiment of this invention, and 71 and 73 are program addresses.
This is a memory area, and 72 is an area where no program memory exists. Here, if you program a subroutine return instruction at address 1280 and call addresses from 768 to 1279 with a subroutine call instruction, no extra hardware is required and the same process as in the previous embodiment can be performed. Effects can be obtained.

以上の説明で明らかなように、この発明によれ
ば、時間制御を行うために、プログラム・メモリ
を無駄に使用することなく、またタイマ・カウン
タ等の特別なカウンタも必要としないため、ハー
ドウエアの減少が可能となり、特にLSIには非常
に有効で汎用性の高い情報処理装置を提供するこ
とができる。
As is clear from the above explanation, according to the present invention, in order to perform time control, the program memory is not wasted and special counters such as timers and counters are not required. This makes it possible to provide an extremely effective and highly versatile information processing device, especially for LSI.

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

第1図は従来の情報処理装置を示すブロツク
図、第2図は、第1図を説明するためのフローチ
ヤート、第3図はこの発明の一実施例を示すブロ
ツク図、第4図は第3図の1部を説明するための
ブロツク図、第5図は第3図、第4図を説明する
ためのフローチヤート、第6図は、この発明の一
実施例のアドレスマツプ、第7図はこの発明の他
の実施例のアドレスマツプである。 10,30,40……プログラム・メモリ、1
1,31……プログラム・カウンタ、12,32
……スタツク・レジスタ、13,33,43……
アドレス・デコーダ、14,34……制御装置、
15……タイマ・カウンタ、16……スイツチ、
35,36……制御信号、37……最大アドレス
出力、38……ORゲート、47……インバー
タ、61,71,73……プログラムメモリ領
域、62,72……プログラムメモリに存在しな
い領域。
FIG. 1 is a block diagram showing a conventional information processing device, FIG. 2 is a flowchart for explaining FIG. 1, FIG. 3 is a block diagram showing an embodiment of the present invention, and FIG. 3 is a block diagram for explaining a part of FIG. 3, FIG. 5 is a flowchart for explaining FIGS. 3 and 4, FIG. 6 is an address map of an embodiment of the present invention, and FIG. is an address map of another embodiment of this invention. 10, 30, 40...program memory, 1
1, 31...Program counter, 12, 32
...Stack register, 13, 33, 43...
Address decoder, 14, 34...control device,
15...Timer counter, 16...Switch,
35, 36... Control signal, 37... Maximum address output, 38... OR gate, 47... Inverter, 61, 71, 73... Program memory area, 62, 72... Area that does not exist in the program memory.

Claims (1)

【特許請求の範囲】[Claims] 1 N個の番地が割り当てられたメモリと、この
メモリに接続され、前記N個よりも大きなM個の
番地まで計数可能なアドレス発生回路とを有し、
所定の命令実行後次の命令の実行までに待ち時間
が必要な処理を実行する情報処理装置において、
前記所定の命令実行後前記メモリに割当てられて
いない番地を前記アドレス発生回路に設定し、当
該番地から計数を開始して特定の番地に達した時
前記次の命令の実行を起動せしめ、前記メモリに
割当てられていない番地を計数している間は前記
メモリの出力を特定の命令コードに固定すること
によつてこの間を前記待ち時間とすることを特徴
とする情報処理装置。
1 comprises a memory to which N addresses are assigned, and an address generation circuit connected to this memory and capable of counting up to M addresses larger than the N,
In an information processing device that executes processing that requires waiting time after execution of a predetermined instruction until execution of the next instruction,
After the execution of the predetermined instruction, an address that is not allocated in the memory is set in the address generation circuit, and when counting starts from the address and reaches a specific address, execution of the next instruction is started, and the memory An information processing device characterized in that while counting addresses that are not allocated to the memory, the output of the memory is fixed to a specific instruction code, thereby making this time the waiting time.
JP10701479A 1979-08-22 1979-08-22 Information processor Granted JPS5631141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10701479A JPS5631141A (en) 1979-08-22 1979-08-22 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10701479A JPS5631141A (en) 1979-08-22 1979-08-22 Information processor

Publications (2)

Publication Number Publication Date
JPS5631141A JPS5631141A (en) 1981-03-28
JPS6230452B2 true JPS6230452B2 (en) 1987-07-02

Family

ID=14448309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10701479A Granted JPS5631141A (en) 1979-08-22 1979-08-22 Information processor

Country Status (1)

Country Link
JP (1) JPS5631141A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595354A (en) * 1982-06-30 1984-01-12 Fujitsu Ltd Data processing device
JPH01261727A (en) * 1988-04-12 1989-10-18 Rohm Co Ltd Microcomputer

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50114945A (en) * 1974-02-18 1975-09-09

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50114945A (en) * 1974-02-18 1975-09-09

Also Published As

Publication number Publication date
JPS5631141A (en) 1981-03-28

Similar Documents

Publication Publication Date Title
KR960035262A (en) Method and apparatus for selective control of interrupt wait in data processing system
US4095268A (en) System for stopping and restarting the operation of a data processor
JPH02156334A (en) Information processor
JPS6230452B2 (en)
JP2826309B2 (en) Information processing device
JPS6242301B2 (en)
JPH04280334A (en) One chip microcomputer
JPH0683986A (en) Single chip microcomputer
JPS6120139A (en) Interruption control system
JPS59144955A (en) Information processor
JPS61136115A (en) Basic clock generating circuit of microcomputer system
JPH04370832A (en) Processor circuit
JPS61166631A (en) Microprogram control processor
JP3239042B2 (en) Microcomputer
KR950004227B1 (en) Information processing system
SU1124316A1 (en) Microcomputer
JPS63104144A (en) High-speed context switching device
JPH036758A (en) Microprocessor
JPS62151936A (en) Cache circuit built in microprocessor
JPH08305564A (en) Microcomputer
JPS5942331B2 (en) Prosetsusasouchinoseigiohoshiki
JPS6231439A (en) Instruction reprocessing control system
JP2000039906A (en) Programmable controller
JPH06119169A (en) Microcomputer
JPS6349941A (en) Arithmetic processing unit