JPH024013B2 - - Google Patents
Info
- Publication number
- JPH024013B2 JPH024013B2 JP19812681A JP19812681A JPH024013B2 JP H024013 B2 JPH024013 B2 JP H024013B2 JP 19812681 A JP19812681 A JP 19812681A JP 19812681 A JP19812681 A JP 19812681A JP H024013 B2 JPH024013 B2 JP H024013B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- identification code
- program identification
- counter
- time
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】
本発明はプログラムシーケンス制御方式に関
し、詳しくは、複数の独立したプログラムを同一
の処理装置で時分割(タイムスライス)に動作さ
せる場合の該プログラムの実行順序を制御する方
式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a program sequence control method, and more particularly, to a method for controlling the execution order of a plurality of independent programs when the same processing device operates them in a time-sharing manner (time slice). It is related to.
複数の独立したプログラムを同一の処理装置の
制御下で時分割に動作させるという試みは、比較
的小型の低速の周辺装置群を制御したり、同時に
処理すべき並列のタスクが多数存在するような場
合には、有効な手段として取り入れられることが
多くなつてきている。これは、(i)独立なプログラ
ミングができるため、プログラム作成工数が比較
的小さくすることができる。(ii)プログラム等が共
通化できるものが多く、メモリの節約ができる、
(iii)ハードウエア量も独立プログラム分だけのプロ
セツサを作るより小さくなる等の利点があるから
で、処理能力さえ満足できれば、経済的に短期間
でシステムが作成できることによる。 Attempts to run multiple independent programs in a time-sharing manner under the control of the same processing unit are difficult to implement when controlling a group of relatively small and slow peripherals or when there are many parallel tasks to be processed at the same time. In some cases, it is increasingly being adopted as an effective means. This is because (i) independent programming is possible, so the number of steps required to create a program can be relatively small; (ii) Many programs can be shared, saving memory.
(iii) It has the advantage that the amount of hardware is smaller than creating a processor for independent programs, and as long as the processing capacity is satisfied, the system can be created economically in a short period of time.
しかるに、全てのプログラムを同一処理装置で
実行するため、各プログラムを一様に時分割制御
したのでは、一時的に多くの処理を必要とするプ
ログラムに対しては時間の割り当てを十分満すこ
とができず、処理の限界がおとずれる。そこで、
各プログラムに対するタイムスライスの割合をダ
イナミツクに変更する方式が考えられ、一部では
実施もされているが、従来の方式には、
(i) 結線論理が複雑で、ハードウエアの量が増加
する。 However, since all programs are executed on the same processing device, uniform time-sharing control of each program may not be enough to satisfy the time allocation for programs that require a large amount of processing at one time. cannot be done, and the limits of processing are reached. Therefore,
A method of dynamically changing the time slice ratio for each program has been considered, and has been implemented in some cases, but the conventional method requires (i) complicated wiring logic and an increase in the amount of hardware;
(ii) 動作形態の異なるシステムに対する融通性が
小さい。(ii) There is little flexibility for systems with different operating modes.
(iii) ハードウエアの制限、例えば先取りや遅延等
のために発生するシーケンス上の制約を考慮す
るのが困難である。(iii) It is difficult to take into account sequence constraints caused by hardware limitations, such as prefetching and delays.
等の欠点を有している。It has the following disadvantages.
本発明の目的は上記従来の欠点を軽減すること
にあり、少ないハードウエアで、制御に融通性を
持たせるとともに、ハードウエアの制限事項を容
易に盛り込めるようにしたプログラムシーケンス
制御方式を堤供することにある。 An object of the present invention is to alleviate the above-mentioned conventional drawbacks, and to provide a program sequence control method that uses less hardware, provides flexibility in control, and easily incorporates hardware limitations. It is in.
さて、近年、メモリの集積度の向上には目をみ
はるものがあり、アドレス方向には10ビツト以上
のものは安価かつ容易に入手できるようになつて
きた。本発明は、このようなメモリを用い、各タ
イムスライス対応に種々の組合せプログラム識別
コードを該メモリ内に予め書き込んでおき、この
メモリのアドレスとして、各命令サイクル毎に更
新される2進カウンタと、タイムスライスの実行
割当ての変更要求信号、例えば各レベルのプログ
ラムのビジイ信号とを用いて、該メモリから所望
プログラム識別コードを読み出し、このプログラ
ム識別コードで次の命令サイクルで実行するプロ
グラムを決定することを特徴とするものである。 Now, in recent years, there has been a remarkable improvement in the density of memory, and memory devices with 10 bits or more in the address direction are becoming inexpensive and easily available. The present invention uses such a memory, writes various combination program identification codes corresponding to each time slice in the memory in advance, and uses a binary counter and a binary counter updated every instruction cycle as the address of this memory. , reads a desired program identification code from the memory using a time slice execution allocation change request signal, for example, a busy signal of a program at each level, and uses this program identification code to determine the program to be executed in the next instruction cycle. It is characterized by this.
次に本発明の一実施例につき図面を用いて詳細
に説明する。 Next, one embodiment of the present invention will be described in detail using the drawings.
第1図は処理装置内の命令読出し部に関するブ
ロツク図である。第1図において、1がプログラ
ム識別コード作成回路であり、ここで各命令サイ
クルごとに次に実行すべきプログラムの識別コー
ドが作成されて命令アドレスレジスタ群2に与え
られる。命令アドレスレジスタ群2は複数のプロ
グラムと1対1に対応した複数の命令アドレスレ
ジスタからなり、各命令アドレスレジスタには、
当該プログラムの次に実行すべき命令のアドレス
(命令アドレス)が格納されている。上記プログ
ラム識別コードにより命令アドレスレジスタ群2
の内の、そのプログラム識別コードで示されるプ
ログラムに対応する命令アドレスレジスタが選択
され、その命令アドレスが読み出されて制御記憶
装置4のアドレスレジスタ3にラツチされる。こ
のアドレスレジスタ3の内容により制御気憶装置
4から命令が読み出されて命令レジスタ5にラツ
チされ、その命令が実行される。同時に、命令レ
ジスタ5の次命令アドレス部の内容が命令アドレ
スレジスタ群2内の、上記選択された命令アドレ
スレジスタに登録される。次に、プログラム識別
コード作成回路1からは次に実行すべきプログラ
ムの識別コードが出力されて、上述の動作が繰り
返えされる。 FIG. 1 is a block diagram of an instruction reading section within a processing device. In FIG. 1, reference numeral 1 denotes a program identification code generation circuit, which generates an identification code for the next program to be executed for each instruction cycle and provides it to the instruction address register group 2. The instruction address register group 2 consists of a plurality of instruction address registers in one-to-one correspondence with a plurality of programs, and each instruction address register has the following information:
The address of the next instruction to be executed in the program (instruction address) is stored. Instruction address register group 2 is specified by the program identification code above.
The instruction address register corresponding to the program indicated by the program identification code is selected, and the instruction address is read out and latched into the address register 3 of the control storage device 4. Based on the contents of the address register 3, an instruction is read out from the control storage device 4, latched into the instruction register 5, and executed. At the same time, the contents of the next instruction address field of the instruction register 5 are registered in the selected instruction address register in the instruction address register group 2. Next, the program identification code generating circuit 1 outputs the identification code of the next program to be executed, and the above-described operation is repeated.
本発明は第1図におけるがプログラム識別コー
ド作成回路1に適用されるものである。 The present invention is applied to the program identification code generation circuit 1 shown in FIG.
第2図は本発明を適用したプログラム識別コー
ド作成回路の一実施例で、4つの独立したプログ
ラムA、B、C、Dが寺分割に動作しているとし
た場合の例である。第2図において、101〜1
04は各プログラムA、B、C、Dのビジイフリ
ツプフロツプで、その出力(ビジイ信号)11を
タイムスライスの実行割当ての変更要求信号に用
いる。これらのビジイフリツプフロツプ101〜
104はシステムの母線に結合されたり、結線論
理によつてセツト・リセツトできるように設計さ
れている。13は4ビツトの2進カウンタで、1
命令サイクル中に1回発生するカウント信号12
により順次更新される。15はメモリ素子で、ビ
ジイフリツプフロツプ101〜104の出力11と
2進カウンタ13の出力をアドレスとして、次の
命令サイクルで実行されるべきプログラムの識別
コードを読み出し、プログラム識別コードレジス
タ16にラツチする。該レジスタ16の出力が第
1図の命令アドレスレジスタ群2に与えられ、該
プログラム識別コードで示されるプログラムの命
令アドレスレジスタの選択に用いられるのであ
る。 FIG. 2 shows an embodiment of a program identification code generation circuit to which the present invention is applied, and is an example in which four independent programs A, B, C, and D are operated in a divided manner. In Figure 2, 10 1 to 1
04 is a busy flip-flop for each program A, B, C, and D, and its output (busy signal) 11 is used as a time slice execution allocation change request signal. These busy flip-flops 10 1 ~
104 is designed to be coupled to the system busbar or to be set and reset by wiring logic. 13 is a 4-bit binary counter,
Count signal 12 that occurs once during an instruction cycle
It is updated sequentially. Reference numeral 15 denotes a memory element, which uses the outputs 11 of the busy flip-flops 10 1 to 10 4 and the output of the binary counter 13 as addresses to read out the identification code of the program to be executed in the next instruction cycle, and stores the program identification code. Latch to register 16. The output of the register 16 is applied to the instruction address register group 2 in FIG. 1, and is used to select the instruction address register of the program indicated by the program identification code.
第3図はメモリ素子15中に記憶する内容の一
例を示したものである。例えば全てのビジイフリ
ツプフロツプ101〜104が“0”の時は、カウ
ンタ13のカウント値0,1,2,…D,E,F
に対して、プログラムがA→B→C→D→A→B
→…というように均等に実行できるように、各プ
ログラムの識別コードをメモリ素子15に書き込
んでおく。又、例えばプログラムDがビジイで、
フリツプフロツプ104が“1”であるときは、
A→D→B→D→C→D→…のように、充分な頻
度でプログラムDが実行できるように該当プログ
ラムの識別コードを書き込んでおく。即ち、各プ
ログラムのビジイ状態に対応させて、システムの
要求する能力を満たせるように、プログラム識別
コードをメモリ素子15に書き込んでおく。 FIG. 3 shows an example of the contents stored in the memory element 15. For example, when all the busy flip-flops 10 1 to 10 4 are “0”, the count values of the counter 13 are 0, 1, 2, . . . D, E, F.
For, the program is A→B→C→D→A→B
The identification code of each program is written in the memory element 15 so that it can be executed equally as follows. Also, for example, if program D is busy,
When flip-flop 104 is “1”,
The identification code of the program is written so that program D can be executed with sufficient frequency, such as A→D→B→D→C→D→.... That is, the program identification code is written in the memory element 15 in correspondence with the busy state of each program so as to satisfy the capability required by the system.
実際の実行に移つた場合、メモリ素子15は2
値カウンタ13の値で順次、次に実行すべきプロ
グラム識別信号を出力するが、この時、ビジイフ
リツプフロツプ101〜104の状態で、それらの
シーケンスは修飾を受けたと同様に機能し、負荷
の重いプログラムに対しては充分な頻度で処理が
実行されることになる。 In actual execution, the memory element 15 is 2
The program identification signal to be executed next is output in sequence according to the value of the value counter 13, but at this time, when the busy flip-flops 10 1 to 10 4 are in the state, those sequences function as if they had been modified. However, processing is executed frequently enough for programs with heavy loads.
以上述べた如き構成であるので、本発明にあつ
ては、次の如き効果を得ることができる。 With the configuration as described above, the following effects can be obtained with the present invention.
1 メモリ素子の集積度は近年非常に高くなつて
おり、他の周辺のICも、プログラム本数が8
〜16程度では数個のICで実現でき、ハードウ
エアの増加量が小さい。1 The degree of integration of memory devices has become extremely high in recent years, and the number of programs for other peripheral ICs has increased to 8.
~16 can be realized with a few ICs, and the amount of hardware increase is small.
2 メモリの内容を書き替えることにより、種種
のシステムに適合させることが可能である。2. By rewriting the contents of the memory, it is possible to adapt it to various types of systems.
3 メモリの内容のプログラミングで、ハードウ
エアの制限を織り込むことができる。(例えば、
同一プログラムを2サイクル以上続けてはいけ
ないというような制限)
4 プログラムビジイフリツプフロツプ等の
ON/OFFのみで実行頻度が変化するので、プ
ログラムの制御が簡単である。3. Hardware limitations can be factored into the programming of memory contents. (for example,
(Restrictions such as not allowing the same program to continue for more than two cycles) 4 Program busy flip-flops, etc.
Since the execution frequency changes only by turning ON/OFF, program control is easy.
第1図は処理装置内の命令読出し部に関するブ
ロツク図、第2図は第1図のプログラム識別コー
ド作成回路の構成図で、本発明の一実施例を示す
図、第3図は第2図のメモリ素子に記憶する内容
の一例を示す図である。
101〜104…プログラムビジイフリツプフロ
ツプ、13…2進カウンタ、15…メモリ素子、
16…プログラム識別コードレジスタ。
FIG. 1 is a block diagram of the instruction reading unit in the processing device, FIG. 2 is a block diagram of the program identification code creation circuit of FIG. 1, which shows an embodiment of the present invention, and FIG. FIG. 2 is a diagram showing an example of contents stored in a memory element of FIG. 101 to 104 ...Program busy flip-flop, 13...Binary counter, 15...Memory element,
16...Program identification code register.
Claims (1)
せる情報処理装置において、プログラムの実行割
当てが異なる複数組のプログラム識別コード列を
予め記憶したメモリ素子と、プログラムの実行割
当ての変更要求信号を発する回路と、1命令サイ
クル毎に歩進されるカウンタとを設け、前記変更
要求信号で前記メモリ素子中の複数組のプログラ
ム識別コード列の一つを選択し、前記カウンタが
歩進される毎に、前記選択されたプログラム識別
コード列の各プログラム識別コードを順次読出
し、該プログラム識別コードにより次の命令サイ
クルで実行されるべきプログラムを指定すること
を特徴とするプログラムシーケンス制御方式。1. An information processing device that operates multiple independent programs in a time-sharing manner includes a memory element that stores in advance multiple sets of program identification code strings with different program execution assignments, and a circuit that issues a program execution assignment change request signal. , a counter that is incremented every instruction cycle, one of the plurality of program identification code strings in the memory element is selected by the change request signal, and each time the counter is incremented, the counter is incremented every instruction cycle. A program sequence control method characterized by sequentially reading out each program identification code of a selected program identification code string, and specifying a program to be executed in the next instruction cycle using the program identification code.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19812681A JPS5899847A (en) | 1981-12-09 | 1981-12-09 | Program sequence controlling system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19812681A JPS5899847A (en) | 1981-12-09 | 1981-12-09 | Program sequence controlling system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5899847A JPS5899847A (en) | 1983-06-14 |
| JPH024013B2 true JPH024013B2 (en) | 1990-01-25 |
Family
ID=16385878
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19812681A Granted JPS5899847A (en) | 1981-12-09 | 1981-12-09 | Program sequence controlling system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5899847A (en) |
-
1981
- 1981-12-09 JP JP19812681A patent/JPS5899847A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5899847A (en) | 1983-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4720812A (en) | High speed program store with bootstrap | |
| US6401155B1 (en) | Interrupt/software-controlled thread processing | |
| US5511207A (en) | Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction | |
| KR880001168B1 (en) | Digital signal processing system | |
| EP0377976B1 (en) | Microcode control apparatus utilizing programmable logic array circuits | |
| US4204252A (en) | Writeable control store for use in a data processing system | |
| EP0355462B1 (en) | Dedicated service processor with inter-channel communication features | |
| EP0306962A2 (en) | Single-chip microcomputer | |
| US4285039A (en) | Memory array selection mechanism | |
| JPS61170828A (en) | microprogram controller | |
| US4685080A (en) | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords | |
| US4504904A (en) | Binary logic structure employing programmable logic arrays and useful in microword generation apparatus | |
| EP0945783A2 (en) | Variable length register device | |
| US5046040A (en) | Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits | |
| US5339402A (en) | System for connecting an IC memory card to a central processing unit of a computer | |
| US5155826A (en) | Memory paging method and apparatus | |
| JPH024013B2 (en) | ||
| US5021990A (en) | Output pulse generating apparatus | |
| US4807119A (en) | Memory address mapping mechanism | |
| JPS6148174B2 (en) | ||
| JPH0814791B2 (en) | Processing system | |
| JPS6336017B2 (en) | ||
| JP2922963B2 (en) | Sequence controller | |
| JPH07114496A (en) | Shared memory control circuit | |
| JPH03135630A (en) | Instruction scheduling system |