JPS628245A - Virtual memory system - Google Patents

Virtual memory system

Info

Publication number
JPS628245A
JPS628245A JP60147831A JP14783185A JPS628245A JP S628245 A JPS628245 A JP S628245A JP 60147831 A JP60147831 A JP 60147831A JP 14783185 A JP14783185 A JP 14783185A JP S628245 A JPS628245 A JP S628245A
Authority
JP
Japan
Prior art keywords
data
virtual
address
tag
data type
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
JP60147831A
Other languages
Japanese (ja)
Inventor
Etsuro Odan
大段 悦朗
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60147831A priority Critical patent/JPS628245A/en
Publication of JPS628245A publication Critical patent/JPS628245A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To eliminate the necessity to reduce a virtual space with adding a tag by constituting each different virtual space according to a data type represented by the tag. CONSTITUTION:A tag check part 530 discriminates the data type from the tag part 120 of a virtual address 110 inputted from a control part 510, and outputs a data type discriminating signal to the control part 510. The control part decides a process according to the data type discriminating signal. An address conversion part 540 judges whether a page represented at the virtual address 110 is existed or not at a main memory. When it is existed at the main memory 20, the part converts the virtual address 110 to an actual address 210, and when it is not, it outputs a page fault signal. The control part 510 transfers the page requested to access by the page fault signal from a secondary memory device 30 to the main memory 20 and allocates an RPN part.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想記憶方式に関し、特にタグを有するデータ
を処理する計算機システムにおける仮想記憶方式に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a virtual storage system, and particularly to a virtual storage system in a computer system that processes data with tags.

〔従来の技術〕[Conventional technology]

従来から計算機システムでは、実メモリ容量より大きな
アドレス空間でプログラムを実行するために仮想記憶方
式が採用され、プログラムから見える論理的なアドレス
空間(仮想空間)は、物理的な実メモリ容量で決まる実
アドレス空間(実空間)とは無関係に大きくすることが
可能になった(村岡洋−著:コンピュータアーキテクチ
ャ、近代科学社、コンピュータサイエンス大学講座、p
p。
Traditionally, computer systems have adopted a virtual memory method to execute programs in an address space larger than the real memory capacity, and the logical address space (virtual space) visible to the program is the real memory determined by the physical real memory capacity. It became possible to enlarge the address space (real space) (Hiroshi Muraoka - Author: Computer Architecture, Kindai Kagakusha, Computer Science University Course, p.
p.

77−90.1981)。77-90.1981).

一方、従来の一般的な汎用計算機では命令とデータの区
別がなく、データの型はそのデータを処理するプログラ
ムによって規定される6例えば、あるデータのビットパ
ターンが文字を表わすのか数値を表わすのかは、そのデ
ータを処理するプロダラムの論理的な意味付けによって
異なる。したがって、データ型によってダイナミックに
処理を行なうためには、プログラムでデータ型の管理を
行なう必要があり、記述能力や性能の面で問題があった
On the other hand, in conventional general-purpose computers, there is no distinction between instructions and data, and the type of data is determined by the program that processes the data6.For example, whether the bit pattern of certain data represents a character or a numeric value is , differs depending on the logical meaning of the program processing the data. Therefore, in order to dynamically perform processing using data types, it is necessary to manage the data types using a program, which poses problems in terms of descriptive ability and performance.

そこで、データ型を表わすタグをデータに付加すること
により、データ自身に論理的な意味付けを行なうタグア
ーキテクチャが考えられた(G。
Therefore, a tag architecture was devised that assigns logical meaning to the data itself by adding a tag representing the data type to the data (G).

J、 Myers : Advances in  C
omputer Archi−tecture、  A
  Willey −1nterscience pu
bli−cation+ pp、37−45.1978
 )。
J. Myers: Advances in C.
computer architecture, A
Willey-1nterscience pu
bli-cation+pp, 37-45.1978
).

