JP2001282616A - Memory management system - Google Patents

Memory management system

Info

Publication number
JP2001282616A
JP2001282616A JP2000100518A JP2000100518A JP2001282616A JP 2001282616 A JP2001282616 A JP 2001282616A JP 2000100518 A JP2000100518 A JP 2000100518A JP 2000100518 A JP2000100518 A JP 2000100518A JP 2001282616 A JP2001282616 A JP 2001282616A
Authority
JP
Japan
Prior art keywords
page
memory
address
size
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000100518A
Other languages
Japanese (ja)
Inventor
Atsushi Mori
篤史 毛利
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000100518A priority Critical patent/JP2001282616A/en
Publication of JP2001282616A publication Critical patent/JP2001282616A/en
Withdrawn 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/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

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)

Abstract

PROBLEM TO BE SOLVED: To improve the use efficiency of a memory resources without being conscious as whether the page size is smaller than a cache memory. SOLUTION: In a memory managing mechanism that is equipped with a main storage device and the cache memory and provided for a processor which refers to the main storage device by using a physical page address replacing an inputted virtual page address, a non-cacheable control part (11) uses a page size bit (PZ) stored in a page display entry (TLB) (1) and a non-cacheable bit (N) showing a value, specifying whether a page specified with the physical page address is registered in the cache memory and sets a value specifying nonregistration to a non-cacheable bit, when the page size bit shows a value indicating that the page size is smaller than set size (size of cache memory, block data size × the number entered).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュメモリ
と汎用メモリを内蔵したシステムLSI(Large
Scale Integration)において、内蔵
汎用メモリの使用効率を向上させるメモリ管理方式(メ
モリ管理機構)に関するものである。
The present invention relates to a system LSI (Large) incorporating a cache memory and a general-purpose memory.
The present invention relates to a memory management method (memory management mechanism) for improving the use efficiency of a built-in general-purpose memory in Scale Integration.

【0002】[0002]

【従来の技術】近年、半導体プロセス技術の著しい進化
により、一つのLSIにプロセッサコアばかりでなく各
種メモリを内蔵したシステムLSIが製造可能となっ
た。この各種メモリとしては、キャッシュメモリ、RO
M(Read Only Memory)、フラッシュ
メモリ、汎用メモリ(SRAM(Static Ran
dom Access Memory),DRAM(D
ynamic Random Access Memo
ry))等がある。それぞれの用途に応じて複数の組み
合わせで内蔵される可能性がある。
2. Description of the Related Art In recent years, with the remarkable progress of semiconductor process technology, it has become possible to manufacture a system LSI in which not only a processor core but also various memories are built in one LSI. These various memories include a cache memory, an RO
M (Read Only Memory), flash memory, general-purpose memory (SRAM (Static Ran)
dom Access Memory), DRAM (D
dynamic Random Access Memo
ry)). There is a possibility that a plurality of combinations are built in according to the respective applications.

【0003】また、プロセッサコアから、これら各種メ
モリへの高速アクセスが可能であるため内蔵する容量も
次第に増えてきている。また、近年組み込み用途のプロ
セッサにおいても、汎用オペレーティング・システム
(OS)を動作させて、プログラム開発効率を向上させ
るようになってきている。
Further, since a processor core can access these various memories at high speed, the capacity to be built in is also increasing gradually. In recent years, even in embedded processors, a general-purpose operating system (OS) is operated to improve program development efficiency.

【0004】そのため、組み込み用途のプロセッサでも
メモリ管理機構(MMU:Memory Manage
ment Unit)を内蔵するようになってきてい
る。メモリ管理機構(MMU)では、一般的に仮想記憶
方式によりメモリの管理を実施している。仮想記憶と
は、物理的に限られた容量しかないメモリを多くのプロ
セスで分割使用する手段である(コンピュータ・アーキ
テクチャ、David A.Patterson,Jo
hn L.Hennessy著、1993年、pp43
7−456)。即ち、物理メモリを複数のブロックに分
割し、そのブロックを各プロセスに割り当てる方法であ
る。
For this reason, even in a processor for embedded use, a memory management mechanism (MMU: Memory Manager) is used.
ment Unit). In a memory management mechanism (MMU), memory management is generally performed by a virtual storage method. Virtual storage is a means for dividing and using physically limited memory in many processes (computer architecture, David A. Patternson, Jo).
hn L.H. Hennessy, 1993, pp43
7-456). That is, the physical memory is divided into a plurality of blocks, and the blocks are allocated to each process.

【0005】この仮想記憶という技術が考案される以前
は、プログラムが物理メモリの容量を越えてしまった場
合は、その容量の中でプログラムを実行できるようにす
る全責任はプログラマにあった。即ち、まず、プログラ
ムを小片に分割し互いに排他的なものを見出す。そし
て、これらオーバレイ部分をどういう順序で主記憶にロ
ードするかを、全てユーザのプログラムで制御する。プ
ログラマは、実行中に物理メモリの制限を越えないよう
に動作を保証しなければならない。
[0005] Before the concept of this virtual memory was devised, if the program exceeded the capacity of the physical memory, the programmer had full responsibility for enabling the program to be executed in that capacity. That is, first, the program is divided into small pieces to find mutually exclusive ones. The order in which these overlay portions are loaded into the main memory is all controlled by the user's program. The programmer must ensure that the operation does not exceed the physical memory limit during execution.

【0006】このようなことがプログラマの生産性を阻
害する要因であった。このような苦労からプログラマを
解放する目的で考え出されたのが仮想記憶であり、プロ
グラマに対しては実装する物理メモリよりも大きく連続
する仮想のアドレス空間を提供する機構である。
[0006] Such a factor has hindered the productivity of the programmer. A virtual memory has been devised for the purpose of relieving the programmer from such difficulties, and a mechanism for providing the programmer with a virtual address space that is larger and continuous than the physical memory to be mounted.

【0007】図4に、従来から用いられている仮想記憶
方式における仮想アドレスの変換方式について示す。仮
想アドレス(1000)は、仮想ページアドレス(10
01)を示す上位フィールドとページ内オフセット(1
002)を示す下位フィールドに分割される。仮想アド
レス空間と物理メモリ空間は、ページ内オフセット(1
002)で示されるページサイズに分割される。仮想ア
ドレス空間には、仮想ページアドレス(1001)で示
される個数だけのページが存在する。
FIG. 4 shows a virtual address conversion method in a conventionally used virtual storage method. The virtual address (1000) is the virtual page address (10
01) and the offset within the page (1
002). The virtual address space and the physical memory space are offset by an offset within the page (1
002). In the virtual address space, as many pages as the number indicated by the virtual page address (1001) exist.

【0008】仮想アドレス空間中のどのページが、物理
メモリ空間中のどのページに割り当てられるかはページ
表(1103)により管理される。このページ表の基点
となるアドレスであるページ表ベース(1101)と、
表の大きさの値であるページ表限界(1102)は、そ
れぞれのシステムレジスタに格納されている。仮想アド
レスから物理アドレスを生成するためには、仮想アドレ
スの仮想ページアドレス(1001)とページ表ベース
(1101)を加算器(1105)で加算し、この値に
基づいてページ表内の一つのページ表エントリ(110
4)を特定する。
Which page in the virtual address space is allocated to which page in the physical memory space is managed by a page table (1103). A page table base (1101) which is an address serving as a base point of the page table;
The page table limit (1102), which is the value of the table size, is stored in each system register. To generate a physical address from a virtual address, the virtual page address (1001) of the virtual address and the page table base (1101) are added by an adder (1105), and one page in the page table is added based on this value. Table entry (110
4) is specified.

【0009】この時に、加算器(1105)の出力がペ
ージ表限界(1102)を超えないことを確認する(1
106)。この値を超えている場合は、エラーを検知す
る。特定されたページ表エントリ(1104)から物理
アドレス空間中の仮想ページアドレスを取り出し、仮想
アドレスのページ内オフセットと結合させて物理アドレ
ス(1100)を生成する。そして、この物理アドレス
(1100)により、主記憶等の物理メモリのアクセス
を行う。
At this time, it is confirmed that the output of the adder (1105) does not exceed the page table limit (1102) (1).
106). If this value is exceeded, an error is detected. The virtual page address in the physical address space is extracted from the specified page table entry (1104) and combined with the in-page offset of the virtual address to generate the physical address (1100). The physical address such as the main memory is accessed by the physical address (1100).

【0010】この仮想記憶方式では、当然仮想アドレス
空間で扱うページ数よりも、物理メモリ空間で扱うペー
ジ数は少ない。そのため、物理メモリ上にない仮想アド
レス空間上のページをプログラムがアクセスした場合に
は、ページ・フォールトが発生する。ページ・フォール
トが発生した時は、新たにページ表エントリを追加した
り、2次記憶(ディスク等)から物理メモリにプログラ
ムをロードする処理が必要となる。ページフォールトに
伴う一連の処理等は、ユーザプログラムが意識する必要
はなく、オペレーティング・システムの管理下に置かれ
るのが一般的である。
In this virtual memory system, the number of pages handled in the physical memory space is naturally smaller than the number of pages handled in the virtual address space. Therefore, when a program accesses a page in a virtual address space that is not in the physical memory, a page fault occurs. When a page fault occurs, a process of adding a new page table entry or loading a program from a secondary storage (disk or the like) to a physical memory is required. A series of processes associated with a page fault need not be conscious of a user program, and is generally placed under the control of an operating system.

【0011】さらに、この仮想アドレスの変換を高速に
行うハードウェア機構として、図5に示すTLB(Tr
anslation Lookaside Buffe
r)がある。TLBとは、図4に示すページ表(110
3)のキャッシュメモリのようなものであり、プロセッ
サは仮想アドレスでページ表をアクセスする代わりに、
TLBをアクセスすることにより高速にアドレス変換を
行うことが可能である。
Further, as a hardware mechanism for converting this virtual address at high speed, a TLB (Tr
analysis Lookaside Buffet
r). The TLB is a page table (110
3) It is like a cache memory, and instead of accessing the page table at a virtual address, the processor
Address conversion can be performed at high speed by accessing the TLB.

【0012】以下に、図5に示すフルセットアソシアテ
ィブ方式(仮想アドレスの一部をデコードしてエントリ
選択を実施せず、TLB内のエントリ毎に内蔵した比較
器のヒットミスによりエントリの選択を実施する構成)
のTLB(1051)について説明する。TLB(10
51)は、0〜Nセットのページテーブルエントリ(P
TE)(1061−0〜N)より構成されている。各P
TEには、図4に示すページ表内のページ表エントリの
コピーを持つことが可能である。各PTEは、タグフィ
ールド(1052)とデータフィールド(1053)と
アドレス比較器(1054)より構成されている。
In the following, a full set associative method shown in FIG. 5 (selection of an entry is performed by hitting a built-in comparator for each entry in the TLB without decoding a part of the virtual address and performing entry selection) Configuration)
The TLB (1051) will be described. TLB (10
51) are 0 to N sets of page table entries (P
TE) (1061-0 to N). Each P
The TE can have a copy of the page table entry in the page table shown in FIG. Each PTE includes a tag field (1052), a data field (1053), and an address comparator (1054).

【0013】タグフィールド(1052)は、以下の2
フィールド(a)〜(b)より構成されている。 (a)VPA[31:12]:Virtual Pag
e Address(仮想ページアドレス) (b)ASID:Address Space ID
(アドレス空間ID) OSは、プロセス毎にASIDを管理することにより多
重仮想アドレス空間を実現する。
The tag field (1052) has the following 2
It is composed of fields (a) and (b). (A) VPA [31:12]: Virtual Page
e Address (virtual page address) (b) ASID: Address Space ID
(Address Space ID) The OS realizes a multiple virtual address space by managing the ASID for each process.

【0014】また、データフィールド(1053)は、
以下の7フィールド(c)〜(i)より構成されてい
る。 (c)PPA[31:12]:Physical Pa
ge Address(物理ページアドレス)最小ペー
ジである4kBサイズに対応した物理ページアドレスを
保持。PZフィールドで示されるページサイズに応じ
て、使用サイズが変更される。 4kBページ:PPA[31:12]全て使用 16kBページ:PPA[13:12]を不使用 64kBページ:PPA[15:12]を不使用 128kBページ:PPA[17:12]を不使用
The data field (1053) is
It is composed of the following seven fields (c) to (i). (C) PPA [31:12]: Physical Pa
ge Address (physical page address) Holds a physical page address corresponding to the minimum page size of 4 kB. The used size is changed according to the page size indicated by the PZ field. 4kB page: not using PPA [31:12] all 16kB page: not using PPA [13:12] 64kB page: not using PPA [15:12] 128kB page: not using PPA [17:12]

【0015】(d)N:Non Cachable A
rea bit(ノンキャッシャブルビット) 0=キャッシング可能領域 1=キャッシング不可領域 (e)AC[2:0]:Access Control
bits(アクセス制御ビット) AC[2]:0=リードアクセス可能、1=リードアク
セス不可 AC[1]:0=ライトアクセス可能、1=ライトアク
セス不可 AC[0]:0=実行可能、1=実行不可
(D) N: Non Cacheable A
rear bit (non-cacheable bit) 0 = cacheable area 1 = cacheable area (e) AC [2: 0]: Access Control
bits (access control bits) AC [2]: 0 = Read accessible, 1 = Read unavailable AC [1]: 0 = Write accessible, 1 = Write disabled AC [0]: 0 = Executable, 1 = Not executable

【0016】(f)PZ[1:0]:Page siz
e bits(ページサイズビット) 00=4kBサイズ 01=16kBサイズ 10=64kBサイズ 11=128kBサイズ (g)M:Modify bit(変更ビット) 0=ライトアクセス未発生 1=ライトアクセス発生
(F) PZ [1: 0]: Page siz
e bits (page size bit) 00 = 4 kB size 01 = 16 kB size 10 = 64 kB size 11 = 128 kB size (g) M: Modify bit (change bit) 0 = no write access occurred 1 = write access occurred

【0017】(h)G:Global Page bi
t(グローバル・ページビット) 0=ローカル・ページ 1=グローバル・ページ (i)V:Entry Valid bit(有効ビッ
ト) 0=無効エントリ 1=有効エントリ
(H) G: Global Page bi
t (global page bit) 0 = local page 1 = global page (i) V: Entry Valid bit (valid bit) 0 = invalid entry 1 = valid entry

【0018】各PTE内のアドレス比較器(1054)
は、プログラムで発生したメモリアクセス先の仮想ペー
ジに対するページ表エントリが、TLBに登録されてい
るかどうかをチェックするためのものである。アドレス
比較器(1054)には、現在実行のプロセスに対する
ASIDと、このプロセスで発生したメモリアクセスに
対する仮想ページアドレスが径路1050より入力され
ている。さらに、タグフィールド(1052)のVP
A,ASIDと、データフィールド(1053)のP
Z,G,Vが入力されている。
An address comparator (1054) in each PTE
Is for checking whether a page table entry for a virtual page of a memory access destination generated by a program is registered in the TLB. The ASID for the currently executed process and the virtual page address for the memory access generated in this process are input from the path 1050 to the address comparator (1054). Further, the VP of the tag field (1052)
A, ASID, and P of the data field (1053)
Z, G, and V are input.

【0019】径路1050からの仮想ページアドレスと
タグフィールド(1052)のVPAの比較(「比較
A」とする)は、PZによるページサイズに基づいて実
施する。また、径路1050からのASIDとタグフィ
ールド(1052)のASIDの比較(「比較B」とす
る)は、Gビットが0の時のみ有効とする。これら比較
A、比較Bの結果は、Vビットが1の時のみ有効であ
り、Vビットが0であれば無条件で比較結果は不一致と
なる。
The comparison between the virtual page address from the path 1050 and the VPA of the tag field (1052) (referred to as “comparison A”) is performed based on the page size by PZ. The comparison between the ASID from the path 1050 and the ASID of the tag field (1052) (referred to as “comparison B”) is valid only when the G bit is 0. The results of these comparisons A and B are valid only when the V bit is 1, and if the V bit is 0, the comparison results unconditionally do not match.

【0020】全てのPTEのアドレス比較器において、
比較結果が一致しなかった場合(TLBミス)は、径路
1055によりTLBミスが発生したことが例外検出機
構に伝達される。例外検出機構では、TLBミスに伴う
例外処理が必要であることをプロセッサコアに伝達す
る。TLBミスは、仮想ページに対するページ表エント
リがTLBに登録されていないことを意味する。そのた
め、この例外処理ルーチンでは、TLBミスを起こした
ページ表エントリを径路1059からTLBへ登録する
ための一連の処理を行い、メモリアクセスを再実行する
ためにTLBミスを発生した命令へ戻る処理を行う。
In all PTE address comparators,
If the comparison results do not match (TLB miss), the occurrence of the TLB miss is transmitted to the exception detection mechanism via the path 1055. The exception detection mechanism informs the processor core that exception handling due to a TLB miss is required. A TLB miss means that the page table entry for the virtual page is not registered in the TLB. Therefore, in this exception handling routine, a series of processes for registering the page table entry in which the TLB miss has occurred in the TLB from the path 1059 is performed, and the process of returning to the instruction in which the TLB miss occurred in order to re-execute the memory access is performed. Do.

【0021】いずれかのPTEのアドレス比較器におい
て、比較結果が一致した場合(TLBヒット)は、径路
1055によりTLBヒットしたことを出力制御部(1
056)へ伝達する。出力制御部(1056)では、ヒ
ットしたPTE内のデータフィールドのPPAが出力
(1057)され、物理アドレスを生成するために使用
される。同時に、ヒットしたPTE内のデータフィール
ドのN,ACがメモリ管理部の制御部へ出力される。N
ビットがセット(=1)されていると、生成された物理
アドレスでアクセスしたデータをキャッシュメモリに登
録しないような処理が実行される。ACビットは、生成
された物理アドレスを用いて実施されるアクセスに対す
る例外を検出するために使用される。
If the comparison result in any of the address comparators of the PTEs matches (TLB hit), the output control unit (1) reports that the TLB hit has occurred due to the path 1055.
056). In the output control unit (1056), the PPA of the hit data field in the PTE is output (1057) and used to generate a physical address. At the same time, N and AC of the data field in the hit PTE are output to the control unit of the memory management unit. N
If the bit is set (= 1), a process is executed so that data accessed at the generated physical address is not registered in the cache memory. The AC bit is used to detect an exception to the access performed using the generated physical address.

【0022】また、生成された物理アドレスを用いて実
施されるアクセスがライト処理である場合には、物理ペ
ージが変更されたことを示しており、この情報は径路
(1060)によりMビットをセットする処理が実施さ
れる。通常、OSは、物理ページを物理メモリからペー
ジアウトする場合に、Mビットがセットされていれば、
物理ページの内容を2次記憶に書き戻す処理を実施す
る。
If the access performed using the generated physical address is a write process, it indicates that the physical page has been changed, and this information is set by setting M bits by the path (1060). Is performed. Normally, when the physical page is paged out of the physical memory, if the M bit is set,
A process of writing back the contents of the physical page to the secondary storage is performed.

【0023】このようなTLBを用いた仮想記憶方式に
よるアドレス変換処理は、プロセッサコアからは命令フ
ェッチとオペランドアクセスで発生する。近年、プロセ
ッサの処理速度の向上は目覚しく、数100MHzで動
作するものが珍しくなくなってきた。
The address conversion processing based on the virtual memory system using the TLB occurs from the processor core by instruction fetch and operand access. In recent years, the processing speed of processors has been remarkably improved, and those operating at several hundred MHz are not uncommon.

【0024】これに対して、主記憶のアクセス速度は、
まだまだ遅く、プロセッサをウェイトさせることなく、
処理を連続的に実行するためには、キャッシュメモリや
内蔵メモリが用いられている。しかも、プロセッサパフ
ォーマンスの向上を目指して、これらキャッシュメモリ
や内蔵メモリの容量は、次第に大きくなる傾向にある。
そのため、プロセッサコアからの命令フェッチやオペラ
ンドアクセスでは、TLBでアドレス変換処理を行い、
かつ、キャッシュメモリや内蔵メモリアクセスを高速に
実行することが求められている。
On the other hand, the access speed of the main memory is
It's still late, without letting the processor wait,
In order to execute the processing continuously, a cache memory or a built-in memory is used. In addition, the capacities of these cache memories and built-in memories tend to gradually increase in order to improve processor performance.
Therefore, in the instruction fetch and operand access from the processor core, the address translation process is performed by TLB,
In addition, it is required to execute a cache memory or a built-in memory access at a high speed.

【0025】図6は、TLBでのアドレス変換処理と、
物理キャッシュメモリのリードアクセスを並列に実行す
る処理フローを示している。1010は、メモリ管理機
構であり、TLBを内蔵し高速にアドレス変換可能であ
る。1020は、キャッシュメモリであり、アドレス変
換後の物理アドレスでアクセスする。キャッシュメモリ
(1020)は、エントリを選択するためのデコード部
(1021)と、タグアドレスを保持するタグ部(10
22)と、エントリが有効であることを示す有効ビット
等を保持するモード部(1023)と、データを保持す
るデータ部(1024)と、アドレス比較器(102
5)と、出力制御部(1026)より構成されている。
FIG. 6 shows an address translation process in the TLB,
4 shows a processing flow for executing read access to a physical cache memory in parallel. Reference numeral 1010 denotes a memory management mechanism, which incorporates a TLB and is capable of high-speed address translation. Reference numeral 1020 denotes a cache memory, which is accessed using a physical address after the address conversion. The cache memory (1020) includes a decoding unit (1021) for selecting an entry and a tag unit (1010) for holding a tag address.
22), a mode part (1023) for holding a valid bit or the like indicating that the entry is valid, a data part (1024) for holding data, and an address comparator (102).
5) and an output control unit (1026).

【0026】データ部のサイズは、デコード部(102
1)に入力されるエントリアドレス(1004)と、1
エントリ内に登録されるブロックデータサイズを示すア
ドレス(1005)の合計サイズで決定される。例え
ば、ブロックサイズが16バイト(=24 )で、256
エントリ(=28 )である場合には、データ部のサイズ
(このブロックデータサイズとエントリサイズを掛け合
わせたサイズを、セットサイズと呼ぶ)は4kB(=2
12)となる。図6に示すキャッシュメモリの構成では、
セットサイズが仮想アドレスのページサイズよりも小さ
い値となっている。
The size of the data section is determined by the decoding section (102
The entry address (1004) input to 1) and 1
It is determined by the total size of the address (1005) indicating the block data size registered in the entry. For example, if the block size is 16 bytes (= 2 4 ) and 256
In the case of an entry (= 2 8 ), the size of the data portion (the size obtained by multiplying the block data size by the entry size is called a set size) is 4 kB (= 2
12 ) In the configuration of the cache memory shown in FIG.
The set size is smaller than the page size of the virtual address.

【0027】メモリ管理機構(1010)内のTLBへ
は、仮想アドレス(1000)の仮想ページアドレス
(1001)のみ入力されて、TLBヒット後に物理ペ
ージアドレス(1006)が出力される。キャッシュメ
モリ(1020)へは、ページ内オフセット(100
2)のアドレス(1004)がデコード部(1021)
へ出力され、キャッシュメモリ内の1エントリが選択さ
れる。選択されたタグアドレス(1027)は、モード
ビット(1029)と共にアドレス比較器(1025)
へ出力され、ページ内オフセットのアドレス(100
3)とメモリ管理機構からの出力である物理ページアド
レス(1006)と比較される。
Only the virtual page address (1001) of the virtual address (1000) is input to the TLB in the memory management mechanism (1010), and the physical page address (1006) is output after the TLB hit. The in-page offset (100
The address (1004) of 2) is the decoding unit (1021)
And one entry in the cache memory is selected. The selected tag address (1027) is added to the address comparator (1025) together with the mode bit (1029).
To the address of the offset within the page (100
3) is compared with the physical page address (1006) output from the memory management mechanism.

【0028】アドレス比較器(1025)での比較結果
が一致(キャッシュヒット)していれば、データ部で選
択された1エントリ内のブロックデータ(1028)が
出力制御部(1026)より出力される。アドレス比較
器(1025)での比較結果が不一致(キャッシュミ
ス)であれば、メモリ管理機構(1010)で生成され
た物理ページアドレス(1006)を用いて物理メモリ
のリードアクセスが引き続き実行される。
If the comparison result in the address comparator (1025) matches (cache hit), the block data (1028) in one entry selected in the data section is output from the output control section (1026). . If the comparison result in the address comparator (1025) does not match (cache miss), read access to the physical memory is continuously performed using the physical page address (1006) generated by the memory management mechanism (1010).

【0029】このように、キャッシュメモリのセットサ
イズが仮想アドレスのページサイズよりも小さい場合に
は、メモリ管理機構(1010)でのアドレス変換結果
で、キャッシュのエントリ選択のデコード処理を行う必
要がなく、高速に一連の処理を実行可能である。そのた
め、図6に示すような処理フローを実現するためには、
TLBで扱う最小ページサイズは、キャッシュメモリの
セットサイズよりも大きく設定する必要がある。
As described above, when the set size of the cache memory is smaller than the page size of the virtual address, it is not necessary to decode the entry selection of the cache based on the result of the address conversion by the memory management mechanism (1010). , A series of processes can be executed at high speed. Therefore, in order to realize the processing flow as shown in FIG.
The minimum page size handled by the TLB needs to be set larger than the set size of the cache memory.

【0030】しかしながら、キャッシュメモリの大容量
化に伴って、TLBでサポートする最小ページサイズが
大きくなる(例えば、32kBのキャッシュメモリを内
蔵した場合、4ウェイセットアソシアティブにしたとし
ても、1つのセットサイズは8kBとなる。これに伴っ
てTLBでサポートする最小ページサイズは8kBとな
る)と、緻密なメモリ管理に支障をきたす場合がでてき
た。例えば、キャッシュメモリと同一チップに汎用メモ
リ(SRAM,DRAM)を内蔵した場合、これら汎用
メモリに大きなページサイズを割り付けてしまうと、メ
モリの使用効率が落ちる場合がある。
However, as the capacity of the cache memory increases, the minimum page size supported by the TLB increases (for example, when a cache memory of 32 kB is built in, even if the 4-way set associative is used, one set size is required). Is 8 kB. Accordingly, the minimum page size supported by the TLB is 8 kB), which may hinder precise memory management. For example, when general-purpose memories (SRAM, DRAM) are built in the same chip as the cache memory, if a large page size is allocated to these general-purpose memories, the memory usage efficiency may decrease.

【0031】これら汎用メモリを内蔵する大きな理由
は、高速にメモリアクセスを実施するためであるから、
なるべく内蔵汎用メモリの使用効率を向上させてプロセ
ッサのパフォーマンスを向上させたい。そのため、キャ
ッシュメモリのセットサイズよりも小さいページサイズ
をTLBでサポートする機構が必要となってくる。
A major reason for incorporating these general-purpose memories is to perform high-speed memory access.
I want to improve the performance of the processor by improving the use efficiency of the built-in general-purpose memory as much as possible. Therefore, a mechanism that supports a page size smaller than the set size of the cache memory in the TLB is required.

【0032】図7は、キャッシュメモリのセットサイズ
よりも小さいページサイズの仮想アドレスで、アドレス
変換とキャッシュメモリのリードアクセスを行う場合の
処理フローである。キャッシュメモリ(1020)の構
成は、図6で示すものと全く同じである。エントリを指
定するアドレス(1004)と、ブロックデータサイズ
を指定するアドレス(1005)の合計が、仮想アドレ
スのページサイズを示すページ内オフセット(100
2)を超えており、この超えたアドレス(1008)が
メモリ管理機構(1011)内のTLBでのアドレス変
換対象となる。
FIG. 7 is a processing flow in the case where address conversion and read access to the cache memory are performed with a virtual address having a page size smaller than the set size of the cache memory. The configuration of the cache memory (1020) is exactly the same as that shown in FIG. The sum of the address (1004) for specifying the entry and the address (1005) for specifying the block data size is the offset within the page (100) indicating the page size of the virtual address.
2), and the address (1008) exceeding the address becomes a target of address conversion in the TLB in the memory management mechanism (1011).

