CN111630499B - 用于对齐多个元素流中的对应元素的装置和方法 - Google Patents

用于对齐多个元素流中的对应元素的装置和方法 Download PDF

Info

Publication number
CN111630499B
CN111630499B CN201880087442.0A CN201880087442A CN111630499B CN 111630499 B CN111630499 B CN 111630499B CN 201880087442 A CN201880087442 A CN 201880087442A CN 111630499 B CN111630499 B CN 111630499B
Authority
CN
China
Prior art keywords
stream
key
key values
trace
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880087442.0A
Other languages
English (en)
Other versions
CN111630499A (zh
Inventor
阿拉斯代尔·格兰特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd filed Critical ARM Ltd
Publication of CN111630499A publication Critical patent/CN111630499A/zh
Application granted granted Critical
Publication of CN111630499B publication Critical patent/CN111630499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

描述了用于对齐多个元素流中的对应元素的装置和方法。提供了一种装置,该装置既包括用于生成包括第一元素的第一流的第一生成电路,又包括用于生成包括第二元素的第二流的第二生成电路。第一生成电路被布置为在第一流中插入第一元素以标识第二流中的对应第二元素的每次出现。密钥生成电路用于为要包括在第一流内的第一元素的每个实例生成从密钥值集合确定的关联密钥值,该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值。第一生成电路然后被布置为在第一流内指示第一元素的每个实例的关联密钥值。通过这样的方法,对与第一流内的第一元素的对应实例序列相关联的密钥值序列的后续分析使第一流中的第一元素与第二流中的其对应第二元素之间的对齐成为可能。这提供了一种非常有效的机制,该机制允许以减轻关于第一流的带宽约束的方式实现第一流中的各个元素与第二流中的对应的各个元素之间的对齐。

Description

用于对齐多个元素流中的对应元素的装置和方法
技术领域
本技术涉及用于对齐多个元素流中的对应元素的装置和方法。
背景技术
在数据处理系统中,存在可能产生多个信息流以供以后分析的情况,那些流内的信息块在本文中称为元素。尽管分开的流可捕获不同的信息,但是它们实际上可源自同一源,因此一个流中的一些元素可能与源处的导致对应元素被包括在另一流中的同一活动有关。
例如,存在希望跟踪正在由诸如中央处理单元(CPU)之类的处理元件执行的处理活动的许多情况。例如,这样的信息在数据处理装置的开发期间是有用的。可以用来协助这样的处理的工具的一个示例是跟踪工具。
跟踪处理元件的活动从而生成包括表示系统内的逐步活动的数据的跟踪流在系统开发中是非常有用的工具。这样的跟踪工具使用包括嵌入式跟踪宏单元(ETM,剑桥的Arm有限公司的商标)在内的各种用于跟踪程序流的手段,ETM存在于正在监视其处理的芯片上。
在某些情况下,可能会产生多个单独的跟踪流,其中在这些多个流中,一个流中的某些元素与另一流中的相应元素所捕获的活动有关,因此,当分析多个跟踪流时,能够确定一个流中的哪些元素对应于另一流中的哪些元素将是有用的。
发明内容
在一种示例布置中,提供了一种装置,其包括:第一生成电路,用于生成包括第一元素的第一流;第二生成电路,用于生成包括第二元素的第二流;第一生成电路被布置为在第一流中插入第一元素以标识第二流中的对应第二元素的每次出现;密钥生成电路,用于为要包括在第一流内的第一元素的每个实例生成从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值;其中,第一生成电路被布置为在第一流内指示第一元素的每个实例的关联密钥值,以使得对与第一流内的第一元素的对应实例序列相关联的密钥值序列的后续分析使第一流中的第一元素与第二流中的其对应第二元素之间的对齐成为可能。
在另一示例布置中,提供了一种诊断装置,其包括:第一接口,用于接收元素的第一流;第二接口,用于接收元素的第二流;以及分析电路,用于对第一流和第二流执行对齐操作;第一流包含用于标识第二流中的对应第二元素的每次出现的第一元素,并且与第一元素的每个实例相关联地提供从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值;并且其中分析电路被布置为分析与第一流内的第一元素的对应实例序列相关联的密钥值序列,以便确定第一流中的第一元素与第二流中的其对应第二元素之间的对齐。
在又一示例布置中,提供了一种操作装置以生成元素的多个流的方法,其包括:生成包括第一元素的第一流;生成包括第二元素的第二流;在第一流的生成期间,在第一流中插入第一元素以标识第二流中的对应第二元素的每次出现;为要包括在第一流内的第一元素的每个实例生成从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值;以及在第一流内指示第一元素的每个实例的关联密钥值,以使得对与第一流内的第一元素的对应实例序列相关联的密钥值序列的后续分析使第一流中的第一元素与第二流中的其对应第二元素之间的对齐成为可能。
在又一示例布置中,提供了一种操作诊断装置以分析多个流的方法,其包括:接收元素的第一流;接收元素的第二流;以及对第一流和第二流执行对齐操作;第一流包含用于标识第二流中的对应第二元素的每次出现的第一元素,并且与第一元素的每个实例相关联地提供从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值;并且在所述对齐操作期间,分析与第一流内的第一元素的对应实例序列相关联的密钥值序列,以便确定第一流中的第一元素与第二流中的其对应第二元素之间的对齐。
附图说明
参考如在附图中示出的本技术的示例,将仅通过图示方式来进一步描述本技术,在附图中:
图1是根据一种示例布置的系统的框图;
图2示意性地示出了根据一种示例布置的诊断装置,该诊断装置可以用于分析由图1的系统产生的两个跟踪流;
图3A和图3B示意性地示出了根据示例布置的可用于生成在一个或两个流内使用的密钥值的两种不同的机制;
图4A至图4C示出了根据一种示例布置的由图3B的LFSR 160产生的一系列密钥值的一些特性;
图5A和图5B示出了可以使用事件总线的多个位来从采样单元向图1的ETM发信号通知采样事件和密钥值的两种方式;
图6A和图6B示意性地示出了序列匹配操作,该序列匹配操作可被执行以检测两个跟踪流中的对应元素之间的对齐;并且
图7是示意性地示出根据一个示例的为了确定第一和第二跟踪流中的跟踪元素之间的对齐而由图2的诊断装置执行的分析操作的流程图。
具体实施方式
如前所述,在一些情况下,希望能够对齐多个元素流中的对应元素。例如,考虑跟踪生成的示例,可能可以产生多个单独的跟踪流,其中在那些多个流内,一个流中的一些元素与另一流中的对应元素所捕获的相同活动有关,并且因此,当分析多个跟踪流时,能够使一个流中的各个元素与另一流中的对应元素对齐是有用的。
然而,通常情况是,至少一个流是带宽受限的。结果,由于独立唯一的标识符将消耗的空间量,可能无法用这样的标识符(例如用高分辨率的时间戳或单调递增的序列号)来标记两个流中的关注元素。
因此,需要一种更有效的机制来寻求对齐在多个流中出现的元素。
在本技术的一个示例中,提供了一种装置,其具有用于生成包括第一元素的第一流的第一生成电路,以及用于生成包括第二元素的第二流的第二生成电路。第一流除了第一元素的实例之外还可包括其他元素,并且类似地,第二流除了第二元素的实例之外还可包括其他元素。然而,由于第一元素在第一流中的出现与第二元素在第二流中的出现之间存在相关性,因此本技术特别关注第一元素和第二元素。具体而言,第一生成电路被布置为在第一流中插入第一元素,以标识第二流中的对应第二元素的每次出现。
鉴于该事实,在对第一流和第二流的后续分析期间,可能将希望将第一流中的第一元素的每个实例与第二流中的第二元素的对应实例进行匹配,并且本文描述的技术描述提供了一种有效的机制,该机制用于包括足够的信息以使得能够进行这样的分析,同时减少容纳这样的附加信息所需的带宽。
具体而言,在所描述的技术中,密钥生成电路用于为要包括在第一流内的第一元素的每个实例生成从密钥值集合确定的关联密钥值。然而,该密钥值集合不足以允许在关注时段期间为可能要包括在第一流内的第一元素的每个实例生成独特的密钥值。
第一生成电路然后被布置为在第一流内指示第一元素的每个实例的关联密钥值。尽管如上所述,单独的密钥值不足以使得能够唯一地标识第一流内的第一元素的任何特定实例,因此单独的密钥值本身无法使得能够与第二流中的对应第二元素进行对齐,但是已经观察到:通过例如使用已知的序列匹配技术来分析与第一流内的第一元素的对应实例序列相关联的密钥值序列,这确实使第一流中的第一元素与第二流中的其对应第二元素之间的对齐成为可能。
因此,通过这样的方法,可以显著减少为了使能第一流中的元素与第二流中的对应元素之间的稍后对齐而需要包括在至少第一流内的信息量,从而减轻了带宽约束,同时仍然允许稍后检测第一流和第二流中的元素之间的确切对应关系。
第二流内包括的信息可以采取多种形式。在一种示例布置中,第二流包含与每个第二元素相关联的标识符信息,该标识符信息足以使得能够确定由密钥生成电路为对应的第一元素生成的关联密钥值。在一个示例情境中,标识符信息本身可包括关联的密钥值,因此相关的密钥值被直接包括在两个流中。例如,这在不仅第一流是带宽受限的而且第二流是带宽受限的情况下可以尤其有用。
然而,可替代地,装置还可包括计数器电路,该计数器电路用于生成计数器值以形成标识符信息,并且密钥生成电路被耦合到该计数器电路以便根据当前计数器值生成每个密钥值。因此,可以将各个计数器值与第二元素的每个实例相关联地包含在第二流内,并根据当前计数器值来生成由密钥生成电路生成的密钥。在这种情境下,当稍后对流进行分析时,如果诊断电路了解密钥生成电路根据计数器值来生成密钥的方式,则诊断电路可以根据第二流内包括的计数器值来计算密钥值,从而为第二流产生一系列密钥值,这一系列密钥值然后可以与来自第一流的一系列密钥值进行比较以确定对齐。
在包含计数值出于其他原因对后续诊断装置有用、但不希望要求诊断装置知道密钥生成电路所执行的操作的情况下,那么可以将密钥值包括在两个流中,以使得在第二流内,标识符信息可包括计数器值和密钥值两者。
在根据当前计数器值来生成密钥值的示例布置中,那么可以以多种方式布置密钥生成电路。在一个实施例中,密钥生成电路被布置为将散列函数应用于当前计数器值,以便生成对应的密钥值。有许多可以使用的合适的散列函数,一个合适的示例是密码散列函数。
在一种示例布置中,密钥生成电路是伪随机数生成器,以使得第一流内的密钥值的序列是伪随机的。
伪随机数生成器可以被布置为使得:在关注的时间段内,特定数量个密钥值的序列具有相同值序列的机会相对不太可能,但是仍将有可能发生该情境,这可能降低对齐处理的准确性。
因此,在一种示例布置中,密钥生成电路被布置为根据集合生成密钥值,以使得指定数量‘s’个密钥值的序列仅在‘p’个密钥值已被生成之后重复,其中p>s。因此,如果需要,仍然可以使用伪随机数生成技术,但是通过密钥生成电路的适当布置,可以保证在将观察到给定序列大小s的值序列的任何重复之前将生成的密钥值的数量(本文中称为保证的周期性)。通过密钥生成电路的合适布置,可以将p的值布置为显著大于s的值,这实际上意味着:在关注的时间段内,可以确保在查看特定数量s个密钥值时,观察到的特定值序列对于该时段内的s个密钥值的任何其他序列将不会重复。
在一个实施例中,p和s之间的关系由等式“p=bs–1”给出
其中b是集合中的密钥值的数量。
因此,仅作为示例,如果集合中有三个密钥值(例如,值1、2或3),并且考虑3个密钥值的序列,则可以确保:来自密钥生成电路的每26个发出的密钥值,3个密钥值的任何给定序列出现一次。
因此,对于对齐处理的关注的时间段,如果在第一流内观察到至少s个密钥值,并且观察到不超过p个值,则将确保将有足够的信息来使得能够在第一流中的第一元素和第二流中的对应第二元素之间进行对齐。
有多种形式的如下密钥生成电路,它们可以产生具有上述特性并且尤其对于任何特定的给定值序列具有已知的周期性的一系列密钥值。在一种示例布置中,密钥生成电路包括线性反馈移位寄存器(LFSR)。具体而言,在一个布置中,可以使用最大长度的LFSR,其产生长度为“bs–1”的重复密钥序列,使得长度为s的任何给定序列在长度为“bs–1”的序列中仅出现一次。
为了有效地利用上述技术,希望能够标识第一流和第二流之间的粗略对齐,以使得然后可以将上述对齐技术应用于在该粗略对齐之后针对两个流观察到的一系列密钥值,以便确保第一流中的第一元素与第二流中的其对应第二元素之间的精确对齐。在一种示例布置中,这是通过将第一生成电路和第二生成电路布置为周期性地在相应的第一流和第二流内发出同步值以实现第一流和第二流的粗略对齐来实现的,并且对密钥值序列的分析在粗略对齐之后使第一流中的第一元素与第二流中的其对应第二元素之间的精确对齐成为可能。
例如,在密钥生成电路实现了前面讨论的保证周期性特征的实现方式中,在基于同步值进行第一流和第二流的粗略对齐之后,情况将是,一旦已经在第一流中观察到s个密钥值的序列,就可以在第一流中的第一元素与第二流中的其对应第二元素之间实现对齐。
因此,一旦可以实现粗略对齐,则如果在执行下一次粗略对齐之前在第一流内观察到至少s个密钥值,并且观察到不超过p个密钥值,则将存在足够的信息来确保可以在第一流中的第一元素与第二流中的其对应第二元素之间进行精确对齐。
同步值可以采取多种形式,但是在一个示例中是全局时间戳值。在跟踪流内包括全局时间戳值的频率可以根据实现方式而变化,并且实际上,全局时间戳包含的频率可以在不同流之间变化。另外,在一种示例布置中,可以根据需要改变包括全局时间戳值的频率,以确保粗略对齐发生得频繁到足以允许实现基于上述序列匹配技术的精确对齐。
出于各种原因,可以在数据处理系统内产生多个元素流。在一种示例布置中,装置还包括处理电路,该处理电路用于执行一系列指令以便执行数据处理操作。在这样的示例中,第一生成电路可形成第一跟踪生成电路,第一跟踪生成电路用于生成跟踪元素的第一跟踪流作为第一流,第一跟踪流中的跟踪元素至少包括第一元素。类似地,第二生成电路可形成第二跟踪生成电路,第二跟踪生成电路用于生成跟踪元素的第二跟踪流作为第二流,第二跟踪流中的跟踪元素至少包括第二元素。
当产生两个这样的跟踪流时,希望可以当以后分析跟踪流以便确定处理电路的活动时,确定出现在第一跟踪流中的跟踪元素与出现在第二跟踪流中的对应跟踪元素之间的确切对应关系。具体而言,由不同流中的跟踪元素提供的信息可能是不同的,但它们可能实际上与发生在处理电路内的同一事件有关,因此准确地标识出第一流中的哪些元素与第二流中的跟踪元素涉及同一处理电路事件可以非常有用。
在一个示例中,第二跟踪生成电路可包括采样电路,该采样电路被处理电路触发以对在一个或多个存储元件中保持的数据进行采样,例如在处理电路的一个或多个寄存器中保持的数据,采样数据然后被输出作为第二跟踪流内的第二元素。在这样的示例中,采样电路可被布置为:当采样电路被触发以对数据进行采样时向第一跟踪生成电路发出采样事件指示,以便使第一跟踪生成电路在第一跟踪流内提供数据采样事件作为对应的第一元素。因此,在这样的示例中,第一流可包括已发生数据采样事件的指示,而第二流包括提供已采样的数据的对应跟踪元素。上述技术提供了一种使不同跟踪流中的这两个跟踪元素能够匹配的有效机制。
采样电路可以通过多种方式与第一跟踪生成电路进行通信。在一种示例布置中,第一跟踪生成电路耦合到事件总线以接收事件指示,并且采样电路被布置为通过事件总线向第一跟踪生成电路发出采样事件指示。
所需的密钥值可以通过多种方式提供给第一跟踪生成电路,以与要在第一跟踪流中标识的采样事件相关联地使用。然而,在一种示例布置中,可以有效地利用事件总线的多个位来提供采样事件的指示和要使用的密钥值。具体而言,在一个示例中,密钥生成电路与采样电路相关联,并且采样电路被布置为使用事件总线的多个位来向第一跟踪生成电路提供事件指示,该事件指示标识采样事件的存在以及该采样事件的密钥值。因此,在这样的实施例中,一旦使用多位信号来指示采样事件,则可以使用该多位信号的多个不同的非零变体来指定采样事件的存在以及关联的密钥值。这可以提供非常有效的实现方式。
在一个示例中,该技术还提供了一种诊断装置,该诊断装置用于寻求确定第一流中的元素与第二流中的对应元素之间的对齐。具体而言,诊断装置可包括用于接收元素的第一流的第一接口以及用于接收元素的第二流的第二接口,并且还可包括分析电路,该分析电路用于随后对第一和第二流执行对齐操作。第一流被布置为包含用于标识第二流中的对应第二元素的每次出现的第一元素,并且还与第一元素的每个实例相关联地提供从密钥值集合确定的关联密钥值。如前面讨论的,该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值。分析电路然后被布置为分析与第一流中的第一元素的对应实例序列相关联的密钥值序列,以便确定第一流中的第一元素与其第二流中的其对应第二元素之间的对齐。
这样的密钥值的使用,从而基于使用在流内出现的多个密钥值进行序列匹配来执行所需的对齐分析,提供了一种用于将这样的对齐所需的信息包含在第一流内并且必要时将其包含在第二流内的非常带宽有效的机制。
如前所述,第二流可以被布置为包含与每个第二元素相关联的标识符信息,并且分析电路可使用该标识符信息来确定用于对应的第一元素的关联密钥值。在一些情况下,标识符信息本身可包括密钥值,但是在替代布置中,标识符信息可包括由计数器电路生成的计数器值,并且在那种情况下,分析电路可被布置为包括用于生成每个计数器值的关联密钥值的密钥生成电路,从而使得能够为第二流产生一系列密钥值,这一系列密钥值然后可以与第一流中包括的对应密钥值进行序列匹配。
现在将参考附图描述具体示例。
图1是根据一种示例布置的系统的框图。提供了诸如中央处理单元(CPU)之类的处理器核心形式的数据处理装置10,数据处理装置10具有用于执行程序指令以便执行数据处理操作的执行单元15。该执行单元因此采取处理电路的形式以便执行所需的数据处理操作,并且可以在一组寄存器20中存取执行单元在执行那些指令时所利用的数据。执行单元15所执行的加载和存储指令可以用于将来自存储器30的数据值加载到寄存器20中,或将来自寄存器的数据值存储回存储器30。如本领域技术人员将认识到的,在主存储器30与核心10之间的系统中可存在一个或多个高速缓存级别25,以便寻求减少对数据的存取时间。
跟踪处理器核心10的活动以便产生一个或多个跟踪流可以是有用的,这一个或多个跟踪流提供与处理器核心所执行的活动有关的信息,这些信息然后可以在适当时候由合适的诊断装置在芯片外进行分析。为此,已知提供了一种嵌入式跟踪宏单元(ETM)40或其他合适的跟踪生成电路,它们可以经由跟踪接口35耦合到处理器核心10。与处理器核心正在执行的活动的至少一个子集有关的信息可以从跟踪接口35输出到ETM40,以使ETM输出包括一系列跟踪元素的第一跟踪流,诊断装置然后可以使用第一跟踪流来确定与处理器核心正在执行的活动有关的某些细节。
ETM可以执行各种类型的跟踪,诸如指令或程序流跟踪,以在某些类型的指令被执行时提供指示。该基本指令跟踪信息还可以由其他信息补充,其他信息例如是标识处理器核心为取回指令而访问的存储器地址的指令地址信息,和/或提供关于与处理器核心所处理的数据值有关的所访问存储器地址的指示的数据跟踪(可选地,还可以捕获数据值本身)。
此外,可以经由事件总线60将发生在系统中的某些事件用信号通知给ETM 40。关于这样的事件的信息然后也可以包含在由ETM产生的跟踪流中。
如本领域技术人员将理解的,有许多可以用于在跟踪流内输出期望信息的机制。在一种示例布置中,使用基于分组的机制,以使得跟踪流包括一系列信息分组,诊断装置然后能够解码那些分组以便得到其中包含的跟踪信息。
当跟踪处理器核心的活动以在执行单元15执行指令期间的某些时间点对在诸如寄存器20之类的存储元件中保持的数据值进行采样时,这也可以是有用的。这可以由处理器核心在需要时触发。例如,它可以在特定指令的执行时触发,或者在每第n条指令的执行时触发,等等。核心10可以为了这样的目的而提供采样单元45(例如统计性能分析扩展(SPE)单元),该采样单元被布置为在从处理器核心10接收到触发时对一个或多个寄存器20的值进行采样,以及在第二跟踪流内输出采样的数据值,第二跟踪流可以经由样本缓冲50来路由。
每当采样单元对数据值进行采样时,它将通过事件总线60向ETM 40发出采样事件指示,以使得ETM 40可以在其跟踪流中输出已发生采样事件的指示。
将会认识到,提供一种使随后分析两个跟踪流的诊断装置能够将ETM的跟踪流内的各个采样事件指示与第二跟踪流内的对应采样数据进行匹配的机制将是有用的。然而,至少由ETM 40产生的跟踪流通常是非常带宽受约束的。具体而言,ETM可能已经在输出大量的跟踪信息。结果,不希望在ETM的跟踪流内包含将消耗大量空间的对齐信息。
作为示例,用于寻求将ETM的跟踪流内的采样事件与第二跟踪流中的对应采样数据对齐的一个简单选项将是包括独立唯一的标识符,例如高分辨率的时间戳或单调递增的序列号。如果两个流内都包括该信息,则标识哪些采样事件与第二跟踪流内的哪些采样数据块相对应是简单的过程。然而,这消耗了ETM的跟踪流(其如前所述通常也是带宽受约束的)内的不可忽略的空间量,并且还对ETM 40和采样单元45都要求使用同一时间戳源。如果所使用的定时器/计数器在核心内部,则将需要通过将核心连接到跟踪单元的总线来传播计数器值。也可能是如下情况,即使相关事件的频率不高,跟踪流仍将是带宽受限的,并且插入大事件标识符分组可能是破坏性的,例如导致跟踪丢失。因此,期望提供一种用于提供所需信息的更加带宽有效的机制,以使诊断装置能够随后将ETM跟踪流中的各个跟踪元素与第二跟踪流50中的对应采样数据进行匹配。在图示的示例中,第二跟踪流不像第一跟踪流一样带宽受约束,因此可能能够容纳唯一的标识符信息。然而,在其他情况下,它也可能是带宽受限的,因此,也可能希望对第二跟踪流应用为了标识对齐信息而对第一跟踪流应用的任何带宽减少技术。
在本文描述的示例中,带宽需求的减少是通过布置提供有限数量的可能密钥值并布置要与ETM的跟踪流内的每个采样事件指示相关联的密钥值来实现的。可以以多种方式得到密钥值。例如,它们可以经由独立于任何内部计数器而运行的合适伪随机数生成电路来生成,在这种情况下,相同的密钥值也可以包括在第二跟踪流中。在另一示例中,密钥生成电路可以使用内部计数器的当前值作为输入,并根据该输入来生成密钥值,在这种情况下,可能可以在第二跟踪流中输出内部计数器值,带有或没有关联的密钥值。如果第二跟踪流不包括插入到第一跟踪流中的密钥值,则可以向诊断装置提供足够的信息以使其能够从第二跟踪流内包括的信息中得到密钥值。例如,如果根据内部计数器值来生成密钥值,然后将内部计数器值与采样数据相关联地包括在第二跟踪流内,则诊断装置可以被提供密钥生成电路为了根据内部计数器值生成密钥值而应用的算法的知识,并因此可以根据对第二跟踪流内的内部计数器值的分析来重新创建密钥值。
结果,第一跟踪流将与每个采样事件相关联地包括小密钥值,该密钥值本身不足以促进确定与第二跟踪流中的对应的采样数据块的对齐。然而,第二跟踪流也要么直接包括密钥值,要么包括使诊断装置能够确定密钥值的信息。因此,在诊断装置处,诊断装置可以观察第一流内的一系列密钥值,以及要么直接存在于第二跟踪流中要么从第二跟踪流的内容得到的一系列密钥值。通过使用序列匹配操作,然后可以使用与每个流关联的多个密钥值的存在来标识ETM的跟踪流内的各个采样事件与第二跟踪流中的对应采样数据之间的直接匹配。
在一种示例布置中,可以在系统内提供全局时间戳源55,以将全局时间戳输出到系统内的多个组件。本技术特别关注的是采样单元45和ETM40,并且这两个组件都可以布置为从源55接收全局时间戳信息。周期性地和/或在某些事件发生时,ETM 40和采样单元45都可以将全局时间戳信息包含在它们各自的跟踪流内。要注意的是,不一定是将由ETM 40或采样单元45两者输出相同的全局时间戳值的情况,也不一定是在两个不同的跟踪流内提供全局时间戳值的频率将是相同的情况。然而,通过提供全局时间戳信息,诊断装置有可能获得两个跟踪流之间的粗略对齐。一旦已经获得该粗略对齐,则上述序列匹配技术,基于将存在于ETM的跟踪流内的一系列密钥值与从第二跟踪流确定的一系列密钥值进行比较,使跟踪流中的采样事件与第二跟踪流中的其对应采样数据之间的精确对齐成为可能。
可以通过多种方式生成要由ETM 40与采样事件相关联地包含在第一跟踪流内的密钥值并将其提供给ETM。然而,在一种示例布置中,如图1示意性地图示,如果事件总线的多个位可以被预留以供采样单元使用,则采样单元可以包含密钥生成电路,并且可以使用它通过事件总线向ETM40发送的多位信号的不同的非零值来用信号通知采样事件的存在以及与该采样事件相关联的密钥值。这可以提供一种用于将密钥值提供给ETM以包含在第一跟踪流内的非常有效的机制。
然而,将会认识到,没有必要以这种方式传播密钥值信息。例如,在替代布置中,一条路径可被采样单元用来向ETM标识采样事件的存在,并且完全独立的路径可以用来向ETM40提供关联的密钥值。
虽然图1所示的第一和第二跟踪流可被直接提供给诊断装置,但通常情况是它们最初被存储,然后在适当的时候被诊断装置离线分析。例如,第一和第二跟踪流中的一者或两者可被存储在存储器30内,以供诊断装置随后访问。
图2示意性地示出了根据一种示例布置的诊断装置。该装置具有它可以经由其来取回第一跟踪流和第二跟踪流的第一接口105和第二接口110。分析电路115然后被布置为分析与跟踪流一起存在的信息。假设基于分组的机制用于传输跟踪流,则分析电路可以作为初始步骤对分组进行某一解码,以便得到包含在两个跟踪流内的各个跟踪信息。分析电路然后可以分析第一跟踪流,以寻求建立由处理器核心执行的活动。为了协助该过程,分析电路115可以参考存储装置120,存储装置120可例如包括由处理器核心执行的程序的程序映像。使用该程序映像,分析电路然后可以例如能够基于包含在跟踪流内的指令地址信息来标识由核心10执行的实际指令。
分析电路还可以执行对齐操作,以便利用序列匹配技术来检测存在于第一跟踪流内的各个采样事件与第二跟踪流中提供的对应采样数据之间的匹配。如前所述,如果第二跟踪流不直接包括已经在第一跟踪流中使用的密钥值,则可以在分析电路内提供密钥生成器125以使得能够从与每个采样数据块相关联地包括在第二跟踪流内的标识符信息中得到密钥值。如前所述,标识符信息可例如包括内部计数器值,并且密钥生成器125将具有与采样单元相关联的密钥生成器为了根据那些内部计数器值生成原始密钥值而使用的算法的知识,并且因此可以结合第二跟踪流在分析电路内本地重新创建密钥值。结果,分析电路可以通过查看一段时间内的第一和第二跟踪流来建立第一流中的一系列密钥值以及与第二流相关联的一系列密钥值,然后可以执行序列匹配操作以将第一流中的密钥值序列与第二流中的密钥值序列进行匹配,从而确定第一跟踪流中的跟踪元素与第二跟踪流中的对应跟踪元素之间的精确对齐。
如前所述,两个流中还将存在全局时间戳信息,分析电路可以使用该全局时间戳信息来建立两个流之间的粗略对齐,然后一旦已经实现该粗略对齐就采用上述序列匹配技术,以便确定精确对齐。
图3A示出了可以使用的采样单元45的第一示例。在该示例中,假设采样单元45保持内部计数器150。这可以是足够宽的计数器,以确保独特的计数器值可以与在关注的时间段内发生的事件相关联。尽管第二跟踪流可能具有足够的带宽来包含这样的内部计数器值,但是第一跟踪流没有。作为代替,密钥生成电路可以实现散列函数155以便从内部计数器得到密钥值,该密钥值然后可以与当前事件相关联地包含在第一跟踪流内。散列函数可以采取多种形式,但是在一个实施例中能够以伪随机方式从相对小的可能密钥值集合中产生密钥值。合适的散列函数的一个示例将是密码散列函数。如果需要,代替内部计数器值或除了内部计数器值之外,还可以将密钥值包括在第二跟踪流内。通过将密钥值包括在第二流内,它避免了对在分析电路内提供任何密钥生成功能125的需要。然而,可能是如下情况:内部计数器值仍然可以提供出于其他目的对分析电路有用的信息,因此即使密钥值也被包括也仍然可被包括在第二跟踪流内。
实际上,通常情况是,对于每个采样数据块,还提供许多附加信息,以提供与在数据被采样时核心的处理活动有关的补充信息。可以与采样的数据相关联地包括的三种示例类型的数据是时间戳、程序计数器的当前值以及与数据访问操作有关的等待时间,但是将认识到这些仅仅是示例并且其他形式的信息也可被包括。
虽然图3A示出了一种可以用来生成密钥值的方法,但是无需从内部计数器生成密钥值,而是可以提供一种完全独立的机制来生成随后被包括在第一和第二跟踪流中的密钥值。图3B中示出了一个示例,其中采样单元45包括用于在需要时生成密钥值的线性反馈移位寄存器(LFSR)160。所生成的密钥值然后与每个采样数据块相关联地被包括在第二跟踪流内,并且还被转发到ETM以供与对应的采样事件指示相关联地包含。这样的LFSR 160可以再次产生实际上是伪随机的密钥值,但是也可以实现附加的令人关注的特性,即关于在特定数量s个密钥值的值将重复之前将被生成的密钥值的数量的保证(即保证的周期性)。例如,可以使用最大长度的LFSR,其产生长度为“bs-1”的重复的一系列密钥,以使得长度为s的任何给定序列在长度为“bs-1”的序列中仅出现一次。
这在图4A中示意性地示出,其中示出了具有周期性p 210的一系列密钥值200。各个密钥值205由LFSR 160生成,但是可以确保当考虑密钥值的特定序列大小s时,观察到的特定值序列在周期性周期p 210内将不会重复。周期性长度p将取决于正在考虑的序列s中的密钥值的数量以及LFSR可以生成的不同密钥值的数量。在图4B和图4C中示出了两个具体示例。在图4B的示例中,假设LFSR是二进制LFSR,因此任何单独的密钥值只能是零或一(即b等于2)。但是,即使给定非常有限数量的不同密钥值,如果在基于全局时间戳的每次粗略对齐处理之间很可能观察到合理数量的采样事件,那么有可能得到第一跟踪流中的单独元素与第二跟踪流中的对应元素之间的精确匹配。例如,如果预计在随后的粗略对齐处理之间将发生采样事件的至少八个实例,则可以观察到相对长的周期性,具体而言,在255个密钥样本已被生成之前,密钥值的序列将不会重复。因此,假设密钥值的多于八个实例被观察到并且小于255,则直接对齐可以被获得。
图4C示出了另一示例,其中存在三个可能的密钥值,即b=3。这提供了有趣的用例,因为可以通过事件总线上的两个位来用信号通知这三个值。当使用密钥值的这种组合时,那么仅通过示例的方式,将看到,即使当仅观察到三个密钥值时,与那三个密钥值相关联的周期性也是26,即,每生成26个密钥值,密钥值的特定组合将仅出现一次。为了完整性,在图4C中也示出了示例26位序列。
因此,根据示例2,如果在每次粗略对齐处理之间在第一跟踪流内将观察到至少三个密钥值,并且将观察到少于26个密钥样本,则知道可以通过由诊断装置执行的序列匹配处理来实现第一流中的各个元素与第二流中的对应元素之间的精确对齐。
图5A示出了事件总线60上的两个位如何可以用于使采样电路45能够向ETM 40指示采样事件的存在以及与该采样事件相关联的密钥值。具体而言,可以看出,三个可能的非零组合可以用于标识三个不同的密钥值1、2或3,这些位组合中的每一个用于还向ETM指示采样事件已经发生。这提供了一种非常有效的机制,该机制不仅供采样电路向ETM指示采样事件已经发生,而且供采样电路指示要使用的密钥值。
图5B示出了替代布置,其中事件总线上的三个位用于该目的。从图5B中将看出,然后可以与采样事件相关联地指示潜在的七个不同的密钥值。通过包括更多不同的密钥值,那么要么可以显著增加周期性,要么可以减小在可以保证精确对齐之前所需的序列大小s。
如同样在图5B中提到,可以提供其中不使用组合“100”的变体。这将在装置内提供某一可配置性,以使得要么可以使用事件总线的三个位来使得能够提供六个密钥值,要么可以改为仅使用两个位来使得能够标识三个密钥值。
图6A示意性地示出了可以在一种示例布置中使用的序列匹配对齐处理。如前所述,将在某些时间点在两个跟踪流中输出全局时间戳值。全局时间戳将不一定在每个流内同时发出,因此可能具有稍微不同的值。另外,即使在两个流内都包括相同的全局时间戳值的情况下,也可能出现某一偏差,例如由于将该全局时间戳值传播到采样单元和ETM所花费的时间,因此,即使在那种情况下,无法通过比较全局时间戳值来实现精确对齐。然而,诊断装置可以经由比较两个流内的全局时间戳值来实现近似对齐250。一旦已经实现了近似对齐,则可以使用上述序列匹配处理来实现精确对齐。图6A针对密钥值具有三个可能的值(即1、2或3)的情况示意性地示出了这点,并且特别假设使用了图4C的示例26位固定序列。如图6A所示,可以看出,使用两个流中的密钥值,可以检测到精确对齐。在该特定情况下,假设观察到值2、1然后观察到3使得能够检测到匹配。在实践中,为了确定对齐,序列匹配算法将使用两个流中可用的所有密钥值。可以将许多用于精确序列对齐的算法(例如,Boyer-Moore,精确的Smith-Waterman)中的任一个用于该处理。
当使用先前参考图4A至图4C讨论的方法时,那么将认识到,如果在迭代的近似对齐处理之间观察到多于s个密钥值,并且观察到少于p个密钥值,则可以确保使用序列匹配方法将可实现直接对齐。
图6B示出了一个问题,该问题原则上在使用更通用的伪随机的一系列密钥值时可能出现,但是该问题在实践中当更多密钥值被观察到时不太可能引起问题。具体而言,由于更通用的伪随机密钥值生成器不能保证参考图4A讨论的周期性特征,因此在迭代的近似对齐之间有可能出现重复的序列。这由图6B中的气泡265示出,其中如果仅比较三个密钥值,则对于给定的特定示例,由于序列“1、2、3”快速连续出现两次,因此在对齐方面存在某一歧义。然而,对于所示的特定示例,并且如气泡270所示,一旦观察到四个密钥值,就消除了该歧义,因为在迭代的近似对齐处理之间不重复值“1、2、3、1”的序列。
图7是流程图,其示出了为了获得第一跟踪流中的元素与第二跟踪流中的对应元素之间的精确对齐而可以由诊断装置100的分析电路115执行的分析操作。在步骤300,获得全局时间戳同步信息,该全局时间戳同步信息足以使得能够实现两个流之间的近似对齐。此后,在步骤305和310,确定来自第一流的一系列密钥值以及来自第二流的一系列密钥值。在步骤320,然后使用两个系列的密钥值来应用序列匹配操作,以便检测第一跟踪流中的密钥值序列与第二跟踪流中的密钥值序列之间的匹配。可应用许多算法来实现序列匹配操作。例如,一种方法可能是尝试所有可能的候选对齐,以确定与密钥匹配并且不违反任何时间戳排序约束的对齐。例如,在这种方法中,可以将近似对齐信息包含到序列匹配操作本身中。例如,如果对于候选对齐,密钥值1、2、3的序列与另一流中的密钥值1、2、3的对应序列匹配,但是从时间戳信息获得的近似对齐表明这些流中的一个中的密钥值1发生在近似对齐的一侧,而另一个发生在近似对齐的另一侧,则可以确定在该情况下实际上不存在匹配,并且算法将继续寻找不违反时间戳排序的匹配。
一种替代算法可能寻求首先消除违反时间排序的对齐,然后仅尝试剩余的候选对齐,以便标识将两个密钥值序列进行匹配的对齐,从而直接标识第一流中的各个跟踪元素与第二流中的各个元素之间的对应关系。
从上述技术中,将认识到,通过使用相对少量的不同密钥值,可以使用序列匹配技术来分析在一个跟踪流内出现的密钥值序列,尤其将它们与另一跟踪流的对应密钥值序列进行匹配,以便获得一个流中的跟踪元素与另一流中的对应跟踪元素之间的精确匹配。在一种示例布置中,使两个流同步的能力是所看到的密钥值的数量、密钥值生成序列的周期性以及其他相关信息(例如全局时间戳信息)的存在的函数。将认识到,在使用期间可以进行各种调整以影响系统使事件流同步的能力。例如,可以增加包括全局时间戳信息的频率,以允许实现更频繁的近似对齐。作为另一示例,如果需要(例如在设计集成时或动态地),则可以为密钥生成电路提供一定程度的可配置性,例如以允许生成具有不同周期性特性的不同密钥值序列。
在本申请中,词语“配置为...”用于表示装置的元件具有能够执行所定义的操作的配置。在该上下文中,“配置”表示硬件或软件的互连的布置或方式。例如,装置可具有提供所定义的操作的专用硬件,或者处理器或其他处理设备可被编程为执行该功能。“配置为”并非暗示需要以任何方式改变装置元件以便提供所定义的操作。
尽管本文中已经参考附图详细描述了本发明的说明性实施例,但是将会明白,本发明不限于那些精确的实施例,并且本领域技术人员在不脱离如由所附权利要求限定的本发明的范围和精神的情况下可以在其中实现各种改变、添加和修改。例如,在不脱离本发明的范围的情况下,可以进行从属权利要求的特征与独立权利要求的特征的各种组合。

Claims (19)

1.一种装置,包括:
第一生成电路,用于生成包括第一元素的第一流;
第二生成电路,用于生成包括第二元素的第二流;
所述第一生成电路被布置为在第一流中插入第一元素以标识第二流中的对应第二元素的每次出现;
密钥生成电路,用于为要包括在第一流内的第一元素的每个实例生成从密钥值的集合确定的关联密钥值,其中该密钥值的集合不足以允许为第一元素的每个实例生成独特的密钥值;
其中,所述第一生成电路被布置为在第一流内指示第一元素的每个实例的关联密钥值,以使得对与第一流内的第一元素的对应实例序列相关联的密钥值序列的后续分析实现第一流中的第一元素与第二流中的其对应第二元素之间的对齐;
其中,所述密钥生成电路是伪随机数生成器,以使得第一流内的密钥值的序列是伪随机的;并且
其中,所述密钥生成电路被布置为从所述集合生成密钥值,以使得指定数量‘s’个密钥值的序列仅在‘p’个密钥值已被生成之后重复,其中p>s。
2.如权利要求1所述的装置,其中,第二流包含与每个第二元素相关联的标识符信息,该标识符信息足以使得能够确定由所述密钥生成电路为对应的第一元素生成的关联密钥值。
3.如权利要求2所述的装置,还包括计数器电路,该计数器电路用于生成计数器值以形成所述标识符信息,并且所述密钥生成电路耦合到所述计数器电路以便根据当前计数器值生成每个密钥值。
4.如权利要求3所述的装置,其中,所述密钥生成电路被布置为将散列函数应用于当前计数器值以便生成对应的密钥值。
5.如权利要求2所述的装置,其中,所述标识符信息包括所述关联密钥值。
6.如任意前述权利要求所述的装置,其中:
p=bs-1
其中b是所述集合中的密钥值的数量。
7.如权利要求1至5中任一项所述的装置,其中,所述密钥生成电路包括线性反馈移位寄存器(LFSR)。
8.如权利要求1至5中任一项所述的装置,其中,所述第一生成电路和所述第二生成电路均被布置为周期性地在各自的第一流和第二流内发出同步值,以实现第一流和第二流的粗略对齐,并且对密钥值序列的分析在所述粗略对齐之后实现第一流中的第一元素与第二流中的其对应第二元素之间的精确对齐。
9.如权利要求8所述的装置,其中,在基于所述同步值进行第一流和第二流的粗略对齐之后,那么一旦已经在第一流中观察到s个密钥值的序列,就可以在第一流中的第一元素与第二流中的其对应第二元素之间实现对齐。
10.如权利要求8所述的装置,其中,所述同步值是全局时间戳值。
11.如权利要求1至5中任一项所述的装置,还包括:
处理电路,用于执行指令序列以便执行数据处理操作;
其中:
所述第一生成电路形成第一跟踪生成电路,该第一跟踪生成电路用于生成跟踪元素的第一跟踪流作为第一流,第一跟踪流中的跟踪元素至少包括第一元素;并且
所述第二生成电路形成第二跟踪生成电路,该第二跟踪生成电路用于生成跟踪元素的第二跟踪流作为第二流,第二跟踪流中的跟踪元素至少包括第二元素。
12.如权利要求11所述的装置,其中:
所述第二跟踪生成电路包括采样电路,该采样电路被所述处理电路触发以对在一个或多个存储元件中保持的数据进行采样,并输出采样数据作为第二跟踪流内的第二元素;并且
所述采样电路被布置为:当所述采样电路被触发以对数据进行采样时,向所述第一跟踪生成电路发出采样事件指示,以便使所述第一跟踪生成电路在第一跟踪流内提供数据采样事件作为对应的第一元素。
13.如权利要求12所述的装置,其中,所述第一跟踪生成电路耦合到事件总线以接收事件指示,所述采样电路被布置为通过所述事件总线向所述第一跟踪生成电路发出所述采样事件指示。
14.如权利要求13所述的装置,其中,所述密钥生成电路与所述采样电路相关联,并且所述采样电路被布置为使用所述事件总线的多个位来向所述第一跟踪生成电路提供事件指示,该事件指示标识采样事件的存在以及该采样事件的密钥值。
15.一种诊断装置,包括:
第一接口,用于接收元素的第一流;
第二接口,用于接收元素的第二流;和
分析电路,用于对第一流和第二流执行对齐操作;
第一流包含用于标识第二流中的对应第二元素的每次出现的第一元素,并且与第一元素的每个实例相关联地提供从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值,并且其中从所述集合生成密钥值,以使得指定数量‘s’个密钥值的序列仅在‘p’个密钥值已被生成之后重复,其中p>s;并且
其中所述分析电路被布置为分析与第一流内的第一元素的对应实例序列相关联的密钥值序列,以便确定第一流中的第一元素与第二流中的其对应第二元素之间的对齐,其中第一流内的密钥值的序列是伪随机的。
16.如权利要求15所述的诊断装置,其中,第二流包含与每个第二元素相关联的标识符信息,并且所述分析电路使用所述标识符信息来确定用于对应的第一元素的关联密钥值。
17.如权利要求16所述的装置,其中,所述标识符信息包括由计数器电路生成的计数器值,并且所述分析电路包括密钥生成电路,该密钥生成电路用于生成每个计数器值的关联密钥值。
18.一种操作装置以生成多个元素流的方法,包括:
生成包括第一元素的第一流;
生成包括第二元素的第二流;
在第一流的生成期间,在第一流中插入第一元素以标识第二流中的对应第二元素的每次出现;
为要包括在第一流内的第一元素的每个实例生成从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值;和
在第一流内指示第一元素的每个实例的关联密钥值,以使得对与第一流内的第一元素的对应实例序列相关联的密钥值序列的后续分析实现第一流中的第一元素与第二流中的其对应第二元素之间的对齐;
其中第一流内的密钥值的序列是伪随机的;并且
其中来自所述集合的密钥值被生成,以使得指定数量‘s’个密钥值的序列仅在‘p’个密钥值已被生成之后重复,其中p>s。
19.一种操作诊断装置以分析多个流的方法,包括:
接收元素的第一流;
接收元素的第二流;和
对第一流和第二流执行对齐操作;
第一流包含用于标识第二流中的对应第二元素的每次出现的第一元素,并且与第一元素的每个实例相关联地提供从密钥值集合确定的关联密钥值,其中该密钥值集合不足以允许为第一元素的每个实例生成独特的密钥值,并且其中来自所述集合的密钥值被生成,以使得指定数量‘s’个密钥值的序列仅在‘p’个密钥值已被生成之后重复,其中p>s;并且
在所述对齐操作期间,分析与第一流内的第一元素的对应实例序列相关联的密钥值序列,以便确定第一流中的第一元素与第二流中的其对应第二元素之间的对齐,其中第一流内的密钥值的序列是伪随机的。
CN201880087442.0A 2018-01-30 2018-12-19 用于对齐多个元素流中的对应元素的装置和方法 Active CN111630499B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1801494.4A GB2570512B (en) 2018-01-30 2018-01-30 An apparatus and method for aligning corresponding elements in multiple streams of elements
GB1801494.4 2018-01-30
PCT/GB2018/053679 WO2019150062A1 (en) 2018-01-30 2018-12-19 An apparatus and method for aligning corresponding elements in multiple streams of elements

Publications (2)

Publication Number Publication Date
CN111630499A CN111630499A (zh) 2020-09-04
CN111630499B true CN111630499B (zh) 2024-04-19

Family

ID=61558058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880087442.0A Active CN111630499B (zh) 2018-01-30 2018-12-19 用于对齐多个元素流中的对应元素的装置和方法

Country Status (5)

Country Link
US (1) US11387995B2 (zh)
KR (1) KR102658595B1 (zh)
CN (1) CN111630499B (zh)
GB (1) GB2570512B (zh)
WO (1) WO2019150062A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398782A (zh) * 2007-09-28 2009-04-01 Arm有限公司 产生用于数据处理装置的跟踪流的技术
CN102289361A (zh) * 2010-06-21 2011-12-21 Arm有限公司 对追踪数据流的关联
GB201701183D0 (en) * 2017-01-24 2017-03-08 Advanced Risc Mach Ltd An apparatus and method for generating and processing a trace stream indicative of execution of predicated vector memory access instructions by processing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310749B2 (en) * 2002-12-17 2007-12-18 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor debug halt signal
US9348688B2 (en) * 2010-06-21 2016-05-24 Arm Limited Correlating trace data streams
US9246940B2 (en) * 2013-04-06 2016-01-26 Citrix Systems, Inc. Systems and methods for protecting cluster systems from TCP SYN attack
US9910759B2 (en) * 2015-12-03 2018-03-06 Sap Se Logging framework and methods
JP6955676B2 (ja) * 2016-10-06 2021-10-27 日本電気株式会社 ログ分析方法、システムおよび記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398782A (zh) * 2007-09-28 2009-04-01 Arm有限公司 产生用于数据处理装置的跟踪流的技术
CN102289361A (zh) * 2010-06-21 2011-12-21 Arm有限公司 对追踪数据流的关联
GB201701183D0 (en) * 2017-01-24 2017-03-08 Advanced Risc Mach Ltd An apparatus and method for generating and processing a trace stream indicative of execution of predicated vector memory access instructions by processing

Also Published As

Publication number Publication date
CN111630499A (zh) 2020-09-04
GB2570512A (en) 2019-07-31
GB201801494D0 (en) 2018-03-14
KR20200108458A (ko) 2020-09-18
GB2570512B (en) 2020-04-22
KR102658595B1 (ko) 2024-04-19
US11387995B2 (en) 2022-07-12
WO2019150062A1 (en) 2019-08-08
US20210083869A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
Arram et al. Leveraging FPGAs for accelerating short read alignment
US7870437B2 (en) Trace data timestamping
KR101648235B1 (ko) 정합-데이터 보고 모듈을 갖는 패턴 인식 프로세서
US7673187B2 (en) Data processing apparatus and method for reducing trace bandwidth
Tong et al. Sketch acceleration on FPGA and its applications in network anomaly detection
US8296607B2 (en) Serialization module separating pipelined trace-worthy event and sync packet data
US20110252279A1 (en) Processing execution requests within different computing environments
US7487483B2 (en) Clock model for formal verification of a digital circuit description
US7895430B2 (en) On-chip logic analyzer using compression
US7380173B2 (en) Identifying temporal ambiguity in a aggregated log stream
Brisfors et al. Do not rely on clock randomization: A side-channel attack on a protected hardware implementation of AES
Badr et al. Mocktails: Capturing the memory behaviour of proprietary mobile architectures
CN111630499B (zh) 用于对齐多个元素流中的对应元素的装置和方法
Xie et al. Performance analysis of asynchronous circuits and systems using stochastic timed Petri nets
CN111859062A (zh) 一种基于dpdk的网络数据处理方法和装置
Brisfors et al. Side-channel attack countermeasures based on clock randomization have a fundamental flaw
Laxman Discovering frequent episodes: fast algorithms, connections with HMMs and generalizations
US20150039272A1 (en) Integrated Digitizer System with Streaming Interface
CN113886263A (zh) 系统测试方法、装置、设备及存储介质
US9148281B2 (en) Random number generation
Li et al. A testbed for hardware-assisted online profiling of IoT devices
US7719996B2 (en) Encoding timestamps
Wei Automated Diagnosis of Scalability Losses in Parallel Applications
CN113641585B (zh) 一种测试数据的生成方法、装置、设备及存储介质
Wagner et al. Automatic Adaption of the Sampling Frequency for Detailed Performance Analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant