JPS62131351A - Effective address calculating device - Google Patents

Effective address calculating device

Info

Publication number
JPS62131351A
JPS62131351A JP60273916A JP27391685A JPS62131351A JP S62131351 A JPS62131351 A JP S62131351A JP 60273916 A JP60273916 A JP 60273916A JP 27391685 A JP27391685 A JP 27391685A JP S62131351 A JPS62131351 A JP S62131351A
Authority
JP
Japan
Prior art keywords
address
page
information
memory
virtual
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.)
Granted
Application number
JP60273916A
Other languages
Japanese (ja)
Other versions
JPH0557620B2 (en
Inventor
Masae Watabe
渡部 眞江
Yoshiyuki Miki
三木 良行
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 JP60273916A priority Critical patent/JPS62131351A/en
Publication of JPS62131351A publication Critical patent/JPS62131351A/en
Publication of JPH0557620B2 publication Critical patent/JPH0557620B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To detect memory mapped I/O in a central processing unit by giving memory mapped I/O information to a page descriptor and storing it in a TLB. CONSTITUTION:MPIO information 323 is given to a page descriptor 32, and a page indicated by the page descriptor is mapped in an I/O space if this IO information is '1', and the page indicated by the page descriptor is in a memory space if IO information is '0'. This MPIO information is recorded in the TLB. A part except an intra-page offset of a VAR 11 of the effective address sent from an effective address calculating part is compared with virtual pages stored in a virtual address part of the TLB; and if a coincident virtual page number is found, the entry in a data memory part of the TLB corresponding to the virtual page number is read out to an RAR 15. The read actual page number in the RAR 15 is combined with the intra-page offset of the virtual address of the VAR 11 to generate an actual address, and this address is outputted to an address bus 110.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置における中央処理装置に関する
もので特にその中央処理装置の入出力の制御に関するも
のである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a central processing unit in an information processing device, and particularly to control of input and output of the central processing unit.

〔従来の技術〕[Conventional technology]

従来、中央処理装置から外部入出力装置へのアクセス方
法としては、次の2通りの方式が考えられる。
Conventionally, the following two methods can be considered as methods for accessing external input/output devices from a central processing unit.

1、入出力命令によるアクセス 中央処理装置は、入出力装置に対して出力し、入出力装
置とのデータのやシとシを行なう方式2 メモリマツブ
トI/Oによるアクセスメモリマツプ)I/Qは主記憶
装置が接続されるアドレス空間の一部に入出力装置を接
続しく以下このアドレス空間をI/Q空間という)、主
記憶に対する書込み/読み出し命令、演算命令など実行
時に出力されるアドレスが、入出力装置が接続されてい
るアドレスであれば入出力装置とのデータのやシと)を
行なう方式である。
1. Access by input/output commands The central processing unit outputs to the input/output device and exchanges data with the input/output device. 2. Access by memory Mabutsu I/O memory map) I/Q is the main The input/output device is connected to a part of the address space to which the storage device is connected (hereinafter this address space is referred to as I/Q space), and the address output when executing write/read instructions and arithmetic instructions to the main memory is the input/output device. If the address is an address to which an output device is connected, this method performs data exchange with the input/output device.

このメモリマツブトI/Oは、次の様な特徴、欠点を有
している。
This memory Mabutsu I/O has the following features and drawbacks.

〔特徴〕〔Features〕

・一般の算術理論演算命令、転送命令等のメモリオペラ
ンドとして主記憶を指定できるのと同様に入出力装置を
指定することが可能である。
- It is possible to specify an input/output device in the same way that main memory can be specified as a memory operand for general arithmetic operation instructions, transfer instructions, etc.

〔欠点〕〔Disadvantage〕

・主記憶装置は、高速化手法としてインターリーブ構成
方式などが可能であるが、入出力装置ではその様な構成
は難しい。
- An interleave configuration method is possible for the main storage device as a speed-up method, but such a configuration is difficult for input/output devices.

・主記憶装置と入出力装置とでは、読み出し/書込みに
失敗した際のリカバリ処理が異なる。
・Recovery processing when reading/writing fails is different between the main storage device and the input/output device.

・ページング方式の仮想記憶方式を採用し、且つバイト
単位でオペランドアドレスを指定可能な中央処理装置に
おいては、オペランドカ複数のページにまたがる場合が
あるが、I/O空間とメモリ空間とでは複数のページに
またがった場合の中央処理装置の動作が異なってくる。
- In a central processing unit that uses a paging virtual memory system and can specify operand addresses in bytes, the operands may span multiple pages, but the I/O space and memory space may span multiple pages. The central processing unit operates differently when spanning pages.

・パイプライン方式を採用する中央処理装置は、n番目
の命令のオペランドの書込みよ、9.n+1番目の命令
のオペランドの読み出しの方が先に行なわれる場合があ
るが、工/O空間の場合この様なことがあると入出力装
置の制御が狂うことがある。
・The central processing unit that adopts the pipeline method must write the operand of the nth instruction.9. There are cases where the operand of the (n+1)th instruction is read out first, but in the case of the work/O space, if this happens, the control of the input/output device may go out of order.

・メモリマツプ)I/O構成の中央処理装置は、その内
部でメモリ空間とI/Q空間の区別がつかないので、入
出力装置のアクセスを実行すべきレベルを指定する機能
を実現させることが困難である。
・A central processing unit with an I/O configuration (memory map) cannot distinguish between memory space and I/Q space internally, so it is difficult to implement a function that specifies the level at which input/output device access should be executed. It is.

〔発明が解決しようとしている閤題点〕ベージング方式
の仮想記憶方式を採用し、且つバイト単位でオペランド
アドレスを指定可能な中央処理装置においては、オペラ
ンドが複数のページにまたがる場合があるが、工/O空
間とメモリ空間とでは複数のページにまたがった場合の
中央処理装置の動作が異なりてくる。メモリ空間アクセ
スでは、仮想空間上の1枚目のページと2枚目のページ
では、仮想空間上では、全く別の実メモリ上のページに
変換されるので、オペランドの先頭アドレスに対するア
ドレス変換と次ページの先頭アドレスに対するアドレス
変換が必要であるが、I/O空間ではページという概念
がないので、仮想空間上複数のページにまたがりても、
オペランドの先頭アドレスに対するアドレス変換のみ行
なえばよい。しかし、メモリマップトエ/O構成の中央
処理装置では、その内部でメモリ空間とI/。
[Problem to be solved by the invention] In a central processing unit that uses a virtual memory system based on the paging method and can specify operand addresses in bytes, operands may span multiple pages. The operation of the central processing unit differs between the /O space and the memory space when the space spans multiple pages. In memory space access, the first page and second page in the virtual space are converted to completely different pages in real memory in the virtual space, so the address conversion for the first address of the operand and the next Address translation is required for the first address of a page, but since there is no concept of page in I/O space, even if it spans multiple pages in virtual space,
It is only necessary to perform address translation for the first address of the operand. However, in a central processing unit with a memory-mapped A/O configuration, there is internal memory space and I/O.

