-
公开(公告)号:CN105009074B
公开(公告)日:2018-12-07
申请号:CN201480011469.3
申请日:2014-03-10
申请人: 高通股份有限公司
发明人: 梅林达·J·布朗 , 詹姆斯·诺里斯·迪芬德尔费尔 , 迈克尔·斯科特·麦基尔文 , 布莱恩·迈克尔·斯坦普尔 , 达朗·尤金·施特雷特
IPC分类号: G06F9/30
摘要: 本文揭示的实施例包含从指令处理电路中的执行管线消除冗余同步屏障。还揭示相关的处理器系统、方法和计算机可读媒体。通过跟踪同步事件的发生,不必要的软件同步操作可以被识别并消除,从而改善中央处理单元CPU的性能。在一个实施例中,提供一种用于消除指令流中的冗余同步屏障的方法。所述方法包括确定下一个指令是否包括类型对应于第一同步事件的同步屏障。所述方法还包括响应于确定所述下一个指令包括类型对应于所述第一同步事件的同步屏障而从所述指令流中消除所述下一个指令。以此方式,可以通过避免不必要的同步操作而增加在每一CPU时钟循环期间执行的指令的平均数目。
-
公开(公告)号:CN105103139B
公开(公告)日:2018-04-20
申请号:CN201480020090.9
申请日:2014-04-09
申请人: 高通股份有限公司
发明人: 托马斯·菲利普·施派尔 , 埃里克·F·罗宾森 , 贾亚·普拉喀什·苏布拉马尼亚姆·贾纳桑 , 托马斯·安德鲁·萨托里乌斯 , 詹姆斯·诺里斯·迪芬德尔费尔
IPC分类号: G06F15/173 , G06F12/0831 , G06F12/0808 , G06F12/0811
CPC分类号: G06F12/0808 , G06F12/0811 , G06F12/0831 , G06F15/173
摘要: 本发明描述用于具有两个或更多个处理器的多处理器的技术,所述多处理器增加了加载排他命令使高速缓冲存储线变成排他状态的机会,这样使得执行存储排他时性能得到提高。新的总线操作读取偏好型排他用作一个暗示,向其它高速缓冲存储器暗示发出请求的主设备很可能存储到所述高速缓冲存储线,并且,如果可能的话,其它高速缓冲存储器应当放弃所述线。在大多数情况下,这将使得其它主设备放弃所述线,而所述发出请求的主设备使所述线变成排他的。在大多数情况下,两个或更多个处理器不在同时执行对于相同地址的信号量管理序列。因此,发出请求的主设备的加载排他能够更多次使高速缓冲存储线变成所述排他状态。
-
公开(公告)号:CN104040509B
公开(公告)日:2018-01-30
申请号:CN201380005243.8
申请日:2013-01-17
申请人: 高通股份有限公司
发明人: 詹姆斯·诺里斯·迪芬德尔费尔 , 罗伯特·D·克兰西 , 托马斯·菲利普·施派尔
IPC分类号: G06F12/1045
CPC分类号: G06F12/1063 , G06F12/1045
摘要: 本发明揭示用于在有虚拟标识的高速缓冲存储器中确定别名地址的高速缓存命中/未中的设备及相关系统及方法。在一个实施例中,提供一种用于VIVT高速缓冲存储器的虚拟别名高速缓存命中/未中检测器。所述检测器包括TLB,所述TLB经配置以从所述VIVT高速缓冲存储器接收第一虚拟地址及第二虚拟地址,所述第二虚拟地址是由基于所述第一虚拟地址进行的对所述VIVT高速缓冲存储器的索引读取产生。所述TLB经进一步配置以产生分别从所述第一虚拟地址及所述第二虚拟地址转译的第一物理地址及第二物理地址。所述检测器进一步包括比较器,所述比较器经配置以接收所述第一物理地址及所述第二物理地址且基于所述第一物理地址与所述第二物理地址的比较实现别名高速缓存命中/未中指示符的产生。以此方式,所述虚拟别名高速缓存命中/未中检测器即使在存在别名寻址的情况下也正确地产生高速缓存命中及高速缓存未中。
-
公开(公告)号:CN104067244B
公开(公告)日:2017-10-31
申请号:CN201380006129.7
申请日:2013-01-23
申请人: 高通股份有限公司
发明人: 罗伯特·D·克兰西 , 托马斯·菲利普·施派尔 , 詹姆斯·诺里斯·迪芬德尔费尔
IPC分类号: G06F12/0855
CPC分类号: G06F12/0859 , G06F12/0882 , G06F2212/1028 , Y02D10/13
摘要: 本发明涉及存取具有参考的高时间局部性的存储器内容。本发明的实施例将所述内容存储在数据缓冲器中,确定所述数据缓冲器的所述内容具有参考的高时间局部性,且针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存取所述数据缓冲器。
-
公开(公告)号:CN106997286A
公开(公告)日:2017-08-01
申请号:CN201610899970.9
申请日:2007-03-19
申请人: 高通股份有限公司
发明人: 詹姆斯·诺里斯·迪芬德尔费尔 , 博胡斯拉夫·雷赫利克
CPC分类号: G06F9/3848 , G06F9/3806 , G06F9/3013
摘要: 本发明涉及用于循环分支的分支历史寄存器,响应于与循环相关联的条件分支指令的性质(例如指示所述分支是循环结束分支的性质),维持所述循环的迭代数目的计数,且将指示所述循环迭代计数的多位值存储于分支历史寄存器(BHR)中。在一个实施例中,所述多位值可包括实际的循环计数,在此情况下,位数目是可变的。在另一实施例中,所述位数目是固定的(例如,两个)且通过与阈值的比较将循环迭代计数映射为固定数目的多位值(例如,四个)中的一者。可针对嵌套循环维持单独迭代计数,且存储于所述BHR中的多位值可指示仅内部循环、仅外部循环或两者的循环迭代计数。
-
公开(公告)号:CN105190540A
公开(公告)日:2015-12-23
申请号:CN201480013934.7
申请日:2014-03-14
申请人: 高通股份有限公司
发明人: 达朗·尤金·施特雷特 , 布莱恩·迈克尔·斯坦普尔 , 托马斯·菲利普·施派尔 , 罗德尼·韦恩·史密斯 , 迈克尔·斯科特·麦克勒瓦伊内 , 肯尼思·艾伦·达克塞 , 詹姆斯·诺里斯·迪芬德尔费尔
CPC分类号: G06F9/30098 , G06F9/30189 , G06F9/3842 , G06F9/3863
摘要: 一种处理器包含用于存储在寄存器字段的当前值的上下文内处理的指令的队列,其中对于一些实施例,所述指令为未定义的或定义的,这取决于处理时的所述寄存器字段。在写入指令(写入到所述寄存器字段的指令)执行之后,搜索所述队列以查找含有取决于所述被执行的写入指令的指令的任何条目。每一此条目存储当处理所述条目中的所述指令时所述寄存器字段的值。如果在所述队列中发现此条目且其所存储的所述寄存器字段的值并不与所述写入指令写入到所述寄存器字段的值匹配,那么所述处理器清洗管线,且以一状态重新开始,以便正确地执行所述指令。
-
公开(公告)号:CN102934075B
公开(公告)日:2015-12-02
申请号:CN201180028116.0
申请日:2011-06-28
申请人: 高通股份有限公司
发明人: 詹姆斯·诺里斯·迪芬德尔费尔 , 迈克尔·威廉·莫罗
CPC分类号: G06F9/30058 , G06F9/30003 , G06F9/30101 , G06F9/3804 , G06F9/3842
摘要: 一种处理器实施用于提供间接分支地址的预先通知的设备和方法。自动地识别由指令产生的目标地址。在推测性执行利用最当前目标地址的间接分支指令之前基于所述最当前目标地址来准备下一程序地址。所述设备合适地采用寄存器,其用于保持由程序指定为间接分支指令的最当前间接地址的指令存储器地址。所述设备还采用下一程序地址选择器,其从所述寄存器选择所述最当前间接地址作为所述下一程序地址以用于在推测性执行所述间接分支指令时使用。
-
公开(公告)号:CN102449611B
公开(公告)日:2015-09-23
申请号:CN201080023221.0
申请日:2010-05-26
申请人: 高通股份有限公司
发明人: 托马斯·菲利普·施派尔 , 詹姆斯·诺里斯·迪芬德尔费尔 , 托马斯·安德鲁·萨托里乌斯
IPC分类号: G06F13/16
CPC分类号: G06F13/1621 , G06F12/0811 , G06F12/0835
摘要: 本发明描述一种用于强制存储器存取的次序的有效技术。从未经配置以产生存储器障碍命令的装置接收存储器存取请求。响应于所述存储器存取请求而产生替代障碍。存储器存取请求可为读取请求。在存储器写入请求的情况下,在处理所述写入请求之前产生所述替代障碍。还可响应于存储器读取请求而产生替代障碍,替代障碍的产生取决于对与所述读取请求相同的地址的先前写入请求。在分层式存储器系统内强制一致性,如同曾从所述不产生存储器障碍命令的装置接收到存储器障碍命令一样。
-
公开(公告)号:CN104854556A
公开(公告)日:2015-08-19
申请号:CN201380061574.3
申请日:2013-11-27
申请人: 高通股份有限公司
发明人: 詹姆斯·诺里斯·迪芬德尔费尔 , 迈克尔·威廉·莫罗 , 迈克尔·斯科特·麦克勒瓦伊内 , 达朗·尤金·施特雷特 , 维马尔·K·雷迪 , 布莱恩·迈克尔·斯坦普尔
CPC分类号: G06F9/3808 , G06F9/30054
摘要: 本发明揭示建立用于子例程返回的分支目标指令高速缓冲存储器BTIC条目以减少管线泡,以及相关的系统、方法和计算机可读媒体。在一个实施例中,建立BTIC条目的方法包含检测执行管线中的子例程调用。作为响应,将按顺序在所述子例程调用之后获取的至少一个指令写入作为用于子例程返回的BTIC条目中的分支目标指令。计算下一指令获取地址,且将其写入到所述BTIC条目中的下一指令获取地址字段中。以此方式,即使首次遇到所述子例程返回或从不同调用位置调用所述子例程,所述BTIC也可提供用于所述子例程返回的正确分支目标指令和下一指令获取地址数据。
-
公开(公告)号:CN101371223B
公开(公告)日:2015-07-15
申请号:CN200780002416.5
申请日:2007-01-22
申请人: 高通股份有限公司
发明人: 詹姆斯·诺里斯·迪芬德尔费尔 , 杰弗里·托德·布里奇斯 , 迈克尔·斯科特·麦基尔文 , 托马斯·安德鲁·萨托里乌斯
CPC分类号: G06F9/30072 , G06F9/30036 , G06F9/30094 , G06F9/3016 , G06F9/30167
摘要: 基于提早认识到完成选择运算数指令的处理并不要求所述选择运算数指令将不使用的运算数,减轻了由于等待此类运算数数据而产生的延迟。在执行之前的适当点,进行关于由所述选择运算数指令所指定的一或多个选择标准、影响所述选择标准的条件和运算数的可用性的确定。保持电路使用所述确定来控制保持信号的激活和释放,所述保持信号控制处理器管线暂停。如果所述选定运算数可用,即使将不使用的另一运算数不可用,那么也跳过等待运算数数据所需要的暂停,或提早终止暂停。维持由于等待运算数而产生的暂停,直到满足所述选择标准并提取所述选定运算数且所述选定运算数为可用为止。
-
-
-
-
-
-
-
-
-