(発明が解決しようとする問題点〕 しかし、従来のデータ形式にタグを付加するには、計算
機の語長を拡張する、計算機の語長はそのままでデータ
の語長を短くする、あるいはデータを指すアドレス側に
そのデータ型を表わすタグを付加するなどの方式が考え
られるが、第1および第2の方式では、従来の計算機と
の互換性が悪く、ハードウェア資源の共有やデータの共
有等が難しくなるという欠点がある。
(Problem to be solved by the invention) However, in order to add tags to conventional data formats, it is necessary to extend the word length of the computer, shorten the word length of the data without changing the word length of the computer, or One possible method is to add a tag indicating the data type to the address being pointed to, but the first and second methods are not compatible with conventional computers and require sharing of hardware resources, data, etc. The disadvantage is that it becomes difficult.

一方、第3の方式では、前述の仮想記憶方式の仮想アド
レスと付加されるタグのビット長の総和が従来の計算機
の語長より小さい場合はあまり問題はなかったが、仮想
空間の拡張によって仮想アドレスのビット幅が大きくな
るとタグを付加することができず、したがってタグを付
加するためには、仮想空間の大きさを制限しなければな
らないという欠点がある。
On the other hand, with the third method, if the sum of the virtual address of the virtual memory method and the bit length of the added tag is smaller than the word length of the conventional computer, there is not much problem, but due to the expansion of the virtual space, If the bit width of the address becomes large, tags cannot be added, and therefore, in order to add tags, the size of the virtual space must be limited, which is a drawback.

C問題点を解決するための手段〕 本発明の仮想記憶方式は、タグ付きデータを処理する中
央処理装置と、前記データを実アドレスで記憶するメイ
ンメモリと、前記データを仮想アドレスで記憶する2次
記憶装置と、前記タグが表わすデータ型に応じてそれぞ
れ異なるように前記2次記憶装置上に構成された複数の
仮想空間とを有する。
Means for Solving Problem C] The virtual storage system of the present invention includes a central processing unit that processes tagged data, a main memory that stores the data in real addresses, and 2 that stores the data in virtual addresses. It has a secondary storage device, and a plurality of virtual spaces configured differently on the secondary storage device depending on the data type represented by the tag.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第5図は本発明による仮想記憶方式の一実施例を示す概
略ブロック図である。
FIG. 5 is a schematic block diagram showing an embodiment of the virtual storage system according to the present invention.

タグ付きデータを処理する中央処理装置10は、実アド
レスでデータを記憶するメインメモリ20に接続されて
おり、メインメモリ20は仮想アドレスでデータを記憶
する2次記憶装230に接続されている。2次記憶装置
30上に記憶される仮想空間およびメインメモリ20上
に記憶される実空間は、いずれもページという単位に分
割されている。仮想空間上のページは、中央処理装置1
0によって必要に応じて実空間上のページにロードされ
、実アドレスによって中央処理装置10からアクセスさ
れる。
The central processing unit 10 that processes tagged data is connected to a main memory 20 that stores data in real addresses, and the main memory 20 is connected to a secondary storage device 230 that stores data in virtual addresses. The virtual space stored on the secondary storage device 30 and the real space stored on the main memory 20 are both divided into units called pages. Pages in the virtual space are processed by the central processing unit 1
0 is loaded into a page in real space as needed, and accessed from the central processing unit 10 using a real address.

このような仮想記憶方式は周知であり、ここではこれ以
上詳しく述べない。
Such virtual storage schemes are well known and will not be discussed in further detail here.

本発明の仮想記憶方式では、仮想空間は第2図に示すよ
うにデータ型によって複数に分割されている。この分割
単位をセグメントと呼ぶ。データ型が2″個ある場合、
仮想空間は2″個に分割される。各セグメントは、前述
のページ単位にさらに小さく分割されている。
In the virtual storage system of the present invention, the virtual space is divided into a plurality of parts depending on the data type, as shown in FIG. This division unit is called a segment. If there are 2″ data types,
The virtual space is divided into 2'' segments. Each segment is further divided into the aforementioned page units.

