CN103270504A - 调试复杂多核和多插座系统 - Google Patents

调试复杂多核和多插座系统 Download PDF

Info

Publication number
CN103270504A
CN103270504A CN2011800615689A CN201180061568A CN103270504A CN 103270504 A CN103270504 A CN 103270504A CN 2011800615689 A CN2011800615689 A CN 2011800615689A CN 201180061568 A CN201180061568 A CN 201180061568A CN 103270504 A CN103270504 A CN 103270504A
Authority
CN
China
Prior art keywords
processor
debug controller
fault
data
physical address
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.)
Granted
Application number
CN2011800615689A
Other languages
English (en)
Other versions
CN103270504B (zh
Inventor
B·巴塔查里亚
J·古德蒂
K·K·蒂鲁瓦卢尔
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103270504A publication Critical patent/CN103270504A/zh
Application granted granted Critical
Publication of CN103270504B publication Critical patent/CN103270504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

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)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明描述了涉及调试复杂多核和/或多插座系统的方法和装置。在一个实施例中,调试控制器检测与计算系统中的故障对应的事件,并且将与事件对应的数据发送到系统中的其它调试控制器中的一个。还公开并要求保护其它实施例。

Description

调试复杂多核和多插座系统
技术领域
本公开一般涉及电子学领域。更具体地,一些实施例涉及调试复杂多核和/或多插座系统。
背景技术
一些计算机包括多个插座以允许使用多个处理器。例如,每个插座可与单个处理器或多个处理器耦合。随着系统复杂度增加,调试逐渐变得更有挑战性。然而,一些当前的调试机理仅能够调试单个插座本地的故障。其它解决方案可能成本过高或者使用过于耗时。在一些情形下,甚至可能需要人工干预。随着处理器复杂度渐增,调试多核和/或多插座系统已变成主要的关注点。
附图说明
参照附图提供详细描述。在图中,附图标记的最左边的数字标识附图标记首先出现的图。在不同图中相同附图标记的使用指示相似或相同的项。
图1-2和图6-7图示出可用于实现本文讨论的各实施例的计算系统的实施例的框图。
图3为根据实施例的片内调试控制器系统的框图。
图4-5图示出根据一些实施例的方法的流程图。
具体实施方式
在下面的说明书中,为了提供各实施例的全面理解,阐述了多个具体的细节。然而,可在不具有具体细节的情况下实施一些实施例。为了不使特定实施例变得不清晰,在其它实例中未详细描述公知的方法、程序、部件和电路。本发明的实施例的各个方案可利用各种手段来执行,诸如集成半导体电路(“硬件”)、组织到一个或多个程序中的计算机可读指令(“软件”)或硬件和软件的某种组合。为了该公开的目的,提及“逻辑”应指硬件、软件或其某种组合。
本文讨论的一些实施例可提供调试跨多个插座和/或多个代理/处理器的故障。在一个实施例中,当调试硅后(post-silicon)故障时(在运行时间期间内),无需在复制故障上花费时间(在一些当前的实现中可能是惯常进行的)。这依次将节约调试时间并且因此降低总的处理器设计成本。而且,一些实施例可用于调试诸如以下的故障:全局或暂时故障、系统或群集一致性故障、硅后调试期间的数据不一致故障。
在实施例中,在一个调试控制器处为物理地址的程序集收集所有的系统事务(例如,请求或响应)。这反过来使能在同一时间跨多个插座检查协议规则。而且,由于在实施例中数据结构是可编程的,所以当与当前基于硬件的调试器相比时在调试基础结构中引入错误的风险较低。在一个实施例中,在故障时可进行调试(无须等待故障症状)。而且,在一些实施例中提供了调试基础结构的可编程能力。
相反,当前的解决方案一般不提供与跨多个插座的状态有关的任何历史信息。例如,如果多个高速缓存代理将高速缓存线保持为修改状态(即使这将导致发送无效响应),则现有的调试解决方案可能不能够检测到这点,因为它们一般不检查跨插座的事务流的历史。
本文参照计算系统部件(诸如本文讨论的部件)例如参照图1-2和图6-7讨论了各个实施例。更特别地,图1图示出根据本发明的实施例的计算系统100的框图。系统100可包括一个或多个代理102-1至102-M(此处统称为“多个代理102”或更一般地“代理102”)。在实施例中,代理102可以为计算系统的部件,计算系统诸如参照图2和图6-7讨论的计算系统。
如图1所示,代理102可经由网络结构104进行通信。在实施例中,网络结构104可包括经由串行(例如,点对点)链路和/或共享通信网络进行通信的一个或多个互连(或互连网络)。例如,一些实施例可有利于在允许与完全缓冲的双列直插式存储器模块(FBD)通信的链路上进行部件调试或验证,例如,其中FBD链路为用于将存储器模块与主控制器设备(诸如处理器或存储器集线器)耦合的串行链路。调试信息可从FBD信道主机发送,从而通过信道流量痕迹捕获工具(诸如一个或多个逻辑分析器)沿信道可以观察调试信息。
在一个实施例中,系统100可支持分层协议方案,其可包括物理层、链路层、路由层、传输层和/或协议层。结构104可进一步有利于对于点对点网络从一个协议(例如,高速缓存处理器或高速缓存觉察存储器控制器)到另一协议的数据(例如,分组形式)传输。而且,在一些实施例中,网络结构104可提供遵守一个或多个高速缓存连贯协议的通信。
此外,如图1中的箭头方向所示,代理102可经由网络结构104发送和/或接收数据。因此,一些代理可使用单向链路,而其它代理可使用双向链路用于通信。例如,一个或多个代理(诸如代理102-M)可发送数据(例如,经由单向链路106),其它代理(诸如代理102-2)可接收数据(例如,经由单向链路108),而一些代理(诸如代理102-1)可既发送又接收数据(例如,经由双向链路110)。
而且,依照实施例,一个或多个代理102可包括调试控制器(DC)120。在一些实施例中,存在于计算系统中的每个CPU插座可包括DC120,其将被参照例如图2进行进一步讨论。
更具体地,图2为依照实施例的计算系统200的框图。系统200可包括多个插座202-208(示出了四个,但是一些实施例可具有更多或更少的插座)。每个插座均可包括处理器和DC120。而且,每个插座可经由点对点(PtP)链路与其它插座耦合,所述链路诸如为快速路径互连(QPI)。如针对图1的网络结构104所讨论的,每个插座均可与例如由可包括动态随机存取存储器(DRAM)的多个双列直插式存储器模块(DIMM)形成的系统存储器的局部部分耦合。
如图2所示,每个插座均可与存储器控制器(MC)/家乡代理(HA)(诸如MC0/HA0至MC3/HA3)耦合。存储器控制器可与对应的局部存储器(标记为MEM0至MEM3)耦合,所述局部存储器可为系统存储器(诸如图8中的存储器812)的一部分。在一些实施例中,存储器控制器(MC)/家乡代理(HA)(诸如MC0/HA0至MC3/HA3)可与图1的代理102-1相同或相似,并且标记为MEM0至MEM3的存储器可与图1的存储器120相同或相似。一般地,处理/高速缓存代理可发送请求至主节点以存取与对应的“家乡代理”相关联的存储器地址。而且,在一个实施例中,MEM0至MEM3可被配置为镜像数据,例如作为主设备和从设备。而且,在一些实施例中,系统200的一个或多个部件可包括在相同的集成电路芯片上。
因此诸如图2所示的实现可用于具有镜像的插座无缝配置(gluelessconfiguration)。例如,分配给存储器控制器(诸如MC0/HA0)的数据可在PtP链路上镜像到另一存储器控制器(诸如MC3/HA3)。而且,与存储器控制器MC3/HA3相关联的目录可在复制镜像时以未知(U)状态初始化。在故障转移到该控制器时(例如,由于该存储器控制器的在线服务呼叫),可从U状态重构目录。
在一个实施例中,多处理器具有四个或更多个插座。每个插座均可在相同芯片上实现十个集成核心。每个插座均可经由点对点QPI链路与其它插座连接。每个插座均可包括两个高速缓存代理(CA)、一个路由代理,以及连同经由存储器控制器连接的关联DRAM存储器的两个家乡代理(HA)。十个核心可共享(例如,30MB)最后一级高速缓存(LLC),其实现为十个单独的三MB LLC切片,每个均由单独的高速缓存控制器管理。五个高速缓存控制器CBox0至CBox4可与系统代理0连接,并且CBox1至CBox5可与系统代理1连接,用于使任何系统请求外出到存储器或外部插座。每个CBox可利用环连接彼此对话。而且,从CBox的LLC缺失可被送出到其关联的系统代理,其中在QPI链路层之后形成分组。每个CBox可保持提供目的地主节点ID(HNID)的源地址解码器(SAD),因为其在每个物理地址(PA)均进行映射。然后,可将具有称为RTID(请求者事务标识符)的唯一事务ID的每个系统读或写请求发送出系统代理。在路由代理处的路由表可用于将来自系统代理的系统请求基于其目的地节点标识符(NID)路由到外部插座。在一些实施例中,家乡代理可负责维持用于所有到存储器的读和写的存储器排序和每个地址冲突处理。
如图2所示,每个插座可实现DC。每个DC可被编程以用于一系列物理地址(PA)。每个DC可保持多个FIFO(先入先出缓冲器)或数据结构,其中每个FIFO/数据结构保持数据,诸如时间戳、事件类型、PA和GUTID(每个地址的全局通用事务ID)。在一些实施例中,GUTID可用作与如下一个或多个对应的唯一事务ID:请求者源节点ID(RSNID)、请求者事务ID(RTID)和/或目的地节点ID(DNID)。
图3示出了根据实施例的片内调试控制器系统的框图。在实施例中,图3所示的部件中的一个或多个可存在于图1-2的DC120中。如图所示,DC可包括存储数据的数据随机存取存储器(DRAM)和/或存储代码的指令RAM(IRAM)。数据RAM可用于在DC处理事务的同时存储事务信息和中间变量。DC的指令RAM可包含处理事务和判定任何故障的代码。
如图3所示,每个方框或代理(CA(高速缓存代理)和HA(家乡代理))可保持其自身的调试卫星,调试卫星例如在每个代理通过编程被触发的同时收集关于本地事件的数据。在实施例中,来自所有代理的所有触发事件对准该局部插座的DC。而且,当DC接收到不被该DC所拥有的用于PA的事件(请求或响应)时,其将该事件(与该事件对应的数据,诸如与将由另一DC识别为与事件对应(例如,基于先前存储的信息)的事件对应的标记或提示)发送到拥有该PA的另一插座中的DC。例如,在插座0的DC0处接收到对于PA2(其属于插座2)的请求时,DC0将事件重新引导至DC2。因此,在任意时间,每个DC可保持跟踪对于特定PA的所有全局事件,并且DC不限于局部调试问题。这反过来有助于检测和调试全局问题。
对于本地DC和远程DC之间的通信协议,根据一些实施例,下面两个可能的选择可用于将来自一个DC(例如,本地的)的事件发送到另一DC(例如,远程的):(1)在调试模式中,使用QPI调试分组格式,路由器可以与正常分组路由相似的方式将从本地DC接收到的调试分组发送到目的地插座;和/或(2)一些未使用的存储器(例如,如果未被核使用则为在一些预留存储器中的未使用空间)可用于存储来自一个DC的分组,并且基于从发送器DC接收到的提示来读取来自另一DC的分组。在实施例中,第一选择可在现有处理器中使用,因为它们已经包含基础结构或者可能需要微小的硬件改变来将目的地添加到远程插座中的DC。
图4示出了根据实施例的调试控制器处的数据捕获的流程图。在实施例中,图3所示的流程可以用于图1-3的DC120。而且,每个DC可保持两个CAM(内容可寻址存储器)结构,其可基于PA和/或GUTID寻址。对于进入的请求/响应,CAM对于PA或对于响应或Cmp(完成)是有效的。并且,CAM可对于在先接收到的请求的GUTID是有效的。
如图4所示,每个DC可包含表,所述表列出PA属于系统中每个DC的范围,例如,如图4所示,0-2GB PA由(插座SKTID-0的)DC0所拥有并且2-4GB PA由(插座SKTID-0的)的DC1所拥有,等等。并且如图4所示,每个PA可包含存储/关联该PA的所有事件的数据结构。该数据结构可包含诸如与特定PA有关的每个事件的时间戳、事件类型(由操作码指示,例如,请求、监听、响应等)、请求者事务ID等的信息。该数据结构中的信息可以必要地或者可以不必要地包含事务的所有事件,例如,基于调试事件故障和存储在该数据结构中的数据可以改变。如图4所示,如果接收到的事件属于DC,则其将具有命中(例如,CAM匹配)。根据编程的地址范围,如果事件对准远程DC,则将生成调试分组并且将其从本地DC重新导向到远程DC,在一些实施例中允许事件对准另一插座。基于在特定PA上的CAM匹配,在实施例中该PA的数据结构或FIFO将被选择以进行更新。例如,FIFO0被选择以用于带有PA0的事件。
在实施例中,每个DC可保持每个PA的协议检验器。当在DC处接收到任何事件时,可触发全局协议检验器,以校验遍及每个PA的所有插座的规则。例如,在时点t0,如果高速缓存线(对应于PA)在socket0和socket1两者处均处于修改状态,则DC将标记错误。因此,其可在其故障点处发现任何协议或逻辑错误,而不是等待故障的症状。
而且,在任意单独时间,在一些实现中在每个插座中可存在对于不同地址的大约200个读/写系统请求。在每个DC中具有PA的大约50个CAM条目的有限区域,CAM可被编程以具有50个不同PA的地址范围并且试图捕获故障。如果故障与编程的地址范围不匹配,则编程可改变到下一地址范围;因此,可以获得匹配的故障地址范围。
图5示出了阐示故障的流程图。当在CA1处接收到的最终响应为错的时(应是RspI而不是RspM),发生故障。在图5中,CA是指高速缓存代理,HA是指家乡代理,并且PA是指物理地址。
下面的表1示出了根据实施例的每个地址的数据结构/FIFO。
表1
Figure BDA00003379636400061
Figure BDA00003379636400071
如表1中所示,每个DC可包括每个PA的以下数据结构:存储协议检查所需的信息的变量。例如:
1.每个PA的所有者:CoreID,CBoxID,每个PA的状态(M/E/F/S)
2.事务类型:[4:0]操作码(RFO/WbMto*),[4:0]消息类(HOM/SNP/NCS/NCB等)
3.GUTID:[4:0]RSNID,[5:0]RTID,[4:0]DNID
根据实施例,每个PA可使用32位寄存器,如下面的表2中所示:
表2
Figure BDA00003379636400081
根据一个实施例,表3示出了样本协议表:
表3
如表3中所示,对于特定的PA,每当事件触发时且当在DC处接收到事件时,DC更新在其寄存器中的相应位。在寄存器位进行任何更新时,在实施例中触发协议检验器。基于项目要求,寄存器位可被选择性地屏蔽以避免协议检验器的必要的或不必要的触发。
图6示出了根据本发明的实施例的计算系统600的框图。计算系统600可以包括一个或多个中央处理单元(CPU)602-1至602-N或处理器(本文统称为“多个处理器602”或更一般地“处理器602”),其经由互连网络(或者总线)602进行通信。处理器602可包括通用处理器、网络处理器(其处理在计算机网络603上传送的数据)、或其它类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器602可具有单核或多核设计。具有多核设计的处理器602可在同一集成电路(IC)芯片上集成不同类型的处理器核心。而且,具有多核设计的处理器602可实现为对称或非对称的多个处理器。而且,参照图1-5讨论的操作可通过系统600的一个或多个部件来执行。在一些实施例中,处理器602可与图2的处理器202-208相同或相似。此外,处理器602可包括DC120。
芯片组606还可与互连网络604进行通信。芯片组606可包括存储器控制器中心(MCH)608。MCH608可包括与存储器612通信的存储器控制器610。存储器612可存储数据,包括由CPU602或计算系统600中所包含的任何其它设备执行的指令序列。例如,存储器612可存储与操作系统(OS)对应的数据。在本发明的一个实施例中,存储器612可包括一个或多个易失性储存设备(或存储器),诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的储存设备。还可使用诸如硬盘的非易失性存储器。另外的设备可经由互连网络604进行通信,例如多个CPU和/或多个系统存储器。
另外,一个或多个处理器602可访问一个或多个高速缓存(在各个实施例中其可包括专用和/或共享高速缓存)和关联的高速缓存控制器(未示出)。高速缓存可遵循一个或多个高速缓存连贯协议。高速缓存可存储由系统600的一个或多个部件使用的数据(例如,包括指令)。例如,高速缓存可在本地高速缓存存储于存储器612中的数据,以便由处理器602的部件更快存取。在实施例中,(可共享的)高速缓存可包括中级高速缓存和/或最后一级高速缓存(LLC)。而且,每个处理器602可包括一级(L1)高速缓存。处理器602的各个部件可直接地、通过总线或互连网络、和/或存储器控制器或集线器与高速缓存进行通信。而且,在一些实施例中每个处理器602(或处理器602中存在的每个核心)可包括DC120。
MCH608还可包括图形接口614,图形接口614例如经由图形加速器与显示设备616进行通信。在本发明的一个实施例中,图形接口614可经由加速图形端口(AGP)与图形加速器进行通信。在本发明的实施例中,显示器616(诸如平板显示器)可通过例如信号转换器与图形接口614进行通信,期中所述信号转换器将存储在诸如视频存储器或系统存储器中的储存设备中的图像的数字表示转换成由显示器616解译并显示的显示信号。由显示设备生成的显示信号可在被显示器616解译以及随后显示在显示器616上之前经过各种控制设备。
中心接口618可允许MCH608和输入/输出控制中心(ICH)620进行通信。ICH620可提供与计算系统600进行通信的I/O设备的接口。ICH620可通过外围桥(或控制器)624与总线622进行通信,所述外围桥(或控制器)例如为外围部件互连(PCI)桥、通用串行总线(USB)控制器或其它类型的外围桥或控制器。桥624可提供CPU602和外围设备(诸如图2的设备208)之间的数据路径。可使用其它类型的拓扑结构。而且,多条总线可通过例如多个桥或控制器与ICH620进行通信。而且,在本发明的各个实施例中,与ICH620通信的其它外围设备可包括集成驱动电子器件(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))或其它设备。
总线622可与音频设备626、一个或多个磁盘驱动器628和网络接口设备630(其与计算机网络603通信)进行通信。其它设备可经由总线622进行通信。而且,在本发明的一些实施例中,各个部件(诸如网络接口设备630)可与MCH608进行通信。另外,处理器602和MCH608的一个或多个部件可组合以形成单个芯片。
此外,计算系统600可包括易失性和/或非易失性存储器(或储存设备)。例如,非易失性存储器可包括以下中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动器(例如,628)、软盘、高密度磁盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘,或能够存储电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。
图7示出了根据本发明实施例的以点对点(PtP)配置布置的计算系统700。特别地,图7示出了处理器、存储器和输入/输出设备由多个点对点接口互连的系统。参照图1-6讨论的操作可由系统700的一个或多个部件执行。
如图7所示,系统700可包括多个处理器,为清晰起见,仅示出了其中两个,即处理器702和704。处理器702和704可各自包括本地存储器控制器中心(MCH)706和708以能够与存储器710和712进行通信。存储器710和/或712可存储诸如参照图6的存储器612讨论的那些数据的各种数据。如图7所示,处理器702和704还可包括参照图6讨论的高速缓存。
在实施例中,处理器702和704可以为参照图6讨论的处理器602中的一个。处理器702和704可分别使用点对点接口电路716和718经由点对点(PtP)接口714交换数据。而且,处理器702和704可各自使用点对点接口电路726、728、730和732经由各PtP接口722和724与芯片组720交换数据。芯片组720可进一步例如使用点对点接口电路737经由高性能图形接口736与高性能图形电路734交换数据。
本发明的至少一个实施例可设置在处理器702和704或芯片组720内。例如,DC120可设置在处理器702和704内(或处理器702和/或704的每个核心内)。然而,在图7的系统700内的其它电路、逻辑单元或设备中可存在本发明的其它实施例。此外,本发明的其它实施例可遍及图7所示的多个电路、逻辑单元或设备分布。
芯片组720可利用PtP接口电路741与总线740进行通信。总线740可具有与其通信的一个或多个设备,诸如总线桥742和I/O设备743。经由总线744,总线桥742可与其它设备通信,诸如键盘/鼠标745、通信设备746(诸如调制解调器、网络接口设备或可与计算网络603通信的其它通信设备)、音频I/O设备、和/或数据储存设备748。数据储存设备748可存储可由处理器702和/或704执行的代码749。
在本发明的各个实施例中,本文参照例如图1-7讨论的操作可实现为硬件(例如,电路)、软件、固件、微代码或其组合,其可作为计算机程序产品提供,例如,包括存储有用于对计算机编程以执行本文讨论的处理的指令(软件程序)的(例如,非暂态性)机器可读或(例如非暂态性)计算机可读介质。而且,以举例的方式,术语“逻辑”可包括软件、硬件或软件和硬件的组合。机器可读介质可包括诸如针对图1-7所讨论的那些储存设备。另外,这样的计算机可读介质可被下载以作为计算机程序产品,其中程序可通过数据信号的方式从远程计算机(例如,服务器)传递到请求计算机(例如,客户端),所述数据信号具体体现为载波或经由通信链路(例如,总线、调制解调器、或网络连接)的其它传播介质。因此,此处,载波应视为包括机器可读介质。
说明书中提到“一个实施例”或“实施例”是指结合实施例描述的特定的特征、结构或特性可包括至少一实现中。在说明书中各处出现短语“在一个实施例中”可以或者可以不全部指代相同的实施例。
而且,在说明书和权利要求书中,术语“耦合”和“连接”连同其衍生词一起可被使用。在本发明的一些实施例中,“连接”可用于表示两个或更多的元件彼此直接物理接触或电接触。“耦合”可意指两个或更多的元件直接物理或电接触。然而,“耦合”还可意指两个或更多的元件可以不彼此直接接触,而仍可相互配合或交互。
因此,尽管以专属于结构特征和/或方法行为的语言描述了本发明的实施例,但应当理解的是,权利要求的主题可不局限于所描述的具体的特征或行为。相反,具体的特征和行为可被公开为实现权利要求主题的样本形式。

