-
公开(公告)号:CN108830777A
公开(公告)日:2018-11-16
申请号:CN201810380065.1
申请日:2018-04-25
申请人: 辉达公司
发明人: 阿杰伊·苏达尚·蒂鲁马拉 , 奥利维尔·吉普 , 彼得·尼尔森 , 杰克·肖凯特
CPC分类号: G06F9/3009 , G06F9/30145 , G06F9/3836 , G06F9/3867
摘要: 提供了一种用于全面同步执行线程的技术。在一个实施例中,同步指令使处理器确保包括在线程束中的指定线程同时执行单个后续指令。所述指定线程至少包括第一线程和第二线程。在操作中,第一线程到达同步指令。处理器确定第二线程还没有到达同步指令,并且将第一线程配置为停止执行指令。在为第二线程发出至少一个指令后,处理器确定所有指定线程已经到达同步指令。然后处理器使得所有指定线程执行后续指令。有利的是,与传统同步线程的方法不同,同步指令使得处理器能够可靠且正确地执行包括复杂控制流和/或指令的代码,所述复杂控制流和/或指令假定线程是聚合的。
-
公开(公告)号:CN108027778A
公开(公告)日:2018-05-11
申请号:CN201680054197.4
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0862 , G06F9/38
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30138 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/3828 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了与预取与基于块的处理器架构中的程序的断言的存储相关联的数据相关的技术。在所公开的技术的一个示例中,一种处理器包括基于块的处理器核,用于执行包括多个指令的指令块。基于块的处理器核包括译码逻辑和预取逻辑。译码逻辑被配置为检测指令块的断言的存储指令。预取逻辑被配置为计算断言的存储指令的目标地址,并且在断言的存储指令的断言被计算之前发起与计算的目标地址相关联的存储器操作。
-
公开(公告)号:CN108027734A
公开(公告)日:2018-05-11
申请号:CN201680054486.4
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 装置和方法被公开用于存储器访问指令(诸如存储器存储指令)的动态无效。在所公开的技术的一些示例中,一种装置可以包括存储器和一个或多个基于块的处理器核。核之一可以包括被配置为执行存储器访问指令的执行单元,存储器访问指令包括指令块中包含的多个存储器加载和/或存储器存储指令。核还可以包括硬件结构,硬件结构存储用于指令块中的至少一个断言指令的数据,该数据标识如果断言指令的条件被满足则存储器存储指令中的一个或多个是否将发出。核可以进一步包括控制单元,控制单元被配置为至少部分地基于硬件结构数据来控制存储器访问指令向执行单元的发出。
-
公开(公告)号:CN108027733A
公开(公告)日:2018-05-11
申请号:CN201680054479.4
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了用于使在无效指令的目标字段中标识的存储器存储指令无效的装置和方法。在所公开的技术的一些示例中,一种装置可以包括存储器和被配置为取回并且执行多个指令块的一个或多个基于块的处理器核。核之一可以包括至少部分基于接收无效指令而被配置为基于无效指令的目标字段来获取用于多个存储器访问指令中的存储器访问指令的指令标识的控制单元。使与指令标识相关联的存储器访问指令无效。存储器访问指令位于多个指令块中的第一指令块中。基于无效存储器访问指令,执行来自第一指令块的后续存储器访问指令。
-
公开(公告)号:CN107250976A
公开(公告)日:2017-10-13
申请号:CN201580061044.8
申请日:2015-11-20
申请人: 英特尔公司
CPC分类号: G06T1/20 , G06F9/3009 , G06F9/3851 , G06F9/4881 , H04N19/70
摘要: 公开了用于分派图形内核的线程以供执行从而增大依赖线程与关联线程之间的间隔的技术。可以通过分派以下线程来增大分派间隔:关联线程、随后是没有任何依赖性的线程、随后是依赖于先前分派的关联线程的线程。因此,可以增大依赖线程与其关联线程之间的间隔,从而增大并行性。
-
公开(公告)号:CN107038019A
公开(公告)日:2017-08-11
申请号:CN201610852352.9
申请日:2016-09-27
申请人: 联发科技股份有限公司
IPC分类号: G06F9/38
CPC分类号: G06F9/3009 , G06F8/443 , G06F9/30007 , G06F9/3836 , G06F9/3851 , G06F9/3887
摘要: 本发明提供一种在单指令多数据计算系统中的多个线程上处理一个或多个指令的方法及相关计算系统。该方法包含:分析该一个或多个指令,以在该多个线程组的多个线程中收集多个分离线程;根据该分析,在该多个分离线程之中获取线程与操作数相关性调整的跳转阵列,其中该跳转阵列用于交换第一线程组中的第一分离线程相关的第一操作数与第二线程组中的第二分离线程相关的第二操作数;以及根据该跳转阵列产生对应该一个或多个指令的编译代码。本发明提供的在单指令多数据计算系统中的多个线程上处理一个或多个指令的方法及相关计算系统能够更灵活管理多线程操作。
-
公开(公告)号:CN104583941B
公开(公告)日:2017-05-10
申请号:CN201380041768.7
申请日:2013-07-08
申请人: 高通股份有限公司
IPC分类号: G06F9/38
CPC分类号: G06F9/30072 , G06F9/3005 , G06F9/3009 , G06F9/3851 , G06F9/3885 , G06F9/3887
摘要: 本发明描述用于在单指令多数据SIMD处理系统中选择性地激活恢复检查操作的技术。描述一种处理器,其经配置以针对特定指令基于包含在所述指令中的指示是否针对所述指令执行恢复检查操作的信息,选择性地启用或停用恢复检查操作。还描述一种编译程序,其经配置以产生经编译代码,所述经编译代码在被执行时致使针对特定指令选择性地启用或停用恢复检查操作。本发明的所述技术可用于减少利用恢复检查操作管理经撤销激活的线程的再激活的SIMD系统的功率消耗及/或改善所述系统的性能。
-
公开(公告)号:CN101627365B
公开(公告)日:2017-03-29
申请号:CN200780046679.6
申请日:2007-11-14
申请人: 索夫特机械公司
发明人: M·阿卜杜拉
IPC分类号: G06F9/30
CPC分类号: G06F9/30123 , G06F9/30043 , G06F9/3009 , G06F9/30134 , G06F9/30138 , G06F9/3016 , G06F9/34 , G06F9/342 , G06F9/3808 , G06F9/3824 , G06F9/3826 , G06F9/383 , G06F9/3838 , G06F9/384 , G06F9/3851 , G06F9/3853 , G06F9/3857 , G06F9/3885 , G06F9/3891 , G06F9/462 , G06F9/4843
摘要: 用于复杂指令格式的动态生成、执行、同步以及并行的统一架构包括虚拟寄存器文件、寄存器缓存以及寄存器文件层级。自生成和同步动态和静态线程的架构提供了高效的上下文切换。
-
公开(公告)号:CN106104465A
公开(公告)日:2016-11-09
申请号:CN201580015800.3
申请日:2015-03-06
申请人: 国际商业机器公司
发明人: L·C·海勒 , J·P·库巴拉 , F·Y·布萨巴 , J·D·布拉德伯里 , M·法雷尔 , D·L·奥西塞克 , D·格雷纳 , T·斯莱格尔 , D·W·施密特 , C·盖尼 , C·雅各比
CPC分类号: G06F9/3009 , G06F9/30174 , G06F9/3851 , G06F9/45533 , G06F9/45545 , G06F9/4843 , G06F9/5027 , G06F9/5077 , G06F2009/45575 , G06F2209/5018
摘要: 各实施例涉及计算机中的多线程。一个方面为一种计算机,所述计算机包括具有核心的配置,所述核心包括物理线程且可在单线程(ST)模式及多线程(MT)模式中操作。所述计算机还包括主机程序,所述主机程序被配置为在所述核心上以所述ST模式执行以发出开始虚拟执行(开始VE)指令,以分派包括客体虚拟机(VM)的客体实体。所述开始VE指令由所述核心执行且包括从由所述开始VE指令指定的位置获得具有客体状态的状态描述。所述执行包括基于所述客体状态来判定所述客体实体包括单个客体线程还是多个客体线程,及基于所述客体状态以及所述客体实体包括单个客体线程还是多个客体线程的判定而在所述MT模式或所述ST模式中开始所述客体线程。
-
公开(公告)号:CN102483708B
公开(公告)日:2016-01-20
申请号:CN201180003728.4
申请日:2011-07-06
申请人: 松下电器产业株式会社
发明人: 森下广之
CPC分类号: G06F9/3009 , G06F9/30047 , G06F9/30076 , G06F9/3834 , G06F9/3838 , G06F9/3851 , G06F9/4812 , G06F9/4843 , G06F9/526
摘要: 提供能够保持多个指令与一个读出指令之间的依存关系的处理器。执行多个线程的处理器具有:设定单元,在执行一个线程中的确保向存储器区域完成了写入的位置上存在的指令时,对表示是否向该存储器区域完成了写入的利用信息,设定表示该一个线程向该存储器区域完成了写入之意的内容,上述一个线程向上述存储器区域进行写入,上述存储器区域由上述一个线程与另一线程共同利用;以及控制单元,在上述利用信息表示上述一个线程向上述存储器区域完成了写入的情况下,执行另一线程读出上述存储器区域中存在的数据的读出指令,在上述利用信息表示上述一个线程向上述存储器区域完成了写入的情况下,抑制执行该读出指令。
-
-
-
-
-
-
-
-
-