第2図のような仮想空間を構成するための仮想アドレス
の形式の一例を第3図に示す。この仮想アドレス110
は、タグ部120 、P I D (PageI de
nLification )部130およびオフセント
部140の3つの部分から構成されている。タグ部12
0は、仮想アドレス110で指されるデータのデータ型
を定義すると同時に、仮想空間上でのセグメント番号を
表わしている。PID部130は、タグ部120で示さ
れるセグメント内でのページ番号を表わしている。オフ
セット部140は、PID部130で示されるページ内
でのアドレス偏位を表わしている。
FIG. 3 shows an example of the format of a virtual address for constructing a virtual space such as that shown in FIG. 2. This virtual address 110
The tag part 120, PID (PageI de
It is composed of three parts: an nLification part 130 and an offset part 140. Tag section 12
0 defines the data type of the data pointed to by the virtual address 110 and at the same time represents a segment number in the virtual space. The PID section 130 represents the page number within the segment indicated by the tag section 120. The offset section 140 represents address deviation within the page indicated by the PID section 130.

第4図に、第3図の仮想アドレス110に対応して変換
された実アドレスの形式を示す。実アドレス210は、
RPN (Real Page Number)部22
0およびオフセット部230の2つの部分から構成され
ている。RPN部220は、実空間上でのページ番号を
表わしている。オフセット部230は、RPN部220
で示されるページ内でのアドレス偏位を表わし、第3図
のオフセット部140と同一のものになっている。
FIG. 4 shows the format of the real address converted corresponding to the virtual address 110 of FIG. The real address 210 is
RPN (Real Page Number) section 22
0 and an offset section 230. The RPN section 220 represents a page number in real space. The offset section 230 is the RPN section 220
This represents the address deviation within the page as shown by , and is the same as the offset section 140 in FIG.

一方、第3図に示したタグ部120は、中央処理装[1
0によりてデータ型が識別され、その情報はアクセスし
たデータを処理する屍に利用される。
On the other hand, the tag section 120 shown in FIG.
0 identifies the data type, and that information is used by the corpse to process the accessed data.

第1図は中央処理装置10の内部ブロックの一例を示し
ている。制御部510は各ブロックを制御しており、デ
ータバスおよび制御パスによって各ブロックと接続され
ている。演算部520は、制御部510から入力される
データと制御情報とによりデータの演算を行なう、タグ
チェック部530は、制御部510から入力される仮想
アドレス110のタグ部120からデータ型を識別し、
データ型識別信号を制御部510に出力する。制御部5
10は、タグチェック部530から検出したデータ型識
別信号に従ってデータに対する処理を決定する。アドレ
ス変換部540は、制御部510から入力される仮想ア
ドレス110で示されるページがメインメモリ20にあ
るか否かを判定する。もしメインメモリ20にあれば、
仮想アドレス110を実アドレス210に変換し、もし
メインメモリ20になければ、ページフォールト信号を
制御部510に出力する。制御部510は、アドレス変
換部540からページフォールト信号を検出すると、ア
クセス要求のあったページを2次記憶装置30からメイ
ンメモリ20に転送し、第3図のタグ部120およびP
ID部130に対応させて第4図のRPN部220を割
り当てる。
FIG. 1 shows an example of internal blocks of the central processing unit 10. As shown in FIG. A control unit 510 controls each block and is connected to each block via a data bus and a control path. The calculation unit 520 performs data calculation based on the data and control information input from the control unit 510. The tag check unit 530 identifies the data type from the tag unit 120 of the virtual address 110 input from the control unit 510. ,
A data type identification signal is output to control section 510. Control unit 5
10 determines processing for the data according to the data type identification signal detected from the tag check unit 530. The address conversion unit 540 determines whether the page indicated by the virtual address 110 input from the control unit 510 exists in the main memory 20. If it is in main memory 20,
The virtual address 110 is converted to a real address 210, and if the address does not exist in the main memory 20, a page fault signal is output to the control unit 510. When the control unit 510 detects a page fault signal from the address conversion unit 540, the control unit 510 transfers the page requested for access from the secondary storage device 30 to the main memory 20, and transfers the page to which the access request has been made from the secondary storage device 30 to the main memory 20.
The RPN section 220 shown in FIG. 4 is assigned in correspondence with the ID section 130.

次に、実際にタグ付きデータが演算される過程を具体例
で示しながら説明する。ここでは、整数データと浮動少
数点数データの加算を実行する場合を示す。まず、演算
すべき第1のデータ(整数Xとする)を指す仮想アドレ
ス(VA+)をタグチェック部530に入力し、データ
型を識別する。
Next, a process in which tagged data is actually calculated will be explained using a specific example. Here, a case is shown in which addition of integer data and floating point number data is executed. First, a virtual address (VA+) pointing to the first data to be calculated (assumed to be an integer X) is input to the tag check unit 530 to identify the data type.

この場合、整数データを表わす信号< f ixnum
 >が検出される0次に、演算すべき第2のデータ(浮
動少数点数Yとする)を指す仮想アドレス(VAz)を
同じくタグチェック部530に入力し、浮動少数点数デ
ータを表わす信号<fltnum>が検出される。
In this case, the signal representing integer data < f ixnum
>0 is detected Next, the virtual address (VAz) indicating the second data to be calculated (assumed to be a floating point number Y) is also input to the tag check unit 530, and the signal <fltnum representing floating point number data is inputted to the tag check unit 530. > is detected.

制御部510は、第1のデータ型識別信号<Hxnum
〉と第2のデータ型識別信号<fltnus>とを比較
して一致していないことを認識し、この場合、第1のデ
ータを浮動少数点数に変換することを決定する。そこで
、第1のデータを読み出すために仮想アドレスVA、を
アドレス変換部540に入力する。ここで、ページフォ
ールト信号が発生しないと仮定して、仮想アドレスV 
A + に対する実アドレスRA + を得る。制御部
510は、実アドレスRAI によってメインメモリ2
0から第1のデータXを読み出し、次に整数Xを浮動少
数点数X′に変換する処理を行なう。浮動少数点数X′
は、例えば演算部520の内部レジスタなどに一旦格納
される。次に、制御部510は第2のデータを読み出す
ために仮想アドレス■A2をアドレス変換部540に入
力し、前述と同様にして実アドレスRA2を得た後、メ
インメモリ20から第2のデータYを読み出す。最後に
制御部510は、内部レジスタに格納されている浮動少
数点数X゛と続出した第2のデータYとの浮動少数点数
加算を演算部520に指示し、演算結果Zを浮動少数点
数データとして内部レジスタまたはメインメモリ20に
格納する。
The control unit 510 determines that the first data type identification signal<Hxnum
] and the second data type identification signal <fltnus>, it is recognized that they do not match, and in this case, it is decided to convert the first data to a floating point number. Therefore, in order to read the first data, the virtual address VA is input to the address conversion unit 540. Here, assuming that no page fault signal occurs, the virtual address V
Obtain the real address RA + for A + . The control unit 510 controls the main memory 2 according to the real address RAI.
The first data X is read from 0, and then the integer X is converted into a floating point number X'. floating point number X'
is temporarily stored, for example, in an internal register of the calculation unit 520. Next, the control unit 510 inputs the virtual address ■A2 to the address conversion unit 540 in order to read the second data, obtains the real address RA2 in the same manner as described above, and then reads the second data Y from the main memory 20. Read out. Finally, the control unit 510 instructs the arithmetic unit 520 to add the floating point number X′ stored in the internal register with the successive second data Y, and converts the calculation result Z into floating point data. Store it in an internal register or main memory 20.

ここで注意すべきことは、仮想アドレスVA。What should be noted here is the virtual address VA.

によって指される整数データXと、仮想アドレスV A
 tによって指される浮動少数点数データYおよび演算
結果がメインメモリ20に格納される場合のZとは、仮
想空間上の別セグメント内に格納されていることである
。すなわち、各セグメントは1つの共通のデータ型をも
つデータで占有されている。このことは、データにタグ
を付加したにもかかわらず、仮想空間はタグを付加しな
かったときと同じ大きさを持つことができることを意味
する。
Integer data X pointed to by and virtual address V A
When the floating point number data Y pointed to by t and the calculation result are stored in the main memory 20, Z means that they are stored in a separate segment in the virtual space. That is, each segment is occupied by data having one common data type. This means that even though tags are added to data, the virtual space can have the same size as when no tags are added.

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

以上説明したように本発明は、タグが表わすデータ型に
よってそれぞれ異なる仮想空間を構成することにより、
タグを付加することで仮想空間を小さくする必要がない
仮想記憶方式を提供することができるという効果がある
As explained above, the present invention constructs different virtual spaces depending on the data type represented by the tag.
Adding tags has the effect of providing a virtual storage system that does not require reducing the size of the virtual space.

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

第1図は本発明の仮想記憶方式における中央処理装置の
内部ブロック図、 第2図は仮想空間の構成図、 第3図は仮想アドレスの形式を示す図、第4図は実アド
レスの形式を示す図、 第5図は本発明の仮想記憶方式における構成を示すブロ
ック図である。 図において、 10・・・・・中央処理装置、 20・・・・・メインメモリ、 30・・・・・2次記憶装置、 110  ・・・・仮想アドレス、 120 ・・・・タグ部、 130 ・・・・P2O部、 140.230  ・・オフセット部、210  ・・
・・実アドレス、 220 ・・・・RPN部、 510  ・・・・制御部、 520 ・・・・演算部、 530  ・・・・タグチェック部、 540  ・・・・アドレス変換部である。 第 1 凹 第2 @
Figure 1 is an internal block diagram of the central processing unit in the virtual storage system of the present invention, Figure 2 is a configuration diagram of the virtual space, Figure 3 is a diagram showing the format of virtual addresses, and Figure 4 is the format of real addresses. FIG. 5 is a block diagram showing the configuration of the virtual storage system of the present invention. In the figure, 10...Central processing unit, 20...Main memory, 30...Secondary storage device, 110...Virtual address, 120...Tag section, 130 ...P2O part, 140.230 ...Offset part, 210...
... real address, 220 ... RPN section, 510 ... control section, 520 ... calculation section, 530 ... tag check section, 540 ... address conversion section. 1st concave 2nd @

Claims (2)

【特許請求の範囲】[Claims] (1)タグ付データを処理する中央処理装置と、前記デ
ータを実アドレスで記憶するメインメモリと、 前記データを仮想アドレスで記憶する2次記憶装置と、 前記タグが表わすデータ型に応じてそれぞれ異なるよう
に前記2次記憶装置上に構成された複数の仮想空間と、 を有することを特徴とする仮想記憶方式。
(1) A central processing unit that processes tagged data, a main memory that stores the data in real addresses, and a secondary storage device that stores the data in virtual addresses, each according to the data type represented by the tag. A virtual storage system comprising: a plurality of virtual spaces configured differently on the secondary storage device.
(2)前記中央処理装置が、データを指す仮想アドレス
の一部をタグとみなしてデータ型を識別するタグチェッ
ク手段と、仮想アドレスを実アドレスへ変換するアドレ
ス変換手段と、データの演算を行なう演算手段と、前記
各手段を制御する制御手段とを有することを特徴とする
特許請求の範囲第1項記載の仮想記憶方式。
(2) The central processing unit performs data calculations using a tag check means for identifying a data type by regarding a part of a virtual address pointing to data as a tag, and an address conversion means for converting a virtual address into a real address. 2. The virtual storage system according to claim 1, further comprising a calculation means and a control means for controlling each of said means.
JP60147831A 1985-07-04 1985-07-04 Virtual memory system Pending JPS628245A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60147831A JPS628245A (en) 1985-07-04 1985-07-04 Virtual memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60147831A JPS628245A (en) 1985-07-04 1985-07-04 Virtual memory system

Publications (1)

Publication Number Publication Date
JPS628245A true JPS628245A (en) 1987-01-16

Family

ID=15439227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60147831A Pending JPS628245A (en) 1985-07-04 1985-07-04 Virtual memory system

Country Status (1)

Country Link
JP (1) JPS628245A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8708331B2 (en) 2012-03-30 2014-04-29 Brother Kogyo Kabushiki Kaisha Sheet supplying apparatus
US9268285B2 (en) 2012-03-30 2016-02-23 Brother Kogyo Kabushiki Kaisha Image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8708331B2 (en) 2012-03-30 2014-04-29 Brother Kogyo Kabushiki Kaisha Sheet supplying apparatus
US9268285B2 (en) 2012-03-30 2016-02-23 Brother Kogyo Kabushiki Kaisha Image forming apparatus

Similar Documents

Publication Publication Date Title
US6470380B1 (en) Signal processing device accessible as memory
EP0258736A2 (en) Parallel computer with distributed shared memories and distributed task activating circuits
US5339417A (en) Computer system with two levels of guests
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
US5459872A (en) Software control of hardware interruptions
JPS628245A (en) Virtual memory system
KR20230169684A (en) Pim computing system and method for pim arithmetic offloading thereof
US5404549A (en) Method for efficient access of data stored in a nexus table using queue tag indexes in a table portion
JPS6267648A (en) Processing system for exclusive control instruction
JP2612173B2 (en) Virtual computer
JPS62150435A (en) Data processing system
JP2895892B2 (en) Data processing device
EP0550290A2 (en) CPU register array
JPH05334074A (en) Microprocessor
JPS63261430A (en) Method and apparatus for information processing
JPH04181454A (en) Data access controller
JPH1196107A (en) Request management circuit
JPS63233431A (en) Memory control system for tagged data
JPS5960647A (en) System for controlling memory access
JPH01194055A (en) Parallel computer
JPS61202231A (en) Data processor containing microprocessor
JPS60189043A (en) Processor
JPS6134628A (en) Computer provided with tag
JPS6331816B2 (en)
JPS62186344A (en) Address mapped register