JP5681782B2 - オン・ダイ・システム・ファブリック・ブロックの制御 - Google Patents
オン・ダイ・システム・ファブリック・ブロックの制御 Download PDFInfo
- Publication number
- JP5681782B2 JP5681782B2 JP2013268430A JP2013268430A JP5681782B2 JP 5681782 B2 JP5681782 B2 JP 5681782B2 JP 2013268430 A JP2013268430 A JP 2013268430A JP 2013268430 A JP2013268430 A JP 2013268430A JP 5681782 B2 JP5681782 B2 JP 5681782B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- osf
- shadow
- processor
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
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)
- Sewing Machines And Sewing (AREA)
Description
図中、参照番号の最大桁は、当該参照番号が最初に用いられた図面を表す。複数の図面で同じ参照番号を用いている場合は、同様または同一のものを表す。
Remap(PA)=0x80000000 XOR PA
Remap−1(SA)=0x80000000 XOR SA
また、システムは、入出力(I/O)デバイスと、プロセッサを前記I/Oデバイスに結合するオン・ダイ・システム・ファブリック(OSF)と、ユーザレベルの要求に応じて、物理アドレスに対応するシャドーアドレスを格納するメモリとを備え、前記OSFは、前記シャドーアドレスから前記物理アドレスを決定するロジックを有してもよい。メモリは、メモリアドレスまたはその他のパラメータをI/Oデバイスに渡すストア処理を生成するアプリケーションを格納してもよい。
Claims (18)
- プロセッサを、物理アドレスを用いるロジックブロックに結合するオン・ダイ・システム・ファブリック(OSF)と、
ユーザレベルの要求に応じて、物理アドレスに対応するシャドーアドレスを含むページテーブル、前記物理アドレスに対応する仮想アドレス、および、前記シャドーアドレスに対応するエイリアス仮想アドレスを格納するメモリと
を備え、
オペレーティングシステムにおいて、システムコールは、無効または未使用の物理アドレス範囲を使用して前記シャドーアドレスを生成して、
前記OSFは、前記シャドーアドレスから前記物理アドレスを決定するロジックを有し、
ユーザレベルで実行されるアプリケーションは、前記シャドーアドレスを前記ロジックブロックへ渡すストア処理を利用する
装置。 - 前記メモリは、ページテーブルを格納し、
前記ページテーブルは、前記エイリアス仮想アドレスおよび前記シャドーアドレスに対応するエントリを含む請求項1に記載の装置。 - 前記メモリは、前記シャドーアドレスおよび前記物理アドレスについてキャッシュ可能情報を格納する請求項1に記載の装置。
- 前記プロセッサおよび前記ロジックブロックは、ランタイム時にのみ周知となるアドレスを共有する請求項1から3のいずれか1項に記載の装置。
- 前記プロセッサおよび前記ロジックブロックは、固定アドレスではなくランタイム時にのみ周知となるアドレスを共有する請求項1から4のいずれか1項に記載の装置。
- 前記メモリは、前記ユーザレベルの要求を生成するためのアプリケーションを格納する請求項1から5のいずれか1項に記載の装置。
- 前記メモリは、メモリアドレスまたはその他のパラメータを前記ロジックブロックに渡すストア処理を生成するアプリケーションを格納する請求項1から6のいずれか1項に記載の装置。
- 前記OSFおよび前記メモリは、同じ集積回路ダイ上にある請求項1から7のいずれか1項に記載の装置。
- 前記プロセッサは、前記OSFを介して前記ロジックブロックと通信する複数のプロセッサコアを含む請求項1から8のいずれか1項に記載の装置。
- 前記複数のプロセッサコア、前記メモリ、および、前記OSFは、同じ集積回路ダイ上にある請求項9に記載の装置。
- 前記OSFを前記プロセッサに結合する第1のインターフェースおよび前記OSFを前記ロジックブロックに結合する第2のインターフェースをさらに備え、
前記第1のインターフェースおよび前記第2のインターフェースはそれぞれ、主要チャネルおよびサイドバンドチャネルを有し、
前記ロジックブロックおよび前記プロセッサは、前記第1のインターフェースおよび前記第2のインターフェースの前記主要チャネルを介して通信する請求項1から10のいずれか1項に記載の装置。 - オペレーティングシステムにおいて、システムコールは、無効または未使用の物理アドレス範囲を使用してシャドーアドレスを生成して、ユーザレベルの要求に応じて、物理アドレスに対応する前記シャドーアドレスを含むページテーブル、前記物理アドレスに対応する仮想アドレス、および、前記シャドーアドレスに対応するエイリアス仮想アドレスを格納するためにメモリの一部分を割り当てる段階と、
ユーザレベルで実行されるアプリケーションは、前記シャドーアドレスをロジックブロックへ渡すストア処理を利用して、オン・ダイ・システム・ファブリック(OSF)において、前記シャドーアドレスから前記物理アドレスを決定する段階と
を備える方法。 - ページテーブルを前記メモリに格納する段階をさらに備え、
前記ページテーブルは、前記エイリアス仮想アドレスおよび前記シャドーアドレスに対応するエントリを含む請求項12に記載の方法。 - 前記メモリの一部分を割り当てる段階は、無効な物理アドレス範囲を割り当てる段階を有する請求項12または13に記載の方法。
- 前記シャドーアドレスおよび前記物理アドレスについてのキャッシュ可能情報を前記メモリに格納する段階をさらに備える請求項12から14のいずれか1項に記載の方法。
- アプリケーションを前記メモリに格納する段階と、
前記アプリケーションが前記ユーザレベルの要求を生成する段階とを
さらに備える請求項12から15のいずれか1項に記載の方法。 - アプリケーションを前記メモリに格納する段階と、
前記アプリケーションがメモリアドレスまたはその他のパラメータをロジックブロックに渡すストア処理を生成する段階と
をさらに備える請求項12から16のいずれか1項に記載の方法。 - プロセッサを前記OSFを介して前記ロジックブロックに結合する段階をさらに備える請求項17に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/415,941 US8225069B2 (en) | 2009-03-31 | 2009-03-31 | Control of on-die system fabric blocks |
US12/415,941 | 2009-03-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012500824A Division JP5448218B2 (ja) | 2009-03-31 | 2010-03-03 | オン・ダイ・システム・ファブリック・ブロックの制御 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014112387A JP2014112387A (ja) | 2014-06-19 |
JP5681782B2 true JP5681782B2 (ja) | 2015-03-11 |
Family
ID=42785722
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012500824A Expired - Fee Related JP5448218B2 (ja) | 2009-03-31 | 2010-03-03 | オン・ダイ・システム・ファブリック・ブロックの制御 |
JP2013268430A Active JP5681782B2 (ja) | 2009-03-31 | 2013-12-26 | オン・ダイ・システム・ファブリック・ブロックの制御 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012500824A Expired - Fee Related JP5448218B2 (ja) | 2009-03-31 | 2010-03-03 | オン・ダイ・システム・ファブリック・ブロックの制御 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8225069B2 (ja) |
JP (2) | JP5448218B2 (ja) |
KR (1) | KR101352721B1 (ja) |
CN (3) | CN102378968A (ja) |
DE (1) | DE112010001467B4 (ja) |
RU (1) | RU2491616C2 (ja) |
WO (1) | WO2010117518A2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225069B2 (en) | 2009-03-31 | 2012-07-17 | Intel Corporation | Control of on-die system fabric blocks |
US8327198B2 (en) * | 2009-08-14 | 2012-12-04 | Intel Corporation | On-die logic analyzer for semiconductor die |
US8914568B2 (en) * | 2009-12-23 | 2014-12-16 | Intel Corporation | Hybrid memory architectures |
KR101781617B1 (ko) * | 2010-04-28 | 2017-09-25 | 삼성전자주식회사 | 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩 |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
WO2013048943A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Active state power management (aspm) to reduce power consumption by pci express components |
EP2761386B1 (en) * | 2011-09-30 | 2017-09-06 | Intel Corporation | Managing sideband segments in on-die system fabric |
US9100348B2 (en) | 2011-10-03 | 2015-08-04 | Intel Corporation | Managing sideband routers in on-die system fabric |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
US9436623B2 (en) | 2012-09-20 | 2016-09-06 | Intel Corporation | Run-time fabric reconfiguration |
EP2972888B1 (en) * | 2013-03-14 | 2019-02-06 | Micron Technology, INC. | Memory systems and methods including training,data organizing,and/or shadowing |
US9652321B2 (en) * | 2014-09-23 | 2017-05-16 | Intel Corporation | Recovery algorithm in non-volatile memory |
KR20170061221A (ko) * | 2015-11-25 | 2017-06-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8021A (en) * | 1851-04-01 | Brick-press | ||
JP3369580B2 (ja) * | 1990-03-12 | 2003-01-20 | ヒューレット・パッカード・カンパニー | 直接メモリアクセスを行うためのインターフェース装置及び方法 |
US7058726B1 (en) | 1996-07-08 | 2006-06-06 | Internet Number Corporation | Method and systems for accessing information on a network using message aliasing functions having shadow callback functions |
US5748539A (en) * | 1997-03-05 | 1998-05-05 | Sun Microsystems, Inc. | Recursive multi-channel interface |
JPH10312338A (ja) | 1997-05-13 | 1998-11-24 | Toshiba Corp | メモリ制御装置、及びメモリ制御方法 |
US6226732B1 (en) * | 1997-10-02 | 2001-05-01 | Hitachi Micro Systems, Inc. | Memory system architecture |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
JP4116137B2 (ja) * | 1998-03-06 | 2008-07-09 | 富士通株式会社 | 電子データ交換システムにおけるデータ保護装置及び方法及び当該方法を実現するプログラムを記録した記録媒体 |
US6314501B1 (en) * | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
CA2346231A1 (en) * | 2000-05-08 | 2001-11-08 | Internet Number Corporation | Method and system for accessing information on a network using message aliasing functions having shadow callback functions |
US7313705B2 (en) * | 2002-01-22 | 2007-12-25 | Texas Instrument Incorporated | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory |
US8068485B2 (en) * | 2003-05-01 | 2011-11-29 | Genesis Microchip Inc. | Multimedia interface |
US7194572B2 (en) * | 2003-08-08 | 2007-03-20 | Intel Corporation | Memory system and method to reduce reflection and signal degradation |
US20050091432A1 (en) | 2003-10-28 | 2005-04-28 | Palmchip Corporation | Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs |
US7310721B2 (en) | 2003-10-30 | 2007-12-18 | Microsoft Corporation | Shadow page tables for address translation control |
US20050273559A1 (en) * | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
JP2006127407A (ja) * | 2004-11-01 | 2006-05-18 | Canon Inc | 半導体集積回路 |
US7334076B2 (en) * | 2005-03-08 | 2008-02-19 | Microsoft Corporation | Method and system for a guest physical address virtualization in a virtual machine environment |
GB0505289D0 (en) * | 2005-03-15 | 2005-04-20 | Symbian Software Ltd | Computing device with automated page based rem shadowing and method of operation |
US7299337B2 (en) * | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US7363463B2 (en) * | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
KR101173539B1 (ko) * | 2006-02-15 | 2012-08-14 | 삼성전자주식회사 | 멀티프로세서 시스템 그리고 멀티프로세서 시스템의 초기화방법 |
CN100426276C (zh) * | 2006-12-07 | 2008-10-15 | 威盛电子股份有限公司 | 总线相容装置和暂存值修正方法 |
JP5143601B2 (ja) * | 2008-03-24 | 2013-02-13 | 株式会社日立製作所 | 情報処理装置と情報処理方法およびストレージシステム |
US8214845B2 (en) * | 2008-05-09 | 2012-07-03 | International Business Machines Corporation | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data |
US8225069B2 (en) | 2009-03-31 | 2012-07-17 | Intel Corporation | Control of on-die system fabric blocks |
-
2009
- 2009-03-31 US US12/415,941 patent/US8225069B2/en not_active Expired - Fee Related
-
2010
- 2010-03-03 WO PCT/US2010/026078 patent/WO2010117518A2/en active Application Filing
- 2010-03-03 DE DE112010001467.1T patent/DE112010001467B4/de active Active
- 2010-03-03 KR KR1020117023169A patent/KR101352721B1/ko active IP Right Grant
- 2010-03-03 JP JP2012500824A patent/JP5448218B2/ja not_active Expired - Fee Related
- 2010-03-03 RU RU2011141892/08A patent/RU2491616C2/ru not_active IP Right Cessation
- 2010-03-03 CN CN2010800145123A patent/CN102378968A/zh active Pending
- 2010-03-30 CN CN2010101572828A patent/CN101853226B/zh active Active
- 2010-03-30 CN CN201310139195.3A patent/CN103383661B/zh active Active
-
2012
- 2012-07-17 US US13/550,966 patent/US8819388B2/en not_active Expired - Fee Related
-
2013
- 2013-12-26 JP JP2013268430A patent/JP5681782B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012520533A (ja) | 2012-09-06 |
CN103383661A (zh) | 2013-11-06 |
JP5448218B2 (ja) | 2014-03-19 |
US20120284486A1 (en) | 2012-11-08 |
WO2010117518A3 (en) | 2011-01-13 |
RU2011141892A (ru) | 2013-05-10 |
DE112010001467T5 (de) | 2012-05-16 |
DE112010001467B4 (de) | 2017-01-05 |
US8819388B2 (en) | 2014-08-26 |
CN101853226A (zh) | 2010-10-06 |
CN101853226B (zh) | 2013-05-29 |
CN103383661B (zh) | 2017-04-26 |
RU2491616C2 (ru) | 2013-08-27 |
KR101352721B1 (ko) | 2014-01-16 |
WO2010117518A2 (en) | 2010-10-14 |
CN102378968A (zh) | 2012-03-14 |
US8225069B2 (en) | 2012-07-17 |
US20100250889A1 (en) | 2010-09-30 |
KR20110127730A (ko) | 2011-11-25 |
JP2014112387A (ja) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5681782B2 (ja) | オン・ダイ・システム・ファブリック・ブロックの制御 | |
US11663135B2 (en) | Bias-based coherency in an interconnect fabric | |
US8250254B2 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
US7707383B2 (en) | Address translation performance in virtualized environments | |
US11204867B2 (en) | PCIe controller with extensions to provide coherent memory mapping between accelerator memory and host memory | |
TWI470435B (zh) | 為本地與遠端實體記憶體間之共用虛擬記憶體提供硬體支援 | |
US8161243B1 (en) | Address translation caching and I/O cache performance improvement in virtualized environments | |
JP6171210B2 (ja) | 複数orチェーンバスの拡張データバス反転符号化 | |
US8904045B2 (en) | Opportunistic improvement of MMIO request handling based on target reporting of space requirements | |
JP2008033928A (ja) | Gpuにおけるページマッピングのための専用機構 | |
US7657724B1 (en) | Addressing device resources in variable page size environments | |
US8738863B2 (en) | Configurable multi-level buffering in media and pipelined processing components | |
TWI502346B (zh) | 根據窺探回應資訊之目錄快取分配技術 | |
US9727521B2 (en) | Efficient CPU mailbox read access to GPU memory | |
US8593472B1 (en) | System and method for accessing a frame buffer via a storage driver | |
US20070002853A1 (en) | Snoop bandwidth reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141022 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141111 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20141210 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5681782 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |