JPS6119048B2 - - Google Patents

Info

Publication number
JPS6119048B2
JPS6119048B2 JP55182742A JP18274280A JPS6119048B2 JP S6119048 B2 JPS6119048 B2 JP S6119048B2 JP 55182742 A JP55182742 A JP 55182742A JP 18274280 A JP18274280 A JP 18274280A JP S6119048 B2 JPS6119048 B2 JP S6119048B2
Authority
JP
Japan
Prior art keywords
register
address
general
stored
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP55182742A
Other languages
Japanese (ja)
Other versions
JPS57106963A (en
Inventor
Kyosumi Sato
Kazuyuki Shimizu
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP55182742A priority Critical patent/JPS57106963A/en
Publication of JPS57106963A publication Critical patent/JPS57106963A/en
Publication of JPS6119048B2 publication Critical patent/JPS6119048B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 本発明はマイクロプログラム方式のデータ処理
方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microprogram-based data processing system.

サービスプロセツサ(以下、SVPとする)を有
するデータ処理装置においては、診断命令の処理
の一部をSVPが代行して行う。この場合、中央処
理装置(以下、CPUとする)が診断命令を受信
すると、CPUは停止状態となつて、診断命令の
実行をSVPに要求する。SVPはこの診断命令を解
読して指定された処理を行う。この処理におい
て、CPU側の主メモリのアクセスを必要する場
合がある。この場合、SVPがCPUに対して主メ
モリのアクセス命令の実行要求を行う。しかしな
がら、CPU側においては、アドレス計算に必要
な指標レジスタXR、基底レジスタBRとして用い
られている汎用レジスタの内容をCPUの本来の
処理以外で変更してはいけないという原則があ
り、従つて、SVPがこのような汎用レジスタの現
在の内容に依存しない任意のアドレスを発生した
い場合には、従来、SVPとCPUに対して以下に
示す命令実行を要求していた。
In a data processing device having a service processor (hereinafter referred to as SVP), the SVP performs part of the processing of diagnostic commands on behalf of the user. In this case, when the central processing unit (hereinafter referred to as CPU) receives a diagnostic command, the CPU enters a halt state and requests the SVP to execute the diagnostic command. The SVP decodes this diagnostic command and performs the specified processing. This process may require access to the main memory on the CPU side. In this case, the SVP requests the CPU to execute a main memory access instruction. However, on the CPU side, there is a principle that the contents of the general-purpose registers used as the index register If you want to generate an arbitrary address that does not depend on the current contents of such general-purpose registers, conventionally you would request the SVP and CPU to execute the following instructions.

1 使用したい汎用レジスタの内容をSVP内のメ
モリに退避させる。
1. Save the contents of the general-purpose register you want to use to the memory in the SVP.

2 SVPがアクセスしたい主メモリのアドレスを
上記汎用レジスタに格納する。
2 Store the address of the main memory that SVP wants to access in the above general-purpose register.

3 命令実行を要求する。3 Request execution of command.

4 命令実行の完了後に、SVP内に退避していた
内容を汎用レジスタに復元する。
4 After the instruction execution is completed, restore the contents saved in the SVP to the general-purpose register.

従つて、上述の従来方式においては、使用たい
汎用レジスタの内容の退避および復元のために処
理時間が長くなるという問題点がある。
Therefore, the conventional method described above has a problem in that it takes a long processing time to save and restore the contents of the general-purpose register to be used.

本発明の目的は、SVPがCPU側の主メモリを
アクセスする必要がある場合には、汎用レジスタ
以外のレジスタたとえばワークレジスタの内容を
アドレス計算に用いるという構想にもとづき、汎
用レジスタの内容の退避および復元の処理を不要
にし、従つて、処理時間を短縮し、前述の従来方
式における問題点を解決することにある。
The purpose of the present invention is to save the contents of general-purpose registers and to use the contents of registers other than general-purpose registers, such as work registers, for address calculation when SVP needs to access main memory on the CPU side. The object of the present invention is to eliminate the need for restoration processing, thereby shortening processing time, and solving the problems in the conventional method described above.

以下、図面により本発明の実施例を説明する。 Embodiments of the present invention will be described below with reference to the drawings.

添付図は本発明の一実施例としてのSVPを有す
るデータ処理装置のブロツク回路図である。図に
おいて、SVP1はCPUに対する各種のコマンド
をレジスタ2に格納する。このレジスタ2にはオ
ペレーシヨンコードも与えられる。制御回路3は
SVP1からの各種コマンドを実行するためのタイ
ミング信号および制御信号を発生する。
The attached figure is a block circuit diagram of a data processing device having an SVP as an embodiment of the present invention. In the figure, SVP1 stores various commands for the CPU in register 2. This register 2 is also given an operation code. The control circuit 3
Generates timing signals and control signals for executing various commands from SVP1.

制御用メモリ4は各種のマイクロ命令を記憶し
ており、この制御用メモリ4は、レジスタ2に記
憶された命令のオペレーシヨンコードあるいは命
令バツフア5に記憶された命令のオペレーシヨン
コード制御回路3から発生された固定アドレス
FAなどをアドレスとしてアクセスされる。な
お、6は制御用メモリ4のアドレスレジスタであ
つて、制御回路3からの固定アドレスFAあるい
はマイクロ命令で指定されたネクストアドレスな
どを記憶するためのものである。このようにし
て、制御用メモリ4から読出されたマイクロ命令
にもとづいて制御回路7は図の装置全体を制御す
る。
The control memory 4 stores various microinstructions, and the control memory 4 stores the operation code of the instruction stored in the register 2 or the operation code of the instruction stored in the instruction buffer 5 from the control circuit 3. Fixed address generated
Accessed using FA, etc. as an address. Note that 6 is an address register of the control memory 4, which is used to store the fixed address FA from the control circuit 3 or the next address specified by a microinstruction. In this manner, the control circuit 7 controls the entire apparatus shown in the figure based on the microinstructions read from the control memory 4.

CPUの通常の動作においては、1つの命令が
命令バツフア5から選択され、バツフア8およ
び、アドレス計算に使用される汎用レジスタ番号
を指定するレジスタ9,10に転送される。レジ
スタ9,10の値に応じて汎用レジスタ群11か
ら汎用レジスタが選択され、これらの汎用レジス
タの内容はROBB,ROBXを通つてアドレスレジ
スタ12に格納される。なお、アドレスレジスタ
12にはバツフア8の値も格納される。アドレス
計算加算器13はアドレスレジスタ12に格納さ
れた値にもとづいて行う。すなわち、この場合、
汎用レジスタ11の値を用いてアドレス計算を行
う。Sユニツト14は加算器13の加算結果のア
ドレスにもとづいて主メモリ(図示せず)のアク
セスを行い、次に、Eユニツト15はある種の演
算を実行する。レジスタ16に記憶された演算結
果は、必要に応じて、汎用レジスタ11、アドレ
ス計算加算器13、Sユニツト14、Eユニツト
15およびワークレジスタ群17に格納される。
また、制御用メモリ4のアドレスは、上記により
選択された命令コードがアドレスとなり、そこか
ら読出されたマイクロ命令により上記動作が指定
されるものである。
In normal operation of the CPU, one instruction is selected from instruction buffer 5 and transferred to buffer 8 and registers 9 and 10 that specify general register numbers used for address calculations. General-purpose registers are selected from the general-purpose register group 11 according to the values of registers 9 and 10, and the contents of these general-purpose registers are stored in the address register 12 through ROBB and ROBX. Note that the value of the buffer 8 is also stored in the address register 12. The address calculation adder 13 performs the calculation based on the value stored in the address register 12. That is, in this case,
Address calculation is performed using the value of general-purpose register 11. The S unit 14 accesses the main memory (not shown) based on the address of the addition result of the adder 13, and then the E unit 15 performs some kind of operation. The operation results stored in the register 16 are stored in the general-purpose register 11, address calculation adder 13, S unit 14, E unit 15, and work register group 17 as necessary.
Further, the address of the control memory 4 is the instruction code selected above, and the above operation is specified by the microinstruction read from there.

次にSVP1がCPUに主メモリのアクセスを要
求する場合について説明する。この場合には、
SVP1は命令実行コマンドをレジスタ2に発生す
る。これにより、以後は、命令バツフア5のオペ
レーシヨンコードの代りに、レジスタ2のオペレ
ーシヨンコードにもとづいて上述の通常の命令実
行処理が行われる。
Next, the case where SVP1 requests the CPU to access the main memory will be explained. In this case,
SVP1 generates an instruction execution command to register 2. Thereby, from now on, the above-described normal instruction execution processing is performed based on the operation code in register 2 instead of the operation code in instruction buffer 5.

さらにまた、レジスタ2にワークレジスタ群1
7の使用の指定があれば、制御回路3は固定アド
レスFAをアドレスレジスタ6に送出し、この結
果、固定アドレスFAがアドレスレジスタ6に格
納される。従つて、アドレスレジスタ6に記憶さ
れた固定アドレスFAによつて制御用メモリ4が
アクセスされ、この結果マイクロ命令が読出され
て制御回路7に設定される。これにより、ワーク
レジスタ群17のデータROB1,ROB2が読出
され、レジスタ18,19およびEユニツト15
を介して演算結果レジスタ16に格納される。次
に、制御回路7は上記命令コードをアドレスとし
て制御用メモリ4から通常実行される1語目のマ
イクロ命令を読出すべき指定をする。この1語目
のマイクロ命令が実行されるときに、制御回路3
が演算結果レジスタ16の内容をアドレス計算加
算器13に強制的に入力させるための信号FFを
発生する。この結果、アドレス計算加算器13は
アドレスレジスタ12からの入力をたとえばデー
タROBB,ROBXの入力を強制的に禁止して、演
算結果レジスタ16の値を入力し、この加算結果
をSユニツト14に送出する。
Furthermore, work register group 1 is added to register 2.
7, the control circuit 3 sends the fixed address FA to the address register 6, and as a result, the fixed address FA is stored in the address register 6. Therefore, the control memory 4 is accessed by the fixed address FA stored in the address register 6, and as a result, the microinstruction is read out and set in the control circuit 7. As a result, data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out, and the data ROB1 and ROB2 of the work register group 17 are read out.
The result is stored in the calculation result register 16 via the . Next, the control circuit 7 uses the instruction code as an address to specify that the first word microinstruction to be normally executed should be read from the control memory 4. When this first word microinstruction is executed, the control circuit 3
generates a signal FF for forcibly inputting the contents of the operation result register 16 to the address calculation adder 13. As a result, the address calculation adder 13 forcibly prohibits input from the address register 12, such as data ROBB and ROBX, inputs the value of the operation result register 16, and sends the addition result to the S unit 14. do.

なお、上述のごとくワークレジスタ群17を用
いてアドレス計算を行う場合には、SVP1によつ
て予めデータROB3をワークレジスタ群17に
設定しておく。また、図において、“SEL”で表
示されたブロツクはセレクタを示す。
Note that when performing address calculation using the work register group 17 as described above, data ROB3 is set in the work register group 17 in advance by SVP1. Also, in the figure, the block labeled "SEL" indicates a selector.

以上説明したように本発明によれば、SVPが
CPU側の主メモリをアクセスするときに、固定
アドレスにより制御用メモリから読出されたマイ
クロ命令を用いて、汎用レジスタ以外のレジスタ
たとえば一時的にデータを格納するために設けら
れたワークレジスタの値を読出し、この値をアド
レス計算加算器の入力段となり得るEユニツトの
演算結果レジスタに格納し、オペランドアドレス
計算を行うに際し、演算結果レジスタの値を強制
的にアドレス計算加算器に入力している。この結
果、汎用レジスタの内容の退避および復元の処理
が不要となり、従つて、処理時間を短縮すること
ができ、前述の従来方式における問題点の解決に
役立つものである。
As explained above, according to the present invention, SVP
When accessing main memory on the CPU side, microinstructions read from control memory using fixed addresses are used to read the values of registers other than general-purpose registers, such as work registers provided for temporarily storing data. This value is read out and stored in the operation result register of the E unit which can be the input stage of the address calculation adder, and when calculating the operand address, the value of the operation result register is forcibly input to the address calculation adder. As a result, the process of saving and restoring the contents of the general-purpose registers is no longer necessary, and therefore the processing time can be shortened, which is useful in solving the problems of the conventional method described above.

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

添付図面は本発明の一実施例としてのSVPを有
するデータ処理装置のブロツク回路図である。 1……SVP、2……レジスタ、3……制御回
路、4……制御用メモリ、5……命令バツフア、
7……制御回路、11……汎用レジスタ群、12
……アドレスレジスタ、13……アドレス計算加
算器、14……Sユニツト、15……Eユニツ
ト、17……ワークレジスタ群。
The accompanying drawing is a block circuit diagram of a data processing device having an SVP as an embodiment of the present invention. 1...SVP, 2...Register, 3...Control circuit, 4...Control memory, 5...Instruction buffer,
7... Control circuit, 11... General purpose register group, 12
...address register, 13...address calculation adder, 14...S unit, 15...E unit, 17...work register group.

Claims (1)

【特許請求の範囲】[Claims] 1 制御用メモリに格納されたマイクロ命令を順
次取出して命令を実行するマイクロプログラム方
式のデータ処理方式において、所定条件の発生に
よつて発生した固定アドレスにより、前記制御用
メモリから特殊なマイクロ命令を取出し、該特殊
なマイクロ命令により汎用レジスタ以外の第1の
レジスタの内容を読出し、該第1のレジスタの内
容をアドレス加算器の入力段となり得る第2のレ
ジスタに格納し、オペランドアドレス計算に際
し、前記第2のレジスタの内容を前記アドレス加
算器に強制的に入力してアドレス計算をするよう
にしたことを特徴とするデータ処理方式。
1. In a microprogram data processing system that sequentially retrieves microinstructions stored in a control memory and executes the instructions, a special microinstruction is executed from the control memory using a fixed address generated when a predetermined condition occurs. The content of a first register other than a general-purpose register is read by the special microinstruction, the content of the first register is stored in a second register that can be an input stage of an address adder, and when calculating an operand address, A data processing method characterized in that address calculation is performed by forcibly inputting the contents of the second register to the address adder.
JP55182742A 1980-12-25 1980-12-25 Data processing system Granted JPS57106963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55182742A JPS57106963A (en) 1980-12-25 1980-12-25 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55182742A JPS57106963A (en) 1980-12-25 1980-12-25 Data processing system

Publications (2)

Publication Number Publication Date
JPS57106963A JPS57106963A (en) 1982-07-03
JPS6119048B2 true JPS6119048B2 (en) 1986-05-15

Family

ID=16123634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55182742A Granted JPS57106963A (en) 1980-12-25 1980-12-25 Data processing system

Country Status (1)

Country Link
JP (1) JPS57106963A (en)

Also Published As

Publication number Publication date
JPS57106963A (en) 1982-07-03

Similar Documents

Publication Publication Date Title
JP2539199B2 (en) Digital processor controller
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
JPH0430053B2 (en)
US4520441A (en) Data processing system
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JP2730896B2 (en) Data processing device
JPH0766365B2 (en) Co-processor control system
EP0348053B1 (en) Controlling the initiation of logical systems in a data processing system with logical processor facility
US4124892A (en) Data processing systems
JPS601655B2 (en) Data prefetch method
JP2535086B2 (en) Ring reduction logic device
JPH0721766B2 (en) FORTRAN I/O control processor
JPS59172044A (en) Instruction control system
JPS62125437A (en) Additional processor control method
JP2743947B2 (en) Micro program control method
JPS61133440A (en) Data processing unit
JPH0471219B2 (en)
JPS6149695B2 (en)
JPH0150936B2 (en)
JPH0635716A (en) Microprocessor
JPS61112240A (en) Data processor
JPS5955546A (en) Firmware processor
JPH04358258A (en) Server/client type numerical calculating system
JPH04290130A (en) Error control system of processor
Neumann Disk-based program swapping in 8080-based microcomputers