干扰测试的制作方法

文档序号:10663570阅读:292来源:国知局
干扰测试的制作方法
【专利摘要】在一个示例中,控制器包括逻辑,至少部分地包括硬件逻辑,其被配置成通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代,并且通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。可以描述其他的示例。
【专利说明】
干扰测试
【背景技术】
[0001]本文中描述的主题一般涉及电子设备的领域并且更特别地涉及电子设备中的干扰测试。
[0002]电子设备包括通过诸如外部部件互连高速(PCIe)、通用串行总线(USB)、双倍数据速率(DDR)等互连而通信地耦合的部件。这些通信接口经受噪声,诸如符号间干扰和串扰,其可能由诸如不完美互连、板布线、通孔等的设计缺陷或制造缺陷引起。这样的电子设备的设计师和制造商需要确定电子设备中的符号间干扰的影响。因此,用于干扰测试的技术可以例如在电子设备中找到实用性。
【附图说明】
[0003]参考附图描述了详细描述。
[0004]图1是根据某些示例的可以包括可能经受干扰测试的通信接口的电子设备的示意性图示。
[0005]图2是根据某些示例的实现干扰测试的示例性架构的高级示意性图示。
[0006]图3A是图示了根据某些示例的实现干扰测试的方法中的操作的流程图。
[0007]图3B-3C图示了根据某些示例的干扰测试过程中的迭代。
[0008]图4A是图示了根据某些示例的实现干扰测试的方法中的操作的流程图。
[0009]图4B-4C图示了根据某些示例的干扰测试过程中的迭代。
[0010]图5A-5B是图示了根据某些示例的实现干扰测试的方法中的操作的流程图。
[0011]图6-10是根据某些示例的可以被适配成实现干扰测试的电子设备的示意性图示。
【具体实施方式】
[0012]本文描述了实现电子设备中的干扰测试的示例性系统和方法。在以下描述中,阐明了许多具体细节以便提供对各种示例的透彻理解。然而,由本领域那些技术人员将理解至IJ,可以在没有具体细节的情况下实施各种示例。在其他实例中,尚未详细地说明或描述公知的方法、过程、部件和电路以便不使特定示例模糊。
[0013]如上文描述的那样,执行在诸如计算机系统、平板计算设备、移动电话、电子阅读器等的电子设备中的通信互连中的干扰测试可能是有用的。本文中描述的主题通过提供干扰测试技术来解决这些和其他问题,所述干扰测试技术可以被用来测试供用在电子设备中的通信互连中的干扰。在某些示例中,本文中描述的技术可以被实现为逻辑(例如软件、固件或逻辑电路),其可以被并入到电子设备中。例如,逻辑可以被实现为干扰管理器模块,其可以诸如经由基本输入/输出系统(B1S)在电子设备的配置期间被访问。
[0014]本文中描述的第一干扰测试技术使能创建增强测试通信互连上的相邻通道之间的信号对信号串扰的能力的模式(pattern)。第二干扰测试技术使能创建增强测试通信互连上的每个通道上的符号间干扰(ISI)的能力的模式。本文中描述的第三干扰测试技术使得测试过程能够实现可编程数量的重复并且将间隔和等待并入到测试过程中。本文中描述的技术可以被独立地实现或者可以被组合。
[0015]图1是根据某些示例的可以被适配成实现干扰测试的电子设备100的示意性图示。在各种示例中,电子设备100可以包括或者被耦合到一个或多个伴随的输入/输出设备,其包括显不器、一个或多个扬声器、键盘、一个或多个其他i/o设备、鼠标、相机等。(一个或多个)其他示例性I/o设备可以包括触摸屏、语音激活的输入设备、追踪球、定位设备、加速计/陀螺仪、生物特征输入设备以及允许电子设备100从用户接收输入的任何其他设备。
[0016]电子设备100包括系统硬件120和存储器140,所述存储器140可以被实现为随机访问存储器和/或只读存储器。文件仓库可以被通信耦合到电子设备100。文件仓库可以在电子设备100内部,诸如例如固态驱动(SSD)、一个或多个硬盘驱动或者其他类型的存储设备。替代地,文件仓库也可以在电子设备100外部,诸如例如一个或多个外部硬盘驱动、网络附接储存器或者分离的存储网络。
[0017]系统硬件120可以包括一个或多个处理器122、图形处理器124、网络接口 126和总线结构128。在一个实施例中,处理器122可以被体现为从美国加利福尼亚圣克拉拉的Intel公司可获得的Intel? Atom?处理器、基于Intel ? Atom?的片上系统(SOC)或者Intel ?Core2 Duo ?或i3/i5/i7系列处理器。如本文中使用的那样,术语“处理器”意味着任何类型的计算元件,诸如但不限于微处理器、微控制器、复杂指令集计算(CISC)微处理器、精简指令集(RISC)微处理器、超长指令字(VLIW)微处理器或者任何其他类型的处理器或处理电路。
[0018](一个或多个)图形处理器124可以起管理图形和/或视频操作的副处理器的作用。(一个或多个)图形处理器124可以被集成到电子设备100的母版上,或者可以经由扩展槽而耦合在母版上,或者可以位于与处理单元相同的管芯或者相同的封装上。
[0019]在一个实施例中,网络接口126可以是诸如以太网接口(参见例如电气与电子工程师协会/IEEE 802.3-2002)之类的有线接口,或者诸如IEEE 802.lla、b或g依从的接口(参见例如用于系统LAN/MAN之间的IT-电信和信息交换的IEEE标准——部分Π:无线LAN媒体访问控制(MAC)和物理层(PHY)规范修改4:在2.4GHz带中的进一步更高数据速率扩展,802.11G-2003)之类的无线接口。无线接口的另一示例将是通用分组无线电服务(GPRS)接口(参见例如关于GPRS手持机要求的指南,全球移动通信系统/GSM协会,版本3.0.1,2002年12月)。
[0020]总线结构128连接系统硬件128的各种部件。在一个实施例中,总线结构128可以是若干类型的(一个或多个)总线结构中的一个或多个,包括存储器总线、外围总线或者外部总线和/或本地总线,其使用任何多种可用总线架构,包括但不限于11位总线、工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子器件(IDE)、VESA本地总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际协会总线(PCMCIA)以及小计算机系统接口(SCSI)、高速同步串行接口(HIS)、串行低功率芯片间媒体总线(SUMbus ? )等。
[0021]电子设备100可以包括收发RF信号的RF收发机130、近场通信(NFC)无线电134以及处理由RF收发机130接收的信号的信号处理模块132AF收发机可以经由协议实现本地无线连接,所述协议诸如例如蓝牙或802.11X、IEEE 802.lla、b或g依从的接口(参见例如用于系统LAN/MAN之间的IT-电信和信息交换的IEEE标准——部分Π:无线LAN媒体访问控制(MAC)和物理层(PHY)规范修改4:在2.4GHz带中的进一步更高数据速率扩展,802.11G-2003)。无线接口的另一示例将是WCDMA、LTE、通用分组无线电服务(GPRS)接口(参见例如关于GPRS手持机要求的指南,全球移动通信系统/ GSM协会,版本3.0.1,2002年12月)。
[0022]电子设备100可以进一步包括一个或多个输入/输出接口,诸如例如小键盘136和显示器138。在某些示例中,电子设备100可以不具有小键盘并且使用触摸面板用于输入。
[0023]存储器140可以包括用于管理电子设备100的操作的操作系统142。在一个实施例中,操作系统142包括提供到系统硬件120的接口的硬件接口模块154。此外,操作系统140可以包括管理在电子设备100的操作中使用的文件的文件系统150以及管理在电子设备100上执行的过程的过程控制子系统152。
[0024]操作系统142可以包括(或者管理)一个或多个通信接口146,其可以与系统硬件120结合地操作以收发来自远程源的数据分组和/或数据流。操作系统142可以进一步包括系统调用接口模块144,其提供驻留于存储器130中的一个或多个应用模块与操作系统142之间的接口。操作系统142可以被体现为UNIX操作系统或者其任何衍生物(例如Linux、Android等)或者被体现为Windows ?品牌操作系统或者其他操作系统。
[0025]在某些示例中,电子设备可以包括控制器170,其可以包括与主要执行环境分离的一个或多个控制器。分离可以在如下意义上是物理的:控制器可以被实现在与主处理器物理地分离的控制器中。替代地,受信任的执行环境可以在如下意义上是合逻辑的:控制器可以被托管在主控主处理器的相同芯片或芯片组上。
[0026]举例来说,在某些示例中,控制器170可以被实现为位于电子设备100的母版上的独立集成电路,例如如相同SOC管芯上的专用处理器块。在其他示例中,受信任的执行引擎可以使用硬件实施机制而被实现在与(一个或多个)处理器的剩余部分隔离的(一个或多个)处理器122的部分上或者实现为可以在操作系统的用户空间或内核中的处理器上执行的逻辑指令。
[0027]在图1中描绘的实施例中,控制器170包括处理器172、存储器模块174、接口管理器176以及I/O接口 178。在某些示例中,存储器模块174可以包括持久性闪存模块,并且各种功能模块可以被实现为编码在持久性存储器模块中的逻辑指令,例如固件或软件。I/O模块178可以包括串行I/O模块或并行I/O模块。因为控制器170与(一个或多个)主处理器122和操作系统142分离,所以可以使得控制器170是安全的,即对于通常从主机处理器122安装软件攻击的黑客不可访问。在某些示例中,干扰管理器176可以驻留在电子设备100的存储器140中并且可以在处理器122中的一个或多个上可执行。
[0028]在某些示例中,干扰管理器176与电子设备100的一个或多个其他部件交互以实现针对电子设备中的一个或多个通信互连的干扰测试。图2是根据某些示例的实现干扰测试的示例性架构的高级示意性图示。参考图2,控制器220可以被体现为通用处理器122或者被体现为低功率控制器,诸如控制器170。控制器220可以包括管理干扰测试操作的干扰管理器230和本地存储器240。如上文描述的那样,在某些示例中,干扰管理器230可以被实现为在控制器220上可执行的逻辑指令,例如软件或固件,或者可以被精简成硬接线逻辑电路。本地存储器240可以使用易失性和/或非易失性存储器来实现。
[0029]控制器220可以被通信耦合到一个或多个输入/输出设备250。例如,控制器220可以被通信耦合到上文描述的I/O设备中的一个或多个。
[0030]干扰管理器230可以被通信耦合到一个或多个互连210,其使能电子设备100的部件之间的通信。例如,互连210可以是外围部件互连高速(PCIe)、通用串行总线(USB)、双倍数据速率(DDR)互连中的一个或多个,并且可以包括多个通信通道214、214、216。
[0031]已经描述了实现电子设备中的干扰测试的系统的各种结构,现在将解释系统的操作方面。干扰测试技术的第一示例实现迭代测试过程,其中用于伪随机数生成器的种子以预定方式变化以增加被应用于相邻信号通道的测试置换(permutat1n)的数量。将参考图3A-3C来解释干扰测试的该第一示例。图3A是图示了实现电子设备中的干扰测试的第一方法中的操作的流程图。可以通过干扰管理器230单独地或者与电子设备100的其他部件组合地实现在图3A的流程图中描绘的操作。图3B-3C图示了根据某些示例的干扰测试过程中的迭代。
[0032I首先参考图3A,在操作310处,干扰管理器230接收一个或多个干扰测试参数。例如,干扰测试参数可以由负责管理针对电子设备100的干扰测试的用户输入到干扰管理器230。替代地或者此外,可以从电子设备100上的存储器位置来检索干扰测试参数。
[0033]在操作312处,干扰管理器230利用种子的初始集合来执行干扰测试的第一次迭代。在某些示例中,干扰测试过程可以测试通信互连中的一个或多个攻击者通道与受害者通道之间的干扰。简要地参考图3B,在某些示例中,干扰测试过程测试第一攻击者通道360、受害者通道350和第二攻击者通道370之间的干扰。通信互连上的每个通道被通信耦合到模式生成器352、362、373,其生成在通信互连的通道上传输的伪随机模式。受害者通道350的传输特性然后可以被测量以确定用于互连的信号对信号串扰测量结果。举例来说,模式生成器352、362、372可以被实现为线性反馈移位寄存器(LFSR)。
[0034]在某些示例中,在相应的模式生成器352、362、372被提供有相应的第一种子的情况下实现第一次迭代。图3C图示了干扰测试的具体示例。在图3C中描绘的示例中,模式生成器I被提供有种子1111,而模式生成器2被提供有种子0010,并且模式生成器3被提供有种子
OlOlo
[0035]在干扰测试的第一次迭代中,干扰管理器230运行等于2N-1的多个循环,其中N对应于种子长度。在图3中图示的具体示例中,种子长度为四(4),因此运行15个测试循环(354、364、374),针对受害者通道360上的干扰测试来自模式生成器的每个模式。
[0036]当第一次迭代完成时,控制传递到操作314并且干扰管理器230使种子在通道中的一个或多个上前进。举例来说,参考图3B,在第一次的2N-1个循环初始环绕(wrap)(即完成)时,种子I被前进并且2N_1个循环的另一循环(356、366、376)执行(操作316) 2N-1次,每一次都使种子前进I。
[0037]如果在操作318处没有互连上的更多攻击者线路,则控制传递到操作326并且干扰测试可以终止。相反地,如果在操作318处存在互连上的附加攻击者线路,则控制传递到操作320并且干扰管理器230再次在通道中的一个或多个上使种子前进。举例来说,参考图3B,在第二次的2N_1循环环绕(即完成)时,使种子前进2并且如上文所述的2n-1个循环乘以2n-1的另一循环(358、368、378)执行(操作322)2n-1次,从而导致总共(2n-1)x(2n-1)x(2n-1)个循环以用于具有I个受害者和2个攻击者模式生成器的系统的完整执行。
[0038]如果在操作324处没有互连上的更多攻击者线路,则控制传递到操作326并且干扰测试可以终止。作为对比,如果在操作324处存在互连上的附加攻击者线路,则控制传递回到操作320并且干扰管理器230再次在通道中的一个或多个上使种子前进。因此,操作320-324限定循环(loop),干扰管理器230可以通过该循环继续来前进攻击者通道的种子以便测试互连上的模式的不同组合,每一次将所有之前的步骤重复2N-1次。
[0039]干扰测试技术的第二示例实现迭代测试过程,其中用于伪随机数生成器的种子在预定速率下重载以便重复在通信互连上传输的伪随机代码的部分以测试符号间干扰。干扰测试的该第二示例将参考图4A-4C来解释。图4A是图示了实现电子设备中的干扰测试的第二方法中的操作的流程图。在图4A的流程图中描绘的操作可以通过干扰管理器230单独地或者与电子设备100的其他部件组合地实现。图4B-4C图示了根据某些示例的干扰测试过程中的迭代。
[0040]首先参考图4A,在操作410处,干扰管理器230接收重载速率参数和保存速率参数。例如,重载速率参数和保存速率参数可以通过负责管理针对电子设备100的干扰测试的用户而输入到干扰管理器230。替代地或者此外,干扰测试参数可以从电子设备100上的存储器位置检索。
[0041 ]在操作412处,干扰管理器230生成伪随机序列。举例来说,参考图4B,干扰管理器230可以向模式生成器452提供种子以生成伪随机模式。如上文描述的那样,模式生成器452可以被实现为线性反馈移位寄存器(LFSR)。响应于该种子,模式生成器452生成η位伪随机数(例如,用于 15 位 LFSR的 111000100110101)。
[0042]在操作414处,种子根据重载速率而重载到模式生成器452中,并且在操作416处,伪随机序列的部分在互连上传输。在操作418处,种子根据保存速率而保存。
[0043]图4Β图示了其中重载速率配置为将伪随机代码的每3个位重复4次并且保存速率为10(3χ(4-1)+1)的示例。根据在图4Α中描绘的操作,种子被输入到模式生成器452并且每3位被重载并且重复4次。这导致模式生成器452输出将由模式生成器452生成的伪随机模式的前3位重复四次的模式。重复模式在每个迭代中前进10模3=1位,导致重复模式内容之间的(3-1=2)位重叠。这样的模式可以被用于例如评估互连上的谐振效果,其中重载速率与潜在谐振性结构的有效电气长度相关。
[0044]图4C图示了其中重载速率被配置成将伪随机代码的每3位重复4次并且保存速率为11(3χ(4-1)+2)的示例。根据在图4Α中描绘的操作,种子被输入到模式生成器452中并且每3位被重载并且重复4次。这导致模式生成器452输出将由模式生成器452生成的伪随机模式的前3位重复四次的模式。重复模式在每个迭代中前进10模3=2位,导致所重复的模式内容之间的(3-2=1)位重叠。
[0045]干扰测试技术的第三示例实现逻辑,其提供措施以在具有它们之间的可编程长度、间隔、循环和等待时间的命令、控制和地址通道上切换(toggle)模式,用于电子设备工程联合委员会(JEDEC)、双倍数据速率(DDR)总线族(例如,DDR3、DDR4)或者低功率DDR总线(例如,LPDDR2、LPDDR3、LPDDR4等)。在第三示例中,逻辑在空闲处开始并且转变成从命令地址数据缓冲器(CADB)读取,所述命令地址数据缓冲器(CADB)是标识用于每个命令、控制和地址线路的值的缓冲器。逻辑继续从CADB读取,从开始缓冲器指针开始到限定循环的结束缓冲器指针。计数器可以被用来指示要做多少个循环,并且已经执行了多少个。当缓冲器指针到达结束值时,逻辑使循环计数器值减小并且环绕到开始缓冲器指针。当循环计数器达到零时,逻辑可以指示测试完成。逻辑还可以建立无限循环,在该情况下计数器不被减小。
[0046]一旦被读取,命令、控制(除2η或3η模式中的芯片选择(CD)线路之外)和地址线路就将被设置并且覆写DDR输入/输出(I/O)的功能路径。在维护(assert)⑶线路之后,间隔计数器被开始并且向下计数直到其达到零以便设置从CADB执行的不同命令之间的时间。
[0047]将参考图5A-5B解释干扰测试的第三示例的进一步细节,图5A-5B是图示了实现电子设备中的干扰测试的方法中的操作的流程图。可以通过干扰管理器230单独地或者与电子设备100的其他部件组合地实现在图5A-5B的流程图中描绘的操作。
[0048]首先参考图5A,在操作510处,命令指针被设置成开始索引并且逻辑从命令地址和控制缓冲器CADB读取512。在操作514处,设置命令和地址。
[0049]在操作516处,确定互连是操作在In、2n还是3n定时模式中。如果互连操作在In定时模式中,则控制传递到操作518并且芯片选择(CD)线路被设置。作为对比,如果在操作516处,互连操作在2n定时模式中,则控制传递到操作520并且逻辑允许一个时钟循环在CS线路被设置之前逝去。如果在操作516处,互连操作在3n定时模式中,则控制传递到操作522并且逻辑允许两个时钟循环在CS线路被设置之前逝去。
[0050]—旦芯片选择线路被设置,控制就传递到操作530,其监控以确定循环是否已经完成。如果在操作530处循环尚未完成,则控制传递到操作532并且命令指针被设置成CADB中的下一命令。控制然后传递到操作534,其中确定间隔是否大于零。如果在操作534处间隔大于零,则控制传递到操作536并且允许在从CADB读取下一命令之前逝去预定时间段。
[0051 ]向后参考操作530,如果循环被完成,则控制传递到操作540,其中确定初始化过程是否被完成。如果过程被完成,则控制传递到操作542并且测试过程结束。作为对比,如果在操作540处初始化过程没有被完成,则控制传递到操作544,并且命令指针被设置成命令索引的开始位置。控制然后传递到操作546,其中确定等待是否大于零。如果在操作546处间隔大于零,则控制传递到操作548并且允许在从CADB读取下一命令之前逝去预定时间段。
[0052]因此,在图5A和5B中描绘的操作允许逻辑实现干扰测试调度(schedule),其合并可编程数量的迭代以及测试过程中的间隔和等待。在图5A-5B中描绘的操作可以与在图3A和图4A中描绘的操作结合地实现,或者可以被独立地实现。
[0053]如上文描述的那样,在某些示例中,电子设备可以被体现为计算机系统。图6图示了根据示例的计算系统600的框图。计算系统600可以包括经由互连网络(或总线)604通信的一个或多个中央处理单元602或处理器。处理器602可以包括通用处理器、网络处理器(其处理通过计算机网络603传送的数据)或者其他类型的处理器(包括精简指令集计算机(RISC)处理器或者复杂指令集处理器(CISC))。此外,处理器602可以具有单核或多核设计。具有多核设计的处理器602可以在相同集成电路(IC)管芯上集成不同类型的处理器核。而且,具有多核设计的处理器602可以被实现为对称或非对称的微处理器。在示例中,处理器602中的一个或多个可以与图1的处理器102相同或类似。例如,处理器602中的一个或多个可以包括参考图1-3讨论的控制单元120。而且,参考图3-5讨论的操作可以由系统600的一个或多个部件执行。
[0054]芯片组606也可以与互连网络604通信。芯片组606可以包括存储器控制集线器(MCH)608oMCH 608可以包括与存储器612(其可以与图1的存储器130相同或相似)通信的存储器控制器610。存储器412可以存储包括指令的序列的数据,其可以由处理器602或者在计算系统600中包括的任何其他设备执行。在一个示例中,存储器612可以包括一个或多个易失性存储(或存储器)设备,诸如随机访问存储器(RAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、静态RAM(SRAM)或者其他类型的存储设备。也可以利用非易失性存储器,诸如硬盘。附加设备可以经由互连网络604通信,诸如多个处理器和/或多个系统存储器。
[0055]MCH 608还可以包括与显示设备616通信的图形接口614。在一个示例中,图形接口614可以经由加速图形端口(AGP)与显示设备616通信。在示例中,显示器616(诸如平坦面板显示器)可以通过例如信号转换器与图形接口 614通信,所述信号转换器将存储在诸如视频存储器或系统存储器之类的存储设备中的图像的数字表示转译成由显示器616解释和显示的显示信号。由显示设备产生的显示信号可以在由显示器616解释并且随后显示在显示器616上之前穿过各种控制设备。
[0056]集线器接口618可以允许MCH 608和输入/输出控制集线器(ICH)620通信。ICH 620可以提供到与计算系统600通信的(一个或多个)1/0设备的接口。ICH 620可以通过外围桥(或控制器)624与总线622通信,所述外围桥(或控制器)624诸如外围部件互连(PCI)桥、通用串行总线(USB)控制器或者其他类型的外围桥或控制器。桥624可以提供处理器602与外围设备之间的数据路径。可以利用其他类型的拓扑。而且,多个总线可以例如通过多个桥或控制器与ICH 620通信。此外,与ICH 620通信的其他外围设备在各种示例中可以包括(一个或多个)集成驱动电子器件(IDE)或者小计算机系统接口(SCSI)硬盘驱动、(一个或多个)USB端口、键盘、鼠标、(一个或多个)并行端口、(一个或多个)串行端口、(一个或多个)软盘驱动、数字输出支持(例如数字视频接口(DVI))或者其他设备。
[0057]总线622可以与音频设备626、一个或多个盘驱动628以及网络接口设备630(其与计算机网络603通信)通信。其他设备可以经由总线622通信。而且,各种部件(诸如网络接口设备630)可以在某些示例中与MCH 608通信。此外,可以组合处理器602以及在本文中讨论的一个或多个其他部件以形成单个芯片(例如以提供片上系统(S0C))。更进一步地,在其他示例中,图形加速器616可以被包括在MCH 608内。
[0058]更进一步地,计算系统600可以包括易失性和/或非易失性存储器(或储存器)。例如,非易失性存储器可以包括以下中的一个或多个:只读存储器(R0M)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、盘驱动(例如628)、软盘、致密盘ROM(CD-ROM)、数字通用盘(DVD)、闪存、磁光盘或者能够存储电子数据(例如包括指令)的其他类型的非易失性机器可读介质。
[0059]图7图示了根据示例的计算系统700的框图。系统700可以包括一个或多个处理器702-1到702-N(—般地在本文中称为“多个处理器702”或“处理器702”)。处理器702可以经由互连网络或总线704通信。每个处理器可以包括各种部件,为了清楚仅参考处理器702-1讨论了其中的某些。因此,剩余的处理器702-2到702-N中的每个可以包括参考处理器702-1讨论的相同或类似的部件。
[0060]在示例中,处理器702-1可以包括一个或多个处理器核706-1到706-M(在本文中称为“多个核706”或者更一般地称为“核706”)、共享高速缓存708、路由器710和/或处理器控制逻辑或单元720。处理器核706可以被实现在单个集成电路(IC)芯片上。更进一步地,芯片可以包括一个或多个共享和/或私用高速缓存(诸如高速缓存708)、总线或互连(诸如总线或互连网络712)、存储器控制器或其他部件。
[0061]在一个示例中,路由器710可以被用来在处理器702-1和/或系统700的各种部件之间通信。更进一步地,处理器702-1可以包括多于一个路由器710。更进一步地,许多路由器710可以通信以使能处理器702-1内部或外部的各种部件之间的数据路由。
[0062]共享高速缓存708可以存储由诸如核706之类的处理器702-1的一个或多个部件利用的数据(例如包括指令)。例如,共享高速缓存708可以本地缓存存储器714中存储的数据,用于由处理器702的部件的较快速的访问。在示例中,高速缓存708可以包括中级高速缓存(诸如级别2(L2)、级别3(L3)、级别4(L4)或者其他级别的高速缓存)、最后级别高速缓存(LLC)和/或其组合。更进一步地,处理器702-1的各种部件可以通过总线(例如总线712)和/或存储器控制器或集线器与共享高速缓存708直接地通信。如在图7中示出的那样,在某些示例中,核706中的一个或多个可以包括级别I(Ll)高速缓存716-1(—般地在本文中称为“LI高速缓存716”)。在一个示例中,控制单元720可以包括实现上文参考图2中的存储器控制器122描述的操作的逻辑。
[0063]图8图示了根据示例的计算系统的处理器核706的部分和其他部件的框图。在一个示例中,在图8中示出的箭头图示了通过核706的指令的流动方向。一个或多个处理器核(诸如处理器核706)可以被实现在单个集成电路芯片(或管芯)上,诸如参考图7讨论的那样。此夕卜,芯片可以包括一个或多个共享和/或私用高速缓存(例如图7的高速缓存708)、互连(例如图7的互连704和/或112)、控制单元、存储器控制器或其他部件。
[0064]如图8中图示的那样,处理器核706可以包括获取单元802以获取用于由核706执行的指令(包括具有有条件分支的指令)。可以从诸如存储器714之类的任何存储设备来获取指令。核706还可以包括解码单元804以对所获取的指令解码。例如,解码单元708可以将所获取的指令解码成多个微指令(微操作)。
[0065]附加地,核706可以包括调度单元806。调度单元806可以执行与存储(例如从解码单元804接收的)经解码的指令相关联的各种操作,直到指令准备好用于派遣,例如直到经解码的指令的所有源值变得可用。在一个示例中,调度单元806可以将经解码的指令调度和/或发布(或派遣)给执行单元808用于执行。执行单元808可以在所派遣的指令被(例如通过解码单元804)解码和(例如通过调度单元806)派遣之后执行它们。在示例中,执行单元808可以包括多于一个执行单元。执行单元808还可以执行各种算术操作,诸如加法、减法、乘法和/或除法,并且可以包括一个或多个算术逻辑单元(ALU)。在示例中,协同处理器(未示出)可以与执行单元808结合地执行各种算术操作。
[0066]进一步地,执行单元808可以无序地执行指令。因此,处理器核706在一个示例中可以是无序处理器核。核706还可以包括引退(retirement)单元810。引退单元810可以在所执行的指令被交付之后将它们引退。在示例中,所执行的指令的引退可以导致从指令的执行交付处理器状态、由指令使用的物理寄存器被解分配等。
[0067]核706还可以包括总线单元714以使能经由一个或多个总线(例如总线804和/或812)的处理器核706的部件与其他部件(诸如参考图8讨论的部件)之间的通信。核706还可以包括一个或多个寄存器816以存储由核706的各种部件访问的数据(诸如与电力消耗状态设置相关的值)。
[0068]更进一步地,尽管图7图示了要经由互连812耦合到核706的控制单元720,但是在各种示例中,控制单元720可以位于诸如在核706内部之类的其他地方、经由总线704耦合到核等。
[0069]在某些示例中,本文中讨论的部件中的一个或多个可以被体现为片上系统(SOC)设备。图9图示了根据示例的SOC封装的框图。如在图9中图示的那样,SOC 902包括一个或多个处理器核920、一个或多个图形处理器核930、输入/输出(I/O)接口 940以及存储器控制器942 AOC封装902的各种部件可以被耦合到互连或总线,诸如在本文中参考其他图讨论的那样。而且,SOC封装902可以包括更多或更少的部件,诸如在本文中参考其他图讨论的那些。进一步地,SOC封装902的每个部件可以包括一个或多个其他部件,例如如在本文中参考其他图讨论的那样。在一个示例中,SOC封装902(及其部件)被提供在一个或多个集成电路(IC)管芯上,例如其被封装到单个半导体器件中。
[0070]如图9中图示的那样,SOC封装902经由存储器控制器942而耦合到存储器960(其可以与本文中参考其他图讨论的存储器类似或相同)。在示例中,存储器960(或其部分)可以被集成在SOC封装902上。
[0071]I/O接口 940可以例如经由互连和/或总线被耦合到一个或多个I/O设备970,诸如本文中参考其他图讨论的那样。(一个或多个)1/0设备970可以包括键盘、鼠标、触摸板、显示器、图像/视频捕获设备(诸如相机或摄影机/视频记录仪)、触摸表面、扬声器等中的一个或多个。
[0072]图10图示了根据示例的被布置在点对点(PtP)配置中的计算系统1000。特别地,图10示出其中处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。参考图2讨论的操作可以由系统1000的一个或多个部件执行。
[0073]如在图10中图示的那样,系统1000可以包括若干处理器,为了清楚仅示出其中两个,处理器1002和1004。处理器1002和1004中的每个可以包括本地存储器控制器集线器(MCHH006和1008以使能与存储器1010和1012的通信。MCH 1006和1008在某些示例中可以包括图1的存储器控制器120和/或逻辑125。
[0074]在示例中,处理器1002和1004可以是参考图7讨论的处理器702中的一个。处理器1002和1004可以分别使用点对点(PtP)接口电路1016和1018经由PtP接口 1014交换数据。而且,处理器1002和1004中的每个可以使用点对点接口电路1026、1028、1030和1032经由单独的PtP接口 1022和1024与芯片组1020交换数据。芯片组120可以进一步例如使用PtP接口电路1037经由高性能图形接口 1036与高性能图形电路1034交换数据,。
[0075]如在图10中示出的那样,图1的核106和/或高速缓存108中的一个或多个可以位于处理器1004内。然而,其他示例可以存在于图10的系统1000内的其他电路、逻辑单元或设备中。更进一步地,其他示例可以遍及图10中图示的若干电路、逻辑单元或设备分布。
[0076]芯片组1020可以使用PtP接口电路1041与总线1040通信。总线1040可以具有与其通信的一个或多个设备,诸如总线桥1042和I/O设备1043。经由总线1044,总线桥1043可以与其他设备通信,所述与其他设备诸如键盘八氧标1045、通信设备1046(诸如调制解调器、网络接口设备或者可以与计算机网络1003通信的其他通信设备)、音频I/O设备和/或数据存储设备1048。数据存储设备1048(其可以是硬盘驱动或者基于NAND闪速的固态驱动)可以存储可以由处理器1004执行的代码1049。
[0077]以下示例涉及进一步示例。
[0078]示例I是包括逻辑的控制器,其至少部分地包括硬件逻辑,其被配置成通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代,并且通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。
[0079]在示例2中,示例I的主题可以可选地包括逻辑,其进一步被配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。
[0080]在示例3中,示例1-2中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0081 ] 在示例4中,示例1-3中任一个的主题可以可选地包括其中互连包括第三攻击者通道的布置,并且其中逻辑进一步被配置成通过使种子在第二攻击者通道上前进来实现干扰测试的第三次迭代。
[0082]在示例5中,示例1-4中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0083]在示例6中,示例1-5中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0084]示例7是电子设备,包括至少一个处理部件和控制器,所述控制器包括逻辑,至少部分地包括硬件逻辑,其被配置成通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代,并且通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。
[0085]在示例8中,示例7的主题可以可选地包括逻辑,其进一步被配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。
[0086]在示例9中,示例7-8中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0087]在示例10中,示例7-9中任一个的主题可以可选地包括其中互连包括第三攻击者通道的布置,并且其中逻辑进一步被配置成通过使种子在第二攻击者通道上前进来实现干扰测试的第三次迭代。
[0088]在示例11中,示例7-10中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0089]在示例12中,示例7-12中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0090]示例13是包括存储在非暂时性计算机可读介质上的逻辑指令的计算机程序产品,其在由控制器执行时将控制器配置成通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代,并且通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。
[0091]在示例14中,示例13的主题可以可选地包括逻辑,其进一步被配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。
[0092]在示例15中,示例13-14中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0093]在示例16中,示例13-15中任一个的主题可以可选地包括其中互连包括第三攻击者通道的布置,并且其中逻辑进一步被配置成通过使种子在第二攻击者通道上前进来实现干扰测试的第三次迭代。
[0094]在示例17中,示例13-16中任一个的主题可以可选地包括逻辑,其进一步被配置成在通信互连上传输伪随机模式。
[0095]在示例18中,示例13-17中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0096]示例19是包括逻辑的控制器,其至少部分地包括硬件逻辑,其被配置成接收重载速率参数和保存速率参数、通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合,并且在通信互连的第一通道上传输重复伪随机模式的第一集合。
[0097]在示例20中,示例19的主题可以可选地包括其中逻辑进一步被配置成根据保存速率保存第一种子的布置。
[0098]在示例21中,示例19-20中任一个的主题可以可选地包括逻辑,其进一步被配置成生成第一伪随机模式;并且根据重载速率重复第一伪随机模式的子集,并且在通信互连上传输伪随机模式的子集。
[0099]在示例22中,示例19-21中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0100]示例23是电子设备,包括至少一个处理部件和包括逻辑的控制器,所述控制器至少部分地包括硬件逻辑,其被配置成接收重载速率参数和保存速率参数、通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合,并且在通信互连的第一通道上传输重复伪随机模式的第一集合。
[0101]在示例24中,示例23的主题可以可选地包括其中逻辑进一步被配置成根据保存速率保存第一种子的布置。
[0102]在示例25中,示例23-24中任一个的主题可以可选地包括逻辑,其进一步被配置成生成第一伪随机模式;并且根据重载速率重复第一伪随机模式的子集,并且在通信互连上传输伪随机模式的子集。
[0103]在示例26中,示例23-25中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0104]示例27是包括存储在非暂时性计算机可读介质上的逻辑指令的计算机程序产品,其在由控制器执行时将控制器配置成接收重载速率参数和保存速率参数、通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合,并且在通信互连的第一通道上传输重复伪随机模式的第一集合。
[0105]在示例28中,示例27的主题可以可选地包括其中逻辑进一步被配置成根据保存速率保存第一种子的布置。
[0106]在示例29中,示例27-28中任一个的主题可以可选地包括逻辑,其进一步被配置成生成第一伪随机模式;并且根据重载速率重复第一伪随机模式的子集,并且在通信互连上传输伪随机模式的子集。
[0107]在示例30中,示例27-29中任一个的主题可以可选地包括逻辑,其进一步被配置成至少执行预定数量的测试循环或者预定等待时段。
[0108]如本文中是指的术语“逻辑指令”涉及可以由用于执行一个或多个逻辑操作的一个或多个机器理解的表述。例如,逻辑指令可以包括由用于在一个或多个数据对象上执行一个或多个操作的处理器编译器可解释的指令。然而,这仅是机器可读指令的示例并且示例不被限制在该方面上。
[0109]如本文中所指的术语“计算机可读介质”涉及能够维持由一个或多个机器可感知的表述的介质。例如,计算机可读介质可以包括用于存储计算机可读指令或数据的一个或多个存储设备。这样的存储设备可以包括存储介质,诸如例如光学、磁性半导体存储介质。然而,这仅是计算机可读介质的示例并且示例不被限制在该方面上。
[0110]如本文中所指的术语“逻辑”涉及用于执行一个或多个逻辑操作的结构。例如,逻辑可以包括基于一个或多个输入信号提供一个或多个输出信号的电路。这样的电路可以包括接收数字输入并且提供数字输出的有限状态机器,或者响应于一个或多个模拟输入信号而提供一个或多个模拟输出信号的电路。可以在专用集成电路(ASIC)或者现场可编程门阵列(FPGA)中提供这样的电路。而且,逻辑可以包括存储在存储器中的机器可读指令,其与处理电路组合以执行这样的机器可读指令。然而,这些仅是可以提供逻辑的结构的示例并且示例不被限制在该方面上。
[0111 ]本文中描述的方法中的某些可以被体现为计算机可读介质上的逻辑指令。当在处理器上被执行时,逻辑指令使得处理器被编程为实现所描述的方法的专用机器。当由逻辑指令配置成执行本文中描述的方法时,处理器构成用于执行所描述的方法的结构。替代地,本文中描述的方法可以被精简成例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等上的逻辑。
[0112]在说明书和权利要求中,可以使用术语耦合和连接连同其派生物。在特定示例中,连接可以被用来指示两个或更多元件彼此直接物理或电气接触。耦合可以意味着两个或更多元件直接物理或电气接触。然而,耦合还可以意味着两个或更多元件可以不与彼此直接接触,而是又仍可以与彼此协作或交互。
[0113]在说明书中对“一个示例”或“某些示例”的引用意味着结合示例描述的特定特征、结构或特性被包括在至少一个实现中。短语“在一个示例中”在说明书中的各种地方的出现可以或者可以不全部指相同的示例。
[0114]尽管已经以特定于结构特征和/或方法动作的语言描述了示例,但是要理解到,要求保护的主题可以不限于所描述的具体特征或动作。相反,具体特征和动作被公开作为实现要求保护的主题的样本形式。
【主权项】
1.一种控制器,包括: 逻辑,至少部分地包括硬件逻辑,其被配置成: 通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代,并且 通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。2.根据权利要求1所述的控制器,其中逻辑进一步被配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。3.根据权利要求2所述的控制器,其中逻辑进一步被配置成在通信互连上传输伪随机模式。4.根据权利要求1所述的控制器,其中互连包括第三攻击者通道,并且其中逻辑进一步被配置成: 通过使种子在第二攻击者通道上前进来实现干扰测试的第三次迭代。5.根据权利要求1所述的控制器,其中逻辑进一步被配置成在通信互连上传输伪随机模式。6.根据权利要求1所述的控制器我,其中逻辑进一步被配置成至少执行: 预定数量的测试循环;或者 预定等待时段。7.—种电子设备,包括: 至少一个处理部件;以及 控制器,包括: 逻辑,至少部分地包括硬件逻辑,其被配置成: 通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代;并且 通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。8.根据权利要求7所述的电子设备,其中逻辑进一步被配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。9.根据权利要求8所述的电子设备,其中逻辑进一步被配置成在通信互连上传输伪随机模式。10.根据权利要求7所述的电子设备,其中互连包括第三攻击者通道,并且其中逻辑进一步被配置成: 通过在第二攻击者通道上使种子前进来实现干扰测试的第三次迭代。11.根据权利要求10所述的电子设备,权利要求1所述的控制器,其中逻辑进一步被配置成在通信互连上传输伪随机模式。12.根据权利要求7所述的电子设备,其中逻辑被配置成至少执行: 预定数量的测试循环;或者 预定等待时段。13.—种包括存储在非暂时性计算机可读介质上的逻辑指令的计算机程序产品,所述逻辑指令在由控制器执行时将控制器配置成: 通过使用第一种子在受害者通道和攻击者通道上生成伪随机模式的第一集合来实现包括受害者通道和第一攻击者通道的通信互连上的干扰测试的第一次迭代;并且通过使种子在第一攻击者通道上前进来实现干扰测试的第二次迭代。14.根据权利要求13所述的计算机程序产品,其中逻辑指令将控制器配置成响应于第一种子完成循环而使种子在第一攻击者通道上前进。15.根据权利要求14所述的计算机程序产品,其中逻辑指令将控制器配置成在通信互连上传输伪随机模式。16.根据权利要求13所述的计算机程序产品,其中逻辑指令将控制器配置成:通过使种子在第二攻击者通道上前进来实现干扰测试的第三次迭代。17.根据权利要求16所述的计算机程序产品,其中逻辑指令将控制器配置成在通信互连上传输伪随机模式。18.根据权利要求13所述的计算机程序产品,其中逻辑指令将控制器配置成至少执行: 预定数量的测试循环;或者 预定等待时段。19.一种控制器,包括: 逻辑,至少部分地包括硬件逻辑,其被配置成: 接收重载速率参数和保存速率参数; 通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合;并且 在通信互连的第一通道上传输重复伪随机模式的第一集合。20.根据权利要求19所述的控制器,其中逻辑进一步被配置成根据保存速率保存第一种子。21.根据权利要求19所述的控制器,其中逻辑被配置成: 生成第一伪随机模式;并且 根据重载速率重复第一伪随机模式的子集;并且 在通信互连上传输伪随机模式的子集。22.根据权利要求19所述的控制器,其中逻辑被配置成至少执行: 预定数量的测试循环;或者 预定等待时段。23.—种电子设备,包括: 至少一个处理部件;以及 控制器,包括: 逻辑,至少部分地包括硬件逻辑,其被配置成: 接收重载速率参数和保存速率参数; 通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合;并且 在通信互连的第一通道上传输重复伪随机模式的第一集合。24.根据权利要求23所述的电子设备,其中逻辑进一步被配置成根据保存速率保存第一种子。25.根据权利要求23所述的电子设备,其中逻辑被配置成: 生成第一伪随机模式;并且 根据重载速率重复第一伪随机模式的子集;并且 在通信互连上传输伪随机模式的子集。26.根据权利要求23所述的控制器,其中逻辑被配置成至少执行: 预定数量的测试循环;或者 预定等待时段。27.—种包括存储在非暂时性计算机可读介质上的逻辑指令的计算机程序产品,所述逻辑指令在由控制器执行时将控制器配置成: 接收重载速率参数和保存速率参数; 通过根据重载速率参数重载第一种子而生成重复伪随机模式的第一集合;并且 在通信互连的第一通道上传输重复伪随机模式的第一集合。28.根据权利要求27所述的计算机程序产品,其中逻辑指令将控制器配置成根据保存速率保存第一种子。29.根据权利要求27所述的计算机程序产品,其中逻辑进一步被配置成: 生成第一伪随机模式;并且 根据重载速率重复第一伪随机模式的子集;并且 在通信互连上传输伪随机模式的子集 根据权利要求27所述的计算机程序产品,其中逻辑进一步被配置成至少执行: 预定数量的测试循环;或者 预定等待时段。
【文档编号】G06F11/16GK106030543SQ201580010839
【公开日】2016年10月12日
【申请日】2015年3月3日
【发明人】A.科斯丁斯基, T.莱维, P.S.切西斯, D.奈格尔, T.Z.谢恩博恩, C.P.莫扎克, N.阿布尔奈因, J.M.舍哈迪
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1