JPS60263238A - Information processor - Google Patents

Information processor

Info

Publication number
JPS60263238A
JPS60263238A JP59119703A JP11970384A JPS60263238A JP S60263238 A JPS60263238 A JP S60263238A JP 59119703 A JP59119703 A JP 59119703A JP 11970384 A JP11970384 A JP 11970384A JP S60263238 A JPS60263238 A JP S60263238A
Authority
JP
Japan
Prior art keywords
instruction
execution
buffer
speed
executing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP59119703A
Other languages
Japanese (ja)
Inventor
Satoru Miyayama
哲 宮山
Takahiko Yamada
山田 喬彦
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP59119703A priority Critical patent/JPS60263238A/en
Publication of JPS60263238A publication Critical patent/JPS60263238A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To execute efficiently the multiprocessing of plural processes by providing plural high-speed instruction buffers, controlling an execution waiting queue independently of an instruction executing part, transferring an instruction set to the high-speed instruction buffer prior to an execution of the process, and executing it. CONSTITUTION:An instruction executing part 1 can execute immediately a process to a buffer having a busy display F in a high-speed buffer memory 3, and executes it by reading it out of the buffer 3. The read-out instruction is inputted to an instruction register 20 and decoded, the address of a program is given, and each instructing operation is executed by controlling an arithmetic unit 24, a register 23, etc. by a program read out of a control memory 22. When an instruction set is being executed, in case an access has been executed to an instruction which is not in a high-speed prefetch buffer, it is detected by the instruction executing part 1, and the executing process is switched. That is to say, the pre-executing process is halted, information which has displayed an executing state required for a restart is saved to a process control book 14, and re-registered to an execution waiting queue 3 as a halted process.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に係り、詳しくは複数のプロセス
を多重処理するために、主メモリとプロセッサ(命令実
行部)間にプロセスに対応した高速バッファを設けた情
報処理装置に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to an information processing device, and more specifically, in order to perform multiprocessing of a plurality of processes, a process-compatible device is provided between the main memory and the processor (instruction execution unit). The present invention relates to an information processing device equipped with a high-speed buffer.

〔従来技術〕[Prior art]

従来、高速バッファを持つ処理装置においては、主メモ
リに格納されたプログラムを実行する場合、一旦高速バ
ッファメモリにプログラムを引き上げて実行することに
より、プロセッサと高速バッファメモリの素子速度のマ
ツチングをとって命令の実行速度を上げていた。
Conventionally, in a processing device with a high-speed buffer, when executing a program stored in the main memory, the program is first uploaded to the high-speed buffer memory and executed, thereby matching the element speeds of the processor and the high-speed buffer memory. The speed of command execution was increased.

第2図は従来の高速バッファメモリを持つ処理装置を示
す図である。第2図において、7はプロ・セッサで、演
算回路、レジスタ群等からなる命令実行部8.高速バッ
ファメモリ9から構成される。
FIG. 2 is a diagram showing a conventional processing device having a high-speed buffer memory. In FIG. 2, reference numeral 7 denotes a processor, and an instruction execution section 8 consisting of an arithmetic circuit, a group of registers, etc. It is composed of a high-speed buffer memory 9.

プロセッサ7はアドレスバス、データバス等からなる外
部バス2を介してプログラム、データを格納する主メモ
リ6に接続される。
The processor 7 is connected to a main memory 6 that stores programs and data via an external bus 2 consisting of an address bus, a data bus, and the like.

プログラムを実行する場合、高速バッファを持たない処
理装置では、命令実行部が主メモリから命令をフェッチ
して来て命令を実行するが、第2図の高速バッファを持
つ処理装置では、命令実行部8が高速バッファメモリ9
から命令をフェッチして命令を実行する。すなわち、命
令実行部8がスタート時にエントリされる主メモリ6の
プログラムを高速バッファメモリ9のサイズ分だけ、高
速バッファメモリ9に読込んで命令を逐次実行する。こ
のようにして命令を実行して行くが、命令実行の途中で
ジャンプ命令等の分岐条件に遭遇し。
When executing a program, in a processing device that does not have a high-speed buffer, the instruction execution unit fetches an instruction from the main memory and executes the instruction, but in a processing device that has a high-speed buffer as shown in Figure 2, the instruction execution unit 8 is high speed buffer memory 9
Fetch the instruction from and execute the instruction. That is, the instruction execution unit 8 reads the program in the main memory 6 entered at the time of start into the high-speed buffer memory 9 by the size of the high-speed buffer memory 9, and sequentially executes the instructions. Instructions are executed in this way, but a branch condition such as a jump instruction is encountered during instruction execution.

その分岐先が主メモリ6のプログラムの場合は、その分
岐先から高速バッファメモリ9に読込んで命令を実行す
る。
If the branch destination is a program in the main memory 6, the instruction is read from the branch destination into the high-speed buffer memory 9 and executed.

(従来の問題点) 従来のこの種の高速バッファメモリを持つ処理装置は、
分岐条件の少ない単一処理のプログラムを実行する上で
は命令の実行速度を上げることができる。しかし、複数
のプロセスを取扱いしかもプロセスの切替えが頻繁であ
る多重処理(たとえば、多数の電話機から処理要求を受
ける交換機の! 交換処理など)では、プロセスの切替
えが分岐条件に相当し、そのため命令の実行速度が上が
らず、高速バッファメモリを設けた効果が得られないと
いった欠点があった。
(Conventional problems) Conventional processing devices with this kind of high-speed buffer memory have
When executing a single-processing program with few branch conditions, the instruction execution speed can be increased. However, in multiprocessing where multiple processes are handled and the processes are frequently switched (for example, switching processing at a switch that receives processing requests from many telephones), the process switching corresponds to a branch condition, and therefore the instruction This has the disadvantage that the execution speed does not increase and the effect of providing a high-speed buffer memory cannot be obtained.

〔発明の目的〕[Purpose of the invention]

本発明の目的は複数のプロセスの多重処理を効率的に処
理する情報処理装置を提供することにある。
An object of the present invention is to provide an information processing device that efficiently processes multiple processing of a plurality of processes.

本発明は、高速命令バッファを複数面備え、プロセスを
実行する命令実行部とは独立に実行待ちキューを制御し
、プロセスの実行に先立って高速命令バッファに命令セ
ットを転送し、実行することにより上記目的を達成する
The present invention includes a plurality of high-speed instruction buffers, controls a pending queue independently of an instruction execution unit that executes a process, and transfers an instruction set to the high-speed instruction buffer and executes it prior to execution of a process. Achieve the above objectives.

〔発明の実施例〕[Embodiments of the invention]

第1図は本発明の一実施例を示す。第1図において、1
は命令実行部、2はプロセス対応の高速バッファメモリ
を示し、外部バス2によって接続されている。4はプロ
セスの実行待ちキューを制御する高速バッファメモリ制
御部、6は主メモリ、5は外部バスである。高速バッフ
ァメモリ制御部4は実行待ちにあるプロセスのキューを
制御し、主メモリ6上にあるそのプロセスの命令セット
を高速バッファメモリ3に転送する。
FIG. 1 shows an embodiment of the invention. In Figure 1, 1
2 indicates an instruction execution unit, and 2 indicates a high-speed buffer memory for processes, which are connected by an external bus 2. Reference numeral 4 indicates a high-speed buffer memory control unit that controls the execution queue of processes, 6 a main memory, and 5 an external bus. The high-speed buffer memory control unit 4 controls a queue of processes waiting to be executed, and transfers the instruction set of the process stored in the main memory 6 to the high-speed buffer memory 3.

第3図は高速バッファメモリ3の構成を示す。FIG. 3 shows the configuration of the high-speed buffer memory 3.

高速バッファメモリ3はn面のバッファとそのバッファ
の空塞表示からなり、待ち状態にあったある一つのプロ
セスの命令セットが主メモリから高速バッファメモリ3
のあるバッファに転送され、実行可能状態とされる。同
時に空塞表示は塞りを示すようにされる。
The high-speed buffer memory 3 consists of an n-sided buffer and an indication of whether the buffer is empty, and the instruction set of one process in a waiting state is transferred from the main memory to the high-speed buffer memory 3.
It is transferred to a buffer and made executable. At the same time, the blockage display is made to indicate blockage.

多重処理において、独立な制御のもとて並列的に処理さ
れる対象(プロセス)の実行はプロセス実体を使用して
進行する。例えば交換処理などの多重処理では複数の呼
を独立な制御により並列に処理するため、プロセス実体
は呼の発生ごとに生成され、呼の処理時に消滅する。プ
ロセス実体は第5図に14として示すごとく、そのプロ
セスの実行および状態を管理するプロセスコントロール
ブック(PCB)15と、実行中に使用するローカルデ
ータをスタック方式で゛格納するワークエリアI6から
なる。PCB 15は図示するようにリンク情報、プロ
セスの状態表示、プロセス中断時の退避情報エリア、ワ
ークエリアに関するワークエリア情報等を有する。複数
のプロセスは、それぞれが持つPCBの情報により多重
的に実行される。
In multiprocessing, execution of objects (processes) that are processed in parallel under independent control proceeds using process entities. For example, in multiprocessing such as switching processing, a plurality of calls are processed in parallel under independent control, so a process entity is created each time a call occurs, and disappears when the call is processed. As shown at 14 in FIG. 5, the process entity consists of a process control book (PCB) 15 that manages the execution and status of the process, and a work area I6 that stores local data used during execution in a stacked manner. As shown in the figure, the PCB 15 has link information, a process status display, a save information area when a process is interrupted, work area information regarding a work area, and the like. The plurality of processes are executed in multiple ways based on the information of the PCB that each process has.

複数のプロセスを矛盾なく多重処理するためには、プロ
セス間の同期、排他機能などが必要となり、実行中のプ
ロセスを中断、停止することがあるため、プロセスには
実行(状態1)、停止(状態2)、実行待ち(状態3)
の3つの状態が存在し、第4図に示した状態遷移を行う
。停止と実行待ちの2つの状態ではキュー制御によりプ
ロセスを管理する。生成されたプロセスはまず実行待ち
キューに登録され、状態1にあるプロセスの実行終了(
消滅)もしくは状態2,3への遷移により状態lに移る
In order to multi-process multiple processes without inconsistency, synchronization and exclusion functions between processes are required, and running processes may be interrupted or stopped. state 2), waiting for execution (state 3)
There are three states, and the state transitions shown in FIG. 4 are performed. In the two states of stopping and waiting for execution, processes are managed by queue control. The generated process is first registered in the execution queue, and the execution of the process in state 1 ends (
(extinction) or transition to state 2 or 3 to move to state l.

実行待ちキューは第5図に示すごとく、チェーン構造を
なしている。実行待ちのプロセスに対応したP−CB1
5は他の実行待ちのプロセスのリンク情報として次につ
ながれたプロセスのPCBを指すポインタをもつ。よっ
て実行待ちのプロセスはPCBのリンクをたどって予め
知ることができ、第5図は主メモリ上の共有の命令セッ
ト17に対して複数のプロセスがキューをなしている様
子を示す。
The execution queue has a chain structure as shown in FIG. P-CB1 corresponding to processes waiting to be executed
5 has a pointer pointing to the PCB of the next connected process as link information for other processes waiting to be executed. Therefore, the processes waiting to be executed can be known in advance by following the links on the PCB, and FIG. 5 shows how a plurality of processes are queued for the shared instruction set 17 on the main memory.

第6図は状態遷移とハードウェアを対応付で本発明の実
施例を示した図である。図において、命令実行部1はレ
ジスタ群23、演算器24、高速バッファメモリ3から
読出した命令がセットされる命令レジスタ20.マイク
ロプログラムシーケンサ21、制御メモリ22などから
なることを示す。状態3で実行待ちキューに登録された
プロセスは登録順に実行されるので、キュー情報をたど
ることにより、これから実行すべきプロセスを先行的に
知ることができる。制御部4はキューに登録されたプロ
セスのPCB 14をみて実行情報を得、これにより対
応した主メモリ6上の命令セットを先頭アドレスあるい
は実行中断アドレスから特定の単位でバッファ3へ転送
する。転送先バラf ファには転送前に「空き」 (E
)が表示され、転送後は「塞り」 (F)が表示される
。制御部4は実行待ちキューが空きの場合あるいは先取
りバッファが全て塞りの場合を除いて、この転送動作を
行う。第7図にこの制御部4における転送制御のフロー
を示す。
FIG. 6 is a diagram showing an embodiment of the present invention with correspondence between state transitions and hardware. In the figure, the instruction execution unit 1 includes a register group 23, an arithmetic unit 24, and an instruction register 20.0 to which instructions read from the high-speed buffer memory 3 are set. It is shown that it consists of a microprogram sequencer 21, a control memory 22, etc. Processes registered in the execution queue in state 3 are executed in the order in which they were registered, so by tracing the queue information, it is possible to know in advance which processes are to be executed. The control unit 4 obtains execution information by looking at the PCB 14 of the process registered in the queue, and based on this information, transfers the corresponding instruction set in the main memory 6 to the buffer 3 in a specific unit from the start address or the execution interruption address. The transfer destination balance f has "free space" (E
) will be displayed, and after the transfer, “Flocked” (F) will be displayed. The control unit 4 performs this transfer operation except when the execution queue is empty or when the prefetch buffers are all full. FIG. 7 shows the flow of transfer control in this control section 4.

命令実行部1では高速バッファメモリ3で塞り表示のあ
るバッファに対するプロセスが真に即時実行可能であり
、これをバッファメモリ3から読出して実行する。第8
図にこのプロセス実行、切り替えのフローを示す。バッ
ファから読出された命令は命令レジスタ20に取り込ま
れ、解読されて対応したマイクロプログラムのアドレス
を与える。制御メモリ22から読出されたマイクロプロ
グラムにより演算器24.レジスタファイル23などの
ハードウェアリソースを制御し、各命令の動作を行う。
In the instruction execution unit 1, a process for a buffer indicated as full in the high-speed buffer memory 3 can be executed truly immediately, and is read out from the buffer memory 3 and executed. 8th
The figure shows the flow of this process execution and switching. Instructions read from the buffer are captured in the instruction register 20 and decoded to provide the address of the corresponding microprogram. Based on the microprogram read from the control memory 22, the arithmetic unit 24. It controls hardware resources such as the register file 23 and operates each instruction.

命令セットの実行中、高速先取リバッファにない命令に
アクセスした場合には、命令実行部1でこれを検出し、
実行プロセスの切替えを行う。すなわち、前実行プロセ
スを中断し、再開に必要な実行状態を表示した情報(P
SW)をPCBへ退避して、中断プロセスとして実行待
ちキューへ再登録する。そしてそのバッファを空き表示
とし、次に実行すべきプロセスを決定する。
During execution of an instruction set, if an instruction that is not in the high-speed prefetch rebuffer is accessed, the instruction execution unit 1 detects this and
Switch the execution process. In other words, information (P
SW) is saved to the PCB and re-registered in the execution queue as an interrupted process. The buffer is then marked as empty and the next process to be executed is determined.

上記の実行待ちキューへ再登録された中断プロセスは順
番に従っていずれ命令セットがバッファメモリ3へ転送
され、実行に移される。
The instruction set of the suspended processes re-registered to the execution queue is transferred to the buffer memory 3 according to the order in which they are executed.

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

以上説明したように、複数プロセスを並列に処理する多
重処理システムにおいて、プロセスの状態遷移に実行待
ちキューによる制御を用いる場合には、本発明を実施す
ることで命令実行部から高速な命令アクセスが可能とな
る。本発明では実行すべきプロセスが実行待ちキューに
登録されることを利用して、どのプロセスを実行するか
を予め知る。二とが可能な点と、命令セットを先取リバ
ッファへ先行的に転送しておくことを結びつけて。
As explained above, in a multiprocessing system that processes multiple processes in parallel, when using execution queue control for process state transition, by implementing the present invention, high-speed instruction access from the instruction execution unit is possible. It becomes possible. The present invention utilizes the fact that processes to be executed are registered in an execution queue to know in advance which process is to be executed. The second is possible, and the instruction set is transferred to the prefetch rebuffer in advance.

高速命令アクセスを実現したことに特徴がある。It is characterized by high-speed instruction access.

また、キュー情報の読み取り、先取リバッファへの転送
、及び実行プロセスの切替え処理は全てハードウェアで
サポートできることから、ユーザはプログラム作成段階
で、プロセスの切替え、中断を意識する必要はない。
Furthermore, since reading of queue information, transfer to the preemption rebuffer, and switching of execution processes can all be supported by hardware, the user does not need to be conscious of switching or interrupting processes at the program creation stage.

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

第1図は本発明の一実施例を示すブロック図、第2図は
従来例を示すブロック図、第3図は第1図の高速バッフ
ァメモリ3の構成を示す図、第4図はプロセスの状態遷
移を示す図、第5図はプロセス実体の構造と実行待ちキ
ューの構成を示す図。 第6図は状態遷移とハードウェアを対応付けて本発明を
説明する図、第7図は制御部4における転送制御のフロ
ーを示す図、第8図は命令実行部1におけるプロセス実
行、切り替えの制御のフローを示す図である。 ■・・・命令実行部、3・・・高速バッファメモリ。 4・・・制御部、 6・・・主メモリ。 第11 第2図 第3図 第6図 K”
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a block diagram showing a conventional example, FIG. 3 is a diagram showing the configuration of the high-speed buffer memory 3 in FIG. 1, and FIG. 4 is a diagram showing the process. FIG. 5 is a diagram showing the state transition, and FIG. 5 is a diagram showing the structure of the process entity and the configuration of the execution queue. FIG. 6 is a diagram explaining the present invention by associating state transitions with hardware, FIG. 7 is a diagram showing the flow of transfer control in the control section 4, and FIG. 8 is a diagram showing process execution and switching in the instruction execution section 1. FIG. 3 is a diagram showing a control flow. ■...Instruction execution unit, 3...High speed buffer memory. 4...Control unit, 6...Main memory. 11 Figure 2 Figure 3 Figure 6 K”

Claims (1)

【特許請求の範囲】[Claims] (1)複数のプロセスを多重処理する情報処理装置にお
いて、命令実行部から高速アクセス可能な命令バッファ
を複数面備え、実行待ちキューからプロセスを取出し、
該プロセスに対応する主メモリ上の命令セットを上記命
令バッファの一面に転送し1、上記命令実行部は既に命
令セットが転送されている上記バッファの一面から命令
を読み出して実行し、この実行中に上記バッファにない
命令にアクセスした場合、このプロセスを中断して実行
待ちキューに登録すると共に、上記命令バッファの他の
プロセスのための命令セットによる処理を実行すること
を特徴とする情報処理装置。
(1) An information processing device that multi-processes multiple processes is equipped with multiple instruction buffers that can be accessed at high speed from the instruction execution unit, and takes out processes from an execution queue.
The instruction set on the main memory corresponding to the process is transferred to one side of the instruction buffer 1, and the instruction execution unit reads and executes the instruction from one side of the buffer to which the instruction set has already been transferred, and during this execution An information processing device characterized in that when an instruction not in the buffer is accessed, the process is interrupted and registered in an execution queue, and at the same time, processing according to an instruction set for other processes in the instruction buffer is executed. .
JP59119703A 1984-06-11 1984-06-11 Information processor Pending JPS60263238A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59119703A JPS60263238A (en) 1984-06-11 1984-06-11 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59119703A JPS60263238A (en) 1984-06-11 1984-06-11 Information processor

Publications (1)

Publication Number Publication Date
JPS60263238A true JPS60263238A (en) 1985-12-26

Family

ID=14767989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59119703A Pending JPS60263238A (en) 1984-06-11 1984-06-11 Information processor

Country Status (1)

Country Link
JP (1) JPS60263238A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182168A (en) * 1993-12-24 1995-07-21 Nec Corp Arithmetic unit and its control method
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
JP2005100034A (en) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd Information processing control system
JP2007510989A (en) * 2003-11-06 2007-04-26 インテル・コーポレーション Dynamic caching engine instructions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182168A (en) * 1993-12-24 1995-07-21 Nec Corp Arithmetic unit and its control method
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
JP2005100034A (en) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd Information processing control system
US8135909B2 (en) 2003-09-24 2012-03-13 Panasonic Corporation System for starting a preload of a second program while a first program is executing
JP2007510989A (en) * 2003-11-06 2007-04-26 インテル・コーポレーション Dynamic caching engine instructions

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
EP0087978B1 (en) Information processing unit
KR930008265B1 (en) Input-output control method in a virtual machine system
KR19990044957A (en) Methods and apparatus that affect the processing of subsequent instructions in a data processor
JPH02156334A (en) Information processor
JPH0769812B2 (en) Data processing device
JPS60263238A (en) Information processor
JP2591200B2 (en) Program prefetching device
JPH0377137A (en) Information processor
JP2846904B2 (en) Additional processing unit control method
JPH03223955A (en) Information processing system
KR950004227B1 (en) Information processing system
JP2581327B2 (en) Virtual machine I / O interrupt handling method
JPS62121549A (en) High speed system for os simulator
JPH02230326A (en) Pipe line information processor
JPS60252954A (en) Program control circuit
JPS61166631A (en) Microprogram control processor
JPS6191727A (en) Information take-over system
JPH10143376A (en) Information processing device
JPS61184644A (en) Control system of virtual computer system
JPH04276827A (en) Pipe line processor
JPH0333954A (en) Information processor
JPH0659916A (en) Instruction prefetching device
JPH0752393B2 (en) Data processing device
JPS61157948A (en) Interrupt source analyzing device