【0033】このため、キャッシュメモリ(1020)
のエントリを選択するためのデコード部(1021)へ
は、メモリ管理機構(1011)からの出力である物理
ページアドレス(1006)の一部(1009)を入力
する必要がある。このように、メモリ管理機構(101
1)でアドレス変換した後にしか、キャッシュメモリの
エントリ選択のデコード処理を開始することができず、
結果的に処理速度の低下を招くことになる。
For this reason, the cache memory (1020)
It is necessary to input a part (1009) of the physical page address (1006) output from the memory management mechanism (1011) to the decoding unit (1021) for selecting the entry of (1). Thus, the memory management mechanism (101
Only after the address conversion in 1), the decoding process for selecting an entry in the cache memory can be started.
As a result, the processing speed is reduced.

【0034】[0034]

【発明が解決しようとする課題】この発明は、キャッシ
ュメモリと汎用メモリを内蔵したシステムLSIにおい
て、内蔵した汎用メモリの使用効率を向上させることを
目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to improve the efficiency of use of a built-in general-purpose memory in a system LSI having a cache memory and a general-purpose memory.

【0035】[0035]

【課題を解決するための手段】この発明に係るメモリ管
理方式は、主記憶装置とキャッシュメモリとを有するプ
ロセッサに備えられ、入力された仮想ページアドレスを
置換した物理ページアドレスを用いてプロセッサが主記
憶装置を参照する際に仮想ページアドレスを物理ページ
アドレスへ置換するメモリ管理方式において、仮想ペー
ジアドレスを入力し、入力された仮想ページアドレスを
置換した物理ページアドレスによって特定されるページ
のページサイズと上記キャッシュメモリのサイズとを比
較し、比較した結果に基づいて、上記物理ページアドレ
スによって特定されるページをキャッシュメモリへ登録
するか否かを指示するノンキャッシャブル制御部を備え
たことを特徴とする。
A memory management system according to the present invention is provided in a processor having a main storage device and a cache memory, and the processor mainly uses a physical page address obtained by replacing an input virtual page address. In a memory management method in which a virtual page address is replaced with a physical page address when referring to a storage device, a virtual page address is input, and a page size of a page specified by the physical page address obtained by replacing the input virtual page address and Comparing the size of the cache memory with a non-cacheable control unit for instructing whether to register the page specified by the physical page address in the cache memory based on the comparison result. I do.

【0036】上記ノンキャッシャブル制御部は、上記物
理ページアドレスによって特定されるページのページサ
イズが上記キャッシュメモリのサイズより小さい場合
に、上記物理ページアドレスによって特定されるページ
をキャッシュメモリへ登録しないことを指示することを
特徴とする。
The non-cacheable control unit does not register the page specified by the physical page address in the cache memory when the page size of the page specified by the physical page address is smaller than the size of the cache memory. Is indicated.

【0037】上記メモリ管理方式は、さらに、仮想ペー
ジアドレスと、上記仮想ページアドレスに対応する物理
ページアドレスと、上記物理ページアドレスによって特
定されるページのページサイズを示すページサイズデー
タと、上記物理ページアドレスによって特定されるペー
ジをキャッシュメモリへ登録するか登録しないかを指定
する値を示すノンキャッシャブルデータとを記憶するペ
ージ表エントリを備え、上記ノンキャッシャブル制御部
は、上記ページサイズデータが上記キャッシュメモリの
サイズよりも小さいことを示す値である場合に、登録し
ないことを指定する値を上記ノンキャッシャブルデータ
へ設定することを特徴とする。
The memory management method further includes a virtual page address, a physical page address corresponding to the virtual page address, page size data indicating a page size of a page specified by the physical page address, A non-cacheable data indicating a value specifying whether to register or not register the page specified by the address in the cache memory; and a non-cacheable control unit, wherein the non-cacheable control unit stores When the value indicates that the size is smaller than the size of the cache memory, a value designating not to be registered is set in the non-cacheable data.

【0038】上記プロセッサは、さらに、キャッシュメ
モリを管理するメモリ管理制御部を備え、上記ノンキャ
ッシャブル制御部は、さらに、上記物理ページアドレス
によって特定されるページのページサイズと上記キャッ
シュメモリのサイズとを比較し、比較した結果に基づい
て、物理ページアドレスによって特定されるページをキ
ャッシュメモリへ登録するか登録しないかを指示する信
号を上記メモリ管理制御部へ出力する登録データチェッ
ク部を備えたことを特徴とする。
[0038] The processor further includes a memory management control unit that manages a cache memory. The non-cacheable control unit further includes a page size of a page specified by the physical page address and a size of the cache memory. And a registration data check unit for outputting to the memory management control unit a signal indicating whether to register the page specified by the physical page address in the cache memory or not based on the result of the comparison. It is characterized by.

【0039】上記登録データチェック部は、上記物理ペ
ージアドレスによって特定されるページのページサイズ
が上記キャッシュメモリのサイズより小さい場合に、物
理ページアドレスによって特定されるページをキャッシ
ュメモリへ登録しないことを指示する信号を上記メモリ
管理制御部へ出力することを特徴とする。
The registration data check unit instructs not to register the page specified by the physical page address in the cache memory when the page size of the page specified by the physical page address is smaller than the size of the cache memory. And outputting a signal to the memory management control unit.

【0040】[0040]

【発明の実施の形態】実施の形態1.本発明の内蔵メモ
リ向けメモリ管理方式では、キャッシュメモリと汎用メ
モリを内蔵するシステムLSIにおいて、内蔵汎用メモ
リ等の使用効率を向上させるために、キャッシュメモリ
のセットサイズよりも小さいページサイズをTLBでサ
ポートする機構に関するものである。セットサイズは、
キャッシュメモリのサイズ(キャッシュメモリのデータ
部のサイズ)を示し、具体的には、ブロックデータサイ
ズとエントリ数の積の値である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 In the memory management method for the built-in memory of the present invention, in a system LSI having a built-in cache memory and a general-purpose memory, a TLB supports a page size smaller than the set size of the cache memory in order to improve the use efficiency of the built-in general-purpose memory. It is related to the mechanism that performs. The set size is
It indicates the size of the cache memory (the size of the data portion of the cache memory), and is specifically a value of the product of the block data size and the number of entries.

【0041】図1に、この実施の形態の内蔵メモリ向け
メモリ管理機構(メモリ管理方式)の一例を示す。10
0は、この実施の形態のシステムLSIである。102
0は、システムLSIに内蔵されるキャッシュメモリで
あり、図6,図7に示す従来のキャッシュメモリと同じ
構成のものである。キャッシュメモリ(1020)内の
データ部(1024)のサイズ(セットサイズ)は、4
kBである。103は、システムLSIに内蔵される3
2kBの内蔵メモリである。110は、内蔵メモリ内の
ページマッピング状態を示している。
FIG. 1 shows an example of a memory management mechanism (memory management system) for a built-in memory according to this embodiment. 10
0 is a system LSI of this embodiment. 102
Reference numeral 0 denotes a cache memory built in the system LSI, which has the same configuration as the conventional cache memory shown in FIGS. The size (set size) of the data part (1024) in the cache memory (1020) is 4
kB. 103 is a 3 built-in system LSI.
2 kB internal memory. Reference numeral 110 denotes a page mapping state in the internal memory.

【0042】101は、この実施の形態のメモリ管理機
構(メモリ管理方式)であり、TLB(1)とメモリ管
理制御部(30)より構成されている。TLB(1)
は、タグフィールド(3)とデータフィールド(4)を
内蔵している。さらに、TLB(1)には、ノンキャッ
シャブル制御部(11)が内蔵されている。
Reference numeral 101 denotes a memory management mechanism (memory management system) according to this embodiment, which comprises a TLB (1) and a memory management control unit (30). TLB (1)
Has a tag field (3) and a data field (4). Furthermore, the TLB (1) has a built-in non-cacheable control unit (11).

【0043】ノンキャッシャブル制御部(11)は、仮
想ページアドレスを入力し、入力された仮想ページアド
レスを置換した物理ページアドレスによって特定される
ページのページサイズとキャッシュメモリのサイズ(セ
ットサイズ)とを比較し、比較した結果に基づいて、物
理ページアドレスによって特定されるページをキャッシ
ュメモリへ登録するか否かを指示する。
The non-cacheable control unit (11) inputs a virtual page address, and sets the page size of the page specified by the physical page address obtained by replacing the input virtual page address, the size of the cache memory (set size), and the like. And instructs, based on the result of the comparison, whether to register the page specified by the physical page address in the cache memory.

【0044】メモリ管理制御部(30)では、TLBの
メインテナンスをするTLBメインテナンス部(3
1)、キャッシュメモリ(1020)へのアクセスを制
御するキャッシュアクセス制御部(32)、内蔵メモリ
を制御する内蔵メモリ制御部(33)、例外を検出する
例外検出部(34)等の各種制御を行う構成要素を含
む。
In the memory management control unit (30), a TLB maintenance unit (3
1) various controls such as a cache access control unit (32) for controlling access to the cache memory (1020), a built-in memory control unit (33) for controlling the built-in memory, and an exception detection unit (34) for detecting an exception. Includes components to perform.

【0045】102は、システムLSI(100)と外
部メモリ(104)間のデータアクセスを司るバスイン
ターフェイスユニット(BIF)である。104は、外
部メモリ(外部物理メモリ)であり、111は、外部メ
モリ内のページマッピング状態を示している。105
は、ハードディスク等の2次記憶装置を示している。
Reference numeral 102 denotes a bus interface unit (BIF) for controlling data access between the system LSI (100) and the external memory (104). Reference numeral 104 denotes an external memory (external physical memory), and reference numeral 111 denotes a page mapping state in the external memory. 105
Indicates a secondary storage device such as a hard disk.

