JPS62109152A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPS62109152A JPS62109152A JP60250061A JP25006185A JPS62109152A JP S62109152 A JPS62109152 A JP S62109152A JP 60250061 A JP60250061 A JP 60250061A JP 25006185 A JP25006185 A JP 25006185A JP S62109152 A JPS62109152 A JP S62109152A
- Authority
- JP
- Japan
- Prior art keywords
- address
- information
- access
- input
- main memory
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000010365 information processing Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 101150007585 ATR3 gene Proteins 0.000 description 1
- 101000603877 Homo sapiens Nuclear receptor subfamily 1 group I member 2 Proteins 0.000 description 1
- 101001098560 Homo sapiens Proteinase-activated receptor 2 Proteins 0.000 description 1
- 101000713170 Homo sapiens Solute carrier family 52, riboflavin transporter, member 1 Proteins 0.000 description 1
- 101150038998 PLAUR gene Proteins 0.000 description 1
- 101001116283 Phanerodontia chrysosporium Manganese peroxidase H4 Proteins 0.000 description 1
- 101001018261 Protopolybia exigua Mastoparan-1 Proteins 0.000 description 1
- 102100036863 Solute carrier family 52, riboflavin transporter, member 1 Human genes 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/10—Energy storage using batteries
Abstract
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 sometimes to an input/output control mechanism of the central processing unit.
従来中央処理装置から外部入出力装置へのアクセス方法
としては、次の2通りの方式が考えらnる。Conventionally, the following two methods have been considered for accessing external input/output devices from a central processing unit.
(1)甲゛央処理装置が入出力命令を実行すると、入出
力装置番号と書込み/読出し信号全入出力製電に対して
出力し、入出力装置とのデータのやりとりを行なう方式
C入出力命令によるアクセス)。(1) When the A central processing unit executes an input/output command, it outputs the input/output device number and write/read signals to all input/output devices, and exchanges data with the input/output devices. access by command).
(2) 主記憶装置が割当てられるアドレス空間の一
部に入出力装置を割当て、主記憶に対する書込み/読出
し命令、演算命令などの実行時に出力されるアドレスが
入出力装置に割当てられているアドレスであれば、入出
力装置とのデータのやりと1行なう方式(メモリマツブ
トI/Oによるアクセス)。(2) Allocate an input/output device to a part of the address space where the main memory is allocated, and the address output when executing write/read instructions, arithmetic instructions, etc. to the main memory is the address assigned to the input/output device. If there is one, there is a method for exchanging data with the input/output device (access via memory Mabutsu I/O).
ここで後者のメモリマツブトl/OH1一般の算術論理
演算命令、転送命令等のメモリオペランドとして主記憶
を指定できるのと同様に入出力装置1’e指定すること
が可能であるという特徴を有しておシ、高性能・多機能
のマイクロプロセッサにおいては有効である。Here, the latter memory M/OH1 has the feature that it is possible to specify the input/output device 1'e in the same way that the main memory can be specified as a memory operand for general arithmetic and logic operation instructions, transfer instructions, etc. However, it is effective in high-performance, multi-functional microprocessors.
しかしながら反面、主記憶装置に高速化手法として、イ
ンターリーブ構成方式などが可能であるが、入出力装置
ではその様な構成が難しい、主記憶装置と入出力装置と
でに読出し/4I込みに失敗した際のリカバリ処理が異
なる、ページング方式の仮想記憶方式を採用し、且つバ
イト単位でオペランドアドレスを指定可能な中央処理装
置においては、オペランドが複数のページにまたがる場
合かめるがI/O/O0メモリ空間とではページがまた
がった場合の中央処理装置の動作か異なってくる、パイ
プライン方式全採用する中央処理装置ではn番目の命令
のオペランドの書込みよりn+1番目の命令のオペラン
ドの読出しの方が先に行なわる場合がめるが、I/O/
O0場合この様なことがあると入出力装置の制御が狂う
ことがある、メモリマウプトI/O構成の中央処理装置
はその内部でメモリ空間とI/O/O0区別がつがない
ので入出力装置のアクセス全実行すべ3%権リレベル指
定する機能全実現させることが困難である等の欠点かめ
る。However, on the other hand, an interleave configuration method is possible as a speed-up method for the main memory, but such a configuration is difficult for the input/output device, and reading/4I writing fails for both the main memory and the input/output device. In a central processing unit that uses a paging-based virtual memory system and can specify operand addresses in bytes, if an operand spans multiple pages, the I/O/O0 memory space is The behavior of the central processing unit when pages span spans differs depending on the case.In a central processing unit that fully uses the pipeline method, the operand of the n+1st instruction is read before the operand of the nth instruction is written. I/O/
In the case of O0, if this happens, the control of the input/output device may go out of order.In the central processing unit with a memory-mapped I/O configuration, there is no distinction between memory space and I/O/O0 internally, so the control of the input/output device may be disrupted. There are drawbacks such as the difficulty of realizing all the functions of specifying the 3% right relevel for all access execution.
前記の問題点は中央処理装置がメモリ空間とI/O/O
0を判別できないということに起因するものである。一
方、仮想記憶方式を採用した中央処理装置でに仮想アド
レス金実アドレスに変換するためにセグメント記述子、
ページ記述子などを用いる。これらの記述子Kfl仮想
アドレスがら芙アドレスへの変換を行なうための情報の
ほが記憶保詠のための清報をも持って′J?j+、これ
らの情報以外にどのアドレスにI/O装置が接続されて
いるかを示す情報(以下、MPIO情報という)をも持
たせることが可能である。従って、本発明はこのMPI
O情報によりメモリマツブトI/O’i判別することが
可能な情報処理装fを提供するものである。The above problem is that the central processing unit has memory space and I/O/O
This is due to the fact that 0 cannot be determined. On the other hand, in order to convert a virtual address into a real address in a central processing unit that uses a virtual memory method, a segment descriptor,
Use page descriptors, etc. These descriptors contain information for converting virtual addresses from virtual addresses to Kfl addresses, as well as information for memory preservation. j+, In addition to these pieces of information, it is also possible to have information indicating to which address the I/O device is connected (hereinafter referred to as MPIO information). Therefore, the present invention applies to this MPI
The present invention provides an information processing device f capable of determining memory I/O'i based on O information.
矢に不発明について図面全参照して説明する。 The invention will be explained with reference to all the drawings.
第1図に本発明の一実施例におけるアドレス変俣部(以
下、TLBという)のブロック図である。FIG. 1 is a block diagram of an address variation unit (hereinafter referred to as TLB) in an embodiment of the present invention.
第1図において11は実効アドレス計算部から送らnて
きた実効アドレス〔又は仮想アドレス)を−担記憶する
ためのレジスタ(VAR)である。In FIG. 1, numeral 11 is a register (VAR) for storing an effective address (or virtual address) sent from the effective address calculation section.
12は仮想アドレスのページ内オフセットの部分全除(
04c仮想ページ香号全複数個記憶し、またVAFL1
1a仮想ページ番号部との比較機能を持つメモリである
。13げメモリ12の比較機能によりどのエントリが一
致したかのエン) IJ番号を生成するだめのエンコー
ダである。14はメモリ12゜エンコーダ13により一
致したエントリ番号に対応する実アドレス情報、保穫情
報、MPIO情報を記憶するためのメモリである。15
はメモリ14から読出される実アドレス情報、保穫情報
、MPIO情報を一時記憶する定めのレジスタ(RA凡
と略す)である。16は実効アドレス計算部から仮想ア
ドレスと同時に送られ℃くる付随情w(以下タグ情報と
いう。)を一時記憶するためのレジスタ(TAGRとい
う)である。17はTAGR中のタグ情報をテコードし
、アクセスの植別全示す信号(アクセスタイプという)
でIloであるが否がを示す信号(M/IOという)t
−発生させるための回路である。18は命令実行部から
の入行レベル情報、デコーダ17よシのアクセスタイプ
↑R報。12 is partial and total removal of the in-page offset of the virtual address (
04c virtual page incense name all multiple memorized, also VAFL1
1a This is a memory that has a comparison function with the virtual page number section. This encoder is used to generate an IJ number (encoding which entry matches with the comparison function of the memory 12). Reference numeral 14 denotes a memory for storing real address information, storage information, and MPIO information corresponding to the entry number matched by the memory 12° encoder 13. 15
is a designated register (abbreviated as RA) that temporarily stores real address information, storage information, and MPIO information read from the memory 14. Reference numeral 16 denotes a register (referred to as TAGR) for temporarily storing incidental information w (hereinafter referred to as tag information) sent simultaneously with the virtual address from the effective address calculation section. 17 is a signal that encodes the tag information in TAGR and indicates the type of access (referred to as access type).
A signal (referred to as M/IO) indicating whether or not Ilo is t
-This is a circuit for generating. Reference numeral 18 indicates entry level information from the instruction execution section and access type ↑R information from the decoder 17.
RAR15からの保護情報などから保護例外を検出する
ための回路でめる。19にRA几15がらのMPI(J
情報とデコーダ17がらのM/IO信号によシ実効アド
レス計算部から送られてきた仮想アドレスがメモリ空間
金子すものかI/O空間ヲ示すものか全決定する回路で
ある。1/Oは実効アドレス=tX部から仮想アドレス
’1TLB 、メモリ制御部へ送り、且つTLBから実
アドレス全メモリ制御部へマルチプレクサして送ルバス
(ABMという)である。111は実効アドレス計算部
から仮想アドレスと同時にタグ情報を送り、また1゛L
から果アドレスと同時にタグ情報を送るためのバスであ
る。112UI/O検出部19からの工0アクセス信号
CI(JAC)で、実効アドレス計算部に送ら几る。A circuit for detecting protection exceptions from protection information etc. from the RAR 15 is provided. MPI (J
This circuit completely determines whether the virtual address sent from the effective address calculation unit indicates the memory space or the I/O space based on the information and the M/IO signal from the decoder 17. 1/O is a bus (referred to as ABM) that sends the effective address=tX section to the virtual address '1TLB to the memory control section, and multiplexes and sends from the TLB to the real address all memory control sections. 111 sends tag information from the effective address calculation unit at the same time as the virtual address, and 1゛L
This is a bus for sending tag information at the same time as the destination address. The access signal CI (JAC) from the 112UI/O detection section 19 is sent to the effective address calculation section.
第2図に、実効アドレス計算部のブロック図で、21i
命令央行部から実効アドレス計算に必要な汎用レジスタ
の値を実効アドレス計算部に送るためのバス(EBU8
という)、22にインデクス1直七−担記憶するための
レジスタ(EATRI とい9:23にヘースアドレス
を一担記憶するためのレジスタ(EATR2という)、
24Hブリデクリメントやポストインクリメントなどの
補正値を一担記憶するためのレジスタ(EAT几3とい
う)、25はディスグレートメント値を一担記憶するた
めのレジスタ(EATR4という)、26は命令解析部
からディスプレースメノト値を実効アドレス計算部へ送
るためのバス(IBUSという)、27はEA−8TR
1〜4の111キヤリ一セーブ万式で加1する加算器(
C8Aという)、28はNf’GRQ価号により ジ
C8AのSUm部及びCarry部の領を選択またはN
PGRの値及び定数/O00H’に選択するマルチプレ
クサ、29はマルチプレクサ28 VCより選択さtし
た2つの入力の加算上行なうための加算器(CPAとい
う)、2/O汀加算器29により計算された実効アドレ
スの甲でメモリオペランドの実効アドレス金記憶するた
めのレジスタ(UPARという)、211け加算器29
によシ耐算ざnた実効アドレスの甲で分岐先又はブリフ
ェッチ先の、 実効アドレス全記憶するためのレジス
タ(PFARという)、212は計算された実効アドレ
スバスB。FIG. 2 is a block diagram of the effective address calculation unit, 21i
A bus (EBU8
9:23 is a register (called EATR2) for storing the index 1 straight-7 address, and 9:23 is a register (called EATR2) for storing the index 1 straight-7 address.
24H is a register (called EAT 3) for storing correction values such as bride decrement and post-increment, 25 is a register (called EATR4) for storing a displacement value, and 26 is a register from the instruction analysis section. A bus (called IBUS) for sending the displacement value to the effective address calculation unit, 27 is an EA-8TR
An adder that adds 1 to 1 to 4 in 111 carries and saves (
(referred to as C8A), 28 selects the area of SUm part and Carry part of diC8A by Nf'GRQ value number or N
A multiplexer 29 selects the value of PGR and a constant /O00H', an adder (referred to as CPA) for performing the addition of two inputs selected from the multiplexer 28 VC, and a 2/O base adder 29. A register (called UPAR) for storing the effective address of the memory operand in the first part of the effective address, a 211-digit adder 29
A register (referred to as PFAR) 212 is a calculated effective address bus B for storing all effective addresses of branch destinations or pre-fetch destinations.
メモリ制御部へ送るためのバスであり第1図のアドレス
バス111に接続される。213は実効アドレスとオペ
ランドのデータタイプからページ境界Vこまたがるかど
うか全検出するためのページ境界検出器、214はオペ
ランドがページ境界はまたがった場合の前ページの仮想
ページ帯号(仮想アドレスからページ内オフセットを除
いたアドレス)全記憶する之めのレジスタ、215は実
効アドレス計鼻部のタイミ/グ制御回路% 216は命
令解析部から送られてくるオペランドアドレスについて
のタグ情報を記憶するためのレジスタ、217けタグレ
ジスタ216の情@全デコードしオペランドのデータタ
イプ、工/O命令かどうかの信号(I/O′ft発生す
る回路、218はTAGR。This is a bus for sending data to the memory control section, and is connected to the address bus 111 in FIG. 213 is a page boundary detector for fully detecting whether the effective address and the data type of the operand cross the page boundary V; 214 is the virtual page band code of the previous page (from the virtual address to the page 215 is a timing control circuit for the effective address meter nose section. 216 is a register for storing tag information about the operand address sent from the instruction analysis section. Register, 217 digits Tag register 216 information @ fully decoded, data type of operand, signal indicating whether it is an I/O instruction (I/O'ft generating circuit, 218 is TAGR).
216のタグ情報1TLt3 、メモリ制御部へ送るた
めのバスであシ、第1図のタグバス1/Oに後炊さ八る
。The tag information 1TLt3 of 216 is sent to the memory control unit via a bus, and is later stored on the tag bus 1/O in FIG.
第31図(a)において、31げアドレス変換テーブル
(ページテーブルという)の全体図を示し、311はア
ドレス変傑テーブルの1エントリ(ページ記述子という
)全示す。第3図fbl i第3図+a+のページ記述
子311の構成を詳細に示したものである。321はこ
の記述子の内容が有効であるか否かを示すビット(vビ
ットという)、322にこの連子の示すページがI/O
空j石にマツプされることを示すビット(MPIOとい
’>)、323はこの記述子の不すページが主記憶に存
在するか否かを示すビット(Pビットという)、324
はこの記述子の示すページが中央処理装置により参照さ
nたか否かを示すビット(Aビットという)、325に
この記述子の示すページが中央処理装置により書込みが
めったか否かをボすピッ)(Wビットという)、326
[この記述子のボすページに対する保脛情報、327は
この記述子の示すページがメモリ空間又はI/O/O0
何番地にマッグされるかを示す実アドレスである。In FIG. 31(a), 31 shows the entire address conversion table (referred to as a page table), and 311 shows all one entry (referred to as a page descriptor) of the address change table. Fig. 3 fbl i Fig. 3 shows the detailed configuration of the page descriptor 311 of Fig. 3 +a+. 321 is a bit (referred to as v bit) that indicates whether the contents of this descriptor are valid, and 322 indicates whether the page indicated by this link is I/O
323 is a bit indicating that the page is mapped to an empty stone (called MPIO), 324 is a bit indicating whether the missing page of this descriptor exists in main memory (called P bit),
is a bit (referred to as the A bit) indicating whether the page indicated by this descriptor has been referenced by the central processing unit, and 325 is a bit indicating whether or not the page indicated by this descriptor has been rarely written to by the central processing unit. ) (referred to as W bit), 326
[The maintenance information for the page indicated by this descriptor, 327 indicates whether the page indicated by this descriptor is in memory space or I/O/O0
This is the actual address indicating what address it will be mapped to.
次に不実施例VC3ける動作を説明する。Next, the operation of the non-embodiment VC3 will be explained.
本実施例vc2ける中央処理装置は第4図に示す様に命
令解析部43.実効アドレス計算部44゜アドレス変換
部45.主記憶制御部46.命令実行部47.の各ユニ
ットから構成さnる。各ユニットニアドレスバス41,
1”バス42.Iバス48、Eバス49により接続され
る。As shown in FIG. 4, the central processing unit in this embodiment VC2 includes an instruction analysis section 43. Effective address calculation unit 44°address conversion unit 45. Main memory control unit 46. Instruction execution unit 47. It consists of each unit. Each unit near address bus 41,
1” bus 42, I bus 48, and E bus 49.
命令解析部43に主記憶から恍込まnた命令をデコード
し、命令実行部47で+[T!柄行可nヒな形式に変換
して命令実行部47に込る。互た命令解折部13で解析
した命令がメモリ又は1/O空間に対するオペランドを
持つ場合には、そのオペランドの実効アドレス計算に必
要な情報(インデク値、ベース値、ディスプレースメン
ト値など)全実効アドレス計算部44に送る。実効アド
レス計算部44は命令解析部43から送られてきた実効
アドレス計算に必要な情報を基に失効アドレスバス算し
、実効アドレスをアドレス変換部45に送る。アドレス
変換部45に実効アドレス計算部44から送らnてきた
実効アドレスを実アドレスに変換し主記憶制御部46に
送る。主記憶制御部46はアドレス変換部45から送ら
rて米た実アドレスによシ主記憶又は入出力装置全アク
セスする。The instruction analysis unit 43 decodes the n instruction loaded from the main memory, and the instruction execution unit 47 decodes the instruction +[T! It is converted into a format that can be processed and entered into the instruction execution unit 47. If the instruction analyzed by the instruction parsing unit 13 has an operand for memory or 1/O space, all effective information (index value, base value, displacement value, etc.) necessary for calculating the effective address of that operand is It is sent to the address calculation section 44. The effective address calculation unit 44 calculates the invalid address bus based on the information necessary for calculating the effective address sent from the instruction analysis unit 43 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 all input/output devices based on the real address sent from the address conversion unit 45.
オペランドの読込み時には主記憶又は入出力装置から読
込んだ情報全命令実行部に送り、書込み時には命令実行
部47から送られた情報を主記憶又は入出力装置に書込
む命令実行部47は命令解析部43から送られてくる命
令のデコード情報によシ命令の美行を行なう。The instruction execution section 47 sends all information read from the main memory or input/output device to the instruction execution section when reading an operand, and writes the information sent from the instruction execution section 47 to the main memory or input/output device when writing an operand. The instruction is executed according to the instruction decoding information sent from the section 43.
アドレスバス41は実効アドレス計算部44からアドレ
ス変換部45へ実効アドレスを転送し、またアドレス変
換部45から主記憶制御部46へ芙アドレス全転送する
ために用いらnる。また。The address bus 41 is used to transfer the effective address from the effective address calculation section 44 to the address translation section 45, and also to transfer all addresses from the address translation section 45 to the main memory control section 46. Also.
タグバス42はアドレスバス41と対応して用いらnる
バスで、アドレスバス41上の実効アドレス、実アドレ
スに付随する各攬情報全転送するためのバスである。こ
のタグバス42にょシ転送される情報51には次に示す
様な情報がめる。The tag bus 42 is a bus used in correspondence with the address bus 41, and is a bus for transferring all information associated with the effective address and real address on the address bus 41. The information 51 transferred to the tag bus 42 includes the following information.
1、 bit2−3・・・・・・オペランドデータ長2
、 bit9・・・・・・M/I(Jt示す。1, bit2-3...operand data length 2
, bit9...M/I (Jt indicates.
3、bitIQ ・・・・・ NPGす
4、 bit 11−12・−・−Access
type5、bit 13−山AJ/R
1・・・・・・実効アドレス(仮想アドレス)であるこ
と金示す
0・・・・・・実アドレスであることを示す。3, bitIQ... NPG 4, bit 11-12...--Access
type 5, bit 13-AJ/R 1...Indicates that it is an effective address (virtual address) 0...Indicates that it is a real address.
前記の様な構成の甲央処理装M Ic s−いて、メモ
リ又はI/(J空間に対するオペランドを持つ命令全実
行する場合の動作を以下に簡明する。The operation of the CPU having the above-described configuration when all instructions having operands for the memory or I/(J space) are executed will be briefly explained below.
命令解析部43は命令を解析すると汎用レジスタのti
ll 、インデクス1直、ディスプレースメント1直な
ど実効アドレス計算に必要な情報6EBUS(第2図の
21.第4図の49 ) 、 IBUS (第2図の2
6、第4図の48)により実効アドレス計算部のレジス
タEAT几1.EATR2,EATR3,EATR4(
第2図の22.23,24.25)送る。そしてオペラ
ンドについての付随情報(アクセスタイプ、データ長、
メモリ空間か1/(1)空間かの情報M/IO)などt
−T’L’AGR161c送る。When the instruction analysis unit 43 analyzes the instruction, it reads ti of the general-purpose register.
Information necessary for effective address calculation such as ll, index 1 shift, displacement 1 shift, etc. 6EBUS (21 in Figure 2, 49 in Figure 4), IBUS (2 in Figure 2)
6. The register EAT 1 of the effective address calculation section is set by 48) in FIG. EATR2, EATR3, EATR4 (
22.23, 24.25) in Figure 2). and accompanying information about the operand (access type, data length,
Information about memory space or 1/(1) space (M/IO), etc.
- Send T'L'AGR161c.
実効アドレス計算部44はEATRl、EATR2゜E
ATR3,EATR4の汎用レジスタの値のインデクス
1直、ディ・スプレースメント値など?キャリーセーブ
加算器27.キャリーグロパゲート加算器29を用いて
加算を行ない加算結果としての実効アドレスを(JPA
R2/Oに格納する。そして’1” TAGR1G中の
タグ情報をデコードしてデータ長を得て、前記実効アド
レスとデータ長からページ境、界にまたがるか否かをペ
ージ境界検出器213で、検出する。そして次の3通シ
の@作を何なう。The effective address calculation unit 44 uses EATRl and EATR2°E.
ATR3, EATR4 general-purpose register value index 1, displacement value, etc.? Carry save adder 27. Addition is performed using the carry groper gate adder 29, and the effective address as the addition result is expressed as (JPA
Store in R2/O. Then, the tag information in '1' TAGR1G is decoded to obtain the data length, and the page boundary detector 213 detects whether or not it straddles a page boundary from the effective address and data length.Then, the following 3 What is Toshi's @work?
1、 メモリ空間アクセスの場合
TAGR216のM/IO情報が1″でメモリ空間アク
セスであることを示し、且つアドレス変換部45からの
l0AC偏号〔第1図の112゜第2図の219)がO
″(メモリマツブトレってないことを示す)の場合は、
まず0PAR2/Oに格納さnているメモリオペランド
の実効アドレスをアドレスバス212に出力し、アドレ
ス変換部45に送る。同時にTAGR216のタグ情報
もタグバス21Bに出力しアドレス変換部45に送る。1. In the case of memory space access, the M/IO information of the TAGR 216 is 1'', indicating that it is a memory space access, and the l0AC decoding from the address conversion unit 45 [112° in FIG. 1 and 219 in FIG. 2] is O
” (indicating that memory is not available),
First, the effective address of the memory operand n stored in 0PAR2/O is output to the address bus 212 and sent to the address conversion section 45. At the same time, the tag information of the TAGR 216 is also output to the tag bus 21B and sent to the address conversion section 45.
次にページ境界に筐たかる次のページの先頭アドレスの
計算を行なう。このg′を算はまず(JPAB2/O
の仮想ページ番号((JPARのbit 12〜3
1)金NPGR214に一担記憶し、次にNPGR(信
号220により、仮想ページ番号と下位bitO〜11
に0を入れた値を結合したデータ221及び定数000
0/O00Hを加算器29に入力するC本実施例でにペ
ージサイズ=4にバイトを仮定しているので次のページ
の先頭アドレスを計算するためだ数/O00I−1を加
算している〕。Next, the start address of the next page located at the page boundary is calculated. Calculate this g' first (JPAB2/O
virtual page number ((JPAR bits 12-3
1) Store data in the gold NPGR 214, and then store the virtual page number and lower bits O to 11 in the NPGR (signal 220).
Data 221 and constant 000, which are the combination of values with 0 added to
Input 0/O00H to the adder 29 In this embodiment, since the page size is assumed to be 4 bytes, the number /O00I-1 is added to calculate the start address of the next page] .
そして)JO算結果として矢のページの先頭アドレスを
アドレスバス212に出力し、アドレス変換部45に送
る。同時にTAGR216のタグ情報もタグバス218
に出力しアドレス変換部に送る。このときタグ情報のb
it9(NPG)t”1″にする。Then, as a JO calculation result, the start address of the page of the arrow is outputted to the address bus 212 and sent to the address conversion unit 45. At the same time, the tag information of TAGR216 is also transferred to the tag bus 218.
and sends it to the address conversion section. At this time, tag information b
Set it9(NPG)t to "1".
2 メモリマツブトI/Oの場合
’1’AGR216のタグ情報M/IO” 1″でメモ
リ空間を示し、且つアドレス変換部45刀1らのI(J
AC信号219が′1″(メモリマツブトI/Oである
ことを示す)の場合には、(JPAR2/Oに格納され
ているメモリオペランドの実効アドレスをアドレスバス
212に出力しアトし レス変換部45に送る。同時
K TAea 216のタグ情報もタグバス218に出
力しアドレス変換部45に送る。このときタグ情報kl
/ IQ f″′0”にし送出する。このことにニジ
メモリ空間へのアクセスは1/U空間へのアクセスに変
換される。2 In the case of memory Matsubuto I/O, the tag information M/IO of the AGR 216 "1" indicates the memory space, and the I(J
When the AC signal 219 is '1'' (indicating that it is a memory I/O), the effective address of the memory operand stored in the JPAR2/O is output to the address bus 212 and addressed. At the same time, the tag information of K TAea 216 is also output to the tag bus 218 and sent to the address conversion unit 45. At this time, the tag information kl
/IQ f″′0” and send. In this way, an access to the 2D memory space is converted to an access to the 1/U space.
3、 I / (−1アクセスの場合TAGR216
(7)夕f情@ M/I(J カ” O”の場合に0
PAR2/Oに格納されているし0オペランドの実効ア
ドレスをアドレスバス212に出力し、アドレス変換部
45に送る。同時にTAGR216のタグ1身報もタグ
バス218に出力しアドレス変換部45に送る。3, I/(TAGR216 for -1 access
(7) Evening information @ M/I (0 if J is “O”)
The effective address of the 0 operand stored in PAR2/O is output to the address bus 212 and sent to the address converter 45. At the same time, the tag 1 information of the TAGR 216 is also output to the tag bus 218 and sent to the address conversion section 45.
TLBi−1その内部のアドレス比較部121C仮想ペ
ージ番号、データメモリ部14に実ページ番号、保護情
報、MPIOii!i報を記憶する。仮想記憶方式全採
用する情報処理装置では上記雲上にページテーブル31
.ページ記述子32金持ち、こnらの記述子中に′、〈
アドレス327.保護情報326などが入っている。そ
して仮想アドレス→冥アドレス変換ヲ高速化するため、
セグメノト記連子、ページ記述子中にある情報のコピー
1TLBに持つ。本発明ではページ記述子32中にMP
IO情報323を持たせ、このIO債報が′1”であれ
はこのページ記述子の示すページがI/O/O中マツプ
されることを示し、0′であれはメモリ空間であること
を示す。TLBi-1 internal address comparison unit 121C virtual page number, data memory unit 14 contains real page number, protection information, MPIOii! Memorize the i-report. In an information processing device that fully adopts the virtual memory method, the page table 31 is placed above the cloud.
.. Page descriptor 32 Rich, these descriptors include ′, 〈
Address 327. Contains protection information 326, etc. And in order to speed up the virtual address → virtual address conversion,
A copy of the information in the segment note link and page descriptor is stored in the 1TLB. In the present invention, MP is included in the page descriptor 32.
It has IO information 323, and if this IO descriptor is '1', it indicates that the page indicated by this page descriptor is mapped during I/O/O, and if it is 0', it indicates that it is a memory space. show.
このMPI(J i゛イ報1“LBに記憶さnる。This MPI is stored in the LB.
実効アドレス計算部から送ら九た実効アドレス(仮想ア
ドレス)はVARIIK浴16さnる。The effective address (virtual address) sent from the effective address calculation section is stored in the VARIIK bath 16.
同時に送られるタグtri T’L”AGR,16に格
納される。セしてVARII のページ内オフセット
(VARbit□〜11)′lt除いた部分(VA几の
bit12−31)(仮想ページ番号という)をTLB
の仮想アドレス部に記憶されている仮想ページ番号と比
較し、一致する仮想ページ番号が6flば、その仮想ペ
ージ番号に対応する’1’ L Bのデータメモリ部の
エントリ6RAR15に抗出す。It is stored in the tag tri T'L''AGR, 16 that is sent at the same time.The part excluding the in-page offset (VARbit□~11)'lt of VARII (bits 12-31 of VARII) (referred to as virtual page number) TLB
If there is a matching virtual page number 6fl, an entry 6RAR15 of the data memory section of '1' LB corresponding to that virtual page number is sent.
このデータメモリ部には実ページ番号、保護情報、I/
O情報が記憶されている。This data memory section contains real page numbers, protection information, I/O
O information is stored.
読出されたR、AR,15中の夷ベージ番号〔ル山bi
t12−31ンは VARII2に格納されている仮想
アドレスのページ内オフセッ) (VARbito−3
1)と組合せて実アドレス金形成しアドレスバス111
に出力し、主記憶制御装置に送られる。Read R, AR, 15 page number [ru mountain bi
t12-31 is the intra-page offset of the virtual address stored in VARII2) (VARbito-3
1) to form a real address bus 111
and sent to the main memory controller.
RAR15中の保護情報(RARbit 2〜11)は
保蝕チェック機構18に送られる。The protection information (RAR bits 2 to 11) in the RAR 15 is sent to the maintenance check mechanism 18.
保護チェック接衝けT’l’AGR16中の情報をデコ
ーダ17によってデコードされたアクセスタイプなどの
情報及びRAR15からの保護情報。Information such as the access type decoded by the decoder 17 from information in the protection check contact T'l'AGR 16 and protection information from the RAR 15.
及び命令実行部からの実行レベルなどの情報からアクセ
スが妥当であるかをチェックし、保護例外を検出すれば
それを命令実行部に知らせる。It checks whether the access is appropriate based on information such as the execution level and the like from the instruction execution unit, and if a protection exception is detected, it is notified to the instruction execution unit.
RAR15中ノl/O(17報(BARbitO)(M
PI(Jという)UIU検出部19に送られる。RAR15 Nakanol/O (17th report (BARbitO) (M
The PI (referred to as J) is sent to the UIU detection unit 19.
I/O検出部はMP I Ofj5″″l”のときはT
TAGR16のM/IO情報を@0”にしてI/O空間
金示す様にして主記憶制御装fに送る。またMPIOが
L″のときはEAUにl0AC=”l”として、メモリ
マツブトI/Oであることを知らせる。TTAGR1/
Oの情報は実アドレスを主記憶制御装置に送るのと同時
に送られる。このとき前記の様にメモリマツブトI/O
の場合にはM/IO情@に′0” I/O空間を示すよ
うにかえられ、またV/R情報(仮想アドレスか実アド
レスかを示す信号)も* 0 #実アドレスを示す様に
かえてTBUSに出力され、主記憶制御装置に送られる
。主記憶制御装置は送られた実アドレス及びタグ情報に
ょシメモリ空間又げI/(J空間全アクセスする。M/
IQ情報がIloを示すときC″″O”)H1実アドレ
ス’1I/Oボートアドレスとして出力しI/O空間全
アクセスする。I/C1報がメモリ空間を出すときC′
″1”)fl、実アドレスを主記憶アドレスとして出力
し、メモリ空間をアクセスする。I/O detection unit is MP I Ofj5″″l’ when T
Set the M/IO information of TAGR16 to @0" to indicate the I/O space value and send it to the main memory control unit f. Also, when MPIO is L", set l0AC="l" to EAU and send it to the memory Matsubutsu I/O let them know that it is. TTAGR1/
The information on O is sent at the same time as the real address is sent to the main memory controller. At this time, as mentioned above, the memory Matsubuto I/O
In this case, the M/IO information @ is changed to '0'' to indicate I/O space, and the V/R information (signal indicating whether it is a virtual address or a real address) is changed to * 0 # to indicate a real address. Instead, it is output to TBUS and sent to the main memory control unit.The main memory control unit uses the sent real address and tag information to fully access the memory space I/(J space.M/
When the IQ information indicates Ilo, C''''O'') H1 real address '1 is output as the I/O boat address and accesses the entire I/O space. When the I/C1 report outputs the memory space, C'
"1") fl, outputs the real address as the main memory address and accesses the memory space.
以上説明した様に、メモリマップトエ/O情報をページ
記述子vc待たせて、それをTLB内にも記憶させるこ
とによシ、中央処理装置内でメモリマツブトI/O’i
検出することができ、主記憶制御装置はI/O空間にマ
ツプさルたメモリオペランドアクセス金I/Oアクセス
に切換えて、入出力1tt−アクセスすることが可能に
なる。こnによりメモリアクセスとI/Oアクセスを分
離することにより、第1の欠点(主記憶装置に高速化手
法としてインターリーブ構成方法などが可能であhが入
出力装置では難しい)が解決される。As explained above, by making the memory mapped I/O information wait for the page descriptor VC and storing it also in the TLB, memory mapped I/O information can be stored in the central processing unit.
The main memory controller can switch to the memory operand access mapped to the I/O space and perform input/output 1tt-access. By separating memory access and I/O access, the first drawback (interleave configuration method is possible as a speed-up method for the main memory, but h is difficult for input/output devices) is solved.
また、実効アドレス計算部がTLBからメモリマツプ)
I/O情報ヲ受取ることにより第2の欠点(ベージング
方式の仮想記憶方式を採用し、且つバイト単位でオペラ
ンドアドレスを指定可能な中央処理装置においては、オ
ペランドが複数のページにまたがる場合がめるが、メモ
リマノブトI/(J空間とメモリ空間とではページにま
たがった場合の中央処理装置の動作が異なってくる)が
解決さnる。Also, the effective address calculation unit is mapped from TLB to memory map)
The second disadvantage of receiving I/O information (in a central processing unit that uses a virtual storage system based on the paging method and can specify operand addresses in units of bytes, there is a possibility that operands may span multiple pages; This solves the memory problem I/(the operation of the central processing unit differs between pages in J space and memory space).
第1図は本発明の実施例におけるアドレス変換部のブロ
ック図、第2図は本発明の実施例における実効アドレス
計算部のブロック図、第3図(a)。
[bl H本発明の実施例VCS−けるアドレスfmテ
ーブル、ページ記述子の各フォーマット図、第4図は本
発明の実施例における中央処理装置の構成を示すプロッ
タ図、第5図は本発明の実施例におけるタグバスの保持
する情報を示すフォーマット図でめる0
11・・・・・・実効アドレスレジスタ、12・川・・
メモ’)s 13・・・・・・エンコーダ、14・山
・・メモリ% 15・・・・・・レジスタ、16・山・
・タグレジスタ、17・・・・・・デコーダ、18・・
・・・・検出回路、19・・・・・・決定回路。
7′ニー\
代理人 弁理士 内 原 晋、/′:′T、’、
I−、−’、゛(′ −・
ロ リ口 。
く ど
ニ
ゲ
Nへ
→
牟4WFIG. 1 is a block diagram of an address translation 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. 3(a). [bl H Embodiment of the present invention VCS - address fm table and page descriptor format diagram; Figure 4 is a plotter diagram showing the configuration of the central processing unit in the embodiment of the present invention; Figure 5 is a diagram showing the configuration of the central processing unit in the embodiment of the present invention; In the format diagram showing the information held by the tag bus in the embodiment, 0 11... Effective address register, 12 River...
Memo')s 13...Encoder, 14・Mountain...Memory% 15...Register, 16・Mountain...
・Tag register, 17... Decoder, 18...
...Detection circuit, 19...Decision circuit. 7'nee\ Agent Patent Attorney Susumu Uchihara, /':'T,',
I-,-',゛('--Lori mouth. To Kudonige N → Mu4W
Claims (1)
スとを切換える入出力制御信号を生成するとともに実効
アドレスを生成する実効アドレス計算部、及び入出力制
御信号により主記憶アクセスとI/Oアクセスを切換え
る主記憶制御装置とを備え、前記アドレス変換索引機構
に実効アドレスおよび実アドレスを記憶するとともに入
出力制御信号を記憶し、アドレス変換が行なわれるとき
実効アドレスから実アドレスを読出すとともに前記入出
力制御信号を読出し、I/Oアクセスを示す場合には、
実効アドレス計算部から実効アドレスとともに得られた
入出力制御信号をI/Oアクセスを示す様に切換えて前
記実アドレスとともに主記憶制御装置に送り、主記憶制
御装置が前記入出力制御信号により主記憶アクセスとI
/Oアクセスを切換えることを特徴とする情報処理装置
。An address conversion pulling mechanism, an effective address calculation unit that generates an input/output control signal for switching between main memory access and I/O access and also generates an effective address, and an effective address calculation unit that switches between main memory access and I/O access using the input/output control signal. a main memory controller, which stores effective addresses and real addresses in the address conversion indexing mechanism and also stores input/output control signals, reads the real address from the effective address when address conversion is performed, and controls the input/output. When reading signals to indicate I/O access,
The input/output control signal obtained together with the effective address from the effective address calculation unit is switched to indicate I/O access and sent together with the real address to the main memory control device, and the main memory control device uses the input/output control signal to control the main memory. Access and I
An information processing device characterized by switching /O access.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60250061A JPS62109152A (en) | 1985-11-08 | 1985-11-08 | Information processor |
| EP86115570A EP0229253A3 (en) | 1985-11-08 | 1986-11-10 | Data processor with virtual memory management |
| US07/965,534 US5347636A (en) | 1985-11-08 | 1992-10-23 | Data processor which efficiently accesses main memory and input/output devices |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60250061A JPS62109152A (en) | 1985-11-08 | 1985-11-08 | Information processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62109152A true JPS62109152A (en) | 1987-05-20 |
| JPH0555906B2 JPH0555906B2 (en) | 1993-08-18 |
Family
ID=17202217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60250061A Granted JPS62109152A (en) | 1985-11-08 | 1985-11-08 | Information processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62109152A (en) |
-
1985
- 1985-11-08 JP JP60250061A patent/JPS62109152A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0555906B2 (en) | 1993-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0371337A (en) | Microprocessor circuit | |
| JPH07504520A (en) | A CPU that retains virtual address capability and has a pipeline instruction unit and an effective address calculation unit. | |
| KR910001314B1 (en) | How virtual memory is used in data processing systems | |
| JPS62274444A (en) | Address conversion system | |
| JP2001034537A (en) | Address translation circuit | |
| JPH0250499B2 (en) | ||
| JPS62109152A (en) | Information processor | |
| JP3190700B2 (en) | Address translator | |
| JPH0557620B2 (en) | ||
| JPS5475964A (en) | Data pre-fetch system | |
| EP0229253A2 (en) | Data processor with virtual memory management | |
| JPS62278639A (en) | Information processor | |
| JPS5940387A (en) | Virtual storage control system | |
| JPH04245334A (en) | Instruction prefetch control method for information processing equipment | |
| JPS5940386A (en) | Virtual storage control system | |
| JPH0235331B2 (en) | ||
| JPS62115554A (en) | Storage protection system in multi-processor system | |
| JPH01226055A (en) | Address conversion system | |
| JPS60129868A (en) | Memory system | |
| JPH02285440A (en) | Prefetch control system | |
| JPS6360427B2 (en) | ||
| JPS6073759A (en) | Address conversion buffer | |
| KR910002026B1 (en) | Address converter | |
| JPH02208723A (en) | Information processor | |
| JPH05158734A (en) | Microprocessor |