Claims (20)

1.一种处理器,包括:
调试控制器,其检测与计算系统中的故障对应的事件;以及
储存设备,其与所述调试控制器耦合,用于存储与所述计算系统中的其它调试控制器对应的数据,
其中所述调试控制器基于存储的数据将与所述事件对应的数据发送到所述其它调试控制器中的一个。
2.如权利要求1所述的处理器,其中所述调试控制器包括多个缓冲器,其中每个缓冲器用于存储时间戳、事件类型、物理地址和GUTID(每个地址的全局通用事务ID)。
3.如权利要求2所述的处理器,其中所述GUTID对应于选自包括如下元素的组的唯一事务标识符:请求者源节点ID(RSNID)、请求者事务ID(RTID)和目的地节点ID(DNID)。
4.如权利要求1所述的处理器,其中存储的数据对应于物理地址的编程集。
5.如权利要求1所述的处理器,其中所述调试控制器包括能够由物理地址或GUTID寻址的至少两个内容可寻址存储器。
6.如权利要求1所述的处理器,其中所述故障对应于如下故障中的一个:全局和暂时故障、系统或群集一致性故障、硅后调试期间的数据不一致故障。
7.如权利要求1所述的处理器,其中所述调试控制器引起包括如下中的一个或多个的信息的存储:每个物理地址的所有者、每个所述物理地址的事务类型,或每个所述物理地址的GUTID。
8.如权利要求1所述的处理器,其中所述计算系统包括多个处理器。
9.如权利要求1所述的处理器,其中所述计算系统包括多个插座。
10.一种方法,包括:
检测与计算系统中的故障对应的事件;
将与所述计算系统中的其它调试控制器对应的数据存储在调试控制器能访问的储存设备中,以及
所述调试控制器基于存储的数据将与所述事件对应的标记发送到所述其它调试控制器中的一个。
11.如权利要求10所述的方法,还包括将时间戳、事件类型、物理地址和GUTID(每个地址的全局通用事务ID)存储在一个或多个缓冲器中。
12.如权利要求10所述的方法,其中存储的数据对应于物理地址的编程集。
13.如权利要求10所述的方法,其中所述故障对应于如下中的一个:全局和暂时故障、系统或群集一致性故障、硅后调试期间的数据不一致故障。
14.如权利要求10所述的方法,还包括将每个物理地址的所有者、每个所述物理地址的事务类型或每个所述物理地址的GUTID存储在存储器中。
15.一种计算系统,包括:
第一处理器,其包括第一调试控制器,其中所述第一调试控制器检测与故障对应的事件;以及
储存设备,其与所述第一调试控制器耦合,用于存储与所述计算系统中的其它调试控制器对应的数据,
其中所述第一调试控制器基于存储的数据将与所述事件对应的数据发送到第二处理器的第二调试控制器。
16.如权利要求15所述的系统,其中所述第一调试控制器或第二调试控制器包括多个缓冲器,其中每个缓冲器用于存储时间戳、事件类型、物理地址和GUTID(每个地址的全局通用事务ID)。
17.如权利要求16所述的系统,其中所述GUTID对应于选自包括如下元素的组的唯一事务标识符:请求者源节点ID(RSNID)、请求者事务ID(RTID)和目的地节点ID(DNID)。
18.如权利要求15所述的系统,其中存储的数据对应于物理地址的编程集。
19.如权利要求15所述的系统,还包括与所述第一处理器耦合的音频设备。
20.如权利要求15所述的系统,其中所述第一处理器或第二处理器中的至少一个包括一个或多个处理器核心。
CN201180061568.9A 2010-12-22 2011-12-19 调试复杂多核和多插座系统 Active CN103270504B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3070/DEL/2010 2010-12-22
IN3070DE2010 2010-12-22
PCT/US2011/065764 WO2012087894A2 (en) 2010-12-22 2011-12-19 Debugging complex multi-core and multi-socket systems