【0046】次に、プロセッサコア(システムLSIに
内蔵されている。図1では記載していない)から起動さ
れるメモリのリードアクセス処理について説明する。プ
ロセッサコアからのメモリアクセスは、仮想アドレスで
メモリ管理機構(101)に対して出力される。メモリ
管理機構(101)では、入力された仮想アドレスをT
LB(1)でアドレス変換し(TLBヒットの場合)、
物理アドレスを生成する。生成された物理アドレスは、
バス(120)を通してメモリ管理機構(101)から
キャッシュメモリ(1020)へ出力される。これに対
して、キャッシュヒットかミスかを判定する信号(12
1)が返される。
Next, a description will be given of a memory read access process started from a processor core (built-in to the system LSI; not shown in FIG. 1). The memory access from the processor core is output to the memory management mechanism (101) at a virtual address. In the memory management mechanism (101), the input virtual address is
The address is converted by LB (1) (in the case of a TLB hit),
Generate a physical address. The generated physical address is
The data is output from the memory management mechanism (101) to the cache memory (1020) through the bus (120). On the other hand, a signal (12
1) is returned.

【0047】キャッシュヒットの場合は、キャッシュメ
モリより読み出されたターゲットデータがバス(12
2)を通してメモリ管理機構に転送される。そして、メ
モリ管理機構(101)からプロセッサコアにターゲッ
トデータが転送されて、プロセッサコアから起動された
メモリアクセス処理は完了する。
In the case of a cache hit, the target data read from the cache memory is
Transferred to the memory management mechanism through 2). Then, the target data is transferred from the memory management mechanism (101) to the processor core, and the memory access process started from the processor core is completed.

【0048】キャッシュミスの場合は、バス(123)
を通して物理アドレスが内蔵メモリ(103)とBIF
(102)へ出力される。この物理アドレスが内蔵メモ
リ内を指していれば、バス(124)を通してターゲッ
トデータが出力される。このターゲットデータは、バス
(126)を通じてメモリ管理機構(101)に入力さ
れる。そして、プロセッサコアに転送されて一連のメモ
リアクセス処理は完了する。
In the case of a cache miss, the bus (123)
Physical address through built-in memory (103) and BIF
Output to (102). If the physical address points in the internal memory, the target data is output through the bus (124). This target data is input to the memory management mechanism (101) via the bus (126). Then, the data is transferred to the processor core, and a series of memory access processing is completed.

【0049】この物理アドレスが内蔵メモリ内を指して
いなければ、BIF(102)はバス(130)を通し
て、外部メモリに対して物理アドレスを出力し、バス
(131)を通してターゲットデータを外部メモリより
得る。そして、BIF(102)はバス(125)、バ
ス(126)を通してターゲットデータをメモリ管理機
構に転送する。そして、プロセッサコアに転送されて一
連のメモリアクセス処理は完了する。
If the physical address does not point in the internal memory, the BIF (102) outputs the physical address to the external memory through the bus (130), and obtains the target data from the external memory through the bus (131). . Then, the BIF (102) transfers the target data to the memory management mechanism through the bus (125) and the bus (126). Then, the data is transferred to the processor core, and a series of memory access processing is completed.

【0050】このターゲットデータがキャッシング対象
であれば、メモリ管理機構(101)はバス(127)
を通してキャッシュメモリ(1020)に、アクセスで
用いた物理アドレスとターゲットデータをキャッシュメ
モリ(1020)へ登録する。以上、プロセッサコアか
ら起動されるメモリアクセスでTLBヒットする場合に
ついて説明した。
If the target data is to be cached, the memory management mechanism (101) sets the bus (127)
The physical address and the target data used in the access are registered in the cache memory (1020) through the cache memory (1020). The case where a TLB hit occurs due to memory access started from the processor core has been described above.

【0051】一方、メモリアクセスでTLBミスした場
合は、OSは物理メモリ上で管理しているページ表から
アドレス変換対象のページ表エントリを取ってきてTL
Bに登録し、メモリアクセスを再実行する。メモリアク
セスでTLBミスし、かつ、ページ表内にもアドレス変
換対象のページ表エントリが存在しない場合は、2次記
憶(105)から物理メモリへ対象ページを取り込む処
理(ページイン)が必要となる。
On the other hand, when a TLB miss occurs due to memory access, the OS fetches a page table entry for address translation from the page table managed on the physical memory, and executes the TL.
B and re-execute the memory access. If a TLB miss occurs due to a memory access and there is no page table entry for address conversion in the page table, a process (page-in) of loading the target page from the secondary storage (105) into the physical memory is required. .

【0052】前述したTLBに新規にページ表エントリ
を登録する処理や、物理メモリに新規に対象ページを取
り込む処理において、余分な領域が存在しない場合に
は、それぞれリプレース処理や、ページアウト処理が必
要となる。これらTLBミス時の各種処理に関しては、
本発明と本質的に関係ないので詳細な説明を省略する。
In the above-described processing for registering a new page table entry in the TLB and processing for newly loading a target page in the physical memory, if there is no extra area, replacement processing and page-out processing are required, respectively. Becomes Regarding these various processes at the time of TLB mistake,
Detailed description is omitted because it is not essential to the present invention.

【0053】メモリ管理機構(101)内のノンキャッ
シャブル制御部(11)や各制御(30)機構は、キャ
ッシュメモリ(1020)のデータ部のサイズであるセ
ットサイズ(図1のキャッシュメモリ(1020)で
は、セットサイズが4kBである)よりも小さいページ
を扱う場合に必要となる。外部メモリよりも小容量であ
るが、プロセッサコアから高速アクセスが可能である内
蔵メモリは、110のページマッピング例に示すよう
に、1kBのように小ページを扱えた方が、より多くの
ページを内蔵メモリ上に格納しておくことが可能とな
り、メモリの使用効率が向上する。
The non-cacheable control unit (11) and each control (30) mechanism in the memory management mechanism (101) have a set size (the cache memory (1020) in FIG. 1) which is the size of the data section of the cache memory (1020). ) Is required when dealing with pages smaller than (the set size is 4 kB). The internal memory, which has a smaller capacity than the external memory but can be accessed at a high speed from the processor core, can handle more pages as small as 1 kB, as shown in the page mapping example of 110. It is possible to store the data on the built-in memory, and the use efficiency of the memory is improved.

【0054】しかし、図6の従来例で示したように、T
LBアドレス変換とキャッシュメモリアクセスを並行し
て行う構成では、キャッシュメモリのセットサイズより
も小さいページを扱うことが不可能である。そこで、本
発明では内蔵メモリでキャッシュメモリのセットサイズ
よりも小さいページを扱う場合には、このページを強制
的にノンキャッシャブル領域とするような制御機構とし
てノンキャッシャブル制御部(11)を設けている。
However, as shown in the conventional example of FIG.
In a configuration in which LB address conversion and cache memory access are performed in parallel, it is impossible to handle a page smaller than the set size of the cache memory. Therefore, in the present invention, when a page smaller than the set size of the cache memory is handled in the built-in memory, a non-cacheable control unit (11) is provided as a control mechanism for forcibly setting this page to a non-cacheable area. ing.

【0055】図2に、本発明の内蔵メモリ向けメモリ管
理機構の一例を示す。1は、図5と同様なフルセットア
ソシアティブ方式(仮想アドレスの一部をデコードして
エントリ選択を実施せず、TLB内のエントリ毎に内蔵
した比較器のヒットミスによりエントリの選択を実施す
る構成)のTLBである。TLB(1)は、0〜Nセッ
トのページテーブルエントリ(PTE)(2−0〜N)
より構成されている。各PTEには、図4に示すページ
表内のページ表エントリのコピーを持つことが可能であ
る。各PTEは、タグフィールド(3)とデータフィー
ルド(4)とアドレス比較器(5)より構成されてい
る。
FIG. 2 shows an example of a memory management mechanism for a built-in memory according to the present invention. Reference numeral 1 denotes a full set associative method similar to that shown in FIG. 5 (a configuration in which a part of a virtual address is not decoded and entry selection is performed, but an entry is selected by hit / miss of a built-in comparator for each entry in the TLB ) TLB. TLB (1) is a set of page table entries (PTE) (2-0 to N) of 0 to N sets
It is composed of Each PTE can have a copy of the page table entry in the page table shown in FIG. Each PTE includes a tag field (3), a data field (4), and an address comparator (5).

【0056】タグフィールド(3)は、以下の2フィー
ルド(j)〜(k)より構成されている。 (j)VPA[31:10]:Virtual Pag
e Address(仮想ページアドレス) (k)ASID:Address Space ID
(アドレス空間ID)OSは、プロセス毎にASIDを
管理することにより多重仮想アドレス空間を実現する。
The tag field (3) is composed of the following two fields (j) to (k). (J) VPA [31:10]: Virtual Page
e Address (virtual page address) (k) ASID: Address Space ID
(Address space ID) The OS realizes a multiple virtual address space by managing the ASID for each process.

