JPS60112140A - Access system of stack - Google Patents

Access system of stack

Info

Publication number
JPS60112140A
JPS60112140A JP58221014A JP22101483A JPS60112140A JP S60112140 A JPS60112140 A JP S60112140A JP 58221014 A JP58221014 A JP 58221014A JP 22101483 A JP22101483 A JP 22101483A JP S60112140 A JPS60112140 A JP S60112140A
Authority
JP
Japan
Prior art keywords
data
stack
register
flag
stored
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
JP58221014A
Other languages
Japanese (ja)
Inventor
Yasunori Kimura
康則 木村
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 JP58221014A priority Critical patent/JPS60112140A/en
Publication of JPS60112140A publication Critical patent/JPS60112140A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute operation between two set of stacked data by one machine cycle by storing stacked data used frequently for a high-speed register and values of their stacked pointers and by accessing the register and the stack. CONSTITUTION:When assuming that a programmer uses frequently data 12 in a stack 2 afterwards, some one bit having a micro-field is turned on as a specific bit. A stack pointer 1 instructs address data 12, outputs the data 12 to an arithmetic system from a terminal A and stores them in a data register 9. A V-flag of a flag register 6 is turned on, which shows effectiveness of data in the register 9. Operation of the data 12 accesses the data register 9 inserted of accessing the stack 2. In such a case in which the newest data 13 specified by the stack pointer 1 are added to the data 12 stored in the stack 2, the data 13 are read out from the terminal 13, the data 12 are read out from the data regisrer 9 through the terminal B, the operation can be executed by one machine cycle.

Description

【発明の詳細な説明】 (a)発明の技術分野 本発明は中央処理装置内にハードウェアスタックとその
アドレスを指示するスタックポインタを備えた計算機シ
ステムの中央処理装置に係り、特に前記スタックのデー
タ相互間で演算を行う場合、該スタックに先に格納した
データを該データのアドレスを示すスタックポインタの
値と共にレジスタに格納しておき、スタックポインタの
更新回数を減少させると共に1マシンサイクルで演算す
ることを可能とし、且つ前記レジスタのデータをスタッ
クに戻すかどうかを、該データの状態を示すフラグによ
り判定し、中央処理装置の不必要な制御を省略し得るス
タックのアクセス方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (a) Technical Field of the Invention The present invention relates to a central processing unit of a computer system that is equipped with a hardware stack in the central processing unit and a stack pointer that indicates the address of the hardware stack. When performing mutual operations, the data previously stored on the stack is stored in a register along with the stack pointer value indicating the address of the data, reducing the number of times the stack pointer is updated and performing the operation in one machine cycle. The present invention relates to a stack access method in which it is possible to determine whether data in the register is to be returned to the stack based on a flag indicating the state of the data, and to omit unnecessary control by a central processing unit.

(b)従来技術と問題点 従来、スタックを用いる計算機システムにおいては、ス
タックのアドレスを指示するスタックポインタが當に1
マシンサイクル中はスタック上の一つのアドレスを指示
しているため、スタック内に記憶されている第1のデー
タと第2のデータとの演算は一部スタックポインタを第
1のデータを得るため設定し、第1のデータをレジスタ
に読出してから、改めて第2のデータを得るためスタッ
クポインタを設定し直さねばならず、最低2マシンサイ
クルを必要とする。従ってスタックに対するアクセスが
遅くなり、演算速度が遅いという欠点がある。
(b) Prior art and problems Conventionally, in computer systems that use a stack, there is only one stack pointer that indicates the address of the stack.
During a machine cycle, one address on the stack is pointed to, so some operations on the first and second data stored in the stack require setting the stack pointer to obtain the first data. However, after reading the first data into the register, the stack pointer must be reset to obtain the second data, which requires at least two machine cycles. Therefore, there is a drawback that access to the stack is slow and the calculation speed is slow.

(C)発明の目的 本発明の目的は上記欠点を除くため、比較的頻繁に使用
すると考えられるスタックのデータはスタックに保存す
ると共にレジスタにも保存しておき、実際のアクセスは
このレジスタに対して実施することでアクセスの高速化
を計ると共に、演算する場合に第1のデータはレジスタ
から第2のデータはスタックから読出すことで第1と第
2のスタックデータ間の演算を可能とするスタックのア
クセス方式を提供することにある。
(C) Purpose of the Invention The purpose of the present invention is to eliminate the above-mentioned drawbacks by storing stack data that is considered to be used relatively frequently in the stack and also in a register, and actually accessing the data in a register. In addition to speeding up access by implementing this method, when performing an operation, the first data is read from the register and the second data is read from the stack, making it possible to perform operations between the first and second stack data. Its purpose is to provide a stack access method.

(d)発明の構成 本発明の構成はスタックとそのアドレスを指示するスタ
ックポインタを備えたデータ処理装置において、前記ス
タックに格納されたデータの一部とそれらのデータのア
ドレスを格納するレジスタと、該レジスタの記憶内容が
前記スタックで書替えられたかどうかを示すフラグとを
設け、前記フラグの内容により、前記レジスタに格納さ
れたデータの有効性を判別し、該レジスタの記憶内容を
利用してスタックデータの演算を行うようにしたもので
ある。
(d) Configuration of the Invention The configuration of the present invention is a data processing device equipped with a stack and a stack pointer that indicates the address thereof, and a register that stores part of the data stored in the stack and the address of the data; A flag indicating whether the memory content of the register has been rewritten in the stack is provided, and the validity of the data stored in the register is determined based on the content of the flag, and the stack is rewritten using the memory content of the register. It is designed to perform data calculations.

(e)発明の実施例 本発明は高速のレジスタに頻繁に用いるスタックデータ
と、そのスタックポインタの値を保存しておき、該レジ
スタとスタックとをアクセスして2つのスタックデータ
間の演算を1マシンサイクルで行うようにしたものであ
る。又前記レジスタのデータが有効か否かを示すフラグ
と該レジスタのデータがスタックから書込まれた後に書
替えられたことがあるかどうかを示すフラグとを設け、
これらのフラグにより、スタックのデータとレジスタの
データとの整合性を保証するようにしたものである。そ
してこれらの制御はマイクロプログラムレベルでの割込
みにより処理するようにして高速性を損なわぬようにし
たものである。
(e) Embodiments of the Invention The present invention stores frequently used stack data and the value of its stack pointer in a high-speed register, and accesses the register and stack to perform operations between two stack data in a single operation. This is done using machine cycles. Further, a flag indicating whether the data in the register is valid or not and a flag indicating whether the data in the register has been rewritten after being written from the stack is provided,
These flags ensure consistency between stack data and register data. These controls are processed by interrupts at the microprogram level so as not to impair high speed.

