JP2015505091A5 - - Google Patents

Download PDF

Info

Publication number
JP2015505091A5
JP2015505091A5 JP2014546668A JP2014546668A JP2015505091A5 JP 2015505091 A5 JP2015505091 A5 JP 2015505091A5 JP 2014546668 A JP2014546668 A JP 2014546668A JP 2014546668 A JP2014546668 A JP 2014546668A JP 2015505091 A5 JP2015505091 A5 JP 2015505091A5
Authority
JP
Japan
Prior art keywords
memory
cache
command message
message
locality
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
Application number
JP2014546668A
Other languages
Japanese (ja)
Other versions
JP2015505091A (en
JP5973590B2 (en
Filing date
Publication date
Priority claimed from US13/324,432 external-priority patent/US9239793B2/en
Application filed filed Critical
Publication of JP2015505091A publication Critical patent/JP2015505091A/en
Publication of JP2015505091A5 publication Critical patent/JP2015505091A5/ja
Application granted granted Critical
Publication of JP5973590B2 publication Critical patent/JP5973590B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (17)

キャッシュに電気的に接続されたアクセラレイテッド処理デバイスを含むシステムであって、
コントローラを備え、
前記コントローラは、
コマンドメッセージを受信することであって、前記コマンドメッセージは、前記アクセラレイテッド処理デバイスによる処理の間にアクセスされる命令を含み、前記命令は、メモリの複数の部分のうち一部に関連するデータを含む、ことと、
前記コマンドメッセージが、前記メモリのうちアクセスされる前記一部を前記キャッシュにプレローディングするためのプレローディング命令を含むか否かを判別することによって前記コマンドメッセージを解釈することであって前記コマンドメッセージが前記プレローディング命令を含むと判別された場合に、少なくとも前記メモリの前記一部を前記キャッシュにプレローディングし、前記コマンドメッセージが前記プレローディング命令を含んでいないと判別された場合に、前記コマンドメッセージの命令をキャッシュアクセス履歴と比較し、前記コマンドメッセージと前記キャッシュアクセス履歴との比較に基づいて、少なくとも前記メモリの前記一部を前記キャッシュにプレローディングすると判別する、ことと、
(i)ローカリティ参照情報および(ii)前記キャッシュポリシー情報の少なくとも一方に基づいて、前記メモリのうちどの前記複数の部分を前記キャッシュにプレローディングするのか判別することと、
記一部の内容に関連するデータを含むフェッチメッセージを作成することと、
記フェッチメッセージを前記キャッシュに出力することと、
を行うように構成されている、システム。
A system including an accelerated processing device electrically connected to a cache comprising:
With a controller,
The controller is
Receiving a command message, wherein the command message includes instructions accessed during processing by the accelerated processing device, the instructions comprising data associated with a portion of the plurality of portions of memory. Including, and
Said command message, the method comprising interpreting the command message by determining whether including preloading instructions for pre-loading the part to be accessed out of the memory to the cache, the command When it is determined that a message includes the preloading instruction, at least the part of the memory is preloaded into the cache, and when it is determined that the command message does not include the preloading instruction, Comparing a command message instruction with a cache access history, and determining, based on a comparison of the command message and the cache access history, to preload at least the portion of the memory into the cache;
And that on the basis of at least one of (i) locality reference information and (ii) the policy information of the cache, to determine which of the plurality of portions of said memory for preloading the cache,
And to create a fetch message that contains the data related to the contents of the previous Symbol part,
And outputting the pre-Symbol fetch message to the cache,
Configured to do the system.
前記メモリの前記一部に関連するデータを含む前記コマンドメッセージを出力するように構成されたホストプロセッサをさらに備える、請求項1に記載のシステム。 Further comprising system of claim 1, the host processor that is configured to output the command message including data relating to said portion of said memory. 前記ポリシー情報は、
前記メモリのうちプレローディングされる前記一部がどのように前記キャッシュに記憶されるのか、及び、前記キャッシュのブロックが、(1)読み取りのみ、又は、(2)読み取りと書き込みの両方、の何れのときに書き込まれるのか、を決定し、
前記フェッチメッセージは、前記キャッシュに、前記ポリシー情報に基づいて前記データを前記メモリの一部からロードさせる、請求項1に記載のシステム。
The policy information is:
How the preloaded portion of the memory is stored in the cache and whether the block of the cache is (1) read only or (2) both read and write Determine when it will be written,
The fetch message to the cache, to load the data from a portion of the memory on the basis of the policy information system of claim 1.
前記コマンドメッセージは、参照情報のローカリティを含む、請求項に記載のシステム。 The command message includes a locality of references information system of claim 1. 前記ローカリティ参照情報は、前記メモリの一部の時間的ローカリティに基づいている、請求項に記載のシステム。 The locality reference information is based on the temporal locality of a portion of the memory system according to claim 1. 前記ローカリティ参照情報は、前記メモリの一部の空間的ローカリティに基づいている、請求項に記載のシステム。 The locality reference information is based on the spatial locality of a portion of the memory system according to claim 1. キャッシュをプレローディングするための、コンピュータで実施される方法であって、
マンドメッセージを受信することであって、前記コマンドメッセージは、前記アクセラレイテッド処理デバイスによる処理の間にアクセスされる命令を含み、前記命令は、メモリの複数の部分のうち一部に関連するデータを含む、ことと、
前記コマンドメッセージが、前記メモリのうちアクセスされる前記一部を前記キャッシュにプレローディングするためのプレローディング命令を含むか否かを判別することによって前記コマンドメッセージを解釈することであって前記コマンドメッセージが前記プレローディング命令を含むと判別された場合に、少なくとも前記メモリの前記一部を前記キャッシュにプレローディングし、前記コマンドメッセージが前記プレローディング命令を含んでいないと判別された場合に、前記コマンドメッセージの命令をキャッシュアクセス履歴と比較し、前記コマンドメッセージと前記キャッシュアクセス履歴との比較に基づいて、少なくとも前記メモリの前記一部を前記キャッシュにプレローディングすると判別する、ことと、
(i)特定されたローカリティ参照情報および(ii)特定された前記キャッシュのポリシー情報の少なくとも一方に基づいて、前記メモリのうちどの前記複数の部分を前記キャッシュにプレローディングするのか判別することと、
前記一部の内容に関連するデータを含むフェッチメッセージを作成することと、
前記フェッチメッセージを前記キャッシュに送信することと、
を含む、方法。
A computer-implemented method for preloading a cache, comprising:
The method comprising: receiving a command message, the command message may include instructions that are accessed during processing by the Accelerated processing device, the instruction is associated with some of the plurality of portions of the memory Including data,
Said command message, the method comprising interpreting the command message by determining whether including preloading instructions for pre-loading the part to be accessed out of the memory to the cache, the command When it is determined that a message includes the preloading instruction, at least the part of the memory is preloaded into the cache, and when it is determined that the command message does not include the preloading instruction, Comparing a command message instruction with a cache access history, and determining, based on a comparison of the command message and the cache access history, to preload at least the portion of the memory into the cache;
Determining which of the plurality of portions of the memory are preloaded into the cache based on at least one of (i) the specified locality reference information and (ii) the specified policy information of the cache;
Creating a fetch message that includes data related to the portion of content;
Sending the fetch message to the cache;
Including a method.
前記ポリシー情報は、
前記メモリのうちプレローディングされる前記一部がどのように前記キャッシュに記憶されるのか、及び、前記キャッシュのブロックが、(1)読み取りのみ、又は、(2)読み取りと書き込みの両方、の何れのときに書き込まれるのか、を決定し、
前記フェッチメッセージは、前記キャッシュに前記メモリの一部からデータをロードさせる、請求項に記載の方法。
The policy information is:
How the preloaded portion of the memory is stored in the cache and whether the block of the cache is (1) read only or (2) both read and write Determine when it will be written,
The fetch message to the cache, to load data from a portion of the memory The method of claim 7.
前記コマンドメッセージは、前記ローカリティ参照情報を含む、請求項に記載の方法。 The method of claim 7 , wherein the command message includes the locality reference information. 前記参照情報のローカリティは、前記メモリの一部の時間的ローカリティに基づいている、請求項に記載の方法。 The method of claim 7 , wherein the locality of the reference information is based on a temporal locality of the portion of the memory. 前記参照情報のローカリティは、前記メモリの一部の空間的ローカリティに基づいている、請求項に記載の方法。 The method of claim 7 , wherein the locality of the reference information is based on a spatial locality of the portion of the memory. 前記コントローラは、前記コマンドメッセージが、メモリの各部分に対する物理アドレスを有するプレローディング命令を含むか否かを判別することによって、前記コマンドメッセージを解釈するように構成されている、請求項に記載のシステム。 Said controller, said command message, by determining whether or not including pre-loading command having a physical address for each portion of the memory, is configured to interpret said command message, according to claim 1 System. 前記コントローラは、前記コマンドメッセージが、前記メモリの一部に対する仮想アドレスを有するプレローディング命令を含むか否かを判別することによって、コマンドメッセージを解釈するように構成されている、請求項に記載のシステム。 Said controller, said command message, by determining whether or not including pre-loading instruction having a virtual address for a portion of the memory, is configured to interpret the command message, according to claim 1 System. 前記コントローラは、前記メモリの一部に対する仮想アドレスを物理アドレスに変換するように構成されている、請求項13に記載のシステム。 The system of claim 13 , wherein the controller is configured to translate a virtual address for a portion of the memory to a physical address. 前記コマンドメッセージを解釈することは、前記メモリの一部に対する仮想アドレスを有するプレローディング命令を含むか否かを判別することをさらに含む、請求項に記載の方法。 The method of claim 7 , wherein interpreting the command message further comprises determining whether to include a preloading instruction having a virtual address for a portion of the memory. 前記メモリの一部に対する仮想アドレスを物理アドレスに変換することをさらに含む、請求項15に記載の方法。 16. The method of claim 15 , further comprising converting a virtual address for the portion of memory to a physical address. 前記コマンドメッセージを解釈することは、前記メモリの一部に対する物理アドレスを有するプレローディング命令を含むか否かを判別することをさらに含む、請求項に記載の方法。 The method of claim 7 , wherein interpreting the command message further comprises determining whether to include a preloading instruction having a physical address for a portion of the memory.
JP2014546668A 2011-12-13 2012-12-12 Mechanism for using GPU controller for cache preloading Active JP5973590B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/324,432 2011-12-13
US13/324,432 US9239793B2 (en) 2011-12-13 2011-12-13 Mechanism for using a GPU controller for preloading caches
PCT/IB2012/002938 WO2013108070A1 (en) 2011-12-13 2012-12-12 Mechanism for using a gpu controller for preloading caches

Publications (3)

Publication Number Publication Date
JP2015505091A JP2015505091A (en) 2015-02-16
JP2015505091A5 true JP2015505091A5 (en) 2016-02-12
JP5973590B2 JP5973590B2 (en) 2016-08-23

Family

ID=48573113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014546668A Active JP5973590B2 (en) 2011-12-13 2012-12-12 Mechanism for using GPU controller for cache preloading

Country Status (6)

Country Link
US (1) US9239793B2 (en)
EP (1) EP2791933B1 (en)
JP (1) JP5973590B2 (en)
KR (1) KR101868997B1 (en)
CN (1) CN104025185B (en)
WO (1) WO2013108070A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842122B2 (en) * 2011-12-15 2014-09-23 Qualcomm Incorporated Graphics processing unit with command processor
US9342712B2 (en) * 2012-06-08 2016-05-17 Advanced Micro Devices, Inc. Method and system for accelerating cryptographic processing
US9092341B2 (en) 2012-07-10 2015-07-28 International Business Machines Corporation Methods of cache preloading on a partition or a context switch
US10922851B2 (en) * 2014-09-25 2021-02-16 The Boeing Company Virtual reality environment color and contour processing system
CN107423232B (en) * 2016-05-24 2020-10-16 北京忆芯科技有限公司 FTL quick access method and device
CN106127673B (en) * 2016-07-19 2019-02-12 腾讯科技(深圳)有限公司 A kind of method for processing video frequency, device and computer equipment
US20180336034A1 (en) * 2017-05-17 2018-11-22 Hewlett Packard Enterprise Development Lp Near memory computing architecture
GB2567466B (en) 2017-10-12 2020-01-22 Advanced Risc Mach Ltd Cache stashing in a data processing system
CN109634491A (en) * 2018-12-14 2019-04-16 珠海市小源科技有限公司 A kind of bi-directional segmented method, computer installation and computer readable storage medium for loading data and showing
US10877896B2 (en) 2019-03-07 2020-12-29 Micron Technology, Inc. Adaptive readahead cache manager based on detected active streams of read commands
US11232533B2 (en) * 2019-03-15 2022-01-25 Intel Corporation Memory prefetching in multiple GPU environment
CN110187835B (en) 2019-05-24 2023-02-03 北京百度网讯科技有限公司 Method, apparatus, device and storage medium for managing access requests
CN111522771B (en) * 2020-04-20 2023-08-15 北京百度网讯科技有限公司 Fundus image processing method, terminal device and storage medium
US20230069890A1 (en) * 2021-09-03 2023-03-09 Advanced Micro Devices, Inc. Processing device and method of sharing storage between cache memory, local data storage and register files

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761720A (en) 1996-03-15 1998-06-02 Rendition, Inc. Pixel engine pipeline processor data caching mechanism
US6347369B1 (en) * 1997-11-17 2002-02-12 Advanced Micro Devices, Inc. Method and circuit for single cycle multiple branch history table access
KR100291628B1 (en) 1999-06-19 2001-05-15 윤덕용 Cache memory for 3D graphic texture and its cache miss penalty reducing method
US20050010726A1 (en) 2003-07-10 2005-01-13 Rai Barinder Singh Low overhead read buffer
US20050195200A1 (en) 2004-03-03 2005-09-08 Chuang Dan M. Embedded system with 3D graphics core and local pixel buffer
US7360027B2 (en) 2004-10-15 2008-04-15 Intel Corporation Method and apparatus for initiating CPU data prefetches by an external agent
US7502913B2 (en) 2006-06-16 2009-03-10 Microsoft Corporation Switch prefetch in a multicore computer chip
US8325184B2 (en) * 2007-09-14 2012-12-04 Qualcomm Incorporated Fragment shader bypass in a graphics processing unit, and apparatus and method thereof
JP2009230374A (en) * 2008-03-21 2009-10-08 Fujitsu Ltd Information processor, program, and instruction sequence generation method
US20100123717A1 (en) 2008-11-20 2010-05-20 Via Technologies, Inc. Dynamic Scheduling in a Graphics Processor
US8489851B2 (en) 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
US20100153934A1 (en) 2008-12-12 2010-06-17 Peter Lachner Prefetch for systems with heterogeneous architectures
US8171219B2 (en) * 2009-03-31 2012-05-01 Intel Corporation Method and system to perform caching based on file-level heuristics
US8140769B2 (en) * 2009-04-20 2012-03-20 Oracle America, Inc. Data prefetcher
US9582222B2 (en) 2009-04-30 2017-02-28 Western Digital Technologies, Inc. Pre-cache similarity-based delta compression for use in a data storage system
US8219758B2 (en) * 2009-07-10 2012-07-10 Apple Inc. Block-based non-transparent cache
US9354944B2 (en) 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors
US8803897B2 (en) 2009-09-03 2014-08-12 Advanced Micro Devices, Inc. Internal, processing-unit memory for general-purpose use
US20110072218A1 (en) * 2009-09-24 2011-03-24 Srilatha Manne Prefetch promotion mechanism to reduce cache pollution
CN101866318B (en) * 2010-06-13 2012-02-22 北京北大众志微系统科技有限责任公司 Management system and method for cache replacement strategy
US8937622B2 (en) 2010-09-20 2015-01-20 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform

Similar Documents

Publication Publication Date Title
JP2015505091A5 (en)
JP6696987B2 (en) A cache accessed using a virtual address
US9697140B2 (en) Encryption integrity check with CRC encryption in memory using a word count- and address-derived nonce
IN2012DN02977A (en)
EP3279788A1 (en) Access method, device and system for expanding memory
KR102268601B1 (en) Processor for data forwarding, operation method thereof and system including the same
KR101485651B1 (en) Region based technique for accurately predicting memory accesses
JP5608594B2 (en) Preload instruction control
JP2015506041A5 (en)
JP2017526071A5 (en)
JP2018504694A5 (en)
TW200502679A (en) Access request for a data processing system having no system memory
JP2015507310A5 (en)
JP2017516228A5 (en)
WO2007002803A3 (en) Preventing multiple translation lookaside buffer accesses for a same page in memory
CN109388517A (en) Memory Controller, the storage system including Memory Controller and application processor
US9251048B2 (en) Memory page management
WO2007020264B1 (en) System and method for limiting the size of a local storage of a processor
GB2520856A (en) Enabling Virtualization of a processor resource
TW201717029A (en) Multi-page check hints for selective checking of protected container page versus regular page type indications for pages of convertible memory
KR101743409B1 (en) Memory management
JP2008529181A5 (en)
JP2011507073A5 (en)
CN108874691B (en) Data prefetching method and memory controller
US9250913B2 (en) Collision-based alternate hashing