一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于线程存储的阴影锁存器配置的寄存器文件中的阴影锁存器的制作方法

2022-06-12 04:37:03 来源:中国专利 TAG:

用于线程存储的阴影锁存器配置的寄存器文件中的阴影锁存器


背景技术:

1.处理装置诸如中央处理单元(cpu)、图形处理单元(gpu)或加速处理单元(apu)实现了通常在执行管线中同时执行的多个线程。可用于执行的一些活动线程存储在寄存器中,而其他非活动线程存储在位于处理装置外部的系统存储器中。将线程从存储器加载到寄存器是通过处理系统的高速缓存和加载存储单元执行的长延迟操作。例如,从主存储器(诸如ram)加载线程可能需要几个周期才能返回线程。处理器空间限制和成本考虑限制了处理装置中可用于线程存储的寄存器的数量,这最终限制了可用于执行的线程数量。
附图说明
2.通过参考附图,可更好地理解本公开,并且它的许多特征和优点对本领域技术人员来说变得显而易见。在不同附图中使用相同附图标记指示类似或相同项。
3.图1是根据一些实施方案的处理器内核的执行管线的框图。
4.图2a是根据一些实施方案的处理系统的利用图1的处理器内核的部分的框图。
5.图2b是根据一些实施方案的处理系统的利用图1的处理器内核的部分的框图。
6.图3是示出根据一些实施方案的用于使用阴影锁存器将线程存储在图1的处理器内核中的方法的流程图。
7.图4是根据一些实施方案的图1中的处理器内核的执行管线的浮点单元的框图。
8.图5是根据一些实施方案的图2的处理器内核中的阴影锁存器配置的寄存器文件的位单元布局。
9.图6是根据一些实施方案的图2的处理器内核中的阴影锁存器配置的寄存器文件的框图。
具体实施方式
10.图1至图6示出用于将线程存储在处理系统中的处理器内核的阴影锁存器配置的寄存器文件中的系统和技术。处理系统中的阴影锁存器配置的寄存器文件包括允许线程作为基于阴影的线程离散地存储在阴影锁存器配置的寄存器文件中的阴影锁存器和阴影多路复用器。基于阴影的线程与普通线程的不同之处在于它存储在阴影锁存器而不是常规锁存器中。另外的阴影锁存器和阴影多路复用器利用处理系统中有限的另外的空间,同时仍然允许处理系统存储另外的线程。处理系统中的线程调度器调度存储在阴影锁存器配置的寄存器文件中以供处理器内核使用的活动线程和非活动线程的使用。处理器内核的阴影锁存器配置的寄存器文件将阴影锁存器用于非活动线程,并且将常规锁存器用于活动线程。交换操作由处理系统的线程调度器中的微操作(micro-ops)执行,所述微操作在例如活动线程已暂停或完成执行时,用位于阴影锁存器中的非活动线程交换出活动线程。由于非活动线程(基于阴影的线程)本地存储在阴影锁存器配置的寄存器文件中,因此减少了通常与从系统存储器获得非活动线程相关联的延迟。
11.图1示出根据一些实施方案的具有执行管线105的处理器的处理器内核107。所示的处理器内核107可包括例如基于x86指令集架构(isa)、arm(arm有限公司的注册商标)isa等的中央处理单元(cpu)内核。处理器可实现多个此类处理器内核,并且处理器可在多种电子装置(诸如笔记本电脑、台式电脑、平板电脑、服务器、支持计算的蜂窝电话、个人数字助理(pda)、机顶盒、游戏机等)中的任一者中实现。
12.在所描绘的实例中,执行管线105包括指令高速缓存110(“icache”)、前端115和功能单元121。功能单元121包括一个或多个浮点单元120,以及一个或多个定点单元125(通常也称为“整数执行单元”)。处理器内核107还包括加载/存储单元(lsu)130和阴影锁存器配置的寄存器文件111,所述寄存器文件111耦接到存储器层次结构(未示出),所述存储器层次结构包括一级或多级高速缓存(例如,l1高速缓存、l2高速缓存等)、系统存储器(诸如系统ram)、以及一个或多个大容量存储装置(诸如固态驱动器(ssd)或光驱)。
13.指令高速缓存110存储指令数据,所述指令数据由前端115的指令提取单元116响应于需求提取操作(例如,请求程序计数器标识的指令流中的下一条指令的提取)或响应于推测预取操作进行提取。
14.存储器访问诸如加载和存储操作被分发到加载/存储单元130。前端115将由指令提取单元116提取的指令解码为将由例如功能单元121的浮点单元120或定点单元125执行或实行的一个或多个操作或线程。涉及浮点计算的线程或操作被分派到浮点单元120以用于执行,而涉及定点计算的操作被分派到定点单元125。
15.处理器内核107是多线程处理系统的一部分,所述多线程处理系统包括阴影锁存器配置的寄存器文件111,所述寄存器文件111利用允许基于阴影的线程离散地存储在寄存器文件中的阴影锁存器147和阴影多路复用器148。也就是说,阴影锁存器配置的寄存器文件111是除了包括用于存储活动线程的典型功能或常规锁存器146之外,还包括用于存储非活动线程的阴影锁存器147的寄存器文件。阴影锁存器配置的寄存器文件111还包括阴影多路复用器148,所述阴影多路复用器148从阴影锁存器146中选择基于阴影的线程来读取和加载以在处理器内核107中执行。线程(非活动线程和活动线程)由调度器调度以在处理器内核107中执行,下面将参考图2进一步描述。在操作期间,如果存储在常规锁存器146中的任何一个活动线程在执行期间遇到交换事件,诸如例如,暂停事件或线程完成事件,则调度器通过使阴影多路复用器148从阴影锁存器147中选择基于阴影的线程来将活动线程切换或替换为存储在阴影锁存器147中的基于阴影的线程。阴影多路复用器148用于将基于阴影的线程从阴影锁存器147直接转移到管线。因此,代替必须从高速缓存185或系统存储器186提取非活动线程,可从阴影锁存器配置的寄存器文件111访问基于阴影的线程。
16.图2a示出根据一些实施方案的处理系统200的包括图1的处理器内核107的部分203。部分203包括耦接到主存储器215和线程调度器单元230的处理器内核107。图2所示的实施方案中的处理器内核107和主存储器215耦接,使得由线程调度器单元230调度的线程在处理器内核107与主存储器215之间传递,并且进一步使得非活动线程和活动线程在阴影锁存器配置的寄存器与阴影锁存器配置的寄存器文件111中的常规寄存器之间传递(下面进一步详细描述)。
17.在一些实施方案中,除了执行传统的指令提取单元操作之外,指令提取单元116从主存储器215中提取多个线程(例如,线程1-8)。初始地,指令提取单元116提取多个线程的
第一子集(例如,线程1和线程2),所述多个线程是线程调度器单元230旨在由处理器内核107立即执行的活动线程。线程的第一子集由解码器117解码,使用映射单元189的重命名单元190重命名,并且作为活动线程存储在阴影锁存器配置的寄存器文件111中。随后或同时,指令提取单元116提取线程的第二子集(例如,线程3-线程8),所述线程是由线程调度器单元230调度的旨在稍后执行的非活动线程。在一些实施方案中,线程的第二子集不被解码器117解码以立即执行,而是使用固定映射单元191映射并且作为非活动线程直接存储在阴影锁存器配置的寄存器文件111中以供在后续时间处理。
18.在一些实施方案中,在已经提取活动线程之后,代替由指令提取单元116提取非活动线程的第二子集,而是一次仅从存储器251提取单个非活动线程以替换阴影锁存器配置的寄存器文件111中的活动线程。也就是说,已存储在阴影锁存器配置的寄存器文件111的活动寄存器中的活动线程被转移到阴影锁存器配置的寄存器文件111的非活动寄存器。指令提取单元116已经提取的非活动线程由解码器117解码,使用重命名单元190重命名,并且存储在阴影锁存器配置的寄存器文件111的活动寄存器中。在一些实施方案中,用非活动线程填充阴影锁存器配置的寄存器文件111的阴影锁存器配置的寄存器的过程继续进行,直到例如,基于例如使用线程调度器单元230对线程的调度,所有阴影锁存器配置的寄存器填充有不能再交换为活动线程的非活动线程。
19.为了便于在阴影锁存器配置的寄存器文件111中存储活动线程和非活动线程,处理器内核107在阴影锁存器配置的寄存器文件111中实现多组寄存器(寄存器组)219,以存储可由处理器内核107执行的线程(即,活动线程和非活动线程)。在一些实施方案中,多个寄存器组219包括活动寄存器组220、非活动寄存器组221(也称为阴影锁存器配置的寄存器组221)以及临时寄存器组292。活动寄存器组220包括存储活动线程的活动寄存器组220-1和活动寄存器组220-2。非活动寄存器组221包括存储非活动线程的非活动寄存器组221-1、非活动寄存器组221-2、非活动寄存器组221-3、非活动寄存器组221-4、非活动寄存器组221-5和非活动寄存器组221-6。临时寄存器组292是在一个或多个线程从活动寄存器(220-1

220-2)转移到非活动寄存器(221-1

221-6)期间存储线程的一组寄存器。在一些实施方案中,每个寄存器组包括例如,每组32个寄存器。在其他实施方案中,每个寄存器组可具有更少或更多的寄存器。在一些实施方案中,根据需要提供寄存器组219中的另外的寄存器用于存储另外的线程。在一些实施方案中,根据需要提供寄存器组219中的更少寄存器用于存储更少数量的线程。
20.为了分配线程以供处理器内核107存储,映射单元189除了使用重命名单元190和重命名映射277执行传统的寄存器重命名之外,还使用固定映射单元191和阴影锁存器配置的固定映射(sc固定映射)267执行非活动线程的架构寄存器到阴影锁存器配置的物理寄存器(sc物理寄存器)的固定映射。
21.在寄存器重命名操作期间,线程中引用的每个架构寄存器(例如,用于读取线程操作的每个源寄存器和用于写入线程操作的每个目标寄存器)被物理寄存器(例如,物理常规锁存寄存器组)替换或重命名。因此,为了寄存器重命名,用于寄存器组220-1和寄存器组220-2中的寄存器的常规锁存器146用于传统重命名方案,其中使用重命名映射277将架构寄存器映射到阴影锁存器配置的寄存器文件111的常规锁存物理寄存器。如图2a所示,重命名映射277包括活动线程(例如,活动线程0和活动线程1)到寄存器组220-1和220-2的物理
寄存器的映射。也就是说,对于重命名映射277中提供的实例,活动线程0被映射到寄存器组220-1的物理寄存器0-31,并且活动线程1的架构寄存器被映射到寄存器组220-2的物理寄存器0-31。
22.为了将非活动线程架构寄存器映射到阴影锁存器配置的物理寄存器,用于阴影锁存器配置的寄存器组221-1、221-2、221-3、221-4、221-5以及221-6的阴影锁存器配置的寄存器的阴影锁存器147以固定关系映射到sc固定映射267中的非活动线程架构寄存器。对于sc固定映射267中提供的实例,为了形成固定关系,具有架构寄存器编号0、1、2、3、4和5的六个非活动线程分别映射到一百九十个阴影锁存器配置的物理寄存器。
23.在这种情况下,阴影锁存器配置的物理寄存器0-31直接映射到非活动线程架构寄存器0,阴影锁存器配置的物理寄存器32-63直接映射到非活动线程架构寄存器1,阴影锁存器配置的物理寄存器64-95直接映射到非活动线程架构寄存器2,阴影锁存器配置的物理寄存器96-127直接映射到非活动线程架构寄存器3,阴影锁存器配置的物理寄存器128-159直接映射到非活动线程架构寄存器4,阴影锁存器配置的物理寄存器160-191直接映射到非活动线程架构寄存器5。阴影锁存器配置的寄存器221-1

