使用数据相依性电路路径响应的唯一且不可仿制的平台识别符的制作方法_3

文档序号:8531769阅读:来源:国知局
610、612和/或614和/或一或多个外部组件616、618和620的操作电压。
[0052]处理电路602可包含一或多个指令或从存储装置604获得一或多个指令以确定用于一或多个内部子电路610、612和/或614和/或一或多个外部组件616、618和620的数据相依性路径响应信息。一或多个输入向量606可由处理电路使用以在子电路610、612、614和/或组件616、618、620上实行或执行一或多个操作。这些输入向量可运行多次,同时递增地调整正测试的子电路610、612、614或组件616、618和620中的每一者的操作频率和/或操作电压直到针对每一数据相依性电路路径确定阈值频率和/或阈值电压。识别符产生器608随后使用测试的多个数据相依性路径的所得阈值频率和/或阈值电压来产生唯一识别符622。
[0053]在一个实例中,唯一识别符与包含处理电路602、内部/外部电路610、612、614和/或组件616、618和620的平台相关联。
[0054]在另一个实例中,唯一识别符与处理电路上的软件应用程序安装或执行相关联。
[0055]在又另一实例中,处理电路602上的软件应用程序的执行可绑定到唯一识别符的成功检验。举例来说,每当执行软件应用程序时,执行检验以基于唯一识别符确定其仍在与其安装时相同的平台上执行。唯一识别符的成功检验可将唯一识别符的原始实例与唯一识别符的后续产生实例进行比较以确定它们是相同的。
[0056]图7说明用于通过利用一或多个板载和/或板外组件、电路和/或半导体的数据相依性电路路径响应信息计算唯一且不可仿制的平台识别符(ID)的方法。可在用于一或多个电路的一或多个数据相依性电路路径上执行一或多个测试(例如,输入向量、计算运算等)702。应注意,所述一或多个电路可不是识别符特定的电路,而是通用电路。在一些情况下,所述一或多个电路是非存储装置和/或非存储器电路。
[0057]可在用于所述一或多个电路的一或多个数据相依性电路路径上重复所述一或多个测试,同时调整用于所述一或多个电路中的每一者的操作频率和/或电压704。举例来说,可增加用于所述一或多个电路中的每一者的操作频率和/或可减小用于所述一或多个电路的操作电压。可针对所述一或多个数据相依性电路路径中的每一者确定阈值频率和/或电压706。举例来说,此些阈值频率或电压可为特定测试开始失败(例如,结果/响应改变)的最大频率或最小电压。
[0058]可随后基于针对一或多个数据相依性电路路径确定的多个阈值频率和/或电压产生识别符708。在一个实例中,识别符可基于(例如,产生于)用于一个电路的两个或两个以上不同电路路径的两个或两个以上阈值频率和/或阈值电压。在另一个实例中,识别符可基于用于两个或两个以上不同电路的两个或两个以上不同电路路径的两个或两个以上阈值频率和/或阈值电压。
[0059]在其中识别符初始地产生的情况下,其可经存储(例如,在非易失性存储器中)用于后续检验710。举例来说,软件应用程序当其安装在平台上时可获得且存储第一识别符,进而将软件安装绑定到用于平台的一或多个特定电路、微处理器和/或半导体装置。
[0060]在其中正检验识别符的情况下,检索先前存储的识别符712。随后将新产生的识别符(来自步骤708)与先前存储的识别符进行比较以确定它们是否是相同的714。如果它们是相同的,那么可得出结论用以产生所存储的识别符和新产生的识别符的平台是相同的且检验成功。否则,如果新产生的识别符和所存储的识别符是不同的,那么检验失败。举例来说,在软件应用程序的后续启动时,所述软件应用程序可通过针对先前存储的识别符检验新产生的识别符而检验其仍在其原始平台上执行,进而将软件安装绑定到用于所述平台的一或多个特定电路、微处理器和/或半导体装置。
[0061]可在芯片上系统平台上界定两个示范性实施方案情形。在第一实例中,具有平台识别符提取控制软件的处理器,可编程时钟产生器,以及耦合到与所述处理器通信的芯片上总线的芯片上计算组件。所述芯片上计算组件可提供一或多个数据相依性电路路径,所述路径可由所述识别符提取控制软件使用以产生识别符。在第二实例中,具有平台识别符提取控制软件的处理器,可编程时钟产生器,以及与所述处理器通信的芯片外计算组件。此处,所述芯片外计算组件可提供一或多个数据相依性电路路径,所述路径可由所述识别符提取控制软件使用以产生识别符。
[0062]在两个示范性实施方案情形中,处理器可在稳定状态中在指定频率处操作且其将执行若干步骤。首先,可以测试(输入)向量的收集来运行/执行控制软件,所述向量可寻址不同的数据相依性电路路径以在第一操作频率处测试芯片上/芯片外计算组件。第二,可随后以测试(同时)向量运行/执行控制软件,同时调整时钟频率产生器以增加或减小供应到受测计算组件的时钟频率(例如,操作频率)直到确定和/或记录每一数据相依性电路路径的阈值频率(例如,最大频率)。随后可使用比较和量化程序来产生唯一识别符,所述唯一识别符也可为平台识别符。如果平台具有多个芯片上和/或芯片外计算组件,那么多个所提取识别符可组合为单个平台识别符。
[0063]此方法可适用于现有处理器、半导体和/或芯片,所述处理器、半导体和/或芯片中的许多已经具有为了低功耗而启用的灵活时钟频率控制机构。另外,用于产生唯一识别符的此方法限定于并不需要使用外部昂贵测试设置和程序的硬件。此外,不需要通过添加额外硬件逻辑而修正当前芯片设计且可通过软件请求而启用其功能,因此这是零成本解决方案。
[0064]图式中所说明的组件、步骤、特征和/或功能中的一或多者可重新布置和/或组合成单个组件、步骤、特征或功能或体现在若干组件、步骤或功能中。在不脱离本发明的情况下,还可以添加额外的元件、组件、步骤及/或功能。图式中所说明的设备、装置及/或组件可经配置以执行图式中描述的方法、特征或步骤中的一或多者。本文中所描述的算法也可有效地实施于软件中和/或嵌入于硬件中。
[0065]此外,在本发明的一个方面中,图式中说明的处理电路可为经具体设计和/或硬连线以执行图式中描述的算法、方法和/或步骤的专用处理器(例如,专用集成电路(例如,ASIC))。因此,此专用处理器(例如,ASIC)可为用于执行图式中描述的算法、方法和/或步骤的装置的一个实例。计算机可读存储媒体还可存储处理器可读指令,所述指令当由专用处理器(例如,ASIC)执行时致使所述专用处理器执行图式中描述的算法、方法和/或步骤。
[0066]并且,应注意,可将本发明的各方面描述为过程,所述过程被描绘为流程图、流图、结构图或框图。尽管流程图可将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新布置操作的次序。过程在其操作完成时终止。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于函数时,其终止对应于函数返回到调用函数或主函数。
[0067]此外,存储媒体可表示用于存储数据的一或多个装置,包含只读存储器(R0M)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器装置和/或其它机器可读媒体和处理器可读媒体,和/或用于存储信息的计算机可读媒体。术语“机器可读媒体”、“计算机可读媒体”和/或“处理器可读媒体”可包含(但不限于)非暂时性媒体(例如,便携式或固定存储装置)、光学存储装置和能够存储、含有或携载指令和/或数据的各种其它媒体。因此,本文中描述的各种方法可完全或部分地由可存储在“机器可读媒体”、“计算机可读媒体”和/或“处理器可读媒体”中且由一或多个处理器、机器和/或装置执行的指令和/或数据来实施。
[0068]此外,本发明的方面可由硬件、软件、固件、中间件、微码或其任何组合实施。当以软件、固件、中间件或微码实施时,用以执行必要任务的程序代码或代码段可存储在例如存储媒体或其它存储装置的机器可读媒体中。处理器可以执行必要任务。代码段可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任意组合。一个代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、转发或传输。
[0069]结合本文中揭示的实例描述的各种说明性逻辑块、模块、电路、元件和/或组件可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中描述的功能的任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的理器、控制器、微控制器或状态机。处理器还可以实施为计算组件的组合,例如DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的联合,或任何其它此类配置。
[0070]结合本文所揭示的实例描述的方法或算法可以处理单元、编程指令或其它方向的形式直接体现在硬件、可由处理器执行的软件模块或两者的组合中,且可含于单个装置中或跨越多个装置而分布。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、⑶-R0M,或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。
[0071]所属领域的技术人员将进一步了解,结合本文所揭示的方面描述的各种说明性逻辑块、模块、电路和算法步
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1