信息处理装置.pdf

上传人:111****11 文档编号:971745 上传时间:2018-03-22 格式:PDF 页数:31 大小:1.35MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910134041.9

申请日:

2009.04.08

公开号:

CN101556558A

公开日:

2009.10.14

当前法律状态:

终止

有效性:

无权

法律详情:

专利权的视为放弃IPC(主分类):G06F 12/08放弃生效日:20091014|||专利申请权的转移IPC(主分类):G06F 12/08变更事项:申请人变更前权利人:株式会社瑞萨科技变更后权利人:恩益禧电子股份有限公司变更事项:地址变更前权利人:日本东京变更后权利人:日本神奈川登记生效日:20100906|||实质审查的生效|||公开

IPC分类号:

G06F12/08

主分类号:

G06F12/08

申请人:

株式会社瑞萨科技

发明人:

高田雅士

地址:

日本东京

优先权:

2008.4.8 JP 2008-100121

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

许海兰

PDF下载: PDF下载
内容摘要

本发明的目的在于,提供具有通过控制窥探处理而高效率地调试并行处理的程序之功能的信息处理装置。构成为可用控制窥探处理的窥探控制器(60)设定对来自中央处理器的窥探请求的受理,通过窥探请求的受理,调试控制器(90)可使多个中央处理器(10、20、30、40)停止。

权利要求书

1.  一种信息处理装置,其特征在于,具备:
第1处理装置;
第2处理装置;
具有设定有中断条件的中断条件寄存器的调试控制器;以及
具有设定有屏蔽条件的窥探屏蔽寄存器的窥探控制器,
所述调试控制器监视所述第1处理装置执行的程序,在所述程序的状态与所述中断条件相符时,使所述第1处理装置停止所述程序的执行,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述窥探控制器不受理来自所述第2处理装置的窥探请求。

2.
  如权利要求1所述的信息处理装置,其特征在于,
在所述程序的状态与所述中断条件相符时,所述调试控制器使所述第2处理装置停止程序的执行。

3.
  如权利要求1所述的信息处理装置,其特征在于,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述调试控制器使所述第1处理装置停止程序的执行。

4.
  如权利要求1所述的信息处理装置,其特征在于,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述调试控制器使所述第2处理装置停止程序的执行。

5.
  一种信息处理装置,其特征在于,具备:
多个处理装置;
具有设定有中断条件的中断条件寄存器的调试控制器;以及
具有设定有屏蔽条件的窥探屏蔽寄存器的窥探控制器,
所述调试控制器监视所述处理装置执行的程序,在所述处理装置之一即第1处理装置执行的程序的状态与所述中断条件相符时,使所述第1处理装置停止所述程序的执行,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述窥探控制器不受理来自所述第1处理装置以外的所述处理装置的窥探请求。

6.
  如权利要求5所述的信息处理装置,其特征在于,
在所述第1处理装置执行的所述程序的状态与所述中断条件相符时,所述调试控制器使所述第1处理装置以外的所述处理装置停止程序的执行。

7.
  如权利要求5所述的信息处理装置,其特征在于,
在所述第1处理装置对所述窥探控制器提出的所述窥探请求与所述屏蔽条件相符时,所述调试控制器使所述第1处理装置以外的所述处理装置停止程序的执行。

8.
  如权利要求1所述的信息处理装置,其特征在于,
设定程序计数器的值和写数据中的至少一个,作为所述中断条件。

9.
  如权利要求1所述的信息处理装置,其特征在于,
设定所述窥探请求所包含的指令、地址、写数据中的至少一个,作为所述屏蔽条件。

10.
  一种调试方法,其特征在于,
调试控制器监视第1处理装置执行的程序,在所述程序的状态与设定在所述调试控制器内的中断条件寄存器中的中断条件相符时,使所述第1处理装置停止所述程序的执行,
在所述第1处理装置对所述窥探控制器提出的窥探请求与设定在所述窥探控制器内的窥探屏蔽寄存器中的屏蔽条件相符时,使所述窥探控制器不受理来自所述第2处理装置的窥探请求。

11.
  如权利要求10所述的调试方法,其特征在于,
在所述程序的状态与所述中断条件相符时,所述调试控制器使所述第2处理装置停止程序的执行。

12.
  如权利要求10所述的调试方法,其特征在于,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述调试控制器使所述第1处理装置停止程序的执行。

13.
  如权利要求10所述的调试方法,其特征在于,
在所述第1处理装置对所述窥探控制器提出的窥探请求与所述屏蔽条件相符时,所述调试控制器使所述第2处理装置停止程序的执行。

14.
  如权利要求10所述的调试方法,其特征在于,
设定程序计数器的值和写数据中的至少一个,作为所述中断条件。

15.
  如权利要求10所述的调试方法,其特征在于,
设定所述窥探请求所包含的指令、地址、写数据中的至少一个,作为所述屏蔽条件。

16.
  如权利要求5所述的信息处理装置,其特征在于,
设定所述窥探请求所包含的指令、地址、写数据中的至少一个,作为所述屏蔽条件。

说明书

信息处理装置
技术领域
本发明涉及信息处理装置中的窥探处理。
背景技术
近年来,处理器中搭载多个CPU的多核已成为PC或机内设备中的主流体系结构。传统技术中,CPU的性能提高之达成有赖于工艺微细化导致的尺寸缩减和流水线级数的加深,使工作频率加快。但是,从130-90nm工艺开始基于工艺微细化的尺寸缩减的进展停滞了,且工作频率加快后工作时的泄漏功率就会变得非常大,由于冷却成本、电池寿命的制约而难以应用。多核技术是解决该问题的技术之一。由于多核方式是通过多个CPU的并行处理来使性能提高,无需提高工作频率,可抑制功耗的增加。
为了高效率地进行基于多核的并行处理,需要维持高速缓存一致性。通常,CPU设有将命令和数据存取高速化的高速缓存。由于CPU对高速缓存的写入是局部地进行的,最新数据往往不在存储器中,而只存在于高速缓存中。CPU之间实现数据共享,但在不能直接参考写入其他CPU的高速缓存的最新数据时,就需要对适当的CPU执行中断,将最新数据写回存储器后再改写高速缓存。这会招致大的性能降低。因而,在多核中,重要的是能够直接参考其他CPU的高速缓存中写入的最新数据(=维持高速缓存一致性)。
作为用以维持高速缓存一致性的协议,公知的有MESI协议和MOESI协议。用这些协议定义窥探处理。所谓窥探处理,是指某个CPU更新高速缓存时根据需要向其他CPU请求,而接到请求的CPU更新自身的高速缓存并返回应答的一系列的处理。
为了在基于多核的并行处理中在CPU之间共享数据,要执行许多窥探处理。这使得程序调试非常困难。通常,为了程序调试而设定断点来使CPU停止,确认高速缓存、寄存器、存储器的值并指定出错的原因。但是,多核中,即使让某个CPU停止也会有另一CPU上运行的程序将这些值更新。专利文献1中记载有作为该问题对策的传统技术。根据该专利文献1,断点异常时可选择仅使发生异常的CPU停止或使全部CPU停止。通过使全部CPU停止,能够防止高速缓存、寄存器、存储器的值之后又被更新。
【专利文献1】特开平6-332747号公报
在根据某个CPU上发生的断点异常而使其他CPU停止时,需要数个周期至数十个周期左右,并不能使之立即停止。该周期数依赖于CPU和调试控制器的安装,但一般规律是工作频率越高所需周期数就越多。若在该期间执行了许多窥探处理,则即使在程序中设断点来使某个CPU停止,来自其他CPU的窥探也会将高速缓存的状态更新。而且,在该CPU停止后,即使在高速缓存中发现了错误结果,也难以确定错误是在那个时刻混入的。因此,最好能提供与信息处理装置中的窥探处理有关的、用以高效率地进行程序调试的技术。
发明内容
鉴于上述各点,本发明的课题是提供具有通过使设定的CPU以外的窥探处理等待执行来高效率地调试多核中的并行处理的程序之功能的信息处理装置。
以下,就本申请中公开的发明中的典型装置作概要说明。本发明的信息处理装置构成为,设有:具有使数据存取高速化的高速缓存的多个CPU;可对上述多个CPU进行存取的数据存储器;具有将上述各CPU的高速缓存数据的一部分复制并存储的高速缓存的窥探控制器;以及程序调试用的调试控制器,上述多个CPU执行用以维持高速缓存一致性的窥探请求和窥探处理,上述窥探控制器为维持高速缓存一致性而受理上述来自多个CPU的窥探请求,并确定需要窥探处理的CPU以执行窥探请求。
本发明的效果是,能够提供具有通过使设定的CPU以外的窥探处理等待执行来高效率地调试多核中的并行处理的程序之功能的信息处理装置。
附图说明
图1是本发明实施例的信息处理装置的框图。
图2是窥探控制器(SNC)的详细示图。
图3是窥探控制器(SNC)内的复制地址阵列(DAA)的详细示图。
图4是调试控制器(DBG)的详细示图。
图5表示窥探处理中的信号收发。
图6表示维持高速缓存一致性的MESI协议。
图7是窥探控制器(SNC)内的窥探屏蔽寄存器62(SMR)的详细示图。
图8表示窥探屏蔽寄存器(SMR)中设定的屏蔽条件。
图9是窥探控制器(SNC)内的窥探释放寄存器(SSR)的详细示图。
图10是窥探控制器(SNC)内的条件一致通知寄存器(MNR)的详细示图。
图11是调试模块(DBG)内的中断条件寄存器(BCR)的详细示图。
图12表示中断条件寄存器(BCR)中设定的中断条件。
图13是调试控制器(DBG)内的调试状态寄存器(DSR)的详细示图。
图14是表示本发明的实施例中的调试流程的流程图。
图15表示图14中各模块的处理流程。
图16表示调试时的环境。
图17是不使用本发明的实施例的同时中断的执行时序图。
图18是使用本发明的实施例的同时中断的执行时序图。
1:IC芯片
10、20、30、40:中央处理器(CPU)
11、21、31、41:高速缓存(CACHE)
50:窥探总线
60:窥探控制器(SNC)
61:复制地址阵列(DAA)
62:窥探屏蔽寄存器(SMR)
63:窥探释放寄存器(SRR)
64:条件一致通知寄存器(MNR)
70:总线
80:共用存储器(MEM)
90:调试控制器(DBG)
130:仿真器
140:开发用板
150:开发环境
160:调试器
具体实施方式
《实施例》
以下,参照附图就本发明的信息处理装置的优选实施例进行说明。构成实施例的各方框内的电路元件采用公知的CMOS(互补型MOS晶体管)和双极型晶体管等的半导体集成电路技术,在如单晶硅那样的单个半导体衬底上形成,并无特别限制。
图1表示基于本发明的信息处理装置的多核系统的实施例。该多核系统集成在IC芯片1上,由中央处理器10、20、30、40(CPU)、窥探总线50、窥探控制器60(SNC:Snoop Controller)、总线70、共用存储器80(MEM)、调试控制器90(DBG)等构成。
中央处理器10、20、30、40(CPU)是读取、解释共用存储器80(MEM)上某个程序,并根据其结果执行数据的移动、算术运算、逻辑运算等的通用电路。中央处理器10、20、30、40(CPU)分别设有高速缓存11、21、31、41(CACHE)。高速缓存用来保存有效位、脏位、共用位、标记、数据。有效位、脏位、共用位分别表示缓存条目是否有效、是否写入、是否共用其他中央处理器的高速缓存和数据。通过这3个位表示MESI协议中的各高速缓存状态。标记是物理地址的一部分,用于缓存命中判定。再有,MESI协议将参照图6后述。
窥探总线50是使中央处理器10、20、30、40(CPU)和窥探控制器60(SNC)之间的窥探处理高速化的专用总线。连接中央处理器10、20、30、40(CPU)、共用存储器80(MEM)等的总线70独立地进行数据的交换,因此不妨碍与存储器和周边逻辑电路等的数据传送。
窥探控制器60(SNC)通过控制中央处理器10、20、30、40(CPU)之间的高速缓存的更新来维持高速缓存的一致性。维持高速缓存的一致性的窥探处理在后文中详述。
总线70是连接中央处理器10、20、30、40(CPU)、窥探控制器60(SNC)、调试控制器90(DBG)、共用存储器80(MEM)及周边逻辑电路等的通用总线。中央处理器10、20、30、40(CPU)经由总线70相互连接,并连接到共用存储器80(MEM),而且经由窥探总线50连接到窥探控制器60(SNC)。
共用存储器80(MEM)是SRAM和DRAM等的主存装置,保存中央处理器10、20、30、40(CPU)的处理所需的命令和数据。
调试控制器90(DBG)通过经由芯片外的仿真器和布线120的数据通信,进行对调试控制器90(DBG)的内部寄存器、各中央处理器的内部寄存器、高速缓存、内置存储器、窥探控制器60(SNC)的内部寄存器、共用存储器80(MEM)、周边逻辑电路等资源的存取。并可经由布线100执行中央处理器10、20、30、40(CPU)的停止和重启的指示。
图2是表示窥探控制器60(SNC)的详细示图。窥探控制器60(SNC)由复制地址阵列61(DAA)、窥探屏蔽寄存器62(SMR)、窥探释放寄存器63(SRR)、条件一致通知寄存器64(MNR)、窥探控制逻辑65(SNPL)构成。
通过来自各中央处理器的窥探请求来检索复制地址阵列61(DAA),并根据结果执行对其他中央处理器的窥探。再有,窥探控制器60(SNC)经由总线70连接到共用存储器80(MEM)。在将窥探处理的结果写回到共用数据的存储器80(MEM)时使用该路径。
窥探屏蔽寄存器62(SMR)保存关于窥探控制器60(SNC)将来自其他中央处理器的窥探锁闭的条件。
窥探释放寄存器63(SRR)保存关于窥探是否被锁闭的状态。
条件一致通知寄存器64(MNR)保存关于来自其他中央处理器的窥探被锁闭时是否对向调试控制器90(DBG)通知的设定。
窥探控制逻辑65(SNPL)通过后述的窥探处理的控制、基于窥探屏蔽寄存器62(SMR)的设定的窥探屏蔽控制和基于条件一致通知寄存器64(MNR)的设定的布线110,进行对调试控制器90(DBG)的条件一致的通知。
图3是图2所示的窥探控制器60(SNC)内的复制地址阵列61(DAA)的详细示图。复制地址阵列61(DAA)具有与各中央处理器的高速缓存11、21、31、41(CACHE)对应的复制地址611、612、613、614。复制地址中,保持中央处理器的高速缓存信息中的有效位6100、共用位6101、标记6102。
图4是图2所示的调试控制器90(DBG)的详细示图。调试控制器90(DBG)由中断条件寄存器91(BCR)、调试状态寄存器92(DSR)、调试控制逻辑93(DBGL)构成。
中断条件寄存器91(BCR)保存用以使中央处理器10、20、30、40(CPU)中发生断点异常的条件。
调试状态寄存器92(DSR)保存关于是否发生了断点异常的状态。
调试控制逻辑93(DBGL)执行基于来自芯片外的仿真器的指示的对芯片内资源的存取控制和根据中断条件寄存器91(BCR)的设定、中央处理器10、20、30、40(CPU)的状态和来自窥探控制器的条件一致通知的断点异常的发生控制,并在断点异常发生时执行对中央处理器10、20、30、40(CPU)的停止请求和对调试状态寄存器92(DSR)的写入。
图5是表示窥探处理中的信号收发的示图。窥探处理中进行如下的一系列处理。首先,在中央处理器10(CPU)更新高速缓存11(CACHE)时,为了维持中央处理器20(CPU)的高速缓存21(CACHE)之间的数据一致性,对窥探控制器60(SNC)进行窥探请求51。再有,在根据窥探请求的一系列的处理中,为了除了更新高速缓存状态还执行填充和回写,在窥探请求51中包含读、写这样的指令、存取对方的共用存储器80(MEM)的地址和其写数据等。接到窥探请求51的窥探控制器60(SNC)进行复制地址阵列61(DAA)的检索和更新,并对中央处理器20(CPU)进行高速缓存21(CACHE)的状态更新请求52。而且,接到状态更新请求52的中央处理器20(CPU)进行高速缓存21(CACHE)的更新,并将各自的结果作为应答53、54通知。另外,若复制地址阵列61(DAA)的检索结果是,高速缓存21(CACHE)中没有有效的数据,窥探控制器60(SNC)就经由总线70存取共用存储器80(MEM),并将应答53通知中央处理器10(CPU)。
图6是表示MESI协议(Modified Exclusive Shared Invalid)的示图。该MESI协议被用于窥探处理。MESI协议是取得高速缓存之间的一致性的协议,高速缓存具有如下的4种状态。
1)M状态(变更状态,Modified State):只在某个中央处理器的高速缓存中存在,已从主存上的值变更。其他中央处理器在存取与该高速缓存行相当的主存时,必须控制成可参考经变更的最新值。
2)E状态(排他状态,Exclusive State):只在某个中央处理器的高速缓存中存在,但与主存上的值一致。
3)S状态(共用状态,Shared State):在多个中央处理器上存在同样的缓存行,与主存的值一致。
4)I状态(无效状态,Invalid State):在高速缓存上不存在。
再有,以下的说明中,也使用E’状态。E’状态是表示E状态210或M状态200的高速缓存状态,但图6中未记载。使用E’状态是为了简便,在复制地址阵列61(DAA)中为将M和E状态设为不加区别的结构而使用E’状态。当然,也可采用区别M和E状态的结构。
接着描述中央处理器10、20、30、40(CPU)和窥探控制器60(SNC)的窥探处理的动作。窥探处理使用图6所示的MESI协议,但并无特别限制。这里执行读、写,将中央处理器10(CPU)选择为窥探处理的请求方,并将中央处理器20(CPU)选择为窥探处理的被请求方,但对于中央处理器的组合并无特别限制。首先,说明执行读的情况。在中央处理器10(CPU)上执行读而缓存未命中时,为了参考中央处理器20、30、40(CPU)的高速缓存21、31、41的最新数据而进行窥探请求。此时的指令是读,地址是缓存未命中的共用存储器80(MEM)的地址。窥探请求经由窥探总线50通知窥探控制器60(SNC)。窥探控制器60(SNC)检索复制地址阵列61(DAA),调查高速缓存21、31、41中是否存在最新数据。
若复制地址阵列61(DAA)的检索结果是高速缓存21、31、41中没有最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61(DAA)的条目从I状态230更新到E’状态,并将关于在其他中央处理器的高速缓存中未找到最新数据的应答返送给中央处理器10(CPU)。接到应答后中央处理器10(CPU)就将高速缓存11的适当条目从I状态230变更到E状态210。由于最新数据存在于共用存储器80(MEM),经由总线70或窥探控制器60(SNC)和窥探总线50写入中央处理器10(CPU)的高速缓存11。
若复制地址阵列61(DAA)的检索结果是例如高速缓存21中存在最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61(DAA)的条目从I状态230更新到S状态220,同时将对应于高速缓存21的适当条目的复制地址阵列61(DAA)的条目从E’状态/S状态220更新到S状态220。而且,经由窥探总线50向中央处理器10(CPU)返回关于在其他中央处理器的高速缓存找到了最新数据的应答,同时向中央处理器20请求高速缓存状态的更新和最新数据的转送。接到应答的中央处理器10(CPU)将高速缓存11的适当条目从I状态230更新到S状态220。接到请求的中央处理器20将高速缓存21的适当条目从M状态200/E状态210/S状态220更新到S状态220,并将最新数据返回窥探控制器60(SNC)。窥探控制器60(SNC)将最新数据返回中央处理器10(CPU),并写入高速缓存11。
若中央处理器10(CPU)在执行读时缓存命中,则由于高速缓存11中存在最新数据而不执行窥探。
接着,说明执行写时的情况。若中央处理器10(CPU)在执行写时缓存未命中,则为参考中央处理器20、30、40(CPU)的高速缓存21、31、41的最新数据而进行窥探请求。此时的指令是写,地址是缓存未命中的共用存储器80(MEM)的地址。指令为写时,其写数据也被输出。窥探请求经由窥探总线50通知到窥探控制器60(SNC)。窥探控制器60(SNC)检索复制地址阵列61(DAA),调查高速缓存21、31、41中是否存在最新数据。
若复制地址阵列61(DAA)的检索结果是高速缓存21、31、41中无最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61(DAA)的条目从I状态230更新到E’状态,并将应答返回中央处理器10(CPU)。接到应答,中央处理器10(CPU)将高速缓存11的适当条目从I状态230变更到M状态200。由于写执行前的最新数据存在于共用存储器80(MEM)中,经由总线70或窥探控制器60(SNC)和窥探总线50写入中央处理器(CPU)的高速缓存11。
若复制地址阵列61(DAA)的检索结果是例如高速缓存21中存在最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61的条目从I状态230更新到E’状态,同时将对应于高速缓存21的适当条目的复制地址阵列61(DAA)的条目从M状态200/E状态210/S状态220更新到I状态230。而且,将应答经由窥探总线50返回中央处理器10(CPU),同时向中央处理器20请求高速缓存状态的更新和最新数据的转送。接到应答的中央处理器10(CPU)将高速缓存11的适当条目从I状态230更新到M状态200。接到请求的中央处理器20将高速缓存21的适当条目从M状态200/E状态210/S状态220更新到I状态230,并将最新数据返回窥探控制器60(SNC)。窥探控制器60将最新数据返回中央处理器10(CPU),并写入高速缓存11。
若中央处理器10(CPU)执行写时在M状态200/E状态210缓存命中,则由于最新数据只存在于高速缓存11而进行窥探。
若中央处理器10(CPU)执行写时,在S状态220缓存命中,则为了通知关于其他中央处理器的高速缓存中存在的数据不是最新这一情况而进行窥探请求。窥探请求经由窥探总线50通知到窥探控制器60(SNC)。窥探控制器60(SNC)检索复制地址阵列61(DAA),调查高速缓存21、31、41中是否存在最新数据。
若复制地址阵列61(DAA)的检索结果是高速缓存21、31、41中无最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61(DAA)的条目从S状态220更新到E’状态,并将应答返回中央处理器10(CPU)。接到应答的中央处理器10(CPU)就将高速缓存11的适当条目从S状态220变更到M状态200。
若复制地址阵列61(DAA)的检索结果是例如高速缓存21中存在最新数据,则窥探控制器60(SNC)就将对应于高速缓存11的适当条目的复制地址阵列61(DAA)的条目从S状态220更新到E’状态,同时将对应于高速缓存21的适当条目的复制地址阵列61(DAA)的条目从S状态220更新到I状态230。而且,经由窥探总线50将应答返回中央处理器10(CPU),同时向中央处理器20(CPU)请求高速缓存状态的更新和最新数据的转送。接到了应答的中央处理器10(CPU)将高速缓存11的适当条目从S状态220更新到M状态200。接到了请求的中央处理器20将高速缓存21的适当条目从S状态220更新到I状态230。
如上所述,一系列的窥探处理全部通过窥探控制器60(SNC)执行。因此,从中央处理器10、20、30、40(CPU)接到窥探请求时,进行是否与窥探屏蔽寄存器62(SMR)的屏蔽条件一致的一致判定,窥探控制器60(SNC)中暂时地屏蔽对某个中央处理器以外的窥探请求的受理,从而能够防止其他中央处理器更新该中央处理器的高速缓存的状态。
为了理解这点,对窥探控制器60(SNC)和调试控制器90(DBG)作详细说明。用图7、8说明窥探屏蔽寄存器62(SMR),用图9说明窥探释放寄存器63(SRR),用图10说明条件一致通知寄存器64(MNR)。另外,用图11、12说明中断条件寄存器91(BCR),用图13说明调试状态寄存器92(DSR)。然后,用图14说明窥探请求的受理的屏蔽和将用了该屏蔽解除的多核中的并行处理程序调试容易化的方法。
图7是图2所示的窥探控制器60(SNC)内的窥探屏蔽寄存器62(SMR)的详细示图。窥探屏蔽寄存器62(SNM)中可设定屏蔽条件A620、屏蔽条件B621、...等多个屏蔽条件。
图8表示窥探屏蔽寄存器62(SMR)中设定的屏蔽条件。在屏蔽条件A620、屏蔽条件B621、...中,可作为条件之对象设定中央处理器6200、指令6201、地址6202、写数据6203,以将它们设为判定对象。窥探控制器60(SNC)监视用作为条件之对象的中央处理器6200的设定指定的中央处理器的窥探请求(指令、地址、写数据),进行是否与指令6201、地址6202、写数据6203的进程描述符相一致的一致判定。
再有,说明中描述的是接受屏蔽条件A620,但对于其他屏蔽条件的描述也一样。一致判定就是,按照屏蔽条件组合6204的设定,从这些屏蔽条件中选择1个或2个以上的逻辑和、逻辑积的组合。另外,可将多个屏蔽条件一致的组合6205和判定一致的次数6206进一步作为一致判定条件来进行选择。若判定为一致,窥探控制器60(SNC)之后就不再受理来自作了窥探请求的中央处理器以外的中央处理器的窥探请求。再有,也可在屏蔽条件A620中将不受理窥探请求的中央处理器6207当作可设定,按照其设定控制成不受理中央处理器(CPU)的窥探请求。
图9是图2所示的窥探控制器60(SNC)内的窥探释放寄存器63(SSR)的详细示图。窥探释放寄存器63(SSR)通过指示符630表示关于窥探请求是否被屏蔽的状态。窥探请求被屏蔽时设定为1,窥探请求的屏蔽状态可通过写入0来解除。
图10是图2所示的窥探控制器60(SNC)内的条件一致通知寄存器64(MNR)的详细示图。在对其他中央处理器的窥探请求被屏蔽时,条件一致通知寄存器64(MNR)保存关于是否向调试控制器90(DBG)通知的设定,0表示不通知,1表示通知。再有,该通知的设定是按窥探屏蔽寄存器62(SMR)的屏蔽条件设定的。通过在条件一致通知寄存器上预先进行通知的设定,可在窥探锁闭时指定是否用调试控制器使断点异常发生,详细情况用图14、15进行说明。
图11是图4所示的调试模块90(DBG)内的中断条件寄存器91(BCR)的详细示图。在中断条件寄存器91(BCR)中,可设定中断条件A910、中断条件B911、...等多个中断条件。
图12表示在中断条件寄存器91(BCR)中设定的中断条件。中断条件A910、中断条件B911、...中可设定设为条件之对象的中央处理器9100、程序计数器的值9101、写数据9102,以将它们作为判定对象。调试模块90(DBG)监视用设为条件之对象的中央处理器9100的设定指定的中央处理器的程序计数器的值和写数据,进行是否与程序计数器的值9101、写数据9102的进程描述符相一致的一致判定。再有,在调试控制器90(DBG)按每个中央处理器(CPU)分开的情况下,若每个中央处理器(CPU)有寄存器,则不需要作为对象的中央处理器9100的进程描述符。
再有,说明中描述的是接受中断条件A910,但其他中断条件也同样。一致判定就是按照中断条件组合9103的设定,从前述的中断条件中选择1个或2个以上的逻辑和、逻辑积的组合。另外,也可进一步将多个中断条件一致的组合9104和判定为一致的次数9105作为一致判定条件来选择。若判定为一致,则断点异常发生。所谓断点异常,就是中央处理器(CPU)执行中的程序满足中断条件时从调试控制器90(DBG)向中央处理器(CPU)请求停止该程序的执行。可以将调试控制器90(DBG)构成为:在断点异常中,可至少向满足中断条件的中央处理器(CPU)请求执行停止,也可同时向其他中央处理器(CPU)请求执行停止。
图13是图4所示的调试控制器90(DBG)内的调试状态寄存器92(DSR)的详细示图。调试状态寄存器92(DSR)通过指示符920表示是否发生了断点异常。0为未发生断点异常的状态,1为发生了断点异常的状态。
图14表示调试处理的流程图,图15表示各模块的处理顺序。再有,假设成为窥探屏蔽寄存器62(SMR)的屏蔽条件之对象的CPU核是中央处理器10(CPU),作为屏蔽对象的CPU核是中央处理器20(CPU)。多核的并行处理程序调试中,将窥探请求的受理屏蔽和断点异常造成的中央处理器的停止结合起来进行。
首先,一起进行从调试器160到调试控制器90(DBG)的中断条件和窥探请求的屏蔽条件的设定(S1001)。用图16说明这些设定方法。成为调试对象的IC芯片1与开发用板140连接,并经由仿真器130与PC或WS等的开发环境150连接。调试器160在开发环境150上工作,调试器160上的用户操作被通知到IC芯片1上的调试控制器90(DBG)。用户一经在调试器160上设定共用存储器80(MEM)上的程序设定断点,其操作就通过接到其通知的调试控制器90(DBG)经由总线70对中断条件寄存器91(BCR)进行写入而被实现。受理屏蔽的设定也与上述一样,用户操作通过被通知到调试控制器90(DBG)并对窥探屏蔽寄存器62(SMR)写入而被实现。
在这些寄存器的设定后,通过来自经由调试控制器90(DBG)的调试器160的用户操作,用各中央处理器起始程序执行(S1002)。在程序执行中例如发生了读未命中(read miss)的情况下,为开始上述窥探处理在发出了窥探请求的时刻进行窥探请求的屏蔽条件的命中判定(S1003)。该命中判定根据窥探请求中包含的读和写这样的指令、存取对方的共用存储器80(MEM)的地址和其写数据是否与屏蔽条件相符来进行。若屏蔽条件命中,则窥探控制器SNC(60)不受理来自其他中央处理器的窥探请求(S1004)。另一方面,若未命中,则以后再受理窥探请求。
这里,就屏蔽条件的命中和窥探请求的屏蔽以具体例进行说明。设成为窥探屏蔽寄存器62(SMR)的屏蔽条件A620的条件之对象的CPU核为中央处理器10(CPU),设指令为读,设地址为0x01234567,将屏蔽条件组合设为指令和地址,并将写数据、其他屏蔽条件一致、条件一致次数设为don’t care(不在乎)。另外,作为屏蔽对象的CPU核是中央处理器20。在满足以上设定的状态下,在中央处理器10(CPU)上执行程序,若在指令为读、地址为0x1234567时由于缓存未命中等发生了窥探请求,则窥探请求的屏蔽条件由于指令和地址的一致而成为命中。结果,窥探控制器60(SNC)之后对来自中央处理器20(CPU)的窥探请求不返回受理应答。结果,中央处理器20(CPU)在窥探应答等待的状态停顿。由于其他中央处理器停顿而不进行处理,因此,在用户用调试器160进行程序调试期间,由作为调试对象的中央处理器以外的中央处理器不更新高速缓存。
窥探控制器60(SNC),在窥探请求的屏蔽条件一致时,按照条件一致通知寄存器64(MNR)的通知位640的设定,使窥探控制逻辑65(SNPL)经由布线110将条件一致的情况通知调试控制器90(DBG)(S1005)。接到通知的调试控制器90(DBG)发生断点异常(S1007)。另一方面,若未设定,就不通知。通过预先在条件一致通知寄存器上作通知设定,可在窥探锁闭时指定是否用调试控制器发生断点异常。再有,调试控制器90(DBG)监视中央处理器执行中的程序,在程序满足中断条件时(S1006)使断点异常发生(S1007)。然后,调试控制器90(DBG)向中央处理器(CPU)发出执行停止请求,中央处理器(CPU)停止该程序的执行(S1009)。这里,在同时中断是有效的情况下,调试控制器90(DBG)也对满足断点异常的发生条件的中央处理器以外的中央处理装置请求程序的执行停止(S1008,S1010)。设定同时中断的有效、无效的信息,保存在调试控制器内的同时中断寄存器内的同时中断有效位上。0表示同时中断无效,1表示同时中断有效。再有,也可采用这样的结构,可用窥探屏蔽寄存器62(SMR)或调试控制器90(DBG)设定将令其停止的中央处理器。
调试结束时(S1011),使中央处理器的动作重启。使中央处理器的动作重启时对窥探释放寄存器63(SRR)的释放位630写入0,将窥探请求的受理屏蔽解除(S1012)。从而,在调试结束(S1013)后再次用窥探控制器60(SNC)接受窥探请求。窥探请求的受理屏蔽之解除,可由用户调试中经由调试控制器90(DBG)对窥探释放寄存器63(SRR)进行存取实现,在调试中想要重启时可利用其他中央处理器的窥探请求实现。
为了通过某个中央处理器的断点异常的发生来使其他中央处理器停止,由于要经由调试控制器90(DBG)且其布线距离长,停止通知需用数个周期到数十个周期。因此,如图17所示,其他中央处理器在停止前还会执行多个命令(D,E,...,M),难以确定出错的部位。而依据本发明,通过在某个中央处理器的断点异常发生的同时进行窥探请求的屏蔽控制,各中央处理器在未受理窥探请求的状态下停顿,而停止通知可在该停顿期间结束。这是由于窥探请求的受理屏蔽解除在调试中的用户操作或调试结束之时,需要更长的时间。因此,如图18所示,其他中央处理器在停止前执行的命令成为1个命令(D),出错部位的确定就变得容易。
通过以上的处理,通过使被设定的中央处理器以外的窥探处理的执行等待,能够高效率地调试多核中的并行处理程序。
以上基于实施例对本发明者构思的发明作了具体说明,但本发明并不以上述实施例为限定,不言而喻,在不脱离其主题的范围内可进行多种多样的变更。

信息处理装置.pdf_第1页
第1页 / 共31页
信息处理装置.pdf_第2页
第2页 / 共31页
信息处理装置.pdf_第3页
第3页 / 共31页
点击查看更多>>
资源描述

《信息处理装置.pdf》由会员分享,可在线阅读,更多相关《信息处理装置.pdf(31页珍藏版)》请在专利查询网上搜索。

本发明的目的在于,提供具有通过控制窥探处理而高效率地调试并行处理的程序之功能的信息处理装置。构成为可用控制窥探处理的窥探控制器(60)设定对来自中央处理器的窥探请求的受理,通过窥探请求的受理,调试控制器(90)可使多个中央处理器(10、20、30、40)停止。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1