【0057】また、データフィールド(4)は、以下の
7フィールド(l)〜(r)より構成されている。 (l)PPA[31:10]:Physical Pa
ge Address(物理ページアドレス) 最小ページである4kBサイズに対応した物理ページア
ドレスを保持。PZフィールドで示されるページサイズ
に応じて、使用サイズが変更される。 1kBページ:PPA[31:10]全て使用 4kBページ:PPA[11:10]を不使用 16kBページ:PPA[13:10]を不使用 64kBページ:PPA[15:10]を不使用
The data field (4) is composed of the following seven fields (l) to (r). (1) PPA [31:10]: Physical Pa
“ge Address” (physical page address) The physical page address corresponding to the minimum page size of 4 kB is held. The used size is changed according to the page size indicated by the PZ field. 1 kB page: not using PPA [31:10] all 4 kB page: not using PPA [11:10] 16 kB page: not using PPA [13:10] 64 kB page: not using PPA [15:10]

【0058】(m)N:Non Cachable A
rea bit(ノンキャッシャブルビット) 0=キャッシング可能領域 1=キャッシング不可領域 (n)AC[2:0]:Access Control
bits(アクセス制御ビット) AC[2]:0=リードアクセス可能、1=リードアク
セス不可 AC[1]:0=ライトアクセス可能、1=ライトアク
セス不可 AC[0]:0=実行可能、1=実行不可
(M) N: Non Cacheable A
rear bit (non-cacheable bit) 0 = cacheable area 1 = cacheable area (n) AC [2: 0]: Access Control
bits (access control bits) AC [2]: 0 = Read accessible, 1 = Read unavailable AC [1]: 0 = Write accessible, 1 = Write disabled AC [0]: 0 = Executable, 1 = Not executable

【0059】(o)PZ[1:0]:Page siz
e bits(ページサイズビット) 00=1kBサイズ 01=4kBサイズ 10=16kBサイズ 11=64kBサイズ (p)M:Modify bit(変更ビット) 0=ライトアクセス未発生 1=ライトアクセス発生
(O) PZ [1: 0]: Page siz
e bits (page size bit) 00 = 1 kB size 01 = 4 kB size 10 = 16 kB size 11 = 64 kB size (p) M: Modify bit (change bit) 0 = no write access occurred 1 = write access occurred

【0060】(q)G:Global Page bi
t(グローバル・ページビット) 0=ローカル・ページ 1=グローバル・ページ (r)V:Entry Valid bit(有効ビッ
ト) 0=無効エントリ 1=有効エントリ
(Q) G: Global Page bi
t (global page bit) 0 = local page 1 = global page (r) V: Entry Valid bit (valid bit) 0 = invalid entry 1 = valid entry

【0061】各PTE内のアドレス比較器(5)は、プ
ログラムで発生したメモリアクセス先の仮想ページに対
するページ表エントリが、TLBに登録されているかど
うかをチェックするためのものである。アドレス比較器
(5)には、現在実行のプロセスに対するASIDと、
このプロセスで発生したメモリアクセスに対する仮想ペ
ージアドレスが径路20より入力されている。さらに、
タグフィールド(3)のVPA,ASIDと、データフ
ィールド(4)のPZ,G,Vが入力されている。
The address comparator (5) in each PTE is for checking whether a page table entry for a virtual page of a memory access destination generated by a program is registered in the TLB. The address comparator (5) has an ASID for the currently executing process,
The virtual page address for the memory access generated in this process is input from the path 20. further,
VPA and ASID of the tag field (3) and PZ, G and V of the data field (4) are input.

【0062】径路20からの仮想ページアドレスとタグ
フィールド(3)のVPAの比較(「比較C」とする)
は、PZによるページサイズに基づいて実施する。ま
た、径路20からのASIDとタグフィールド(3)の
ASIDの比較(「比較D」とする)は、Gビットが0
の時のみ有効とする。これら比較C、比較Dの結果は、
Vビットが1の時のみ有効であり、Vビットが0であれ
ば無条件で比較結果は不一致となる。
Comparison of virtual page address from path 20 and VPA of tag field (3) (referred to as “comparison C”)
Is performed based on the page size by PZ. The comparison between the ASID from the path 20 and the ASID of the tag field (3) (referred to as “comparison D”) is as follows.
Valid only when. The results of Comparison C and Comparison D are as follows:
It is valid only when the V bit is 1, and if the V bit is 0, the comparison result unconditionally does not match.

【0063】全てのPTEのアドレス比較器において、
比較結果が一致しなかった場合(TLBミス)は、径路
6によりTLBミスが発生したことが例外検出機構に伝
達される。例外検出機構では、TLBミスに伴う例外処
理が必要であることをプロセッサコアに伝達する。TL
Bミスは、仮想ページに対するページ表エントリがTL
Bに登録されていないことを意味する。そのため、この
例外処理ルーチンでは、TLBミスを起こしたページ表
エントリを径路(9)からTLBへ登録するための一連
の処理を行い、メモリアクセスを再実行するためにTL
Bミスを発生した命令へ戻る処理を行う。
In all PTE address comparators,
If the comparison results do not match (TLB miss), the fact that a TLB miss has occurred through the path 6 is transmitted to the exception detection mechanism. The exception detection mechanism informs the processor core that exception handling due to a TLB miss is required. TL
B miss indicates that the page table entry for the virtual page is TL
B means not registered. Therefore, in this exception handling routine, a series of processes for registering the page table entry in which the TLB miss has occurred from the path (9) to the TLB are performed, and the TL is used for re-executing the memory access.
A process for returning to the instruction in which the B miss has occurred is performed.

【0064】いずれかのPTEのアドレス比較器におい
て、比較結果が一致した場合(TLBヒット)は、径路
6によりTLBヒットしたことを出力制御部(7)へ伝
達する。出力制御部(7)では、ヒットしたPTE内の
データフィールドのPPAが出力(8)され、物理アド
レスを生成するために使用される。同時に、ヒットした
PTE内のデータフィールドのN,ACがメモリ管理部
の制御部へ出力される。Nビットがセット(=1)され
ていると、生成された物理アドレスでアクセスしたデー
タをキャッシュメモリに登録しないような処理が実行さ
れる。ACビットは、生成された物理アドレスを用いて
実施されるアクセスに対する例外を検出するために使用
される。
If the comparison result of any of the address comparators of the PTEs matches (TLB hit), the fact that the TLB hit has occurred through the path 6 is transmitted to the output control unit (7). In the output control unit (7), the PPA of the data field in the hit PTE is output (8) and used to generate a physical address. At the same time, N and AC of the data field in the hit PTE are output to the control unit of the memory management unit. If the N bit is set (= 1), a process is performed so that data accessed with the generated physical address is not registered in the cache memory. The AC bit is used to detect an exception to the access performed using the generated physical address.

【0065】また、生成された物理アドレスを用いて実
施されるアクセスがライト処理である場合には、物理ペ
ージが変更されたことを示しており、この情報は径路
(10)によりMビットをセットする処理が実施され
る。通常、OSは、物理ページを物理メモリからページ
アウトする場合に、Mビットがセットされていれば、物
理ページの内容を2次記憶に書き戻す処理を実施する。
If the access performed using the generated physical address is a write process, it indicates that the physical page has been changed, and this information sets M bits according to the path (10). Is performed. Normally, when the physical page is paged out of the physical memory, if the M bit is set, the OS performs a process of writing back the contents of the physical page to the secondary storage.

【0066】さらに、この実施の形態のTLB(1)で
は、PTE内のデータフィールド(4)のPZ値が00
の場合、即ち、1kBサイズのページを扱う場合には、
NOR回路(14)がHighとなりOR回路(15)
に入力されるため、ノンキャッシャブルビットNの値に
依らず、強制的にノンキャッシャブル信号(12)がH
ighとなり、このページはノンキャッシャブル領域と
して制御される。
Further, in the TLB (1) of this embodiment, the PZ value of the data field (4) in the PTE is 00
, That is, when handling a page of 1 kB size,
The NOR circuit (14) becomes High and the OR circuit (15)
, The non-cacheable signal (12) is forcibly set to H regardless of the value of the non-cacheable bit N.
high, and this page is controlled as a non-cacheable area.

【0067】このようなノンキャッシャブル制御部(1
1)を設けることにより、OSはページサイズがキャッ
シュメモリのセットサイズよりも小さいかどうかを意識
すること無く、1kBサイズのページを扱うことが可能
となり、貴重な内蔵メモリ資源の使用効率を向上させる
ことが可能となる。
The non-cacheable control unit (1
By providing 1), the OS can handle a page of 1 kB size without being conscious of whether the page size is smaller than the set size of the cache memory, thereby improving the use efficiency of valuable internal memory resources. It becomes possible.

【0068】実施の形態2.この実施の形態では、ノン
キャッシャブル制御部(11)に、登録データチェック
部(35)を備えた場合を説明する。図3に、この実施
の形態の内蔵メモリ向けメモリ管理機構の一例を示す。
Embodiment 2 In this embodiment, a case will be described in which the non-cacheable control unit (11) includes a registration data check unit (35). FIG. 3 shows an example of a memory management mechanism for a built-in memory according to this embodiment.

【0069】1は、TLBであり、図2に示すTLBと
同一番号で示しているブロックは、同一の処理を行う。
図3に示す本発明の内蔵メモリ向けメモリ管理機構で
は、OSが図4に示すページ表エントリをTLB(1)
内のPTE(2−0〜N)に径路(9)を通じて登録す
る際に、キャッシュメモリのセットサイズよりも小さい
ページ(PZ=00)を、ノンキャッシャブルビットを
立てることなく(N=0の状態)、登録しようとした場
合に、登録データをチェックするための機構として登録
データチェック部(35)を通じて、登録処理を行うよ
うになっている。
Reference numeral 1 denotes a TLB. Blocks indicated by the same numbers as those of the TLB shown in FIG. 2 perform the same processing.
In the memory management mechanism for a built-in memory of the present invention shown in FIG. 3, the OS stores the page table entry shown in FIG.
Page (PZ = 00) smaller than the set size of the cache memory without setting the non-cacheable bit (N = 0) when registering in the PTE (2-0 to N) in the path (9). State), when registration is attempted, registration processing is performed through a registration data check unit (35) as a mechanism for checking registration data.

