用于位置感知处理的系统和方法技术方案

技术编号:28729944 阅读:26 留言:0更新日期:2021-06-06 08:01
提供了一种用于准备用于由多个算术逻辑单元(ALU)执行的一系列指令操作的方法。该方法包括:将第一指令操作第一分配给第一ALU;对于具有直接依赖于第一指令操作的输出的输入的第二指令操作,第一确定用于第二指令操作的所有输入是否在距第一ALU的局部预定义范围内可用;响应于至少第一确定的肯定结果,将第二指令操作第二分配给第二ALU;响应于第一确定的否定结果:确保在第一指令操作与第二指令操作的执行之间将发生至少一个时钟周期的暂停;以及将第二指令操作第三分配给多个ALU中的ALU。ALU。ALU。

【技术实现步骤摘要】
【国外来华专利技术】用于位置感知处理的系统和方法
相关申请的交叉引用
[0001]本申请要求2019年8月14日提交的申请号为16/540328、名称为“SYSTEM AND METHOD FOR LOCATION AWARE PROCESSING”的美国专利申请以及2018年8月16日提交的申请号为62/764,767、名称为“SYSTEM AND METHOD FOR LOCATION AWARE PROCESSING”的美国临时专利申请的优先权,这两件申请的整体内容通过引用明确地并入本文。


[0002]本文描述的各种实施例一般地涉及具有高时钟频率的处理器。更具体地,本申请的实施例涉及利用位置感知处理的处理架构和相关方法,位置感知处理基于针对先前指令操作的处理器中的算术逻辑单元(Arithmetic Logic Units,ALU)的先前分配,将ALU分配给指令操作。这样的实施例将内部传输延迟对处理器中的ALU之间的导线的影响最小化,同时相应显著地增大时钟频率、减小功耗和减小尺寸。

技术介绍

[0003]近年来,现代计算中的处理器的时钟频率已经基本上达到稳定。现在参考图1,对数图100示出了从1975至2015年的晶体管尺寸、时钟频率和性能的演变(数据改编自“40Years of Microprocessor Trend Data”,Karl Rupp,2015年6月25日)。晶体管的尺寸已经沿着相当线性的路径102继续减小;由于较小的晶体管比较大的晶体管更快,所以晶体管尺寸的减小已经使晶体管的开关速度大约每九年相应增加八倍,尽管这在近年来变得更加缓慢。晶体管组成了执行操作的处理器内部的ALU。
[0004]在2000年之前,CPU时钟频率和性能的主要因素是晶体管速度。因此,从1975至2000年,随着晶体管尺寸沿路径102减小,时钟频率曲线104在几乎对应的线性路径处改善,并且性能曲线106类似地沿相当线性的路径保持。
[0005]在2000年代初期,时钟频率开始达到峰值,并且性能改进随着每一代产品趋于平缓。尽管晶体管尺寸和速度持续改进,但是从2010至2015年,时钟频率几乎没有改进。处理器技术完全不再能够充分利用晶体管尺寸的减小来提高时钟频率。性能在那时间段里继续保持着轻微的改进,尽管它是相对适度的并且主要归因于处理器技术的其他改进。
[0006]时钟频率达到峰值的原因是晶体管速度以外的因素的影响增加。在2000年之前,这些因素的影响与晶体管速度的影响相比很小,使得这些其他因素实际上是无关紧要的;因此,时钟频率和性能的改进跟踪了晶体管速度的改进。然而,最终晶体管变得如此小和快速,使得这些其他因素的影响不再是可忽略的,并且随着时间的推移发展成为显著的限制因素。这些因素之一是传输时间,传输时间部分地由信号完成其在导线上从产生信号的任何源到将消耗该信号的ALU的行进所花费的时间量来设定(其包括在这种时间中的技术考虑,包括但不限于充电和感应效应、泄漏等)。
[0007]晶体管速度和导线延迟(传输时间)的因素均影响支持系统的时钟频率。现代计算基于在单个时钟周期内发生的两个事件的保证。首先,算术逻辑单元(“ALU”)将从核内生成
作为ALU的输入的任何源接收和选择输入;这涉及输入从源行进到ALU的传输时间。其次,ALU将对接收/选择的输入执行处理步骤;这涉及处理时间。
[0008]在这种情况下,晶体管和导线的尺寸的减小具有抵消效果——晶体管尺寸的减小减少了处理时间,而导线尺寸的减小增加了传输时间,因为较细的导线(在高度和宽度上)更能抵抗信号流。
[0009]虽然效果是抵消的,但是从历史上看,它们不是可比较的。在2000年之前,处理时间比传输时间大得多(例如,大大约100倍的量级),使得传输时间(甚至当其增加时)对于时钟频率的建立是可忽略的。这反映在图100的2000年前时间范围内,其中,时钟频率和性能的改进跟踪了晶体管尺寸的改进。
[0010]随着晶体管和导线的尺寸继续减小,处理时间继续减少,但传输时间持续以高得多的速度增加。最终,两者之间的差距缩小至与处理时间相比传输时间不再可忽略的程度,正因如此,传输时间的增加称为处理时间越来越重要的抵消因素。
[0011]这在上下文中通过核内的ALU的布局来理解。现在参考图2A和2B,如本领域已知的,处理器250的核205包括具有执行程序指令的4至8个ALU 202的数据路径207。数据路径207可以包括至少一个简单ALU(执行包括例如整数算术(加、减)、布尔逻辑(和、或、补)和移位(向左、向右、旋转)的函数)和至少一个复杂ALU(执行包括例如整数运算(乘和除)、浮点运算(加、减、乘、除)以及甚至数学函数(平方根、正弦、余弦、对数等)的函数)。
[0012]图2B示出了沿着数据路径216具有六个ALU 202(204、206、208、210、212和214)的现有技术数据路径,其中四个(208、210、212、214)是简单ALU并且两个(204、206)是复杂ALU。数据路径216包括用于每个ALU的操作数选择单元215,以共同定义操作数选择网络,并选择输入到其对应ALU的数据路径216上可用的特定输入。寄存器217呈现供ALU 202使用的值,并且可以由ALU的先前活动更早地提供这种值。
[0013]图2C针对包括ALU 204、206、208和210的多个ALU 202的布局,提供了对图2B的布局的更详细的讨论。每个ALU执行单元202由加法器262和逻辑单元263组成。加法器262可以用于计算由加载指令描述的存储器读取和由存储指令描述的存储器写入的地址。此外,加法器262可以用于执行条件分支。基于ALU是简单的还是复杂的,逻辑单元可以包括按位逻辑单元、移位器、符号扩展、逻辑和许多其他操作。每个ALU 202通过输入261和262接收操作数。输入261和262耦合到加法器262和逻辑单元263以提供用于操作执行的操作数。加法器262的结果通过耦合264耦合到多路复用器266,逻辑单元263的结果通过耦合265耦合到多路复用器266。多路复用器根据所请求的操作来选择来自加法器264或逻辑单元263的结果。多路复用器266的结果经由耦合267传送到输出寄存器268。
[0014]多个操作数选择单元215被示出为220、230、240、245,用于为ALU 204、206、208、210选择操作数。每个操作数选择单元215通过经由耦合261耦合到加法器262和逻辑263的多路复用器221为ALU 260选择操作数261。多路复用器221从存储器端口252或254、使用耦合258从寄存器256、经由耦合269从ALU 204、经由耦合279从ALU 206、经由耦合289从ALU 208或经由耦合299从ALU 210选择操作数。类似地,操作数选择单元220通过经由耦合262耦合到加法器和逻辑单元的多路复用器222为ALU 260选择操作数262。复用器222可类似地从此类可用输入或从立即操作数常数223选择。
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种具有时钟频率和时钟周期的计算机硬件装置,所述装置包括:多个算术逻辑单元(ALU),其在包括第一ALU、第二ALU和第三ALU的数据路径内,所述第二ALU在所述第一ALU的局部预定义范围内,并且所述第三ALU在所述第一ALU的所述局部预定义范围之外,其中,所述局部预定义范围小于所述数据路径;所述装置被编程为执行存储在非瞬态存储器中的一系列指令以执行操作,所述操作包括:将第一指令操作第一分配给所述第一ALU;对于具有直接依赖于第一指令操作的输出的输入的第二指令操作,第一确定用于所述第二指令操作的所有输入在距所述第一ALU的局部预定义范围内是否可用;响应于至少所述第一确定的肯定结果,将所述第二指令操作第二分配给所述第二ALU;响应于所述第一确定的否定结果:确保在所述第一指令操作与所述第二指令操作的执行之间将发生至少一个时钟周期的暂停;并且将所述第二指令操作第三分配给所述多个ALU中的ALU。2.根据权利要求1所述的装置,其中,所述装置的时钟频率部分地由在所述局部预定义范围内的所述多个ALU中的消耗者ALU与生产者ALU之间的最坏情况传输时间来定义。3.根据权利要求1所述的装置,其中,所述局部预定义范围是相邻两个ALU之间的距离。4.根据权利要求3所述的装置,其中,所述局部预定义范围进一步由面向彼此的所述相邻两个ALU的输入和输出来定义。5.根据权利要求1所述的装置,其中,所述第一ALU和所述第二ALU相同,并且所述局部预定义范围是ALU到其自身。6.根据权利要求1所述的装置,其中:所述数据路径中的所述多个ALU包括第三ALU,所述第三ALU在距所述第一ALU的所述局部预定义范围之外;所述装置的所述时钟周期比保证所述第三ALU(a)接收并选择从所述第一ALU产生的输入,以及(b)执行所述第二指令操作所需要的时间量更短。7.根据权利要求1所述的装置,其中,所述确保进一步包括:第二确定所述第一指令操作和所述第二指令操作在执行时间上是否已经分开了所述装置的至少一个时钟周期;并且响应于所述第二确定的否定结果,在所述第一指令操作和所述第二指令操作的执行之间插入所述装置的至少一个时钟周期的延迟。8.根据权利要求1所述的装置,其中,所述第一分配和所述第二分配进一步包括将所述第一指令操作和所述第二指令操作设定为在所述装置的相同时钟周期期间执行。9.一种用于准备用于在装置上执行的一系列指令操作的方法,所述装置具有在数据路径内的多个算术逻辑单元(ALU),所述数据路径至少包括第一ALU、第二ALU和第三ALU,所述第二ALU在所述第一ALU的局部预定义范围内,并且所述第三ALU在所述第一ALU的所述局部预定义范围之外,所述局部预定义范围小于所述数据路径,所述方法包括:将第一指令操作第一分配给所述第一ALU;对于具有直接依赖于第一指令操作的输出的输入的第二指令操作,第一确定用于所述
第二指令操作的所有输入在距所述第一ALU的局部预定义范围内是否可用;响应于至少所述第一确定的肯定结果,将所述第二指令操作第二分配给所述第二ALU;响应于所述第一确定的否定结果:确保在所述第一指令操作与所述第二指令操作的执行之间将发生至少一个时钟周期的暂停;并且将所述第二指令操作第三分配给所述多个ALU中的ALU。10.根据权利要求9所述的方法,其中,所述装置的时钟频率部分地由在所述局部预定义范围内的所述多个ALU中的消耗者ALU与生产者ALU之间的最坏情况传输时间来定义。11....

【专利技术属性】
技术研发人员:拉多斯拉夫
申请(专利权)人:塔奇姆有限公司
类型:发明
国别省市:

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

1