221-6以固定映射到非活动线程的固定映射允许非活动线程不必使用单独的重命名映射,就像利用常规锁存器的寄存器一样。
24.线程调度器单元230(所述线程调度器单元230除了在硬件中实现之外在一些实施方案中是位于处理系统200的操作系统(os)中的软件)用于基于例如包括活动线程的状态的负载平衡来调度处理器内核107中的线程。尽管线程调度器单元230被描绘为与处理器内核107分离的实体,但是线程调度器230的一些实施方案可在处理器内核107中实现。在一些实施方案中被作为线程调度器单元230的一部分包括的微操作执行交换操作以切换或替换阴影锁存器配置的寄存器文件111中的线程。
25.在一些实施方案中,为了对活动线程和非活动线程执行调度操作,线程调度器230将指示准备好被调度以供执行的线程(活动线程)以及在活动线程已被执行或暂停后准备好执行的线程(非活动线程)的标识符的信息存储在活动列表235中。例如,活动列表235包括活动的并且存储在寄存器220的常规锁存器中的第一线程的标识符(id1),并且非活动列表236包括非活动的并且存储在寄存器221的阴影锁存器中的第一线程的标识符(sid 1)。微操作使用标识符id将活动线程与位于阴影锁存器配置的寄存器文件111中的非活动线程进行交换。
26.如图2a所示,阴影锁存器配置的寄存器文件111已将两个活动线程(线程1和线程2)存储在由处理器内核107执行的阴影锁存器配置的寄存器文件111的寄存器组220-1和220-2中。作为非活动线程的线程3-8(线程3

线程8)已存储在阴影锁存器配置的寄存器文件111的阴影锁存器配置的寄存器221-1