【0070】登録データチェック部(35)は、物理ペ
ージアドレスによって特定されるページのページサイズ
がキャッシュメモリのサイズ(セットサイズ)より小さ
い場合に、物理ページアドレスによって特定されるペー
ジをキャッシュメモリへ登録しないことを指示する信号
をメモリ管理制御部(30)の例外検出部(34)へ出
力する。
When the page size of the page specified by the physical page address is smaller than the cache memory size (set size), the registration data check unit (35) registers the page specified by the physical page address in the cache memory. A signal instructing not to be output is output to the exception detection unit (34) of the memory management control unit (30).

【0071】この実施の形態では、登録データチェック
部(35)は、PZ=00とN=0の組み合わせの時
に、OSがPTE登録を実施しようとした場合には、例
外として認識し、メモリ管理制御部(30)の例外検出
機構に信号(36)で伝達する。また、登録データチェ
ック部(35)がPZ=00とN=0の組み合わせの時
に、OSがPTE登録を実施しようとした場合には、強
制的にN=1に変更してから、PZ=00とN=1の組
み合わせでPTE登録を実施するように設定することも
できる。このような登録データチェック部(35)を設
けることにより、OSはページサイズがキャッシュメモ
リのセットサイズよりも小さいかどうかを意識すること
無く、1kBサイズのページを扱うことが可能となり、
貴重な内蔵メモリ資源の使用効率を向上させることが可
能となる。
In this embodiment, the registration data check unit (35) recognizes, as an exception, if the OS attempts to perform PTE registration when PZ = 00 and N = 0, the memory management A signal (36) is transmitted to the exception detection mechanism of the control unit (30). If the OS attempts to perform PTE registration when the registration data check unit (35) has a combination of PZ = 00 and N = 0, it is forcibly changed to N = 1 and then PZ = 00. And N = 1 can be set to perform PTE registration. By providing such a registration data check unit (35), the OS can handle a page of 1 kB size without being conscious of whether the page size is smaller than the set size of the cache memory.
It is possible to improve the use efficiency of the valuable internal memory resources.

【0072】実施の形態3.上記実施の形態では、ノン
キャッシャブル制御部(11)が、PZ(ページサイズ
ビット)がセットサイズ(キャッシュメモリのサイズ)
よりも小さい場合に、物理ページアドレスによって特定
されるページを強制的にキャッシュメモリへの登録対象
外とすることについて説明したが、これに限られること
はない。ノンキャッシャブル制御部(11)は、PZと
セットサイズとを比較し、比較した結果に基づいて、ノ
ンキャッシャブルビット(N)を設定することができ
る。
Embodiment 3 In the above embodiment, the non-cacheable control unit (11) sets the PZ (page size bit) to the set size (cache memory size).
The case where the page specified by the physical page address is forcibly excluded from the registration target in the cache memory when the size is smaller than the above is described. However, the present invention is not limited to this. The non-cacheable control unit (11) can compare the PZ with the set size and set the non-cacheable bit (N) based on the result of the comparison.

【0073】また、ノンキャッシャブル制御部(11)
は、ノンキャッシャブルビット(N)を設定することに
限られず、キャッシュメモリへの登録を制御する機構を
用いることによって、キャッシュメモリへの登録を制御
してもかまわない。
The non-cacheable control unit (11)
Is not limited to setting the non-cacheable bit (N), and the registration in the cache memory may be controlled by using a mechanism for controlling the registration in the cache memory.

【0074】同様に、実施の形態3で説明した登録デー
タチェック部(35)についても、PZがセットサイズ
よりも小さい場合に限られることなく、PZとセットサ
イズとを比較し、比較した結果に基づいて、信号36を
出力するようにしてもよい。また、信号36も、物理ペ
ージアドレスによって特定されるページがキャッシュメ
モリへの登録対象外とする信号に限られず、この他の意
味を有する信号を出力するようにしてもかまわない。
Similarly, the registration data check unit (35) described in the third embodiment also compares the PZ with the set size without being limited to the case where the PZ is smaller than the set size. Based on this, the signal 36 may be output. Also, the signal 36 is not limited to a signal whose page specified by the physical page address is not to be registered in the cache memory, and may output a signal having another meaning.

【0075】実施の形態4.上記実施の形態1では、図
1及び図2において、ノンキャッシャブル制御部(1
1)は、TLB(1)の内部にある場合を説明した。し
かしながら、ノンキャッシャブル制御部(11)は、T
LBの外部にあってもかまわない。ノンキャッシャブル
制御部(11)は、メモリ管理機構(101)内に存在
するものであればよい。
Embodiment 4 In the first embodiment, the non-cacheable control unit (1
1) has described the case where it is inside the TLB (1). However, the non-cacheable control unit (11)
It may be outside the LB. The non-cacheable control unit (11) only needs to exist in the memory management mechanism (101).

【0076】また、同様に、実施の形態2の図3におい
て、ノンキャッシャブル制御部(11)の一例として示
した登録データチェック部(35)についても、TLB
(1)の外部にある場合であってもかまわない。登録デ
ータチェック部(35)も、メモリ管理機構(101)
内に存在するものであればよい。
Similarly, in FIG. 3 of the second embodiment, the registered data check unit (35) shown as an example of the non-cacheable control unit (11) also has a TLB.
It may be outside of (1). The registration data check unit (35) is also a memory management mechanism (101)
What is necessary is just to exist within.

【0077】[0077]

【発明の効果】この発明によれば、キャッシュメモリへ
の物理ページの登録を制御することができる。
According to the present invention, registration of a physical page in a cache memory can be controlled.

【0078】この発明によれば、キャッシュメモリへの
物理ページの登録を強制的に中止することによって、ペ
ージサイズを意識することなく、ページを取り扱うこと
が可能になるとともに、記憶領域の使用効率を向上させ
ることができる。
According to the present invention, by forcibly stopping the registration of the physical page in the cache memory, the page can be handled without being aware of the page size, and the use efficiency of the storage area can be reduced. Can be improved.

【0079】この発明によれば、物理ページサイズをチ
ェックし、キャッシュメモリへの物理ページの登録を制
御する信号によって、OSは、ページサイズを意識する
ことなく、ページを取り扱うことが可能になるととも
に、記憶領域の使用効率を向上させることができる。
According to the present invention, the signal that checks the physical page size and controls the registration of the physical page in the cache memory enables the OS to handle the page without being aware of the page size. Thus, the use efficiency of the storage area can be improved.

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

【図1】 この実施の形態の仮想記憶方式における仮想
アドレス変換方式を説明する構成図。
FIG. 1 is a configuration diagram illustrating a virtual address translation method in a virtual storage method according to an embodiment.

【図2】 この実施の形態のノンキャッシャブル制御部
をTLBに追加した構成の一例を表わす図。
FIG. 2 is a diagram illustrating an example of a configuration in which a non-cacheable control unit according to the embodiment is added to a TLB.

【図3】 この実施の形態の登録データチェック部をT
LBへ追加した構成の一例を表わす図。
FIG. 3 shows a registration data check unit of this embodiment as T
The figure showing an example of the structure added to LB.

【図4】 従来の仮想記憶方式における仮想アドレス変
換方式を説明する構成図。
FIG. 4 is a configuration diagram illustrating a virtual address translation method in a conventional virtual storage method.

【図5】 従来の仮想記憶方式におけるTLBの一例を
示す図。
FIG. 5 is a diagram showing an example of a TLB in a conventional virtual storage system.

【図6】 従来の仮想記憶方式における仮想アドレス変
換方式を説明する構成図。
FIG. 6 is a configuration diagram illustrating a virtual address translation method in a conventional virtual storage method.

【図7】 従来の仮想記憶方式における仮想アドレス変
換方式を説明する構成図。
FIG. 7 is a configuration diagram illustrating a virtual address translation method in a conventional virtual storage method.

【符号の説明】[Explanation of symbols]