空間の区別がつかないので、上記の様にメモリ空間とI
/O空間で別の動作を実現させることが困難である。
Since space cannot be distinguished, memory space and I
It is difficult to realize other operations in the /O space.

〔問題点を解決させるための手段〕[Means for solving problems]

前記の問題点は、中央処理装置がメモリ空間とI/O空
間とを判別できないということに起因するものである。
The above problem is due to the fact that the central processing unit cannot distinguish between memory space and I/O space.

一方、仮想記憶方式を採用した中央処理装置では、仮想
アドレスを実アドレスに変換するために、セグメント記
述子、ページ記述子などを用いる。
On the other hand, a central processing unit that employs a virtual memory method uses segment descriptors, page descriptors, etc. to convert virtual addresses to real addresses.

これらの記述子には、仮想アドレスから実アドレスへの
変換を行なうだめの情報のほか記憶保護のための情報を
も持っておシ、これらの情報以外にどのアドレスにI 
/ o装置が接続されているかを示す情報(以下MPI
O情報という)をも持たせることが可能である。
These descriptors contain information for converting virtual addresses to real addresses as well as information for memory protection.
/ o Information indicating whether the device is connected (hereinafter referred to as MPI)
It is also possible to have information (referred to as O information).

本発明はこのMPIO情報を使ってメモリマツプ)Il
oを判別することを可能とし、前記の問題点を解決した
ものである。
The present invention uses this MPIO information to create a memory map)
This method solves the above-mentioned problem by making it possible to determine o.

〔実施例〕〔Example〕

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

第1図は、本発明の実施例におけるアドレス変換部(以
下TLBと略す。)のブロック図である。
FIG. 1 is a block diagram of an address translation unit (hereinafter abbreviated as TLB) in an embodiment of the present invention.

第2図は、本発明の実施例における実効アドレス計算部
のブロック図である。
FIG. 2 is a block diagram of an effective address calculation section in an embodiment of the present invention.

第3図は、本発明の実施例におけるアドレス変換テーブ
ル、ページ記述子の構成を示す図である。
FIG. 3 is a diagram showing the structure of an address translation table and a page descriptor in the embodiment of the present invention.

第4図は、本発明の実施例における中央処理装置の構成
を示すブロック図である。
FIG. 4 is a block diagram showing the configuration of a central processing unit in an embodiment of the present invention.

第5図は、本発明の実施例におけるタグバス上に送られ
る情報を示す図である。
FIG. 5 is a diagram illustrating information sent on the tag bus in an embodiment of the invention.

第6図は、本発明の実施例における仮想アドレスから実
アドレスへの変換を現わす図である。
FIG. 6 is a diagram showing the conversion from a virtual address to a real address in an embodiment of the present invention.

第7図は、本発明の実施例における実効アドレス計算を
表わすタイミングチャート図である。
FIG. 7 is a timing chart showing effective address calculation in the embodiment of the present invention.

