《在存在可能的存储器别名的情况下并行化循环.pdf》由会员分享,可在线阅读,更多相关《在存在可能的存储器别名的情况下并行化循环.pdf(21页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104050025A43申请公布日20140917CN104050025A21申请号201410095115322申请日2014031461/788,47120130315US14/200,78820140307USG06F9/46200601G06F9/4520060171申请人亚德诺半导体技术公司地址百慕大群岛英哈密尔顿72发明人MG佩尔金斯JL瑞德福特K桑海74专利代理机构中国国际贸易促进委员会专利商标事务所11038代理人金晓54发明名称在存在可能的存储器别名的情况下并行化循环57摘要在一个特定实施例中,本公开提供一种用以在存在无法在编译时间解决的可能的存储器别名的情。
2、况下确定可能用于循环的并行化程度的有效机构。提供硬件指令,所述硬件指令在运行时间测试存储地址并且设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的SIMD单指令多数据通道以便并行地运行。列举了扩展这类指令的适用性或性能的其它硬件特征。30优先权数据51INTCL权利要求书2页说明书13页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书13页附图5页10申请公布号CN104050025ACN104050025A1/2页21一种用以在存在可能的存储器别名的情况下确定可能用于循环的并行化程度的方法,所述方法包括提供硬件指令,所述硬。
3、件指令在运行时间测试存储地址;以及设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。2如权利要求1所述的方法,其中启用的并行化的量是由用于指针别名使用的运行时间测试来确定的。3如权利要求1所述的方法,其中服从遵守所述初始标量循环的循环携带依赖性,启用最大数目的向量通道以获得最大加速。4如权利要求1所述的方法,其中处理器被配置来确定可启用仅一个向量通道以再生所述标量循环的所述语义。5如权利要求1所述的方法,其中硬件具有用以规定启用多少向量通道的机构,并且其中所述硬件包括模式寄存器,所述模式寄存器含有启用的通道的数目。
4、,或所述硬件包括屏蔽寄存器,所述屏蔽寄存器控制启用哪些通道。6如权利要求5所述的方法,其中所述硬件具有用以依赖于在运行时间的存储地址的测试来设定所述模式寄存器以启用所述最大数目的向量通道的机构。7如权利要求5所述的方法,其中所述硬件具有依赖于所述启用的通道的数目来更改所述循环的迭代的数目的机构。8如权利要求1所述的方法,其中SIMD分级循环允许所述循环在并非向量化因数的倍数的向量长度上运行。9如权利要求1所述的方法,其中归纳变量的增量是通过在所述循环中启用的向量通道的数目来按比例缩放的。10如权利要求1所述的方法,其中所述方法包括跨越当前根据模式寄存器启用的向量通道来执行约简,所述约简进一步包。
5、括求和、逐位运算、最小值或最大值。11如权利要求1所述的方法,其中所述方法包括将值从在循环的最后迭代中使用的最后向量通道复制到存储器或复制到已知的寄存器位置。12一种用于在存在可能的存储器别名的情况下确定可能用于循环的并行化程度的设备,所述设备包括用于执行硬件指令的至少一个处理元件,所述硬件指令在运行时间测试存储地址;以及模式或寄存器,所述模式或寄存器被设定来使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。13如权利要求12所述的设备,其中启用的并行化的量是由用于指针别名使用的运行时间测试来确定的。14如权利要求12所述的设备,其中所述模式或寄。
6、存器规定启用多少向量通道,并且其中所述模式或寄存器包括模式寄存器,所述模式寄存器含有启用的通道的数目,或所述模式或寄存器包括屏蔽寄存器,所述屏蔽寄存器控制启用哪些通道。15如权利要求14所述的设备,其中所述至少一个处理元件具有用以依赖于在运行时间的存储地址的测试来设定所述模式或寄存器以启用所述最大数目的向量通道的机构。权利要求书CN104050025A2/2页316如权利要求14所述的设备,其中所述至少一个处理元件具有依赖于所述启用的通道的数目来更改所述循环的迭代的数目的机构。17如权利要求12所述的设备,其中所述至少一个处理元件跨越当前根据模式寄存器启用的向量通道来执行约简,所述约简进一步包。
7、括求和、逐位运算、最小值或最大值。18如权利要求12所述的设备,其中所述至少一个处理元件将值从在循环的最后迭代中使用的最后向量通道复制到存储器或复制到已知的寄存器位置。19至少一种机器可读非暂时性存储介质,其上存储有指令以用于在存在可能的存储器别名的情况下确定可能用于循环的并行化程度,其中所述指令在由至少一个处理器执行时使所述至少一个处理器执行以下操作执行硬件指令,所述硬件指令在运行时间测试存储地址;以及设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。20如权利要求19所述的机器可读非暂时性存储介质,其中启用的。
8、并行化的量是由用于指针别名使用的运行时间测试来确定的。权利要求书CN104050025A1/13页4在存在可能的存储器别名的情况下并行化循环0001相关申请的交叉引用0002本申请要求2013年3月15日提交的标题名称为“AMETHODTOPARALLELIZELOOPSINTHEPRESENCEOFPOSSIBLEMEMORYALIASES”的美国申请61/788,471的优先权,所述美国申请在此以引用的方式整体并入本文中。技术领域0003本公开一般来说涉及并行处理,并且更具体来说涉及并行化循环。背景技术0004现代硬件技术通过使用多个处理元件PE来提供增加处理速度的能力,所述多个处理元件各。
9、自可以执行分开的并行操作;这样的处理有时被称为并行处理或并行化。为了在处理中利用来自并行化的潜在加速,编译器可确定是否可并行化源代码。例如,如果循环的每一迭代不依赖于循环的任何先前迭代,则编译器可并行化循环被称为向量化。这样的依赖性通常是以存储器别名的形式即,其中多个指针引用单个存储地址。编译器可在编译时间尝试证明这样的潜在存储器别名不存在,以使得编译器可产生并行代码。附图说明0005根据以下详细描述和附图最好地理解本公开。应强调的是,根据行业中的标准惯例,各种特征并没有按比例描绘并且仅用于图解说明目的。事实上,为了论述的清晰性,可任意增大或减小各种特征的尺寸。0006图1为根据本说明书的一个。
10、或多个实施方案的用于在存在可能的存储器别名的情况下并行化循环的例示性逻辑的流程图。0007图2为根据本说明书的一个或多个实施方案的包括含有启用的通道的数目的寄存器的例示性硬件实行方案的框图。0008图3示出在具有两个并行处理元件的硬件上运行根据本说明书的一个实行方案编译的代码的例示性结果。0009图4示出在具有四个并行处理元件的硬件上运行根据本说明书的一个实行方案编译的代码的例示性结果。0010图5示出在具有八个并行处理元件的硬件上运行根据本说明书的一个实行方案编译的代码的例示性结果。具体实施方式0011概述0012根据本说明书的一个方面,公开一种用以在存在可能的存储器别名的情况下确定可能用于。
11、循环的并行化程度的方法,所述方法包括提供硬件指令,所述硬件指令在运行时间测试存储地址;以及设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行说明书CN104050025A2/13页5遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。0013根据本说明书的另一个方面,公开一种用以在存在可能的存储器别名的情况下确定可能用于循环的并行化程度的设备,所述设备包括用于执行硬件指令的至少一个处理元件,所述硬件指令在运行时间测试存储地址;以及模式或寄存器,所述模式或寄存器被设定来使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。。
12、0014根据本说明书的又一个方面,公开至少一种机器可读非暂时性存储介质,所述机器可读非暂时性存储介质上存储有指令以用于在存在可能的存储器别名的情况下确定可能用于循环的并行化程度,其中所述指令在由至少一个处理器执行时使所述至少一个处理器执行以下操作执行硬件指令,所述硬件指令在运行时间测试存储地址;以及设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据SIMD通道以便并行地运行。0015示例性实施方案的详细描述0016诸如C/C等高级语言表达对标量类型进行操作的程序语义。例如,可如下实行用以将两个向量加在一起的函数00170018理论上,可以并。
13、行执行向量元素的单独相加。然而,为了这样做,编译器可确定在输入向量与输出向量之间不存在存储器别名,即,输入向量与输出向量的存储地址不彼此重叠。在以上情况下,例如,指针A和B可指向存储器的相关区域。例如,假如对以上函数的调用之一如下,则上述情况将会发生0019ADD0020在这种情况下,在加法循环中存在循环携带依赖性即,循环的一个迭代依赖于在循环的先前迭代中计算的结果,并且可能无法并行地进行元素的求和。0021编译器可在编译时间尝试证明这样的潜在别名不存在,以使得可创建并行代码。然而,一些潜在别名可能在编译时间仍然无法解决。以下方法涉及解决阻止向量化的在编译时间无法解决的别名00221编译器可用。
14、编译器备注或汇编注解的形式将无法解决的别名阻止向量化的信息提供给程序员。程序员然后可通过使用限制限定词、编译指示或其它技术来改变其代码源,以帮助编译器解决别名。然而,在许多情况下程序员不知道代码如何工作尤其是在维护第三方代码的情况下。此外,这种方法可能并不适用于别名仅有时存在而并不总是出现的情况。00232编译器可发出别名的运行时间测试,并且发出循环的两个不同版本向量化版本和标量版本。循环的适当版本依赖于别名是否存在而执行。对于这种方法的挑战是代码大小扩展和缺少向宽向量长度的可伸缩性例如,具有不同向量化因数的许多不同循环对说明书CN104050025A3/13页6于宽向量机上的所有可能的别名距。
15、离创建有效代码。00243在没有硬件支持的情况下例如,在SHARC2116X上有条件地打开SIMD模式可能具有以下挑战I其可仅处理启用的一个向量通道标量模式或启用的两个向量通道向量模式;II其可能不提供特定指令来以有效方式检测别名;并且III其可能不实行允许特定操作的特征,这依赖于启用的向量通道的数目。因此,这样的方法可能具有高的建立和拆除成本,并且可能无法向量化所有的潜在可向量化的循环。0025因此,存在编译器无法证明在输入阵列与输出阵列之间无别名存在的情况。因此,编译器可为保守的并且仅发出标量代码例如,串行代码。在一些情况下,别名存在,但是其可能并不是每次调用函数时都出现。因此,函数有时可。
16、以并行执行但是在其它调用期间必须串行执行。因此,一个挑战是找到一种方法来在可能的情况下从并行化获得加速,同时在别名确实存在的情况下也产生正确的代码。0026解决方案是将硬件支持增添到SIMD处理器通过多个PE或寄存器内SIMDSWAR来支持单指令多数据指令的处理器以允许单个循环以标量模式或使用启用的多个SIMD通道或向量通道来运行。启用的并行化的量是由用于指针别名使用的运行时间测试来确定的。有利地,这使得单个循环能够正确地执行而不考虑输入阵列和输出阵列刚好在存储器中何处例如,不考虑别名是否存在。此外,服从遵守初始标量循环的循环携带依赖性,启用最大数目的向量通道以获得最大加速。0027根据本说明。
17、书的一个实行方案在芯片的指令集架构ISA及其可见寄存器组中可为明显的。指令的细节可用许多方式来实行例如,将别名测试分解为多个指令、组合多个别名测试或使用局限于2的幂的VECLEN。如本说明书中通篇所论述,指令可被利用来测试别名并且因此确定向量长度寄存器或PE屏蔽寄存器。此外,根据本说明书实行的指令可容许循环中的可变向量长度。0028在一个实行方案中,硬件可允许循环以标量模式或使用多个SIMD通道来运行。例如,考虑以上定义的函数ADD。如果存在以下两个调用点0029ADD0030以及0031ADD0032则当执行第一调用即,ADD/开始N个迭代的循环0052R0I04/加载BI,并且使地址寄存器。
18、递增至阵列中的下一个元素0053R1I14/加载CI,并且使地址寄存器递增至阵列中的下一个元素0054R0R0R1/将向量元素相加0055I24R0/存储AI,并且使地址寄存器递增至阵列中的下一个元素0056ENDLOOP0057注意,R0和R1中的每一个对应于数据寄存器,并且I0、I1和I2中的每一个对应于寻址寄存器,所述寻址寄存器含有存储地址。0058在一个实行方案中,例如,根据特征1,使用模式寄存器例如,VECLEN寄存器来扩充硬件,所述模式寄存器含有启用的向量通道的数目。作为一个实例,模式寄存器可为在逻辑100中例如,在程序108、112和114处提及的VECLEN寄存器。对于标量代码。
19、,将模式寄存器设定为1启用单个向量通道。在到达循环之前模式寄存器处于这个状态中。为简单起见,可以假定用于硬件的架构包括多个相同的PE,以使得对于每一PE复制寄存器文件。因此,寄存器R2例如可被视为一组寄存器,每一PE上一个寄存器,在每一PE的寄存器文件中的相同地方。0059例如,图2为根据本说明书的一个或多个实施方案的包括含有启用的通道的数目说明书CN104050025A6/13页9的模式寄存器的例示性硬件实行方案的框图。在这个实施例中,硬件200包括VECLEN寄存器202、具有对应的SWAR通道206的处理元件零PE0204、具有对应的SWAR通道210的处理元件一PE1208、具有对应的。
20、SWAR通道214的处理元件二PE2212和具有对应的SWAR通道218的处理元件N1PEN1216。硬件200中的每一处理元件皆具有4个SWAR通道。因此,系统200中的SWAR通道的总数等于N的4倍。VECLEN寄存器202控制处理元件例如,204、208、212和216和SWAR通道例如,206、210、214和218的启用。在这个实施例中,VECLEN寄存器202设定为8;因此,启用来自总共4N个SWAR通道中的仅8个SWAR通道。因此,启用SWAR通道206A、206B、206C、206D、210A、210B、210C和210D中的每一个,同时停用SWAR通道214A、214B、21。
21、4C、214D、218A、218B、218C和218D。可基于在运行时间的存储地址的测试来设定存储在VECLEN寄存器202中的值,以启用遵守初始标量循环的语义的最大数目的SIMD通道和/或向量通道。0060在图4中,VECLEN寄存器202展示为处于其设定为等于8的状态中。然而,VECLEN寄存器202可被更新来规定不同的数目例如,基于在运行时间的指针的测试。VECLEN寄存器202可设定为任何值,其中0PTR2。例如,在像C或C的语言中,每一指针的值是存储地址;因此,比较指针说明书CN104050025A7/13页10的值实际上是比较存储地址。此外,实行方案确定以存取大小的倍数测量的地址之。
22、间的差是否小于启用的向量通道的数目,即,PTR1PTR2/SIZEOFI0/例如,如果启用PE0、PE1和PE2,并且停用PE3、PE4、PE5、PE6和PE7,则这将PE2的R0存储到I5中的存储器位置。0098R3LASTR0/例如,如果启用PE0、PE1和PE2,并且停用PE3、PE4、PE5、PE6和PE7,则这将PE2的R0存储到PE0的R3。0099或者,指令诸如0100R3LASTR0,N0101使用初始跳脱计数N和VECLEN来确定最后值存在于哪个向量通道中,并且将其复制到PE0的R3。例如0102R3LASTR0,130103其中VECLEN8,会将PE4的R0复制到PE0的。
23、R3。0104根据本说明书实行的编译器可发出代码来并行化函数,其中并行化程度是基于硬件寄存器来在运行时间确定的。例如,可如下实行用以将一个向量中的值复制到另一个向量的函数0105说明书CN104050025A1210/13页130106编译器可编译并且发出例如,在逻辑100的程序108处代码的以下版本01070108/PN为地址寄存器,并且RN为数据寄存器。0109编译的代码将VECLEN的值初始化为8。然而,VECLEN的值在运行时间基于ALIAS函数的输出来更新例如,根据特征1和特征2。可根据在本说明书中提供的例示性指令中的任何一个来实行用于ALIAS的指令,如在编译的代码中引用的。在VE。
24、CLEN个处理元件上并行执行循环例如,LOOP,并且使循环重复8/VECLEN次。因为VECLEN的值是在运行时间设定的,所以循环的迭代的数目也是在运行时间确定的例如,根据特征3。因此,编译的代码可基于在运行时间确定的VECLEN的值并行地执行循环的多个迭代。0110图3示出在具有两个并行处理元件的硬件上运行根据本说明书的一个实行方案编译的代码的例示性结果。具体来说,图3示出使用输入指针P00X1008和P10X1000并且在具有可并行执行的八个处理元件例如,向量通道的最大数目为8的硬件上运行以上代码编译代码亦即,_CPY的例示性结果。所述图展示出周期数和在周期上执行的指令的对应列即,INST。
25、RUCTION、地址寄存器P0和P1的值、VECLEN的值、循环计数器即,LC的值和数据寄存器R0的值。在周期0至2上,初始化地址寄存器和VECLEN。在这个实施例中,将VECLEN初始化为等于8;然而,在周期3上,基于比较P0和P1的存储地址与硬件上可利用的处理元件的最大数目而将VECLEN从8更新为2。循环的第一迭代在周期5和6上加载来自IN阵列的前两个值,并且将其存储到OUT阵列上的对应位置。类似地,循环总共被重复四次,因为8/VECLEN8/24。剩余的三个循环分别在周期7至8、9至10和11至12中完成。最后,函数在周期13上返回。在每一循环之后,归纳变量递增由在循环中启用的处理元件。
26、或向量通道的数目按比例缩放的值例如,根据特征5。例如,在周期5与周期7之间,基于2个处理元件被启用而使P0和P1中的值递增存取大小的两倍以使说明书CN104050025A1311/13页14得例如在循环的第一迭代中,P1含有数据元素IN0的地址,而在第二迭代中,其含有数据元素IN2的地址。0111图4示出运行根据本说明书的一个实行方案编译的与用于图3相同的代码的例示性结果,其中在运行时间,发现输入指针具有值P00X1010和P10X1000。再次,硬件具有可并行执行的八个处理元件。在图4中,VECLEN的值在周期4上被设定为4,而在图3中,VECLEN的值在周期4上被设定为2。所述差是由于在运。
27、行时间确定的寻址寄存器值的差造成的。再次,在每一迭代中,归纳变量增量由在循环中启用的处理元件或向量通道的数目按比例缩放例如,根据特征5。在图4中的实施例中,在周期5与周期7之间,基于启用的4个处理元件,P0和P1值递增存取大小的4倍在这种情况下,在循环的第一迭代中,P1含有数据元素IN0的地址,而在第二迭代中,其含有数据元素IN4的地址。0112图5示出运行根据本说明书的一个实行方案编译的与用于图3和图4相同的编译代码的例示性结果。再次,硬件具有八个处理元件,所述处理元件可并行执行。在这个例示性输出中,编译器可确定不存在别名,因为输出指针具有小于输入指针的值0X1010的值0X1000。因此,。
28、在周期3上,VECLEN的值被设定为处理元件的最大数目,所述最大数目在这种情况下为8。因为CPY函数在初始标量循环中仅执行8个迭代,所以在编译的并行代码的单个迭代中实现所有迭代。0113如可从图3、图4和图5中示出的例示性结果看到,单个版本的编译代码可至少部分基于在运行时间设定的硬件寄存器来在存在潜在别名的情况下正确地执行。用以在运行时间针对别名测试存储地址的指令例如,用于ALIAS的指令可设定寄存器以规定且/或启动向量通道以便使用循环的单个编译版本来开拓SIMD处理。0114在以上实施方案的论述中,寄存器、开关、放大器和/或晶体管可容易地被替换、替代或以其它方式修改以便适应特定电路要求。此外。
29、,应注意的是,互补的电子装置、硬件、软件等的使用为实行本公开的教导提供同样可行的选项。0115在一个示例性实施方案中,附图的任何数目的电路可实行于相关联电子装置的母板上。母板可为通用电路板,所述通用电路板可容纳电子装置的内部电子系统的各种部件,并且进一步提供用于其它外围设备的连接器。更具体来说,母板可提供系统的其它部件可借以电气通信的电气连接。任何适合的处理器包括数字信号处理器、微处理器、支持芯片组等、存储元件等可基于特定配置要求、处理需求、计算机设计等适当地连接至母板。诸如外部存储件、额外传感器、用于音频/视频显示的控制器和外围装置的其它部件可作为插入卡、经由电缆附接至母板,或集成到母板自身。
30、中。0116在另一个示例性实施方案中,附图的电路可实行为独立模块例如,相关联部件或电路被配置来执行特定应用或功能的装置或实行为插入电子装置的专用硬件中的插入模块。注意,本公开的特定实施方案可容易地部分或完全包含在芯片上系统SOC封装中。SOC表示将计算机或其它电子系统的部件集成至单个芯片中的IC。其可含有数字功能、模拟功能、混合信号功能以及通常射频功能上述所有功能可提供在单个芯片衬底上。其它实施方案可包括多芯片模块MCM,其中多个分开的IC定位在单个电子封装内并且被配置来通过电子封装彼此密切地相互作用。在各种其它实施方案中,放大功能性可实行于专用集成电路ASIC、现场可编程门阵列FPGA和其它。
31、半导体芯片中的一个或多个硅核心中。0117注意,以上参考附图论述的活动适用于涉及信号处理的任何集成电路,尤其是可说明书CN104050025A1412/13页15执行专业化软件程序或算法的那些集成电路,所述专业化软件程序或算法中的一些可与处理数字化实时数据相关联。某些实施方案可涉及多DSP信号处理、浮点处理、信号/控制处理、固定函数处理、微控制器应用程序等。0118在某些上下文中,本文论述的特征可适用于医疗系统、科学检测仪器、无线和有线通信、雷达、工业过程控制、音频和视频设备、电流感测、检测仪器其可为高度精确的和其它基于数字处理的系统。0119此外,可在用于医学成像、病人监视、医疗检测仪器和家。
32、庭保健的数字信号处理技术中供给以上论述的某些实施方案。这可包括肺部监视器、加速度计、心率监视器、起搏器等。其它应用可涉及用于安全系统例如,稳定控制系统、驾驶员辅助系统、制动系统、任何种类的娱乐信息和内部应用的汽车技术。此外,传动系统例如,混合车辆和电动车辆中的在电池监视、控制系统、报告控制、维修活动等中可使用高精度数据转换产品。0120此外,一些实施方案可应用于具有有限存储资源的数字信号处理技术中。例如,移动电话、移动健康跟踪装置、数码相机等可部分由于这类装置的紧凑大小而含有有限的存储资源。另外,这些装置可在嵌入式处理器上执行复杂的信号处理。有利地,本说明书的实施方案可产生紧凑的代码,从而耗费。
33、较少的存储器来执行。例示性应用可包含在移动电话上裁切图像、在移动健康跟踪装置上分析心率数据、在数码相机上将过滤器应用于图像等。进一步优点是本说明书的实施方案可最大化在运行时间的并行化的量,从而减少执行这样的应用程序所需的时间。0121在另外的其它示例性情形中,本公开的教导可适用于包含过程控制系统的工业市场中,所述过程控制系统帮助驱动生产力、能量效率和可靠性。在消费者应用中,以上论述的信号处理电路的教导可用于图像处理、自动聚焦和图像稳定例如,用于数码照相机、便携式摄像机等。其它消费者应用可包含用于家庭影院系统、DVD录像机和高清晰度电视机的音频和视频处理器。另外的其它消费者应用可涉及高级触摸屏控。
34、制器例如,用于任何类型的便携式介质装置。因此,这类技术可容易地为智能电话、平板计算机、安全系统、PC、游戏技术、虚拟现实、模拟训练等的部分。0122还必须注意的是,本文概述的所有说明、尺寸和关系例如,处理器和存储元件的数目、逻辑操作等仅被提供用于例示和教导的目的。这样的信息可在不脱离本公开的精神或随附权利要求书的范围的情况下显著地变化。所述说明仅适用于一个非限制性实施例,并且因此,其应被视为如此。在前述描述中,已经参考特定处理器和/或部件布置描述了示例性实施方案。可在不脱离随附权利要求书的范围的情况下对这类实施方案进行各种修改和改变。因此,应以说明性意义而非限制性意义来考虑描述和图式。0123。
35、注意,在本文提供的许多实施例的情况下,可针对两个、三个、四个或更多个电气部件描述相互作用。然而,已经出于清晰性并且仅作为实施例的目的而进行了描述。应了解,系统可用任何适合的方式巩固。根据类似的设计替代方案,附图中示出的部件、模块和元件中的任何一个可组合于各种可能的配置中,所有可能的配置明显地在本说明书的广泛范围内。在某些情况下,通过仅参考有限数目的电气元件来描述一组给定流程的功能性中的一个或多个可能更为容易。应了解,附图的电路及其教导是易于伸缩的,并且可适应大量部件以及更复杂/精致的布置和配置。因此,所提供的实施例不应限制范围或约束潜在应用于无数其它架构的电路的广泛教导。说明书CN104050。
36、025A1513/13页160124注意,在本说明书中,对包含在“一个实施方案”、“示例性实施方案”、“一实施方案”、“另一个实施方案”、“一些实施方案”、“各种实施方案”、“其它实施方案”、“替代性实施方案”等中的各种特征例如,元件、结构、模块、部件、步骤、操作、特性等的参考旨在意指任何这样的特征都包含在本公开的一个或多个实施方案中,但是可能或可能未必组合于相同实施方案中。0125本领域技术人员可查明许多其它改变、置换、变化、更改和修改,并且本公开旨在涵盖属于随附权利要求书的范围内的所有这类改变、置换、变化、更改和修改。为了辅助美国专利商标局USPTO和另外关于这个应用颁发的任何专利的任何读。
37、者理解在此随附的权利要求书,申请人希望注意到,申请人A不希望随附权利要求中的任一项援引35USC第112部分的第六(6段,如其在于此提交的日期已存在,除非在特定权利要求中具体使用了词“用于的装置”或“用于的步骤”;并且B不希望通过说明书中的任何声明以并没有在随附权利要求书中以其它方式反映的任何方式来限制本公开。0126其它注意点、实施例和实行方案0127注意,上述设备的所有任选特征也可以相对于本文所述的方法或过程来实行,并且实施例中的细节可在任何地方使用于一个或多个实施方案中。0128在第一实施例中,提供一种系统其可包括任何适合的电路、分压器、电容器、电阻器、感应器、ADC、DFF、逻辑门、软。
38、件、硬件、链路等,所述系统可为任何类型的计算机的部分,所述系统可进一步包括连接至多个电子部件的电路板。所述系统可包括用于使用第一时钟来计时从数字核心至宏指令的第一数据输出上的数据的装置,所述第一时钟为宏指令时钟;用于使用第二时钟来计时从宏指令的第一数据输出进入物理接口中的数据的装置,所述第二时钟为物理接口时钟;用于使用宏指令时钟来计时从数字核心至宏指令的复位输出上的第一复位信号的装置,所述第一复位信号输出用作第二复位信号;用于使用第三时钟来取样第二复位信号以产生取样复位信号的装置,所述第三时钟提供比第二时钟的速率更大的时钟速率;以及用于响应于取样复位信号的跃迁而使第二时钟复位为物理接口中的预定。
39、状态的装置。0129在这些情况以上下的用于的装置可包括但不限于与任何适合的软件、电路、集线器、计算机代码、逻辑、算法、硬件、控制器、接口、链路、总线、通信路径等一起使用本文论述的任何适合部件。在第二实施例中,系统包括存储器,所述存储器进一步包括机器可读指令,所述机器可读指令在执行时使系统执行以上所述活动中的任何活动。说明书CN104050025A161/5页17图1说明书附图CN104050025A172/5页18图2说明书附图CN104050025A183/5页19图3说明书附图CN104050025A194/5页20图4说明书附图CN104050025A205/5页21图5说明书附图CN104050025A21。