当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于从多线程发送请求至加速器的机制制造技术

技术编号:12929147 阅读:51 留言:0更新日期:2016-02-29 00:13
一种装置被描述为拥有多个核,每个核具有a)CPU、b)加速器、和c)在该CPU和该加速器之间耦合的控制器以及多个排序缓冲器。每个排序缓冲器专用于一个不同的CPU线程。每一个排序缓冲器保持从它的相应的线程处发送至加速器的一个或多个请求。该控制器控制将该排序缓冲器的各个请求发送至加速器。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】一种装置被描述为拥有多个核,每个核具有a)CPU、b)加速器、和c)在该CPU和该加速器之间耦合的控制器以及多个排序缓冲器。每个排序缓冲器专用于一个不同的CPU线程。每一个排序缓冲器保持从它的相应的线程处发送至加速器的一个或多个请求。该控制器控制将该排序缓冲器的各个请求发送至加速器。【专利说明】用于从多线程发送请求至加速器的机制

一般地涉及计算系统设计,且更特别地,涉及用于从多线程发送请求至 加速器的机制。
技术介绍
协处理器的传统集成 随着半导体制造过程到达了每个管芯一百万兆晶体管的时代,设计工程师将面对 如何最有效地利用所有可用晶体管的问题。一种设计方法是使用管芯上的专用硬件"加速" 以及一个或多个通用的CPU核来实现特定的计算密集型函数。加速器以被设计为执行特定 计算密集型函数的专用的逻辑块实现。此专用逻辑块的迁移密集型计算将通用CPU核从执 行大量指令释放,因此增加 CPU核的效力和效率。 虽然以协处理器(诸如制图法协处理器)为形式的"加速"在本领域是公知的, 但是此传统的协处理器被0S视为操作系统(0S)在其上运行的CPU核外部的单独的"设 备"(在更大的计算系统中)。这些协处理器因此通过特定设备驱动器软件被访问且不在与 (PU核相同的虚拟存储器空间外操作。同样地,传统协处理器不分享或预期在通用CPU核上 执行的虚拟地址到物理的地址转换机制。 此外,当0S卸载任务至传统协处理器时,发生大的延迟。特定地,因为CPU和传统 协处理器本质上对应单独的、隔离的子系统,当运行在CPU核上应用中限定的任务从应用 通过0S "内核"传递至管理协处理器的驱动器时,重要的通信资源被消耗了。这种大的延 迟支持这样的系统设计:从主0S调用协处理器上相对不频繁的任务,但每个任务有大量相 关联的数据块。实际上,传统协处理器主要以粗粒方式而不是以细粒方式被利用。 随着当前的系统设计者对以细粒度的使用方式将更快的加速引入计算系统中感 兴趣,用于在计算系统中集成加速的新范式正在形成。 附图简述 本专利技术是通过示例说明的,而不仅局限于各个附图的图示,在附图中,类似的参考 标号表示类似的元件,其中: 图1示出计算系统,其每个处理核包括通用CPU和紧密耦合于通用CPU的加速器。 图2示出用于在通用CPU上的线程以调用加速器的技术。 图3示出排序缓冲器和相关的状态图。 图4不出线程切换过程; 图5示出用于处理页面错误的过程; 图6示出第一计算系统实施例。 图7示出第二计算系统实施例。 图8示出第三计算系统实施例。 图9示出第四计算系统实施例。 图10示出软件指令转换器。 详细描述 图1示出新处理核100_1架构,其中加速器101类似于设计在核100_1中且紧密 耦合于核的通用CPU102的大规模功能单元。该多个核100_1至核100_0可以被放置在集 成入半导体芯片中的单个处理器120上。如下文更详细的描述,在典型的实现中,该加速器 101支持多个不同的计算密集型任务。 此处,参考诸如核100_1之类的单核的操作,从存储器和/或高速缓存处读取标准 指令且通过核的通用CPU102被执行。但是,由处理核100_1接收的其他类型的指令将触发 加速器101行动。在具体的实现中,底层硬件支持软件以代码调用特定加速任务的能力。也 就是说,特定命令可以通过软件编程器(或通过编译器)嵌入代码中,此处,该特定命令调 用并定义将通过加速器101执行的特定加速任务和用于该特定任务的输入操作数。 该命令最后以目标代码的某种形式表示。在运行时间期间,底层硬件"执行"该目 标代码且在执行时调用加速器101和传递相关输入数据至加速器101。图1示出加速器101 耦合至通用CPU102以示出命令发送至加速器101。下文还将更详细地讨论关于用于调用加 速器单元的特定技术的更多细节。 在被调用之后,该加速器101在与通用CPU102相同的存储器空间之外操作。类似 地,数据操作数可以通过虚拟地址由加速器识别,该虚拟地址的对应转换为物理地址空间 与通用CPU102使用的那些相同。以其他方式来说,该加速器101在与CPU102相同的虚拟 存储器空间之外操作。此外,一般地,加速器执行命令的执行时间比在通用CPU102内执行 传统/标准指令的时间长(由于加速器101正在执行的任务的复杂本质)。输入操作数和 /或结果也可能比通用CPU102的功能单元使用的标准寄存器尺寸更大。 因此加速器101可以一般地被视为比传统功能单位和通用CPU102的相关的指令 更粗粒(有更大的执行时间和/或在更大的数据块上操作)。同时,加速器101还可以一般 地被视为比传统协处理器更细粒或至少更紧地耦合于通用CPU102。 特定地,加速器的耗时"驱动器调用"的调用的避免和通过加速器101和通用 CPU102对相同存储器空间(包括虚拟至物理地址转换)的分享对应于比典型协处理器更 紧地耦合于通用CPU102。此外,加速器101可以调用以执行的特定个别任务还可以比协处 理器传统执行的更大的、大规模的任务更细粒。适合于以加速器实现为单个"可调用的"操 作的特定个别任务包括结构取样、运动搜索或运动补偿、安全相关计算(例如,密码、加密 等),特定金融计算、和/或特定科学计算。 现代通用CPU核典型地能够同时执行多线程(例如因特尔处理器使用同时多线程 技术)。注意的是,通用CPU102可以有一个或多个流水线以处理传统指令。以多流水线同 时执行多线程是直接的概念。但是,单个流水线还可以被设计以支持多线程的同时执行。 因此,如图1所示,处理核100_1可以由特定的逻辑103设计,逻辑103被设计为 允许由核的通用CPU102执行的任何/所有多线程调用加速器101。回忆,在通用CPU102和 加速器101之间更紧耦合的特征利用了在两者之间相同的虚拟到物理的地址转换,在多线 程核的情况下,每个线程可以有它自己独特的虚拟到物理的地址转换机制。 因此,当加速器执行用于具体线程的任务时,它采用了线程的虚拟到物理的地址 转换机制(例如,通过在其中保持与用于线程的CPU102中的相同的转换后备缓冲器(TLB) 中和/或在用于线程的CPU102中利用TLB)。参考图2至图5,关于用于特定逻辑103的可 能设计的细节将在下文更详细地呈现。 图2描述机制的实施例,通过此机制线程可以调用加速器。如图2所示,负责调用 特定加速器的目标代码在存储器地址空间210块中首先构建用于加速器的命令。命令的内 容是否真的存储在存储器中或在相同半导体芯片上的高速缓存中是设计者选择的问题。 当写命令时,通用CPU202在存储器地址空间210块(无论在高速缓存或在系统存 储器中)中写。1)将执行的任务211 ;和2)用于任务的输入数据212。存储器空间块还拥 有用于关于任务的状态信息213的空间,和用于指示执行任务214中的任何错误的空间字 段。CPU202可以初始设置状态字段213以指示新请求是待定的。任务的输出/结果215可 以被写入在为输入212保留的存储器空间中和/或块21本文档来自技高网...
用于从多线程发送请求至加速器的机制

【技术保护点】
一种装置,包括:多个核,每个核具有:a)CPU;b)加速器;在所述CPU和所述加速器之间耦合的控制器以及多个排序缓冲器,每个所述排序缓冲器专用于所述CPU的线程中不同的一个线程,每一个所述的排序缓冲器保持从其相应的线程发送至所述加速器的一个或多个请求,所述控制器控制将所述排序缓冲器各自的请求发送至所述加速器。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:R·罗恩B·靳兹伯格E·威斯曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1