第1図において、11は実効アドレス計算部から送られ
て来た実効アドレス(又は仮想記憶アドレス)t−一旦
記憶するためのパーチャルアドレスレジスタ(MAR)
である。12は、仮想アドレスのページ内オフセットの
部分を除いた仮想ヘ一ジ番号複数個記憶し、VARII
の仮想ページ番号部との比較機能を持つ連想メモリであ
る。13は、連想メモリ12の比較機能によシどのエン
トリが一致したかのエントリ番号を生成するだめのエン
コーダである。14は、連想メモリ12、エンコーダ1
3によシ一致したエントリ番号に対応する実アドレス情
報、保護情報、MPIO情報を記憶するためのデータメ
モリである。15は、14のメモリから読み出される実
アドレス情報、保護情報、MPIO情報を一旦記憶する
ためのリアルアドレスレジスタである(以下、 I(、
A几と略す)。16は、実効アドレス計算部から実効想
アドレスと同時に送られて来る付随情報(以下、TAG
情報と略す。)を一旦記憶するためのレジスタ(以下、
TAG几と略す)。17は、TAG几16中のタグ情報
をデコードし、アクセスの種別を示す信号(以下、アク
セスタイプと略す)でIloであるか否かを示す信号(
以下、M/IQと略す)を発生させるためのデコーダで
るる。
In FIG. 1, 11 is a partial address register (MAR) for temporarily storing the effective address (or virtual memory address) t sent from the effective address calculation unit.
It is. 12 stores a plurality of virtual address numbers excluding the in-page offset part of the virtual address, and
This is an associative memory that has a comparison function with the virtual page number section of the page. Reference numeral 13 denotes an encoder for generating an entry number indicating which entry matches the comparison function of the associative memory 12. 14, associative memory 12, encoder 1
This is a data memory for storing real address information, protection information, and MPIO information corresponding to the entry number that matches No. 3. 15 is a real address register (hereinafter referred to as I(,
(abbreviated as A). Reference numeral 16 indicates accompanying information (hereinafter referred to as TAG) sent from the effective address calculation unit at the same time as the effective address.
Abbreviated as information. ) to temporarily store the register (hereinafter,
(abbreviated as TAG). 17 decodes the tag information in the TAG box 16 and generates a signal indicating the type of access (hereinafter abbreviated as access type), and a signal indicating whether it is Ilo or not.
This is a decoder for generating M/IQ (hereinafter abbreviated as M/IQ).

18は、命令実行部からの実行レベル情報、デコーダ1
7からのアクセスタイプ情報、RAR15からの保護情
報などの情報から保謙例外を検出するための保護チェッ
ク機構である。19は、RA几15からのMPIO情報
とデコーダ17がらのM/IQ信号により、実効アドレ
ス計算部からおくられてさた仮想アドレスがメモリ空間
を示すかI/O空間を示すものかを決定する回路である
18 is execution level information from the instruction execution unit, decoder 1
This is a protection check mechanism for detecting protection exceptions from information such as access type information from RAR 15 and protection information from RAR 15. 19 determines whether the virtual address sent from the effective address calculation section indicates a memory space or an I/O space, based on the MPIO information from the RA processor 15 and the M/IQ signal from the decoder 17. It is a circuit.

1/Oは、実効アドレス計算部から仮想アドレスをTL
B、メモリ制御部へ送シ、且つTLBから実アドレスを
メモリ制御部へマルチプレクサして送るアドレスバスで
ある(以下、ABU8と略す)。
1/O reads the virtual address from the effective address calculation unit to TL.
B is an address bus (hereinafter abbreviated as ABU8) which is sent to the memory control unit and which multiplexes and sends the real address from the TLB to the memory control unit.

111は、実効アドレス計算部から仮想アドレスと同時
にタグ情報を送シ、またTLBから実アドレスと同時に
タグ情報を送るためのバスである。
Reference numeral 111 is a bus for transmitting tag information from the effective address calculation unit at the same time as the virtual address, and for transmitting tag information at the same time from the TLB at the same time as the real address.

112は、I/O検出部19からのIOアクセス信号(
I OAC)で、実効アドレス計算部に送られる信号線
である。
112 is an IO access signal (
This is a signal line sent to the effective address calculation section.

第2図において、21は、命令実行部から実効アドレス
計算に必要な汎用レジスタの値を実効アドレス計算部に
送るためのバスである(以下、EBUSと略す)。22
は、インデクス値を一旦記憶するためのレジスタである
(以下、EATRlと略す)。23は、ペースアドレス
を一旦記憶するためのレジスタである。(以下、EAT
几2と略す。)24は、ブリデクリメントやポストイン
クリメントなどの補正値を一旦記憶するための25は、
ディスプレースメント値を一旦記憶するためのレジスタ
である(以下、EATR4と略す)。
In FIG. 2, 21 is a bus (hereinafter abbreviated as EBUS) for sending the values of general-purpose registers necessary for effective address calculation from the instruction execution section to the effective address calculation section. 22
is a register for temporarily storing an index value (hereinafter abbreviated as EATRl). 23 is a register for temporarily storing a pace address. (Hereinafter, EAT
It is abbreviated as 几2. ) 24 is for temporarily storing correction values such as bride increment and post increment.
This is a register for temporarily storing a displacement value (hereinafter abbreviated as EATR4).

26は、命令解析部からディスプレースメント値を実効
アドレス計算部へ送るためのバスである(以下、IBU
Sと略す)。27は、gATRl−4の値をキャリーセ
ーブ方式で加算する加算器である(以下、C8Aと略す
)。28は、NPGRQ信号によシC8AのSUM部及
びCARR,Y部値を選択またはNPGRO値及び定数
/O00Hを選択するマルチプレクサである。29は、
28のマルチプレクサによシ選択された2つの入力の加
算を行なうだめの加算器である(以下CPAと略す)。
26 is a bus for sending the displacement value from the instruction analysis unit to the effective address calculation unit (hereinafter referred to as IBU).
(abbreviated as S). 27 is an adder (hereinafter abbreviated as C8A) that adds the value of gATRl-4 in a carry save method. 28 is a multiplexer which selects the SUM part and CARR, Y part values of C8A or the NPGRO value and constant /O00H according to the NPGRQ signal. 29 is
This is an adder (hereinafter abbreviated as CPA) for adding two inputs selected by 28 multiplexers.

2/Oは、29の加算器によシ計算された実効アドレス
の中でメモリオペランドの実効アドレスを記憶するだめ
のレジスタである(以下、0PARと略す)。211は
、29の加算器によシ計算された実効アドレスの中で、
分岐先又はプリフェッチ先の実効アドレスを記憶するた
めのレジスタである(以下、PFA几と略す)。212
御部へ送るためのバスであシ第1図のアドレスバス11
1に接続される。213は、実効アドレスとオペランド
のデータタイプから、ページ境界にまたがるかどうかを
検出するためのページ境界検出器である。214は、オ
ペランドがページ境界にまたがった場合の前ページの仮
想ページ番号(仮想アドレスからページ内オフセットを
除いたアドレス)を記憶するためのレジスタである(以
下、NPGRと略す)。215は、実効アドレス計算部
のタイミング制御回路でおる。216は、命令解析部か
ら送られてくるオペランドアドレスについてのタグ情報
を記憶するだめのレジスタである。217は、216の
タグレジスタの情報をデコードしオペランドのデータタ
イプ、I/O命令かどうかの信号(Ilo )を発生す
るデコーダである。218は、TAGI(216のタグ
情報をTLB、メそり制御部へ送るためのバスであシ、
第1図のタグバス111に接続される(以下、’1’ 
A G B U Sと略す)。219は、アドレス変換
部から送られて来る■0アクセス信号(I OAC)で
ある。220は、タイミング制御回路215から出され
る、オペランドの先頭アドレスを計算するか、オペラン
ドがページ境界にまたがって、次のページの先頭アドレ
スを計算するかを選択する信号である(以下、NPG8
ELと略す)。221は、加算器29によシ計算された
実効アドレスの存在するページの先頭アドレスののる信
号群である。
2/O is a register (hereinafter abbreviated as 0PAR) for storing the effective address of the memory operand among the effective addresses calculated by the 29 adders. 211 is the effective address calculated by the 29 adders,
This is a register for storing the effective address of a branch destination or prefetch destination (hereinafter abbreviated as PFA). 212
Address bus 11 in Figure 1 is the bus for sending to the control section.
Connected to 1. 213 is a page boundary detector for detecting whether a page boundary straddles from the effective address and the data type of the operand. Reference numeral 214 is a register (hereinafter abbreviated as NPGR) for storing the virtual page number (address obtained by subtracting the intra-page offset from the virtual address) of the previous page when the operand straddles a page boundary. 215 is a timing control circuit of the effective address calculation section. Reference numeral 216 is a register for storing tag information regarding the operand address sent from the instruction analysis section. A decoder 217 decodes the information in the tag register 216 and generates a signal (Ilo) indicating the data type of the operand and whether it is an I/O command. 218 is a bus for sending the tag information of 216 to the TLB and the memory control unit;
Connected to the tag bus 111 in FIG. 1 (hereinafter referred to as '1')
(abbreviated as AGBUS). 219 is a ■0 access signal (I OAC) sent from the address translation section. 220 is a signal output from the timing control circuit 215 for selecting whether to calculate the start address of the operand or to calculate the start address of the next page when the operand straddles the page boundary (hereinafter referred to as NPG8).
(abbreviated as EL). Reference numeral 221 denotes a signal group carrying the start address of the page in which the effective address calculated by the adder 29 exists.

222は、タイミング制御回路215から出される信号
で、次ページを示す信号である。223は、命令解析部
43から出される、実効アドレス計算開始のトリガー信
号である(以下、S T E A lと略す)。224
は、タイミング制御回路215から出される信号で、C
PA29の加算結果を0PAR2/Oへ出す信号である
(以下、ST腸Tと略す)。225は、タイミング制御
回路215から出される信号で、CPA29の加算結果
を5TEAN’l’224によシ出されたものを、OP
A几2/Oにラッチする信号である(以下、0PARW
と略す)。226は、タイミング制御回路215から出
される信号で、CPA29の加算結果を5TEANT2
24によシ出されたものを、ABUS212にだす信号
である(以下、MARTABと略す)。227は、タイ
ミング制御回路215から出される信号で、OPA几2
/Oから出された仮想ページ番号をラッチする信号であ
る(以下、NPGRWと略す)。228は、ページ境界
検出器213から出されるページ境界検出信号である(
以下、DETECTPOと略す)。229は、デコーダ
217から出される、オペランドのデータ長を表わす信
号群である。230は、デコーダ217から出される、
オペランドがメモリ空間アクセスかI/O空間アクセス
かを示す信号である。
222 is a signal output from the timing control circuit 215, and is a signal indicating the next page. Reference numeral 223 indicates a trigger signal for starting effective address calculation (hereinafter abbreviated as STEA1) issued from the instruction analysis unit 43. 224
is a signal output from the timing control circuit 215, and C
This is a signal that outputs the addition result of PA29 to 0PAR2/O (hereinafter abbreviated as ST T). 225 is a signal output from the timing control circuit 215, which outputs the addition result of the CPA 29 to the 5TEAN'l' 224 and outputs it to the OP.
This is a signal to be latched to A 2/O (hereinafter referred to as 0PARW).
). 226 is a signal output from the timing control circuit 215, and the addition result of CPA29 is sent to 5TEANT2.
24 is a signal sent to ABUS 212 (hereinafter abbreviated as MARTAB). 227 is a signal output from the timing control circuit 215;
This is a signal that latches the virtual page number issued from /O (hereinafter abbreviated as NPGRW). 228 is a page boundary detection signal output from the page boundary detector 213 (
(hereinafter abbreviated as DETECTPO). 229 is a signal group output from the decoder 217 and representing the data length of the operand. 230 is output from the decoder 217,
This signal indicates whether the operand is a memory space access or an I/O space access.

第3図(a)において、31は、アドレス変換テーブル
(ページテーブルと19)の全体図を示す。
In FIG. 3(a), numeral 31 shows the entire address translation table (page table and 19).

311h、アドレス変換テーブルの1エントリ(以下、
ページ記述子という)を示す。同図(b)は、同図(a
)のページ記述子311の構成を詳細に示したものであ
る。321は、11″でこの記述子の内容が有効である
ことを、“O″でこの記述子の内容が無効であることを
示すビットでめる(以下、■ビットと略す)。322は
、′1”でこの記述子の示すページがI / o空間に
マツプされることを、“Onでこの記述子の示すページ
がメモリ空間にマツプされずことを示すビットである(
以下、MPIOと略−t)。323は、”1nテコ17
)fk[子の示すページが主記憶に存在することを、“
0″でこの記述子の示すページが主記憶に存在しないこ
とを示すビットである(以下、Pビットと略す)。
311h, 1 entry of the address translation table (hereinafter,
page descriptor). The same figure (b) is the same figure (a
) shows the structure of the page descriptor 311 in detail. 321 indicates that the content of this descriptor is valid at 11'', and indicates that the content of this descriptor is invalid at ``O'' (hereinafter abbreviated as ■ bit).322 is, '1' indicates that the page indicated by this descriptor is mapped to the I/O space, and 'On indicates that the page indicated by this descriptor is not mapped to the memory space.
Hereinafter, MPIO is abbreviated as -t). 323 is “1n lever 17
) fk [Indicates that the page indicated by the child exists in main memory, “
This bit is 0'' and indicates that the page indicated by this descriptor does not exist in the main memory (hereinafter abbreviated as P bit).

324は、“l”でこの記述子の示すページが以前中央
処理装置によシ参照されたことを、/O″でこの記述子
の示すページが中央処理装置によシ参照されていないこ
とを示すビットである(以下、Aビットと略す)。32
5は M1″でこの記述子の示すページが以前中央処理
装置により書込みがあったことを、“0″でこの記述子
の示すページが中央処理装置により書込みがなかったこ
とを示すビットである(以下、Wビットと略す)。32
6は、この記述子の示すページに対する保護情報である
In 324, "l" indicates that the page indicated by this descriptor has been previously referenced by the central processing unit, and /O" indicates that the page indicated by this descriptor has not been referenced by the central processing unit. (hereinafter abbreviated as A bit).32
5 is a bit M1'' indicating that the page indicated by this descriptor was previously written by the central processing unit, and 0 indicates that the page indicated by this descriptor was not written by the central processing unit ( (hereinafter abbreviated as W bit).32
6 is protection information for the page indicated by this descriptor.

327は、この記述子の示す仮想ページが実メモリ空間
又は実I/O空間の何番地にマツプされるかを示す実ア
ドレス情報である。
327 is real address information indicating to which address in the real memory space or real I/O space the virtual page indicated by this descriptor is mapped.

次に本実施例における動作を説明する。Next, the operation in this embodiment will be explained.

本実施例に於ける中央処理装置は、第4図に示す様に命
令解析部43、実効アドレス計算部44、アドレス変換
部45、主記憶制御部46、命令実行部47の各ユニッ
トから構成される。そして各ユニットは、ABUS 4
1、TAGBUS42、I BUS 48、EBUS4
9によシ接続される。
The central processing unit in this embodiment is composed of the following units: an instruction analysis section 43, an effective address calculation section 44, an address conversion section 45, a main memory control section 46, and an instruction execution section 47, as shown in FIG. Ru. And each unit is ABUS 4
1, TAGBUS42, IBUS48, EBUS4
9.

命令解析部43は、主記憶から読み込まれた命令をデコ
ードし、命令実行部47で直接実行可能な形式に変換し
、命令実行部47に送る。tた、命令解析部43で解析
した命令がメモリ又はI/O空間に対するオペランドを
持つ場合には、そのオペランドの実効アドレス計算に必
要な情報、(インチフス値、ペース値、ティスプレース
メント値など)を実効アドレス計算部44におぐる。
The instruction analysis section 43 decodes the instruction read from the main memory, converts it into a format that can be directly executed by the instruction execution section 47, and sends it to the instruction execution section 47. In addition, if the instruction analyzed by the instruction analysis unit 43 has an operand for memory or I/O space, information necessary for calculating the effective address of that operand (inch value, pace value, tooth placement value, etc.) is sent to the effective address calculation unit 44.

実効アドレス計算部44は、実効アドレス計算に必要な
情報を基に実効アドレスを計算し、実効アドレスをアド
レス変換部45におぐる。アドレス変換部45は、実効
アドレス計算部44から送られてきた実効アドレスを実
アドレスに変換し主記憶制御部46に送る。主記憶制御
部46は、アドレス変換部45から送られて来た実アド
レスにより主記憶又は入出力装置にアクセスする。オペ
ランドの読み込みには、主記憶または入出力装置から読
み込んだ情報を命令実行部47に送)、書込む時には命
令実行部47から送られた情報を主記憶又は入出力装置
に書き込む。命令実行部47は、命令解析部43から送
られて来る命令のデコード情報によシ命令の実行を行な
う。アドレスバス41は、実行アドレス計算部44から
アドレス変換部45へ情報アドレスを転送し、またアド
レス変換部45から主記憶制御部46へ実アドレスを転
送するために用いられる。タグバス42は、アドレスバ
ス41と対応して用いられるバスで、アドレスバス41
上の実効アドレス、実アドレスに付随する各種情報を転
送するためのバスである。
The effective address calculation unit 44 calculates an effective address based on information necessary for effective address calculation, and sends the effective address to the address conversion unit 45. The address conversion unit 45 converts the effective address sent from the effective address calculation unit 44 into a real address and sends it to the main memory control unit 46. The main memory control unit 46 accesses the main memory or the input/output device using the real address sent from the address conversion unit 45. When reading an operand, the information read from the main memory or the input/output device is sent to the instruction execution unit 47), and when writing the operand, the information sent from the instruction execution unit 47 is written to the main memory or the input/output device. The instruction execution unit 47 executes the instruction based on the instruction decode information sent from the instruction analysis unit 43. The address bus 41 is used to transfer information addresses from the execution address calculation section 44 to the address translation section 45 and to transfer real addresses from the address translation section 45 to the main memory control section 46. The tag bus 42 is a bus used in correspondence with the address bus 41.
This bus is used to transfer various information associated with the effective address and real address above.

このタグバス42によシ転送される情報51には、第5
図に示す様に次の情報がある。
The information 51 transferred by this tag bus 42 includes the fifth
As shown in the figure, there is the following information.

1、 ビット2−3・・・・・・オペランドデータ長0
0;バイト     (1バイト) 01:ハーフワード (2バイト) /O:ワード     (4バイト) 2 ビット9  ・・・・・・M/IO1:メモリ空間
へのアクセスであ ることを示す。
1. Bits 2-3... Operand data length 0
0: Byte (1 byte) 01: Half word (2 bytes) /O: Word (4 bytes) 2 Bit 9...M/IO1: Indicates access to memory space.

0:I/O空間へのアクセスであ ることを示す。0: Access to I/O space to show that

3、 ビット/O ・・・・・・NPGl:オペランド
がページ境界にま たがった場合の次のページの 先頭アドレスであることを示 す。
3. Bit/O...NPGl: Indicates the start address of the next page when the operand straddles a page boundary.

0ニオペランドアドレスであるこ とを示す。0 operand address and

4、 ビット11−12・・・・・・アクセスタイプ0
0 :EXECUTE 01 :WRITE 1o :IAD 11 :READ/WRITE 5、ビット13 ・・・・・・V/R。
4. Bits 11-12...Access type 0
0:EXECUTE 01:WRITE 1o:IAD 11:READ/WRITE 5, bit 13...V/R.

1:実効アドレス(仮想アドレス) であることを示す。1: Effective address (virtual address) .

O:実アドレスであることを示す。O: Indicates a real address.

前記の様な構成の中央処理装置に於いてメモリ又はI/
O空間に対するオペランドを持つ命令を実行する場合の
動作を以下に説明する。
In the central processing unit configured as described above, memory or I/
The operation when executing an instruction having an operand for O space will be described below.

命令解析部43は、命令を解析すると汎用レジスタの値
、インデクスの値、ディスプレースメント値など実効ア
ドレス計算に必要な情報をEBUS(第2図の21、第
4図の49)、IBUS (第2図の26、第4図の4
8)により実効アドレス計算部のレジスタEATRI、
EAT几2゜EATR3,EATR4(第2図22.2
3゜24.25)に送る。そして、オペ2ンドについて
の付随情報(アクセスタイプ、データ長、メモリ空間か
I/O空間かの情報M/IO)などをTTAG几16に
送る。
When the instruction analysis unit 43 analyzes the instruction, it extracts information necessary for effective address calculation, such as general-purpose register values, index values, and displacement values, from EBUS (21 in FIG. 2, 49 in FIG. 4), IBUS (21 in FIG. 26 in Figure 4, 4 in Figure 4
8) register EATRI of the effective address calculation unit,
EAT 几2゜EATR3, EATR4 (Fig. 2 22.2
3°24.25). Then, accompanying information regarding the operand (access type, data length, information M/IO indicating whether it is memory space or I/O space), etc. is sent to the TTAG 16.

実効アドレス計算部44は、EATRI。The effective address calculation unit 44 is EATRI.

EATR2,EATR3,EATR,4の汎用レジスタ
の値、インデクス値、ディスプレースメント値などをキ
ャリーセーブ加算器27・キャリーグロパゲート加算器
29を用いて、加算を行なう。
The values of general-purpose registers EATR2, EATR3, EATR, EATR4, index values, displacement values, etc. are added using a carry save adder 27 and a carry groper gate adder 29.

ここで、命令解析部43から、実効アドレス計算開始の
信号5TEAI 223が来る(第7図−72)とタイ
ミング制御回路215から5TEANT224(第7図
−73)が出され、CPA29から加算結果がだされる
。5TEANT224 (第7図−72)が出ると、V
A几TAB(第7図−76)が出て、この加算結果がA
bTJs 212に出されてアドレス変換部に送られ、
0PAR,W225(第7図−74)が出てOPA几2
/Oにラッチされる。そして、TTAG几16中のタグ
情報をデコードして(第2図−217)データ長を得て
、前記実効アドレス(CPA29の結果)とデータ長か
らページ境界にまたがるか否かをページ境界検出器21
3が検出し、またがると検出された場合は、DETEC
TPG213がタイミング制御回路215へ送られる。
Here, a signal 5TEAI 223 for starting effective address calculation comes from the instruction analysis section 43 (Fig. 7-72), a 5TEANT224 (Fig. 7-73) is output from the timing control circuit 215, and the addition result is output from the CPA 29. be done. When 5TEANT224 (Fig. 7-72) appears, V
A TAB (Figure 7-76) appears, and the addition result is A
bTJs 212 and sent to the address conversion section,
0PAR, W225 (Fig. 7-74) comes out and OPA 几2
/O latched. Then, the tag information in the TTAG box 16 is decoded (Fig. 2-217) to obtain the data length, and the page boundary detector determines whether the data spans a page boundary from the effective address (result of CPA29) and data length. 21
3 is detected, and if detected as straddling, DETEC
TPG 213 is sent to timing control circuit 215.

ページ方式の仮想記憶方式を採用する中央処理装置(第
6図−(a)参照)では、メモリオペランドが複数のペ
ージにまたがる場合(第6図−(a)の左側)、1枚目
のページと2枚目のページでは仮想空間上では連続して
いても実メモリ上では全く別のページに変換されること
ができる(第6図−(a)の右側)。このため、オペラ
ンドの先頭アドレスに対する実効アドレス計算、仮想→
実アドレス変換(第6図−(a)の611 )、メモリ
アクセスだけでは実メモリ空間からオペランドの全体を
得ることは不可能で、次ページの先頭アドレスに対する
実効アドレス計算、仮想→実アドレス変換(第6図−(
a)の612)、メモリアクセスをそれぞれ行・ なわ
なければならない。
In a central processing unit that uses a page-based virtual memory system (see Figure 6-(a)), when a memory operand spans multiple pages (as shown on the left side of Figure 6-(a)), the first page Although the second page is continuous in the virtual space, it can be converted into a completely different page in the real memory (right side of FIG. 6-(a)). Therefore, the effective address calculation for the first address of the operand, virtual →
Real address conversion (611 in Figure 6-(a)), it is impossible to obtain the entire operand from the real memory space only by memory access, effective address calculation for the first address of the next page, virtual → real address conversion ( Figure 6 - (
612) of a), memory access must be performed for each row.

一方、メモリマツブトI/Oでは、オペランドが複数の
ページにまたがる場合でも、I/O空間はページという
概念はないので(第6図−(b)参陶、仮想記憶上でペ
ージが連続していればI/O空間上も連続しておシ、複
数のページにまたがったときでもオペランドの先頭アド
レスに対する実効アドレス計算、仮想→実アドレス変換
(第6図−申)の621)、I/O重量子クセスを行な
えば良く、次ページの先頭アドレスに対する実効アドレ
ス計算、仮想→実アドレス変換(第6図−Φ)の622
)、I/O重量子クセスは行なわなくてよい。
On the other hand, in memory Matsubutsu I/O, even if an operand spans multiple pages, the I/O space does not have the concept of a page (see Figure 6-(b), pages cannot be contiguous in virtual memory. For example, the calculation of the effective address for the start address of the operand even when it is performed continuously in the I/O space, even when it spans multiple pages, the virtual → real address conversion (621) of the figure 6), and the I/O weight. All you have to do is perform a child access, calculate the effective address for the first address of the next page, and convert from virtual to real address (Fig. 6-Φ) at 622.
), no I/O quantum access is required.

従って、オペランドが複数のページにまたがる場合、実
効アドレス計算部は、次の3通シの動作を行なう。
Therefore, when an operand spans multiple pages, the effective address calculation section performs the following three operations.

1、 メモリ空間アクセスの場合 TAG几216のM/IO情報(ビット19)が“1″
でメモリ空間アクセスであることを示し、アドレス変換
部45からのl0AC信号(第1図−112、第2図−
219)が“0″(メモリマツプ)I/Qでないことを
示す。)(第7図−79)で、且つページ境界検出器2
13からDETECTPG213(第7図−75)がペ
ージ境界を検出して、それぞれタイミング制御回路21
5へ出されると、次ページの先頭アドレスの計算が行な
われることになり、タイミング制御回路215からNP
G8EL220(第7図−77)が出され、このNPG
8EL220と一緒に出されたNpoaw227 (第
7図−78)によってラッチされた、仮想ページ番号2
14と下位ビット0〜11に0を入れた値を結合したデ
ータ221をCPA29に入力する。
1. For memory space access, M/IO information (bit 19) of TAG 216 is “1”
indicates that it is a memory space access, and the 10AC signal from the address converter 45 (112 in Figure 1, 112 in Figure 2)
219) is "0" (memory map) indicating that it is not I/Q. ) (Fig. 7-79), and page boundary detector 2
13, the DETECTPG 213 (Fig. 7-75) detects the page boundary, and the timing control circuit 21 detects the page boundary.
5, the start address of the next page will be calculated, and the timing control circuit 215 will output the NP
G8EL220 (Fig. 7-77) was released, and this NPG
Virtual page number 2 latched by Npoaw227 (Figure 7-78) issued with 8EL220
14 and a value in which 0 is put in the lower bits 0 to 11 are combined and input data 221 to the CPA 29.

(本実施例ではページサイズ=4にバイトであるので次
の先頭アドレスを計算するため定数/O00Hを加算す
る。)そして、加算結果としてつぎのページの先頭アド
レスをアドレスバス212に出力しアドレス変換部45
に送る。同時にTAGAR216のタグ情報もタグバス
218に出力しアドレス変換部に送る。このとき、タグ
情報のビット9(NPG)222を1″にする。
(In this example, since the page size is 4 bytes, the constant /O00H is added to calculate the next start address.) Then, as the addition result, the start address of the next page is output to the address bus 212 and address conversion is performed. Part 45
send to At the same time, the tag information of the TAGAR 216 is also output to the tag bus 218 and sent to the address translation section. At this time, bit 9 (NPG) 222 of the tag information is set to 1''.

2 メモリマツブトI/Oの場合 アドレス変換部45へ送られた実効アドレスは、実アド
レスに変換されて(第1図)再びアドレスバスへ出力さ
れ主記憶制御部46へ送られる(TLBの動作の詳細は
後で述べる)。この時、実アドレスと一緒にデータメモ
リ14から、保操情報、MPIOも選択され、このMP
IO情報が“1”で実ページ番号がI / o空間にマ
ツプされることを示したら、工/O検出部19によ、9
TAG情報のピッ)gM/IO情報がI/O空間を示す
よう“0″にかえ、TAGBUSへ出力し、同時に、I
/。
2 In the case of memory Matsubuto I/O, the effective address sent to the address converter 45 is converted into a real address (Figure 1) and output to the address bus again and sent to the main memory controller 46 (see details of TLB operation). will be discussed later). At this time, maintenance information and MPIO are also selected from the data memory 14 along with the real address, and this MP
If the IO information is "1" indicating that the actual page number is mapped to the I/O space, the work/O detection unit 19 determines that the
Change the TAG information to “0” so that the gM/IO information indicates the I/O space, output it to the TAGBUS, and at the same time
/.

アクセスを示す信号l0AC(第1図−112、第2図
−219)が実効アドレス計算部に送られる。l0AC
219がIOアクセスを示すので、次ページの先頭アド
レス計算は必要ないので(第7図−79)、タイミング
制御回路215は次ページの先頭アドレス計算の指示を
出すことをやめる。すなわち、信号8TEA1 (第7
図−72)、PARW(第7図−74)、VARTAB
(第7図−76)を“0”にする。
A signal l0AC (FIG. 1-112, FIG. 2-219) indicating access is sent to the effective address calculation section. l0AC
Since 219 indicates IO access, there is no need to calculate the top address of the next page (FIG. 7-79), so the timing control circuit 215 stops issuing instructions to calculate the top address of the next page. That is, signal 8TEA1 (seventh
Figure 72), PARW (Figure 7-74), VARTAB
(Figure 7-76) is set to "0".

3、I/Oアクセスの場合 TAGA几216のTAG情報M/Ioが“0″でI/
Qアクセスを示す場合、このTAG情報M/IOがタイ
ミング制御回路215に送られ、メモリマツプI/Oと
同様にタイミング制御回路215は次ページの先頭アド
レス計算の指示を出すことをやめ、信号5TEAI (
第7図−72)、PARW(第y図−74)、VART
AB(第7図−76)を“o”にする。
3. In the case of I/O access, if the TAG information M/Io of the TAGA box 216 is “0”, the I/O
When indicating a Q access, this TAG information M/IO is sent to the timing control circuit 215, and like the memory map I/O, the timing control circuit 215 stops issuing an instruction to calculate the start address of the next page, and outputs a signal 5TEAI (
Figure 7-72), PARW (Figure y-74), VART
Set AB (Figure 7-76) to "o".

TLBは、その内部のアドレス比較部12に仮想ページ
番号、データメモリ部14に実ページ番号、保護情報、
&1PIO情報を記憶する。
The TLB stores a virtual page number in its internal address comparison unit 12, a real page number in its data memory unit 14, protection information,
&1 Store PIO information.

仮想記憶方式を採用する情報処理装置では、主記憶上に
ページテーブル31、ページ記述子32を持ち、これら
の記述子中にある情報のコピーをTLBに持つ。本発明
では、ページ記述子32中にMPIO情報323を持た
せ、このIO情報が“1″であれば、このページ記述子
の示すページがI/O空間にマツプされることを示し、
“0″であればメモリ空間であることを示す。このMP
IO情報もTLBに記録される。
An information processing device that employs a virtual storage system has a page table 31 and a page descriptor 32 on the main memory, and copies of information in these descriptors are stored in the TLB. In the present invention, the page descriptor 32 has MPIO information 323, and if this IO information is "1", it indicates that the page indicated by this page descriptor is mapped to the I/O space,
If it is “0”, it indicates that it is a memory space. This MP
IO information is also recorded in the TLB.

実効アドレス計算部から送られた実効アドレス(仮想ア
ドレス)は、VARIIのページ内オフセット(VAR
のビット1l−31)を除いた部分(V A RtD 
ヒツト12−31)(以下仮想ページ番号と略す。)を
TLBの仮想アドレス部に記憶されている仮想ページ番
号と比較し、一致する仮想ページ番号があればその仮想
ページ番号に対応するTLBのデータメモリ部のエント
リを几A几15に読み出す。このデータメモリ部には、
実ページ番号、保護情報、I/Q情報が記憶されている
The effective address (virtual address) sent from the effective address calculation unit is the in-page offset (VAR
bits 1l-31) of V A RtD
12-31) (hereinafter abbreviated as virtual page number) with the virtual page number stored in the virtual address section of the TLB, and if there is a matching virtual page number, the TLB data corresponding to that virtual page number is The entry in the memory section is read out to the A box 15. In this data memory section,
Actual page numbers, protection information, and I/Q information are stored.

読み出されたRAR15中の実ページ番号は(RA几の
ビット12−31)はVARIIに格納されている仮想
アドレスのページ内オフセット(VARのピッ)O−3
1)と組み合わせて実アドレスを形成しアドレスバス1
11に出力し主記憶制御装置に送られる。
The real page number in the read RAR15 (bits 12-31 of RA) is the intra-page offset of the virtual address stored in VARII (VAR bit) O-3
1) to form a real address and address bus 1
11 and sent to the main memory controller.

RAR15中の保護情報(R,AR,のビット15)は
、保護チェック機構18に送られる。保護チェック機構
は、TTAGRI 6中の情報をデコーダ17によって
デコードされたアクセスタイプなどの情報及び1−LA
R15からの保護情報、及び命令実行部からの実行レベ
ルなどの情報からアクセスが妥当であるかをチェックし
、保膿例外を検出すればそれを命令実行部に送らせる。
The protection information (bit 15 of R, AR) in the RAR 15 is sent to the protection check mechanism 18. The protection check mechanism converts information in TTAGRI 6 into information such as access type decoded by decoder 17 and 1-LA.
It is checked whether the access is appropriate based on the protection information from R15 and the information such as the execution level from the instruction execution section, and if a contamination exception is detected, it is sent to the instruction execution section.

RAR15中のI/Q情報(几ARのとット0)(以下
、MPIOと略す)は、工0検出部に送られる。IO検
出部は、MPIOが“1”のときはTTAGRI 6の
M/IO情報を0”にし−cI/O空間を示す様圧して
主記憶制御装置に送る。
The I/Q information (AR bit 0) (hereinafter abbreviated as MPIO) in the RAR 15 is sent to the process 0 detection section. When MPIO is "1", the IO detection section sets the M/IO information of TTAGRI 6 to "0" to indicate the cI/O space and sends it to the main storage controller.

またMI’IOが“1″のときは、EAUにI OAC
+=”l”としてメモリマツブトI/Oであることを知
らせる。
Also, when MI'IO is "1", I OAC is sent to EAU.
+=“l” to notify that it is a memory Mabutsu I/O.

TTAG几1/Oの情報は実アドレスを主記憶制御装置
に送るのと同時に送られる。このとき、前記の様にメモ
リマツブトI/Oの場合にはM//Omtt&は“0”
でI/O空間を示す様にかえられ、またV/R情報(仮
想アドレスが実アドレスかを示す信号)も“0”で実ア
ドレスを示す様にかえてTBU8に出力されて主記憶制
御装置に送られる。
The TTAG1/O information is sent at the same time as the real address is sent to the main memory controller. At this time, as mentioned above, in the case of memory Matsubuto I/O, M//Omtt& is "0"
is changed to indicate the I/O space, and the V/R information (a signal indicating whether the virtual address is a real address) is also changed to "0" to indicate the real address, and is output to the TBU8, which is then output to the main memory control unit. sent to.

主記憶制御装置は、送られた実アドレス及びタグ情報に
よりメモリ空間又はI/O空間をアクセスする。
The main storage controller accesses the memory space or I/O space based on the sent real address and tag information.

M/IQ情報がIloを示す時“O”は、実アドレスを
i/Oポートアドレスとして出力し、I/O情報がメモ
リ空間を示す時“1″は、実アドレスを主記憶アドレス
として出力し、メモリ空間をアクセスする。
When the M/IQ information indicates Ilo, "O" outputs the real address as the I/O port address, and when the I/O information indicates memory space, "1" outputs the real address as the main memory address. , access memory space.

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

以上説明した様に、メモリマップトエ/O情報をページ
記述子に持たせて、それをTLB内にも記憶させること
によシ中央処理装置内でメモリマツブトI/Oを検出す
ることができ、主記憶制御装置は、I/Q空間にマツプ
されたメモリオペランドアクセスをI/Oアクセスに切
り換えて入出力装置をアクセスすることが可能になる。
As explained above, by providing memory mapped I/O information in the page descriptor and storing it in the TLB, memory mapped I/O can be detected within the central processing unit, and the main memory The control device can access the input/output device by switching memory operand access mapped to the I/Q space to I/O access.

これによシメモリアクセスとI/Oアクセスを分離する
ことKよシ、欠点(主記憶装置は高速化手法としてイン
ターリーブ構成方式などが可能であるが入出力装置では
難しい)が解決される。
This solves the disadvantage of separating memory access and I/O access (an interleave configuration method is possible as a speed-up method for main storage devices, but this is difficult for input/output devices).

