JPH0312339B2 - - Google Patents

Info

Publication number
JPH0312339B2
JPH0312339B2 JP56023166A JP2316681A JPH0312339B2 JP H0312339 B2 JPH0312339 B2 JP H0312339B2 JP 56023166 A JP56023166 A JP 56023166A JP 2316681 A JP2316681 A JP 2316681A JP H0312339 B2 JPH0312339 B2 JP H0312339B2
Authority
JP
Japan
Prior art keywords
address
bit
memory
bits
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP56023166A
Other languages
English (en)
Other versions
JPS57138079A (en
Inventor
Fumitaka Sato
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP56023166A priority Critical patent/JPS57138079A/ja
Priority to US06/349,698 priority patent/US4513369A/en
Publication of JPS57138079A publication Critical patent/JPS57138079A/ja
Publication of JPH0312339B2 publication Critical patent/JPH0312339B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は仮想アドレツシング方式をとり、ペー
ジングを行う情報処理装置に関する。
実際の主記憶容量よりも大きな記憶空間をユー
ザに利用させる為に仮想記憶が用いられる。ユー
ザは仮想アドレスを使つてプログラムを書くこと
ができるが、入出力時においてはオペレーテイン
グシステムの入出力制御部にて仮想アドレスを実
アドレスに翻訳してからチヤンネルに対し渡すの
が普通であつた。即ち、仮想記憶を採用するコン
ピユータシステムでは、ユーザの保有する仮想記
憶空間から実記憶空間への変換を自動的に行う
DAT(Dynamic Address Translator)機構と呼
ばれるハードウエアがCPU(中央処理装置)内に
用意される。このハードウエア機構が入出力を制
御するチヤネルにまで適用された例は少ない。チ
ヤネルにDATがないと、仮想アドレスで書かれ
たチヤネルプログラムを実アドレスのチヤネルプ
ログラムに変換する作業はオペレーテイングシス
テムにて行う必要がある。しかしながら、チヤネ
ルプログラム内に分岐コマンドがあつたり、入出
力用のデータ領域が複数頁にまたがることがある
と変換作業がかなりやつかいになる。
これを改善する為、チヤネルに間接アドレス指
定機構を設けてこの作業を容易にする様工夫され
た機種も存在する。それでもオペレーテイングシ
ステムがチヤネルプログラムをトレースして実ア
ドレスに変換しなければならないという事情は少
しも変わらず、これに要するダイナミツクステツ
プ数は無視できない量になつている。
従来のこの種の情報処理装置の構成例を第1図
に示す。図において10は主記憶装置、11は主
記憶制御部、12は中央処理装置CPU、14,
15は入出力制御装置IOCである。前記CPU12
とIOC14,15は共通母線17を介して主記憶
制御部11に接続され、主記憶装置10をアクセ
スできる様に構成されている。この例において、
主記憶装置10には複数の主記憶モジユー
(MM)1,2,3,4が含まれ、IOC14には
磁気デイスク装置MKが、そしてIOC15には入
出力母線16を介してカードリーダCRならびに
ラインプリンタLPが接続されている。アドレス
変換機構(以下DAT13と称する)はCPU12
内に内蔵されている。従つてプログラムが与える
仮想アドレスはDAT13で実アドレスに変換さ
れ、共通母線17を介して主記憶制御部11へ送
られていた。その為、入出力制御に関する、いわ
ゆる入出力コマンドに関してはプログラムが与え
る仮想アドレスをオペレーテイングシステムソフ
トウエア的手段により実アドレスに変換してから
IOC(14又は15)へ渡す様にしていた。この
アドレス変換の為のオーバーヘツドは大きくシス
テム性能が悪くなるという問題があつた。
この問題点を解決する為の一つの方法として入
出力チヤネル(第1図におけるIOC)にもDAT
を備えた機種が存在する。例えばIBM社の
IBM4341プロセツサであつて、この詳細につい
ては、同社より発行されている“A Guide to
the IBM4341Processor(GC20−1877)”を参照
願う。しかしながら第1図の様な構成において
CPU12の他に各IOC14,15にも似た様な
DATを与えることは重複し、同機能を持つ回路
が存在することになり効率が悪い。
本発明の目的は、これらの従来技術の欠点を除
去して単一のDATがCPU・IOCのいずれからの
メモリアクセスに対しても共通仮想アドレス実ア
ドレス変換をする様に改良された新しいアドレス
変換方式を採用した情報処理装置を提供すること
にある。
本発明の他の目的は上記の如くDATをCPUと
IOCとで共用する場合において、IOC側のメモリ
アクセスのうち高速度のデータ転送を要するもの
については、アドレス変換に要する時間が十分短
いことを保証できる様な新しいアドレス変換方式
を採用した情報処理装置を提供することにある。
上記の目的を達成するために本発明を第1図の
情報処理装置に適用した例を第2図に示す。第2
図において、第1図と同一番号の付されているも
のは本発明の適用に当つて変更を要しない部分で
あるのでそれらについては説明を省略する。図に
おいて共通母線27は第1図における17と同じ
くアドレス線、データ線、制御線から成る母線で
あるが、そのうちのアドレス線の信号線数が仮想
アドレスを伝播するのに十分な様に増加される。
この例において、従来は最大16MBまでの実アド
レスを指定できる様に24本のアドレス線を持つて
いたのに対し、本発明の適用に当つては4GB(=
4×109バイト)までの仮想アドレスを指定でき
る様に32本のアドレス線を持つ様に変更されてい
る。CPU22はDATを内蔵せず、プログラムか
ら与えられた仮想アドレスを共通母線27へ出し
てメモリアクセスを行う。主記憶制御部21は
DAT23を内蔵し、共通母線27から与えられ
た仮想アドレスを実アドレスに変換した後、実ア
ドレスを用いて主記憶装置10のアクセスを行
う。。IOC24、IOC25はチヤネルコマンドの
一部として実アドレスに代えて仮想アドレスを受
けとる。その為にチヤネルコマンド自体のフオー
マツト及びIOC24,25内のアドレスレジスタ
は前述の如く24ビツトのアドレスの代りに32ビツ
トのアドレスを扱いうる様に拡張される。共通バ
ス及びIOC24,25のアドレスのビツト数を増
すことは当該分野の設計技術者にとつて容易な設
計事項である為その詳細は説明を要しない。
DAT23は従来のDAT13と基本的には同じ
構造を持つている。即ち、主記憶装置(ここでは
MMC及びMMUの全体を指す)に格納されてい
るアドレス変換表を参照し、所与の仮想アドレス
をそれに対応する実アドレスへ変換する変換回路
と、そのアドレス変換表のうち、変換回路で最近
アクセスされたエントリイを記憶しておき、次回
以降の当該部分へのメモリアクセスを高速化する
為のアドレス変換バツフア(以下TLBと称する)
とから成る。DAT23の変換回路は基本的には
DAT13と同じである。上記アドレス変換表の
基点を表わすレジスタ(図示せず)がDAT13
ではCPU22のマイクロプログラムによつてロ
ードされていたのに対し、DAT23では特別の
メモリコマンドによつてロードされる点が異るの
みである。この特別のメモリコマンドを新設する
ことも当該分野お技術者にとつては容易であるの
で説明は省略する。
DAT23の中のTLBの概要を第3図に示す。
これも当該分野の技術者にはよく知られたセツト
アソシアテイブメモリとして構成されている。こ
の例においては仮想アドレスのビツト21〜12
を用いて各1024語のメモリ41,42,44,4
5がアドレツシングされ、読出される。メモリ4
1,44には、アドレス変換回路でアクセスされ
た仮想アドレスVAのビツト31〜22が又、メ
モリ41,45にはの仮想アドレスに対応する実
アドレスのビツト23〜12が記憶されている。
又、仮想アドレスのビツト31〜22は比較器4
3,46へ加えられ、前記メモリ41,44の出
力と比較される様に構成されている。比較器4
3,46の出力はそれぞれメモリ42,45のイ
ネーブル端子Eに接続され、比較器43,46に
て一致が検出されると対応するメモリの出力が実
アドレスRAのビツト23〜12となる様に構成
されている。メモリ41,42及び比較器43よ
り成る部分を第0コンパートメントC0、又メモ
リ44,45及び比較器46より成る部分を第1
コンパートメントC1という。これはよく知られ
ているセツトアソシアテイブメモリである為詳細
な説明は省略する。
第4図は本発明を適用したTLBのメモリ41
は又は44の任意の1語(エントリイ)のフオー
マツトを示している。このうち、仮想アドレスの
ビツト31〜22は前述の仮想アドレスの比較に
用いられるものであり、フラグは例えばそのエン
トリイがまだ空であることを表わしたり、そのペ
ージへの書込みが行なわれたことを表わしたりす
る為の各種制御用のビツトを表わす。これらはい
ずれも従来のTLBにもあつたものである為、こ
こでは説明を要しない。RRビツトも従来のTLB
に存在したが、本発明と直接関係する為、ここで
は詳細に説明する。
RRはラウンドロビンカウンタと称されるもの
であり、アドレス変換表の新しいエントリイを
TLBに記憶する際に用いられる。そのエントリ
イの仮想アドレスのビツト21〜12がiである
とするとそのエントリイを記憶すべき場所は第3
図に示した如く第0コンパートメントのアドレス
iの部分か、第1コンパートメントのアドレスi
の部分かのいずれかであり、そのどちらかの記憶
内容を捨てて新しいエントリイで置換すべきかを
決定するのがRRビツトである。新しいエントリ
イのTLBへの記憶はそのアドレスのエントリイ
がTLBに記憶されていない場合に行なわれるも
のであつて、そのTLBサーチの時に第0コンパ
ートメントのアドレスiから読み出されたRRビ
ツトが上記の目的に使われる。第1コンパートメ
ントのRRビツトは使用されない。このRRビツ
トの果す役割は一般には置換アルゴリズムと呼ば
れる論理により決定される。この例では置換アル
ゴリズムとして先入れ先出しが用いられており、
周知の如くラウンドロビンカウンタで置換アルゴ
リズムを実現している。
I/Oビツトは本発明を実現する為に追加され
たビツトである。このビツトを用いて高速データ
転送を要する入出力装置からのメモリアクセスに
関してはアドレス変換に要する時間が最短となる
ことを保証している。即ち、高速データ転送を要
する入出力装置を始動するに先立つてオペレーテ
イングシステムによりそのデータ転送のの対象と
なるページに対応するTLBのエントリイのI/
Oフラグを立て、該I/Oフラグの立つているエ
ントリイはTLBから追い出されることがない様
にする。
第5図を参照して以下にその詳細説明を行う。
第1コンパートメントから読み出されたI/Oビ
ツトの出力は、インバータ54で極性が反転さ
れ、第0コンパートメントから読み出されたRR
ビツトとアンドゲート51にて論理積がとられ
る。アンドゲート51の出力は第0コンパートメ
ントから読み出されたI/Oビツトの出力とオア
ゲート52にて論理和がとられる。オアゲート5
2の出力が第1コンパートメントの選択信号SEL
1となり、又、その信号をインバータ53で極性
反転された信号が第0コンパートメントの選択信
号SEL0となる。TLBへ新しいエントリイを記
憶するときには、この選択信号で選ばれている側
のコンパートメントの前述のアドレスiへ書き込
まれることになる。
今、第0コンパートメントのI/Oビツトがセ
ツトされているとすれば、RRビツトの値何如に
かかわらず、オアゲート52の働きにより第1コ
ンパートメントが選択される。従つて第0コンパ
ートメントのこのI/Oビツトが立つているエン
トリイはTLB内に必ず残ることになる。同様に
第1コンパートメントのI/Oビツトがセツトさ
れているとすると、インバータ54とアンドゲー
ト51の働きでRRビツトが抑止され、オアゲー
ト52の出力もゼロとなり、インバータ53の働
きによつて第0コンパートメントが選択される。
ここで両コンパートメントの同じアドレスiに
I/Oビツトが立つたとすれば、CPU22が更
にそのアドレスiに当る別のページをアクセスし
た時にそれに対応するエントリイTLBに入れる
余地がなくなつてしまう。従つて、以下に述べる
如くして両コンパートメントの同じアドレスiの
位置のI/Oビツトが立たない様にしている。
第5図で両コンパートメントのI/Oビツト出
力はオアゲート55で論理和がとられ、更にアン
ドゲート57でセツトI/Oコマンド信号
(SET I/O COM)と論理積がとられ、例外
処理回路(図示せず)へ送られている。ここでま
ず、このセツトI/Oコマンド信号につき説明す
る。CPU(第2図22)は高速データ転送を要す
る入出力動作を始動させる前に、そのデータ転送
の対象となるページに対し、セツトI/Oビツト
というコマンドを主記憶制御部21へ送る。この
コマンドを受けとつた時、主記憶制御部21が発
する信号、これがセツトI/Oコマンド信号であ
り、そのページの仮想アドレスのビツト21〜1
2がiであるとすると、TLBのアドレスiがア
クセスされ、もしも該当エントリイがTLBにあ
ればそのエントリイのI/Oビツトがセツトされ
る訳である。この時、両コンパートメントのいず
れかのI/Oビツトがセツトしているとすると、
上記アンドゲート57出力が有意となり、例外処
理回路へ信号が送られ、割込みが起ることにな
る。即ち、このページへ高速データ転送を行うこ
の入出力動作は現在始動できないことがCPU2
2へ知らされたことになる。
両コンパートメントのどちらからもI/Oビツ
トが読み出されない場合はオアゲート55の出力
が“0”となり、インバータ56の働きにより、
セツトI/Oコマンドの信号が出るとアンドゲー
ト58からI/Oビツトセツト信号(I/O
BIT SET)が両コンパートメントに送られる。
この信号はそれぞれのコンパートメント内比較回
路(第3図43又は46)の出力と論理積がとら
れ、仮想アドレスが一致したエントリイのI/O
ビツトがセツトされる様に構成される。これにつ
いては、当該分野の技術者にとつて容易に構成で
きる為、詳細説明ならびに図示は省略する。又、
セツトI/Oビツトコマンドの新設も従来のメモ
リコマンドの拡張として簡単に行なえる為、詳細
な説明を省略する。
以上説明の如く、高速データ転送を要するメモ
リアクセスにて使用されるアドレス変換表エント
リイはの入出力始動前、CPUにより、DAT(第
2図23)内のTLBに確保されているので、そ
の入出力装置がデータ転送を行う時、(例えば第
2図24のIOCoがデータ転送をするとき)には、
DAT23は常に最短時間でアドレス変換を行う
ことができる。
尚、そのデータ転送は完了は従来通り、入出力
制御部24,25からCPU22に対し知らされ
るので、CPU22はその時リセツトI/Oビツ
トコマンドをDAT23へ送る。リセツトI/O
ビツトコマンドの実現のし方は自明である為、図
示ならびにその説明を省略する。
【図面の簡単な説明】
第1図は従来の情報処理装置の構成例を示すブ
ロツク図、第2図は本発明が採用される情報処理
装置の構成例を示すブロツク図、第3図は第1図
及び第2図で示したDATのいずれにも含まれる
TLBの概念図、第4図は本発明において用いら
れるTLBが割り付けられるメモリの一つのエン
トリイの構成フオーマツトを示す図、第5図は本
発明の実施例を示す回路図である。 51,57,58……アンドゲート、52,5
5……オアゲート、53,54,56……インバ
ータ。

Claims (1)

    【特許請求の範囲】
  1. 1 仮想アドレツシング方式を採用しページング
    を行う情報処理装置において、主記憶装置を制御
    する1個の主記憶制御部、少なくとも1個の中央
    処理装置、少なくも1個の入出力制御装置が共通
    母線により接続され、上記主記憶制御部には、仮
    想アドレスから実アドレスへの変換を行う回路、
    アドレス変換に際して参照する仮想アドレス・実
    アドレス変換表の少なくとも一部を記憶するメモ
    リ、及びそのメモリの各エントリイの特定のビツ
    トに制御ビツトを設け、そのビツト状態に応じて
    置換アルゴリズムに優先して該エントリイの置換
    を禁止する回路を持つことを特徴とする情報処理
    装置。
JP56023166A 1981-02-20 1981-02-20 Information processor Granted JPS57138079A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP56023166A JPS57138079A (en) 1981-02-20 1981-02-20 Information processor
US06/349,698 US4513369A (en) 1981-02-20 1982-02-17 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56023166A JPS57138079A (en) 1981-02-20 1981-02-20 Information processor

Publications (2)

Publication Number Publication Date
JPS57138079A JPS57138079A (en) 1982-08-26
JPH0312339B2 true JPH0312339B2 (ja) 1991-02-20

Family

ID=12103030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56023166A Granted JPS57138079A (en) 1981-02-20 1981-02-20 Information processor

Country Status (2)

Country Link
US (1) US4513369A (ja)
JP (1) JPS57138079A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005110155A1 (ja) * 2004-05-13 2005-11-24 Iris Ohyama, Inc. チェスト及びその製造方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59157887A (ja) * 1983-02-28 1984-09-07 Hitachi Ltd 情報処理装置
US4654790A (en) * 1983-11-28 1987-03-31 Amdahl Corporation Translation of virtual and real addresses to system addresses
JPS61166653A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd アドレス変換エラー処理方法
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US5347636A (en) * 1985-11-08 1994-09-13 Nec Corporation Data processor which efficiently accesses main memory and input/output devices
EP0229253A3 (en) * 1985-11-08 1990-03-14 Nec Corporation Data processor with virtual memory management
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
IT1219238B (it) * 1988-04-26 1990-05-03 Olivetti & Co Spa Dispositivo di traslazione dell'indirizzo per un memoria operativa di computer
US5287482A (en) * 1989-01-13 1994-02-15 International Business Machines Corporation Input/output cache
JPH04309128A (ja) * 1991-04-08 1992-10-30 Toshiba Corp プログラマブルコントローラ
US5721947A (en) * 1995-05-15 1998-02-24 Nvidia Corporation Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program
US5765022A (en) * 1995-09-29 1998-06-09 International Business Machines Corporation System for transferring data from a source device to a target device in which the address of data movement engine is determined
US5793385A (en) * 1996-06-12 1998-08-11 Chips And Technologies, Inc. Address translator for a shared memory computing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
JPS5456736A (en) * 1977-09-21 1979-05-08 Sperry Rand Corp Method of virtually addressing input*output operation externally specified
JPS5558879A (en) * 1978-10-23 1980-05-01 Ibm Page replacement control system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5615066B2 (ja) * 1974-06-13 1981-04-08
US4101960A (en) * 1977-03-29 1978-07-18 Burroughs Corporation Scientific processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
JPS5456736A (en) * 1977-09-21 1979-05-08 Sperry Rand Corp Method of virtually addressing input*output operation externally specified
JPS5558879A (en) * 1978-10-23 1980-05-01 Ibm Page replacement control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005110155A1 (ja) * 2004-05-13 2005-11-24 Iris Ohyama, Inc. チェスト及びその製造方法

Also Published As

Publication number Publication date
JPS57138079A (en) 1982-08-26
US4513369A (en) 1985-04-23

Similar Documents

Publication Publication Date Title
JPH0312339B2 (ja)
JP2635058B2 (ja) アドレス変換方式
KR920005280B1 (ko) 고속 캐쉬 시스템
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
EP0208428B1 (en) Direct input/output in a virtual memory system
US4654790A (en) Translation of virtual and real addresses to system addresses
US3761881A (en) Translation storage scheme for virtual memory system
US4218743A (en) Address translation apparatus
US4654777A (en) Segmented one and two level paging address translation system
US5182805A (en) Method and system for determining copy-on-write condition
JPS6339941B2 (ja)
JPH0425579B2 (ja)
JPS589277A (ja) デ−タ処理装置
US4395754A (en) Data processing system having virtual memory addressing
EP0175620B1 (en) Access verification arrangement for digital data processing system which has demand-paged memory
WO1988006762A1 (en) Central processor unit for digital data processing system including cache management mechanism
EP0509994B1 (en) Centralized reference and change table for a multiprocessor virtual memory system
US5293622A (en) Computer system with input/output cache
JPH0529945B2 (ja)
US4757447A (en) Virtual memory system having identity marking for common address space
US4654791A (en) Input/output paging mechanism in a data processor
JPH04308953A (ja) 仮想アドレス計算機装置
JPH0115903B2 (ja)
US6378058B1 (en) Method of and apparatus for processing information, and providing medium
JPH0319572B2 (ja)