JPH0622000B2 - Microprocessor device - Google Patents

Microprocessor device

Info

Publication number
JPH0622000B2
JPH0622000B2 JP60189994A JP18999485A JPH0622000B2 JP H0622000 B2 JPH0622000 B2 JP H0622000B2 JP 60189994 A JP60189994 A JP 60189994A JP 18999485 A JP18999485 A JP 18999485A JP H0622000 B2 JPH0622000 B2 JP H0622000B2
Authority
JP
Japan
Prior art keywords
address
page
segment
memory
linear
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
JP60189994A
Other languages
Japanese (ja)
Other versions
JPS61286946A (en
Inventor
ジヨン・エイチ・クロフオード
ポール・エス・リース
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPS61286946A publication Critical patent/JPS61286946A/en
Publication of JPH0622000B2 publication Critical patent/JPH0622000B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • 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]

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

【発明の詳細な説明】 〔利用分野〕 本発明は、とくにマイクロプロセツサ装置において、メ
モリ管理のためのアドレス翻訳装置の分野に関するもの
である。
Description: FIELD OF THE INVENTION The present invention relates to the field of address translation devices for memory management, especially in microprocessor devices.

〔従来技術〕[Prior art]

メモリ管理のために周知のメカニズムが多くある。ある
装置においては、大きいアドレス(仮想アドレス)がよ
り小さい物理アドレスに翻訳される。他の装置において
は、たとえば、バンクスイツチングを用いることによ
り、大きいメモリ空間をアクセスするために小さいアド
レスが使用される。本発明は、前者の部類、すなわち、
限られた物理メモリをアクセスするために大きい仮想ア
ドレスが使用されるような部類に関するものである。
There are many well-known mechanisms for memory management. In some devices, large addresses (virtual addresses) are translated into smaller physical addresses. In other devices, smaller addresses are used to access large memory spaces, for example by using bank switching. The present invention is of the former category, namely:
It concerns a class where large virtual addresses are used to access limited physical memory.

メモリ管理装置においては、種々の保護メカニズムを設
けることも知られている。たとえば、ユーザーがオペレ
ーテイングシステムを書込むこと、またはおそらくオペ
レーテイングシステムを外部ボートへ読出すことすらも
阻止できる。後でわかるように、本発明は、データに
「アトリビュート」を2つの異なるレベルで割当てる、
より広い制御スキームの一部として保護メカニズムを実
現するものである。
It is also known to provide various protection mechanisms in memory management devices. For example, a user may be prevented from writing the operating system, or perhaps even reading the operating system to an external boat. As will be seen later, the present invention assigns "attributes" to data at two different levels,
It implements a protection mechanism as part of a wider control scheme.

本発明に最も近いと本願発明者が考えている先行技術が
米国特許第4,442,484 号に開示されている。その米国特
許には、市販されているマイクロプロセツサ(インテル
(Intel) 286 ) において具体化されているメモリ管理お
よび保護メカニズムが開示されている。そのマイクロプ
ロセツサは、セグメントベースアドレス、リミツト情
報、およびアトリビユート(たとえば保護ビツト)を含
むセグメントテーシヨン記述子レジスタを含む。セグメ
ント記述子表およびセグメント記述子レジスタは、とも
に、優先度レベルや保護のタイプ等のような各種の制御
メカニズムを定めるビツトを含む。
The prior art that the inventor believes is closest to the present invention is disclosed in US Pat. No. 4,442,484. That US patent includes a commercially available microprocessor (Intel
(Intel) 286) discloses a memory management and protection mechanism. The microprocessor includes a segment station descriptor register containing a segment base address, limit information, and an attribute (eg, protect bit). Both the segment descriptor table and the segment descriptor register contain bits that define various control mechanisms such as priority level, type of protection, etc.

インテル286 の1つの問題は、セグメントオフセツトが
64K バイトに限定されることである。インテル286 は、
セグメント用の物理メモリに連続する場所を必要とする
が、それを維持することは常に容易であるとは限らな
い。後でわかるように、本発明の装置の1つの利点は、
セグメントオフセツトが物理アドレスの空間と同じ大き
さであることである。また、本発明の装置は、インテル
286 において見られる従来のセグメンテーシヨンメカニ
ズムないし機能に対して互換性をもつことである。前記
米国特許に開示されている従来の装置およびそれの商業
的な実現(インテル286 マイクロプロセツサ)と、本発
明との差違、更に本発明のその他の利点は、以下の説明
から明らかであろう。
One problem with the Intel 286 is that segment offset
It is limited to 64K bytes. Intel 286
It requires contiguous locations in the physical memory for a segment, but maintaining it is not always easy. As will be seen later, one advantage of the device of the invention is that
The segment offset is as large as the physical address space. In addition, the device of the present invention is
It is compatible with the traditional segmentation mechanisms or functions found in the 286. Differences between the prior art device and its commercial implementation (Intel 286 microprocessor) disclosed in the above-mentioned US patents and the present invention, as well as other advantages of the present invention, will be apparent from the following description. .

〔発明の概要〕[Outline of Invention]

この明細書においては、マイクロプロセツサおよびデー
タメモリを含むマイクロプロセツサ装置の改良について
説明する。マイクロプロセツサは仮想メモリアドレスを
第2のメモリアドレス(線型アドレス)に翻訳するた
め、およびデータメモリセグメントのアトリビユートを
試験および制御するためのセグメンテーシヨンメカニズ
ムないし機能を含む。本発明の改良は、ヒツト(hit)状
態またはマツチ (match)状態に対する線型(リニア)ア
ドレスから第1のフイールドを翻訳するために、マイク
ロプロセツサにページキヤツシユメモリを含む。データ
メモリは、ベージマツピングデータとくにページダイレ
クトリおよびページ表をも格納する。ページキヤツシユ
メモリにおいてヒツトが生じなければ、第1のフイール
ドは、ページダイレクトリとページ表をアクセスする。
ページキヤツシユメモリまたはページ表からの出力は、
メモリ内のページのための物理ベースアドレスを与え
る。線型アドレスの別のフイールドはページ内にオフセ
ツトを与える。
In this specification, an improvement of a microprocessor device including a microprocessor and a data memory will be described. The microprocessor includes a segmentation mechanism or function for translating the virtual memory address into a second memory address (linear address) and for testing and controlling the attribute of the data memory segment. An improvement of the present invention includes a page cache memory in the microprocessor to translate the first field from a linear address for a hit or match condition. The data memory also stores page mapping data, especially page directories and page tables. If no hit occurs in the page cache memory, the first field accesses the page directory and page table.
The output from the page cache memory or page table is
Gives the physical base address for the page in memory. Another field of linear address provides an offset within the page.

ページキヤツシユメモリとデータメモリ内のページマツ
ピングデータは、特定のページ中のデータのアトリビユ
ートを表す信号を格納する。それらのアトリビユート
は、読出しおよび書込みの保護を含み、ページが以前に
書込まれたかどうかおよびその他の情報を示す。重要な
ことは、ページレベル保護は、ページ内のデータのうち
セグメントアトリビュートとは別で、区別されるデータ
の第2段の制御を行うことである。
The page mapping data in the page cache memory and the data memory stores signals representing the attribution of the data in a particular page. These attributions include read and write protection and indicate whether the page was previously written and other information. What is important is that page level protection provides a second level of control over the data that is distinct from the segment attributes of the data in the page.

〔実施例〕〔Example〕

以下、図面参照して本発明を詳しく説明する。 Hereinafter, the present invention will be described in detail with reference to the drawings.

本発明のマイクロプロセツサ装置の好適な実施例は、マ
イクロプロセツサ10(第1図)を含む。このマイクロ
プロセツサは、相補の金属一酸化物−半導体(CMOS)処
理を用いて1枚のシリコン基板上に作られる。多くの周
知のCMOS法のうちのいずれも採用できる。本発明はnチ
ヤネル、バイポーラ、 SOS等のような他の技術で実現す
ることもできる。
The preferred embodiment of the microprocessor device of the present invention includes a microprocessor 10 (FIG. 1). The microprocessor is fabricated on a single silicon substrate using a complementary metal monoxide-semiconductor (CMOS) process. Any of the many well-known CMOS methods can be used. The present invention can also be implemented in other technologies such as n-channel, bipolar, SOS, etc.

ある条件に対するメモリ管理メカニズムは、主記憶装置
に格納されている表をアクセスすることを必要とする。
マイクロプロセツサ装置のための主記憶装置として機能
するランダムアクセスメモリ(RAM )13が、第1図に
示されている。ダイナミツクメモリを用いるRAMのよう
な通常のRAMを使用できる。
The memory management mechanism for certain conditions requires access to tables stored in main memory.
A random access memory (RAM) 13, which functions as the main memory for the microprocessor device, is shown in FIG. Normal RAM can be used, such as RAM with dynamic memory.

第1図に示すように、マイクロプロセツサ10は32ビ
ツトの物理アドレスを有し、マイクロプロセツサ自体は
32ビツトのマイクロプロセツサである。ドライバ、数
学的プロセツサ等のような、マイクロプロセツサにおい
て一般的に使用されている他の部品は、第1図には示し
ていない。
As shown in FIG. 1, the microprocessor 10 has a physical address of 32 bits, and the microprocessor itself is a 32-bit microprocessor. Other components commonly used in microprocessors, such as drivers, mathematical processors, etc., are not shown in FIG.

要 点 本発明のメモリ管理はセグメンテーシヨンとページング
を使用する。セグメントというのは、ページ翻訳を記述
するために使用されるページ表とは異なる1組のセグメ
ント記述子表により定義される。2つのメカニズムは完
全に異なり、独立している。2種類のマツピングメカニ
ズムを用いて、仮想アドレスが2段階で分離アドレスに
翻訳される。第1の段階に対してセグメンテーシヨン技
術が使用され、第2の翻訳段階のためにページング技術
が使用される。セグメンテーシヨン技術のみで1段階翻
訳を行うために、ページング技術を使用しないこともで
きる。この1段階翻訳はインテル286 に適合する。
Summary The memory management of the present invention uses segmentation and paging. A segment is defined by a set of segment descriptor tables that is different from the page table used to describe the page translation. The two mechanisms are completely different and independent. Virtual addresses are translated into separate addresses in two stages using two different mapping mechanisms. A segmentation technique is used for the first stage and a paging technique is used for the second translation stage. The paging technique may not be used in order to perform the one-step translation only by the segmentation technique. This one-step translation is compatible with Intel 286.

セグメンテーシヨン(第1の翻訳段階)は、48ビツト仮
想アドレスを32ビツト線型(中間)アドレスに翻訳す
る。48ビツト仮想アドレスは、16ビツトのセグメン
トセレクタと、このセグメント内の32ビツトのオフセ
ツトとで構成される。16ビツトセグメントセレクタ
は、セグメントを識別し、セグメント記述子表からのエ
ントリイをアクセスするために用いられる。このセグメ
ント記述子エントリイは、セグメントのベースアドレス
と、セグメントのサイズ(リミツト)と、セグメントの
種々のアトリビユートとを含む。この翻訳段階は、32
ビツト線型アドレスを得るために、仮想アドレス内の3
2ビツトオフセツトにセグメントベースを加える。それ
と同時に、仮想アドレス内の32ビツトオフセツトはセ
グメントリミツトを比較され、アクセスの種類がセグメ
ントアトリビユートに対して調べられる。32ビツトオ
フセツトがセグメントリミツトの外側であるか、アクセ
スの種類がセグメントアトリビユートにより許されない
とすると、誤り(フオールト)が発生されて、アドレス
指定処理過程が打切られる。
The segmentation (first translation stage) translates a 48-bit virtual address into a 32-bit linear (intermediate) address. A 48-bit virtual address consists of a 16-bit segment selector and a 32-bit offset within this segment. The 16-bit segment selector is used to identify the segment and access the entry from the segment descriptor table. This segment descriptor entry contains the base address of the segment, the size of the segment (limit), and the various attributes of the segment. This translation step is 32
3 in virtual address to get bit linear address
2 Add segment base to bit offset. At the same time, the 32-bit offset in the virtual address is compared to the segment limit and the type of access is checked against the segment attribute. If the 32 bit offset is outside the segment limit or if the type of access is not allowed by the segment attribute, an error is generated and the addressing process is aborted.

ページング(第2の翻訳段階)が以下に説明する処理過
程において2レベルページング表を用いて32ビツト線型
アドレスを32ビツトの物理アドレスに翻訳する。
Paging (the second translation stage) translates a 32-bit linear address into a 32-bit physical address using a 2-level paging table in the process described below.

2つの段階は全く独立している。これにより(大きい)
セグメントをいくつかのページで構成でき、またはペー
ジをいくつかの(小さい)セグメントで構成できる。
The two stages are completely independent. This (large)
A segment can consist of several pages, or a page can consist of several (smaller) segments.

セグメントは任意の境界(バウンダリ)でスタートさせ
ることができ、そのセグメントは任意の大きさにでき、
かつページ境界でスタートすることに限定されず、また
はページの正確な倍数である長さを有することに限定さ
れない。これにより、セグメントで任意のアドレスでス
タートするメモリの別々に保護される領域を記述できる
ようにされ、かつ任意の大きさにできる。
A segment can start at any boundary, and that segment can be any size,
And is not limited to starting at a page boundary, or having a length that is an exact multiple of a page. This allows a segment to describe separately protected areas of memory starting at any address and can be any size.

それぞれ独特の保護アトリビユートと大きさを有するい
くつかの小さいセグメントを1つのページにまとめるた
めにセグメンテーシヨンを使用できる。この場合には、
セグメンテーシヨンは保護アトリビユートを与え、ペー
ジは別々に保護せねばならない関連するユニツトの群を
物理メモリがマツピングする便利な方法を与える。
Segmentation can be used to combine several small segments, each with its own unique protection attribute and size, into a page. In this case,
Segmentation provides a protection attribute and pages provide a convenient way for physical memory to map groups of related units that must be protected separately.

物理メモリの管理のために、非常に大きいセグメントを
小さいユニツトに分解するのにページングを使用でき
る。これにより、名数のページ記述子の使用を要求する
のではなくて、メモリの別々に保護されるユニツトのた
めの単一の識別子(セグメントセレクタ)および単一の
記述子(セグメント記述子)が与えられる。セグメント
内において、ページングにより、物理メモリ内での隣接
を要しない別々のページへと大きいセグメントをマツピ
ングできるようにするマツピングの付加的レベルが得ら
れる。実際には、一時に小数のページだけが物理メモリ
内に存在し、セグメントの残りの部分がデイスクにマツ
プされるようにして、ページングにより大きいセグメン
トをマツピングできる。ページングは大きいセグメント
内の下位構造の定義の支持も行う、たとえば、大きいセ
グメントのいくつかのページに保護を書込む支持をする
が他のページは書込み可能にしておける。
Paging can be used to decompose very large segments into smaller units for physical memory management. This allows a single identifier (segment selector) and a single descriptor (segment descriptor) for separately protected units of memory, rather than requiring the use of a number of page descriptors. Given. Within a segment, paging provides an additional level of mapping that allows large segments to be mapped into separate pages in physical memory that do not require adjacency. In practice, larger segments can be mapped for paging, with only a few pages present in physical memory at a time and the rest of the segments being mapped to disk. Paging also supports the definition of substructures within a large segment, for example, supporting the writing of protection on some pages of the large segment while leaving other pages writable.

セグメンテーシヨンにより、プログラムにより使用され
る「自然(ナチユラル)」ユニツト、すなわち、直線的
にアドレスされるメモリの任意に大きさを定められた部
分に働きかける非常に包括的なモデルが与えられる。ペ
ージングにより物理メモリ、すなわち、システムの主記
憶装置と補助記憶装置、を管理するための非常に便利な
方法が与えられる。本発明においてそれら2つの方法を
組合せることにより、非常に融通性に富み、かつ強力な
保護モデルが得られる。
The segmentation provides a very comprehensive model that operates on "natural" units used by the program, ie, arbitrarily sized portions of linearly addressed memory. Paging provides a very convenient way to manage physical memory, the main and auxiliary storage of the system. The combination of these two methods in the present invention results in a very flexible and powerful protection model.

マイクロプロセツサ全体のアーキテクチヤ 第1図において、マイクロプロセツサは、バスインター
フエイス装置14を含む。このバスインターフエイス装
置14は、32ビツトアドレス信号の伝送を許すため、
およびデータの32ビツトの送受信を行うためのバツフ
アを含む。マイクロプロセツサの内部においては、バス
インターフエイス装置14は内部バス19を介して交信
する。バスインターフエイス装置14は、RAM13 からの
命令をフエツチするためのプリフエツチ装置と、命令複
号器16の命令装置と交信するプリフエツチ行列とを含
む。行列にされた命令は、3ビツトレジスタフアイルを
含む実行装置(算術論理装置)18内で処理される。こ
の実行装置18と複号器16は内部バス19と交信す
る。
Overall Microprocessor Architecture In FIG. 1, the microprocessor includes a bus interface device 14. The bus interface device 14 allows transmission of a 32-bit address signal,
And a buffer for sending and receiving 32 bits of data. Inside the microprocessor, the bus interface device 14 communicates via an internal bus 19. The bus interface unit 14 includes a prefetch unit for fetching an instruction from the RAM 13 and a prefetch matrix for communicating with the instruction unit of the instruction decoder 16. The queued instructions are processed in an execution unit (arithmetic logic unit) 18 which includes a 3-bit register file. The execution unit 18 and the decoder 16 communicate with the internal bus 19.

本発明はアドレス翻訳装置20を中心として構成され
る。この翻訳装置は2つの機能、すなわち、セグメント
記述子レジスタに関連する機能と、ページ記述子キヤツ
シユメモリに関連する機能とを実行する。このセグメン
トレジスタの大部分は従来知られているものであるが、
第2図を参照して詳しく説明する。ページキヤツシユメ
モリについて、および主記憶装置13に格納されている
ページ表およびページダイレクトリとページキヤツシユ
メモリとの相互作用については、第3図〜第7図を参照
して説明する。それらは本発明の基礎を成すものであ
る。
The present invention mainly comprises the address translation device 20. The translator performs two functions, one associated with the segment descriptor register and one associated with the page descriptor cache memory. Most of this segment register is conventionally known,
This will be described in detail with reference to FIG. The page cache memory and the interaction between the page cache and the page table and page directory stored in the main memory 13 will be described with reference to FIGS. 3 to 7. They form the basis of the present invention.

セグメンテーシヨンメカニズム 第1図に示すセグメンテーシヨン装置21は実行装置1
8から仮想アドレスを受け、レジスタから適切なセグメ
ンテーシヨン情報をアクセスする。レジスタはセグメン
トベースアドレスを含む。このセグメントベースアドレ
スは仮想アドレスからのオフセツトとともに線23を介
してページ装置22に結合される。
Segmentation Mechanism The segmentation device 21 shown in FIG.
8 receives the virtual address and accesses the appropriate segmentation information from the register. The register contains the segment base address. This segment base address is coupled to page device 22 via line 23 along with the offset from the virtual address.

第2図は、セグメンテーシヨンレジスタに新しいセグメ
ントに対するマツピング情報がロードされた時の主記憶
装置内の表のアクセス動作を示す。セグメントフイール
ドは主記憶装置13内のセグメント記述子表にインデッ
クス(索引)となる。その表の内容は、ベースアドレス
と、セグメント内のデータに関連するアトリビユートと
を含む。ベースアドレスとオフセツトは、比較器27に
おいてセグメントリミツトと比較される。リミツトを越
えていれば、その比較器の出力は誤り(フオールト)信
号を与える。マイクロプロセツサーの一部である加算器
26は、ベースとオフセツトとを組合せて「物理」アド
レスを線31へ与える。そのアドレスはマイクロプロセ
ツサにより物理アドレスとして使用でき、またはページ
ング装置22により使用される。これは、従来のマイク
ロプロセツサ(インテル286 )のために書かれたある種
のプログラムに対して互換性を与えるために行われる。
インテル286 の場合には物理アドレスの空間は24ビツ
トである。
FIG. 2 shows a table access operation in the main memory when the segmentation register is loaded with mapping information for a new segment. The segment field becomes an index in the segment descriptor table in the main memory 13. The contents of the table include the base address and the attribute associated with the data in the segment. The base address and offset are compared in the comparator 27 with the segment limit. If it exceeds the limit, the output of the comparator gives an error (fault) signal. Adder 26, which is part of the microprocessor, combines the base and offset to provide the "physical" address on line 31. The address can be used as a physical address by the microprocessor or used by the paging device 22. This is done to provide compatibility with certain programs written for legacy microprocessors (Intel 286).
In the case of Intel 286, the physical address space is 24 bits.

種々の優先度レベルのような、採用される記述子につい
ての詳細を含むセグメントアトリビユートが米国特許第
4,442,484 号に記述されている。
A segment attribute containing details about the descriptors employed, such as various priority levels, is described in US Pat.
It is described in No. 4,442,484.

セグメンテーシヨンメカニズムが先行技術において知ら
れるということを第2図の破線28の左側に示してい
る。
That the segmentation mechanism is known in the prior art is shown on the left side of the dashed line 28 in FIG.

第1図のページ装置を含むページフイールドマツピング
のブロツク30、および主記憶装置に格納されているペ
ージダイレクトリおよびページ表とページフイールドマ
ツピングとの相互作用が、第3図〜第7図に示されてい
る。
The block 30 of the page field mapping including the page device of FIG. 1 and the interaction between the page directory and the page table stored in the main memory and the page field mapping are shown in FIGS. It is shown.

ここで説明している実施例においては、セグメンテーシ
ヨンメカニズムは影レジスタ(shadowレジスタ)を使用
するが、ページングメカニズムで行われるように、キヤ
ツシユメモリによりセグメンテーシヨンメカニズムを構
成することもできる。
In the embodiment described here, the segmentation mechanism uses a shadow register, but the segmentation mechanism can also be implemented by a cache memory, as is done by the paging mechanism.

ページ記述子キヤツシユメモリ 第3図において、第1図のページ装置22のページ記述
子キヤツシユメモリが、破線22a の中に示されている。
このキヤツシユメモリは2つのアレイ、すなわち連想記
憶メモリ(コンテント・アドレサブル・メモリ、すなわ
ち、 CAM)34と、ページデータ(ベース)メモリ35
とを備える。両方のメモリは静的メモリセルにより構成
される。メモリ34,35の構成については、第6図を
参照して説明する。CAM 34に使用される特定の回路
と、それの独自のマスキング特徴を第7図および第8図
を参照して説明する。
Page Descriptor Cache Memory In FIG. 3, the page descriptor cache memory of page device 22 of FIG. 1 is shown within dashed line 22a.
This cache memory consists of two arrays, an associative storage memory (content addressable memory or CAM) 34 and a page data (base) memory 35.
With. Both memories are composed of static memory cells. The structure of the memories 34 and 35 will be described with reference to FIG. The particular circuitry used in CAM 34 and its unique masking features will be described with reference to FIGS.

セグメント装置21からの線型アドレスが第1図のペー
ジ装置22に結合される。第3図に示すように、この線
型アドレスは、2つのフイールド、すなわち、ページ情
報フイールド(20ビツト)と変位(デイスプレースメ
ント)フイールド(12ビツト)とを備える。また、マイ
クロコードにより構成された4ビツトのページアトリビ
ユートフイールドもある。20ビツトページ情報フイー
ルドが、CAM3 4のタグ(内容)と比較される。更に、
4つのアトリビユートビツト(「ダーテイ(dirty)」、
「バリツド(valid)」、「U/S」および「W/R」)も、ヒ
ツトが起る前にCAM内のアトリビユートビツトにマツチ
せねばならない。(後で説明するように、「マスキン
グ」が使用される時には、これに対する例外がある。) ヒツト状態に対しては、メモリ35は20ビツトベース
語を与える。そのベース語は、第3図の加算器36によ
り表されるように、線型アドレスの12ビツト変位フイ
ールドに組合される。その結果得られた物理アドレスに
よつて、主記憶装置13内の4K バイトページフイール
ドからの選択が行われる。
The linear address from the segment device 21 is coupled to the page device 22 of FIG. As shown in FIG. 3, this linear address has two fields, a page information field (20 bits) and a displacement field (12 bits). There is also a 4-bit page attribution field composed of microcode. The 20-bit page information field is compared to the CAM34 tags. Furthermore,
4 Attribut Bits ("dirty",
"Valid,""U / S," and "W / R") must also be matched to the attribute bits in the CAM before the hit occurs. (As explained below, there is an exception to this when "masking" is used.) For hit states, memory 35 provides 20 bit base words. The base word is combined into a 12-bit displacement field of linear address, as represented by adder 36 in FIG. Based on the physical address obtained as a result, selection from the 4 Kbyte page field in the main memory 13 is performed.

ノーヒツト状態のためのページアドレス指定 ページダイレクトリ13a とページ表13b とが主記憶装置
13に格納されている(第4図参照)。ページダイレク
トリのためのベースアドレスがマイクロプロセツサから
与えられる。そのベースアドレスが第4図にページダイ
レクトリベース38として示されている。ページ情報フ
イールドの10ビツトが、第4図の加算器40により示
されているように、ページダイレクトリにおいて索引と
して(4倍にされた後で)用いられる。ページダイレク
トリは32ビツト語を与える。この語の20ビツトが、
ページ表のためのベースとして使用される。ページ情報
フイールドの他の10ビツトが、第4図の加算器41に
より示されているように、ページ表において索引として
(4倍にされた後で)同様に用いられる。ページ表も3
2ビツト語を与える。その語の20ビツトは、物理アド
レスのページベースである。このページベースアドレス
は、加算器42において12ビツト変位フイールドに組
合されて32ビツト物理アドレスを構成する。
Page Addressing for No Hit State A page directory 13a and a page table 13b are stored in the main memory 13 (see FIG. 4). The base address for the page directory is given by the microprocessor. The base address is shown as page direct rebase 38 in FIG. Ten bits of page information field are used as an index (after being multiplied by 4) in the page directory, as shown by adder 40 in FIG. The page directory gives 32 bit words. 20 bits of this word
Used as a base for page tables. The other 10 bits of page information field are also used as indexes (after being multiplied by 4) in the page table, as shown by adder 41 in FIG. Page table 3
Give 2 bit words. The 20 bits of that word are page-based for physical addresses. This page base address is combined with the 12 bit displacement field in adder 42 to form a 32 bit physical address.

ページダイレクトリおよびページ表の12ビツトフイー
ルドからの5ビツトが、アトリビユート、とくに「ダー
テイ」、「アクセス受」、「U/S」、「R/W」および「プ
レゼント」のために用いられる。それらについつては後
で第5図を参照して詳しく説明する。このフイードの残
りのビツトは割当てられていない。
Five bits from the 12-bit field in the page directory and page table are used for attribution, especially for "Dirty", "Access Received", "U / S", "R / W" and "Present". They will be described later in detail with reference to FIG. The remaining bits in this feed are unassigned.

ページダイレクトリとページ表からの格納されているア
トリビユートは、線型アドレスに関連するアトリビユー
ト情報の4ビツトとともに、制御論理回路75に結合さ
れる。この論理回路の部分が後の図に示されている。そ
れについてはそれらの図を参照して説明する。
The stored attributes from the page directory and the page table are coupled to the control logic circuit 75, along with 4 bits of attribute information associated with the linear address. Portions of this logic circuit are shown in later figures. It will be described with reference to those figures.

ページダイレクトリ・アトリビユート 第5図には、ページダイレクトリ語と、ページ表語と、
CAM語とが再び示されている。ページダイレクト語の4
ビツトに割当てられた保護/制御アトリビユートが、括
弧43の中に示されている。1つの付加アトリエビユー
トを有する同じ4つのアトリエビユートがページ表語の
ために用いられ、それらは括弧44の中に示されてい
る。 CAM語のために使用された4つのアトリビユートが
括弧45の中に示されている。
Page directory attribution page 5 shows page directory words, page words,
The CAM word and are shown again. Page Direct 4
The protection / control attribute assigned to the bit is shown in brackets 43. The same four atelier views with one additional atelier view were used for page wording and they are shown in brackets 44. The four attributes used for the CAM word are shown in brackets 45.

アトリビユートは次の目的のために使用される。Attributes are used for the following purposes:

1. 「ダーテイ(DIRTY)」・・・このビツトは、ペー
ジが書込みを受けたかどうかを示す。あるページが書込
まれた時にそのビツトは変えられる。このビツトは、た
とえば、ページ全体が「クリーン」でないことをオペレ
ーテイングシステムに知らせるために用いられる。この
ビツトは、ページ表とCAM(ページダイレクトリではな
く)に格納される。あるページが書込まれる時にプロセ
ツサはそのビツトをページ表内にセツトする。
1. "Dirty" ... This bit indicates whether the page has been written. When a page is written, its bit can be changed. This bit is used, for example, to inform the operating system that the entire page is not "clean". This bit is stored in the page table and CAM (not the page directory). When a page is written, the processor sets the bit in the page table.

2. 「アクセス受(ACCESSED)」・・・このビツトは
ページダイレクトリとページ表のみ(CAMでなく)に格
納され、ページがアクセスされたことを示すために用い
られる。ページがアクセスされると、そのビツトはメモ
リ内でプロセツサにより変えられる。ダーテイビツトと
は異つて、そのビツトは、あるページが書込みまたは読
出しのためにアクセスされたかどうかを示す。
2. "ACCESSED" ... This bit is stored only in the page directory and page table (not in the CAM) and is used to indicate that the page has been accessed. When a page is accessed, its bit is modified in memory by the processor. Unlike the dirty bit, the bit indicates whether a page has been accessed for writing or reading.

3. 「U/S」・・・このビツトの状態は、ページの内
容がユーザーおよび監督者がアクセス可能である(2進
「1」 )か、または監督者のみがアクセス可能である(2
進「0」 )かを示す。
3. "U / S" ... The state of this bit is that the content of the page is accessible to the user and the supervisor (binary "1") or only to the supervisor (2
"0").

4. 「R/W」・・・この書込み/読出し保護ビツト
は、ページにユーザーレベルのプログラムにより書込め
るためには、2進「1」でなければならない。
4. "R / W" ... This write / read protection bit must be a binary "1" in order for the page to be written by a user level program.

5. 「プレゼント(PRESENT) 」・・・ページ表中のこ
のビツトは、関連するページが物理メモリ内に存在する
かどうかを示す。ページダイレクトリ内のこのビツト
は、関連するページ表が物理メモリ内に存在するかどう
かを示す。
5. "Present" ... This bit in the page table indicates whether the associated page exists in physical memory. This bit in the page directory indicates whether the associated page table resides in physical memory.

6. 「バリツド(VALID)」・・・ CAM内のみに格納さ
れているこのビツトは、 CAMの内容が妥当であるかどう
かを示すために用いられる。このビツトは初期設定時に
第1の状態にセツトされ、それから妥当なCAM語がロー
ドされる時に変えられる。
6. "VALID" ... This bit, which is stored only in the CAM, is used to indicate whether or not the contents of the CAM are valid. This bit is set to the first state at initialization and then changed when a valid CAM word is loaded.

ページダイレクトリおよびページ表からの5ビツトが制
御論理回路75に結合されて、マイクロプロセツサ内で
適切な誤り信号を与える。
Five bits from the page directory and page table are coupled to the control logic circuit 75 to provide the appropriate error signal within the microprocessor.

ページダイレクトリおよびページ表からのユーザー/監
督者(U/S)ビツトがゲート46により示されるように
論理積操作をされて、第3図のCAM 34に格納されるR/
Wビツトを与える。同様に、ページダイレクトリおよび
ページ表からの読出し/書込み保護(R/W)ビツトがゲ
ート47により論理積操作をされて、CAMに格納されるW
/Rビツトを与える。ページ表からのダーテイビツトがCA
Mに格納される。それらのゲートは、第4図に示されて
いる制御論理回路75の一部である。
The user / supervisor (U / S) bits from the page directory and the page table are ANDed as shown by gate 46 and stored in CAM 34 of FIG.
Give W bit. Similarly, the read / write protection (R / W) bits from the page directory and the page table are ANDed by the gate 47 and stored in the CAM.
/ R Give a bit. CA is the dirty bit from the page list
Stored in M. The gates are part of the control logic circuit 75 shown in FIG.

CAMい格納されているアトリビユートは、「自動的」に
試験される。その理由は、それらのアトリビユートがア
ドレスの一部として取扱われ、マイクロコードからの4
ビツトにマツチさせられるからである。たとえば、「ユ
ーザー」書込みサイクルをR/W=0 でページ内に起こさせ
ることを線形アドレスが示すものとすると、妥当なペー
ジベースがCAMに格納されるとしても誤り状態を生ず
る。
Attributions stored in the CAM are tested "automatically". The reason is that those attributes are treated as part of the address and are
This is because the bit can match. For example, if the linear address indicates that a "user" write cycle should occur in the page at R / W = 0, then an error condition will result even if a valid page base is stored in the CAM.

ページダイレクトリおよびページ表からのU/S ビツトの
論理積操作により、キヤツシユメモリに「最悪のケー
ス」が格納されるようにする。同様にR/Wの論理積操作
によりキヤツシユメモリへ最悪のケースが与えられる。
Allow the "worst case" to be stored in the cache memory by ANDing the U / S bits from the page directory and page table. Similarly, the R / W AND operation gives the worst case to the cache memory.

ページ記述子キヤツシユメモリの構成 CAM 34は、第6図に示すように、各セツトが4語を含
む8セツトで構成される。このアレイにおけるマツチを
見つけるために、21ビツト(アドレス17、アトリビ
ユート4)が用いられる。各セツトに格納されている4
語からの4本の比較器線が検出器に接続される。たとえ
ば、セツト1の4語のための比較器線が、検出器53に
接続されている。同様に、セツト2〜8それぞれの4語
のための比較器線が検出器に接続されている。セツト内
のどの語がCAMアレイの入力(21ビツト)にマツチす
るかを判定するために、検出器により比較器線が検査さ
れる。各検出器は、「ハードワイヤード」ロジツクを含
む。そのロジツクにより、検出器に結合されている20
ビツト情報フイールドからの3ビツトの状態に応じて、
検出器の1つを選択できるようにする。(このビツトペ
ージ情報フイールドの他の17ビツトは、 CAMアレイに
結合されていることに注意されたい。)説明のために、
第6図には8つの検出器が用いられるものとする。ここ
で説明している実施例においては、ただ1つの検出器が
用いられ、検出器に結合するための1組4本の線を選択
する3ビツトにただ1つの検出器が用いられる。検出器
自体は第8図に示されている。
Structure of Page Descriptor Cache Memory CAM 34 is composed of 8 sets, each set containing 4 words, as shown in FIG. 21 bits (address 17, attribute 4) are used to find the match in this array. 4 stored in each set
Four comparator lines from the word are connected to the detector. For example, the comparator lines for the four words of set 1 are connected to the detector 53. Similarly, comparator lines for each of the four words in sets 2-8 are connected to the detector. The detector examines the comparator line to determine which word in the set matches the input (21 bits) of the CAM array. Each detector contains a "hardwired" logic. 20 by the logic connected to the detector
Depending on the status of 3 bits from the bit information field,
Allows selection of one of the detectors. (Note that the other 17 bits of this bit page information field are coupled to the CAM array.)
Eight detectors are assumed to be used in FIG. In the described embodiment, only one detector is used, and only three detectors are used to select a set of four lines for coupling to the detector. The detector itself is shown in FIG.

キヤツシユメモリのデータ格納部分は、アレイ35a 〜35
d として示されている4つのアレイに構成される。 CAM
の各セツトに対応するデータ語に分配されて、1語が4
つのアレイの各アレイに格納される。たとえば、セツト
1の語1とのヒツトにより選択されるデータ語(ベース
アドレス)は、アレイ35a 内にあり、セツト1の語2と
のヒツトにより選択されるデータ語(ベースアドレス)
は、アレイ35b 内にある等である。検出器を選択するた
めに使用される3ビツトも各アレイ内の語を選択するた
めに使用される。したがつて、同時に、語は、4つの各
アレイから選択される。アレイからの語の最後の選択は
マルチブレクサを介して行われる。このマルチプレクサ
は検出器内の4本の比較器線により制御される。
The data storage portion of the cache memory is the array 35a-35.
It is organized into four arrays, shown as d. CAM
Is divided into data words corresponding to each set of
Stored in each array of one array. For example, the data word (base address) selected by the hit with word 1 of set 1 is in array 35a and the data word (base address) selected by the hit with word 2 of set 1
Are in array 35b, and so on. The three bits used to select the detector are also used to select the words in each array. Therefore, at the same time, words are selected from each of the four arrays. The final selection of words from the array is done via the multiplexer. This multiplexer is controlled by four comparator lines in the detector.

キヤツシユメモリがアクセスされると、比較的遅い処理
過程であるマツチング処理過程が、21ビツトを用いて
開始される。他の3ビツトは4本の線のセツトを直ちに
選択でき、検出器は比較器線における電位低下を検出す
るように作られる。(後で説明するように、全ての比較
器(行)線は予め充電され、選択された(ヒツト)線は
充電されたままであるが、選択されない線は放電され
る。)同時に、選択されたセツトからの4語がアレイ35
a 〜35d 内でアクセスされる。マツチが起ると、そのセ
ツト内の語を検出器は識別でき、その情報フイールドは
マルチプレクサ55へ送られて、データ語の選択を行え
るようにする。この構成により、キヤツシユメモリのア
クセス時間が短縮される。
When the cache memory is accessed, the relatively slow process, the matching process, is started using 21 bits. The other three bits can immediately select a set of four lines and the detector is made to detect a potential drop on the comparator line. (As will be explained later, all comparator (row) lines are precharged, selected (hits) lines remain charged, and unselected lines are discharged.) 4 words from set are array 35
Accessed within a ~ 35d. When a match occurs, the word in that set can be identified by the detector and its information field sent to a multiplexer 55 to allow the selection of a data word. With this configuration, the access time of the cache memory is shortened.

連想記憶メモリ(CAM) CAMアレイに結合される21ビツトが第7図に再び示さ
れている。21ビツトのうちの17ビツトが相補ゼネレ
ータ兼オーバーライド回路56に結合され、残りの4ビ
ツトすなわちアトリビユートビツトがVUDW論理回路57
に結合される。第6図を参照して説明した検出器の選択
に関連する3ビツトは第7図は示していない。
Associative Memory (CAM) A 21 bit coupled to a CAM array is again shown in FIG. Seventeen of the twenty-one bits are coupled to the complementary generator and override circuit 56, and the remaining four bits, the attribute bits, are VUDW logic circuit 57.
Be combined with. The three bits associated with the detector selection described with reference to FIG. 6 are not shown in FIG.

回路56は、各アドレス信号についての、真信号と、そ
の真信号に対する相補信号とを発生して、それらの信号
をCAMアレイ中の線59,60のような並列線に結合さ
せる。同様に、 VUDW論理回路57は、アトリビユート
ビツトについての、真信号と、その真信号に対する相補
信号とを発生して、それらの信号をCAMアレイ中の並列
線に結合させる。線59,60は、各真ビツト線と各相
補ビツト線に対してふた通りに作られる(すなわち、2
1対のビツトおよび CAMアレイ中の32行中の各行は、線68,70のよう
な一対の並列な行線を有する。セル67のような通常の
静的メモリセルが各ビツトおよび各 (列)の間に結合され、かつ行線対に関連させられる。
ここで説明している実施例では、メモリセルは、pチヤ
ネルトランジスタを用いる通常のフリツプフロツプ静的
メモリセルを備える。データがアレイに書込まれる時
に、各行線対のうちの1本(線70)が、メモリセルを
ビツト線および この結合できるようにする。書込みでない場合、メモリ
セルの内容が列線上のデータと比較され、その比較結果
がヒツト線68へ結合される。その比較は各セルにそれ
ぞれ組合されている比較器により行われる。比較器は、
nチヤネルトランジスタ61〜64で構成される。比較
器の各トランジスタ対、たとえばトランジスタ61,6
2は、メモリセルの一方の側と、反対側のビツト線との
間に結合される。
The circuit 56 produces a true signal for each address signal and a complementary signal to that true signal and couples those signals to parallel lines, such as lines 59 and 60 in the CAM array. Similarly, VUDW logic 57 generates the true signal for the attribute bit and its complement, and couples those signals to parallel lines in the CAM array. Lines 59 and 60 are made exactly as lids for each true bit line and each complementary bit line (ie 2
A pair of bits and Each of the 32 rows in the CAM array has a pair of parallel row lines, such as lines 68 and 70. Ordinary static memory cells, such as cell 67, are Connected between (columns) and associated with row line pairs.
In the described embodiment, the memory cell comprises a conventional flip-flop static memory cell using p-channel transistors. When data is written to the array, one of each row line pair (line 70) causes the memory cell to be a bit line and a line. Allow this join. If not, the contents of the memory cell are compared with the data on the column line and the result of the comparison is coupled to the hit line 68. The comparison is performed by a comparator associated with each cell. The comparator is
n channel transistors 61 to 64. Each transistor pair of the comparator, for example transistors 61, 6
2 is coupled between one side of the memory cell and the opposite bit line.

データがメモリセル67に格納され、ビツト線59に最
も近いセルの結合点が高レベルであると仮定する。 CAM
の内容が調べられると、最初にヒツト線68がトランジ
スタ69を通じて予充電される。それから、 CAMに結合
されている信号が列線へ与えられる。まず、線59が高
レベルであると仮定する。線60が低レベルであるか
ら、トランジスタ62は導通状態にならない。セルのト
ランジスタ63が接続されている側が低レベルであるか
らトランジスタ63は導通状態にならない。そのような
状態においては、線68は放電されず、セルにおいてマ
ツチが生じたことを示す。ヒツト線は、行に沿つて起る
比較の論理積操作を行う。もしマツチが生じなければ、
1つまたはそれ以上の比較器がヒツト線を放電させる。
Assume that the data is stored in memory cell 67 and the junction of the cell closest to bit line 59 is high. CAM
When the contents of is examined, the hit line 68 is first precharged through transistor 69. Then the signal coupled to the CAM is applied to the column line. First, assume that line 59 is high. Transistor 62 does not conduct because line 60 is low. Since the side of the cell to which the transistor 63 is connected is low level, the transistor 63 does not become conductive. In such a condition, line 68 is not discharged, indicating that a match has occurred in the cell. The hit line performs the AND operation of the comparisons that occur along the rows. If no match occurs,
One or more comparators discharge the hit line.

予充電中は回路56,57はオーバライド信号を発生し
て、全ての列線(ビツトおよび の双方)のレベルを低くする。これにより、比較が開始
される前に比較器によるヒツト線からの放電が阻止され
る。
During precharge, circuits 56 and 57 generate an override signal to drive all column lines (bits and Both sides) lower the level. This prevents discharge from the hit line by the comparator before the comparison begins.

比較器は、「2進1」状態を調べ、実際に「2進0」状
態を無視することに、注意すべきである。すなわち、た
とえば、トランジスタ64のゲートが高レベル(線59
が高レベル)であると、トランジスタ63および64が
比較を制御する。同様に、 60が高レベルであると、トランジスタ61および62
が比較を制御する。比較器のこの特徴によりセルを無視
できる。したがつて、ある語がCAMに結合されたとする
と、ビツトおよび を低レベルにすることによりあるビツトをマツチング処
理からマスクできる。これにより、セルの内容が列線上
の状態をマツチさせるように見えるようにされる。この
特徴は、VUDW論理回路57により用いられる。
It should be noted that the comparator looks at the "binary 1" state and actually ignores the "binary 0" state. That is, for example, the gate of transistor 64 is high (line 59).
Is high), transistors 63 and 64 control the comparison. Similarly, When 60 is high, transistors 61 and 62
Controls the comparison. This feature of the comparator allows cells to be ignored. Therefore, if a word is bound to CAM, the bit and A bit can be masked from the matching process by making the level low. This makes the contents of the cell appear to match the state on the column line. This feature is used by VUDW logic 57.

論理回路57に結合されているマイクロコード信号は、
アトリビユートビツトの選択されたビツトのためのビツ
トおよび をマイクロコードビツトの関数として低レベルにする。
その結果として、そのビツトに関連するアトリビユート
は無視される。この動作は、たとえば、監督モードにお
いてU/Sビツトを無視するために使用される。すなわ
ち、監督モードはユーザーデータをアクセスできる。同
様に、読出しの時または監督モードの実行中に、読出し
/書込みビツトを無視できる。読出しの時にはデーテイ
ビツトも無視できる。(この特徴はバリツドピツトに対
しては使用されない。) アトリピユートビツトが主記憶装置に格納されている時
は、それらのアトリビユートビツトをアクセスおよび調
べることができ、アクセス動作をたとえばU/Sビツトの
1状態または0状態を基にして制御するために論理回路
が使用される。しかし、キヤツシユメモリには別々のロ
ジツクは使用されない。実際に、ビツトおよび を低レベルにすることにより、アトリビユートビツトの
ビツトパターンがマツチさせられないとしても、マツチ
を許す(または誤りを阻止する)ことによつて余分のロ
ジツクが与えらえる。
The microcode signal coupled to the logic circuit 57 is
Bits for selected bits of Attribut Bits and To a low level as a function of the microcode bit.
As a result, the attribute associated with that bit is ignored. This action is used, for example, to ignore U / S bits in supervision mode. That is, the supervisory mode can access the user data. Similarly, read / write bits can be ignored at the time of reading or during execution of the supervisory mode. The data bit can be ignored when reading. (This feature is not used for valid bits.) When attribute bits are stored in main memory, they can be accessed and examined, and access operations can be performed, for example, by U / S. Logic circuits are used to control based on the 1-state or 0-state of the bit. However, no separate logic is used for the cache memory. In fact, the bit and A low level allows extra matching logic by allowing the match (or blocking errors) even if the bit pattern of the attribute bit is not matched.

第8図に示すように、第6図からの検出器は、ゲート8
1,82,83,84のような複数のNORゲートを含む。CAM線の選
択されたセツトからの3本のヒツト線が、ゲート81に
結合される。それらの線が、線A,B,Cとして示され
ている。それらの線の種々の組合せが他の各NORゲート
に接続される。たとえば、NORゲート84は、ヒツト線
D,A,Bを受ける。各NORゲートの出力端子が、NAND
ゲート86のようなNANDゲートへの入力である。ある1
つのヒツト数が各NANDゲートの1つの入力となる。その
ヒツト線は、NORゲートへの入力ではない(4本のヒツ
ト線A,B,C,Dのうちの)1本の線である。その線は選択
すべきセツトエントリイからのビツト線でもある。たと
えば、ゲート86は、ヒツト線Dに関連するセツトを選
択せねばならない。たとえば、NORゲート81の場合に
は、ヒツト線DがNANDゲート86に結合される、同様
に、NANDゲート90に対しては、ヒツト線Cは、ゲート
84の出力に加えて、このゲートへの入力である。この
ロジツクの出力が書込みのためにイネーブルにされるこ
とを阻止するために、イネーブル読出し信号もそのNAND
ゲートに結合される。NANDゲートの線87のような出力
は、第6図のマルチプレクサ55を制御するために使用
される。実際に、線87上の信号のようなNANDからの信
号が、pチヤネルトランジスタを介してマルチプレクサ
を制御する。説明のために、出力線89が接続されてい
る付加インバータ88が示されている。
As shown in FIG. 8, the detector from FIG.
Includes multiple NOR gates such as 1,82,83,84. Three hit lines from the selected set of CAM lines are coupled to gate 81. The lines are shown as lines A, B, C. Various combinations of those lines are connected to each other NOR gate. For example, NOR gate 84 receives hit lines D, A, B. The output terminal of each NOR gate is NAND
Input to a NAND gate, such as gate 86. There is one
One hit number is one input to each NAND gate. The hit line is one line (of the four hit lines A, B, C, D) that is not the input to the NOR gate. That line is also the bit line from the set entry to select. For example, gate 86 must select the set associated with hit line D. For example, in the case of NOR gate 81, hit line D is coupled to NAND gate 86. Similarly, for NAND gate 90, hit line C is in addition to the output of gate 84 to this gate. Is an input. To prevent the output of this logic from being enabled for writing, the enable read signal is also set to its NAND.
Coupled to the gate. The output, such as line 87 of the NAND gate, is used to control the multiplexer 55 of FIG. In effect, the signal from the NAND, such as the signal on line 87, controls the multiplexer via the p-channel transistor. For the sake of explanation, an additional inverter 88 to which the output line 89 is connected is shown.

この検出器の利点は、マルチプレクサ55に予充電線の
使用を可能にすることである。あるいは、静的な装置を
使用できるが、そのためにはかなり多くの電力を必要と
する。第8図に示す構成により、インバータからの出力
は、1本のヒツト線の電位が低下するまで、同じ状態を
保つ。電位の低下が起ると、ただ1本の出力線の電位が
低下して、マルチプレクサが正しい語を選択できるよう
にする。
The advantage of this detector is that it allows the multiplexer 55 to use a precharge line. Alternatively, a static device can be used, but it requires considerably more power. With the configuration shown in FIG. 8, the output from the inverter maintains the same state until the potential of one hit line decreases. When the potential drop occurs, the potential on only one output line drops, allowing the multiplexer to select the correct word.

セグメンテーシヨンのため、およびページングのため
に、キヤツシユメモリの2つのレベルを使用する独特な
アドレス翻訳装置を説明した。各レベルに独立したデー
タアトリビユート制御(たとえば保護)が行われる。
We have described a unique address translator that uses two levels of cache memory for segmentation and for paging. There is independent data attribution control (eg protection) for each level.

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

第1図は本発明を現在実現しているマイクロプロセツサ
の全体のアーキテクチヤを示すブロツク図、第2図は第
1図のマイクロプロセツサにおいて実施されるセグメン
テーシヨンメカニズムを示すブロツク図、第3図はペー
ジキヤツシユメモリにおけるヒツトまたはマツチのため
のページフイールドマツピングを示すブロツク図、第4
図は主記憶装置内のページダイレクトリとページ表が使
用されるような、第3図のページキヤツシユメモリ内の
ヒツト無しまたはマツチ無しに対するページフイールド
マツピングを示すブロツク図、第5図はページキヤツシ
ユメモリのページダイレクトリとページ表に格納されて
いるアトリビユートを示すために使用される線図、第6
図はページキヤツシユメモリに含まれている連想記載メ
モリとデータストレージの構成を示すブロツク図、第7
図は第6図の連想記憶メモリの一部の電気回路図、第8
図は第6図の検出器に関連する論理回路の電気回路図で
ある。 13……主記憶装置、14……バスインターフエイス装
置、16……復号器、18……実行装置、20……アド
レス翻訳装置、21……セグメント装置、22……ペー
ジ装置、27……比較器、30……ページフイールドマ
ツピングブロツク、34……連想記憶メモリ(CAM)、
35……ページデータメモリ、38……ページダイレク
トリベース、53……検出器、55……マルチプレク
サ、57……VUDW論理回路、67……メモリセル、75…
…制御論理回路。
FIG. 1 is a block diagram showing the overall architecture of a microprocessor that is currently implementing the present invention, and FIG. 2 is a block diagram showing the segmentation mechanism implemented in the microprocessor of FIG. FIG. 3 is a block diagram showing page field mapping for a hit or a match in the page cache memory.
Figure is a block diagram showing page field mapping for no hit or no match in page cache memory of Figure 3 such that the page directory and page tables in main memory are used, and Figure 5 is a page. Diagram used to show attributes stored in the page directory and page table of the cache memory, 6th
The figure is a block diagram showing the configuration of the associative description memory and data storage included in the page cache memory.
FIG. 8 is an electric circuit diagram of a part of the associative memory of FIG. 6, FIG.
The figure is an electrical schematic of the logic circuitry associated with the detector of FIG. 13 ... Main storage device, 14 ... Bus interface device, 16 ... Decoder, 18 ... Execution device, 20 ... Address translation device, 21 ... Segment device, 22 ... Page device, 27 ... Comparison Container, 30 ... Page field mapping block, 34 ... Associative memory (CAM),
35 ... page data memory, 38 ... page direct rebase, 53 ... detector, 55 ... multiplexer, 57 ... VUDW logic circuit, 67 ... memory cell, 75 ...
... control logic circuit.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−84755(JP,A) 特公 昭55−40950(JP,B2) ─────────────────────────────────────────────────── ─── Continuation of front page (56) References JP-A-61-84755 (JP, A) JP-B-55-40950 (JP, B2)

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】マイクロプロセッサ装置であって、 (a) 仮想メモリアドレスを与えるためのアドレスレジス
タ手段と、 (b) 前記マイクロプロセッサ装置のアドレス端子および
データ端子のインターフェイスを与えるバスインターフ
ェイス装置と、 (c) 前記アドレスレジスタ手段から仮想メモリアドレス
を受けるアドレス翻訳装置にして、 (i) セグメント・ベースアドレスおよび可変長のリミッ
トを格納する、少なくとも1つのセグメント記述子レジ
スタと、前記仮想メモリアドレスの少なくとも一部が、
前記リミットとの比較により、前記リミットを越えてい
るときに誤り信号を発生する比較器とを有し、前記セグ
メント・ベースアドレスを前記仮想アドレスの一部に加
えて、ページ情報フィールドおよびオフセットを有する
線型アドレスを生成するセグメント装置を有し; (ii)固定サイズのページのメモリアドレスを表す、複数
のページエントリと、それらのページエントリのための
タグとを格納するページ・キャッシュと、タグを前記線
型アドレスの前記ページ情報フィールドと比較してマッ
チ状態の合図をする手段とを有し、それによりマッチ状
態の時には、前記ページエントリの1つに対応したペー
ジエントリ出力が生成され; (iii)マッチ状態にないことが示されると、ページ・ベ
ースアドレスと前記ページ情報フィールドの少なくとも
一部とからページテーブルアドレスを発生して前記バス
インターフェイス装置へ送り、そして、当該ページテー
ブルアドレスに応じている、前記ページエントリの1つ
に対応したページテーブルエントリを前記バスインター
フェイス装置から受ける、ページテーブルアドレス手段
を有するアドレス翻訳装置と、 (d) (i)前記セグメント装置からの前記線型アドレス、
または、 (ii)前記ページキャッシュからのページエントリ出力若
しくわ前記ページテーブルアドレス手段からのページテ
ーブルエントリと、前記線型アドレスのオフセットとを
組み合わせたもの を受けるよう結合され、前記バスインターフェイス装置
に与える物理アドレスを生成するアドレス発生装置と を備えた、マイクロプロセッサ装置。
1. A microprocessor device comprising: (a) address register means for providing a virtual memory address; (b) a bus interface device for providing an interface for address terminals and data terminals of the microprocessor device; c) An address translation device that receives a virtual memory address from the address register means, and (i) at least one segment descriptor register for storing a segment base address and a variable length limit, and at least one of the virtual memory addresses. Part
A comparator for generating an error signal when the limit is exceeded, the segment base address being added to a part of the virtual address, and a page information field and an offset being added. A segment device for generating linear addresses; (ii) a page cache storing a plurality of page entries representing memory addresses of fixed size pages and tags for those page entries; Means for signaling a match condition in comparison with the page information field of a linear address, whereby in the match condition a page entry output corresponding to one of the page entries is generated; (iii) match If no status is indicated, at least the page base address and the page information field are A page that generates a page table address from a part of the page interface address and sends the page table address to the bus interface device, and receives from the bus interface device a page table entry corresponding to one of the page entries corresponding to the page table address. An address translation device having table address means, (d) (i) the linear address from the segment device,
Or (ii) a page entry output from the page cache or a combination of the page table entry from the page table address means and the offset of the linear address, which is coupled to receive the bus interface device. A microprocessor device having an address generator that generates a physical address.
【請求項2】特許請求の範囲第1項記載の装置におい
て、前記ページテーブルエントリを格納し、前記アドレ
ス端子を介して受ける物理アドレスによりアクセスされ
る外部のメモリが、組み合わされている ことを特徴とするマイクロプロセッサ装置。
2. The apparatus according to claim 1, wherein an external memory that stores the page table entry and is accessed by a physical address received through the address terminal is combined. And a microprocessor device.
【請求項3】メモリ管理装置であって: (a) 任意長さのセグメントに分けられる仮想アドレス空
間を有する仮想メモリ装置において相互に独立なセグメ
ンテーションおよびページングを使用してメモリ管理を
行うマイクロプロセッサ装置にして、内部メモリを含む
複数の機能部を有し、アドレスおよびデータのための複
数の端子を有しているマイクロプロセッサ装置と、 (b) アドレスおよびデータのための前記複数の端子によ
りアドレスできる外部メモリとを備えており; 前記マイクロプロセッサ装置が、 (i) 前記複数の機能部間において情報を送る内部バス
と、 (ii)この内部バスと、アドレスおよびデータのための前
記複数の端子との間において情報を送るためのバスイン
ターフェイス装置と、 (iii)仮想アドレス空間の或るロケーションに対応して
いる仮想メモリアドレスにして、メモリ管理装置におけ
るページング機能に関係をもたない情報のみをそれぞれ
有している仮想メモリアドレスを与えるためのアドレス
レジスタと、 (iv)前記アドレスレジスタから前記仮想メモリアドレス
を受けるアドレス翻訳装置にして、 (iv-A)セグメント記述子を格納する少なくとも1つのセ
グメント記述子レジスタにして、そのセグメント記述子
が、セグメントについてのページング操作をされるかさ
れないかについての参照なしに、セグメントを記述する
情報を与え、少なくともセグメント・ベースアドレスお
よびセグメント長を含むものである、少なくとも1つの
セグメント記述子レジスタと、 仮想アドレスの少なくとも一部をセグメント長と比較し
て、仮想アドレスの前記一部が、前記セグメント長を越
えているとき、誤り信号を発生し、前記セグメント・ベ
ースアドレスと仮想アドレスの前記一部とを組合せて、
ページ情報フィールドおよびページ変位フィールドを有
する線型アドレスを生成する、第1の回路と を有するセグメント装置と、 (iv-B)このセグメント装置とは独立に動作し、前記線型
アドレスを受けるページ装置にして、 (1)固定長のページのメモリアドレスを表わす、複数の
ページエントリ及びこれらのページエントリのためのタ
グを格納するページキャッシュと、 (2)前記線型アドレスの前記ページ情報フィールドを前
記タグと比較し、前記ページ情報フィールドが前記タグ
の1つにマッチしていれば、前記ページエントリの1つ
に対応したページエントリ出力を生成する第2の回路
と、 (3)前記第2の回路に応じて、もし、前記ページ情報フ
ィールドが前記タグの何れともマッチしていなければ、
固定長のページの1つのベースアドレスと、前記線型ア
ドレスの前記ページ情報フィールドの少なくとも一部と
から、ページテーブルアドレスを生成し、そのページテ
ーブルアドレスを前記内部バスへ送り、このようにして
前記内部バスへ送ったページテーブルアドレスに応じて
前記内部バスからページテーブルエントリを受ける、 ページテーブルアドレス回路と を有するページ装置と、 (iv-C) (i)前記線型アドレスを受けて、受けた線型アド
レスと同じ物理アドレスを生成するか、(ii)前記ページ
変位フィールドと、前記ページキャッシュからのページ
エントリ出力若しくはページテーブルアドレス回路から
のページテーブルエントリとを受けて、ページエントリ
出力,ページテーブルエントリのうちの受けたものと、
前記ページ変位フィールドとを組み合わせて物理アドレ
スを生成し、その物理アドレスをアドレスおよびデータ
のための前記複数の端子へ前記内部バスを介して送る、
アドレス発生回路と を有するアドレス翻訳装置と を備えており; 前記外部メモリは、前記セグメント記述子レジスタへ送
るために複数のセグメント記述子を格納している、 メモリ管理装置。
3. A memory management device comprising: (a) a microprocessor device for performing memory management using mutually independent segmentation and paging in a virtual memory device having a virtual address space divided into segments of arbitrary length. And a microprocessor device having a plurality of functional parts including an internal memory and having a plurality of terminals for address and data, and (b) addressing by the plurality of terminals for address and data An external memory; (i) an internal bus for transmitting information between the plurality of functional units; (ii) the internal bus; and the plurality of terminals for address and data. A bus interface device for sending information between, and (iii) pairing with a location in the virtual address space. An address register for giving a virtual memory address having only information not related to the paging function in the memory management device as a virtual memory address being set, and (iv) the virtual memory from the address register. An address translator that receives an address, (iv-A) at least one segment descriptor register that stores a segment descriptor, and a reference as to whether that segment descriptor is paged or not for a segment And at least one segment descriptor register, which provides information describing the segment and includes at least a segment base address and a segment length, and comparing at least a portion of the virtual address with the segment length, Part of the above Segume When it exceeds the door length, to generate an error signal, in combination with the portion of the virtual address and the segment base address,
A segment device having a first circuit for generating a linear address having a page information field and a page displacement field; and (iv-B) a page device which operates independently of the segment device and receives the linear address. (1) a page cache storing a plurality of page entries and tags for these page entries, which represent memory addresses of fixed length pages, and (2) comparing the page information field of the linear address with the tags. If the page information field matches one of the tags, a second circuit for generating a page entry output corresponding to one of the page entries, and (3) depending on the second circuit If the page info field does not match any of the tags,
A page table address is generated from one base address of a fixed length page and at least part of the page information field of the linear address, and the page table address is sent to the internal bus, thus the internal A page device having a page table address circuit for receiving a page table entry from the internal bus according to the page table address sent to the bus; and (iv-C) (i) receiving the linear address and receiving the linear address Or (ii) receives the page displacement field and the page entry output from the page cache or the page table entry from the page table address circuit, and outputs a page entry output or a page table entry Received from
Combining with the page displacement field to generate a physical address and sending the physical address to the plurality of terminals for address and data via the internal bus,
And an address translation circuit having an address generation circuit; the external memory stores a plurality of segment descriptors for sending to the segment descriptor register.
【請求項4】コンピュータ装置において、セグメンテー
ションおよびページングの双方を実行するメモリ管理を
行う方法であって、 (a) セグメンテーション処理のための入力として、セグ
メント記述子テーブルへのアドレス情報およびオフセッ
トを含む仮想アドレスと、前記セグメント記述子テーブ
ルへの前記アドレス情報によりアドレスできるセグメン
ト記述子テーブルとを与える過程と、 (b) 前記セグメンテーションの出力として線型アドレス
を与える過程と、 (c) 前記線型アドレスを、 (i) 主記憶装置へのアドレス用の物理アドレスとして使
用するか、または、 (ii)前記線型アドレスを含む入力のセットと、前記セグ
メンテーション処理のための前記入力以外の入力のセッ
トとに基づいて、物理アドレスを発生する、ページング
処理への入力として使用する 過程と、 (d) 前記物理アドレスを、システムバスを介して前記主
記憶装置へのアクセスをするために用いる過程と を備えたメモリ管理を行う方法。
4. A method for memory management in a computer device that performs both segmentation and paging, comprising: (a) virtual information including address information and offset into a segment descriptor table as input for segmentation processing. Providing an address and a segment descriptor table addressable by the address information to the segment descriptor table; (b) providing a linear address as an output of the segmentation; and (c) the linear address: i) used as a physical address for an address to main memory, or (ii) based on a set of inputs containing the linear address and a set of inputs other than the inputs for the segmentation process, Entry into the paging process that generates the physical address A method of performing memory management, including the step of using the physical address as a force, and (d) the step of using the physical address to access the main storage device via a system bus.
JP60189994A 1985-06-13 1985-08-30 Microprocessor device Expired - Lifetime JPH0622000B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74438985A 1985-06-13 1985-06-13
US744389 1985-06-13

