TW201710908A - 用於記憶體管理單元之多執行緒轉換及異動重新排序 - Google Patents

用於記憶體管理單元之多執行緒轉換及異動重新排序 Download PDF

Info

Publication number
TW201710908A
TW201710908A TW105115829A TW105115829A TW201710908A TW 201710908 A TW201710908 A TW 201710908A TW 105115829 A TW105115829 A TW 105115829A TW 105115829 A TW105115829 A TW 105115829A TW 201710908 A TW201710908 A TW 201710908A
Authority
TW
Taiwan
Prior art keywords
translation
requests
address translation
address
scheduler
Prior art date
Application number
TW105115829A
Other languages
English (en)
Chinese (zh)
Inventor
傑森 愛德華 波戴瑪
保羅 克里斯多福 約翰 韋爾辛斯基
卡洛斯 賈維爾 摩瑞拉
艾力山德 米瑞特斯基
梅格霍爾 法里亞
凱爾 約翰 艾默溫
曼諾坎桑 索瑪桑達嵐
穆瀚麥德 烏瑪爾 喬德里
瑟瑞格 默尼爾 葛戴爾雷伯
Original Assignee
高通公司
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 高通公司 filed Critical 高通公司
Publication of TW201710908A publication Critical patent/TW201710908A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1063Address 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 virtually addressed
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/655Same page detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/683Invalidation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/684TLB miss handling

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)
TW105115829A 2015-05-29 2016-05-20 用於記憶體管理單元之多執行緒轉換及異動重新排序 TW201710908A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562168712P 2015-05-29 2015-05-29
US14/859,351 US10007619B2 (en) 2015-05-29 2015-09-20 Multi-threaded translation and transaction re-ordering for memory management units

Publications (1)

Publication Number Publication Date
TW201710908A true TW201710908A (zh) 2017-03-16

Family

ID=57397568

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105115829A TW201710908A (zh) 2015-05-29 2016-05-20 用於記憶體管理單元之多執行緒轉換及異動重新排序

Country Status (9)

Country Link
US (1) US10007619B2 (enExample)
EP (1) EP3304320A1 (enExample)
JP (1) JP2018519581A (enExample)
KR (1) KR20180013924A (enExample)
CN (1) CN107710173A (enExample)
BR (1) BR112017025625A2 (enExample)
CA (1) CA2983797A1 (enExample)
TW (1) TW201710908A (enExample)
WO (1) WO2016195850A1 (enExample)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573911B2 (en) 2018-10-15 2023-02-07 Arm Limited Memory access control
TWI812748B (zh) * 2018-08-21 2023-08-21 南韓商三星電子股份有限公司 記憶體系統及刪除重複記憶體系統

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830224B2 (en) * 2013-03-15 2017-11-28 Nvidia Corporation Selective fault stalling for a GPU memory pipeline in a unified virtual memory system
US10509729B2 (en) * 2016-01-13 2019-12-17 Intel Corporation Address translation for scalable virtualization of input/output devices
US10228981B2 (en) 2017-05-02 2019-03-12 Intel Corporation High-performance input-output devices supporting scalable virtualization
US10635654B2 (en) * 2017-06-12 2020-04-28 Samsung Electronics Co., Ltd. Data journaling for large solid state storage devices with low DRAM/SRAM
US10649912B2 (en) * 2017-07-14 2020-05-12 International Business Machines Corporation Method and apparatus for an efficient TLB lookup
US20190087351A1 (en) * 2017-09-20 2019-03-21 Qualcomm Incorporated Transaction dispatcher for memory management unit
CN113127064B (zh) * 2019-12-31 2025-02-14 深圳云天励飞技术有限公司 一种并发调度和执行时序数据的方法及相关装置
KR102824954B1 (ko) * 2020-07-24 2025-06-25 한국전자통신연구원 병렬 처리 시스템에서의 메모리 액세스 제어 장치 및 메모리 액세스 제어 방법
US11636043B2 (en) * 2021-08-30 2023-04-25 International Business Machines Corporation Sleeping and waking-up address translation that conflicts with translation level of active page table walks

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010052053A1 (en) 2000-02-08 2001-12-13 Mario Nemirovsky Stream processing unit for a multi-streaming processor
EP1182571B1 (en) * 2000-08-21 2011-01-26 Texas Instruments Incorporated TLB operations based on shared bit
US20040103248A1 (en) * 2002-10-08 2004-05-27 Hass David T. Advanced telecommunications processor
US7434000B1 (en) 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core processor
US8347065B1 (en) 2006-11-01 2013-01-01 Glasco David B System and method for concurrently managing memory access requests
US7814253B2 (en) * 2007-04-16 2010-10-12 Nvidia Corporation Resource arbiter
US7904692B2 (en) * 2007-11-01 2011-03-08 Shrijeet Mukherjee Iommu with translation request management and methods for managing translation requests
US8271700B1 (en) * 2007-11-23 2012-09-18 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
US9086973B2 (en) 2009-06-09 2015-07-21 Hyperion Core, Inc. System and method for a cache in a multi-core processor
US8301865B2 (en) 2009-06-29 2012-10-30 Oracle America, Inc. System and method to manage address translation requests
US8386748B2 (en) * 2009-10-29 2013-02-26 Apple Inc. Address translation unit with multiple virtual queues
US8738860B1 (en) 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
US9606936B2 (en) * 2010-12-16 2017-03-28 Advanced Micro Devices, Inc. Generalized control registers
US8954986B2 (en) * 2010-12-17 2015-02-10 Intel Corporation Systems and methods for data-parallel processing
US8695008B2 (en) * 2011-04-05 2014-04-08 Qualcomm Incorporated Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
US9921967B2 (en) * 2011-07-26 2018-03-20 Intel Corporation Multi-core shared page miss handler
CN103348333B (zh) * 2011-12-23 2017-03-29 英特尔公司 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置
CN102763086A (zh) * 2012-01-18 2012-10-31 华为技术有限公司 分布式计算任务处理系统和任务处理方法
US9152566B2 (en) * 2012-06-15 2015-10-06 International Business Machines Corporation Prefetch address translation using prefetch buffer based on availability of address translation logic
US9069690B2 (en) 2012-09-13 2015-06-30 Intel Corporation Concurrent page table walker control for TLB miss handling
US10037228B2 (en) * 2012-10-25 2018-07-31 Nvidia Corporation Efficient memory virtualization in multi-threaded processing units
US20150100733A1 (en) 2013-10-03 2015-04-09 Synopsys, Inc. Efficient Memory Organization
US9411745B2 (en) 2013-10-04 2016-08-09 Qualcomm Incorporated Multi-core heterogeneous system translation lookaside buffer coherency
CN104484228B (zh) * 2014-12-30 2017-12-29 成都因纳伟盛科技股份有限公司 基于Intelli‑DSC的分布式并行任务处理系统
US20160210069A1 (en) * 2015-01-21 2016-07-21 Bitdefender IPR Management Ltd. Systems and Methods For Overriding Memory Access Permissions In A Virtual Machine
US10019380B2 (en) * 2015-09-25 2018-07-10 Qualcomm Incorporated Providing memory management functionality using aggregated memory management units (MMUs)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI812748B (zh) * 2018-08-21 2023-08-21 南韓商三星電子股份有限公司 記憶體系統及刪除重複記憶體系統
US12099736B2 (en) 2018-08-21 2024-09-24 Samsung Electronics Co., Ltd. Scalable architecture enabling large memory system for in-memory computations
US11573911B2 (en) 2018-10-15 2023-02-07 Arm Limited Memory access control
TWI807094B (zh) * 2018-10-15 2023-07-01 英商Arm股份有限公司 記憶體存取控制

