多核处理器及其测试方法和装置的制作方法

文档序号:6205944阅读:171来源:国知局
专利名称:多核处理器及其测试方法和装置的制作方法
技术领域
本发明涉及多核处理器领域,具体而言,涉及一种多核处理器及其测试方法和装置。
背景技术
多核处理器现在已成为工业界的一个发展趋势,复杂高速的多核处理器芯片给测试带来控制、功耗等各方面的挑战。首先在测试控制方面,并行测试方式(B卩,对处理器的各内核同时发送测试信号)面临庞大的测试控制信号互联问题。由于工艺生产的限制,单个多核处理器上的I/o引脚数目,不能随着这个芯片内所集成的晶体管数目同比例的增长。以工艺特征尺寸分别为180纳米和35纳米的两种芯片进行对比,其中,芯片内集成的晶体管数目的增加比率达到了芯片上信号引脚数目增加比率的45倍。而对于一个芯片而言,其上能够作为测试用的引脚是有限的,假如一个芯片有10个引脚可作为测试用,对这个芯片内每个核测试时,需要8个引脚观测内部的测试状态,则在这个芯片为4核处理器时,需要4个控制信号对4个内核进行使能,对于此种情况,剩余的2个引脚还足以译码产生4个控制信号;但是,在这个芯片为8核处理器或更多内核的情况下,剩余的2个引脚就不足以产生8个或更多的控制信号来使能,出现引脚资源短缺。即,采用测试信号与控制信号互联,对多核处理器的各内核进行并行测试的方式,会随着处理器内核的增加出现测试资源的缺乏,并且此种测试方式还会产生非常高的测试功耗。为了减少测试功耗,提出了一种分模块测试(B卩,对处理器的各内核进行分组测试)的方法,使得每一组并行运行的逻辑单元消耗的功耗不超过芯片所能承受的最大功耗;在分模块测试中,需要对测试内核进行使能,以及对非测试内核进行关断,已有的一种以英特尔安腾处理器系列为例进行说明的多核处理器测试方案中,提出了一种基于“T-Ring”结构的DFX(X includes test and debug,为测试和调试所进行的设计)的访问架构。在这种架构中,实现了基于IEEE 1149.1TAP (Test Access Points,测试接入点,简称TAP)控制器的中央测试控制装置来实现芯片级的测试控制,同时每一个核都有核级的IEEE 1149.1TAP控制器来实现对核的测试控制。中央控制装置的TAP和8个核级的TAP以一种用户可配置的方式组成一个TAP环,可以访问核外和核内的TAP特征,并且可以关断不需要测试的内核。此种基于“T-Ring”结构的测试方案具有两个特点:第一,所有核外和核内的寄存器都是同样长度(8比特);第二,除了标准的指令,核外和核内的控制指令使用不相交的指令空间(即,即核内的指令与核外的中央控制装置的指令完全不同),其中,所谓标准的指令包括旁路(BYPASS)指令,访问芯片身份识别寄存器(IDCODE)指令等。但是,对于一个多核处理器而言,因为核内的控制相对核外的控制而言,核内控制通常比较简单,现有技术方案中,核外和核内的寄存器长度相等会造成核内空间的浪费,并且由于二者使用不同的指令空间,在对处理器核进行测试时,需要通过复杂的电路布置与核外控制进行测试信号以及测试数据的交互,造成控制逻辑比较复杂。
针对相关技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,目前尚未提出有效的解决方案。

发明内容
本发明的主要目的在于提供一种多核处理器及其测试方法和装置,以解决现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题。为了实现上述目的,根据本发明的一个方面,提供了一种多核处理器的测试装置,多核处理器包括多个处理器核,测试装置包括:主控制模块和多个从控制模块,多个从控制模块依次串联,每个处理器核中均设置有一个从控制模块,每个从控制模块均与主控制模块相连接,其中,主控制模块用于生成使能信号和主测试信号,并向至少一个从控制模块发送使能信号,以及向初始输入端发送主测试信号,其中,初始输入端为串联后的多个从控制模块的测试输入端;多个从控制模块分别生成对所在的处理器核进行测试的从测试信号;接收到使能信号的至少一个从控制模块利用所生成的从测试信号和主测试信号对所在的处理器核进行测试。进一步地,主控制模块包括:主控制器;主指令寄存器,与主控制器相连接;以及多个主数据寄存器,均与主控制器和主指令寄存器相连接,其中,主指令寄存器用于选通多个主数据寄存器中的主数据寄存器,被选通的主数据寄存器在主控制器的控制下产生使能信号或主测试信号。进一步地,多个主数据寄存器包括用于产生使能信号的内核使能数据寄存器,内核使能数据寄存器的比特位数等于多核处理器内处理器核的个数,其中,主控制模块通过以下方式向至少一个从控制模块发送使能信号:主控制器配置内核使能数据寄存器中每个比特位的逻辑值;以及主控制器控制内核使能数据寄存器将每个比特位的逻辑值对应输出至多个从控制模块,其中,一个从控制模块接收一个比特位的逻辑值,使能信号为逻辑I。进一步地,主指令寄存器包括第一移位电路,用于在主控器的控制下对编码数据进行移位产生第一选通指令,其中,编码数据来自外部测试仪或多核处理器所处的系统主机,第一移位电路对编码数据移位进不同的序列,产生不同第一选通指令,选通不同主数据寄存器。进一步地,每个从控制模块均包括:从控制器;从指令寄存器,与从控制器相连接;第一从数据寄存器,与从控制器和从指令寄存器分别相连接,其中,第一从数据寄存器中存储有模式配置值,第一从数据寄存器用于在被从指令寄存器选通的情况下产生从测试信号,或在未被从指令寄存器选通的情况下输出模式配置值;以及多个第二从数据寄存器,均与从控制器、从指令寄存器和第一从数据寄存器相连接,其中,与模式配置值对应的第二从数据寄存器用于在从控制器的控制下产生从测试信号。为了实现上述目的,根据本发明的另一方面,提供了一种多核处理器,该多核处理器包括本发明上述内容所提供的任一种多核处理器的测试装置。为了实现上述目的,根据本发明的另一方面,提供了一种多核处理器的测试方法,多核处理器包括多个处理器核、主控制模块和多个从控制模块,多个从控制模块依次串联,每个处理器核中均设置有一个从控制模块,每个从控制模块均与主控制模块相连接,主控制模块用于生成使能信号和主测试信号,多个从控制模块分别生成对所在的处理器核进行测试的从测试信号,测试方法包括:主控制模块向至少一个从控制模块发送使能信号,以及向初始输入端发送主测试信号,初始输入端为串联后的多个从控制模块的测试输入端;以及接收到使能信号的至少一个从控制模块利用所生成的从测试信号和主测试信号对所在的处理器核进行测试。进一步地,主控制模块包括主控制器、主指令寄存器和多个主数据寄存器,其中,主控制模块通过以下方式生成使能信号和主测试信号:主控制器控制主指令寄存器选通多个主数据寄存器中的主数据寄存器;以及主控制器控制被选通的主数据寄存器产生使能信号或主测试信号。进一步地,多个主数据寄存器包括用于产生使能信号的内核使能数据寄存器,内核使能数据寄存器的比特位数等于多核处理器内处理器核的个数,主控制模块通过以下方式向至少一个从控制模块发送使能信号:主控制器配置内核使能数据寄存器中每个比特位的逻辑值;以及主控制器控制内核使能数据寄存器将每个比特位的逻辑值对应输出至多个从控制模块,其中,一个从控制模块接收一个比特位的逻辑值,使能信号为逻辑I。进一步地,从控制模块包括从控制器、从指令控制器、第一从数据寄存器和多个第二从数据寄存器,其中,从控制模块通过以下方式产生从测试信号:从控制器控制从指令寄存器选通第一从数据寄存器,或选通多个第二从数据寄存器中的第二从数据寄存器;若第一从数据寄存器被选通,则从控制器控制第一从数据寄存器产生从测试信号;若第一从数据寄存器未被选通,则第一从数据寄存器输出模式配置值;以及从控制器控制与模式配置值相对应的第二从数据寄存器产生从测试信号。通过本发明,采用包括以下结构的多核处理器的测试装置:主控制模块和多个从控制模块,多个从控制模块依次串联,并分别设置于多个处理器核中,每个从控制模块均与主控制模块相连接,其中,主控制模块用于生成使能信号和主测试信号,并向至少一个从控制模块发送使能信号,以及向初始输入端发送主测试信号,初始输入端为串联后的多个从控制模块的测试输入端;多个从控制模块分别生成对多个处理器核进行测试的从测试信号;接收到使能信号的至少一个从控制模块利用所生成的从测试信号和主测试信号对所在的处理器核进行测试。通过在多核处理器中设置主控制模块,用来产生使能信号和主测试信号,同时,在各个处理器核中分别设置从控制模块,用来产生从测试信号,实现了当需要对某个处理器核进行测试时,可以由使能信号对这个处理器核内的从控制模块进行使能,然后利用主测试信号和由这个处理器核内的从控制模块产生的从测试信号对这个处理器核进行测试;当需要对某几个处理器核进行测试时,可以由使能信号对这几个处理器核内的从控制模块均进行使能,然后针对具体的处理器核,具体利用由这些处理器核内的从控制模块产生的从测试信号和来自主控制模块的主测试信号对这些处理器核进行测试。通过由主控制模块产生能够用来对各个处理器核的共有特性进行测试的主测试信号,由具体处理器核内的从控制模块产生针对该处理器核特有特性进行测试的从测试信号,在对处理器核进行测试时,由于从控制模块可以产生用于测试的从测试信号,无需从主控制模块处获取很多测试信号,来对处理器核的所有特性进行测试,从而避免需要通过复杂的电路布置来支持测试信号的调用,解决了现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,进而达到了简化多核处理器结构的效果。


构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的测试装置的示意图;图2是根据本发明实施例的测试装置中主控制模块的示意图;图3是根据本发明实施例的测试装置中从控制模块的示意图;图4是根据本发明实施例的测试装置的另一示意图;以及图5是根据本发明实施例的测试方法的流程图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。本发明实施例提供了一种多核处理器的测试装置,以下对本发明实施例所提供的多核处理器的测试装置进行具体介绍:图1是根据本发明实施例的多核处理器的测试装置的示意图,如图1所示,本发明实施例的多核处理器的测试装置包括主控制模块10和多个从控制模块31至3η,多个从控制模块31至3η依次串联,并分别设置于多个处理器核21至2η中,每个从控制模块均与主控制模块相连接,即,每个处理器核中均设置一个从控制模块,第一从控制模块31设置在第一处理器核21中,并与主控制模块10相连接;第二从控制模块32设置在第二处理器核22中,并与主控制模块10相连接;以此类推,第η从控制模块3η设置在第η处理器核2η中,并与主控制模块10相连接,其中,η的取值等于多核处理器中处理器核的个数。在对多核处理器中的处理器核进行测试时,主控制模块10生成使能信号和主测试信号,并向至少一个从控制模块发送使能信号,以及向初始输入端^发送主测试信号,所谓初始输入端为串联后的多个从控制模块的测试输入端;多个从控制模块分别生成对多个处理器核进行测试的从测试信号,即,第一从控制模块31生成对第一处理器核21进行测试的从测试信号;第二从控制模块32生成对第二处理器核22进行测试的从测试信号;第η从控制模块3η生成对第η处理器核2η进行测试的从测试信号;接收到使能信号的从控制模块则利用自身生成的从测试信号和来自主控制模块的主测试信号对所处的处理器核进行测试,假设第一从控制模块31和第η从控制模块3η接收到了使能信号,则第一从控制模块31利用主测试信号和第一从测试信号对第一处理器核21进行测试,第η从控制模块3η利用主测试信号和第η从测试信号对第η处理器核2η进行测试,其中,第一处理器核为第一从控制模块31所处的处理器核,第一从测试信号为第一从控制模块31产生的测试信号,第η处理器核为第η从控制模块3η所处的处理器核,第η从测试信号为第η从控制模块3η产生的测试信号。本发明实施例通过在多核处理器中设置主控制模块,用来产生使能信号和主测试信号,同时,在各个处理器核中分别设置从控制模块,用来产生从测试信号,实现了当需要对某个处理器核进行测试时,可以由使能信号对这个处理器核内的从控制模块进行使能,然后利用主测试信号和由这个处理器核内的从控制模块产生的从测试信号对这个处理器核进行测试;当需要对某几个处理器核进行测试时,可以由使能信号对这几个处理器核内的从控制模块均进行使能,然后针对具体的处理器核,具体利用由这些处理器核内的从控制模块产生的从测试信号和来自主控制模块的主测试信号对这些处理器核进行测试。通过主控制模块产生能够用来对各个处理器核的共有特性进行测试的主测试信号,由具体处理器核内的从控制模块产生针对该处理器核特有特性进行测试的从测试信号,在对处理器核进行测试时,由于从控制模块可以产生用于测试的从测试信号,无需从主控制模块处获取很多测试信号,来对处理器核的所有特性进行测试,从而避免需要通过复杂的电路布置来支持测试信号的调用,解决了现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,进而达到了简化多核处理器结构的效果。具体地,图2是根据本发明实施例的测试装置中主控制模块的结构示意图,如图2所示,主控制模块10主要包括主控制器、主指令寄存器、多个主数据寄存器、第一多路选择器和第二多路选择器,以及直接输入部件,其中,主指令寄存器和多个主数据寄存器均与主控制器相连接,多个主数据寄存器还均与第一多路选择器相连接,主指令寄存器的并行输出连接至第一多路选择器的选通端,主指令寄存器的串行输出连接至第二多路选择器的输入,第一多路选择器的输出连接至第二多路选择器的输入,第二多路选择器的选通端与主控制器相连接(图中未示出),直接输入部件将从串行数据输入端TDI传送过来的编码数据输出到主指令寄存器和各个主数据寄存器上,编码数据是对处理器核进行测试时使用的各种指令数据,以下具体说明主控制模块中各个结构组成的作用和工作原理:主控制器在测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST的控制下,产生作用于主控制模块中各个寄存器的指令寄存器控制信号和数据寄存器控制信号,来控制主指令寄存器和多个主数据寄存器对从串行数据输入端TDI传送过来的编码数据进行处理,其中,编码数据、测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST均来自外部测试仪或多核处理器所处的系统主机,主控制器产生的指令寄存器控制信号包括:指令寄存器捕获信号、指令寄存器移位信号和指令寄存器更新信号,指令寄存器捕获信号控制主指令寄存器将特定的序列捕获到主指令寄存器中,该特定的序列一般是主指令寄存器的初始值,指令寄存器移位信号控制主指令寄存器对由TDI传送来的测试指令进行移位,指令寄存器更新信号控制主指令寄存器将移位完成的新的指令更新到主指令寄存器中;主控制器产生的数据寄存器控制信号包括:数据寄存器捕获信号、数据寄存器移位信号和数据寄存器更新信号,数据寄存器捕获信号控制主数据寄存器将特定的逻辑序列捕获到主数据寄存器中,此处所谓的特定的逻辑序列一般是主数据寄存器的并行初始值,数据寄存器移位信号控制主数据寄存器对由TDI传送过来的测试数据进行移位,数据寄存器更新信号用于将移位完成的测试数据更新到主数据寄存器中。产生主测试信号的原理为:主指令寄存器在主控制器的控制下对编码数据进行移位,产生第一选通指令,该第一选通指令用于选通多个主数据寄存器中的一个主数据寄存器,其中,主指令寄存器包括移位电路(以下称作第一移位电路),主控制器通过控制第一移位电路对编码数据进行移位来产生第一选通指令,如果控制第一移位电路对编码数据移位进不同的序列,则产生不同的第一选通指令,相应地选通不同的主数据寄存器,若选通的主数据寄存器是具有使能功能的内核使能数据寄存器,则进一步由主控制器控制内核使能数据寄存器产生使能信号,其中,主控制器对内核使能数据寄存器进行比特位逻辑配置不同,产生不同的使能信号,举例说明,假如内核使能数据寄存器为4bit位,若配置其输出信号为0010,则相当于产生与第3比特位相对应的内核的使能信号;若选通的主数据寄存器是非内核使能数据寄存器,则进一步由主控制器控制该选通的数据寄存器产生主测试信号。具体地,若主控制器在TCK和TMS的控制下,产生指令寄存器控制信号。具体地,通过指令寄存器捕获信号控制主指令寄存器捕获特定的逻辑序列;通过指令寄存器移位信号控制主指令寄存器对TDI端传送过来的测试指令进行移位后;通过指令寄存器更新信号控制主指令寄存器将移位完成后的新的指令进行更新。当指令寄存器移位信号有效时,控制第二多路选择器选择主指令寄存器串行输出,经由TDO输出到芯片外,直至移位结束后,主指令寄存器中的值达到稳定状态,以便利用主指令寄存器中达到稳定状态的移位值来对主数据寄存器进行选择。若主控制器在TCK和TMS的控制下,产生数据寄存器控制信号,则数据寄存器控制信号控制数据寄存器经由第二多路选择器输出,具体是哪个数据寄存器输出,由主指令寄存器并行输出至第一多路选择器选通端的信号来决定,主指令寄存器通过移位不同的指令来选通不同的主数据寄存器,多个主数据寄存器包括对处理器核进行使能的主数据寄存器,这一数据寄存器的每一位对应一个处理器核,当这个具有核使能功能的主数据寄存器被选通后,可以根据从TDI接收到的具体测试指令来配置这个核使能数据寄存器,以使主控制模块下发使能信号至需要进行测试的处理器核中的从控制模块。在后续对这个使能的内核进行测试时,再通过主指令寄存器选通不同的主数据寄存器来向使能后的内核发送主测试信号,进行内核测试的主测试信号可以包括测试模式配置指令、EXTEST指令、IDCODE指令等,比如,当多个主数据寄存器中的测试模式配置数据寄存器被选通时,可以产生对内核进行测试模式配置的测试模式配置指令;当能够产生EXTEST指令的主数据寄存器被选通时,可以产生EXTEST指令,该指令称作外部测试指令,用于对内核的板级互联和外围电路进行测试;当能够产生IDCODE指令的主数据寄存器被选通时,可以产生IDCODE指令,该指令称作访问芯片身份识别寄存器的指令,用于对内核中的ID寄存器进行选通。图3是根据本发明实施例的测试装置中一个从控制模块的结构示意图,如图3所示,从控制模块主要包括从控制器、从指令寄存器、第一从数据寄存器、多个第二从数据寄存器、第三至第六多路选择器,以及直接输入部件,其中,从指令寄存器、第一从数据寄存器和多个第二从数据寄存器均与从控制器相连接,多个第二从数据寄存器还均与第三多路选择器相连接,第一从数据寄存器连接至第三多路选择器的选通端,并与第四多路选择器相连接,第四多路选择器还与第三多路选择器的输出相连接,从指令寄存器连接至第四多路选择器的选通端,并与第五多路选择器相连接,第五多路选择器还与第四多路选择器的输出相连接,第五多路选择器的选通端与从控制器相连接(图中未示出),第六多路选择器可以是一个两路选择器,它的一个输入用于连接第五多路选择器的输出,另一个输入用于连接串行数据输入端TDI,它的选通端接收来自主控制模块中的具有使能功能的主数据寄存器发送过来的使能信号TAP_SEL,以下具体说明从控制模块中各个结构组成的作用和工作原理:从控制器在测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST的控制下,产生作用于从控制模块中各个寄存器的指令寄存器控制信号和数据寄存器控制信号,来控制从指令寄存器、第一从数据寄存器和多个第二从数据寄存器对从串行数据输入端TDI传送过来的编码数据进行处理,其中,从控制器控制从指令寄存器将移入的测试模式配置指令更新到从指令寄存器中,该测试模式配置指令经从指令寄存器中的译码电路后产生用于选通第一从数据寄存器的选通信号;从控制器控制第一从数据寄存器对编码数据中的模式配置数据进行移位更新,并以模式配置数据的值为参数、通过第三多路选择器选通多个第二从数据寄存器中的某个第二从数据寄存器,不同模式配置数据的值选通不同的第二从数据寄存器,第二从数据寄存器中存储有在从控制器的控制下从编码数据中捕获到的测试控制信号数据,或测试状态观测信号数据。通过上述方式选通某个第二从数据寄存器后,由于这个的第二从数据寄存器在从控制器的控制下能够将从TDI接收到的测试指令并行输出产生从测试信号,并在测试结束后对测试状态进行捕获,得到测试状态数据,当其被选通后,可以在从控制器的控制下进行移位,将其内存储的数据串行移位,并经由TDO输出到芯片外观测。若第六多路选择器未接收到来自主控制模块的使能信号(即,TAP_SEL为逻辑0),则该从控制模块被旁路,相当于将该从控制模块的TDI端与TDO端直接接通,不对这个从控制模块进行测试;若第六多路选择器接收到来自主控制模块的使能信号(即,TAP_SEL为逻辑I ),则该从控制模块被选通,此种情况下由该从控制模块中的从控制器执行对该从控制模块所述处理器核的测试。具体地,若从控制器在TCK和TMS的控制下,产生指令寄存器控制信号,则指令寄存器控制信号控制从指令寄存器经由第五多路选择器输出,实现选通从指令寄存器串行输出;若从控制器在TCK和TMS的控制下,产生数据寄存器控制信号,则数据寄存器控制信号控制第一从数据寄存器或某个第二从数据寄存器经由第五多路选择器输出,实现选通第一从数据寄存器或某个第二从数据寄存器,具体是第一从数据寄存器还是某个第二从数据寄存器,由从指令寄存器的并行输出的指令值来决定,若从指令寄存器通过第四多路选择器选通第一从数据寄存器,则第一从数据寄存器进行串行移位,输出到TDO ;若从指令寄存器通过第四多路选择器选通第二从数据寄存器,则在第一从数据寄存器的选通下,确定出具体的第二从数据寄存器进行串行移位,输出到TD0。具体是哪个第二从数据寄存器,由第一从数据寄存器中的配置模式的值来决定。本发明实施例中,通过将第二从数据寄存器设置为由第一从数据寄存器中的配置来选通,将第一从数据寄存器设置为由从指令寄存器中的移位值来选通,此种通过二级选通的方式,可使得从指令寄存器的长度比较短,从而简化了从控制模块中的指令实现。基于以上原理,实现了在对某个处理器核进行测试时,只需由主控制模块处下发使能信号和一部分测试信号(即,主测试信号),设置在这个处理器核内的从控制模块利用自身产生的从测试信号和接收到的主测试信号,来对这个处理器核进行测试,该测试方式无需从主控制模块处获取很多测试信号,来对处理器核的所有特性进行测试,避免需要通过复杂的电路布置来支持测试信号的调用,达到了简化多核处理器结构的效果。在本发明实施例中,为了进一步简化测试逻辑,可以将从控制模块中的第二从数据寄存器设置为两类,一类是用来存储编码数据中的测试控制信号数据,一类是用来存储编码数据中的状态观测信号数据,其中,测试控制信号数据用来配置在某种特定的测试模式下,需要控制的测试相关的控制信号,状态观测信号数据用来存储在某种特定的测试模式下,需要观测的测试状态信号。优选地,在本发明实施例的测试装置中,可以将主数据寄存器中具有使能功能的内核使能数据寄存器的比特位的个数设置与多核处理器内处理器核的个数相等,比如,多核处理器为η核处理器,则将内核使能数据寄存器设置为η比特。
通过将主数据寄存器中内核使能数据寄存器的比特位的个数设置成与多核处理器的处理器核个数相等,避免了为主控制模块分配过多的寄存器空间所造成的处理器空间浪费,也避免了进行电路布置来支持这部分空间,进一步简化了多核处理器的结构。图4是根据本发明实施例的测试装置的另一示意图,该图中以四核处理器芯片为例,具体示出了主控制模块与各个处理器核中的从控制模块的连接关系,如图4所示:主控制模块和从控制模块均利用JTAG (Joint Test Action Group,联合测试行动小组)信号进行控制观测,即,主控制模块和从控制模块均包括:测试数据串行输入(TDI)端、测试模式选择(TMS)端、测试时钟(TCK)端、测试数据串行输出(TDO)端和测试复位信号(TRST)端。来自主控制模块中的内核使能寄存器的输出信号TAP_SEL通过逻辑器件与门后,接入从控制模块的TMS端,各个从控制模块的TMS端均通过与其相连接的与门Al接收输出信号TAP_SEL,该逻辑器件与门的另一输入端直接接收编码数据中的TMS信号;内核使能寄存器的输出信号TAP_SEL通过另一个逻辑器件与门后,接入TCK端,各个从控制模块的TCK端均通过与其相连接的与门A2接收输出信号TAP_SEL,编码数据中的TCK信号通过这个逻辑器件与门后,接入从控制模块的TCK端;内核使能寄存器的输出信号TAP_SEL还直接接入第六多路选择器A的选通端。当某个从控制模块接收到的使能信号为逻辑O时,相当于这个从控制模块被旁路;当某个从控制模块接收到的使能信号为逻辑I时,这个从控制模块通过与主控制模块相配合的方式,来对该从控制模块所处的处理器核进行测试,具体测试原理与上述相同,此处不再赘述。结合图2-4可以看出,主从控制模块中的指令寄存器是串联在一起的,哪个处理器核中的从控制模块接收到使能信号,处于这个处理器核中的从控制模块中的从指令寄存器就和主控制模块中的主指令寄存器串在一起。主从控制模块中数据寄存器的连接关系与二者中指令寄存器的连接关系有不同,当不需要对某个内核进行测试时,则无需对这个内核的从控制模块中的数据寄存器进行访问,可以发送TAP_SEL为逻辑O的信号至这个从控制模块,这样,可以设置主控制模块中进行移位输出以观测测试数据的主数据寄存器的长度为使能的从控制模块中数据寄存器的长度加上1,达到节省移位时间。在本发明实施例中,主从控制模块里的数据寄存器的个数可以任意扩展,实现有效的满足不同测试模式的控制信号配置。对内核进行具体测试时,首先由主控制模块发送核测试使能信号至从控制模块,接收到使能信号的从控制模块中的数据寄存器被选通,根据测试的需求相应地产生从测试信号。被选通的从控制模块还产生相应的指令给主控制器和选通的从控制模块中的指令寄存器,以选择对应的数据寄存器。最后在主控制模块中数据寄存器产生的主测试信号,和被选通的从控制模块中数据寄存器产生的从测试信号共同作用下,完成具体的内核测试。本发明实施例中提出的多核处理器的测试装置仅使用JTAG的五个信号即可完成对测试模式的控制和测试信号的观测,不需要再占用其他的输入输出信号,从而解决了测试管脚资源紧张的问题;同时这种主从结构可以灵活的使能和关断片内任意一个核的测试,有效的降低了测试功耗;另外这种测试控制结构可以灵活的扩展,当需要集成更多处理器核时只需要将相应的处理器核连入环上即可,能满足未来处理器结构灵活扩展的需求。而且采用这种结构,主从控制模块的指令可以独立设计,简化设计。本发明实施例还提供了一种多核处理器的测试方法,该实施例的测试方法主要采用本发明实施例上述内容所提供的测试装置进行,图5是根据本发明实施例的测试方法的流程图,如图5所示,该实施例的检测方法包括如下步骤S501和S503:S501:主控制模块向至少一个从控制模块发送使能信号,以及向初始输入端发送主测试信号,初始输入端为串联后的多个从控制模块的测试输入端;在本发明实施例中,多个从控制模块依次串联,并分别设置于多个处理器核中,每个从控制模块均与主控制模块相连接,主控制模块用于生成使能信号和主测试信号,多个从控制模块分别生成对多个处理器核进行测试的从测试信号,当需要对某个或某几个处理器核进行测试时,主控制模块则向这个或这几个处理器核中的从控制模块发送使能信号,并将主测试信号发送至初始输入端。S503:接收到使能信号的至少一个从控制模块利用所生成的从测试信号和主测试信号对所在的处理器核进行测试,即,接收到使能信号的从控制模块,利用自身产生的从测试信号和接收到的主测试信号,对这个从控制模块所处的处理器核进行测试。本发明实施例通过在多核处理器中设置主控制模块,用来产生使能信号和主测试信号,同时,在各个处理器核中分别设置从控制模块,用来产生从测试信号,实现了当需要对某个处理器核进行测试时,可以由使能信号对这个处理器核内的从控制模块进行使能,然后利用主测试信号和由这个处理器核内的从控制模块产生的从测试信号对这个处理器核进行测试;当需要对某几个处理器核进行测试时,可以由使能信号对这几个处理器核内的从控制模块均进行使能,然后针对具体的处理器核,具体利用由这些处理器核内的从控制模块产生的从测试信号和来自主控制模块的主测试信号对这些处理器核进行测试。通过由主控制模块产生能够用来对各个处理器核的共有特性进行测试的主测试信号,由具体处理器核内的从控制模块产生针对该处理器核特有特性进行测试的从测试信号,在对处理器核进行测试时,由于从控制模块可以产生用于测试的从测试信号,无需从主控制模块处获取很多测试信号,来对处理器核的所有特性进行测试,避免需要通过复杂的电路布置来支持测试信号的调用,解决了现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,进而达到了简化多核处理器结构的效果。具体地,主控制模块包括主控制器、主指令寄存器和多个主数据寄存器,其中,主控制模块通过以下方式生成使能信号和测试信号:主控制器接收测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST,并在TCK和TMS的作用下控制主指令寄存器和多个主数据寄存器对编码数据进行处理,其中,编码数据、测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST均来自外部测试仪或多核处理器所处的系统主机;主指令寄存器在主控制器的控制下对编码数据进行移位,产生第一选通指令,该第一选通指令用于选通多个主数据寄存器中的一个主数据寄存器,若选通的主数据寄存器是具有使能功能的内核使能数据寄存器,则进一步由主控制器控制内核使能数据寄存器产生使能信号,其中,主控制器对内核使能数据寄存器进行比特位逻辑配置不同,产生不同的使能信号,举例说明,假如内核使能数据寄存器为4bit位,若配置其输出信号为0010,则相当于产生与第3比特位相对应的内核的使能信号;若选通的主数据寄存器是非内核使能数据寄存器,则进一步由主控制器控制该选通的数据寄存器产生主测试信号,具体地,主要通过数据寄存器捕获信号控制主数据寄存器将特定的逻辑序列捕获到主数据寄存器中,通过数据寄存器移位信号控制主数据寄存器对由TDI传送过来的测试数据进行移位输出产生主测试信号,以及通过数据寄存器更新信号用于将移位完成的测试数据更新到主数据寄存器中。从控制模块包括从控制器、从指令控制器、第一从数据寄存器和多个第二从数据寄存器,其中,从控制模块通过以下方式产生从测试信号:从控制器接收测试时钟信号TCK、测试模式选择信号TMS以及测试系统复位信号TRST,并在TCK和TMS的作用下控制从指令寄存器、第一从数据寄存器和多个主数据寄存器对编码数据进行处理,从指令寄存器在从控制器的控制下对编码数据进行移位,产生第二选通指令,该第二选通指令用于选通第一从数据寄存器或某个第二从数据寄存器,若选通第一从数据寄存器,则进一步由从控制器控制第一从数据寄存器产生从测试信号,具体控制原理与上述主控制器控制主数据寄存器产生主测试信号的原理相同,此处不再赘述;若选通第二从数据寄存器,则根据第一从数据寄存器并行输出的模式配置值不同,选通不同的第二从数据寄存器;当某个第二从数据寄存器被选通后,进一步由从控制器控制这个被选通的第二从数据寄存器产生从测试信号,具体控制原理与上述主控制器控制主数据寄存器产生主测试信号的原理相同,此处不再赘述。此外,本发明实施例还提供了一种多核处理器,该多核处理器可以是任何包括本发明实施例上述内容所提供的任意一种测试装置的多核处理器,也可以是采用本发明实施例上述内容所提供的任意一种测试方法的多核处理器。从以上的描述中,可以看出,本发明解决了现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,达到了简化多核处理器结构的效果。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多核处理器的测试装置,所述多核处理器包括多个处理器核,其特征在于,所述测试装置包括:主控制模块和多个从控制模块,所述多个从控制模块依次串联,每个处理器核中均设置有一个从控制模块,每个从控制模块均与所述主控制模块相连接,其中, 所述主控制模块用于生成使能信号和主测试信号,并向至少一个从控制模块发送所述使能信号,以及向初始输入端发送所述主测试信号,其中,所述初始输入端为串联后的所述多个从控制模块的测试输入端; 所述多个从控制模块分别生成对所在的处理器核进行测试的从测试信号; 接收到所述使能信号的至少一个从控制模块利用所生成的从测试信号和所述主测试信号对所在的处理器核进行测试。
2.根据权利要求1所述的测试装置,其特征在于,所述主控制模块包括: 主控制器; 主指令寄存器,与所述主控制器相连接;以及 多个主数据寄存器,均与所述主控制器和所述主指令寄存器相连接,其中,所述主指令寄存器用于选通所述多个主数据寄存器中的主数据寄存器,被选通的主数据寄存器在所述主控制器的控制下产生所述使能信号或所述主测试信号。
3.根据权利要求2所述的测试装置,其特征在于,所述多个主数据寄存器包括用于产生所述使能信号的内核使能数据寄存器,所述内核使能数据寄存器的比特位数等于所述多核处理器内处理器核的个数,其中,所述主控制模块通过以下方式向至少一个从控制模块发送所述使能信号: 所述主控制器配置所述内核使能数据寄存器中每个比特位的逻辑值;以及 所述主控制器控制所述内核使能数据寄存器将每个比特位的逻辑值对应输出至所述多个从控制模块,其中,一个从控制模块接收一个比特位的逻辑值,所述使能信号为逻辑I。
4.根据权利要求2所述的测试装置,其特征在于,所述主指令寄存器包括第一移位电路,用于在所述主控器的控制下对编码数据进行移位产生第一选通指令,其中,所述编码数据来自外部测试仪或所述多核处理器所处的系统主机,所述第一移位电路对所述编码数据移位进不同的序列,产生不同第一选通指令,选通不同主数据寄存器。
5.根据权利要求1或2所述的测试装置,其特征在于,每个从控制模块均包括: 从控制器; 从指令寄存器,与所述从控制器相连接; 第一从数据寄存器,与所述从控制器和所述从指令寄存器分别相连接,其中,所述第一从数据寄存器中存储有模式配置值,所述第一从数据寄存器用于在被所述从指令寄存器选通的情况下产生所述从测试信号,或在未被所述从指令寄存器选通的情况下输出所述模式配置值;以及 多个第二从数据寄存器,均与所述从控制器、所述从指令寄存器和所述第一从数据寄存器相连接,其中,与所述模式配置值对应的第二从数据寄存器用于在所述从控制器的控制下产生所述从测试信号。
6.一种多核处理器,其特征在于,包括权利要求1至5中任一项所述的测试装置。
7.一种多核处理器的测试方法,其特征在于,所述多核处理器包括多个处理器核、主控制模块和多个从控制模块,所述多个从控制模块依次串联,每个处理器核中均设置有一个从控制模块,每个从控制模块均与所述主控制模块相连接,所述主控制模块用于生成使能信号和主测试信号,所述多个从控制模块分别生成对所在的处理器核进行测试的从测试信号,所述测试方法包括: 所述主控制模块向至少一个所述从控制模块发送所述使能信号,以及向初始输入端发送所述主测试信号,所述初始输入端为串联后的所述多个从控制模块的测试输入端;以及接收到所述使能信号的至少一个从控制模块利用所生成的从测试信号和所述主测试信号对所在的处理器核进行测试。
8.根据权利要求7所述的测试方法,其特征在于,所述主控制模块包括主控制器、主指令寄存器和多个主数据寄存器,其中,所述主控制模块通过以下方式生成所述使能信号和所述主测试信号: 所述主控制器控制所述主指令寄存器选通所述多个主数据寄存器中的主数据寄存器;以及 所述主控制器控制被选通的主数据寄存器产生所述使能信号或所述主测试信号。
9.根据权利要求8所述的测试方法,其特征在于,所述多个主数据寄存器包括用于产生所述使能信号的内核使能数据寄存器,所述内核使能数据寄存器的比特位数等于所述多核处理器内处理器核的个数,所述主控制模块通过以下方式向至少一个从控制模块发送所述使能信号: 所述主控制器配置所述内核使能数据寄存器中每个比特位的逻辑值;以及所述主控制器控制所述内核使能数据寄存器将每个比特位的逻辑值对应输出至所述多个从控制模块,其中,一个从控制模块接收一个比特位的逻辑值,所述使能信号为逻辑I。
10.根据权利 要求7或8所述的测试方法,其特征在于,所述从控制模块包括从控制器、从指令控制器、第一从数据寄存器和多个第二从数据寄存器,其中,所述从控制模块通过以下方式产生所述从测试信号: 所述从控制器控制所述从指令寄存器选通所述第一从数据寄存器,或选通所述多个第二从数据寄存器中的第二从数据寄存器; 若所述第一从数据寄存器被选通,则所述从控制器控制所述第一从数据寄存器产生所述从测试信号; 若所述第一从数据寄存器未被选通,则所述第一从数据寄存器输出模式配置值;以及 所述从控制器控制与所述模式配置值相对应的所述第二从数据寄存器产生所述从测试信号。
全文摘要
本发明公开了一种多核处理器及其测试方法和装置。其中,多核处理器的测试装置包括主控制模块和多个从控制模块,多个从控制模块依次串联,每个处理器核中均设置有一个从控制模块,每个从控制模块均与主控制模块相连接,其中,主控制模块用于生成使能信号和主测试信号,并向至少一个从控制模块发送使能信号,以及向初始输入端发送主测试信号;多个从控制模块分别生成对所在的处理器核进行测试的从测试信号;接收到使能信号的至少一个从控制模块利用所生成的从测试信号和主测试信号对所在的处理器核进行测试。通过本发明,解决了现有技术中多核处理器的测试方案存在控制逻辑比较复杂的问题,进而达到了简化多核处理器结构的效果。
文档编号G01R31/317GK103149529SQ20131007420
公开日2013年6月12日 申请日期2013年3月8日 优先权日2013年3月8日
发明者王琳, 齐子初, 胡伟武 申请人:龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1