221-6中,并且已被标识为非活动列表236中的基于阴影的线程。在一些实施方案中,当线程是非活动的并且存储在阴影锁存器配置的寄存器文件111的阴影锁存器配置的寄存器组221-1

221-6中时,所述线程被指定为基于阴影的线程。
27.在一些实施方案中,在交换事件诸如活动线程中的一个活动线程的暂停期间,微操作识别交换事件并且用位于阴影锁存器配置的寄存器文件111中的基于阴影的线程(例如,线程3、线程4、线程5、线程6、线程7或线程8)与活动线程(例如,线程1或线程2)进行切换。
28.在一些实施方案中,为了将活动线程交换成非活动线程,在第一操作期间,使用映射单元189的重命名单元190从活动寄存器组220读取活动线程,诸如例如,线程1或线程2以确定与线程提供的架构寄存器编号相对应的物理寄存器的位置。例如,对于与线程1相对应的活动线程架构寄存器编号0,映射单元189确定的物理寄存器与活动寄存器组220-1的物理寄存器0-31相对应。在确定与活动线程相对应的物理寄存器之后,从例如寄存器组220-1中读取线程并且将其写入临时寄存器组292。临时寄存器组292是用于在活动线程从活动寄存器组220转移到非活动寄存器组221期间临时存储活动线程或非活动线程的一组寄存器。临时寄存器组292中的寄存器的编号和大小相当于活动寄存器组220和非活动寄存器组221中的寄存器的编号和大小。
29.在第二操作期间,在活动线程(例如,线程1)已被写入临时寄存器组292之后,使用sc固定映射267的固定映射关系从非活动寄存器组221(即,具有阴影锁存器147的阴影锁存器配置的寄存器组221)中读取非活动线程(例如,来自线程3-8的线程)。也就是说,映射单元189使用sc固定映射267来确定与由非活动线程提供的架构寄存器编号相对应的阴影锁存器配置的物理寄存器。例如,当提供的架构寄存器编号为3时,从与活动寄存器组221-4相对应的sc物理寄存器96-127中读取线程6。在已读取非活动线程(例如,线程6)之后,使用重命名映射277将非活动线程(例如,线程6)写入活动寄存器组220。在从非活动寄存器组221转移到活动寄存器组220之后,非活动线程(例如,线程6)转换为活动线程,并且在线程调度器单元230中如此记录。
30.在第三次操作期间,写入临时寄存器292的活动线程(例如,线程1)从临时寄存器292中读取,并且被写入非活动线程寄存器组221-4,即先前与活动线程交换的非活动线程的位置。在活动线程(例如,线程1)转移到非活动寄存器组221-4并且非活动线程(例如,线程6)转移到活动寄存器组220-1之后,交换操作完成。由于基于阴影的线程(即,非活动线程)位于本地,即在阴影锁存器配置的寄存器文件111中,因此减少了从例如主存储器215访问线程的延迟时间。
31.图2b示出了处理系统200的利用阴影锁存器配置的寄存器文件111的部分204的实例。在所示实例中,只有两个活动线程(例如,线程1和线程2)已存储在活动寄存器220-1和220-2中。活动线程(例如,线程1)已被转移到非活动寄存器组221-1并且现在已变为非活动状态。后续线程(例如,线程3)已从存储器215中提取,由解码器117解码,使用映射单元189的重命名单元190重命名,并且使用固定映射单元191存储在活动寄存器组220-1中。也就是说,在图2b中,代替由指令提取单元116提取非活动线程的第二子集,而是一次仅从存储器251提取单个非活动线程(线程3)以替换阴影锁存器配置的寄存器文件111中的活动线程(例如,线程1或线程2)。因此,为了执行交换操作,使用sc固定映射267将已存储在阴影锁存器配置的寄存器文件111的活动寄存器组220中的活动线程(例如,线程1或线程2)直接转移到阴影锁存器配置的寄存器文件111的非活动寄存器组221。指令提取单元116已经提取的非活动线程(线程3)由解码器117解码,使用重命名单元190重命名,并且存储在阴影锁存器配置的寄存器文件111的活动寄存器组220-1中。在一些实施方案中,用非活动线程填充阴影锁存器配置的寄存器文件111的阴影锁存器配置的寄存器的过程继续进行,直到例如,基于例如阴影锁存器配置的寄存器组221的最大容量限制,基于使用线程调度器单元230对线程的调度,阴影锁存器配置的寄存器组221的所有阴影锁存器配置的寄存器填充有不能再
交换为活动线程的非活动线程。
32.图3示出了根据一些实施方案的用于在图1的处理中使用阴影锁存器来存储线程的方法300。参考图1和图2,方法300起始于开始框330,在开始框330中,提取第一活动线程(线程1)和第二活动线程(线程2)。在框340处,处理器内核107执行第一活动线程和第二活动线程。第一线程和第二线程存储在阴影锁存器配置的寄存器文件111中的常规锁存器中。在框350处,检测到交换事件,诸如例如暂停事件或完成的执行事件。在框360处,基于交换事件,使用阴影锁存器配置的固定映射系统将第一活动线程(线程1)或第二活动线程(线程2)替换为来自多个基于阴影的线程(即,sb-线程1、sb-线程2等)中的基于阴影的线程(sb-线程)。基于阴影的线程存储在阴影锁存器配置的寄存器的阴影锁存器中。以这种方式,处理器内核107能够本地(即,从阴影锁存器配置的寄存器文件111)访问基于阴影的线程,而不是必须从系统存储器访问线程。
33.图4示出了图1的处理器内核107中的利用阴影锁存器配置的浮点寄存器文件445来存储基于阴影的线程的浮点单元120的实例。浮点单元120包括映射单元435、调度器单元440、阴影锁存器配置的浮点寄存器文件(sc-fprf)445以及一个或多个执行(ex)单元450。与以上描述的阴影锁存器配置的寄存器文件111类似,sc-fprf 445包括存储与浮点运算相关联的活动线程和非活动线程的阴影锁存器。
34.在浮点单元120的操作中,映射单元135(通常以操作码或作业码的形式)从前端115接收线程操作。这些分派的操作通常还包括或引用用于执行所表示操作的操作数,诸如在其处存储操作数数据的存储器地址、在其处存储操作数数据的架构寄存器、一个或多个常量值(也称为“立即值”)等。调度器单元440调度存储在sc-fprf 445中的线程以在执行单元450中执行。sc-fprf 445配置有允许将非活动线程存储在sc-fprf 445的寄存器420中的阴影锁存器和阴影mux。与以上关于图1的阴影锁存器配置的寄存器文件111描述的交换操作类似,交换操作由调度器单元440中的微操作执行,所述微操作在例如活动线程的指令已经完成时,用非活动线程交换出活动线程。交换使用浮点微操作执行,所述浮点微操作从sc-fprf 445中读取基于阴影的线程,并且将重命名的线程写入sc-fprf 445的阴影锁存器,反之亦然。在一些实施方案中,由于非活动线程(基于阴影的线程)位于sc-fprf 145中,因此微操作在执行期间仅利用浮点单元120的sc-fprf 145进行非活动线程访问,并且不使用高速缓存、负载存储单元或系统存储器来访问非活动线程。
35.在一些实施方案中,浮点单元120是能够处理512位宽浮点运算的512位浮点单元。浮点单元120具有用于线程存储的sc-fprf 445中的多个寄存器420。例如,在一些实施方案中,浮点单元120具有每线程32个寄存器,其中两个线程同时执行,而六个线程作为非活动线程存储在sc-fprf 445中。因此,在一些实施方案中,对于512位操作的情况,可利用浮点单元120中的临时寄存器通过三个操作(总共32*3或96个操作)执行交换。在一个实施方案中,微操作在例如四个管线中执行96/4或24个周期以用于交换线程。在各种实施方案中,状态机用于通过避免写入临时寄存器来实现64/4=16周期延迟。
36.图5中示意性地示出了示例性阴影锁存器配置的寄存器文件111,其中描绘了单个寄存器条目510。寄存器条目510用活动线程锁存器546和非活动线程锁存器547示出。尽管在图5中示出了四个活动线程锁存器546和四个非活动线程锁存器,但是应当了解,寄存器条目510可包括能够存储各种数量的线程数据,诸如例如256位线程数据或512位线程数据
的不同数量的活动线程锁存器和非活动线程锁存器。尽管在图5中仅描绘了单个寄存器条目510,但是阴影锁存器配置的寄存器文件111可包括另外的寄存器条目。
37.如所描绘,阴影锁存器配置的寄存器文件111包括多于一个线程存储元件(活动线程锁存器546和非活动(阴影)线程锁存器547)和每个寄存器条目510的线程选择mux 548。在一些实施方案中,线程选择mux 548包括第一级线程选择逻辑,所述第一级线程选择逻辑在寄存器条目510内将被读取的线程存储元件(即,非活动线程锁存器547与活动线程锁存器546)之间进行选择。除了存储非活动线程之外,由非活动线程锁存器547提供的另外的存储可用于存储例如非活动线程的架构状态。
38.在一些实施方案中,为了执行读操作,阴影锁存器配置的寄存器文件111还包括用于接收线程选择mux信号530和输出线程数据599的读取端口580。阴影锁存器配置的寄存器文件111还包括读取逻辑电路565,所述读取逻辑电路565用于访问和输出与活动线程锁存器546和非活动线程锁存器547中的线程相关联的线程数据。
39.在一些实施方案中,通过接收指示非活动线程锁存器546和活动线程锁存器547的阴影选择锁存器或常规锁存器中的哪一个分别包含要访问的线程数据的线程选择mux信号530(全局地,每个管道105或每个读取端口580),可访问寄存器条目510的非活动线程锁存器547和活动线程锁存器546。从活动线程锁存器547或非活动线程锁存器546中读取的线程数据使用读取逻辑电路565从阴影锁存器配置的寄存器文件111输出,并且作为线程数据输出599提供。
40.阴影锁存器配置的寄存器文件111还包括使用写入逻辑电路577将线程数据写入活动线程锁存器546和非活动线程锁存器547的写入端口590。在一些实施方案中,写入逻辑电路577包括使用写入mux信号540将线程数据写入活动线程锁存器546和非活动线程锁存器547的写入mux 570。
41.当写入mux信号540指示非活动线程锁存器547中的阴影锁存器时,使用写入逻辑电路577将线程数据(所述线程数据与非活动线程相关联,因为它们已被指导存储在非活动线程锁存器547中)写入非活动线程锁存器547。当写入mux信号540指示活动线程锁存器546中的活动锁存器时,使用写入逻辑电路577将与活动线程相关联的线程数据写入活动线程锁存器546。
42.图6是根据一些实施方案的图2的处理器内核107的阴影锁存器配置的寄存器文件111的框图。阴影锁存器配置的寄存器文件111包括写入mux 670、活动线程锁存器646、非活动线程锁存器647、非活动线程选择mux 648。在各种实施方案中,两个锁存器(例如,活动线程锁存器646和非活动线程锁存器647)共享单个写入mux 670,但在写入过程期间利用不同的写入时钟(例如,活动线程写入时钟信号610和非活动线程写入时钟信号620)。
43.在写入操作期间,在阴影锁存器配置的寄存器文件111的写入端口处,写入mux 670接收要写入活动线程锁存器646或非活动线程锁存器647的写入数据(例如,512位数据)。基于写入mux信号640,当活动线程写入时钟信号610逻辑值为高时,写入mux 670指导写入数据691被写入活动线程锁存器646。当非活动线程写入时钟信号620逻辑值为高时,写入mux 670指导写入数据692被写入非活动线程锁存器647。活动线程锁存器646和非活动线程锁存器647分别存储接收到的写入数据691和写入数据692。在读操作期间,活动线程锁存器646和非活动线程锁存器647基于例如控制线程选择mux 648的线程选择mux信号630的逻
辑值来发布活动线程锁存器数据661和非活动线程锁存器数据671。在一些实施方案中,例如,当线程选择mux信号630的逻辑值为低时,从活动线程锁存器646中读取活动线程锁存器数据661作为读取数据699。当线程选择mux信号630为高时,从非活动线程锁存器647中读取非活动线程锁存器数据671作为读取数据699。然后经由读取端口mux提供读取数据699作为阴影锁存器配置的寄存器文件111的输出。
44.在一些实施方案中,阴影锁存器配置的寄存器文件111仅可在具体操作模式下或使用具体访问机制(例如双泵)访问。也就是说,在一些实施方案中,额外地址位的控制可通过例如连续读取访问模式(例如,双泵)或通过某一其他机制被限制到微操作的具体子集。
45.在一些实施方案中,以上所描述的设备和技术被实现在包括一个或多个集成电路(ic)装置(也称为集成电路封装或微芯片)的系统诸如以上参考图1至图6所描述的处理系统中。电子设计自动化(eda)和计算机辅助设计(cad)软件工具可用于设计和制作这些ic装置。这些设计工具通常被表示为一个或多个软件程序。一个或多个软件程序包括代码,所述代码可由计算机系统执行,以操纵计算机系统来对表示一个或多个ic装置的电路的代码进行操作,以便执行用于将制造系统设计或调适为制造电路的过程的至少一部分。此代码可包括指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令通常存储在可由计算系统访问的计算机可读存储介质中。同样地,表示ic装置的设计或制造的一个或多个阶段的代码可存储在同一计算机可读存储介质或不同的计算机可读存储介质中,并且从同一计算机可读存储介质或不同的计算机可读存储介质进行访问。
46.计算机可读存储介质可包括在使用期间可由计算机系统访问以将指令和/或数据提供给计算机系统的任何非暂时性存储介质或非暂时性存储介质的组合。此类存储介质可包括但不限于光学介质(例如,压缩光盘(cd)、数字通用光盘(dvd)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘)、易失性存储器(例如,随机存取存储器(ram)或高速缓存)、非易失性存储器(例如,只读存储器(rom)或快闪存储器)或基于微机电系统(mems)的存储介质。计算机可读存储介质可嵌入计算系统(例如,系统ram或rom)中、固定地附接到计算系统(例如,磁性硬盘驱动器)、可移除地附接到计算系统(例如,光盘或基于通用串行总线(usb)的快闪存储器)、或者经由有线或无线网络耦接到计算机系统(例如,网络可访问存储装置(nas))。
47.在一些实施方案中,以上所描述的技术的某些方面可由执行软件的处理系统的一个或多个处理器实现。软件包括存储或以其他方式有形地体现在非暂时性计算机可读存储介质上的一个或多个可执行指令集。软件可包括指令和某些数据,当由一个或多个处理器执行时,所述指令和某些数据操纵所述一个或多个处理器来执行以上描述的技术的一个或多个方面。非暂时性计算机可读存储介质可包括例如磁盘或光盘存储装置、诸如快闪存储器等固态存储装置、高速缓存、随机存取存储器(ram)或其他一个或多个非易失性存储器装置等。存储在非暂时性计算机可读存储介质上的可执行指令可呈现源代码、汇编语言代码、对象代码或由一个或多个处理器解译或以其他方式可执行的其他指令格式。
48.应当注意,并不需要以上在一般描述中所描述的所有活动或元件,具体活动或装置的一部分可能是不需要的,并且可执行一个或多个另外的活动,或者可包括除所描述的那些元件之外的元件。再另外地,列出活动的顺序不一定是执行活动的顺序。另外,已经参考具体实施方案描述了概念。然而,本领域普通技术人员应了解,在不脱离如以下权利要求
中所阐述的本公开范围的情况下,可作出各种修改和改变。因此,本说明书和附图将被视为说明性而非限制性的,并且所有此类修改都意图被包括在本公开的范围内。
49.上文已经关于具体实施方案描述了益处、其他优点以及问题解决方案。然而,所述益处、优点、问题解决方案以及可使任何益处、优点或问题解决方案出现或变得更突出的任何特征都不应被解释为是任何或所有权利要求的关键、必需或必要特征。此外,以上所公开的特定实施方案只是说明性的,因为所公开的主题可按受益于本文教义的本领域的技术人员显而易知的不同但等效的方式来修改和实践。除了如以下权利要求中所描述的之外,并不意图限制本文所示的构造或设计的细节。因此,明显的是,以上所公开的特定实施方案可被更改或修改,并且所有此类变化都被认为是在所公开的主题的范围内。因此,本文所寻求的保护正如在以下权利要求中阐述的那般。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献