-
公开(公告)号:CN105446777B
公开(公告)日:2019-06-04
申请号:CN201510815208.3
申请日:2015-11-18
申请人: 上海兆芯集成电路有限公司
IPC分类号: G06F9/445 , G06F12/0802
CPC分类号: G06F9/3836 , G06F9/30021 , G06F9/30043 , G06F9/32 , G06F9/3455 , G06F9/3824 , G06F9/3832 , G06F9/3867 , G06F9/3885 , G06F12/0875 , G06F2212/452
摘要: 一种执行高速缓存行非对齐加载指令的推测并行执行的方法,包括:推断地预测加载指令与高度缓存存储器是否是非对齐的;将所述加载指令标注为非对齐的并发射指令到调度器;并行地向第一和第二加载流水线派遣所述被标注为非对齐的加载指令,并确定两个加载流水线的相应地址以从包括目标加载数据的第一和第二高速缓冲行撷取数据,并合并从两个加载流水线检测的数据。可以基于匹配被确认为实际上非对齐的加载指令的在前次例程的指令指针来进行预测。可以进一步基于使用前次地址和跳步进行预测以预测加载指令的连续例程之间的地址步长。选择两个加载的地址以合并目标加载数据。
-
公开(公告)号:CN108292229A
公开(公告)日:2018-07-17
申请号:CN201680067704.8
申请日:2016-11-18
申请人: 英特尔公司
发明人: E·乌尔德-阿迈德-瓦尔 , N·阿斯塔菲耶夫
CPC分类号: G06F9/30043 , G06F9/30021 , G06F9/30036 , G06F9/30098 , G06F9/3016 , G06F9/345 , G06F9/3455 , G06F9/3824 , G06F9/383 , G06F9/3889 , G06F12/0862 , G06F12/0875 , G06F2212/1016
摘要: 处理器,包括:前端,用于解码指令;以及分配器,用于将指令分配给执行单元以执行用于将分散的数据从存储器聚集到目的地寄存器中的指令;以及具有高速缓存行的高速缓存。执行单元包括:用于计算要聚集的元素的数量并且为元素计算存储器中的地址的逻辑,以及用于将对应于计算的地址的高速缓存行取出到高速缓存中的逻辑,以及用于从高速缓存加载目的地寄存器的逻辑。
-
公开(公告)号:CN108027773A
公开(公告)日:2018-05-11
申请号:CN201680054500.0
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , 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/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
摘要: 公开了用于使用硬件结构来控制存储器访问指令在基于块的处理器架构中的执行的装置和方法,该硬件结构指示指令块中的存储器访问指令的相对排序。在所公开的技术的一个示例中,一种执行具有多个存储器加载和/或存储器存储指令的指令块的方法包括选择下一存储器加载或者存储器存储指令,以基于被编码在块内的依赖性和对存储数据的存储向量执行,该数据指示指令块中的哪些存储器加载和存储器存储指令已经执行。可以使用存储掩码来对存储向量进行掩码。可以在对指令块译码时生成或者从指令块头部复制存储掩码。基于编码的依赖性和经掩码的存储向量,下一指令可以在它的依赖性可用时发出。
-
公开(公告)号:CN108027771A
公开(公告)日:2018-05-11
申请号:CN201680054472.2
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , 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/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
摘要: 公开了与基于块的处理器核复合寄存器相关的系统、装置和方法。在所公开的技术的一个示例中,处理器可以包括多个基于块的处理器核,多个基于块的处理器核用于执行包括多个指令块的程序。相应的基于块的处理器核可以包括一个或多个可共享资源和可编程复合控制寄存器。可编程复合控制寄存器可以用于配置一个或多个可共享资源中的哪些资源与多个处理器核中的其他处理器核共享。
-
公开(公告)号:CN108027770A
公开(公告)日:2018-05-11
申请号:CN201680054462.9
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , 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/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
摘要: 公开了用于使用指令译码器来控制基于块的处理器体系架构中的存储器访问指令的执行的装置和方法,该指令译码器对具有可变数目的目标操作数的指令进行译码。在所公开的技术的一个示例中,基于块的处理器核包括指令译码器,其被配置为译码用于指令块中的指令的目标操作数,该指令被编码以将可变数目的目标操作数考虑在内;以及控制单元,其被配置为发送用于由核中的至少一个核所执行的操作的译码的目标操作数中的至少一个目标操作数的数据。在一些示例中,该指令指示具有矢量编码的目标指令。在其他示例中,可变长度格式将对一个或多个目标的指示考虑在内。
-
公开(公告)号:CN108027735A
公开(公告)日:2018-05-11
申请号:CN201680054501.5
申请日: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
摘要: 公开了用于使用生成指令块中的存储器访问指令的相对排序的硬件结构来控制基于块的处理器架构中的存储器访问指令的执行的装置和方法。在所公开的技术的一个示例中,一种执行具有多个存储器加载和/或存储器存储指令的指令块的方法包括:对编码多个存储器访问指令的指令块进行译码,并生成指示用于执行指令块中的存储器访问指令的相对次序的数据,并且至少部分地基于相对次序的数据来调度指令块的一部分的操作。在一些示例中,存储向量数据寄存器可以存储所生成的相对排序的数据以用于在指令块的后续实例中使用。
-
公开(公告)号:CN108027730A
公开(公告)日:2018-05-11
申请号:CN201680053045.2
申请日: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/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
摘要: 公开了用于使在无效指令的目标字段中标识的一个或多个寄存器无效的装置和方法。在所公开的技术的一些示例中,一种装置可以包括存储器和一个或多个基于块的处理器核,其被配置为对多个指令块进行取指和执行。所述核之一可以包括控制单元,其至少部分地基于接收无效指令被配置为基于所述无效指令的目标字段,获得多个寄存器中的至少一个的寄存器标识。使与寄存器标识相关联的至少一个寄存器的写入无效。无效指令在多个指令块中的第一指令块中。基于至少一个寄存器的无效写入,执行来自不同的第二指令块的后续指令。
-
公开(公告)号:CN108027641A
公开(公告)日:2018-05-11
申请号:CN201680054903.5
申请日:2016-08-25
申请人: 高通股份有限公司
CPC分类号: G06F1/08 , G06F1/3206 , G06F1/324 , G06F1/3243 , G06F9/3824 , G06F9/3855 , G06F12/0804 , G06F12/0875 , G06F12/0897 , G06F12/12 , G06F2212/1024 , G06F2212/60 , Y02D10/126 , Y02D10/152
摘要: 响应于因高速缓冲存储器未命中所致的分派停止运作,降低处理器的时钟频率。在实施例中,倘若引发末级高速缓冲存储器未命中的加载指令为最旧加载指令及其中存在分派停止运作的连续处理器循环的数目超出阈值,且倘若自从末级高速缓冲存储器未命中以来的处理器循环的总数目不超过某一指定数目,那么针对所述加载指令降低所述处理器时钟频率。
-
公开(公告)号:CN104346285B
公开(公告)日:2018-05-11
申请号:CN201310339295.0
申请日:2013-08-06
申请人: 华为技术有限公司 , 中国科学院计算技术研究所
CPC分类号: G06F3/0611 , G06F3/0656 , G06F3/0683 , G06F9/3824
摘要: 本发明提供内存访问处理方法、装置及系统,该方法包括:接收处理器发送的访存请求;将在一个预置时间段内接收的多个访存请求进行合并形成新访存请求,新访存请求包括由内存地址对应的编码位组成编码位向量以及被合并的访存请求所访存内存地址的基地址、访存粒度、访存请求类型及由内存地址对应的编码位组成编码位向量,在编码位向量中每个被合并的访存请求所访存的内存地址对应的编码位上配置表示有访存操作的第一编码位标识;将新访存请求发送给内存控制器,以使内存控制器对与第一编码位标识对应的内存地址执行访存操作。本发明可将处理器发送的多个访存请求合并成一个访存请求并统一发送给内存控制器以执行访存操作,有效提高内存带宽使用率。
-
公开(公告)号:CN104238993B
公开(公告)日:2018-05-04
申请号:CN201410151469.5
申请日:2014-04-16
申请人: 亚德诺半导体集团
发明人: 米卡埃尔·莫尔滕森
IPC分类号: G06F7/523
CPC分类号: G06F17/16 , G06F9/3001 , G06F9/30036 , G06F9/3824 , G06F9/3893
摘要: 在至少一个示例性实施例中,提供了一种微处理器电路,包括:微处理器内核,其经由具有预定整数条(J)数据线的数据存储器总线与数据存储器连接;单端口数据存储器,其构造成以预定向量元顺序存储N元向量的向量输入元,并且构造成存储包括M列矩阵输入元和行矩阵输入元的M x N矩阵的矩阵输入元;向量矩阵乘积加速器,其包括构造成将所述N元向量与所述矩阵相乘以计算出M元合成向量的数据通路,所述向量矩阵乘积加速器:输入/输出端口,其使所述数据存储器总线与所述向量矩阵乘积加速器连接;若干向量输入寄存器,其用于存储通过所述输入/输出端口接收的相应矩阵输入元。
-
-
-
-
-
-
-
-
-