1 TLB、2,2−0〜n PTE、3 タグフィー
ルド、4 データフィールド、5 アドレス比較器、
6,9,10,20,1050,1055,1059,
1060 経路、7 出力制御部、8,1057 出
力、11 ノンキャッシャブル制御部、12 ノンキャ
ッシャブル信号、14 NOR回路、15OR回路、3
0 メモリ管理制御部、31 TLBメインテナンス
部、32 キャッシュアクセス制御部、33 内蔵メモ
リ制御部、34 例外検出部、35登録データチェック
部、36 信号、100 システムLSI、101 メ
モリ管理機構、102 バスインターフェイスユニット
(BIF)、103 内蔵メモリ、104 外部メモ
リ、105 2次記憶装置、110 ページマッピング
状態、120,122〜127,130,131 バ
ス、121 信号、1000 仮想アドレス、1001
仮想ページアドレス、1002 ページ内オフセッ
ト、1004 エントリアドレス、1005 ブロック
データサイズを示すアドレス、1006 物理ページア
ドレス、1010,1011 メモリ管理機構、102
0 キャッシュメモリ、1021 デコード部、102
2 タグ部、1023 モード部、1024 データ
部、1025 アドレス比較器、1026,1056
出力制御部、1027 タグアドレス、1028 ブロ
ックデータ、1029 モードビット、1051 TL
B、1052 タグフィールド、1053 データフィ
ールド、1054 アドレス比較器、1061−0〜1
061−N ページテーブルエントリ(PTE)、11
00 物理アドレス、1101 ページ表ベース、11
02 ページ表限界、1103 ページ表、1104ペ
ージ表エントリ、1105 加算器、1106 比較
器。
1 TLB, 2, 2-0 to n PTE, 3 tag fields, 4 data fields, 5 address comparators,
6, 9, 10, 20, 1050, 1055, 1059,
1060 path, 7 output control unit, 8,1057 output, 11 non-cacheable control unit, 12 non-cacheable signal, 14 NOR circuit, 15 OR circuit, 3
0 memory management control unit, 31 TLB maintenance unit, 32 cache access control unit, 33 built-in memory control unit, 34 exception detection unit, 35 registration data check unit, 36 signals, 100 system LSI, 101 memory management mechanism, 102 bus interface unit (BIF), 103 internal memory, 104 external memory, 105 secondary storage device, 110 page mapping state, 120, 122 to 127, 130, 131 bus, 121 signals, 1000 virtual addresses, 1001
Virtual page address, 1002 offset within page, 1004 entry address, 1005 block data size address, 1006 physical page address, 1010, 1011 memory management mechanism, 102
0 cache memory, 1021 decoding unit, 102
2 Tag section, 1023 mode section, 1024 data section, 1025 address comparator, 1026, 1056
Output control unit, 1027 tag address, 1028 block data, 1029 mode bit, 1051 TL
B, 1052 tag field, 1053 data field, 1054 address comparator, 1061-0 to 1
061-N Page Table Entry (PTE), 11
00 physical address, 1101 page table base, 11
02 page table limit, 1103 page table, 1104 page table entry, 1105 adder, 1106 comparator.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 主記憶装置とキャッシュメモリとを有す
るプロセッサに備えられ、入力された仮想ページアドレ
スを置換した物理ページアドレスを用いてプロセッサが
主記憶装置を参照する際に仮想ページアドレスを物理ペ
ージアドレスへ置換するメモリ管理方式において、 仮想ページアドレスを入力し、入力された仮想ページア
ドレスを置換した物理ページアドレスによって特定され
るページのページサイズと上記キャッシュメモリのサイ
ズとを比較し、比較した結果に基づいて、上記物理ペー
ジアドレスによって特定されるページをキャッシュメモ
リへ登録するか否かを指示するノンキャッシャブル制御
部を備えたことを特徴とするメモリ管理方式。
1. A processor having a main memory and a cache memory, wherein a virtual page address is replaced with a physical page when the processor refers to the main memory using a physical page address obtained by replacing an input virtual page address. In the memory management method of replacing an address, a virtual page address is input, and the page size of a page specified by a physical page address replacing the input virtual page address is compared with the size of the cache memory. A non-cacheable control unit for instructing whether or not to register a page specified by the physical page address in the cache memory based on the above.
【請求項2】 上記ノンキャッシャブル制御部は、上記
物理ページアドレスによって特定されるページのページ
サイズが上記キャッシュメモリのサイズより小さい場合
に、上記物理ページアドレスによって特定されるページ
をキャッシュメモリへ登録しないことを指示することを
特徴とする請求項1記載のメモリ管理方式。
2. The non-cacheable control unit registers a page specified by the physical page address in the cache memory when a page size of the page specified by the physical page address is smaller than a size of the cache memory. 2. The memory management method according to claim 1, wherein an instruction is given not to do so.
【請求項3】 上記メモリ管理方式は、さらに、仮想ペ
ージアドレスと、上記仮想ページアドレスに対応する物
理ページアドレスと、上記物理ページアドレスによって
特定されるページのページサイズを示すページサイズデ
ータと、上記物理ページアドレスによって特定されるペ
ージをキャッシュメモリへ登録するか登録しないかを指
定する値を示すノンキャッシャブルデータとを記憶する
ページ表エントリを備え、 上記ノンキャッシャブル制御部は、上記ページサイズデ
ータが上記キャッシュメモリのサイズよりも小さいこと
を示す値である場合に、登録しないことを指定する値を
上記ノンキャッシャブルデータへ設定することを特徴と
する請求項1または2記載のメモリ管理方式。
3. The memory management method further comprises: a virtual page address, a physical page address corresponding to the virtual page address, page size data indicating a page size of a page specified by the physical page address, A page table entry for storing non-cacheable data indicating a value specifying whether to register or not register a page specified by a physical page address in the cache memory; the non-cacheable control unit includes: 3. The memory management method according to claim 1, wherein when the value is smaller than the size of the cache memory, a value designating no registration is set in the non-cacheable data.
【請求項4】 上記プロセッサは、さらに、キャッシュ
メモリを管理するメモリ管理制御部を備え、 上記ノンキャッシャブル制御部は、さらに、上記物理ペ
ージアドレスによって特定されるページのページサイズ
と上記キャッシュメモリのサイズとを比較し、比較した
結果に基づいて、物理ページアドレスによって特定され
るページをキャッシュメモリへ登録するか登録しないか
を指示する信号を上記メモリ管理制御部へ出力する登録
データチェック部を備えたことを特徴とする請求項1記
載のメモリ管理方式。
4. The processor further includes a memory management control unit that manages a cache memory, the non-cacheable control unit further includes a page size of a page specified by the physical page address, and a memory size of the cache memory. A registration data check unit that compares the size with the memory management control unit and outputs a signal indicating whether to register the page specified by the physical page address to the cache memory or not based on the comparison result to the memory management control unit 2. The memory management system according to claim 1, wherein:
【請求項5】 上記登録データチェック部は、上記物理
ページアドレスによって特定されるページのページサイ
ズが上記キャッシュメモリのサイズより小さい場合に、
物理ページアドレスによって特定されるページをキャッ
シュメモリへ登録しないことを指示する信号を上記メモ
リ管理制御部へ出力することを特徴とする請求項4記載
のメモリ管理方式。
5. The registration data check unit according to claim 1, wherein a page size of the page specified by the physical page address is smaller than a size of the cache memory.
5. The memory management method according to claim 4, wherein a signal indicating that a page specified by a physical page address is not registered in the cache memory is output to the memory management control unit.
JP2000100518A 2000-04-03 2000-04-03 Memory management system Withdrawn JP2001282616A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000100518A JP2001282616A (en) 2000-04-03 2000-04-03 Memory management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000100518A JP2001282616A (en) 2000-04-03 2000-04-03 Memory management system

Publications (1)

Publication Number Publication Date
JP2001282616A true JP2001282616A (en) 2001-10-12

Family

ID=18614705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000100518A Withdrawn JP2001282616A (en) 2000-04-03 2000-04-03 Memory management system

Country Status (1)

Country Link
JP (1) JP2001282616A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004031963A1 (en) * 2002-09-30 2004-04-15 Renesas Technology Corp. Semiconductor data processor
JP2018022508A (en) * 2007-06-01 2018-02-08 インテル コーポレイション Virtual to physical address translation with support for page attributes
CN110998552A (en) * 2017-08-21 2020-04-10 阿里巴巴集团控股有限公司 Memory management system and method for kernel space and user space

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004031963A1 (en) * 2002-09-30 2004-04-15 Renesas Technology Corp. Semiconductor data processor
US7356649B2 (en) 2002-09-30 2008-04-08 Renesas Technology Corp. Semiconductor data processor
JP2018022508A (en) * 2007-06-01 2018-02-08 インテル コーポレイション Virtual to physical address translation with support for page attributes
US11074191B2 (en) 2007-06-01 2021-07-27 Intel Corporation Linear to physical address translation with support for page attributes
CN110998552A (en) * 2017-08-21 2020-04-10 阿里巴巴集团控股有限公司 Memory management system and method for kernel space and user space
JP2020531951A (en) * 2017-08-21 2020-11-05 アリババ グループ ホウルディング リミテッド Methods and systems for kernel space and user space memory management
CN110998552B (en) * 2017-08-21 2023-05-09 阿里巴巴集团控股有限公司 Memory management system and method for kernel space and user space

Similar Documents

Publication Publication Date Title
US4797814A (en) Variable address mode cache
JP2833062B2 (en) Cache memory control method, processor and information processing apparatus using the cache memory control method
US9251095B2 (en) Providing metadata in a translation lookaside buffer (TLB)
KR102448124B1 (en) Cache accessed using virtual addresses
JP3713312B2 (en) Data processing device
EP0144121B1 (en) Virtually addressed cache
US4731739A (en) Eviction control apparatus
US7739477B2 (en) Multiple page size address translation incorporating page size prediction
EP1941375B1 (en) Caching memory attribute indicators with cached memory data
JP4065660B2 (en) Translation index buffer with distributed functions in parallel
EP0036110A2 (en) Cache addressing mechanism
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
EP0506236A1 (en) Address translation mechanism
JPH06110781A (en) Cache memory device
US6766434B2 (en) Method for sharing a translation lookaside buffer between CPUs
KR100895715B1 (en) Address conversion technique in a context switching environment
JP2930071B2 (en) Information processing device and processor
US8688952B2 (en) Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB
JP2000339221A (en) System and method for invalidating entry of conversion device
US20040181626A1 (en) Partial linearly tagged cache memory system
KR960008320B1 (en) System equipped with processor and method of converting addresses in the said system
JP2001282616A (en) Memory management system
JP2002132581A (en) Memory control structure
US7076635B1 (en) Method and apparatus for reducing instruction TLB accesses
JPH086852A (en) Cache control method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051018

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070605