JPS6236263B2 - - Google Patents
Info
- Publication number
- JPS6236263B2 JPS6236263B2 JP54006981A JP698179A JPS6236263B2 JP S6236263 B2 JPS6236263 B2 JP S6236263B2 JP 54006981 A JP54006981 A JP 54006981A JP 698179 A JP698179 A JP 698179A JP S6236263 B2 JPS6236263 B2 JP S6236263B2
- Authority
- JP
- Japan
- Prior art keywords
- timing chain
- data processing
- processing device
- segment
- header
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Exchange Systems With Centralized Control (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の詳細な説明】
本発明は、リアルタイム・データ処理装置、さ
らに詳細には、「待期間」命令を処理する装置に
関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to real-time data processing apparatus and, more particularly, to apparatus for processing "wait period" instructions.
例えば、電気通信切換装置などを制御するため
に使用されるリアルタイムデータ処理装置におい
ては、しばしば指定された期間、処理を中断する
ことが必要である。例えば、呼出の設定の間、所
定の期間(例えばインターデジタルポーズ)、各
数字を受信後、ダイアルされた数字の蓄積処理は
中断される。そのような動作は「待期間」命令、
又はマイクロ命令を実行して達成され、命令自身
は時間遅延を指定しているものである。その他の
多くの場合においても「待期間」マイクロ命令が
計画され、プロチプロセツサ・ストアドプログラ
ム制御方式を使用した大容量交換装置において
は、同時に実行される中断処理の数は相当なもの
である。 For example, in real-time data processing equipment used to control telecommunications switching equipment and the like, it is often necessary to suspend processing for specified periods of time. For example, during call setup, the accumulation process of dialed digits is interrupted after each digit is received for a predetermined period of time (eg, an interdigital pause). Such behavior is called a "wait period" command,
Alternatively, this can be accomplished by executing a microinstruction, where the instruction itself specifies a time delay. In many other cases, ``wait period'' microinstructions are also planned, and in high capacity switching systems using processor stored program control schemes, the number of concurrent interrupt operations is substantial.
本発明の目的は、全ての「待期間」命令をある
種の順序づけられたリストに配列し、待期間が終
つた時中断された処理が再開できるように、デー
タ処理装置でこのリストを管理するようにしたも
のである。 The object of the invention is to arrange all "waiting period" instructions in some kind of ordered list and to manage this list in a data processing device so that when the waiting period ends, the interrupted processing can be resumed. This is how it was done.
本発明によれば、「待期間」命令を有する処理
を取り扱う形のリアルタイムデータ処理装置が提
供されてあり、前記命令の各々は複数個の所定の
期間の一つを指定しており、特定の同じ期間を有
する命令によつて中断されている全ての処理は、
中断された時刻順に互いにつながれ、チエーンの
中の第1の処理の待ち期間が完了するリアルタイ
ムの情報を保持しているタイミングチエーンヘツ
ダにつながれており、その全てのタイミングチエ
ーンヘツダはリストの中で連結され、データ処理
装置は待ち期間が完了した処理を確かめるために
所定のタイムインタバルが経過した時リストをサ
ーチする処理を有している。 According to the present invention, there is provided a real-time data processing apparatus for handling processes having "waiting period" instructions, each of said instructions specifying one of a plurality of predetermined periods, and each of said instructions specifying one of a plurality of predetermined periods, and All processes that are interrupted by instructions with the same duration are
The timing chain headers are connected to each other in the order of their interruption times and are connected to timing chain headers that hold real-time information about the completion of the waiting period of the first process in the chain, and all the timing chain headers are in the list. The data processing device has a process for searching the list when a predetermined time interval has elapsed to ascertain which processes have completed their waiting period.
また、本発明によれば、各々が複数個の所定の
期間を指定する「待ち期間」命令を有する複数個
の処理を取り扱う形のリアルタイム・デジタルデ
ータ処理装置を提供しており、前記データ処理装
置は処理に関する情報を蓄積するメモリと少くと
も1つのプロセツサユニツトを有しており、その
プロセツサは処理を実行するようになつている。
各処理は、その処理が中断された時のその処理の
ワーキングパラメータを保持するメモリの中に情
報セグメントを有しており、その情報セグメント
はその処理に対する待ち期間が完了すべき時間の
表示を有しており、情報セグメントリンク情報は
特定の同じ期間を有する命令によつて中断される
全ての処理の情報セグメントを処理が中断された
時刻順に配列される第1のリンクリストに形成
し、その第1のリンクリストは、メモリ内に蓄積
されたタイミングチエーンヘツダセグメントに連
結され、独占的に前記の特定の期間に割当てられ
ている。タイミングチエーンヘツダセグメント
は、第1のリンクリスト上の第1の情報セグメン
トに対する待ち期間が完了する時期を表示するウ
エイクアツプ値を蓄積している。各タイミングチ
エーンヘツダはタイミングチエーンヘツダセグメ
ントを第2のリストの中に形成するヘツダリンク
情報を有している。データ処理装置は待ち期間が
完了した処理を確かめるために、第2のリストを
サーチさせるタイミングチエーンサーチ処理を有
しており、また装置はタイムインタバルを監視
し、インタバルの終了時に、タイミングチエーン
サーチ処理を作動させるように条件づけられたイ
ンタバルタイミング装置を作動させる装置を有し
ている。 Further, according to the present invention, there is provided a real-time digital data processing apparatus that handles a plurality of processes each having a "waiting period" instruction specifying a plurality of predetermined periods, and the data processing apparatus has a memory for storing information regarding processing and at least one processor unit, and the processor is adapted to execute the processing.
Each process has an information segment in memory that holds the working parameters of that process at the time the process was interrupted, and that information segment has an indication of the time by which the waiting period for that process should be completed. The information segment link information forms the information segments of all processes interrupted by instructions having the same specific period into a first link list arranged in the order of the time when the processes were interrupted, and One linked list is linked to the timing chain header segments stored in memory and is exclusively assigned to the particular time period. The timing chain header segment stores a wake-up value indicating when the waiting period for the first information segment on the first linked list is complete. Each timing chain header has header link information that forms the timing chain header segment in the second list. The data processing device has a timing chain search process that causes the second list to be searched to ascertain the process for which the waiting period has been completed, and the device also monitors a time interval and at the end of the interval, the timing chain search process and a device for operating an interval timing device conditioned to operate the interval timing device.
次に、本発明を添付図面に従つて説明する。 Next, the present invention will be explained according to the accompanying drawings.
本発明の装置の詳細な説明を始める前に、本発
明のデータ処理装置に使用するのに適するセント
ラルプロセツサユニツトについて簡単に説明す
る。そのようなセントラルプロセツシングユニツ
トは、第1a図および第1b図に示されている。
第1a図と第1b図は並んでおかれ左側に第1a
図が置かれる。セントラルプロセシングユニツト
は、リード線SOHCS、SDH、SIHCSおよびSIH
を経由してメモリモジユールに接続されている。
リード線SDHおよびSIHはそれぞれメモリユニツ
トの出力および入力データパスであり、リード線
SOHCSおよびSIHCSはそれぞれメモリモジユー
ルに対する出力および入力制御信号ハイウエイで
ある。 Before beginning a detailed description of the apparatus of the present invention, a central processor unit suitable for use in the data processing apparatus of the present invention will be briefly described. Such a central processing unit is shown in FIGS. 1a and 1b.
Figure 1a and Figure 1b are placed side by side, with Figure 1a on the left side.
A diagram is placed. Central processing unit has leads SOHCS, SDH, SIHCS and SIH
connected to the memory module via.
Leads SDH and SIH are the output and input data paths of the memory unit, respectively;
SOHCS and SIHCS are the output and input control signal highways to the memory module, respectively.
セントラルプロセシングユニツトはユニツトの
ハイウエイをデータの通路にオン、オフするデー
タトランスフアゲートを制御するマイクロプログ
ラミング制御式μPROGである。そのプロセシン
グユニツトは演算ユニツトMILL、比較器
COMP、命令レジスタIR、演算レジスタOPRG、
メモリ通信レジスタSDIREGおよび三個のレジス
タスタツクを有している。ユニツトは英国特許明
細書第1329721号に詳細に解示されているいわゆ
る機能レジスタ構造で構成されている。スタツク
は、汎用レジスタACC STK(第2図に詳細を示
す)およびベーススタツクBASE STKとリミツ
ト・スタツクT/CLMT STKに分割される機能
レジスタを備えており、これらは第3図に詳細に
示されている。セントラルプロセツサは、
“System250―a fault―tolerant,modular
Processing system for control applications”
Pages26 to 34 of issue 27 of systeme
Technologyに説明されている形式のモジユラ処
理装置に使用するのに特に適している。そのよう
なシステムにおいて、機能構造は、全てのリソー
スのマスタリストがいわゆるシステム機能テーブ
ルに保持されているようになつており、各処理は
その処理がアクセスすることを許されているリソ
ースを表示するそのテーブルに対するポインタの
リストを備えている。その上、各処理は、いわゆ
るダンプスタツク(第4図に示す)を備えてお
り、そのダンプスタツクは共通のメモリの中に保
持されている。そしてその共通メモリはその処理
を実行するプロセツサユニツトの中の機能レジス
タスタツクの中のダンプスタツク機能レジスタ
DCRによつて指示される。ダンプスタツクDA
は、シーケンス制御レジスタSCRおよび全ての
ワーキング機能レジスタRSP WCR0ないしRSP
WCR7の値と共に変化の処理が発生した時(すな
わち、処理が中断した時)、汎用レジスタスタツ
クACC STKの内容を蓄積するために使用されて
いる。その上、各処理のダンプスタツクDAは
RIGHT LINK、LEFT LINKおよび
INCREMENT値を有してり、これらの値は本発
明の実施例を行うに必要な操作で後に使用され
る。 The central processing unit is a microprogrammed controlled μPROG that controls the data transfer gates that turn the unit's highways on and off for data passage. Its processing units are arithmetic unit MILL, comparator
COMP, instruction register IR, operation register OPRG,
It has a memory communication register SDIREG and three register stacks. The unit consists of a so-called functional register structure, which is detailed in GB 1329721. The stack comprises a general purpose register ACC STK (details shown in Figure 2) and functional registers divided into a base stack BASE STK and a limit stack T/CLMT STK, which are shown in detail in Figure 3. There is. The central processor is
“System250―a fault―tolerant, modular
“Processing system for control applications”
Pages26 to 34 of issue 27 of systeme
It is particularly suitable for use in modular processing equipment of the type described in Technology. In such systems, the functionality structure is such that a master list of all resources is maintained in a so-called system functionality table, with each process indicating the resources it is allowed to access. It contains a list of pointers to that table. Additionally, each process has a so-called dump stack (shown in Figure 4), which is maintained in a common memory. The common memory is the dump stack function register in the function register stack in the processor unit that executes the process.
Directed by DCR. Dump stack DA
is the sequence control register SCR and all working function registers RSP WCR0 through RSP
It is used to store the contents of the general register stack ACC STK when a change occurs (ie, when processing is interrupted) with the value of WCR7. Moreover, the dump stack DA of each process is
RIGHT LINK, LEFT LINK and
INCREMENT values, and these values are later used in operations necessary to implement embodiments of the present invention.
各処理は、いわゆる処理ベース(第5図)PB
を備えており、それは処理ダンプスタツク
WPDS,ジヨブ リンクブロツクWJLB,トラツ
プフラグWFL,スケジユーラワークスペースリ
ンクWLINKおよびポストと待ちフラツグのリス
トを保持するワークスペースに対するポインタを
含んだ主要ポインタのリストである。 Each process is based on the so-called processing base (Figure 5) PB
and it processes dump stack
A list of key pointers that includes pointers to the WPDS, job link block WJLB, trap flag WFL, scheduler workspace link WLINK, and the workspace that holds the list of posts and wait flags.
システム250のマルチプロセツサシステムによ
つて実行される動作は、ランニングリスト上で作
動するスケジユーラ処理によつて編成されてい
る。このリストは第6図に示されており、それは
装置の中で各プロセツサユニツトに対する1つの
エントリを有する3つの情報ブロツクで構成され
ている。第6図は3つのプロセツサユニツトシス
テムに対するランニングリストの配列を示してお
り、そのリストは各プロセツサに対して、(i)プロ
セツサ上で実行する処理に対する処理ベースのポ
インタ、(ii)各実行処理に対するダンプスタツクの
ポインタ、および(iii)プロセツサユニツト上で前に
実行される処理に対するダンプスタツクのポイン
タを有している。 The operations performed by the multiprocessor system of system 250 are organized by scheduler processes that operate on a running list. This list is shown in FIG. 6 and consists of three information blocks, one entry for each processor unit in the device. Figure 6 shows the arrangement of running lists for a three processor unit system, which lists, for each processor, (i) process-based pointers to the processes to be executed on the processor, (ii) each execution process. and (iii) a dump stack pointer to a previously executed operation on the processor unit.
各プロセツサは自分自身の現在の時間ブロツク
を有しており、このブロツクは時間機能レジスタ
TCR(第3図)によつてアドレスされる。TCR
によつて指示されるブロツクは、WIT、
WITSUPおよびWETNIと名づけられる3つのワ
ードで構成されている。WITはインタバル・タ
イマであり、WETNIは次のタイマ中断が発生す
る推定時間であり、WITSUPは1つのプロセツ
サが他を中断する時のインタバルタイマ値を記録
するために使用する。 Each processor has its own current time block, which is stored in the time function registers.
Addressed by TCR (Figure 3). TCR
The block directed by WIT,
It consists of three words named WITSUP and WETNI. WIT is the interval timer, WETNI is the estimated time when the next timer interrupt will occur, and WITSUP is used to record the interval timer value when one processor interrupts the other.
待ち期間に対する時間情報は、観念的な監視用
の「現在時間」に基づいている。実際に単一の値
はない。そのかわり、各プロセツサは自分用のバ
ージヨンを持つており、外部システムの制御装置
(図示なし)はプロセツサと同期が保たれてい
る。 The time information for the waiting period is based on the "current time" for conceptual monitoring. There is actually no single value. Instead, each processor has its own version, and an external system controller (not shown) is kept synchronized with the processor.
現在時間の各バージヨンは次のように維持され
ている。WETNIと名付けられるワードは、次の
タイマーインタラプトが発生する維定リアルタイ
ム、すなわちWITがゼロになるリアルタイムを
保持するように使用されている。現在時間はCT
=WETNI―WITで与えられている。WITが新し
い内部のタイムアウトを起動するためにタイムイ
ンタバルの終りで更新される時には、WETNIは
同じ量だけ自然に変えられる。値WITがインタ
バルタイム処理によつて、そのインタバルタイム
処理が再び作動される前に経過する100μ秒の期
間の数を表示する値に設定される。各プロセツサ
は100μ秒のインタバルで割り込まれるようにな
つており、そのインタバルタイマワードWITは
1ずつ減らされ、ゼロコンデイシヨンを試験され
る。ゼロコンデイシヨンに遭遇すると、インタバ
ルタイムアウトは完了し、満期に対してインタバ
ルを待つている処理の中に再エントリがなされ
る。 Each version of the current time is maintained as follows. The word named WETNI is used to maintain a constant real time at which the next timer interrupt occurs, ie, the real time at which WIT is zero. Current time is CT
=WETNI−WIT is given. When WIT is updated at the end of a time interval to trigger a new internal timeout, WETNI is naturally changed by the same amount. The value WIT is set by the interval time process to a value indicating the number of 100 microsecond periods that elapse before the interval time process is activated again. Each processor is to be interrupted at 100 microsecond intervals and its interval timer word WIT is decremented by one and tested for zero conditions. When a zero condition is encountered, the interval timeout completes and re-entry is made into the process waiting for an interval to expire.
本発明の実施例で使用されている実際のインタ
バルタイム処理は後に詳細に考えられるいわゆる
「アシヤレツト(Usherette)」処理である。 The actual interval time process used in the embodiment of the invention is the so-called "Usherette" process, which will be considered in detail later.
各CTは普通は増加値であるが、しかしこれに
対して2つの例外がある。すなわち、
(イ) 時間の値が1ワードの容量をオーバーフロー
しようとしている時、全ての時間の値は固定の
値(一般的には3分)で減らされる。 Each CT is normally an incremental value, but there are two exceptions to this. That is, (a) When time values are about to overflow the capacity of one word, all time values are reduced by a fixed value (generally 3 minutes).
(ロ) CTは同期が行なわれる時には小さな訂正を
受けることがある。(b) CT may undergo small corrections when synchronization is performed.
WITSUPと名付けられるワードの使用は2倍
である。1つのプロセツサが他のプロセツサに割
り込むことを望む時には、そのプロセツサは他の
プロセツサのWITをゼロにセツトする(もしす
でにゼロまたは負でないならば)。時間をはから
れている元のインタバルは後で再び設定できるよ
うに、前の値はWITSUPである。またWITSUP
はブロツク上の動作の単一スレツデイングを達成
するために使用される。すなわち値の―1は、ブ
ロツクが「ロツク」されていることを示してい
る。 The use of the word named WITSUP is doubled. When one processor wants to interrupt another processor, it sets the other processor's WIT to zero (if it is not already zero or negative). The previous value is WITSUP so that the original interval being timed can be set again later. Also WITSUP
is used to achieve single threading of operations on a block. Thus, a value of -1 indicates that the block is "locked."
本発明によるシステムにおいては、処理はそれ
自身を指定するタイムインタバルに対して中断さ
れることができる。そのインタバルは1から固定
されている最大値までの整数値をとることがで
き、同時に中断される処理の数には制限がない。 In the system according to the invention, processing can be interrupted for a time interval that specifies itself. The interval can take an integer value from 1 to a fixed maximum value, and there is no limit to the number of processes that can be interrupted simultaneously.
機能を実行するために使用されるデータ構造
は、(i).同時に中断された処理の数はひじように
大きく、(ii).どの瞬間においても有効なタイムイ
ンタバルの数は比較的少いという応用に対して有
効であるように設計されている。実際の例におい
ては、30という数字が妥当な数といわれている
が、しかしながら異る時間で要求し、従つて異る
時間で「ウエイクアツプ」されることが必要であ
るひじように多くの処理に対しては一定のインタ
バルが有効であるようにアレンジされている。 The data structures used to perform the functions are (i). The number of simultaneously interrupted processes is as large as an elbow, (ii). It is designed to be useful for applications where the number of time intervals available at any instant is relatively small. In a practical example, the number 30 is said to be a reasonable number, but there are many operations that request at different times and therefore need to be "waked up" at different times. Arrangements are made so that certain intervals are valid for .
同じタイムインタバルの終了を待つて中断され
ている全ての処理は要求した順番で互いに連結さ
れ、「タイミングチエーンヘツダ」につながれて
いる。チエーンは、第7図に示すような処理ダン
プスタツクの中のRIGHT LINK(RL)および
(LEFT LINK(LL)ポインタによつて達成され
ている。第7図が示すようにチエンは二重に循環
リンクされて形成されている。3つの処理を有す
る例においては、ダンプスタツク1,2,3を有
しそれぞれ15ミリ秒のインタバルに対し中断さ
れ、「要求」している。システムは、100μ秒の処
理スロツトを有するように配列されているので、
100μ秒の範囲に変換するために15と10が掛けら
れている。その結果の150は、タイミングチエン
ヘツダの中のインタバルINTロケーシヨンの中に
書き込まれている。第6図に示すチエン例につい
て考えると、チエンの中の最初の処理は時間1270
で起こされるようになつており、これはヘツダの
中のWAKE UPロケーシヨンの中に書き込まれ
ている。チエンの中の最初の処理のダンプスタツ
クは、インクリメント・ロケーシヨンINCの中に
書き込まれているゼロの値を有している。そのチ
エンの中の第2の処理は時間1270プラス20(すな
わち時間1290)で処理されるように要求している
が、処理3は、別のインクリメント10(すなわ
ち時間1300)の後に処理される。チエンの中の最
初の処理に対するインクリメント値INCは常にゼ
ロであり、ヘツダの中の値NEGSUMは、チエン
のインクリメントの負の合計であるサイン付の22
ビツトの数値として維持されている。NEGSUM
はインクリメントの合計を負にし、1を引くこと
によつて計算される。従つて例においては、
NEGSUMはインクリメント20と10から―31
になる。完全なチエンを横切ることなく新しい処
理に対するINC値を決めることができるので、処
理をチエンの最後に加える時に重要である。 All processes that are suspended waiting for the end of the same time interval are linked together in the requested order and connected to a "timing chain header". The chain is accomplished by the RIGHT LINK (RL) and (LEFT LINK (LL)) pointers in the processing dump stack as shown in Figure 7. In an example with three processes, we have dump stacks 1, 2, and 3, each interrupted and "requested" for a 15 ms interval. Since they are arranged to have slots,
Multiplied by 15 and 10 to convert to a range of 100 μs. The result, 150, is written into the interval INT location in the timing chain header. Considering the example chain shown in Figure 6, the first process in the chain takes time 1270
This is written in the WAKE UP location in the header. The dump stack of the first process in the chain has a value of zero written into the increment location INC. The second process in the chain requests to be processed at time 1270 plus 20 (or time 1290), while process 3 is processed after another increment of 10 (or time 1300). The increment value INC for the first operation in the chain is always zero, and the value in the header NEGSUM is the signed 22 which is the negative sum of the increments in the chain.
It is maintained as a bit value. NEGSUM
is calculated by making the sum of the increments negative and subtracting one. So in the example,
NEGSUM increments 20 and 10 to -31
become. This is important when adding treatments to the end of a chain, as it allows you to determine the INC value for a new treatment without crossing the complete chain.
第7図は、処理に対する処理ダンプスタツクが
特定の期間(すなわち15ミリ秒)中断されている
処理に対して連結されていることを示している。
電気通信の分野でみられるような、リアルタイム
処理を取り扱うマルチプロセツサシステムにおい
ては異るインタバルに対して中断される処理があ
る。そのような状態は、各々がタイミングチエン
ヘツダを有するいくつかのタイミングチエンを有
して処理されている。 FIG. 7 shows that process dump stacks for processes are concatenated for processes that have been suspended for a specific period of time (i.e., 15 milliseconds).
In multiprocessor systems that handle real-time processing, such as those found in the telecommunications field, there are processes that are interrupted at different intervals. Such a situation is handled by having several timing chains, each having a timing chain header.
ヘツダは、第7図に示すヘツダのダウンリンク
WDLINKを使用して第8図に示すように連結さ
れている。ヘツダチエインの先頭はタイミングチ
エンヘツダリストの先頭にポインタFIRST
HEADERを有するタイミングチエンマスタポイ
ンタブロツクである。タイミングチエンヘツダは
特定の順番で配列されていない。個々のタイミン
グチエンが空きになつた時(すなわちその上に、
もはや処理がない時)、そのヘツダは「空き」で
あるといわれ、もし要求されるならば、異るイン
タバルに対して再び使用することができる。タイ
ミングチエンマスタポインタブロツクのポインタ
FREEは、空きのヘツダにポインタを有するよう
に使用され、もし空きのヘツダがない場合には、
ポインタはNULLにセツトされる。 The header is a downlink of the header shown in Figure 7.
They are connected using WDLINK as shown in Figure 8. The beginning of the header chain is a pointer FIRST to the beginning of the timing chain header list.
A timing chain master pointer block with a HEADER. Timing chain headers are not arranged in any particular order. When an individual timing chain becomes free (i.e.,
When there is no more processing), the header is said to be "free" and can be used again for a different interval if required. Timing chain master pointer block pointer
FREE is used to hold a pointer to a free header, and if there is no free header,
The pointer is set to NULL.
上記のタイミングチエン計画は管理上3つの主
要な動作を有している。 The above timing chain plan has three main operations in management.
1 指定されたタイムインタバルが経過するま
で、またはある外部イベント(すなわちフラ
グ)が発生するまで、そのどちらか早い方によ
つて処理は実行を中断する(すなわち
WAITFORタイムインタバル命令を実行す
る)。従つてその処理は適当なタイミングチエ
ンにリンクされなければならない。1 Processing suspends execution (i.e., until a specified time interval elapses or until some external event (i.e., a flag) occurs, whichever occurs first)
WAITFOR time interval instruction). The processing must therefore be linked to an appropriate timing chain.
2 タイミングチエンの中の処理は、外部イベン
トの発生によつてそのチエンから取り除かれ
る。2 Processes in a timing chain are removed from that chain by the occurrence of an external event.
3 タイミングチエンの中の処理は、そのタイム
インタバルが終了することによつてそのチエン
から取り除かれる。3. A process in a timing chain is removed from the chain by the expiration of its time interval.
第1の動作は、第9図にフローチヤートの形式
で示されており、「アシヤレツト」処理と呼ばれ
る特殊な処理が第3の動作を取り扱うタイミング
チエンヘツダをサーチしており、これは第10図
に示されている。第2の動作は第10図のステツ
プのあるものを使用して取り扱われている。 The first operation is shown in flowchart form in FIG. 9, where a special process called the "Assharette" process searches for the timing chain header that handles the third operation, which is the tenth. As shown in the figure. The second operation is handled using some of the steps in FIG.
まず最初に、処理を中断する、換言すればタイ
ミングチエンに処理を置くのに必要な動作につき
考えてみる。 First, let's consider the operations necessary to interrupt processing, in other words, to place processing on the timing chain.
処理の中断
前述したように、第9図は、待ち期間マクロ命
令が遭遇した時実行される動作のフローチヤート
を示している。その命令に遭遇するプロセツサユ
ニツトは、機能レジスタの1つに、マスタポイン
タブロツク(第8図)用の記述子(すなわちアク
セス形のコードを有するベース値とリミツト値)
を設定する。それから、プロセツサユニツトは
PS1ステツプを実行し、それはレジスタSDIREG
の中に実際の必要なメモリアドレスを形成するた
めにMILLを使用し、ブロツクや第1a図および
第1b図にあるリード線SIH上に存在するメモリ
モジユールにアドレスして、マスタポインタブロ
ツクの中のFREEロケーシヨンをアドレスする。
アドレスされたロケーシヨンの内容はリード線
SDH上で、ACC STKの中の汎用レジスタの例え
ば1つの中に戻される。それからプロセツサは、
第9図のPS2ステツプを実行し、そこにおいて
は、そのレジスタの内容は、演算ユニツト条件信
号AVISを使用するMILLによつて試験される。Interrupting Processing As mentioned above, FIG. 9 shows a flowchart of the operations that are performed when a wait period macro instruction is encountered. The processor unit encountering the instruction stores in one of its function registers a descriptor for the master pointer block (Figure 8) (i.e., the base value and limit value with the access type code).
Set. Then the processor unit
Execute the PS1 step and it will register SDIREG
Use MILL to form the actual required memory address in the master pointer block and address the memory module present on the block and leads SIH in Figures 1a and 1b. Address the FREE location of.
The content of the addressed location is the lead line.
On the SDH, it is returned in, for example, one of the general purpose registers in the ACC STK. Then the processor
Execute the PS2 step of FIG. 9, in which the contents of that register are tested by MILL using the arithmetic unit condition signal AVIS.
第9図および第10図の全ての処理の動作ステ
ツプは、普通のデータ処理動作を使用した第1a
図および第1b図の装置を使用して実行できるよ
うにすることは、当業者にとつて当然のことであ
るので、従つて残りの動作ステツプの詳細につい
ては、本明細書においては試みない。 All processing operational steps in Figures 9 and 10 are as follows: 1a using conventional data processing operations.
The details of the remaining operational steps will therefore not be attempted herein, as they are obvious to those skilled in the art to be able to perform using the apparatus of FIGS. and FIG. 1b.
PS3ステツプ
このステツプにおいては、空きのタイミングヘ
ツダが、マスタポインタブロツクがFREEロケー
シヨンによつて識別されないために入れられるも
ので、このステツプにおいては、タイミングチエ
ンヘツダのリストは各ヘツダが空きであるかどう
かを調べるために、各ヘツドを試験する各タイミ
ングチエンヘツダのダウンリンクWDLINK(第
8図)を使用してスキヤンされる。ヘツダが見つ
けられると、マスタポインタブロツクの中のポイ
ンタFREEはそのヘツダを指示するように条件づ
けられている。そのような空きのヘツダが見つか
らない場合には、蓄積管理処理によつて管理され
ているプールから新しい蓄積ブロツクが得られ、
この新しいブロツクはタイミングチエンヘツダと
して初期化され、それはタイミングチエンヘツダ
リストの最後に加えられる。PS3 Step In this step, free timing headers are included because the master pointer block is not identified by a FREE location; in this step, the list of timing chain headers is filled in so that each header is free. Each timing chain header is scanned using the downlink WDLINK (Figure 8) to test each head. Once a header is found, pointer FREE in the master pointer block is conditioned to point to that header. If no such free header is found, a new storage block is obtained from the pool managed by the storage management process;
This new block is initialized as a timing chain header, and it is added to the end of the timing chain header list.
PS4ステツプ
このステツプは、値Xをプロセツサユニツトの
中の汎用レジスタに設定することを有している。
この値Xは待ちタイムインタバル()を現在の
システムの時間に加えることによつて計算され
る。またこの値Xは、WAKE UP値またはその
処理の増分値を条件づけるために後に使用され
る。PS4 Step This step consists of setting the value X to a general purpose register in the processor unit.
This value X is calculated by adding the wait time interval () to the current system time. This value X is also later used to condition the WAKE UP value or the incremental value of the process.
PS5ステツプ
このステツプにおいては、タイミングチエンヘ
ツダリスト(第8図)は、必要な待ち期間()
に等しいインタバルタイム(INT第7図)を有す
るヘツダを探すために走査される。待ち期間を含
むタイミングチエンが存在する場合には、PS6ス
テツプyパスを完了し、タイミングチエンがすで
に存在しない場合には、nパスになる。PS5 step In this step, the timing chain header list (Figure 8) shows the required waiting period ().
is scanned to find a header with an interval time (INT Figure 7) equal to . If a timing chain with a waiting period exists, then the PS6 step completes the y pass; if the timing chain does not already exist, it becomes an n pass.
PS7ステツプ
このステツプにおいては、プロセスダンプスタ
ツクに対するインクリメント(INC)は、PS4ス
テツプで形成された値XからWAKEUP―
NEGSUM―1から形成される値を引くことによ
つて形成される。また、このステツプは、新しい
処理に対して新しく形成されたインクリメントを
引くことによつて、選択されたタイミングチエン
ヘツダの中のNEGSUMを更新する。PS7 step In this step, the increment (INC) for the process dump stack is increased from the value X formed in the PS4 step to the WAKEUP -
It is formed by subtracting the value formed from NEGSUM-1. This step also updates the NEGSUM in the selected timing chain header by subtracting the newly formed increment for the new process.
PS8ステツプ
PS7ステツプの完了時に、プロセスを選択され
たタイミングチエーンの中に挿入することが必要
であり、これは、ヘツダの中のLEFT LINK NL
LINKスロツトを読むことによつて、チエンの中
の最後の処理を識別して実行される。チエンが空
きの場合には、「最後の処理」はヘツダ自身であ
るということに注意されたい。リストの中の最後
の処理が識別されると、この最後の処理とヘツダ
間のリンクはこわされ、新しい処理をチエンの最
後の処理として取り入れることによつて再形成さ
れる。値Xはまた、アシヤレツト処理が時間Xで
または時間Xの前にウエイクアツプされることを
保障するためにこのステツプの中で使用される。
この動作の完了時に、中断処理は完了され、中断
処理を実行しているプロセツサユニツトは処理ス
ケジユーラに入る。PS8 Step Upon completion of the PS7 step, it is necessary to insert the process into the selected timing chain, which is done by inserting the LEFT LINK NL in the header.
By reading the LINK slot, the last operation in the chain is identified and executed. Note that if the chain is empty, the "last processed" is the header itself. Once the last process in the list is identified, the link between this last process and the header is broken and re-formed by introducing the new process as the last process in the chain. The value X is also used in this step to ensure that the asset processing is woken up at or before time X.
Upon completion of this operation, the interrupt process is completed and the processor unit executing the interrupt process enters the process scheduler.
PS9ステツプ
新しく中断されたプロセスの待ち期間に等しい
インタバルを有するタイミングチエンがない場合
には、PS6ステツプはnパス上で終了する。
PS9,10,11ステツプはこの場合に実行され、マ
スタポインタブロツク(第8図)のFREEポイン
タからそのヘツダを取り除くと同様に、新しいタ
イミングチエンヘツダを使用し、WAKE UP,
INTおよびNEGSUMの(第9図)を設定する。PS9 Step If there is no timing chain with an interval equal to the waiting period of the newly suspended process, the PS6 step finishes on n passes.
Steps PS9, 10, and 11 are executed in this case, using the new timing chain header as well as removing that header from the FREE pointer in the master pointer block (Figure 8), WAKE UP,
Set INT and NEGSUM (Figure 9).
上述のことから、定められた期間処理を中断す
るには、その定められた期間に同じインタバルが
全てが待つている処理ダンプスタツクのチエンの
最後に処理ダンプスタツクが加えられることがわ
かる。そのタイミングチエンの管理は、タイミン
グチエンヘツダのWAKEUP,RIGHT LINK,
LEFT LINKおよびNEGSUMの値によつて達成
されている。 From the above, it can be seen that to suspend a process for a defined period of time, a process dump stack is added to the end of a chain of process dump stacks that are all waiting for the same interval during that defined period. The timing chain is managed by timing chain header WAKEUP, RIGHT LINK,
This is achieved by the values of LEFT LINK and NEGSUM.
ある処理が待ち期間マクロによつて中断される
と、(イ)必要なインタバルが終了するまで、または
(ロ)ある外部イベントの発生によつて取り除かれる
まで、その処理はタイミングチエン上におかれ
る。これらの動作は、いわゆるアシヤレツト
(USHERETTE)処理である第10図のフロー
チヤートによつて達成され、それらは上に定めら
れた順に記述される。 When a process is interrupted by a wait period macro, (a) the process will continue until the required interval ends;
(b) The process is placed on the timing chain until removed by the occurrence of some external event. These operations are accomplished by the flowchart of FIG. 10, the so-called USHERETTE process, and are described in the order defined above.
アシヤレツト処理
この処理は、最も短いタイミングチエン・ウエ
イクアツプ値が完了する時または完了する前に、
終了するように条件づけられ、アシヤレツト処理
に入るプロセツサユニツトのインタバルタイマ装
置の制御のもとに行なわれる。最も短い値を識別
する方法は、次の処理の中に定められる。基本的
にはアシヤレツト処理は、待ち期間が終了した処
理を確かめるためにタイミングチエンサーチ処理
として使用される。Assyret Processing This process is performed when or before the shortest timing chain wakeup value is completed.
This is done under the control of the interval timer device of the processor unit that is conditioned to terminate and enters the assharette process. The method of identifying the shortest value is defined in the following process. Essentially, the asset processing is used as a timing check process to ascertain which processes have completed their waiting period.
UP1ステツプ
この処理においては、アシヤレツト処理を実行
するプロセツサの中の汎用レジスタが処理のため
の値TIMEを蓄積するために使用され、このレジ
スタは現在のシステムの時間にセツトされる。UP1 Step In this process, a general purpose register in the processor performing the asset operation is used to store the value TIME for the process, and this register is set to the current system time.
UP2ステツプ
プロセツサの中の第2の汎用レジスタが値
NEXT TIMEを蓄積するために使用され、この
ステツプのそのレジスタの内容は大きな値、すな
わち全て1にセツトされる。UP2 step The second general-purpose register in the processor has a value
Used to store NEXT TIME, the contents of that register for this step are set to a large value, ie, all ones.
UP3ステツプ
プロセツサはチエンの中の最初のヘツダを点検
する。これはFIRST HEADERポインタ(第8
図)を使用して達成される。このステツプで実行
される動作は、プロセツサの汎用レジスタの1つ
であるタイミングチエンリストポインタ(TCL
POINTER)の中にFIRST HEADERの読み取り
を入れる。UP3 step The processor checks the first header in the chain. This is the FIRST HEADER pointer (8th
(Fig.) is achieved using. The operation performed in this step is based on the timing chain list pointer (TCL), which is one of the general-purpose registers of the processor.
Insert the FIRST HEADER reading into the POINTER).
UP4ステツプ
このステツプにおいては、TCL POINTER
は、チエンの中の最初のタイミングチエインヘツ
ダのWAKE UP値(第7図参照)を読み取るよ
うに使用されている。UP4 step In this step, TCL POINTER
is used to read the WAKE UP value of the first timing chain header in the chain (see Figure 7).
UP5ステツプ
プロセツサユニツトはちようど読みこんだ
WAKE UP値を値TIMEと比較する。一般的に、
プロセツサの中の別のレジスタの中に保持されて
いる2つの値の1方はMILLによつて他方から引
かれその結果がモニタされる。もしWAKE UP
>TIMEの場合には、最初のヘツダに対する
WAKE UPタイムが現在のシステムの時間より
大きいのでUP6のステツプなどは、チエンの中の
次のヘツダにステツプするように実行される。そ
のステツプの比較の結果が、TIMEがWAKE UP
に等しい(またはより大きい)ことを示している
場合には、UP11ステツプなどは、最初のタイミ
ングチエン上に最初の処理を引き出し、それを
「レデイ・トウ・ラン・リスト」上に置くように
実行される。最初のヘツダのWAKE UPがTIME
よりも大きいということがこのステージにおいて
は仮定される。UP5 step Processor unit has just loaded
Compare the WAKE UP value with the value TIME. Typically,
One of the two values held in separate registers in the processor is subtracted from the other by MILL and the result is monitored. If WAKE UP
>TIME, for the first header
Since the WAKE UP time is greater than the current system time, steps such as UP6 are executed to step to the next header in the chain. The result of the step comparison is that TIME is WAKE UP.
, then the UP11 step etc. is executed to pull the first process onto the first timing chain and place it on the "Ready to Run List". be done. WAKE UP of first header is TIME
It is assumed at this stage that .
UP6ステツプ
このステツプにおいては、WAKE UPがNEXT
TIMEと比較され、もしWAKE UPがNEXT
TIMEよりも小さい場合には、UP7ステツプが実
行される。この状態においては、仮定された
NEXT TIMEはUP2ステツプにおいてひじよう
に大きな値にセツトされ、従つてUP7ステツプが
実行される。UP6 step In this step, WAKE UP is NEXT
compared to TIME, if WAKE UP is NEXT
If it is less than TIME, the UP7 step is executed. In this state, the assumed
NEXT TIME is set to an elbow-high value in the UP2 step, so the UP7 step is executed.
UP7ステツプ
このステツプにおいては、NEXT TIMEは、
UP4ステツプでアドレスされたヘツダから読み取
られるWAKE UP値によつて書き換えられる。
遭遇するNEXT TIMEがTIMEによつて与えられ
る現在のシステムの時間に等しくなるまで、この
動作はサーチ「ダウン」を制御し、タイミングチ
エンヘツダはNEXT TIMEを遭遇する最も低い
値にセツトする。UP7 step In this step, NEXT TIME is
Overwritten by the WAKE UP value read from the header addressed in the UP4 step.
This action controls the search "down" until the NEXT TIME encountered is equal to the current system time given by TIME, and the timing chain header sets NEXT TIME to the lowest value encountered.
UP8ステツプ
UP4ステツプの中でアドレスされたダウンリン
クWDLINK(第7図および第8図)はこのステ
ツプにおいて、プロセツサの汎用レジスタの1つ
の中へ読み込まれる。UP8 Step The downlink WDLINK (FIGS. 7 and 8) addressed in the UP4 step is loaded into one of the processor's general purpose registers in this step.
UP9ステツプ
このステツプにおいては、ダウリンクがチエン
の終りを示すNULLであるかどうかを調べるため
にそのダウンリンクをテストする。ダウンリンク
はNULLでないと仮定されている。しかしなが
ら、タイムアウトまたは外部イベントを待つてい
るタイミングチエン上に処理を置くためにそのよ
うな状態が発生するということも指摘しなければ
ならないし、また外部イベントがタイムアウトの
前に発生する場合にはその処理はチエンから取り
除かれ、従つてアシヤレツト処理はそのタイムア
ウトに応答するためにWAKE UPされる。タイ
ミングチエンから処理を取り除くに必要な動作
は、UP11からUP18までのステツプに関係してお
り、後に説明される。UP9 Step This step tests the downlink to see if it is NULL indicating the end of the chain. It is assumed that the downlink is not NULL. However, it must also be pointed out that such a situation occurs because you are putting processing on a timing chain that is waiting for a timeout or an external event, and if the external event occurs before the timeout. The process is removed from the chain, so the asset process is WAKE UP to respond to its timeout. The operations required to remove processing from the timing chain are related to steps UP11 through UP18 and will be explained later.
UP10ステツプ
このステツプにおいてはUP8ステツプで読まれ
たダウンリンクWDLINKはタイミングチエンリ
ストポインタTCL POINTERとして使用される
汎用レジスタに書き込まれ、チエンの中の次のヘ
ツダからWAKE UP値を使用して再びUP4および
UP5ステツプを実行する。UP6ないしUP10ステ
ツプはTIMEに等しいWAKE UP値を有するヘツ
ダが見つかるか、または完全なヘツダチエンが横
切るまでくり返して実行される。WAKE UPが
UP5のステツプのTIMEに等しい条件が見つけら
れると、UP11ステツプが実行され、WAKE UP
期間が終了する時タイミングチエンから中断した
処理を取り除くステツプのチエンを起動する。UP10 Step In this step the downlink WDLINK read in the UP8 step is written to a general purpose register used as the timing chain list pointer TCL POINTER and then UP4 and again using the WAKE UP value from the next header in the chain.
Execute UP5 step. Steps UP6 through UP10 are executed repeatedly until a header with a WAKE UP value equal to TIME is found or a complete header chain is traversed. WAKE UP
If a condition equal to the TIME of the UP5 step is found, the UP11 step is executed and the WAKE UP
When the period ends, a chain of steps is activated that removes the interrupted process from the timing chain.
UP11ステツプ
このステツプにおいては、現在のシステム時間
に等しいWAKE UP値を有するTIMING LISTの
タイミングチエンヘツダのライトリンクR
LINK(第7図)はプロセツサの汎用レジスタの
1つの中に読み込まれる。この動作はヘツダによ
つて供給されるタイミングチエン上の最初の処理
ダンプスタツクを識別する。UP11 Step In this step, write link R of the timing chain header in TIMING LIST with WAKE UP value equal to the current system time.
LINK (Figure 7) is loaded into one of the processor's general purpose registers. This operation identifies the first processing dump stack on the timing chain provided by the header.
UP12ステツプ
このステツプにおいては、UP11ステツプで読
まれたライトリンクが、チエンが空きであるかど
うかを知らべるために試験される。タイミングチ
エンがタイムアウトまたは外部イベントの発生を
待つているダンプスタツクを有している場合には
再びそのような状態が発生し、後者が発生する
と、特定のタイミングチエンに対するWAKE
UPが終了する前に、タイミングチエンからその
処理を取り除く。UP5およびUP11ステツプに
「入つた」タイミングチエンはこの点においてや
がて処理されることを待つている処理ダンプスタ
ツクを持つていると仮定する。UP12 Step In this step, the write link read in the UP11 step is tested to see if the chain is free. If the timing chain has a dump stack waiting for a timeout or an external event to occur, then such a condition will occur again, and when the latter occurs, the WAKE for the particular timing chain
Remove the process from the timing chain before UP finishes. Assume that the timing chain that "entered" the UP5 and UP11 steps has a processing dump stack waiting to be processed at this point.
UP13ステツプ
このステツプにおいては、第10図のフローチ
ヤートにXとして定められている汎用レジスタが
タイミングチエンの隣側の増分値を読むために使
用される。UP13 Step In this step, the general purpose register designated as X in the flowchart of FIG. 10 is used to read the increment value on the adjacent side of the timing chain.
UP14ステツプ
このステツプにおいては、現在の最初の処理
は、リストを実行する準備状態に置かれるので、
この処理がチエンの中の最初の処理になるよう
に、タイミングチエンの右隣側の増分値(INC)
はゼロにセツトされる。UP14 step In this step, the current first process is put into a state ready to execute the list, so
Increment value (INC) on the right side of the timing chain so that this process is the first process in the chain.
is set to zero.
UP15ステツプ
このステツプにおいては、X値は、再活動され
る処理の除去を調整するように、タイミングチエ
ンヘツダの中のWAKE UP値およびNEGSUM値
を調整するために使用される。UP15 Step In this step, the X value is used to adjust the WAKE UP and NEGSUM values in the timing chain header to adjust for the removal of reactivated processes.
UP16ステツプ
このステツプにおいては、タイミングチエンヘ
ツダの中のライトリンク(IR LINK)およびレ
フトリンク(NL LINK)は前に構成したよう
に、チエン内の処理2が何であるかを指摘するよ
うに再形成される。UP16 Step In this step, the right link (IR LINK) and left link (NL LINK) in the timing chain header are rewritten to point out what process 2 in the chain is, as configured earlier. It is formed.
UP17ステツプ
プロセツサユニツトはウエイクアツプされるよ
うに準備されているUP5ないしUP12ステツプで
識別される処理をスケジユーラの「レデイ・ツ
ウ・ラン」リストに置くようにする。The UP17 step causes the processor unit to place processes identified in steps UP5 through UP12 that are ready to be woken up on the scheduler's "ready-to-run" list.
アシヤレツト処理は、TIMEによつて与えられ
る現在のシステムの時間でウエイクアツプされる
他の処理をサーチするUP8、UP9、UP10、UP4
およびUP5ステツプを実行する。最終的には、
UP9ステツプは、ヘツダチエンの最後に遭遇し、
UP19ステツプが実行される。 The associated processes search for other processes to be woken up at the current system time given by TIME: UP8, UP9, UP10, UP4
and execute the UP5 step. eventually,
UP9 step is encountered at the end of Hezdachien,
UP19 step is executed.
UP19ステツプ
このステツプにおいては、現在のシステム時間
に等しくないヘツダを問い合わせている間に遭遇
する最も低いWAKE UP値であるNEXT TIME
の最終値がHARDWARE TIMERシステムに書
き込まれ、その時点でアシヤレツト処理が再び作
動される。アシヤレツト処理は、現在のシステム
時間を待つて中断され、プロセツサの1つのイン
タバルタイマ装置を使用して、HARDWARE
TIAER値に到る。UP19 Step This step sets the NEXT TIME value, which is the lowest WAKE UP value encountered while querying a header that is not equal to the current system time.
The final value of is written to the HARDWARE TIMER system, at which point the asset processing is activated again. Assharret processing is suspended waiting for the current system time and using an interval timer device on one of the processors to
The TIAER value is reached.
タイミングチエンから処理を取り除くために
は、UP11,UP12,UP13,UP14,UP15,UP16
およびUP17ステツプを実行することが必要であ
るにすぎない。第10図の点αは、特定の外部イ
ベントの発生によつて「強制」されるアシヤレツ
ト処理に入る点を示している。 To remove processing from the timing chain, UP11, UP12, UP13, UP14, UP15, UP16
It is only necessary to perform the and UP17 steps. Point .alpha. in FIG. 10 indicates the point at which an assylet process is entered that is "forced" by the occurrence of a specific external event.
上記のタイミングチエン機構は、従来の他の機
構に比べていくつかの利点を有している。これら
の利点の代表的なものは次の通りである。 The timing chain mechanism described above has several advantages over other conventional mechanisms. Representative of these advantages are as follows.
1 チエンへの新しい処理の追加が常に最後の所
に行なわれ、チエンおよびNEGSUM値により
容易な動作となつている。完全なチエンの横断
は必要でなく、たとえチエンがいかに長くとも
動作は効率的である。1 Adding new processes to a chain is always done last, making it easier to operate due to the chain and NEGSUM values. Complete chain traversal is not necessary and operation is efficient no matter how long the chain is.
2 チエンのどんな部分からでも処理を取り除く
ことは、そのチエンを横切る必要もなく、容易
で効率的な動作である。2 Removing the process from any part of the chain is an easy and efficient operation without the need to cross the chain.
3 リアルタイムシステムであるので、オーバー
フローが発生しないように時折り絶対時間値を
調整しなければならない場合でも、各ヘツダの
所で1つの値(WAKE UP)を調整すること
が必要なだけである。個々の処理ダンプスタツ
クの中の時間値は、相対的であり、調整される
必要はない。3. Being a real-time system, only one value (WAKE UP) needs to be adjusted at each header, even if the absolute time value must be adjusted from time to time to avoid overflow. Time values within individual process dump stacks are relative and do not need to be adjusted.
4 個々のチエンが空きになつた時(すなわちチ
エン上に他の処理がない時)、ヘツダは「空
き」であるといわれ、別のINTERVALに対し
て再び使用されることができるので、
INTERVAL値のセツトは、その瞬間の必要に
適するよう容易に行うことができる。4. When an individual chain becomes free (i.e. when there is no other processing on the chain), the header is said to be "free" and can be used again for another INTERVAL, so
Setting the INTERVAL value can be easily done to suit the needs of the moment.
第1a図および第1b図は、第1a図が左側に
置かれるように並んで置かれるものであり、本発
明の一実施例に使用するのに適したセントラルプ
ロセシングユニツトのブロツク図、第2図は、第
1a図および第1b図のCPUの中のレジスタを
示す図、第3図は、第1a図および第1b図の
CPUの中のメモリ保護(機能)レジスタを示す
図、第4図は、処理ダンプスタツクを示す図、第
5図は、処理ベースを示す図、第6図は、スケジ
ユーラのランニングリストを示す図、第7図は、
本発明によるタイミングチエンを示す図、第8図
は、タイミングチエンヘツダがリンクされている
方法を示している図、第9図は、処理中断アルゴ
リズムのフローチヤート図、および第10図は、
いわゆる「アシヤレツト」処理のフローチヤート
図である。
ACC STK……汎用スタツク、BASE STK…
…ベーススタツク、RES REG……RESレジスタ
ー、MILL……演算ユニツト、COMP……比較
器、IR……命令レジスター、OP REG……演算
レジスター、SDIREG……メモリ通信レジスタ
ー、μPROG……マイクロプログラミング制御式
セントラルプロセシングユニツト、TC/LMT
STK……TC/LMTスタツク。
1a and 1b, placed side by side with FIG. 1a on the left, are block diagrams of a central processing unit suitable for use in one embodiment of the present invention; FIG. is a diagram showing the registers in the CPU of FIGS. 1a and 1b, and FIG. 3 is a diagram showing the registers in the CPU of FIGS. 1a and 1b.
Figure 4 shows the memory protection (function) register in the CPU. Figure 4 shows the processing dump stack. Figure 5 shows the processing base. Figure 6 shows the running list of the scheduler. Figure 7 is
FIG. 8 is a diagram illustrating how the timing chain headers are linked; FIG. 9 is a flowchart of a process interruption algorithm; and FIG.
FIG. 2 is a flowchart of a so-called "assyret" process. ACC STK……General purpose stack, BASE STK…
...Base stack, RES REG...RES register, MILL...arithmetic unit, COMP...comparator, IR...instruction register, OP REG...arithmetic register, SDIREG...memory communication register, μPROG...microprogramming control type central Processing unit, TC/LMT
STK...TC/LMT stack.
Claims (1)
「待期間」命令を有する複数個の処理を取り扱う
形のリアルタイム・デジタルデータ処理装置であ
つて、前記装置は、前記処理に関する情報を蓄積
するメモリと、前記処理を実行するようにされた
少くとも一つのプロセツサユニツトとを有し、各
処理は、その処理が中断された時の処理に対する
ワーキング・パラメータを保持するために、メモ
リの中に情報セグメントを設けてあり、その情報
セグメント(DA)は、その処理に対する待期間
が完了するべき時刻の表示(INC)を有してお
り、情報セグメント・リンク情報(RIGHT
LINK;LEFT LINK)は、特定の同じ期間を有
する命令によつて中断される全ての処理の情報セ
グメントを情報が中断される時刻順に配列されて
いる第1のリンク・リストに形成し、又前記第1
のリンク・リストはメモリの中に蓄積されている
タイミング・チエーン・ヘツダー・セグメント
(TIMING CHAIN HEADER X)にもリンクさ
れており、前記特定の期間に独占的に割当てられ
ており、前記タイミング・チエーン・ヘツダー・
セグメント(TIMING CHAIN HEADER X)
は、前記第1のリンク・リスト上の第1の情報セ
グメント(PROCESS DUMP STACK 1)に対
する待期間が完了する時期を表示するウエイク・
アツプ値(WAKE UP)を蓄積し、各タイミン
グ・チエーン・ヘツダー・セグメント(TIMING
CHAIN HEADER X)は、前記タイミング・チ
エーン・ヘツダー・セグメントを第2のリストに
形成するヘツダー・リンク情報(WDLINK)を
有し、前記データ処理装置は、待期間が完了した
処理を確認するために前記第2のリストをサーチ
するタイミング・チエーン・サーチ処理を有し、
又前記データ処理装置はタイムインタバルを監視
し、そのインタバルの完了時に前記タイミング・
チエーン・サーチ処理を作動させるように条件づ
けられたインタバルタイミング装置(ITR)を作
動させる手段を有していることを特徴とする前記
データ処理装置。 2 特許請求の範囲第1項記載のデータ処理装置
において、各情報セグメント(DA)は、第1の
リンクポインタ(LEFT LINK)と第2のリンク
ポインタ(RIGHT LINK)とを有しており、前
記第1のリンクポインタ(LEFT LINK)は、前
記情報セグメントを前記第1リストのすぐ前の情
報セグメントに接続し、一方前記第2のリンクポ
インタ(RIGHT LINK)は、前記情報セグメン
トを前記第1リストのすぐ後に続く情報セグメン
トに接続している前記データ処理装置。 3 特許請求の範囲第1項又は第2項記載のデー
タ処理装置において、各情報セグメント(DA)
は、(i)情報セグメントのすぐ前にある前記情報セ
グメントを備えている処理に対する待期間が完了
する時期と、(ii)前記情報処理を備えている処理に
対する待期間が完了する時期との差の形で期間を
定めている増分値(INC)を有している前記デー
タ処理装置。 4 特許請求の範囲第1項から第3項までのいず
れかに記載のデータ処理装置において、各タイミ
ング・チエーン・ヘツダ・セグメント(TIMING
CHAIN HEADER X)は第1のチエーン・リン
ク・ポインタ(IRLINK)と第2のチエーン・リ
ンク・ポインタ(NLLINK)とを有しており、前
記第1のチエーン・リンク・ポインタは、前記第
1のリンク・リストの先頭にある情報セグメント
(PROCESS DUMP STACK 1)を指示し、一
方前記第2のチエーン・リンク・ポインタは、前
記第1のリンク・リストの終りにある前記情報セ
グメント(PROCESS DUMP STACK 3)を指
示している前記データ処理装置。 5 特許請求の範囲第4項記載のデータ処理装置
において、各タイミング・チエーン・ヘツダ・セ
グメント(TIMING CHAIN HEADER X)
は、前記チエーン・ヘツダ・セグメント
(TIMING CHAIN HEADER X)にリンクする
第1リストの中の全ての情報セグメントの増分値
の合計に関する加算値(NEGSUM)を有してい
る前記データ処理装置。 6 特許請求の範囲第1項から第5項までのいず
れかに記載のデータ処理装置において、前記デー
タ処理装置は、前記タイミング・チエーン・サー
チ処理に関連するタイミング・チエーン・ポイン
タ・ブロツク(MASTER POINTER BLOCK)
を有しており、前記ポインタ・ブロツクは前記第
2リストの中の第1のタイミング・チエーン・ヘ
ツダ・セグメント(XTVHEAD)を指摘する第
1のヘツダポインタ(ERWC/RWD)を有して
いる前記データ処理装置。 7 特許請求の範囲第1項から第6項までのいず
れかに記載のデータ処理装置において、前記処理
装置は、 イ 各タイミング・チエーン・ヘツダー・セグメ
ントの中のウエイク・アツプ値を読み取り、 ロ 前記ウエイク・アツプ値の読み取り値を前記
タイミングチエーン・サーチ処理が実行してい
る時間と比較し、 ハ 待期間が完了した処理と同じものを装置処理
スケジユーラのランニングリストに転送し、 ニ 前記処理に割当てられているそれぞれの第1
のリンクリストから前記情報セグメントを移動
したり、前記それぞれの第1のリンクリストを
再形成したりすることによつて前記第1のリン
クリストを調整し、 ホ 前記タイミング・チエーン・サーチ処理が実
行している時間を計算する 段階を有している前記タイミング・チエーン・サ
ーチ処理を行なう前記データ処理装置。 8 特許請求の範囲第7項記載のデータ処理装置
において、前記処理装置は、段階ニ)において、
前記情報セグメントの第1および第2リンクポイ
ンタを取り消し、前記タイミング・チエーン・ヘ
ツダ・セグメントを指示する各調整された第1の
リンクリストの次に続く情報セグメントの第2の
リンクポインタを調整し、前記次に続く情報セグ
メントを指示する各調整された第1のリンクリス
トのタイミング・チエーンヘツダ・セグメントを
調整する操作を有している前記データ処理装置。 9 特許請求の範囲第7項又は第8項のいずれか
に記載のデータ処理装置において、前記処理装置
は、段階ニ)において、前記の次に続く情報セグ
メントの増分値に従つて前記それぞれの第1リン
ク・リストの各タイミング・チエーン・ヘツダ・
セグメントのウエイク・アツプ値を調整する操作
を有している前記データ処理装置。 10 特許請求の範囲第1項から第9項までのい
ずれかに記載のデータ処理装置において、前記情
報セグメントは前記特定の処理に対するダンプス
タツクである前記データ処理装置。 11 特許請求の範囲第7項から第10項までの
いずれかに記載のデータ処理装置において、各プ
ロセツサユニツトは所定のリアルタイム値にセツ
トされるようにされ、前記所定のリアルタイム値
が発生した時、前記タイミング・チエーン・サー
チ処理が前記プロセツサユニツト上で実行される
ようにされたインタバル・タイミング装置を有し
ている前記データ処理装置。 12 特許請求の範囲第7項記載のデータ処理装
置において、前記処理装置は、段階ホ)におい
て、前記プロセツサユニツトの前記インタバルタ
イミング装置を前記タイミング・チエーン・サー
チ処理が実行する前記時間に従う時間値で前記タ
イミング・チエーン・サーチ処理を実行するよう
に条件づける操作を有している前記データ処理装
置。[Scope of Claims] 1. A real-time digital data processing apparatus for handling a plurality of processes, each having a "waiting period" instruction specifying one of a plurality of predetermined periods, the apparatus comprising: a memory for storing information regarding the processing, and at least one processor unit adapted to execute the processing, each processing retaining working parameters for the processing at the time the processing was interrupted. In order to do this, an information segment is provided in memory, the information segment (DA) having an indication (INC) of the time at which the waiting period for the process should be completed, and the information segment link information ( RIGHT
LINK; LEFT LINK) forms the information segments of all processes interrupted by certain instructions with the same duration into a first linked list in which the information is arranged in the order of the times in which they are interrupted; 1st
The linked list is also linked to a timing chain header segment stored in memory (TIMING CHAIN HEADER・Hetzder・
Segment (TIMING CHAIN HEADER X)
is a wake flag indicating when the waiting period for the first information segment (PROCESS DUMP STACK 1) on the first linked list is completed.
Accumulates the wake up value (WAKE UP) and uses it for each timing chain header segment (TIMING
CHAIN HEADER a timing chain search process for searching the second list;
The data processing device also monitors a time interval, and upon completion of the interval, the timing
The data processing apparatus characterized in that it comprises means for activating an interval timing device (ITR) conditioned to activate a chain search process. 2. In the data processing device according to claim 1, each information segment (DA) has a first link pointer (LEFT LINK) and a second link pointer (RIGHT LINK), A first link pointer (LEFT LINK) connects the information segment to the immediately preceding information segment in the first list, while a second link pointer (RIGHT LINK) connects the information segment to the immediately previous information segment in the first list. said data processing device connected to an information segment that immediately follows. 3. In the data processing device according to claim 1 or 2, each information segment (DA)
is the difference between (i) when the waiting period completes for a process with the information segment that immediately precedes the information segment, and (ii) when the waiting period completes for the process with the information process. Said data processing device having an incremental value (INC) defining a period in the form of . 4. In the data processing device according to any one of claims 1 to 3, each timing chain header segment (TIMING
CHAIN HEADER X) has a first chain link pointer (IRLINK) and a second chain link pointer (NLLINK), and the first chain link pointer The second chain link pointer points to the information segment (PROCESS DUMP STACK 3) at the beginning of the linked list, while the second chain link pointer points to the information segment (PROCESS DUMP STACK 3) at the end of the first linked list. ). 5. In the data processing device according to claim 4, each timing chain header segment (TIMING CHAIN HEADER X)
The data processing device has an additive value (NEGSUM) for the sum of incremental values of all information segments in the first list linked to the chain header segment (TIMING CHAIN HEADER X). 6. In the data processing device according to any one of claims 1 to 5, the data processing device includes a timing chain pointer block (MASTER POINTER block) related to the timing chain search process. BLOCK)
and the pointer block has a first header pointer (ERWC/RWD) pointing to a first timing chain header segment (XTVHEAD) in the second list. Processing equipment. 7. In the data processing device according to any one of claims 1 to 6, the processing device: (a) reads a wake-up value in each timing chain header segment; (b) the above. Compare the read value of the wake-up value with the time during which the timing chain search process is being executed, c) transfer the same process as the one whose waiting period has been completed to the running list of the device process scheduler, and d) assign it to the process. each first
adjusting the first linked list by moving the information segment from the linked list of each or reshaping the respective first linked list; and e) the timing chain search process is performed. The data processing device performs the timing chain search process, the data processing device comprising the step of calculating the time during which the timing chain search is performed. 8. In the data processing device according to claim 7, the processing device, in step d),
canceling the first and second link pointers of the information segment and adjusting the second link pointer of the information segment following each adjusted first link list pointing to the timing chain header segment; The data processing apparatus having an operation for adjusting a timing chain header segment of each adjusted first linked list pointing to the next succeeding information segment. 9. A data processing device according to claim 7 or 8, wherein in step d), the processing device performs the processing according to the increment value of the next succeeding information segment. 1 link list each timing chain header
The data processing device has an operation for adjusting a wake up value of a segment. 10. The data processing device according to any one of claims 1 to 9, wherein the information segment is a dump stack for the specific process. 11. In the data processing device according to any one of claims 7 to 10, each processor unit is set to a predetermined real-time value, and when the predetermined real-time value occurs, . The data processing apparatus comprising an interval timing device in which the timing chain search process is executed on the processor unit. 12. The data processing apparatus according to claim 7, wherein in step e), the processing apparatus sets the interval timing device of the processor unit to a time value according to the time at which the timing chain search process is executed. The data processing device has an operation for conditioning the timing chain search process to be performed at.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB286678 | 1978-01-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS54121040A JPS54121040A (en) | 1979-09-19 |
| JPS6236263B2 true JPS6236263B2 (en) | 1987-08-06 |
Family
ID=9747461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP698179A Granted JPS54121040A (en) | 1978-01-24 | 1979-01-24 | Real time data processor for processing period instruction |
Country Status (10)
| Country | Link |
|---|---|
| JP (1) | JPS54121040A (en) |
| AU (1) | AU533875B2 (en) |
| CA (1) | CA1217566A (en) |
| DE (1) | DE2902633A1 (en) |
| HK (1) | HK32183A (en) |
| KE (1) | KE3271A (en) |
| MY (1) | MY8400349A (en) |
| NL (1) | NL7900563A (en) |
| SG (1) | SG49083G (en) |
| ZA (1) | ZA79113B (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB133270A (en) * | 1900-01-01 | |||
| GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
| FR2261565B1 (en) * | 1974-02-20 | 1977-09-16 | Honeywell Bull Soc Ind | |
| JPS5164846A (en) * | 1974-12-03 | 1976-06-04 | Fujitsu Ltd |
-
1979
- 1979-01-10 ZA ZA79113A patent/ZA79113B/en unknown
- 1979-01-18 CA CA000319833A patent/CA1217566A/en not_active Expired
- 1979-01-19 AU AU43488/79A patent/AU533875B2/en not_active Ceased
- 1979-01-24 JP JP698179A patent/JPS54121040A/en active Granted
- 1979-01-24 NL NL7900563A patent/NL7900563A/en not_active Application Discontinuation
- 1979-01-24 DE DE19792902633 patent/DE2902633A1/en not_active Ceased
-
1983
- 1983-03-08 KE KE3271A patent/KE3271A/en unknown
- 1983-08-10 SG SG49083A patent/SG49083G/en unknown
- 1983-08-25 HK HK321/00A patent/HK32183A/en unknown
-
1984
- 1984-12-30 MY MY349/84A patent/MY8400349A/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| MY8400349A (en) | 1984-12-31 |
| JPS54121040A (en) | 1979-09-19 |
| ZA79113B (en) | 1980-03-26 |
| KE3271A (en) | 1983-04-22 |
| AU4348879A (en) | 1979-08-02 |
| DE2902633A1 (en) | 1979-07-26 |
| HK32183A (en) | 1983-09-02 |
| NL7900563A (en) | 1979-07-26 |
| CA1217566A (en) | 1987-02-03 |
| AU533875B2 (en) | 1983-12-15 |
| SG49083G (en) | 1985-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS5841538B2 (en) | Multiprocessor system instructions | |
| JPH0810437B2 (en) | Guest execution control method for virtual machine system | |
| Ackerman et al. | An implementation of a multiprocessing computer system | |
| JPS6236263B2 (en) | ||
| GB2030331A (en) | Real-time Data Processing System for Processing Time Period Commands | |
| CN110083473A (en) | Improvement system and method based on RISC-V framework bus access mistake | |
| JPH0512751B2 (en) | ||
| US7818549B2 (en) | Event driven digital signal processor with time constraints | |
| JPH07114517A (en) | Program execution control method for multiprocessor system | |
| JPS6336023B2 (en) | ||
| JPS6152761A (en) | Arithmetic unit | |
| JPS59144955A (en) | Information processor | |
| JPS6049464A (en) | Inter-processor communication system of multi-processor computer | |
| JP2876629B2 (en) | Data processing device | |
| JPS595370A (en) | Processing time controlling system | |
| Gracon et al. | A high performance computing system for time critical applications | |
| JPH03182945A (en) | Transfer system for data in main storage | |
| JPS58142451A (en) | Interruption control system | |
| JPH0462093B2 (en) | ||
| JPH0424828A (en) | Multi-task control system | |
| JPS62217326A (en) | Computer capable of storing and switching plural os | |
| JPH0417530B2 (en) | ||
| JPS63155330A (en) | Microprogram controller | |
| JPS638841A (en) | Interruption accepting system | |
| JPH02193228A (en) | information processing equipment |