第1図は本発明の一実施例を示す回路のブロック図であ
る。スタック2は例えば矢印ialで示す方向に順次新
しいデータが格納されデータの記憶領域が上から下に伸
長し、データの処理が済むと前記と逆方向に下からデー
タが消去されてデータの記(,1領域が減少する。そし
てスタック2をアクセ、スするアドレスはスタックポイ
ンタ1が指示する。
FIG. 1 is a block diagram of a circuit showing one embodiment of the present invention. For example, in the stack 2, new data is stored sequentially in the direction shown by the arrow ial, and the data storage area expands from top to bottom. When the data processing is completed, data is erased from the bottom in the opposite direction to the data storage area ( , 1 area is decreased.The address for accessing stack 2 is indicated by stack pointer 1.

今マイクロプログラムを作成するプログラマがスタック
2内のデータ12を以後の処理で頻繁に使用すると考え
てマイクロフィールド(マイクロプログラムの一部)の
或1ビット、例えばピッ1−“48″をオンとする。第
2図はマイクロフィールドの模式図である。例えば“0
″から“48”迄の49ビツトで構成されるマイクロフ
ィールドのピッ1−”48”を特定ビットとし、この特
定ビット“4B”がオンの場合下記の動作を行わせる。
A programmer who is currently creating a microprogram thinks that data 12 in stack 2 will be frequently used in subsequent processing, and turns on a certain bit of the micro field (part of the microprogram), for example, pin 1-"48". . FIG. 2 is a schematic diagram of a microfield. For example, “0
Pit 1-"48" of the micro field consisting of 49 bits from "" to "48" is set as a specific bit, and when this specific bit "4B" is on, the following operation is performed.

この時スタックポインタ1は点線の如くアドレスを指示
しデータ12は端子Aより演算系に出力されると共にデ
ータレジスタ9に格納されて保存される。この時フラグ
レジスタ6のVフラグをオンとしてデータレジスタ9の
データが有効であることを示し、フラグレジスタ6のW
フラグはオフの・ままとする。
At this time, stack pointer 1 indicates an address as shown by the dotted line, and data 12 is output from terminal A to the arithmetic system and stored in data register 9 for preservation. At this time, the V flag of the flag register 6 is turned on to indicate that the data in the data register 9 is valid, and the W flag of the flag register 6 is turned on.
Leave the flag off.

又この時のスタックポインタ1の値、即ちデータ12の
アドレスをアドレスレジスタ3に格納する。
Also, the value of stack pointer 1 at this time, ie, the address of data 12, is stored in address register 3.

この後のデータ12に対する処理はスタック2をアクセ
スすることなく、データレジスタ9をアクセスする。従
ってスタックポインタ1の指示する最新のデータエ3と
先にスタック2に格納されたデータ12との加算をする
ような場合、端子へからデータ13が読出され、データ
レジスタ9がら端子Bを経てデータ12が読出されるた
め、■マシンサイクルで演算することが出来る。そして
スタックポインタ1はアドレスを更新する必要がなし・
若しデータレジスタ9にスタック2がらデータ12が読
出されて格納された後、データの書替えが実施された時
はフラグレジスタ6のWフラグをオンとする。本実施例
はアドレスレジスタ、フラグレジスタ、データレジスタ
を夫々3個用いる場合を示す。従って前記動作と同様に
して先にスタック2に格納したデータをデータレジスタ
10.11に、そのアドレスをアドレスレジスタ4.5
に夫々格納し、フラグレジスタ7.8のフラグを夫々設
定することで頻繁に使用するデータを34ffi類用意
し得る。
Subsequent processing of data 12 accesses data register 9 without accessing stack 2. Therefore, when adding the latest data 3 indicated by stack pointer 1 to data 12 previously stored in stack 2, data 13 is read from the terminal, and data 12 is read from the data register 9 via terminal B. is read out, calculations can be performed in (1) machine cycles. And stack pointer 1 does not need to update its address.
If the data 12 is read from the stack 2 and stored in the data register 9 and then rewritten, the W flag of the flag register 6 is turned on. This embodiment shows a case where three address registers, three flag registers, and three data registers are used. Therefore, similar to the above operation, the data previously stored in the stack 2 is stored in the data register 10.11, and its address is stored in the address register 4.5.
34ffi types of frequently used data can be prepared by storing the data in each of the data registers 7 and 8 and setting the flags in the flag registers 7 and 8, respectively.

若しデータレジスタ9,10.11に入れるべきデータ
が4以上となった時には割込み処理ルーチンによりデー
タレジスタ9,10.11の内の一つからデータをスタ
ック2に返戻する。例えばデータレジスタ9のデータ1
2を返戻するとすると、フラグレジスタ6のWフラグを
調ベオフのままならば返戻動作を行わない。従って中央
処理装置の不要な制御動作を防止出来る。オンの場合は
アドレスレジスタ3に格納されているスタック2のアド
レスを端子Cより読取り、スタック2のデータ12が格
納されている領域に新しいデータ12をデータレジスタ
9より書込む。従ってスタック2のデータとデータレジ
スタ9,10.11のデータとの整合性が保証される。
If the number of data to be stored in the data registers 9, 10.11 is 4 or more, the interrupt processing routine returns the data from one of the data registers 9, 10.11 to the stack 2. For example, data 1 of data register 9
If 2 is to be returned, the return operation will not be performed if the W flag in the flag register 6 remains off. Therefore, unnecessary control operations of the central processing unit can be prevented. If it is on, the address of stack 2 stored in address register 3 is read from terminal C, and new data 12 is written from data register 9 into the area where data 12 of stack 2 is stored. Therefore, consistency between the data in the stack 2 and the data in the data registers 9, 10, and 11 is guaranteed.

又スタック2のデータが消去され記憶領域が縮む時、ス
タックポインタlの値が例えばデータ12のアドレスよ
り小さくなると、フラグレジスタ6の■フラグをオフと
する。これによりデータレジスタ9はクリアされる。
Further, when the data in the stack 2 is erased and the storage area is reduced, if the value of the stack pointer l becomes smaller than, for example, the address of the data 12, the ■ flag of the flag register 6 is turned off. This clears the data register 9.

(f)発明の詳細 な説明した如く、本発明はスタックに対するスタックポ
インタの更新回数を大幅に減少することが出来、スタソ
クデークとスタックデータ間の演算が1マシンサイクル
で可能となり演算速度を大幅に向上させることが出来る
(f) As described in detail, the present invention can significantly reduce the number of updates of the stack pointer to the stack, and the operation between the stack data and the stack data can be performed in one machine cycle, greatly improving the operation speed. I can do it.

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

第1図は本発明の一実施例を示す回路のブロック図、第
2図はマイクロフィールドの模式図である。 1はスタックポインタ、2はスタック、3,4゜5はア
ドレスレジスタ、6,7.8はフラグレジスタ、9,1
0.11はデータレジスタである。
FIG. 1 is a block diagram of a circuit showing one embodiment of the present invention, and FIG. 2 is a schematic diagram of a micro field. 1 is the stack pointer, 2 is the stack, 3,4゜5 is the address register, 6,7.8 is the flag register, 9,1
0.11 is a data register.

Claims (1)

【特許請求の範囲】[Claims] スタックとそのアドレスを指示するスタックポインタを
備えたデータ処理装置において、前記スタックに格納さ
れたデータの一部とそれらのデータのアドレスを格納す
るレジスタと、該レジスタの記憶内容が前記スタックで
書替えられたかどうかを示すフラグとを設け、前記フラ
グの内容により、前記レジスタに格納されたデータの有
効性を判別し、該レジスタの記憶内容を利用してスタッ
クデータの演算を行うことを特徴とするスタックのアク
セス方式。
A data processing device equipped with a stack and a stack pointer that indicates the address thereof, and a register that stores part of the data stored in the stack and the address of the data, and a register whose storage contents are rewritten by the stack. a flag indicating whether or not the data is stored in the register, the validity of the data stored in the register is determined based on the contents of the flag, and the stack data is operated using the stored contents of the register. access method.
JP58221014A 1983-11-24 1983-11-24 Access system of stack Pending JPS60112140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58221014A JPS60112140A (en) 1983-11-24 1983-11-24 Access system of stack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58221014A JPS60112140A (en) 1983-11-24 1983-11-24 Access system of stack

Publications (1)

Publication Number Publication Date
JPS60112140A true JPS60112140A (en) 1985-06-18

Family

ID=16760121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58221014A Pending JPS60112140A (en) 1983-11-24 1983-11-24 Access system of stack

Country Status (1)

Country Link
JP (1) JPS60112140A (en)

Similar Documents

Publication Publication Date Title
JPH02235156A (en) Information processor
JPH0248931B2 (en)
JPH0810437B2 (en) Guest execution control method for virtual machine system
US5581720A (en) Apparatus and method for updating information in a microcode instruction
JPS6319058A (en) Memory device
JPS60112140A (en) Access system of stack
JP3211423B2 (en) Branch instruction execution method and branch instruction execution device
JP2000029690A (en) Method and device for data processing
JPS6032220B2 (en) information processing equipment
JPS6230455B2 (en)
JPH0385636A (en) Instruction advance control device
JPH01130237A (en) Information processor
JPS60193046A (en) Detecting system for instruction exception
JPS63129432A (en) Program address tracing device
JP2657947B2 (en) Data processing device
JPH0795288B2 (en) Microcomputer
JPH0546465A (en) Data access system for computer
JPS629926B2 (en)
JPS5887613A (en) Input and output controlling system
JPS62204338A (en) Lisp language processing system
JPH01188943A (en) Data processing system for symbol processing
JPH02259932A (en) Interruption processing system
JPS62100842A (en) Data processor
JPS5857699A (en) Access controlling system of memory loop
JPH05241828A (en) Command processor