JPH0315211B2 - - Google Patents

Info

Publication number
JPH0315211B2
JPH0315211B2 JP59238702A JP23870284A JPH0315211B2 JP H0315211 B2 JPH0315211 B2 JP H0315211B2 JP 59238702 A JP59238702 A JP 59238702A JP 23870284 A JP23870284 A JP 23870284A JP H0315211 B2 JPH0315211 B2 JP H0315211B2
Authority
JP
Japan
Prior art keywords
address
bits
bit
lock
tlb
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
JP59238702A
Other languages
English (en)
Other versions
JPS60128545A (ja
Inventor
Edowaado Mateitsuku Richaado
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60128545A publication Critical patent/JPS60128545A/ja
Publication of JPH0315211B2 publication Critical patent/JPH0315211B2/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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想記憶データ処理システムのための
アドレス変換装置に関する。
〔従来技術〕
論理レコードのアクセスを制御する際、データ
バツフアのエントリにロツクビツトを用いること
がよく知られている。ロツクビツトは論理レコー
ドに関連して変換索引緩衝機構(TLB)に適時
記憶される。したがつてTLBはそうしたロツク
ビツト用の空間を必ず含んでいる。
複数のアドレス空間の仮想ページアドレスを主
記憶装置の実ページフレームアドレスに同時に変
換することのできるバツフアエントリを有するシ
ステムにおいて、TLBのシノニムエントリを防
ぐためにプロセツサに特別な制御を用いることに
関する記載が米国特許第4096573号にある。
これと同様なものには米国特許第4136385号が
ある。
米国特許第4145738号に記載される複数の仮想
アドレス空間を有するシステムにおいては、主記
憶装置をアクセスするために仮想アドレスを実ア
ドレスに変換ししその結果をTLBに記憶するこ
とによつて、そのシステムが単一の仮想アドレス
空間を有するようになつている。
米国特許第4347565号は、仮想記憶機能を有す
る仮想計算機システムにおけるソフトウエアシミ
ユレーシヨンのためのアドレス制御システムにつ
いて記載するものである。シミユレータプログラ
ムがシミユレートすべきプログラムの命令をシミ
ユレートする場合は、シミユレートすべきプログ
ラムにおけるオペランドアドレスのアドレス変換
はTLBを用いてなされる。
米国特許第4332010号には、仮想アドレス指定
を利用するデータ処理システムにおけるキヤツシ
ユデイレクトリ用の高速シノニム検知および処理
機構が記載されている。キヤツシユデイレクトリ
は、要求された論理アドレスの変換可能な部分か
ら得られるキヤツシユアドレスのビツト数に基づ
いてクラスのグループに分けられる。キヤツシユ
アドレスは論理アドレスの変換不能の部分から得
られ、これを用いて各グループの1つのクラスが
同時に選択される。選択されたクラスのエントリ
は動的索引アドレス変換器で変換された1以上の
絶対アドレスと並列的に比較される。各クラスエ
ントリに対し1絶対アドレス当り1つの比較信号
がシノニム検知回路へ経路指定される。
アドレス変換、およびキーを用いるレジスタの
アクセスを記載するものに米国特許第4037214号
および第4170039号がある。
1981年3月23日付の米国特許出願第246788号に
はキヤツシユプロセツサデイレクトリにおいて4
つのラインエントリを表わす4つのロツクビツト
を備えるロツクビツトアレイが示されている。こ
こでは、全てのロツクビツトを同時にリセツトで
きるようにロツクビツトアレイはキヤツシユプロ
セツサアレイから分離されている。
以上に示した従来例における共通の問題を次に
説明する。
〔発明が解決しようとする問題点〕
1論理レコード当り128バイトおよび1ページ
当り32個の論理レコードを有する4Kページ用の
TLBを例にとつて説明する。上記のアーキテク
チヤにおいて128バイトの1論理レコードのアク
セスを制御するには通常はTLBの各エントリに
32個のロツクビツトが必要である(すなわち1ペ
ージの各論理レコードにつき1個のロツクビツト
が必要)。こうしたロツクビツトは記憶保護キー
と共に、主にデータベースタイプのレコードに対
して用いられる。したがつてロツクビツトを必要
とするページの割合は10%よりも小さい。言い換
えれば、TLBのエントリのうちわずか10%しか
ロツクビツトを使用しない(ロツクビツト用の空
間のうち90%は遊んでいることになる)。アクセ
スの制御にロツクビツトを使用するか否かは選択
されたセグメントレジスタの1つの“S”ビツト
で決定される。Sビツトが0ならば、こうしたロ
ツクビツトは無視され、Sビツトが1ならば、ロ
ツクビツトを用いてそのページの各論理レコード
のアクセスを制御する。つまりSビツトが1であ
る時間は10%より小さい。もしこれら32個のロツ
クビツトが各TLBエントリと共に物理的に記憶
されるとすると、これによりTLBのサイズは75
%以上も大きなものになつてしまう。このことは
アレイの動作を遅くするだけでなく、ほとんどの
場合、余分なチツプが必要となるのでそのために
実装の際に余分の手間がかかることにもなる。
したがつて本発明の目的は、データバツフアに
必要なロツクビツトの数を減じたアドレス変換装
置を提供することにある。
〔問題点を解決するための手段〕
本発明のアドレス変換装置は、複数のアドレス
およびこれに関連する複数の実アドレスを有する
TLBと、 複数の仮想アドレスのサブグループおよびこれ
らの各々に関連するロツクビツトフイールドを有
するロツクビツトアレイと、 TLBをアクセスして所与の仮想アドレスに関
連する実アドレスを出力する手段と、 ロツクビツトアレイをアクセスして、所与の仮
想アドレスがロツクビツトアレイに存する仮想ア
ドレスのサブグループに含まれるときは、所与の
仮想アドレスに関連するロツクビツトフイールド
を出力する手段と、 を具備することを特徴とする。
以上のように本発明ではTLBのエントリ数よ
り少ないエントリ数のロツクビツトをTLBとは
別の領域に設けることによつて前記問題点を解決
する。
〔実施例〕
図を参照して本実施例を説明する。図は本発明
に従つてTLB10およびロツクビツトアレイ
(以下LBAという)12を含むアドレス変換装置
を示すものである。実施例ではTLB10は25ビ
ツト幅の仮想アドレス部10−2および10−
6、ならびにこれら2つの仮想アドレス部にそれ
ぞれ対応する15ビツト幅の実アドレス部10−4
および10−8を有する。各仮想アドレス部およ
び各実アドレス部は128行から成つている。
LBA12は29ビツト幅の仮想アドレス部12
−2および12−6、ならびにこれら2つの仮想
アドレス部に対応する32ビツト幅のロツクビツト
部12−4および12−8を有する。LBA12
の行数は8である。
セグメントレジスタ14は前述のSビツト(0
または1)およびセグメント識別フイールド(15
ビツト)を有する。32ビツトのCPUアドレスレ
ジスタ16はNvフイールド(17ビツト)を有す
る。Nvは仮想ビツトの数を表わす。セグメント
レジスタ14およびCPUアドレスレジスタ16
の内容は通常の方法でオペレーテイングシステム
からロードされてくる。セグメントレジスタ14
のSビツトが0にせよ、CPUアドレスレジスタ
16のNvフイールドの下位7ビツト(4ビツト
+3ビツト)はライン18で組み合わされて
TLB10に供給され、通常の方法でTLB10の
1つの行を選択する。Nvフイールドの上位10ビ
ツトおよびセグメントレジスタ14のセグメント
識別フイールド(15ビツト)はライン20で組み
合わされて比較回路22および24に印加され
る。ライン20上の25ビツトは比較回路22で、
仮想アドレス部10−2からの仮想アドレス
VAaと比較される。これが一致すれば比較回路
22からのフラグ(Fa)信号が発生されそれが
ゲート26へ印加される。同様に、ライン20上
の25ビツトは比較回路24で、仮想アドレス部1
0−6からの仮想アドレスVAbと比較される。
これが一致すれば比較回路24からフラグ(Fb)
信号が発生され、それがゲート26へ印加され
る。ゲート26では、Fa信号が印加されたとき
は実アドレス部10−4からの実アドレスRAa
をキヤツシユデイレクトリへゲートし、Fb信号
が印加されたときは実アドレス部10−8からの
実アドレスRAbをキヤツシユデイレクトリへゲ
ートする。Sビツトが0にせよ1にせよ、ここま
での説明はセグメントレジスタ14、CPUアド
レスレジスタ16、およびTLB10に関しては
通常のアクセスのオペレーシヨンである。
本発明では、Sビツトが1の場合は、LBA1
2を用いたロツクビツトの変換オペレーシヨン
が、TLBのアクセスと並行して遂行される。以
下これを説明する。Sビツトが1の場合は、Nv
フイールドの下位3ビツトはライン28を介して
LBA12に印加されて、8つの行のうちの1つ
が選択される。LBA12のエントリは少ないの
で、Nvフイールドの前記3ビツトの次の下位4
ビツトはCPUアドレスレジスタ16から送るか
わりに、TLB10の仮想アドレス部でみつかる
25ビツトの仮想アドレスと共に、LBA12の仮
想アドレス部に入つている。したがつてLBA1
2の各仮想アドレス部の仮想アドレスの幅は25+
4=29ビツトであり、Sビツトが1のときに通常
の2つのタイプの比較オペレーシヨンが遂行され
て正しいロツクビツトが選択される。ライン30
上のセグメント識別フイールド(15ビツト)はラ
イン32上のNvフイールドの上位10ビツトおよ
びライン33上のNvフイールドの前記下位4ビ
ツトと組み合わされる。こうしてライン36で組
み合わせられた29ビツト(15+10+4)の情報は
比較回路38および比較回路40へ印加される。
比較回路38で、この情報と仮想アドレス部12
−2からの仮想アドレスVA′a(29ビツト)が一致
すれば、そこからF1a信号が発生され、ゲート
42はロツクビツト部12−4からのロツクビツ
トLBaをゲートアウトする。比較回路40で、前
記情報と仮想アドレス部12−6からの仮想アド
レスVA′b(29ビツト)が一致すれば、そこから
F1b信号が発生され、ゲート42はロツクビツト
部12−8からのロツクビツトLBbをゲートアウ
トする。
LBA12のエントリはTLB10のエントリよ
りも少ないので、LBA12に含まれる仮想アド
レスはTLB10に保持される25ビツトの他にNv
フイールドの前記下位4ビツトを含む。こうして
Sビツトが1のときは比較回路38および40で
29ビツトの情報の比較が行われ、適切なロツクビ
ツトが選択される。その場合、たとえばTLB1
0の仮想アドレス部10−2の仮想アドレスが一
致したとき、LBA12では仮想アドレス部12
−6仮想アドレスが一致することもある。
Sビツトが0のときはLBA12は探索されな
いので、TLB10を介するアドレス変換経路の
アクセスタイムはLBA12の影響を受けない。
Sビツトが1のときはロツクビツトはTLB10
並行して探索され、かつLBA12のサイズは
TLB10に比べて十分に小さいので、LBA12
の方が速く探索できる。したがつてゲート26か
ら該当するページの実アドレスが得られるよりも
前に、ゲート42からロツクビツトが得られる。
〔発明の効果〕
以上説明したように本発明によれば、従来のア
ドレス変換に比べて少数のロツクビツトしか使用
せずしかもTLBとLBAの探索は同時に遂行され
るので、アドレス変換装置全体に必要な物理的空
間は少なくてすみ、かつその探索時間も短い。
【図面の簡単な説明】
図は本発明に従つたアドレス変換装置の実施例
の構成を示すブロツク図である。

Claims (1)

  1. 【特許請求の範囲】 1 複数の仮想アドレスおよびこれに関連する複
    数の実アドレスを有するTLBと、 前記複数の仮想アドレスのサブグループおよび
    該サブグループの各仮想アドレスに関連するロツ
    クビツトフイールドを有するを有するロツクビツ
    トアレイと、 前記TLBをアクセスして所与の仮想アドレス
    に関連する実アドレスを出力する手段と、 前記ロツクビツトアレイをアクセスして、前記
    所与の仮想アドレスが前記ロツクビツトアレイに
    存する前記仮想アドレスのサブグループに含まれ
    るときは、前記所与の仮想アドレスに関連するロ
    ツクビツトフイールドを出力する手段と、 を具備することを特徴とするアドレス変換装置。
JP59238702A 1983-12-12 1984-11-14 アドレス変換装置 Granted JPS60128545A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US560479 1983-12-12
US06/560,479 US4589092A (en) 1983-12-12 1983-12-12 Data buffer having separate lock bit storage array

Publications (2)

Publication Number Publication Date
JPS60128545A JPS60128545A (ja) 1985-07-09
JPH0315211B2 true JPH0315211B2 (ja) 1991-02-28

Family

ID=24237988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59238702A Granted JPS60128545A (ja) 1983-12-12 1984-11-14 アドレス変換装置

Country Status (4)

Country Link
US (1) US4589092A (ja)
EP (1) EP0144763B1 (ja)
JP (1) JPS60128545A (ja)
DE (1) DE3482511D1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
US5029072A (en) * 1985-12-23 1991-07-02 Motorola, Inc. Lock warning mechanism for a cache
US5291581A (en) * 1987-07-01 1994-03-01 Digital Equipment Corporation Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
JP2504137B2 (ja) * 1988-09-27 1996-06-05 日本電気株式会社 メモリ書き込みプロテクト回路
US4926481A (en) * 1988-12-05 1990-05-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Computer access security code system
FR2645987B1 (fr) * 1989-04-13 1991-06-07 Bull Sa Dispositif d'acceleration des acces memoire dans un systeme informatique
US5265227A (en) * 1989-11-14 1993-11-23 Intel Corporation Parallel protection checking in an address translation look-aside buffer
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5974508A (en) * 1992-07-31 1999-10-26 Fujitsu Limited Cache memory system and method for automatically locking cache entries to prevent selected memory items from being replaced
US5450563A (en) * 1992-10-30 1995-09-12 International Business Machines Corporation Storage protection keys in two level cache system
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5872980A (en) * 1996-01-25 1999-02-16 International Business Machines Corporation Semaphore access control buffer and method for accelerated semaphore operations
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US6035401A (en) 1997-02-03 2000-03-07 Intel Corporation Block locking apparatus for flash memory
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US6412056B1 (en) 1997-10-01 2002-06-25 Compac Information Technologies Group, Lp Extended translation lookaside buffer with fine-grain state bits
US6374256B1 (en) 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6385618B1 (en) 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6175837B1 (en) 1998-06-29 2001-01-16 Sun Microsystems, Inc. Object-relational mapping toll that processes views
US6360223B1 (en) 1997-12-22 2002-03-19 Sun Microsystems, Inc. Rule-based approach to object-relational mapping strategies
US6268850B1 (en) 1997-12-22 2001-07-31 Sun Microsystems, Inc. User interface for the specification of lock groups
US6240413B1 (en) * 1997-12-22 2001-05-29 Sun Microsystems, Inc. Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US6363336B1 (en) * 1999-10-13 2002-03-26 Transmeta Corporation Fine grain translation discrimination
US6529983B1 (en) * 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6591275B1 (en) 2000-06-02 2003-07-08 Sun Microsystems, Inc. Object-relational mapping for tables without primary keys
EP1182569B8 (en) * 2000-08-21 2011-07-06 Texas Instruments Incorporated TLB lock and unlock operation
US6681311B2 (en) * 2001-07-18 2004-01-20 Ip-First, Llc Translation lookaside buffer that caches memory type information
KR100520301B1 (ko) * 2001-10-13 2005-10-13 한국전자통신연구원 객체관계형 데이터베이스 관리 시스템 및 그것의 클래스인스턴스 삭제 방법
US7398554B1 (en) * 2002-04-02 2008-07-08 Winbond Electronics Corporation Secure lock mechanism based on a lock word
US6973557B2 (en) * 2003-02-04 2005-12-06 Sun Microsystems, Inc. Apparatus and method for dual access to a banked and pipelined data cache memory unit
US7185170B2 (en) * 2004-08-27 2007-02-27 Freescale Semiconductor, Inc. Data processing system having translation lookaside buffer valid bits with lock and method therefor
US9558121B2 (en) * 2012-12-28 2017-01-31 Intel Corporation Two-level cache locking mechanism

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS52149444A (en) * 1976-06-08 1977-12-12 Fujitsu Ltd Multiplex virtual space processing data processing system
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4170039A (en) * 1978-07-17 1979-10-02 International Business Machines Corporation Virtual address translation speed up technique
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor

Also Published As

Publication number Publication date
JPS60128545A (ja) 1985-07-09
EP0144763A3 (en) 1988-03-30
EP0144763B1 (en) 1990-06-13
EP0144763A2 (en) 1985-06-19
US4589092A (en) 1986-05-13
DE3482511D1 (de) 1990-07-19

Similar Documents

Publication Publication Date Title
JPH0315211B2 (ja)
US6266755B1 (en) Translation lookaside buffer with virtual address conflict prevention
US5119290A (en) Alias address support
JP3666689B2 (ja) 仮想アドレス変換方法
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH04320553A (ja) アドレス変換機構
KR910005510B1 (ko) 버퍼 메모리 제어장치
JP2001034537A (ja) アドレス変換回路
CA1262287A (en) Explicit instructions for control of translation lookaside buffers
JPS61156445A (ja) Tlbパ−ジ制御方式
KR100321107B1 (ko) 데이타 프로세싱 시스템 내의 캐쉬 메모리를 억세싱하기 위한 방법 및 시스템
JP3190700B2 (ja) アドレス変換装置
KR930001885B1 (ko) 가상 메모리의 페이지 테이블
US6327646B1 (en) Translation look-aside buffer utilizing high-order bits for fast access
JPH02308349A (ja) バッファ記憶制御装置
JPS623354A (ja) キヤツシユメモリ・アクセス方式
KR920005296B1 (ko) 정보처리장치
JP2927072B2 (ja) アクセス権検査装置
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH0546481A (ja) アドレス変換バツフア機構
JPS5821352B2 (ja) バツフア・メモリ制御方式
JPH09223070A (ja) データ変換回路
JPH03110648A (ja) データ処理システム
JPH024016B2 (ja)
JPS60118952A (ja) 仮想アドレス制御方式