将空间阵列纳入一个或多个可编程处理器核的制作方法_3

文档序号:9635166阅读:来源:国知局
阵列,则静态执行调度被解码以设立该阵列(920)。指令被映射至将一般对数据集进行迭代的功能单元(925),直到取得新指令(930)。然后,方法自步骤905重复。
[0042]图10示出其中空间阵列体系结构可使用中继器被扩展以包括附加功能单元的安排。在典型的实现方式中,空间阵列可以将功能单元包括在单个核或者多个成对核中,例如两个或四个核。在期望较大空间阵列的场景中,中继器可以被布置于交换网络中的特定点以便对可能通过扩展网络发生的传播延迟进行调节。专用编译器131 (图1)也可以在生成用于空间阵列的静态执行调度时考虑这些延迟。如图10所示,一组中继器(由附图标记1012代表性地指示)位于两个子网格1017和1022之间。该示例中的每个子网格包括跨四个核的功能单元。在一些实现方式中,专用编译器可以为较大的空间阵列生成单个静态执行调度。如果在运行时仅有较小的空间阵列可用,则可以引入人工延迟以允许较大的静态执行调度叠加于该较小的空间阵列上。
[0043]图11示出其中一个或多个固定空间阵列被安排在核200 (图2)外部的说明性配置。在该示例中,跨核200分布的功能单元被安排用于使用旁路和交换网络在通用处理和空间阵列处理之间可选的配置,如上所述。一个或多个固定空间阵列(由附图标记1105代表性指示)位于核200外部,但使用通信基础设施(未示出)与核可操作地通信。在运行时,由编译器131 (图1)指定被赋予特殊处理的指令块可以被分派至核200外部的固定空间阵列1105。以此方式,重要的或以其他方式显著的计算环路可由固定空间阵列1105以与在被配置为空间阵列时由通用核200可实现的效率相比更高的效率来执行。
[0044]应当理解,本文所描述的软件组件在被加载到CPU 1202中并被执行时可以将CPU1202和总体架构1200从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 1202可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体而言,CPU 1202可以响应于包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 1202如何在各状态之间转换来变换CPU 1202,由此变换了构成CPU 1202的晶体管或其它分立硬件元件。
[0045]对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
[0046]作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
[0047]鉴于以上内容,应当理解,在计算机体系结构1200中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,架构1200可以包括其它类型的计算设备,包括:手持式计算机、小形状因子计算机、可穿戴计算机和设备、嵌入式计算机系统、智能电话、PDA,以及本领域技术人员已知的其它类型的计算设备。
[0048]鉴于以上,应当领会,本文公开了将空间阵列纳入一个或多个可编程处理器核的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
[0049]以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。
【主权项】
1.一种操作包括安排于一个或多个核中的多个功能单元的处理器的方法,包括: 将所述功能单元配置为在两个离散操作模式之一中操作,第一离散操作模式用使用第一数据路径的标准核配置中的功能单元来实现,第二离散模式用使用第二数据路径的空间阵列配置中的功能单元来实现; 接收操作指令的块,所述操作指令包括对要用于所述块的操作模式的指示;以及根据接收到的操作指令的块在运行时动态地重新配置所述功能单元以便在一个离散操作模式或另一个离散操作模式中操作。2.如权利要求1所述的方法,其特征在于,所述操作指令的块还包括用于空间阵列配置的静态执行调度。3.如权利要求2所述的方法,其特征在于,所述静态执行调度被嵌入于接收到的块中。4.如权利要求3所述的方法,其特征在于,所述嵌入包括用静态执行调度信息来替换操作指令中的目标位。5.如权利要求4所述的方法,其特征在于,所述静态执行调度信息包括路由路径或路由表。6.如权利要求2所述的方法,其特征在于,所述静态执行调度被包括于单独的接收到的块中。7.如权利要求2所述的方法,其特征在于,所述静态执行调度使用接收到的块中的嵌入信息来部分地实现、使用单独接收到的块中的信息来部分地实现。8.如权利要求1所述的方法,其特征在于,还包括:实现用于存储供功能单元处理的数据的一个或多个数据队列,所述数据队列可由功能单元在任一操作模式中操作时访问。9.如权利要求1所述的方法,其特征在于,所述功能单元跨两个或四个不同的处理核而分布。10.如权利要求1所述的方法,其特征在于,所述功能单元跨一个或多个处理核而分布,且其中所述交换网络还包括分别布置在一个或多个核之间的一个或多个中继器。
【专利摘要】一个或多个处理器核内布置的功能单元使用共享旁路网络和交换网络两者在通信上耦合。在交换网络允许其中功能单元被配置为空间阵列的专用处理的同时,共享旁路网络允许功能单元能被常规地操作用于通用处理。在空间阵列配置中,一个功能单元所产生的操作数可以仅被发送至功能单元中依赖指令已经先验地被映射至的一个子集。功能单元可以在运行时被动态地重配置以便在于通用配置中操作以及作为空间阵列操作之间切换。用于控制在各操作配置间切换的信息可以在功能单元所接收的指令中被提供。
【IPC分类】G06F9/30, G06F15/173, G06F9/38, G06F15/78
【公开号】CN105393242
【申请号】CN201480031262
【发明人】D·C·伯格, A·史密斯, M·杜瑞克
【申请人】微软技术许可有限责任公司
【公开日】2016年3月9日
【申请日】2014年5月28日
【公告号】EP3005139A1, US20150100757, WO2014193878A1
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1