JPH1124992A5 - - Google Patents
Info
- Publication number
- JPH1124992A5 JPH1124992A5 JP1998139776A JP13977698A JPH1124992A5 JP H1124992 A5 JPH1124992 A5 JP H1124992A5 JP 1998139776 A JP1998139776 A JP 1998139776A JP 13977698 A JP13977698 A JP 13977698A JP H1124992 A5 JPH1124992 A5 JP H1124992A5
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- address
- virtual address
- aliased
- management unit
- 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.)
- Granted
Links
Claims (15)
- 作動システムで動いている複数のアクティブプロセススロットの一つに対する仮想アドレスが現在のプロセススロットへエイリアシングされるシステムにおいて仮想アドレスエイリアシングをサポートする方法において、
仮想キャッシュまたはメモリ管理装置に対するアドレスをインターセプトし、
前記の仮想アドレスがエイリシングされているかどうかを決定し、
もしそれら仮想アドレスがエイリアシングされていなければ、前記の仮想キャッシュまたはメモリ管理装置へ前記の仮想アドレスを通し、そして
もし仮想アドレスがエイリアシングされていれば、前記のインターセプトされた仮想アドレスから新しい仮想アドレスを形成し、この新しい仮想アドレスを前記の仮想キャッシュまたはメモリ管理装置へ通す
ことを特徴とする方法。 - 仮想キャッシュまたはメモリ管理装置を別々のアクティブプロセスに対応するプロセススロットに分割することを更に含む請求項1に記載の方法。
- 異なるアクティブプロセスに対応するスロットとスロットの間に仮想アドレスエイリアシングを与えることを更に含む請求項2に記載の方法。
- アクティブプロセスのうちの現在のアクティブプロセスに対する仮想アドレスをエイリアシングすることを更に含む請求項3に記載の方法。
- 現在のプロセスに対するアドレスエイリアシングをせずに、仮想キャッシュまたはメモリ管理装置がアドレスされるように、新しいアドレスを形成することを更に含む請求項4に記載の方法。
- 現在のプロセスに常に割り当てられているアドレススペースにおける現在のプロセススロットにおいてアクティブプロセスのうちの現在のアクティブプロセスを付加的に捜し出すことを更に含む請求項2に記載の方法。
- 新しいアドレスを形成するステップは、
現在のプロセススロットに対する仮想アドレスを検出し、そして
そのアドレスを変更して、アクティブプロセスのうちの現在のアクティブプロセスを保持する仮想キャッシュのセクションに対する新しいアドレスを発生する
ことを含む請求項6記載の方法。 - 仮想アドレスを変更するステップは、仮想アドレスの高位ビットをアクティブプロセスのうちの現在のアクティブプロセスのアドレスへと変えることを含む請求項7に記載の方法。
- 作動システムで動いている複数のアクティブプロセススロットの一つからの仮想アドレスが現在のプロセススロットへデ・エイリアシングされるシステムにおいて仮想アドレスデエイリアシングをサポートする仮想アドレスデエイリアサーを含むシステムにおいて、
仮想キャッシュまたはメモリ管理装置への仮想アドレスをインターセプトし、そして仮想アドレスがエイリアシングされているかどうかを決定する比較ロジックと、
もし仮想アドレスがエイリアシングされていないと前記の比較ロジックが決定すると、仮想アドレスを仮想キャッシュまたはメモリ管理装置へと通し、そしてもし仮想アドレスがエイリアシングされていると前記のインターセプトされた仮想アドレスから新しいアドレスを形成してその新しいアドレスを仮想キャッシュまたはメモリ管理装置へ通す選択ロジックと
を備えることを特徴とするシステム。 - 比較ロジックは、仮想アドレスが現在のプロセスを保持するだけであるアドレススペースのセクションに対するものであるかどうかを決定する請求項9に記載のデエリアザー。
- 選択ロジックは、比較ロジックが現在のプロセスのセクションに対する仮想アドレスを検出するときに、現在のプロセスを保持してもいるアドレススペースの別のセクションに対応する新しい仮想アドレスを発生する請求項10に記載のデエリアザー。
- アクティブプロセスのうちの現在のアクティブプロセスを記憶する現在プロセスレジスタを更に備えている請求項9に記載のデエリアザー。
- 選択ロジックは、現在プロセスレジスタの内容を新しい仮想アドレスの高位ビットとして通す請求項12に記載のデエリアザー。
- 作動システムで動いている複数のアクティブプロセススロットの一つに対する仮想アドレスが現在のプロセススロットへエイリアシングされるシステムにおいて仮想アドレスエイリアシングをサポートする方法において、
仮想キャッシュとメモリ管理装置に対するアドレスをインターセプトし、
前記の仮想アドレスがエイリシングされているかどうかを決定し、
もしそれら仮想アドレスがエイリアシングされていなければ、前記の仮想キャッシュとメモリ管理装置へ前記の仮想アドレスを通し、そして
もし仮想アドレスがエイリアシングされていれば、前記のインターセプトされた仮想アドレスから新しい仮想アドレスを形成し、この新しい仮想アドレスを前記の仮想キャッシュまたはメモリ管理装置へ通す
ことを特徴とする方法。 - 作動システムで動いている複数のアクティブプロセススロットの一つからの仮想アドレスが現在のプロセススロットへデ・エイリアシングされるシステムにおいて仮想アドレスデエイリアシングをサポートする仮想アドレスデエイリアサーを含むシステムにおいて、
仮想キャッシュとメモリ管理装置への仮想アドレスをインターセプトし、そして仮想アドレスがエイリアシングされているかどうかを決定する比較ロジックと、
もし仮想アドレスがエイリアシングされていないと前記の比較ロジックが決定すると、仮想アドレスを仮想キャッシュとメモリ管理装置へと通し、そしてもし仮想アドレスがエイリアシングされていると前記のインターセプトされた仮想アドレスから新しいアドレスを形成してその新しいアドレスを仮想キャッシュとメモリ管理装置へ通す選択ロジックと
を備えることを特徴とするシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/863084 | 1997-05-23 | ||
| US08/863,084 US6061774A (en) | 1997-05-23 | 1997-05-23 | Limited virtual address aliasing and fast context switching with multi-set virtual cache without backmaps |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH1124992A JPH1124992A (ja) | 1999-01-29 |
| JPH1124992A5 true JPH1124992A5 (ja) | 2005-10-06 |
| JP4021555B2 JP4021555B2 (ja) | 2007-12-12 |
Family
ID=25340200
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13977698A Expired - Fee Related JP4021555B2 (ja) | 1997-05-23 | 1998-05-21 | バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6061774A (ja) |
| EP (1) | EP0880098A3 (ja) |
| JP (1) | JP4021555B2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6671762B1 (en) * | 1997-12-29 | 2003-12-30 | Stmicroelectronics, Inc. | System and method of saving and restoring registers in a data processing system |
| US6167459A (en) * | 1998-10-07 | 2000-12-26 | International Business Machines Corporation | System for reassigning alias addresses to an input/output device |
| US6560690B2 (en) * | 2000-12-29 | 2003-05-06 | Intel Corporation | System and method for employing a global bit for page sharing in a linear-addressed cache |
| GB2372589B (en) * | 2001-02-21 | 2003-01-22 | 3Com Corp | Memory aliasing in a processor system |
| US20040117588A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | Access request for a data processing system having no system memory |
| US20040117589A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Interrupt mechanism for a data processing system having hardware managed paging of disk data |
| US20050055528A1 (en) * | 2002-12-12 | 2005-03-10 | International Business Machines Corporation | Data processing system having a physically addressed cache of disk memory |
| US20040117587A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Hardware managed virtual-to-physical address translation mechanism |
| US20040117583A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme |
| US7017024B2 (en) * | 2002-12-12 | 2006-03-21 | International Business Machines Corporation | Data processing system having no system memory |
| US20040117590A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Aliasing support for a data processing system having no system memory |
| US7130983B1 (en) * | 2003-12-17 | 2006-10-31 | Storage Technology Corporation | System and method for reference count regeneration |
| US7096341B1 (en) * | 2003-12-17 | 2006-08-22 | Storage Technology Corporation | System and method for reference count regeneration |
| US7519791B2 (en) * | 2004-02-06 | 2009-04-14 | Intel Corporation | Address conversion technique in a context switching environment |
| US7240179B1 (en) * | 2004-12-13 | 2007-07-03 | Nvidia Corporation | System, apparatus and method for reclaiming memory holes in memory composed of arbitrarily-sized memory devices |
| US8473964B2 (en) * | 2008-09-30 | 2013-06-25 | Microsoft Corporation | Transparent user mode scheduling on traditional threading systems |
| US9996390B2 (en) | 2014-06-10 | 2018-06-12 | Samsung Electronics Co., Ltd. | Method and system for performing adaptive context switching |
| US10089240B2 (en) * | 2014-12-26 | 2018-10-02 | Wisconsin Alumni Research Foundation | Cache accessed using virtual addresses |
| US9842051B1 (en) * | 2015-03-25 | 2017-12-12 | Marvell International Ltd. | Managing aliasing in a virtually indexed physically tagged cache |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4400770A (en) * | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
| US4488256A (en) * | 1981-11-23 | 1984-12-11 | Motorola, Inc. | Memory management unit having means for detecting and preventing mapping conflicts |
| US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
| US5826057A (en) * | 1992-01-16 | 1998-10-20 | Kabushiki Kaisha Toshiba | Method for managing virtual address space at improved space utilization efficiency |
| US5287508A (en) * | 1992-04-07 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for efficient scheduling in a multiprocessor system |
| US5680577A (en) * | 1995-04-27 | 1997-10-21 | International Business Machines Corporation | Method and system for processing multiple requests for data residing at the same memory address |
| US5787474A (en) * | 1995-11-20 | 1998-07-28 | Advanced Micro Devices, Inc. | Dependency checking structure for a pair of caches which are accessed from different pipeline stages of an instruction processing pipeline |
| US5802567A (en) * | 1996-10-31 | 1998-09-01 | International Business Machines Corporation | Mechanism for managing offset and aliasing conditions within a content-addressable memory-based cache memory |
-
1997
- 1997-05-23 US US08/863,084 patent/US6061774A/en not_active Expired - Lifetime
-
1998
- 1998-05-08 EP EP98108447A patent/EP0880098A3/en not_active Withdrawn
- 1998-05-21 JP JP13977698A patent/JP4021555B2/ja not_active Expired - Fee Related
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1124992A5 (ja) | ||
| US9164918B2 (en) | Maintaining processor resources during architectural events | |
| JP4082612B2 (ja) | 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム | |
| US6591355B2 (en) | Distributed shared memory system with variable granularity | |
| US6070173A (en) | Method and apparatus for assisting garbage collection process within a java virtual machine | |
| EP1027654A1 (en) | A method and apparatus for implementing a page table walker with a sliding field | |
| US6505269B1 (en) | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system | |
| WO1998044422A1 (en) | Page table walker which positions a sliding field in a virtual address using page size | |
| US20130311748A1 (en) | System and Method for Storing Data in a Virtualized Memory System With Destructive Reads | |
| CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
| JP2005174341A (ja) | 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ | |
| JP2004030000A (ja) | 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式 | |
| TW200402624A (en) | Methods and apparatus for controlling a cache memory | |
| JPH1124992A (ja) | バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え | |
| US7424576B2 (en) | Parallel cachelets | |
| US6094710A (en) | Method and system for increasing system memory bandwidth within a symmetric multiprocessor data-processing system | |
| JP2009015509A (ja) | キャッシュメモリ装置 | |
| US20180165202A1 (en) | Tag and data organization in large memory caches | |
| US20040243765A1 (en) | Multithreaded processor with multiple caches | |
| US6560689B1 (en) | TLB using region ID prevalidation | |
| KR960706657A (ko) | 공유 메모리 시스템에서의 병행 동작을 가능하게 하고 최대화하는 방법 및 장치(method and apparatus for providing and maximizing concurrent operations in a shared memory system) | |
| JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
| JP3688736B2 (ja) | データメモリ | |
| US6895488B2 (en) | DSP memory bank rotation | |
| US6292826B1 (en) | Shadow arrays for distributed memory multiprocessor architecture |