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
Links
- 230000015654 memory Effects 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000010365 information processing Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 9
- 238000013519 translation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address 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がないと、仮想アドレスで書かれ
たチヤネルプログラムを実アドレスのチヤネルプ
ログラムに変換する作業はオペレーテイングシス
テムにて行う必要がある。しかしながら、チヤネ
ルプログラム内に分岐コマンドがあつたり、入出
力用のデータ領域が複数頁にまたがることがある
と変換作業がかなりやつかいになる。
ザに利用させる為に仮想記憶が用いられる。ユー
ザは仮想アドレスを使つてプログラムを書くこと
ができるが、入出力時においてはオペレーテイン
グシステムの入出力制御部にて仮想アドレスを実
アドレスに翻訳してからチヤンネルに対し渡すの
が普通であつた。即ち、仮想記憶を採用するコン
ピユータシステムでは、ユーザの保有する仮想記
憶空間から実記憶空間への変換を自動的に行う
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)へ渡す様にしていた。この
アドレス変換の為のオーバーヘツドは大きくシス
テム性能が悪くなるという問題があつた。
に示す。図において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を与えることは重複し、同機能を持つ回路
が存在することになり効率が悪い。
出力チヤネル(第1図におけるIOC)にもDAT
を備えた機種が存在する。例えばIBM社の
IBM4341プロセツサであつて、この詳細につい
ては、同社より発行されている“A Guide to
the IBM4341Processor(GC20−1877)”を参照
願う。しかしながら第1図の様な構成において
CPU12の他に各IOC14,15にも似た様な
DATを与えることは重複し、同機能を持つ回路
が存在することになり効率が悪い。
本発明の目的は、これらの従来技術の欠点を除
去して単一のDATがCPU・IOCのいずれからの
メモリアクセスに対しても共通仮想アドレス実ア
ドレス変換をする様に改良された新しいアドレス
変換方式を採用した情報処理装置を提供すること
にある。
去して単一のDATがCPU・IOCのいずれからの
メモリアクセスに対しても共通仮想アドレス実ア
ドレス変換をする様に改良された新しいアドレス
変換方式を採用した情報処理装置を提供すること
にある。
本発明の他の目的は上記の如くDATをCPUと
IOCとで共用する場合において、IOC側のメモリ
アクセスのうち高速度のデータ転送を要するもの
については、アドレス変換に要する時間が十分短
いことを保証できる様な新しいアドレス変換方式
を採用した情報処理装置を提供することにある。
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のアドレスのビツト数を増
すことは当該分野の設計技術者にとつて容易な設
計事項である為その詳細は説明を要しない。
情報処理装置に適用した例を第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では特別の
メモリコマンドによつてロードされる点が異るの
みである。この特別のメモリコマンドを新設する
ことも当該分野お技術者にとつては容易であるの
で説明は省略する。
構造を持つている。即ち、主記憶装置(ここでは
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という。これはよく知られ
ているセツトアソシアテイブメモリである為詳細
な説明は省略する。
これも当該分野の技術者にはよく知られたセツト
アソシアテイブメモリとして構成されている。こ
の例においては仮想アドレスのビツト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
に存在したが、本発明と直接関係する為、ここで
は詳細に説明する。
は又は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ビツ
トの果す役割は一般には置換アルゴリズムと呼ば
れる論理により決定される。この例では置換アル
ゴリズムとして先入れ先出しが用いられており、
周知の如くラウンドロビンカウンタで置換アルゴ
リズムを実現している。
であり、アドレス変換表の新しいエントリイを
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から追い出されることがない様
にする。
たビツトである。このビツトを用いて高速データ
転送を要する入出力装置からのメモリアクセスに
関してはアドレス変換に要する時間が最短となる
ことを保証している。即ち、高速データ転送を要
する入出力装置を始動するに先立つてオペレーテ
イングシステムによりそのデータ転送のの対象と
なるページに対応する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へ書き込
まれることになる。
第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コンパートメントが選択される。
ツトされているとすれば、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ビツトが立たない様にしている。
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へ知らされたことになる。
力はオアゲート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ビツトコマンドの新設も従来のメモ
リコマンドの拡張として簡単に行なえる為、詳細
な説明を省略する。
トが読み出されない場合はオアゲート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は常に最短時間でアドレス変換を行う
ことができる。
リアクセスにて使用されるアドレス変換表エント
リイはの入出力始動前、CPUにより、DAT(第
2図23)内のTLBに確保されているので、そ
の入出力装置がデータ転送を行う時、(例えば第
2図24のIOCoがデータ転送をするとき)には、
DAT23は常に最短時間でアドレス変換を行う
ことができる。
尚、そのデータ転送は完了は従来通り、入出力
制御部24,25からCPU22に対し知らされ
るので、CPU22はその時リセツトI/Oビツ
トコマンドをDAT23へ送る。リセツトI/O
ビツトコマンドの実現のし方は自明である為、図
示ならびにその説明を省略する。
制御部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……インバ
ータ。
ロツク図、第2図は本発明が採用される情報処理
装置の構成例を示すブロツク図、第3図は第1図
及び第2図で示したDATのいずれにも含まれる
TLBの概念図、第4図は本発明において用いら
れるTLBが割り付けられるメモリの一つのエン
トリイの構成フオーマツトを示す図、第5図は本
発明の実施例を示す回路図である。 51,57,58……アンドゲート、52,5
5……オアゲート、53,54,56……インバ
ータ。
Claims (1)
- 1 仮想アドレツシング方式を採用しページング
を行う情報処理装置において、主記憶装置を制御
する1個の主記憶制御部、少なくとも1個の中央
処理装置、少なくも1個の入出力制御装置が共通
母線により接続され、上記主記憶制御部には、仮
想アドレスから実アドレスへの変換を行う回路、
アドレス変換に際して参照する仮想アドレス・実
アドレス変換表の少なくとも一部を記憶するメモ
リ、及びそのメモリの各エントリイの特定のビツ
トに制御ビツトを設け、そのビツト状態に応じて
置換アルゴリズムに優先して該エントリイの置換
を禁止する回路を持つことを特徴とする情報処理
装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005110155A1 (ja) * | 2004-05-13 | 2005-11-24 | Iris Ohyama, Inc. | チェスト及びその製造方法 |
Families Citing this family (18)
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 | アドレス変換エラー処理方法 |
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 |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
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)
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)
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 |
-
1981
- 1981-02-20 JP JP56023166A patent/JPS57138079A/ja active Granted
-
1982
- 1982-02-17 US US06/349,698 patent/US4513369A/en not_active Expired - Lifetime
Patent Citations (3)
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)
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 | |
US5379394A (en) | Microprocessor with two groups of internal buses | |
JPS6339941B2 (ja) | ||
JPS624745B2 (ja) | ||
JPH0425579B2 (ja) | ||
JPS589277A (ja) | デ−タ処理装置 | |
JPH0253813B2 (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) | 仮想アドレス計算機装置 | |
US6378058B1 (en) | Method of and apparatus for processing information, and providing medium |