また、実効アドレス計算部がTLBからメモリマツプ)
 i/O情報を受は取ることにより、欠点(ページング
方式の仮想記憶方式を採用し且つバイト単位でオペラン
ドアドレスを指定可能な中央処理装置においては、オペ
ランドが複数のページにまたがる場合があるが、メモリ
マツプ) I/O空間とメモリ空間とではページにまた
がった場合の中央処理装置の動作が異なってくる)が解
決される。
Also, the effective address calculation unit is mapped from TLB to memory map)
By receiving and receiving I/O information, disadvantages (in a central processing unit that uses a paging-based virtual memory system and can specify operand addresses in bytes, operands may span multiple pages; (memory map) The operation of the central processing unit differs between the I/O space and the memory space when spanning pages is solved.

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

第1図は、本発明の一実施例におけるアドレス変換部の
ブロック図、第2図は、本発明の実施例における実効ア
ドレス計算部のブロック図、第3図(a)Φ)は、夫々
本発明の実施例におけるアドレス変換テーブル、ページ
記述子の構成を示す図、第4図は、本発明の実施例にお
ける中央処理装置の構成を示すブロック図、第5図は、
本発明の実施例におけるタグバスの保持する情報を示す
図、第6図は、本発明の実施例における仮想アドレスか
ら実アドレスへの変換を現わす図、第7図は、本発明の
実施例における実効アドレス計算を現わすタイミングチ
ャートである。 11・・・・・・バーチャルアドレスレジスタ、12・
・・・・・連想メモリ、13・・・・・・エンコーダ、
14・−・・・・データメモリ、15・・・・・・リア
ルアドレスレジスタ、16・・・・・・レジスタ、17
・−・・・・デコーダ、18・・・・・・保護チェック
機構、11o・・・・・・アドレスバス、111・・・
・・・タグバス。 第 3 図 (oL)アトルス変埃チー7゛ル      9゜(b
)ページ記体手 第 4 図 $ 5 図 77゛バス じ七rひ′ 第4図 (a)〆[すオ公1′/ドn場合 (ムフメ毛すマッブト乃6 djシイト泊(5!−す藺 区              彎 \へi嵜I/l〈Nζ〉
FIG. 1 is a block diagram of an address conversion section in an embodiment of the present invention, FIG. 2 is a block diagram of an effective address calculation section in an embodiment of the present invention, and FIG. FIG. 4 is a block diagram showing the configuration of the central processing unit in the embodiment of the invention, and FIG.
FIG. 6 is a diagram showing the information held by the tag bus in the embodiment of the present invention. FIG. 6 is a diagram showing the conversion from a virtual address to a real address in the embodiment of the present invention. FIG. 5 is a timing chart showing effective address calculation. 11...Virtual address register, 12.
...Associative memory, 13...Encoder,
14... Data memory, 15... Real address register, 16... Register, 17
...Decoder, 18...Protection check mechanism, 11o...Address bus, 111...
...Tag bus. Figure 3 (oL) Atlus change dust chi 7゛ru 9゜(b
) Page entry hand No. 4 Figure $ 5 Figure 77゛Bus J7 rhi' Figure 4 (a)〆 I/l〈Nζ〉

Claims (1)

【特許請求の範囲】[Claims] ページング方式の仮想記憶方式を採用する中央処理装置
において、主記憶アクセスとI/Oアクセスとを切り換
える入出力制御信号を生成するとともに実効アドレスを
生成する実効アドレス計算部、実アドレスとともに入出
力制御信号を記憶し、前記実効アドレスによりアドレス
変換時に実アドレスとともに入出力制御信号を呼び出す
アドレス変換索引機構、及び前記入出力制御信号により
主記憶アクセスとI/Oアクセスとを切り換える主記憶
制御装置を備え、前記実効アドレス計算部における実効
アドレス計算時に、オペランドが複数のページにまたが
り、且つアドレス変換索引機構から実アドレスとともに
読み出した入出力制御信号が主記憶アクセスを示す場合
には、次のページの先頭アドレスの生成を行ない、オペ
ランドが複数のページにまたがり、且つアドレス変換索
引機構から実アドレスとともに読み出した入出力制御信
号がI/Oアクセスを示す場合には、次のページの先頭
アドレスの生成を行なわない事を特徴とする実効アドレ
ス計算装置。
In a central processing unit that adopts a paging-based virtual memory system, an effective address calculation unit that generates an input/output control signal to switch between main memory access and I/O access and also generates an effective address, and an input/output control signal along with the real address. an address conversion indexing mechanism that stores an address and calls an input/output control signal along with a real address when converting an address using the effective address, and a main memory control device that switches between main memory access and I/O access using the input/output control signal, When calculating the effective address in the effective address calculating section, if the operand spans multiple pages and the input/output control signal read together with the real address from the address conversion indexing mechanism indicates main memory access, the start address of the next page is calculated. If the operand spans multiple pages and the input/output control signal read together with the real address from the address conversion indexing mechanism indicates an I/O access, the start address of the next page is not generated. An effective address calculation device characterized by:
JP60273916A 1985-12-04 1985-12-04 Effective address calculating device Granted JPS62131351A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60273916A JPS62131351A (en) 1985-12-04 1985-12-04 Effective address calculating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60273916A JPS62131351A (en) 1985-12-04 1985-12-04 Effective address calculating device

Publications (2)

Publication Number Publication Date
JPS62131351A true JPS62131351A (en) 1987-06-13
JPH0557620B2 JPH0557620B2 (en) 1993-08-24

Family

ID=17534354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60273916A Granted JPS62131351A (en) 1985-12-04 1985-12-04 Effective address calculating device

Country Status (1)

Country Link
JP (1) JPS62131351A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070454A1 (en) * 1999-05-17 2000-11-23 Technowave, Ltd. Method for facilitating data sharing between application programs and accesses to peripheral apparatuses with application programs by using shared addresses
JP2019114303A (en) * 2019-04-18 2019-07-11 株式会社エルイーテック Control chip and game machine using the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016128360A (en) 2013-03-26 2016-07-14 日本碍子株式会社 Glass-ceramic composite material

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070454A1 (en) * 1999-05-17 2000-11-23 Technowave, Ltd. Method for facilitating data sharing between application programs and accesses to peripheral apparatuses with application programs by using shared addresses
JP2019114303A (en) * 2019-04-18 2019-07-11 株式会社エルイーテック Control chip and game machine using the same

Also Published As

Publication number Publication date
JPH0557620B2 (en) 1993-08-24

Similar Documents

Publication Publication Date Title
JP2589713B2 (en) Data processor and data processing system
TWI342492B (en) Method of providing extended memory protection
US5854913A (en) Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures
US5408626A (en) One clock address pipelining in segmentation unit
JPS63193230A (en) High performance microprocessor integrated circuit and reference of memory
JPH0315211B2 (en)
JPS63193253A (en) Data processing apparatus and method
TWI808869B (en) Hardware processor and processor
KR100705171B1 (en) Simple high-performance memory management unit
ATE216097T1 (en) PROCESSOR BRIDGE WITH REWRITE CHECKER
JPS58501560A (en) microprocessor
KR910001314B1 (en) Method for operating data processing system
JPS62131351A (en) Effective address calculating device
Alpert et al. 32-bit processor chip integrates major system functions
JPH02236652A (en) Page table within virtual memory
EP0229253A2 (en) Data processor with virtual memory management
JPH07120316B2 (en) Segment descriptor device
JP2578182B2 (en) Data processing device and data processing system
JPH0555906B2 (en)
JPS62278639A (en) Information processor
JPS6059621B2 (en) Buffer invalidation control method
JPH0440524A (en) Arithmetic unit
JPS6027046A (en) Information processor
JPS60179846A (en) Interruption control system at exceptional conversion
JPH0341540A (en) Error address control system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term