Also Published As

Publication number Publication date
CA2983797A1 (en) 2016-12-08
EP3304320A1 (en) 2018-04-11
US10007619B2 (en) 2018-06-26
KR20180013924A (ko) 2018-02-07
WO2016195850A1 (en) 2016-12-08
JP2018519581A (ja) 2018-07-19
US20160350234A1 (en) 2016-12-01
BR112017025625A2 (pt) 2018-08-07
CN107710173A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
TW201710908A (zh) 用於記憶體管理單元之多執行緒轉換及異動重新排序
KR102407128B1 (ko) 메모리 컨트롤러
KR102693393B1 (ko) 재순서화 동안 캐시 일관성을 유지하기 위한 방법
US8751746B2 (en) QoS management in the L2 cache
US9690720B2 (en) Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
US9418018B2 (en) Efficient fill-buffer data forwarding supporting high frequencies
KR20250142839A (ko) PCIe 메모리 요청들의 라우팅을 촉진하기 위해 NVMe 물리적 영역 페이지 목록 포인터들 및 데이터 포인터들을 수정
CN111684427A (zh) 高速缓存控制感知的存储器控制器
US20230401060A1 (en) Processing unit, computing device and instruction processing method
US10331357B2 (en) Tracking stores and loads by bypassing load store units
US20140244920A1 (en) Scheme to escalate requests with address conflicts
US11893413B2 (en) Virtual channel support using write table
US9811467B2 (en) Method and an apparatus for pre-fetching and processing work for procesor cores in a network processor
CN113485643B (zh) 用于数据存取的方法及数据写入的控制器
US7529876B2 (en) Tag allocation method
US11748107B2 (en) Complex I/O value prediction for multiple values with physical or virtual addresses
US20140173225A1 (en) Reducing memory access time in parallel processors
US20140136796A1 (en) Arithmetic processing device and method for controlling the same
CN117940908B (zh) 动态分配高速缓存存储器作为ram
KR20220083849A (ko) 메모리 컨트롤러
US20250208863A1 (en) Control of instruction issue based on issue groups
CN120803967A (zh) 地址管理的命令处理方法、装置、电子设备及存储介质
CN119987858A (zh) 处理器核、处理器、计算设备和指令处理方法