Publications (2)

Publication Number Publication Date
JPS61286946A JPS61286946A (en) 1986-12-17
JPH0622000B2 true JPH0622000B2 (en) 1994-03-23

Family

ID=24992533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60189994A Expired - Lifetime JPH0622000B2 (en) 1985-06-13 1985-08-30 Microprocessor device

Country Status (8)

Country Link
JP (1) JPH0622000B2 (en)
KR (1) KR900005897B1 (en)
CN (1) CN1008839B (en)
DE (1) DE3618163C2 (en)
FR (1) FR2583540B1 (en)
GB (2) GB2176918B (en)
HK (1) HK53590A (en)
SG (1) SG34090G (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988007721A1 (en) * 1987-04-02 1988-10-06 Unisys Corporation Associative address translator for computer memory systems
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5761413A (en) 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
GB2260629B (en) * 1991-10-16 1995-07-26 Intel Corp A segment descriptor cache for a microprocessor
US5895489A (en) * 1991-10-16 1999-04-20 Intel Corporation Memory management system including an inclusion bit for maintaining cache coherency
CN1068687C (en) * 1993-01-20 2001-07-18 联华电子股份有限公司 Dynamic allocation method storage with stored multi-stage pronunciation
EP0613090A1 (en) * 1993-02-26 1994-08-31 Siemens Nixdorf Informationssysteme Aktiengesellschaft Method for checking the admissibility of direct memory accesses in a data processing systems
US5548746A (en) * 1993-11-12 1996-08-20 International Business Machines Corporation Non-contiguous mapping of I/O addresses to use page protection of a process
US5590297A (en) * 1994-01-04 1996-12-31 Intel Corporation Address generation unit with segmented addresses in a mircroprocessor
US6622211B2 (en) * 2001-08-15 2003-09-16 Ip-First, L.L.C. Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
KR100406924B1 (en) * 2001-10-12 2003-11-21 삼성전자주식회사 Content addressable memory cell
US7689485B2 (en) 2002-08-10 2010-03-30 Cisco Technology, Inc. Generating accounting data based on access control list entries
JP4302641B2 (en) 2002-11-18 2009-07-29 エイアールエム リミテッド Controlling device access to memory
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7171539B2 (en) 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
WO2005017754A1 (en) * 2003-07-29 2005-02-24 Cisco Technology, Inc. Force no-hit indications for cam entries based on policy maps
US20060090034A1 (en) * 2004-10-22 2006-04-27 Fujitsu Limited System and method for providing a way memoization in a processing environment
GB2448523B (en) * 2007-04-19 2009-06-17 Transitive Ltd Apparatus and method for handling exception signals in a computing system
US8799620B2 (en) 2007-06-01 2014-08-05 Intel Corporation Linear to physical address translation with support for page attributes
KR101671494B1 (en) 2010-10-08 2016-11-02 삼성전자주식회사 Multi Processor based on shared virtual memory and Method for generating address translation table
FR3065826B1 (en) * 2017-04-28 2024-03-15 Patrick Pirim AUTOMATED METHOD AND ASSOCIATED DEVICE CAPABLE OF STORING, RECALLING AND, IN A NON-VOLATILE MANNER, ASSOCIATIONS OF MESSAGES VERSUS LABELS AND VICE VERSA, WITH MAXIMUM LIKELIHOOD
KR20200077287A (en) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 Memory device, Memory system including the memory device and Method of operating the memory device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA784373A (en) * 1963-04-01 1968-04-30 W. Bremer John Content addressed memory system
GB1281387A (en) * 1969-11-22 1972-07-12 Ibm Associative store
US3761902A (en) * 1971-12-30 1973-09-25 Ibm Functional memory using multi-state associative cells
GB1457423A (en) * 1973-01-17 1976-12-01 Nat Res Dev Associative memories
GB1543736A (en) * 1976-06-21 1979-04-04 Nat Res Dev Associative processors
US4376297A (en) * 1978-04-10 1983-03-08 Signetics Corporation Virtual memory addressing device
GB1595740A (en) * 1978-05-25 1981-08-19 Fujitsu Ltd Data processing apparatus
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
US4442482A (en) * 1982-09-30 1984-04-10 Venus Scientific Inc. Dual output H.V. rectifier power supply driven by common transformer winding
US4638426A (en) * 1982-12-30 1987-01-20 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence

Also Published As

Publication number Publication date
JPS61286946A (en) 1986-12-17
KR870003427A (en) 1987-04-17
FR2583540A1 (en) 1986-12-19
KR900005897B1 (en) 1990-08-13
DE3618163C2 (en) 1995-04-27
GB2176920A (en) 1987-01-07
GB2176918B (en) 1989-11-01
HK53590A (en) 1990-07-27
FR2583540B1 (en) 1991-09-06
CN1008839B (en) 1990-07-18
GB2176920B (en) 1989-11-22
DE3618163A1 (en) 1986-12-18
GB8519991D0 (en) 1985-09-18
SG34090G (en) 1990-08-03
GB8612679D0 (en) 1986-07-02
GB2176918A (en) 1987-01-07
CN85106711A (en) 1987-02-04

Similar Documents

Publication Publication Date Title
US5321836A (en) Virtual memory management method and apparatus utilizing separate and independent segmentation and paging mechanism
JPH0622000B2 (en) Microprocessor device
US5526504A (en) Variable page size translation lookaside buffer
US5412787A (en) Two-level TLB having the second level TLB implemented in cache tag RAMs
KR920005280B1 (en) High speed cache system
US5173872A (en) Content addressable memory for microprocessor system
US6408373B2 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US5257361A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
EP0560598B1 (en) Cache memory
US5375214A (en) Single translation mechanism for virtual storage dynamic address translation with non-uniform page sizes
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5860147A (en) Method and apparatus for replacement of entries in a translation look-aside buffer
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US5717885A (en) TLB organization with variable page size mapping and victim-caching
US6189074B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US3866183A (en) Communications control apparatus for the use with a cache store
JPH07200405A (en) Circuit and method for cache of information
US4737909A (en) Cache memory address apparatus
US5928352A (en) Method and apparatus for implementing a fully-associative translation look-aside buffer having a variable numbers of bits representing a virtual address entry
JPH08227380A (en) Data-processing system
US4736287A (en) Set association memory system
US4811206A (en) Data processing system with overlapped address translation and address computation
US5649143A (en) Apparatus and method for providing a cache indexing scheme less susceptible to cache collisions

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term