可以接收与存储器相关联的操作和与一个或多个功能单元相关联的操作。可以确定与存储器相关联的操作和与功能单元中的一个或多个相关联的操作之间的依赖关系。可以为与存储器相关联的操作创建第一排序。此外,还可以基于确定的依赖关系和与存储器相关联的操作的第一排序,为与功能单元中的一个或多个相关联的操作创建第二排序。
【技术实现步骤摘要】
此处所描述的各实施例一般涉及存储器排序,更具体而言,涉及带有一致的和非 一致的子系统的存储器排序。
技术介绍
处理设备可以基于包括存储器和功能单元的架构。处理设备的处理器核可以将处 理任务或功能指定到功能单元。例如,处理核可以将数据存储在存储器中,还可以在它被存 储在存储器中之后进一步向功能单元发出对数据执行操作的命令。 附图简述 图1是示出了根据一些实施例的实现存储器流模块以提供存储器定序或排序的 计算系统的框图。 图2是根据本专利技术的一些实施例的存储器流模块的框图。 图3是根据一些实施例的执行存储器操作和非一致的(NOCO)触发器的方法的流 程图。 图4A示出了根据一些实施例的存储器操作和NOCO触发器的示例序列。 图4B示出了根据一些实施例的存储器操作和NOCO触发器的另一示例序列。 图4C示出了根据一些实施例的存储器操作和NOCO触发器的另一示例序列。 图5示出了根据本专利技术的一些实施例的基于存储器操作的提升,将依赖关系添加 到存储器操作和NOCO触发器的序列的方法。 图6示出了根据本专利技术的一些实施例的检测NOCO触发器的示例架构。 图7示出了根据一实施例的包括管理与无序指令流水线相关联的检查点的逻辑 电路的处理器的微架构的框图。 图8是根据一个实现的计算机系统的框图; 图9为根据另一实现的的计算机系统的框图。 图10是根据一实现的片上系统的框图。 图11示出了计算系统的框图的另一实现。 图12示出了计算系统的框图的另一实现。【具体实施方式】 本专利技术的各方面涉及带有一致的和非一致的子系统或部分的处理架构中的存储 器排序技术。存储器排序技术可以被用来改善处理器、处理设备或基于处理器的系统的性 能。例如,存储器排序技术可以被用来通过定义在处理设备的不同的部件之间的操作(例 如,存储器读取事务和存储器写入事务)之间实施的属性,来改善处理设备的性能。处理设 备可包括处理器核、多个功能单元以及存储器。处理器核可以卸载要由功能单元执行的任 务。例如,处理器核可以发出对应于将指令或命令和数据存储在存储器中的第一操作,并可 以基于存储在存储器中的指令或命令,发出对应于将命令(即,触发器)传输到功能单元以 对数据执行功能或操作的第二操作。处理设备可包括存储器流模块,该存储器流模块包括 功能块,功能块可以被用来基于与处理设备的存储器相关联的操作,定义与一个或多个功 能单元相关联的操作的依赖关系。 处理设备可包括非一致的子系统或部分和一致的子系统或部分。例如,处理设备 的存储器可以是一致的子系统的一部分,而一个或多个功能单元可以是非一致的子系统的 一部分。这样的存储器可以被称为一致的存储器,而这样的功能单元可以被称为非一致的 (NOCO)功能单元。NOCO功能单元可以是在处理器核的外面的功能单元。例如,处理器核可 包括功能单元,NOCO功能单元可以在处理器核外部。NOCO功能单元也可以被称为加速器或 固定功能块。一致的和非一致的可以是指一致性模型。在某些实施例中,一致性模型可以 定义存储器操作的规则(例如,向存储器的写入事务和由功能单元从存储器检索数据的读 取事务)。例如,一致的存储器可以是指由一个或多个执行或功能单元或处理器读和/或写 的存储器,而非一致的功能单元可以是指存储和一致的存储器分离的数据的分离的副本或 与之相关联的功能单元。这样的功能单元也可以被称为加速器。如此,包括一致的存储器 和一个或多个非一致的功能单元两者的处理设备可以被称为一致的和非一致的系统。在某 些实施例中,与一致的存储器相关联的操作可以被称为存储器操作(例如,对于一致的存 储器的读取或写入事务),与非一致的功能单元相关联的操作可以被称为NOCO触发器。相 应地,由于NOCO功能单元和一致的存储器正在对相同数据的分开地存储的副本进行操作, 因此,使用数据执行的操作可能要求某些依赖关系,以便维护为操作定义的规则。 现代的基于微处理器的产品,包括片上系统(SoC)、客户端、服务器以及硬件加速 器,可以使用包括一致的存储器和非一致的功能单元的处理架构。存储器排序模块可以被 用来定义与一致的存储器相关联的操作和与非一致的功能单元相关联的操作之间的交互。 在某些实施例中,存储器排序模块可以被用来定义对于NOCO功能单元的操作(例如,NOCO 触发器)和对于一致的存储器的操作(例如,存储器操作)之间的依赖关系。在某些实施 例中,NOCO触发器可以是NOCO功能单元检索存储在一致的存储器中的命令或指令的命令。 存储在一致的存储器中的这样的命令或指令可以被称为控制块(CB)。如此,来自处理器核 的第一操作(例如,存储器操作)可以对应于向一致的存储器写入或读取控制块,来自处理 器核的第二操作(例如,NOCO触发器)可以对应于从一致的存储器读取和检索控制块,以及 要由NOCO功能单元执行的随后的操作。如此,NOCO功能单元的NOCO触发器可以取决于一 致的存储器操作。在某些实施例中,这样的依赖关系可以是指NOCO功能单元的NOCO触发 器不由处理核执行或向NOCO功能单元传输,直到一致的存储器的特定存储器操作被完成。 如下面进一步详细描述的,存储器流模块可以提供一致的存储器的存储器操作的 第一流或序列,和NOCO功能单元的NOCO触发器的第二流或序列。在某些实施例中,NOCO功 能单元的NOCO触发器的第二流或序列可以取决于一致的存储器的存储器操作的第一流或 序列。例如,在一致的存储器的较旧的存储器操作(例如,较早地发出的读取事务)被执行 完之前,NOCO功能单元的触发器可以被限制执行。 -致的存储器的存储器操作和NOCO功能单元的触发器之间的这样的排序可以改 善包括一致的子系统和非一致的子系统两者的处理设备的总体性能。例如,存储器流模块 所使用的一致性模型可以为一致的存储器创建第一流,其中,第一流可以允许操作的无序 执行(例如,特定事务可以在较早的事务之前执行),而让NOCO功能单元的另一流按比较连 续和有序方式执行,也部分地依赖于存储器操作。这样的一致性模型可以允许更快地执行 存储器操作,同时也使用NOCO功能单元。 图1是示出了根据一些实施例的实现用于提供和更新与存储器120和一个或多个 NOCO功能单元130相关联的存储器序列的存储器流模块107的计算系统100的框图。计算 系统100利用处理器102形成,该处理器102包括处理核,该处理核可以卸载要由NOCO功 能单元130中的一个或多个完成的工作或事务。简而言之,存储器流模块107为存储器120 并为NOCO功能单元130维护和更新存储器序列,存储器序列可以被用来定义何时可以执行 存储器120的存储器操作和/或NOCO功能单元130的NOCO触发器。例如,存储器流模块 107可以定义并控制存储器120的存储器操作以及NOCO功能单元130的NOCO触发器的执 行的特定顺序,以及基于存储器120的存储器操作,定义并实施NOCO功能单元130的NOCO 触发器的依赖关系。在下文中参考图2 - 6更详细地描述了关于存储器流模块107的更多 细节。 根据此处所描述的各实施例,计算系统100包括诸如处理器102之类的组件来使 用包括执行用于处理数据的算法的逻辑的执行单元108。系本文档来自技高网...
【技术保护点】
一种方法,包括:由处理器的存储器序列模块,接收与所述存储器相关联的多个操作;由所述存储器序列模块,接收与所述一个或多个功能单元相关联的多个操作;由所述存储器序列模块,确定与所述存储器相关联的所述多个操作和与所述一个或多个功能单元相关联的所述多个操作之间的依赖关系;由所述存储器序列模块,创建与所述存储器相关联的所述多个操作的第一排序;以及由所述存储器序列模块,基于所述依赖关系和与所述存储器相关联的所述多个操作的所述第一排序,创建与所述一个或多个功能单元相关联的所述多个操作的第二排序。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:张春晖,G·Z·克里斯沃斯,E·T·格罗科斯基,R·桑德拉拉曼,CL·陈,F·阿达纳兹,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。