CN107250994A - 基于作用的高速缓存相干性总线业务控制 - Google Patents
基于作用的高速缓存相干性总线业务控制 Download PDFInfo
- Publication number
- CN107250994A CN107250994A CN201680009417.1A CN201680009417A CN107250994A CN 107250994 A CN107250994 A CN 107250994A CN 201680009417 A CN201680009417 A CN 201680009417A CN 107250994 A CN107250994 A CN 107250994A
- Authority
- CN
- China
- Prior art keywords
- asid
- identifier
- cpu
- affairs
- coherence
- 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.)
- Pending
Links
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/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/622—State-only directory, i.e. not recording identity of sharing or owning nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
本发明描述一种用于基于事务属性而控制具体高速缓存的高速缓存窥探和/或失效相干性业务的方法。存储器管理单元MMU确定来自请求处理器的高速缓存相干性事务的一或多个事务属性。路由模块基于所述事务属性而识别可高速缓存性域和/或可共享性域,并将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。基于例如地址空间标识符ASID、虚拟机标识符VMID、安全位NS、管理程序标识符HYP等事务属性而选择性地路由相干性业务,而非将相干性业务路由到相干性总线上的所有高速缓存。
Description
技术领域
本发明的各方面大体上涉及处理器,且更确切地说,涉及基于处理器的作用的高速缓存相干性总线业务控制。
背景技术
现代计算机系统使用高速缓存以改善处理器存储器潜时和较慢存储器装置(例如双数据速率同步动态随机存取存储器(DDR SDRAM))的吞吐量。高速缓存在多个处理器之间的共享,或专用于处理器的子集。共享工作的处理器观测系统存储器的共同模式,使得按一致且定义次序观测读取和写入操作对存储器的影响。除非使高速缓存保持一致,否则存在违反存储器模型且不正确地观测存储器操作的影响的可能性。
高速缓存相干性事务是观测用于确保高速缓存保持一致且确保遵循存储器模型的规则的高速缓存当中的协议的事务。两种常规协议是窥探机制和失效机制。
在窥探机制中,在对任何给定高速缓存的写入操作上,高速缓存控制器验证更新了数据文件的传回到其它高速缓存的副本。在失效机制中,在对任何给定高速缓存的写入操作上,高速缓存控制器验证数据文件的副本不存在于其它高速缓存中。
随着组合处理器虚拟化、异构计算与具有大量处理器和高速缓存的系统的高度集成计算机系统的出现,计算机系统内的处理器中的每一个可以分时或同时方式执行多种任务。这些任务中的每一个在计算机系统内充当不同的作用,因此使用不同的资源。
在虚拟化多个操作系统的大规模平行计算机系统中,处理器的子集和其相关联高速缓存被指派到每一个别操作系统。此产生应保持一致的高速缓存的重叠集合。
举例来说,在异构型计算机中,除了需要相干性的异构计算任务以外,系统图形处理单元(GPU)还可执行不受益于与主中央处理单元(CPU)的高速缓存相干性的两个独立图形任务。多个中央处理单元(CPU)也可引入应在逐任务基础上维持相干性的高速缓存的不相交集合。在单处理器计算机系统中,安全需求可需要一些高速缓存用于安全任务且其它高速缓存用于非安全任务。
随计算机系统变得更大且更集成着,必须参与传统“全或无(all or nothing)”高速缓存相干性协议的高速缓存的集合按比例增大,在所述协议中针对所请求数据文件检查所有高速缓存。还伴随着与那些相干性事务相关联的频宽、能量使用、热产生和潜时的增加。确切地说,在移动系统中,但适用于所有计算机系统,与与相干性事务相关联的频宽、能量使用、热产生和潜时的增加相关联的成本是不合需要的。因此,需要用于仲裁高速缓存请求的改善型机制。
发明内容
本文中所描述的技术的一个实施方案是针对一种用于将相干性请求路由到计算系统中的一或多个高速缓存的方法,所述方法包括:确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;基于所述事务属性而识别可高速缓存性域和/或可共享性域;以及将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
本文中所描述的技术的另一实施方案是针对一种用于将相干性请求路由到计算系统中的一或多个高速缓存的设备,所述设备包括:存储器管理单元MMU,其经配置以确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;以及路由模块,其经配置以:基于所述事务属性而识别可高速缓存性域和/或可共享性域,并将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
另一实施方案是针对一种用于将相干性请求路由到计算系统中的一或多个高速缓存的设备,所述设备包括:用于确定来自请求处理器的高速缓存相干性事务的一或多个事务属性的装置;用于基于所述事务属性而识别可高速缓存性域和/或可共享性域的装置;以及用于将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存的装置。
又另一实施方案是针对一种包含信息的计算机可读存储媒体,所述信息在由机器存取时致使所述机器执行用于将相干性请求路由到计算系统中的一或多个高速缓存的操作,所述操作包括以下各者:确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;基于所述事务属性而识别可高速缓存性域和/或可共享性域;以及将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
所述发明内容是在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。此发明内容并不意图识别所主张标的物的关键或基本特征,并且也不意图被用作辅助确定所主张标的物的范围。
附图说明
呈现附图以协助描述本文中所描述的技术的实施方案,且提供所述图式仅用于说明实施方案而非对其加以限制。
图1是根据本文中所描述的技术的一或多个实施方案的适合于实施基于作用的高速缓存相干性业务控制的实例环境的框图。
图2更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的图形处理单元(GPU)。
图3更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的数字信号处理器(DSP)。
图4更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的中央处理单元(CPU)中的一个。
图5更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的中央处理单元(CPU)中的另一个。
图6更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的中央处理单元(CPU)中的另一个。
图7更详细地说明根据本文中所描述的技术的一或多个实施方案的图1中所描绘的中央处理单元(CPU)中的另一个。
图8是说明根据本文中所描述的技术的一或多个实施方案的用于实施基于作用的高速缓存相干性业务减少的方法的实例流程图。
图9是说明根据本文中所描述的技术的一或多个实施方案而配置的无线装置的框图。
具体实施方式参考附图。在图中,参考标号最左边的数字识别所述参考标号在其中首先出现的图。贯穿图式使用相同数字以指代相同特征和组件。
具体实施方式
大体来说,本文中所公开的标的物是针对基于事务属性而控制具体高速缓存的高速缓存窥探和/或失效相干性业务。事务属性识别在计算系统内起始相干性事务的处理器的特定作用。而非将相干性业务路由到相干性总线上的所有高速缓存,本文中所描述的技术的实施方案基于如由事务属性界定的请求处理器的作用而路由相干性业务。
图1是根据本文中所描述的技术的一或多个实施方案的适合于实施基于作用的高速缓存相干性业务控制的实例环境100的框图。所说明环境100如所说明而耦合的包含图形处理单元(GPU)102、数字信号处理器(DSP)104、中央处理单元(CPU)106、中央处理单元(CPU)108、中央处理单元(CPU)110与中央处理单元(CPU)112。
所说明图形处理单元(GPU)102包含0级高速缓存114。所说明图形处理单元(GPU)102耦合到存储器管理单元(MMU)116、路由模块118和2级高速缓存120。
所说明中央处理单元(CPU)106包含0级高速缓存122。所说明中央处理单元(CPU)108包含0级高速缓存124。中央处理单元(CPU)106和中央处理单元(CPU)108耦合到存储器管理单元(MMU)126、路由模块128和2级高速缓存130。
所说明中央处理单元(CPU)110包含0级高速缓存132。所说明中央处理单元(CPU)112包含0级高速缓存134。中央处理单元(CPU)110和中央处理单元(CPU)112耦合到存储器管理单元(MMU)136、路由模块138和2级高速缓存140。
所说明数字信号处理器(DSP)104包含0级高速缓存142。所说明数字信号处理器(DSP)104耦合到存储器管理单元(MMU)144、路由模块146和2级高速缓存148。
所说明图形处理单元(GPU)102、0级高速缓存114、存储器管理单元(MMU)116、路由模块118和2级高速缓存120与内部可高速缓存性域150相关联。
所说明中央处理单元(CPU)106、中央处理单元(CPU)108、0级高速缓存122、0级高速缓存124、存储器管理单元(MMU)126、路由模块128和2级高速缓存130与内部可高速缓存性域152相关联。所说明中央处理单元(CPU)110、中央处理单元(CPU)112、0级高速缓存132、0级高速缓存134、存储器管理单元(MMU)136、路由模块138和2级高速缓存140也与内部可高速缓存性域152相关联。
在内部可高速缓存性域152中意味着中央处理单元(CPU)106和中央处理单元(CPU)108可与中央处理单元(CPU)110和中央处理单元(CPU)112共享其2级高速缓存130。同样地,中央处理单元(CPU)110和中央处理单元(CPU)112可与中央处理单元(CPU)106和中央处理单元(CPU)108共享其2级高速缓存140。
所说明数字信号处理器(DSP)104、0级高速缓存142、存储器管理单元(MMU)144、路由模块146和2级高速缓存148与内部可高速缓存性域154相关联。内部可高速缓存性由待存取的高速缓存中的页面的页表中所设置的一个位指示。
内部可高速缓存性域152与内部可高速缓存性域/内部可共享性域156相关联。内部可共享性由待存取的高速缓存中的页面的页表中的一个位指示。
内部可高速缓存性域150、内部可高速缓存性域154和内部可高速缓存性域/内部可共享性域156与外部可共享性域158相关联。外部可共享性由待存取的高速缓存中的页面的页表中的一个位指示。
在所说明环境100中,外部可共享性域158中的组件耦合到相干性总线160。与外部可高速缓存性域164和主存储器166相关联的3级高速缓存162也耦合到相干性总线160。外部可共享性由待存取的高速缓存中的页面的页表中的一个位指示。
常规上,2级高速缓存120、130、140、和148与外部可共享性域158相关联意味着2级高速缓存120、130、140、和148可由图形处理单元(GPU)102、数字信号处理器(DSP)104、中央处理单元(CPU)106、中央处理单元(CPU)108、中央处理单元(CPU)110和中央处理单元(CPU)112存取。此外,在0级高速缓存114、122、124、132、134或142中的任一个中的高速缓存未命中的情况下,所有窥探和失效相干性业务发送到2级高速缓存120、130、140、和148中的每一个。无法将窥探和失效相干性业务仅限于图形处理单元(GPU)102、仅限于数字信号处理器(DSP)104或仅限于中央处理单元(CPU)106、108、110或112。
在本文中所描述的技术的一或多个实施方案中,除了使用特定页面的内部可高速缓存性位、内部可共享性位、内部可高速缓存性位和外部可高速缓存性位以外,路由模块118、128、138和146利用其它事务属性以将窥探和失效相干性业务路由到较小数目个2级高速缓存。事务属性识别在计算环境100内起始相干性事务的处理器的特定作用。
举例来说,地址空间标识符(ASID)可指示在图形处理单元(GPU)102中起始了相干性事务。因此,由地址空间标识符(ASID)识别的处理器核心执行图形处理单元(GPU)的作用。
类似地,地址空间标识符(ASID)可指示在数字信号处理器(DSP)104中起始了相干性事务。因此,由地址空间标识符(ASID)识别的处理器核心执行数字信号处理作用。
同样地,地址空间标识符(ASID)可指示在中央处理单元(CPU)106、中央处理单元(CPU)108、中央处理单元(CPU)110或中央处理单元(CPU)112中起始了相干性事务。因此,由相应地址空间标识符(ASIDs)识别的处理器核心可执行通用处理作用。
本文中所描述的技术的实施方案可预先确定与特定地址空间标识符(ASID)相关联的特定过程通常存取特定资源,例如,与图形处理单元(GPU)102相关联的过程通常存取中央处理单元(CPU)106。一个实施方案可识别与那个地址空间标识符(ASID)相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
举例来说,如果基于地址空间标识符(ASID)所识别的可高速缓存性域和/或可共享性域仅包含图形处理单元(GPU)102和中央处理单元(CPU)106,那么来自图形处理单元(GPU)102的相干性事务将不路由到数字信号处理器(DSP)104,这是因为数字信号处理器(DSP)104不在那个可高速缓存性域和/或可共享性域中。
减小被窥探和/或失效的高速缓存的数目可减少环境100中的相干性总线160业务。减小被窥探和/或失效的高速缓存的数目还可降低环境100中的功耗,这是因为不在特定可高速缓存性域和/或可共享性域中的高速缓存不必从低功率模式唤醒以服务相干性事务。
在一或多个实施方案中,虚拟机标识符(VMID)和地址空间标识符(ASID)可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由图形处理单元(GPU)102中的管理程序起始。可针对与那个虚拟机标识符(VMID)和那个地址空间标识符(ASID)相关联的过程而识别可高速缓存性域和/或可共享性域,以使得与那个虚拟机标识符(VMID)和那个地址空间标识符(ASID)相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个虚拟机标识符(VMID)和那个地址空间标识符(ASID)相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
在一或多个实施方案中,管理程序标识符(HYP)和地址空间标识符(ASID)可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由图形处理单元(GPU)102中的管理程序起始。可针对与那个管理程序标识符(HYP)和那个地址空间标识符(ASID)相关联的过程而识别可高速缓存性域和/或可共享性域,以使得与那个管理程序标识符(HYP)和那个地址空间标识符(ASID)相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个管理程序标识符(HYP)和那个地址空间标识符(ASID)相关联的相干性事务并不路由到那个特定可高速缓存性域和/或可共享性域外部。
在一或多个实施方案中,安全根标识符(NS)和地址空间标识符(ASID)可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由图形处理单元(GPU)102中的安全根起始。可针对与那个安全根标识符(NS)和那个地址空间标识符(ASID)相关联的过程而识别可高速缓存性域和/或可共享性域,以使得与那个安全根标识符(NS)和那个地址空间标识符(ASID)相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个安全根标识符(NS)和那个地址空间标识符(ASID)相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。在一或多个实施方案中,可使用相关联存储器管理单元(MMU)中的配置位来识别事务属性。
图2更详细地说明根据本文中所描述的技术的一或多个实施方案的图形处理单元(GPU)102。图2中所说明的图形处理单元(GPU)102可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明图形处理单元(GPU)102与地址空间标识符(ASID)204相关联。图形处理单元(GPU)102执行安全根206,安全根206与安全根标识符(NS)208相关联。
图形处理单元(GPU)102还执行安全应用程序210、管理程序212和管理程序214。管理程序212与虚拟机标识符(VMID)216相关联。管理程序214与虚拟机标识符(VMID)218相关联。
所说明图形处理单元(GPU)102还执行操作系统(OS)220、操作系统(OS)222、操作系统(OS)224和操作系统(OS)226。操作系统(OS)220与管理程序标识符(HYP)228相关联。操作系统(OS)222与管理程序标识符(HYP)230相关联。操作系统(OS)224与管理程序标识符(HYP)232相关联。操作系统(OS)226与管理程序标识符(HYP)234相关联。
包含地址空间标识符(ASID)204的相干性事务指示相干性事务由图形处理单元(GPU)102起始。包含虚拟机标识符(VMID)216和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由管理程序212起始。包含虚拟机标识符(VMID)218和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由管理程序214起始。
包含管理程序标识符(HYP)228和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由操作系统(OS)220起始。包含管理程序标识符(HYP)230和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由操作系统(OS)222起始。
包含管理程序标识符(HYP)232和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由操作系统(OS)224起始。包含管理程序标识符(HYP)234和地址空间标识符(ASID)204的相干性事务可不仅指示在图形处理单元(GPU)102中起始了相干性事务,而且指示相干性事务由操作系统(OS)226起始。
一个实施方案可识别与那个地址空间标识符(ASID)204相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)204相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)204相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。一旦已识别了事务属性,那么可使用相干性总线160来根据已知管理而识别可高速缓存性域和/或可共享性域。
举例来说,如果基于地址空间标识符(ASID)204所识别的可高速缓存性域和/或可共享性域仅包含图形处理单元(GPU)102和中央处理单元(CPU)106,那么来自与地址空间标识符(ASID)204相关联的图形处理单元(GPU)102和中央处理单元(CPU)106的相干性事务将不会路由到数字信号处理器(DSP)104,这是因为数字信号处理器(DSP)104不在与地址空间标识符(ASID)204相关联的可高速缓存性域和/或可共享性域中。
图3更详细地说明根据本文中所描述的技术的一或多个实施方案的数字信号处理器(DSP)104。图3中所说明的数字信号处理器(DSP)104可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明数字信号处理器(DSP)104与地址空间标识符(ASID)304相关联。数字信号处理器(DSP)104执行安全根306,安全根306与安全根标识符(NS)308相关联。
数字信号处理器(DSP)104还执行安全应用程序310和管理程序312、管理程序314。管理程序312与虚拟机标识符(VMID)316相关联。管理程序314与虚拟机标识符(VMID)318相关联。
所说明数字信号处理器(DSP)104还执行操作系统(OS)320、操作系统(OS)322、操作系统(OS)324和操作系统(OS)326。操作系统(OS)320与管理程序标识符(HYP)328相关联。操作系统(OS)322与管理程序标识符(HYP)330相关联。操作系统(OS)324与管理程序标识符(HYP)332相关联。操作系统(OS)326与管理程序标识符(HYP)334相关联。
包含地址空间标识符(ASID)304的相干性事务指示相干性事务由数字信号处理器(DSP)104起始。包含虚拟机标识符(VMID)316和地址空间标识符(ASID)304的相干性事务可指示不仅在数字信号处理器(DSP)104中起始相干性事务,而且相干性事务由管理程序312起始。包含虚拟机标识符(VMID)318和地址空间标识符(ASID)304的相干性事务可指示不仅在数字信号处理器(DSP)104中起始相干性事务,而且相干性事务由管理程序314起始。
包含管理程序标识符(HYP)328和地址空间标识符(ASID)304的相干性事务可指示不仅在数字信号处理器(DSP)104中起始相干性事务,而且相干性事务由操作系统(OS)320起始。包含管理程序标识符(HYP)330和地址空间标识符(ASID)304的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由操作系统(OS)322起始。
包含管理程序标识符(HYP)332和地址空间标识符(ASID)304的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由操作系统(OS)324起始。包含管理程序标识符(HYP)334和地址空间标识符(ASID)304的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由操作系统(OS)326起始。
一个实施方案可识别与那个地址空间标识符(ASID)304相关联的过程的可高速缓存性域和/或可共享性域,以使得与此事务属性相关联的相干性事务仅路由到相关联可高速缓存性域和/或可共享性域中的高速缓存。
举例来说,如果基于地址空间标识符(ASID)304所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104和中央处理单元(CPU)106,那么来自与地址空间标识符(ASID)304相关联的数字信号处理器(DSP)104的相干性事务将不路由到中央处理单元(CPU)108,这是因为中央处理单元(CPU)108不在与地址空间标识符(ASID)304相关联的可高速缓存性域和/或可共享性域中。
当然,可使用安全根标识符(NS)308、虚拟机标识符(VMID)316、虚拟机标识符(VMID)318、管理程序标识符(HYP)328、管理程序标识符(HYP)330、管理程序标识符(HYP)332或管理程序标识符(HYP)334的任何组合来进一步限制与地址空间标识符(ASID)304相关联的可高速缓存性域和/或可共享性域。这些其它事务属性与相关联空间标识符(ASID)304的耦合可进一步窄化对待窥探或失效的高速缓存的选择。
图4更详细地说明根据本文中所描述的技术的一或多个实施方案的的中央处理单元(CPU)106。图4中所说明的中央处理单元(CPU)106可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明中央处理单元(CPU)106与地址空间标识符(ASID)404相关联。中央处理单元(CPU)106执行安全根406,安全根406与安全根标识符(NS)408相关联。
中央处理单元(CPU)106还执行安全应用程序410和管理程序412、管理程序414。管理程序412与虚拟机标识符(VMID)416相关联。管理程序414与虚拟机标识符(VMID)418相关联。
所说明中央处理单元(CPU)106还执行操作系统(OS)420、操作系统(OS)422、操作系统(OS)424和操作系统(OS)426。操作系统(OS)420与管理程序标识符(HYP)428相关联。操作系统(OS)422与管理程序标识符(HYP)430相关联。操作系统(OS)424与管理程序标识符(HYP)432相关联。操作系统(OS)426与管理程序标识符(HYP)434相关联。
包含地址空间标识符(ASID)404的相干性事务指示相干性事务由中央处理单元(CPU)106起始。包含虚拟机标识符(VMID)416和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由管理程序412起始。包含虚拟机标识符(VMID)418和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由管理程序414起始。
包含地址管理程序标识符(HYP)428和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由操作系统(OS)420起始。包含管理程序标识符(HYP)430和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由操作系统(OS)422起始。
包含管理程序标识符(HYP)432和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由操作系统(OS)424起始。包含管理程序标识符(HYP)434和地址空间标识符(ASID)404的相干性事务可不仅指示在中央处理单元(CPU)106中起始了相干性事务,而且指示相干性事务由操作系统(OS)426起始。
一个实施方案可识别与那个地址空间标识符(ASID)404相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)404相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)404相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
举例来说,如果基于地址空间标识符(ASID)404所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104和中央处理单元(CPU)106,那么来自与地址空间标识符(ASID)404相关联的数字信号处理器(DSP)104和中央处理单元(CPU)106的相干性事务将不路由到中央处理单元(CPU)108,这是因为中央处理单元(CPU)108不在与地址空间标识符(ASID)404相关联的那个可高速缓存性域和/或可共享性域中。
类似地,如果基于地址空间标识符(ASID)404所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104、中央处理单元(CPU)106和中央处理单元(CPU)112,那么来自与地址空间标识符(ASID)404相关联的数字信号处理器(DSP)104、中央处理单元(CPU)106和中央处理单元(CPU)112的相干性事务将不路由到中央处理单元(CPU)108,这是因为中央处理单元(CPU)108不在与地址空间标识符(ASID)404相关联的可高速缓存性域和/或可共享性域中。
当然,可使用安全根标识符(NS)408、虚拟机标识符(VMID)416、虚拟机标识符(VMID)418、管理程序标识符(HYP)428、管理程序标识符(HYP)430、管理程序标识符(HYP)432或管理程序标识符(HYP)434的任何组合来进一步限制与地址空间标识符(ASID)404相关联的可高速缓存性域和/或可共享性域。这些其它事务属性与相关联空间标识符(ASID)404的耦合可进一步窄化对待窥探或失效的高速缓存的选择。
图5更详细地说明根据本文中所描述的技术的一或多个实施方案的中央处理单元(CPU)108。图5中所说明的中央处理单元(CPU)108可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明中央处理单元(CPU)108与地址空间标识符(ASID)504相关联。中央处理单元(CPU)108执行安全根506,安全根506与安全根标识符(NS)508相关联。
中央处理单元(CPU)108还执行安全应用程序510和管理程序512、管理程序514。管理程序512与虚拟机标识符(VMID)516相关联。管理程序514与虚拟机标识符(VMID)518相关联。
所说明中央处理单元(CPU)108还执行操作系统(OS)520、操作系统(OS)522、操作系统(OS)524和操作系统(OS)526。操作系统(OS)520与管理程序标识符(HYP)528相关联。操作系统(OS)522与管理程序标识符(HYP)530相关联。操作系统(OS)524与管理程序标识符(HYP)532相关联。操作系统(OS)526与管理程序标识符(HYP)534相关联。
包含地址空间标识符(ASID)504的相干性事务指示相干性事务由中央处理单元(CPU)108起始。包含虚拟机标识符(VMID)516和地址空间标识符(ASID)504的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序512起始。包含虚拟机标识符(VMID)518和地址空间标识符(ASID)504的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序514起始。
包含管理程序标识符(HYP)528和地址空间标识符(ASID)504的相干性事务可不仅指示在中央处理单元(CPU)108中起始了相干性事务,而且指示相干性事务由操作系统(OS)520起始。包含管理程序标识符(HYP)530和地址空间标识符(ASID)504的相干性事务可不仅指示在中央处理单元(CPU)108中起始了相干性事务,而且指示相干性事务由操作系统(OS)522起始。
包含管理程序标识符(HYP)532和地址空间标识符(ASID)504的相干性事务可不仅指示在中央处理单元(CPU)108中起始了相干性事务,而且指示相干性事务由操作系统(OS)524起始。包含管理程序标识符(HYP)534和地址空间标识符(ASID)504的相干性事务可不仅指示在中央处理单元(CPU)108中起始了相干性事务,而且指示相干性事务由操作系统(OS)526起始。
一个实施方案可识别与那个地址空间标识符(ASID)504相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)504相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)504相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
举例来说,如果基于地址空间标识符(ASID)504所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104和中央处理单元(CPU)108,那么来自数字信号处理器(DSP)104和中央处理单元(CPU)108的相干性事务将不路由到中央处理单元(CPU)112,这是因为中央处理单元(CPU)112不在与那个地址空间标识符(ASID)504相关联的那个可高速缓存性域和/或可共享性域中。
类似地,如果基于地址空间标识符(ASID)504所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104、中央处理单元(CPU)108和中央处理单元(CPU)112,那么来自数字信号处理器(DSP)104、中央处理单元(CPU)108和中央处理单元(CPU)112的相干性事务将不路由到中央处理单元(CPU)110,这是因为中央处理单元(CPU)110不在与地址空间标识符(ASID)504相关联的可高速缓存性域和/或可共享性域中。
当然,可使用安全根标识符(NS)508、虚拟机标识符(VMID)516、虚拟机标识符(VMID)518、管理程序标识符(HYP)528、管理程序标识符(HYP)530、管理程序标识符(HYP)532或管理程序标识符(HYP)534的任何组合来进一步限制与地址空间标识符(ASID)504相关联的可高速缓存性域和/或可共享性域。这些其它事务属性与相关联空间标识符(ASID)504的耦合可进一步窄化对待窥探或失效的高速缓存的选择。
图6更详细地说明根据本文中所描述的技术的一或多个实施方案的中央处理单元(CPU)110。图6中所说明的中央处理单元(CPU)110可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明中央处理单元(CPU)110与地址空间标识符(ASID)604相关联。中央处理单元(CPU)110执行安全根606,安全根606与安全根标识符(NS)608相关联。
中央处理单元(CPU)110还执行安全应用程序610和管理程序612、管理程序614。管理程序612与虚拟机标识符(VMID)616相关联。管理程序614与虚拟机标识符(VMID)618相关联。
所说明中央处理单元(CPU)110还执行操作系统(OS)620、操作系统(OS)622、操作系统(OS)624和操作系统(OS)626。操作系统(OS)620与管理程序标识符(HYP)628相关联。操作系统(OS)622与管理程序标识符(HYP)630相关联。操作系统(OS)624与管理程序标识符(HYP)632相关联。操作系统(OS)626与管理程序标识符(HYP)634相关联。
包含地址空间标识符(ASID)604的相干性事务指示相干性事务由中央处理单元(CPU)110起始。包含虚拟机标识符(VMID)616和地址空间标识符(ASID)604的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序612起始。包含虚拟机标识符(VMID)618和地址空间标识符(ASID)604的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序614起始。
包含管理程序标识符(HYP)628和地址空间标识符(ASID)604的相干性事务可不仅指示在中央处理单元(CPU)110中起始了相干性事务,而且指示相干性事务由操作系统(OS)620起始。包含管理程序标识符(HYP)630和地址空间标识符(ASID)604的相干性事务可不仅指示在中央处理单元(CPU)110中起始了相干性事务,而且指示相干性事务由操作系统(OS)622起始。
包含管理程序标识符(HYP)632和地址空间标识符(ASID)604的相干性事务可不仅指示在中央处理单元(CPU)110中起始了相干性事务,而且指示相干性事务由操作系统(OS)624起始。包含管理程序标识符(HYP)634和地址空间标识符(ASID)604的相干性事务可不仅指示在中央处理单元(CPU)110中起始了相干性事务,而且指示相干性事务由操作系统(OS)626起始。
一个实施方案可识别与那个地址空间标识符(ASID)604相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)404相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)604相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
举例来说,如果基于地址空间标识符(ASID)604所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104和中央处理单元(CPU)110,那么来自数字信号处理器(DSP)104或中央处理单元(CPU)110的相干性事务将不路由到中央处理单元(CPU)112,这是因为中央处理单元(CPU)112不在与地址空间标识符(ASID)604相关联的可高速缓存性域和/或可共享性域中。
类似地,如果基于地址空间标识符(ASID)604所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104、中央处理单元(CPU)110和中央处理单元(CPU)112,那么来自数字信号处理器(DSP)104、中央处理单元(CPU)110和中央处理单元(CPU)112的相干性事务将不路由到中央处理单元(CPU)106,这是因为中央处理单元(CPU)106不在与地址空间标识符(ASID)604相关联的可高速缓存性域和/或可共享性域中。
当然,可使用安全根标识符(NS)608、虚拟机标识符(VMID)616、虚拟机标识符(VMID)618、管理程序标识符(HYP)628、管理程序标识符(HYP)630、管理程序标识符(HYP)632或管理程序标识符(HYP)634的任何组合来进一步限制与地址空间标识符(ASID)604相关联的可高速缓存性域和/或可共享性域。这些其它事务属性与相关联空间标识符(ASID)604的耦合可进一步窄化对待窥探或失效的高速缓存的选择。
图7更详细地说明根据本文中所描述的技术的一或多个实施方案的中央处理单元(CPU)112。图7中所说明的中央处理单元(CPU)112可用以识别如上文参考图1所描述的可高速缓存性域和/或可共享性域。所说明中央处理单元(CPU)112与地址空间标识符(ASID)704相关联。中央处理单元(CPU)112执行安全根706,安全根706与安全根标识符(NS)708相关联。
中央处理单元(CPU)112还执行安全应用程序710和管理程序712、管理程序714。管理程序712与虚拟机标识符(VMID)716相关联。管理程序714与虚拟机标识符(VMID)718相关联。
所说明中央处理单元(CPU)112还执行操作系统(OS)720、操作系统(OS)722、操作系统(OS)724和操作系统(OS)726。操作系统(OS)720与管理程序标识符(HYP)728相关联。操作系统(OS)722与管理程序标识符(HYP)730相关联。操作系统(OS)724与管理程序标识符(HYP)732相关联。操作系统(OS)726与管理程序标识符(HYP)734相关联。
包含地址空间标识符(ASID)704的相干性事务指示相干性事务由中央处理单元(CPU)112起始。包含虚拟机标识符(VMID)716和地址空间标识符(ASID)704的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序712起始。包含虚拟机标识符(VMID)718和地址空间标识符(ASID)704的相干性事务可不仅指示在数字信号处理器(DSP)104中起始了相干性事务,而且指示相干性事务由管理程序714起始。
包含管理程序标识符(HYP)728和地址空间标识符(ASID)704的相干性事务可不仅指示在中央处理单元(CPU)112中起始了相干性事务,而且指示相干性事务由操作系统(OS)720起始。包含管理程序标识符(HYP)730和地址空间标识符(ASID)704的相干性事务可不仅指示在中央处理单元(CPU)112中起始了相干性事务,而且指示相干性事务由操作系统(OS)722起始。
包含管理程序标识符(HYP)732和地址空间标识符(ASID)704的相干性事务可不仅指示在中央处理单元(CPU)112中起始了相干性事务,而且指示相干性事务由操作系统(OS)724起始。包含管理程序标识符(HYP)734和地址空间标识符(ASID)704的相干性事务可不仅指示在中央处理单元(CPU)112中起始了相干性事务,而且指示相干性事务由操作系统(OS)726起始。
一个实施方案可识别与那个地址空间标识符(ASID)704相关联的过程的可高速缓存性域和/或可共享性域,以使得与那个地址空间标识符(ASID)704相关联的相干性事务仅路由到那个可高速缓存性域和/或可共享性域中的高速缓存。与那个地址空间标识符(ASID)704相关联的相干性事务并不路由于那个特定可高速缓存性域和/或可共享性域外部。
举例来说,如果基于地址空间标识符(ASID)704所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104和中央处理单元(CPU)112,那么来自数字信号处理器(DSP)104或中央处理单元(CPU)112的相干性事务将不路由到图形处理单元(GPU)102,这是因为图形处理单元(GPU)102不在与地址空间标识符(ASID)704相关联的可高速缓存性域和/或可共享性域中。
类似地,如果基于地址空间标识符(ASID)704所识别的可高速缓存性域和/或可共享性域仅包含数字信号处理器(DSP)104、中央处理单元(CPU)112和中央处理单元(CPU)112,那么来自数字信号处理器(DSP)104、中央处理单元(CPU)112和中央处理单元(CPU)112的相干性事务将不路由到中央处理单元(CPU)112,这是因为中央处理单元(CPU)112不在与地址空间标识符(ASID)704相关联的可高速缓存性域和/或可共享性域中。
当然,可使用安全根标识符(NS)708、虚拟机标识符(VMID)716、虚拟机标识符(VMID)718、管理程序标识符(HYP)728、管理程序标识符(HYP)730、管理程序标识符(HYP)732或管理程序标识符(HYP)734的任何组合来进一步限制与地址空间标识符(ASID)704相关联的可高速缓存性域和/或可共享性域。这些其它事务属性与相关联空间标识符(ASID)704的耦合可进一步窄化对待窥探或失效的高速缓存的选择。
图8是说明用于将相干性请求路由到计算系统中的一或多个高速缓存的方法800的实例流程图。
在框802中,方法800确定来自请求处理器的高速缓存相干性事务的一或多个事务属性。在一或多个实施方案中,方法800确定来自图形处理单元(GPU)102、数字信号处理器(DSP)104、中央处理单元(CPU)106、中央处理单元(CPU)108、中央处理单元(CPU)110或中央处理单元(CPU)112的高速缓存相干性事务的一或多个事务属性。
在框804中,方法800基于事务属性而识别可高速缓存性域和/或可共享性域。在一或多个实施方案中,相关联路由模块基于请求处理器的地址空间标识符(ASID)、安全根标识符(NS)、虚拟机标识符(VMID)或管理程序标识符(HYP)而识别可高速缓存性域和/或可共享性域。
在框808中,方法800将高速缓存相干性事务路由到所识别可高速缓存性域和/或可共享性域中的一或多个高速缓存。在一或多个实施方案中,相关联路由模块将相干性请求路由到选定的2级高速缓存。
图9说明根据本文中所描述的技术的一或多个实施方案而配置的无线装置900。所说明系统900适合于实施基于作用的高速缓存相干性总线业务减少,且可集成到机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、移动电话、智能电话、膝上型计算机、固定位置数据单元或计算机中。
所说明无线装置900包含系统级封装或芯片上系统装置902(即,集成电路)、显示器904、输入装置906、扬声器908、麦克风910、天线912和电源914。所说明系统级封装或芯片上系统装置902包含显示器控制器916、无线控制器918、编解码器920、存储器922(其可以是存储器166)和处理器102,处理器102可以是图形处理单元(GPU)102、数字信号处理器(DSP)104、中央处理单元(CPU)106、中央处理单元(CPU)108、中央处理单元(CPU)110和/或中央处理单元(CPU)112。
所说明显示器904耦合到显示器控制器916,显示器控制器916耦合到处理器924。所说明扬声器908和麦克风910耦合到编解码器(CODEC)920,编解码器920耦合到处理器924。所说明天线912耦合到无线控制器918,无线控制器918耦合到处理器924。
所说明处理器924可对应于图2到7中所描绘的过程中的任一个,且可与如参考这些图所描述的地址空间标识符(ASID)、安全根标识符(NS)、虚拟机标识符(VMID)和管理程序标识符(HYP)相关联。
无线控制器1018可包含调制解调器。编解码器1020可以是音频和/或话音编解码器。
以上描述和相关图式中公开的技术的方面涉及具体实施方案。可在不脱离本文中所公开的技术的范围的情况下设计替代性实施方案。另外,不详细地描述或省略本文中所公开的技术的众所周知的元件,以免混淆本文中所公开的技术的相关细节。
此外,词语“示范性”在本文中用以意指“充当实例、例子或说明”。本文中描述为“示范性”的任何实施方案未必应解释为比其它实施方案优选或有利。同样地,术语“实施方案”不要求本文中所描述的技术的所有实施方案包含所论述特征、优点或操作模式。
本文中所使用的术语仅仅是为了描述特定实施方案的目的,且并不意图限制本文中所描述的技术的实施方案。如本文所使用,除非上下文另外清楚地指示,否则单数形式“一”和“所述”意图还包含复数形式。应进一步理解,术语“包括”和/或“包含”当在本文中使用时指定所陈述特征、整数、步骤、操作、元件和/或组件的存在,但并不排除一或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
此外,根据待由(例如)计算装置的元件执行的动作的序列而描述许多实施方案。应认识到,可由特定电路(例如,专用集成电路(ASIC))、由正由一或多个处理器执行的程序指令或由两者的组合来执行本文中所描述的各种动作。此外,本文中所描述的动作的这些序列可被认为是完全实施于在其中存储有计算机指令的对应集合的任何形式的电脑可读存储媒体内,所述计算机指令在执行时将致使相关联处理器执行本文中所描述的功能性。因此,本文中所公开的技术的各方面可以许多不同形式加以实施,所有形式已预期处于所主张标的物的范围内。另外,对于本文中所描述的实施方案中的每一个,任何此类实施方案的对应形式可在本文中描述为(例如)经配置以执行所描述动作的逻辑。
所属领域的技术人员将了解,可使用多种不同技术和技艺中的任一个来表示信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可使用可贯穿上文描述参考的数据、指令、命令、位、符号和芯片所表示的信息和信号。
另外,所属领域的技术人员将了解,与本文中所公开的实施方案一起描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上就其功能性来说描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用和施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述功能性,但此类实施决策不应被解释为引起偏离本文中所公开的技术的范围。
结合本文中所公开的实施方案所描述的方法、序列和/或算法可直接以硬件、以由处理器执行的软件模块、或以两者的组合予以实施。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动的磁盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。实例存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可以与处理器成一体式。
因此,本文中所公开的技术的实施方案可包含包括实施基于作用的高速缓存相干性总线业务控制的方法的计算机可读媒体。因此,实施方案不限于所说明实例,且用于执行本文中所描述的功能性的任何装置包含于实施方案中。
虽然前述公开内容展示本文中所公开的技术的说明性实施方案,但是应注意,在不脱离由所附权利要求书界定的标的物的范围的情况下,可在本文中进行各种改变和修改。不需要以任何特定次序执行根据本文中所描述的技术的实施方案的方法权利要求的功能、步骤和/或动作。此外,虽然可以单数形式描述或主张本文中所公开的技术的实施方案的元件,但是除非明确陈述限于单数形式,否则也涵盖复数形式。
Claims (30)
1.一种用于将相干性请求路由到计算系统中的一或多个高速缓存的方法,所述方法包括:
确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;
基于所述事务属性而识别可高速缓存性域和/或可共享性域;以及
将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
2.根据权利要求1所述的方法,其中所述一或多个事务属性包含地址空间标识符ASID。
3.根据权利要求1所述的方法,其中所述一或多个事务属性包含虚拟机标识符VMID。
4.根据权利要求1所述的方法,其中所述一或多个事务属性包含安全根标识符NS。
5.根据权利要求1所述的方法,其中所述一或多个事务属性包含管理程序标识符HYP。
6.根据权利要求1所述的方法,其中所述一或多个事务属性包含选自由以下各者组成的群组中的至少两个:所述请求处理器的地址空间标识符ASID、虚拟机标识符VMID、安全根标识符NS和管理程序标识符HYP。
7.根据权利要求1所述的方法,其中所述请求处理器是图形处理单元GPU或数字信号处理器DSP。
8.一种用于将相干性请求路由到计算系统中的一或多个高速缓存的设备,所述设备包括:
存储器管理单元MMU,其经配置以确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;以及
路由模块,其经配置以:
基于所述事务属性而识别可高速缓存性域和/或可共享性域,并将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
9.根据权利要求8所述的设备,其中所述一或多个事务属性包含地址空间标识符ASID。
10.根据权利要求8所述的设备,其中所述一或多个事务属性包含虚拟机标识符VMID。
11.根据权利要求8所述的设备,其中所述一或多个事务属性包含安全根标识符NS。
12.根据权利要求8所述的设备,其中所述一或多个事务属性包含管理程序标识符HYP。
13.根据权利要求8所述的设备,其中所述一或多个事务属性包含选自由以下各者组成的群组中的至少两个:所述请求处理器的地址空间标识符ASID、虚拟机标识符VMID、安全根标识符NS和管理程序标识符HYP。
14.根据权利要求8所述的设备,其中所述请求处理器是图形处理单元GPU和数字信号处理器DSP。
15.根据权利要求8所述的设备,其中所述请求处理器集成于集成电路中。
16.根据权利要求15所述的设备,其中所述集成电路集成到选自由以下各者组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元和计算机。
17.一种用于将相干性请求路由到计算系统中的一或多个高速缓存的设备,所述设备包括:
用于确定来自请求处理器的高速缓存相干性事务的一或多个事务属性的装置;
用于基于所述事务属性而识别可高速缓存性域和/或可共享性域的装置;以及
用于将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存的装置。
18.根据权利要求17所述的设备,其中所述一或多个事务属性包含地址空间标识符ASID。
19.根据权利要求17所述的设备,其中所述一或多个事务属性包含虚拟机标识符VMID。
20.根据权利要求17所述的设备,其中所述一或多个事务属性包含安全根标识符NS。
21.根据权利要求17所述的设备,其中所述一或多个事务属性包含管理程序标识符HYP。
22.根据权利要求17所述的设备,其中所述一或多个事务属性包含选自由以下各者组成的群组中的至少两个:所述请求处理器的地址空间标识符ASID、虚拟机标识符VMID、安全根标识符NS和管理程序标识符HYP。
23.根据权利要求17所述的设备,其中所述请求处理器是图形处理单元GPU或数字信号处理器DSP。
24.根据权利要求17所述的设备,其中所述请求处理器集成于集成电路中。
25.根据权利要求24所述的设备,其中所述集成电路集成到选自由以下各者组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元和计算机。
26.一种包含信息的计算机可读存储媒体,所述信息在由机器存取时致使所述机器执行用于将相干性请求路由到计算系统中的一或多个高速缓存的操作,所述操作包括以下各者:
确定来自请求处理器的高速缓存相干性事务的一或多个事务属性;
基于所述事务属性而识别可高速缓存性域和/或可共享性域;以及
将所述高速缓存相干性事务路由到所述可高速缓存性域和/或可共享性域中的一或多个高速缓存。
27.根据权利要求26所述的计算机可读存储媒体,其中所述一或多个事务属性包含地址空间标识符ASID和虚拟机标识符VMID中的至少一个。
28.根据权利要求26所述的计算机可读存储媒体,其中所述一或多个事务属性包含安全根标识符NS和管理程序标识符HYP中的至少一个。
29.根据权利要求26所述的计算机可读存储媒体,其中所述一或多个事务属性包含选自由以下各者组成的群组中的至少两个:所述请求处理器的地址空间标识符ASID、虚拟机标识符VMID、安全根标识符NS和管理程序标识符HYP。
30.根据权利要求26所述的计算机可读存储媒体,其中所述请求处理器是图形处理单元GPU或数字信号处理器DSP。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/626,913 US20160246721A1 (en) | 2015-02-19 | 2015-02-19 | Role based cache coherence bus traffic control |
US14/626,913 | 2015-02-19 | ||
PCT/US2016/015988 WO2016133683A1 (en) | 2015-02-19 | 2016-02-01 | Role based cache coherence bus traffic control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107250994A true CN107250994A (zh) | 2017-10-13 |
Family
ID=55353327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680009417.1A Pending CN107250994A (zh) | 2015-02-19 | 2016-02-01 | 基于作用的高速缓存相干性总线业务控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160246721A1 (zh) |
EP (1) | EP3259669A1 (zh) |
JP (1) | JP2018510411A (zh) |
CN (1) | CN107250994A (zh) |
WO (1) | WO2016133683A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599568B2 (en) * | 2018-04-09 | 2020-03-24 | Intel Corporation | Management of coherent links and multi-level memory |
WO2020256610A1 (en) * | 2019-06-20 | 2020-12-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Network entities and methods performed therein for handling cache coherency |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268044A1 (en) * | 2003-06-25 | 2004-12-30 | International Business Machines Corporation | Multiprocessor system with dynamic cache coherency regions |
CN1577294A (zh) * | 2003-06-25 | 2005-02-09 | 国际商业机器公司 | 具有多个一致性区域的多处理器计算机系统及其方法 |
US20060090084A1 (en) * | 2004-10-22 | 2006-04-27 | Mark Buer | Secure processing environment |
US20070050671A1 (en) * | 2005-08-30 | 2007-03-01 | Markevitch James A | Selective error recovery of processing complex using privilege-level error discrimination |
CN101251878A (zh) * | 2007-12-20 | 2008-08-27 | 深圳市中兴集成电路设计有限责任公司 | 借助硬件认证身份的sd存储卡 |
WO2009039417A1 (en) * | 2007-09-21 | 2009-03-26 | Mips Technologies, Inc. | Support for multiple coherence domains |
US20110055844A1 (en) * | 2009-08-28 | 2011-03-03 | Nguyen Tung M | High density multi node computer with integrated shared resources |
CN102063391A (zh) * | 2009-10-13 | 2011-05-18 | Arm有限公司 | 互连中的数据存储维护请求 |
US20110126265A1 (en) * | 2007-02-09 | 2011-05-26 | Fullerton Mark N | Security for codes running in non-trusted domains in a processor core |
CN102770849A (zh) * | 2010-02-26 | 2012-11-07 | 国际商业机器公司 | 当应用基于用户的安全性时优化数据高速缓存 |
CN103124975A (zh) * | 2010-09-24 | 2013-05-29 | 英特尔公司 | 用于在计算机系统中实行资源访问控制的方法 |
-
2015
- 2015-02-19 US US14/626,913 patent/US20160246721A1/en not_active Abandoned
-
2016
- 2016-02-01 EP EP16704331.4A patent/EP3259669A1/en not_active Withdrawn
- 2016-02-01 JP JP2017542853A patent/JP2018510411A/ja active Pending
- 2016-02-01 WO PCT/US2016/015988 patent/WO2016133683A1/en active Application Filing
- 2016-02-01 CN CN201680009417.1A patent/CN107250994A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268044A1 (en) * | 2003-06-25 | 2004-12-30 | International Business Machines Corporation | Multiprocessor system with dynamic cache coherency regions |
CN1577294A (zh) * | 2003-06-25 | 2005-02-09 | 国际商业机器公司 | 具有多个一致性区域的多处理器计算机系统及其方法 |
US20060090084A1 (en) * | 2004-10-22 | 2006-04-27 | Mark Buer | Secure processing environment |
US20070050671A1 (en) * | 2005-08-30 | 2007-03-01 | Markevitch James A | Selective error recovery of processing complex using privilege-level error discrimination |
US20110126265A1 (en) * | 2007-02-09 | 2011-05-26 | Fullerton Mark N | Security for codes running in non-trusted domains in a processor core |
WO2009039417A1 (en) * | 2007-09-21 | 2009-03-26 | Mips Technologies, Inc. | Support for multiple coherence domains |
CN101251878A (zh) * | 2007-12-20 | 2008-08-27 | 深圳市中兴集成电路设计有限责任公司 | 借助硬件认证身份的sd存储卡 |
US20110055844A1 (en) * | 2009-08-28 | 2011-03-03 | Nguyen Tung M | High density multi node computer with integrated shared resources |
CN102063391A (zh) * | 2009-10-13 | 2011-05-18 | Arm有限公司 | 互连中的数据存储维护请求 |
CN102770849A (zh) * | 2010-02-26 | 2012-11-07 | 国际商业机器公司 | 当应用基于用户的安全性时优化数据高速缓存 |
CN103124975A (zh) * | 2010-09-24 | 2013-05-29 | 英特尔公司 | 用于在计算机系统中实行资源访问控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160246721A1 (en) | 2016-08-25 |
EP3259669A1 (en) | 2017-12-27 |
JP2018510411A (ja) | 2018-04-12 |
WO2016133683A1 (en) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI545435B (zh) | 於階層式快取處理器中之協調預取 | |
US10019178B2 (en) | Method and related device for determining management mode of shared virtual memory page | |
KR101393933B1 (ko) | 캐시 블록 코히어런스를 위한 시스템들, 방법들, 및 디바이스들 | |
US9547535B1 (en) | Method and system for providing shared memory access to graphics processing unit processes | |
US9703697B2 (en) | Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment | |
US9703493B2 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
US20090037614A1 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
US20120221785A1 (en) | Polymorphic Stacked DRAM Memory Architecture | |
US9135177B2 (en) | Scheme to escalate requests with address conflicts | |
US8395631B1 (en) | Method and system for sharing memory between multiple graphics processing units in a computer system | |
US9483318B2 (en) | Distributed procedure execution in multi-core processors | |
US11188472B2 (en) | Caching streams of memory requests | |
US20130173834A1 (en) | Methods and apparatus for injecting pci express traffic into host cache memory using a bit mask in the transaction layer steering tag | |
TW201734807A (zh) | 基於執行許可之一快取之寫分配 | |
JP2017016660A (ja) | マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システム | |
TW201729113A (zh) | 使用滑動臨限值位址用於記憶體通道交錯之系統及方法 | |
WO2016015583A1 (zh) | 一种内存管理方法、装置以及内存控制器 | |
CN106663058A (zh) | 分离式共享信息及专用信息缓存 | |
US9229879B2 (en) | Power reduction using unmodified information in evicted cache lines | |
US20140156935A1 (en) | Unified Exclusive Memory | |
CN107250994A (zh) | 基于作用的高速缓存相干性总线业务控制 | |
US20130073779A1 (en) | Dynamic memory reconfiguration to delay performance overhead | |
CN103294407B (zh) | 存储装置和数据读写方法 | |
US10318428B2 (en) | Power aware hash function for cache memory mapping | |
WO2016119618A1 (zh) | 一种远端内存分配方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171013 |