Publications (2)

Publication Number Publication Date
CN103270504A true CN103270504A (zh) 2013-08-28
CN103270504B CN103270504B (zh) 2016-05-25

Family

ID=46314796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180061568.9A Active CN103270504B (zh) 2010-12-22 2011-12-19 调试复杂多核和多插座系统

Country Status (5)

Country Link
US (1) US8782468B2 (zh)
EP (1) EP2656227A2 (zh)
KR (1) KR101498452B1 (zh)
CN (1) CN103270504B (zh)
WO (1) WO2012087894A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2656227A2 (en) 2010-12-22 2013-10-30 Intel Corporation Debugging complex multi-core and multi-socket systems
US9336100B2 (en) 2013-12-27 2016-05-10 International Business Machines Corporation Efficient debugging of memory miscompare failures in post-silicon validation
US9569345B2 (en) 2013-12-27 2017-02-14 International Business Machines Corporation Architectural failure analysis
US9251045B2 (en) 2013-12-27 2016-02-02 International Business Machines Corporation Control flow error localization
US9582388B2 (en) * 2014-10-03 2017-02-28 Globalfoundries Inc. Dynamic multi-purpose external access points connected to core interfaces within a system on chip (SOC)
CN104615564A (zh) * 2015-02-05 2015-05-13 浪潮电子信息产业股份有限公司 一种基于qpi总线的数据传输方法及计算机系统
US9626265B2 (en) 2015-06-29 2017-04-18 International Business Machines Corporation Efficiency of cycle-reproducible debug processes in a multi-core environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059286A1 (en) * 2004-09-10 2006-03-16 Cavium Networks Multi-core debugger
CN101208667A (zh) * 2005-06-22 2008-06-25 日本电气株式会社 调试系统、调试方法及程序
US20080209176A1 (en) * 2007-02-28 2008-08-28 Advanced Micro Devices, Inc. Time stamping transactions to validate atomic operations in multiprocessor systems
CN101322104A (zh) * 2005-12-30 2008-12-10 英特尔公司 多处理器系统中的故障恢复引导

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232135A (ja) * 1998-02-10 1999-08-27 Mitsubishi Electric Corp 半導体装置
DE10036278A1 (de) * 2000-07-26 2002-02-07 Bosch Gmbh Robert Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik
KR100619960B1 (ko) 2004-11-22 2006-09-08 엘지전자 주식회사 인터넷을 통한 디버깅 장치의 원격 제어 장치 및 방법
US7536597B2 (en) * 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
US20070300115A1 (en) * 2006-06-01 2007-12-27 Ramyanshu Datta Apparatus and method for accelerating test, debug and failure analysis of a multiprocessor device
EP2656227A2 (en) 2010-12-22 2013-10-30 Intel Corporation Debugging complex multi-core and multi-socket systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059286A1 (en) * 2004-09-10 2006-03-16 Cavium Networks Multi-core debugger
CN101208667A (zh) * 2005-06-22 2008-06-25 日本电气株式会社 调试系统、调试方法及程序
CN101322104A (zh) * 2005-12-30 2008-12-10 英特尔公司 多处理器系统中的故障恢复引导
US20080209176A1 (en) * 2007-02-28 2008-08-28 Advanced Micro Devices, Inc. Time stamping transactions to validate atomic operations in multiprocessor systems

Also Published As

Publication number Publication date
CN103270504B (zh) 2016-05-25
KR20130095811A (ko) 2013-08-28
US20120166882A1 (en) 2012-06-28
KR101498452B1 (ko) 2015-03-04
EP2656227A2 (en) 2013-10-30
WO2012087894A3 (en) 2013-01-03
US8782468B2 (en) 2014-07-15
WO2012087894A2 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
CN103270504A (zh) 调试复杂多核和多插座系统
JP6202756B2 (ja) 支援型コヒーレント共有メモリ
JP5327484B2 (ja) 大容量/高帯域幅メモリデバイスを修復するための方法および装置
CN102033715B (zh) 在本地代理的存储器镜像和迁移
US20110238909A1 (en) Multicasting Write Requests To Multiple Storage Controllers
US9912474B2 (en) Performing telemetry, data gathering, and failure isolation using non-volatile memory
CN102326156B (zh) 基于空间要求目标报告的对mmio请求处理的投机改进
JP5209461B2 (ja) 集積回路内のデバイス間のデータ転送
US20130174224A1 (en) Information processing apparatus and unauthorized access prevention method
US9251077B2 (en) Accelerated recovery for snooped addresses in a coherent attached processor proxy
CN103907102B (zh) 管理管芯上的系统组织结构中的边带路由器
CN104303174A (zh) 通过处理器间互连来隧道传输平台管理消息
CN102033817A (zh) 归属代理数据和存储器管理
US9229868B2 (en) Data recovery for coherent attached processor proxy
CN103827776A (zh) 通过pci高速组件减少功耗的活动状态功率管理(aspm)
US9891981B2 (en) Information processing apparatus and switch failure detection method
US8495091B2 (en) Dynamically routing data responses directly to requesting processor core
WO2023129290A1 (en) Compliance and debug testing of a die-to-die interconnect
US20060212749A1 (en) Failure communication method
US11105854B2 (en) System, apparatus and method for inter-die functional testing of an integrated circuit
CN114880266B (zh) 故障处理的方法、装置、计算机设备和存储介质
CN113535611A (zh) 数据处理方法及装置、异构系统
CN110737618A (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质
CN103124962B (zh) 优化环协议和技术
CN108021476B (zh) 一种互联接口的测试方法、装置和计算设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant