在非侵入性数字信号处理器调试期间用于指令填充操作的方法和系统的制作方法

文档序号:6456360阅读:244来源:国知局
专利名称:在非侵入性数字信号处理器调试期间用于指令填充操作的方法和系统的制作方法
技术领域
本发明所揭示的标的物涉及(例如)可在数据通信及类似应用中得以使用的数据处 理系统及过程。更确切地说,本发明涉及一种在非侵入性数字信号处理器调试期间用于 指令填充操作的新颖且改进的方法和系统。
背景技术
电信及其它类型的电子设备以及支持视频、复杂音频、视频会议及其它增强式软件 应用日益涉及信号处理。信号处理需要复杂但重复算法中的快速数学计算及数据产生。 许多应用需要实时计算,g卩,信号为时间的连续函数,所述信号必须被取样及转换为数 字信号以用于数值处理。处理器必须在样本到达时执行对样本执行离散计算的算法。
数字信号处理器(DSP)的结构经最佳化以处置此些算法。良好信号处理引擎的特 性包括快速灵活的算术计算单元、去往计算单元及来自计算单元的无约束数据流、计算 单元中的经扩展的精度及动态范围、双地址产生器、有效程序定序及编程简易性。
DSP技术的一种有前途的应用包括例如码分多址(CDMA)系统的通信系统,所述 码分多址(CDMA)系统支持用户之间经由卫星或地面链路进行的语音及数据通信以及 文本消息传输及其它应用。CDMA技术在多址通信系统中的使用揭示于标题为"使用卫 星或地面转发器的扩频多址通信系统"("SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS")的 第4,901,307号美国专利及标题为"CDMA蜂窝电信手机系统中用于产生波形的系统和 方法"("SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEHANDSET SYSTEM")的第5,103,459号美国专利中,所述两个专利 均被让渡给所主张的标的物的受让人。
CDMA系统通常经设计以符合一种或一种以上标准。 一种此第一代标准为"用于双 模式宽带扩频蜂窝系统的TIA/EIA/IS-95终端-基站兼容性标准",在下文中被称为IS-95 标准。IS-95 CDMA系统能够传输语音数据及包数据。可更高效地传输包数据的较新一 代标准是由名为"第三代合作伙伴计划"(3GPP)的协会提供且实施于包括第3G TS25.211号、第3G TS 25.212号、第3G TS 25.213号及第3G TS 25.214号档案的档案集 合中,公众可容易地得到所述档案。在下文中将3GPP标准称为W-CDMA标准。
使用W-DCMA标准的复杂DSP操作软件(例如)需要稳固的开发工具。此些开发 工具可包括用于码产生、整合、测试、调试及评估应用性能的工具。在开发及操作软件 或例如高级电信应用的复杂DSP应用中,需要高级的但非侵入性的调试软件。亦即,调 试软件应用不仅必须为足够稳固的以监视、测试及支持软件缺陷及操作问题的校正,而 且其可在调试操作期间操作而不干扰核心处理器软件。否则,在此调试软件的使用期间, 可能不会检测到或正确地检测到核心处理软件中的任何问题。
此外,在非侵入性调试过程期间或与其相关联,常常需要操作各种诊断、分析及其 它过程以用于确定核心处理器操作的各种方面。此些诊断、分析及类似程序可根据一使 用可能要求或一相关联调试过程可能需要的特定信息类型及信息量而改变。因此,动态 地将指令插入或填充到调试过程中的能力可具有显著优点。
然而,目前不存在执行指令填充操作以用于调试与如本文已描述的多线程数字信号 处理器相关联的核心过程的已知方式。此外,不存在可借由对多线程数字信号处理器的 一个、两个或两个以上线程执行操作所填充的指令的功能而具有线程选择性的指令填充 过程。此外,不知道允许调试过程结合核心处理功能与非侵入性调试过程或与所述两者 相关联而执行核心处理器上的指令的指令填充过程或机构。
指令填充操作可为有利的原因包括为了读取及/或写入核心寄存器及存储器。同样, 调试过程操作可经提取以用于用户分析,包括各种分析应用程序的使用。此外,指令操 作可允许用户将可适用于特定类型调试的各种指令输入到调试过程中。
因此,需要一种用DSP操作的调试过程及系统,所述调试过程及系统提供在非侵入 性数字信号处理器调试操作期间进行指令填充操作的能力。
存在对于一种可适用于多线程数字信号处理器调试操作的指令填充过程及机构的 需要。
存在对于一种可通过提供对多线程数字信号处理器的一个、两个或两个以上线程操 作所填充的指令的能力而具有线程选择性的指令填充过程及机构的需要。
还存在对于一种允许调试过程结合核心处理功能与非侵入性调试过程或与所述两 者相关联而执行核心处理器上的指令的指令填充过程及机构的需要。
同样,存在对于一种用于在非侵入性数字信号处理器调试操作期间处理核心过程上 的指令及数据的非侵入性软件调试过程指令填充操作的需要。

发明内容
本发明揭示用于为数字信号处理器(包括多线程数字信号处理器)提供非侵入性、 线程选择性调试方法及系统的技术,所述技术用于在非侵入性调试操作期间进行指令填 充操作。本文所揭示的方法及系统既改进数字信号处理器的操作又改进针对功能日益强 大的软件应用程序(包括在个人计算机、个人数字助理、无线手机及类似电子装置中操 作的应用程序)的数字信号处理器指令的高效使用,而且增加相关联的数字处理器速度 及服务质量。
根据所揭示的标的物的一个方面, 一种用于在多线程数字信号处理器的处理管线中 填充指令的方法及系统提供改进的软件指令调试操作。所述方法及系统用于操作与数字 信号处理器相关联的核心处理器内的核心处理器过程及数字信号处理器的调试机构内 的调试过程。所述调试机构与核心处理器相关联。本发明所揭示的标的物包括将填充指 令写入到与调试过程相关联的调试过程注册表中及响应于所述填充指令而将填充命令 写入到与调试过程注册表相关联的调试过程命令寄存器中。填充命令用于对多线程数字 信号处理器的将在其中执行所述填充指令的一预定线程的识别。本发明在预定线程上执 行的预定阶段期间从核心处理器发出调试过程控制再继续命令,且在调试过程期间引导 核心处理器执行所填充的指令。本发明将所填充的指令提供到核心处理器以用于与核心 处理器过程及调试过程相关联地执行所填充的指令。
通过本文中所提供的描述将明显看出所揭示的标的物的这些及其它优点,以及额外 新颖特征。本发明内容的意图并非是对所主张的标的物的全面描述,而是提供对标的物 的某些功能性的简短综述。在检查以下各图及详细描述后,此处所提供的其它系统、方 法、特征及优点对于所属领域的技术人员而言将即为显而易见的。所有此些额外系统、 方法、特征及优点意图包括于此描述内,在随附权利要求书的范围内。


通过结合附图阅读下文阐述的详细描述,所揭示的标的物的特征、性质和优点可变 得更加明显,图中相同参考符号在全文中对应地进行标识,且其中
图1为可实施本文所揭示的各种实施例中的一者的通信系统的简化方框图2说明用于执行本发明的教示的DSP结构;
图3提供多线程数字信号处理器的一个实施例的结构方框图4进一步展示本发明的数字信号处理器的控制单元、指令单元及其它功能组件的过程流程的结构图5揭示应用本发明的ISDB/JTAG接口特征的数字信号处理器核心的某些方面; 图6展示用于执行本文所揭示的调试程序的某些方面的ISDB JTAG同步电路的一方
面;
图7呈现可适用于数字信号处理器的操作模式(包括本发明所涉及的调试操作模式) 的过程流程图8描绘可适用于本发明的实施例的断点处理方案;
图9说明所揭示的标的物的一个实施例的ISDB命令寄存器内容,包括用于揭示所 揭示的过程的指令填充寄存器;及
图10呈现用于描绘用于与非侵入性调试过程相关联的指令填充的所揭示过程的处 理时序循环图表。
具体实施例方式
用于多线程数字信号处理器的非侵入性线程选择性调试系统和方法的所揭示的标 的物可应用于任何类型的可受益于此处所呈现的益处的多线程处理。 一种应用出现在电 信中,且尤其在使用一个或一个以上数字信号处理电路的无线手机中。为了解释可如何 使用无线手机,图1提供通信系统10的简化方框图,通信系统IO可实施所揭示的中断 处理方法及系统的所呈现实施例。在发射器单元12处,通常成区块地将数据从数据源 14发送至发射(TX)数据处理器16,发射数据处理器16格式化、编码及处理所述数据 以产生一个或一个以上模拟信号。接着将模拟信号提供至发射器(TMTR) 18,发射器 18调制、滤波、放大及上变频转换基带信号以产生经调制信号。接着经由天线20将经 调制信号传输至一个或一个以上接收器单元。
在接收器单元22处,由天线24接收所传输信号且将其提供至接收器(RCVR) 26。 在接收器26内,将所接收信号放大、滤波、下变频转换、解调及数字化以产生同相(I) 及(Q)样本。接着由接收(RX)数据处理器28解码及处理样本以恢复所传输数据。 以与发射器单元12处所执行的编码及处理互补的方式来执行接收器单元22处的解码及 处理。接着将所恢复数据提供至数据汇30。
上文所描述的信号处理支持一个方向上的语音、视频、包数据、消息传输及其它类 型的通信的传输。双向通信系统支持双向数据传输。然而,为了简单起见,图l中未展 示用于另一方向的信号处理。通信系统10可为支持用户之间经由地面链路进行的语音 及数据通信的码分多址(CDMA)系统、时分多址(TDMA)通信系统(例如,GSM系统)、频分多址(FDMA)通信系统或其它多址通信系统。在一特定实施例中,通信系统 10为符合W-CDMA标准的CDMA系统。
图2说明可充当图1的发射数据处理器16及接收数据处理器28的DSP 40结构。 我们强调,DSP 40仅表示可有效地使用此处所呈现的教示及概念的大量可能的数字信号 处理器实施例中的一个实施例。因此,在DSP40中,线程T0:T5 (参考数字42至52) 含有来自不同线程的指令集。电路54表示指令存取机构且用于提取线程T0:T5的指令。 将用于电路54的指令排队到指令队列56中。指令队列56中的指令准备就绪以被发出 到处理器管线66中(参见下文)。发出逻辑电路58可从指令队列56中选择单个线程(例 如,线程TO)。读取所选线程的寄存器文件60,且将所读取数据发送至用于槽0:槽3的 执行数据路径62。在此实例中,槽0:槽3提供本实施例中所使用的包分组组合。
来自执行数据路径62的输出去往寄存器文件写入电路64 (也经配置以调节各个线 程T0:T5),以用于返回来自DSP40的操作的结果。因此,从电路54及其之前到寄存器 文件写入电路64的数据路径形成处理管线66。本实施例可使用一使用具有高达六个线 程T0:T5的单个处理器的异质元件处理器(HEP)系统的混合物。处理器管线66具有六 个级,其与为从电路54向寄存器60及64提取数据项所必需的最小数目的处理器循环 匹配。DSP40在处理器管线66内同时执行不同线程T0:T5的指令。亦即,DSP 40提供 六个独立程序计数器、 一用以在处理器管线66内区分线程T0:T5的指令的内部标号机 构及一触发线程切换的机构。线程切换额外开销从零到仅几个循环而变动。
因此,DSP40提供一种经设计而对各种各样的信号、图像及视频处理应用均能实现 高性能及低电力的通用数字信号处理器。图3提供DSP 40结构的简要综述,包括所揭 示的标的物的一种表现形式的相关联指令集结构的某些方面。DSP40结构的实施方案支 持交错式多线程(IMT)。在此执行模型中,硬件通过在管线中交错来自不同线程的指令 来支持多个硬件线程T0:T5的同时执行。此特征允许DSP 40包括主动时钟频率 (aggressive clock frequency),同时仍维持高核心及存储器利用率。IMT提供高处理量而 无需昂贵的补偿机构,例如,无序执行、广泛转发网络,等等。此外,DSP40可包括IMT 的变化,例如,M'艾哈迈德(M.Ahmed)等人的且标题为"可变交错多线程处理器方 法禾口系统"("K;n'a6/e /"^/eavetiM //777^eaffec/iVocewor Me/7;ot/Sv"g附")及"用于 多线程处理器中的可变线程分配和切换的系统和方法"("Md/ od朋d/br K r/aWe 77 rea^^//ocfl"'ow Sw〃c/n'/ g /" a M"/础rea(jg(i尸roc證or")的共同让渡的美国专禾Ll申 请案中所揭示的那些变化及新颖方法。
确切地说,图3提供如应用于单个线程的DSP40的核心处理结构70方框图,所述DSP 40可使用所揭示的标的物的教示。方框图70描绘经由总线接口 (I/F) 73从AXI 总线74接收指令的共享指令高速缓存72,所述指令包括混合的16位指令与32位指令。 这些指令到达定序器76、用户控制寄存器78及线程T0:T5的管理控制寄存器80。所揭 示的标的物的核心级系统结构也包括经由JTAG接口 84而与核心处理器70介接的硅中 调试系统(in-silicon debugging system, ISDB) 82,其两者在下文中均更详细地描述。
定序器76将混合双向超标量指令与四向VLIW指令提供至S管单元86、 M管单元 88、 LD[加载]管卯及LD/ST[存储]管单元92,所述单元全部与通用寄存器94通信。AXI 总线74也经由与共享数据高速缓存96的总线I/F 73将LD/ST指令传送至线程T0:T5。 任选的L2高速缓存/TCM 98信号包括LD/ST指令与共享数据TCM 100,所述LD/ST指 令进一步流动到线程通用寄存器94。从AHB外围总线102, MSM特定控制器104与 T0:T5传送中断,包括中断控制器指令、调试指令及时序指令。全局控制寄存器106与 线程T0:T5传送控制寄存器指令。
因此,DSP 40包括六个虚拟DSP核心,每一虚拟DSP核心含有全局控制寄存器106 及私用管理控制寄存器80。在所有线程之间共享全局控制寄存器106。每一线程共享一 共用数据高速缓存及一共用指令高速缓存。由共用总线接口来服务于加载、存储及提取 操作。高性能AXI总线74及较低性能AHB总线102用以将数据及指令业务连接至脱离 核心(off-core)存储器及外围装置。集成的第二级存储器(高速缓存及/或TCM)输入 98是任选的。外围存取可能是通过存储器映射的加载及存储。AHB与AXI之间的物理 地址分区可在MSM级处配置。
显然,DSP 40的所呈现结构可随着时间而演进及改变。举例来说,DSP40可使用 的指令高速缓存的数目可从六个到一个而改变,或可为其它数目的高速缓存。超标量调 度、TCM 100处的L1数据及其它结构方面可改变。然而,本标的物在各种各样的配置 中且针对DSP 40的大量修改可具有连续相关性。
ISDB 82通过JTAG接口 84向DSP 40提供硬件调试器。ISDB 82通过在所有线程 之间共享在每线程基础上被划分为管理控制寄存器80的系统或仅管理的寄存器以及全 局控制寄存器106而经由JTAG接口 84来提供软件调试特征。系统控制寄存器用于每线 程中断及异常控制以及每线程存储器管理活动。全局寄存器允许与ISDB 82交互以用于 调试操作。
ISDB 82使软件开发者能够在DSP40操作时对其软件进行调试。ISDB 82硬件结合
在ISDB 82中操作的软件调试过程程序可用以对操作系统软件的DSP 40进行调试。ISDB
82个别地支持调试硬件线程。用户可暂停线程执行、查看及变更线程寄存器、查看及变更指令及数据存储器、使步骤线程单个化、将指令填充至线程,且再继续线程执行。
ISDB 82可与调试过程接口卡介接以与驻留于程序计数器上的ISDB 82调试软件通 信,但所述通信全部是通过JTAG接口 84进行。主机调试过程软件可通过读取及写入 ISDB控制寄存器而与ISDB 82交互。通信(例如)可能是通过识别ISDB寄存器(将对 其发生读取/写入)的40位包,以及32位数据有效负载。支持此操作的包格式可为高达 64个控制寄存器,其可各自为32位宽。
图4呈现DSP40的微结构IIO的图,微结构IIO包括控制单元(CU) 112,其执行 对于处理器管线46的许多控制功能。CU 112调度指令并将指令发出给三个执行单元 移位型单元(SU) 116、乘法型单元(MU) 118及加载/存储单元(DU) 120。 CU 112 也执行超标量相依性检验。总线接口单元(BIU114) 122将IU 114及DU 120介接到系 统总线(未图示)。槽O及槽1管线在DU 120中,槽2在MU 118中,且槽3在SU 116 中。CU 112将源操作数及控制总线提供到管线槽0:槽3且处置GRF及CRF文件更新。 CU 112接受例如中断及复位的外部输入,且支持ISDB/ETM 122。 CU 112也处置因地址 转译期间发生的保护违犯引起的异常。
ISDB 82与以下三个域介接通过JTAG 84的主机调试软件通过IU 114及CU 112 的DSP40核心;及通过多核心调试(MCD)信号接口的存在于系统中的其它核心。主 机调试软件与DSP40核心之间的主接口为JTAG可存取寄存器(称为ISDB 82寄存器) 的集合。主机调试软件通过执行一序列的ISDB 82寄存器读取及写入而执行各种调试过 程任务。
ISDB 82通过JTAG接口 84与测试环境(在此情况下,是与驻留于PC上的调试过 程软件通信的POD或调试过程接口卡)通信。主机调试过程软件通过读取及写入ISDB 控制寄存器而与ISDB交互。通信是通过识别ISDB寄存器(待在其中进行读取及/或写 入)的40位包以及用于各种ISBD命令的32位数据有效负载(包括本发明的指令填充 过程)而发生。
图5展示在所揭示的标的物的调试机构与核心处理器之间的ISDB/JTAG接口 110 的重要方面。与DSP 40核心结构70相关联,ISDB 82经由路径JTAG接口路径112从 ISDB JTAG电路114与JTAG 84通信。ISDB JTAG电路114处理JTAG 84与ISDB 82 之间的数据流。ISDB JTAG电路114进一步与ISDB JTAG同步电路116介接。ISDB JTAG 同步电路116进一步与ISDB控制器118、 IU 114及CU 112通信。确切地说,ISDB JTAG 同步电路136与IU 114、 ISDB逻辑电路144及CU 112的CU ISDB控制器146介接。 CU ISDB控制器146与CU ISDB逻辑电路148以及ISDB控制器138通信。来自ISDB控制器138的控制输出包括ISDB数据输出154、 ISDB复位信号150及ISDB中断152。 ISDB控制器138的其它接口包括MCD接口 156及ETM间断触发158。
ISDB 82通过MCD接口 156在MSM级处提供用于多核心调试的挂钩。MCD接口 156由一对触发核心处理器70的间断或再继续的输入信号及一对指示核心处理器70正 进入调试过程或正再继续程序执行的输出信号组成。MCD间断触发可遵循一基于边缘 的协议,使得当在外部断点触发上检测到一上升边缘时,在外部断点线程编号屏蔽中所 指示的线程暂停执行且进入调试模式。类似地,当在MCD外部再继续触发上检测到一 上升边缘时,在外部再继续线程编号屏蔽中所指示的线程如果处于调试模式则再继续正 常程序执行。
ISDB 82控制逻辑在两个区块上扩展ISDB 82中的ISDB控制器138及CU 112中 的CU ISDB控制器146。 ISDB控制器138处置实施ISDB启用、ISDB版本及ISDB通 用寄存器寄存器的任务。在MCD外部间断及再继续触发156及ETM间断触发158被转 发到CU 112以供进一步处理前,使所述两者与核心处理器70时钟同步。ISDB控制器 138也基于核心处理器70的调试模式状态而产生MCD间断触发及MCD再继续触发。 ISDB控制器138添加一用于发出到DSP 40的信号的管线级,所述信号例如是ISDB中 断、间断事件及其它信号。包括断点处理、微命令产生器、邮箱及状态逻辑的控制逻辑 的剩余部分由CU ISDB控制器146处置。
CU 112包括能够处置例如以下任务的电路及指令(a)处理断点及产生对每一线程 的间断触发;(b)产生微间断及微再继续命令;(c)维持ISDB82状态及邮箱寄存器; 及(d)实施特定ISDB82寄存器。CU 112包括一如图8中出现的断点处理逻辑(BPL) 区块以用于处理所有断点并产生对CU ISDB控制器126的微命令产生器的宏间断请求。 微命令产生器处理宏间断请求以及指令填充命令、指令步骤及再继续命令且向CU 112 发出微间断及再继续命令以用于管线控制。
CU ISDB控制器128基于接收回的间断及再继续确认信号而维持ISDB 82的状态。 CU ISDB控制器146的邮箱功能维持用于在主机调试软件与DSP 40核心处理器之间通 信的邮箱寄存器。这些邮箱功能也含有ISDB 82状态寄存器。
为论证用于与非侵入性调试操作相关联地执行目前所揭示的指令填充操作的说明 性电路,图6包括ISDB JTAG同步电路160。 ISDB JTAG同步电路160包括ISDB测试 数据寄存器162, DSP40可使用其来读取和写入ISDB控制寄存器。ISDB JTAG同步电 路160在于DB一tck上操作的ISDB测试数据寄存器162与于DSP 40时钟域中操作的 ISDB控制寄存器164之间提供同步逻辑。通过读取及写入ISDB控制寄存器,DSP 40执行可由ISDB 82支持的各种调试过程任务,包括目前所揭示的指令填充操作。
在图6的实施方案中,ISDB JTAG同步电路160将JTAG—isdb—链—输入 (JTAG_isdb—chain—in)信号164接收到ISDB测试数据寄存器204中以产生JTAG—isdb— 链—输出(JTAG—isdb—chain—out)信号166。 ISDB测试数据寄存器162包括读取/写入 (R/W)位167、地址位[6:0] 168及数据位[31:0] 170。R/W位167中的值去往AND门172, 同步电路输出174及CU 112—可信赖的调试(CU 112—trustedDebug)输入176也去往AND 门172。 JTAG—isdb—链一更新一tkl (JTAG—isdb—chain—update—tkl)信号178及ISDB—CLK 信号180控制同步电路174的操作。可由地址解码电路176接收来自地址位168的地址 信息,地址解码电路176将所述地址信息馈入到ISDB寄存器184。 ISDB寄存器184响 应于来自AND门172的启用写入信号186而传送具有数据位[31:0]的数据。
ISDB JTAG同步电路130充当在DB一JTAG区块中的JTAG TCK上运行的TAP控制 器与在分布于ISDB控制器138、 CU 112—ISDBCtrl 146及IU 114中的DSP 40核心时钟 上运行的ISDB寄存器184之间的同步桥。ISDB控制器138及CU ISDB控制器146含 有由微命令产生器、断点处理逻辑及各种ISDB寄存器184 (配置、邮箱、命令等)组 成的ISDB 82的控制逻辑。这些区块执行由DSP 40核心上的主机调试软件起始的不同 调试过程任务。ISDB中断信号被发出到其与其它中断源合并的DSP子系统,且被发回 到DSP核心70。类似地,ISDB82复位与其它复位源(通电复位、软件复位等)合并以 触发对核心的复位。ISDB 82通过MCD信号接口而与外部系统(例如,在DSP40外部 的MSM系统)介接。提供两对间断及再继续触发以支持对DSP40与外部系统中的其它 核心的同时调试。
图7呈现DSP 40的各种模式控制方面的处理模式图190,包括ISDB 82在调试过程 期间的操作。在图7中,DSP40支持对于所有线程为全局且对于个别线程为局域的处理 模式。每一DSP40硬件线程个别地支持两个执行模式(用户模式192及管理器模式194) 及三个非处理模式等待模式196、关闭模式198及调试模式200,所有模式皆可出现 于图7中。 一线程的模式独立于其它线程,例如, 一个线程可处于等待模式196,而另 一线程处于用户模式192等等。
由各种指令或事件支持图7的每线程模式状态图。这些指令或事件包括"异常" ("Except")或内部异常事件、"中断"("Int")或外部中断事件、来自异常模式的"返 回"("RTE")或软件返回指令、及"SSR"或对SSR寄存器指令的更新、可从任何模式 进入的"停止"或软件停止指令、也可从任何模式进入的"开始"或软件开始指令、"俘 获"或软件俘获指令、"等待"或软件等待指令、"再继续"或软件再继续指令、"DE"或调试事件及"DR"或调试指令。虽然所主张的标的物的不同实施方案中的功能可能稍 微不同于此处所呈现的功能,但"开始"、"等待"、"再继续"、"DE"及域"DR"的含 义可被给予其与所主张的标的物的范围一致的最广泛解释。
在用户模式192及管理器模式194两者下,寄存器均在DSP 40中可用。用户模式 寄存器被划分为通用寄存器集合及控制寄存器集合。通用寄存器用于包括地址产生、标 量及向量算术的所有通用计算。控制寄存器支持例如硬件回路、谓词等等专用功能性。 通用寄存器为32位宽且可作为单个寄存器或作为经对准的一对两个寄存器而被存取。 通用寄存器文件提供用于指令的所有操作数,包括用于加载/存储的地址、用于数字指令 的数据操作数及用于向量指令的向量操作数。
调试模式200提供线程正在等待来自ISDB 82的命令的特殊状态。只要发生ISDB 调试事件(例如,通过软件断点指令的执行、来自ISDB82的间断命令,或硬件断点的 发生),所指示的线程便可进入调试模式200。当处于调试模式200时,核心是由ISDB 82 经由来自JTAG接口 84的命令而加以控制。当ISDB 82因再继续命令的执行而释放线程 时,线程可根据其当前模式设置来再继续操作。当线程处于调试模式200时,其被ISDB 82控制且不能被其它线程控制。此控制可包括执行可通过当前揭示的指令填充操作提供 的各种指令。可忽略来自以处于调试模式200的线程为目标的执行线程的等待、再继续、 开始或停止指令。类似地,处于调试模式200的线程可忽略非可屏蔽中断(NMI)。
硬件复位模式(图7中未图示)及调试模式200对于所有线程为全局的。只要断言 硬件复位引脚,DSP40便可进入硬件复位模式而不管任何线程的处理状态如何。在硬件 复位模式中,所有寄存器被设置为其复位值。在解除断言硬件复位引脚之前可能不发生 处理。当断言复位引脚时,处理器可转换成复位模式且所有寄存器可被复位为其硬件复 位值。在解除断言复位引脚之后,线程TO可被给予软复位中断。此可使线程TO进入管 理器模式194且在复位向量位置处开始执行。所有其它线程可保持关闭。在此点上,软 件自由地个别地控制每一线程的模式转换。
在图8中,可看出,CU ISDB控制器146的BPL电路210包括来自六个不同源的 间断触发,所述六个不同源包括硬件断点0/1 (HWBKPTO 212及HWBKPT1 214)、软 件断点(SWBKPT216)、 JTAG接口 84断点(JTAGBKPT 218)、 ETM (嵌入式迹线宏) 断点(ETMBKPT220)及外部断点(EXTBKPT 222)。间断触发212至222及调试模式 状态输入214去往编码间断编码器216以使DSP 40在调试模式200中操作。来自编码 器226的输出包括三个(3个)断点信息位228及一断点有效位230。断点信息数据228 进入断点信息电路232以导致断点信息JTAG接口命令234。断点位230也产生OR门输入236及复位电路238输入。复位电路238接收UCG再继续线程编号或复位输入242 以产生进入OR门246中的复位控制输出244。有效位236或复位输出244可使OR门 246产生BPL断点输出248。
处理BPL电路210中的间断触发连同对应线程编号屏蔽以产生对每一线程的宏间断 触发。维持宏间断触发248 (bpl—breakTnum—ANY[O]),直到再继续对应线程为止。通 过为精确断点(亦即,必须不执行触发硬件断点匹配的指令)的硬件断点来驱动可用于 BPL电路210中的管线级的数目。线程在执行程序之后切换成调试模式,直到所述指令 为止。在间断触发到达之后一个循环,所揭示的实施例提供宏间断触发。由于此原因, 对间断有效输入226以其锁存版本输入242进行逻辑或以产生bpl—breakTnum—ANY[O] 输出248。
通过使用断点,DSP40的六个线程可个别地进入及退出调试模式200。断点触发可 来自对应于ISDB82中所支持的五种不同类型的断点的五个源。在命中断点后,线程即 从其当前模式(例如,等待/执行)转换成调试模式200。在调试模式200中,线程等待 来自ISDB 82的命令。处于关闭模式198的线程被断电且可能不接受来自ISDB 82的任 何命令。进入调试模式200的延迟是由实施方案界定的,例如,在本揭示内容中被界定 为是关于电源崩溃的事件。举例来说,实施方案可选择在进入调试模式200之前完成给 定操作,例如,完成未处理的加载请求。在一个实施例中,线程识别符寄存器含有8位 读取/写入字段且用于保持软件线程识别符。由硬件调试过程使用此字段来匹配断点。
因此,ISDB 82具有四个操作间断、再继续、填充指令、单步执行。从微结构观 点来看,存在两个基本操作间断及再继续。微间断命令及微再继续命令指间断、填充 指令及单步执行的操作。举例来说,可将填充指令操作视为一微间断命令后接填充指令 操作之后的微再继续命令。断点操作可从如本文所描述的五个源触发。每一间断源可间 断在其对应线程编号屏蔽值中指定的多个线程。
图9说明所揭示的标的物的一个实施例的ISDB命令寄存器内容。这些ISDB控制 寄存器可由主机系统使用以配置ISDB 82,以便执行不同调试过程任务并与处理器通信。 这些寄存器可通过JTAG接口来存取。ISDB状态寄存器(ISDBST)指示ISDB的当前 状态,包括填充命令状态位,对于填充命令状态位而言,值"0"指示填充指令成功, 而值"l"指示填充指令引起异常。主机系统可使用ISDB配置寄存器O及l(ISDBCFGO、 ISDBCFG1)寄存器以启用或停用ISDB 82的各种特征。断点信息寄存器(BRKPTINFO) 对于调试模式中的线程指示哪个触发引起断点。断点PC寄存器0及1 (BRKPTPCO、 BRKPTPC1)分别与BRKPTPCO、控制硬件断点0及1相同。断点配置寄存器(BRKPTCFG0及BRKPTCFG1)分别用于配置断点0及1。填充指令寄存器(STFINST) 允许一 32位填充指令。ISDB邮箱寄存器(ISDBMBXIN及ISDBMBXOUT)用于在ISDB 与核心处理器70之间交换数据。ISDB命令寄存器(ISDBCMD)由DSP 40使用以向ISDB 82发出各种命令。此ISDB启用寄存器(ISDBEN)启用ISDB操作并允许检验"安全" ISDB启用位的状态及ISDB时钟。ISDB版本寄存器(ISDBVER)读取芯片中所存在的 ISDB设计的版本。ISDB通用寄存器(ISDBGPR)提供用于与ISDB 82相关联的通用功 能的存储。
在所揭示的实施例中,ISDB命令寄存器提供一32位寄存器,其值输出到DSP 40 中。ISDB命令寄存器可用于以MSM特定方式来控制外部硬件。ISDB控制寄存器经由 JTAG接口 84由调试过程主机软件来存取且分布于三个单元上ISDB 82、 IU114及CU 112。替代将所有寄存器放置于ISDB 82中,将寄存器局域地放置于主要使用寄存器值 的单元中。
图9的ISDB寄存器按以下方式分布于ISDB 82、 IU 114及CU 112中ISDB 82包 括ISDB启用寄存器;ISDB版本寄存器;及ISDB通用寄存器。CU 112 (其中为ISDB 控制邮箱、断点逻辑及微命令产生器区块)包括ISDB配置寄存器(ISDBCFGO与 ISDBCFG1)、命令寄存器(ISDBCMD)、断点配置寄存器(BRKPTCFG0与BRKPTCFGl)、 断点信息寄存器(BRKPTINFO)、断点状态寄存器(ISDBST)、断点邮箱输入寄存器 (ISDBMBXIN、 ISDBMBXOUT)。 IU 114 112寄存器区块包括断点命令寄存器 (BRKPTPCO、 BRKPTPC1)、断点配置寄存器(BRKPTCFGO, BRKPTCFG1)及如与本 发明相关的填充命令寄存器(STFINST)。
本文所揭示的指令填充提供一种用于ISDB82执行核心上的指令的方法及系统。因 各种原因而填充指令。这些原因可包括读取及/或写入核心寄存器及存储器以及调试经提 取用于用户及用户输入指令的处理操作的原因。为填充一指令,首先,用户用待执行的 32位指令来将ISDB命令寄存器的STFINST寄存器编程。接着,写入ISDB命令寄存器, 以将命令字段设置为填充码而开始。接着,过程将线程编号字段设置为接收指令的线程。 优选的是可设置线程编号字段中的一个位。在可填充指令之前,选定线程必须处于调试 模式200。如果线程编号中的一个以上位被设置或选定线程并非处于调试模式,则结果 不定。接着,指令填充过程包括设置所填充的指令的特权级(用于用户模式192或管理 器模式194)。在发出填充命令后,可在具有经选择的特权级的经选择线程上执行所述指 令。在指令填充期间,程序计数器(PC)并不增长。使用分支的PC的所填充的指令或 引起异常的指令可对在其上执行所填充的指令的线程使用当前PC值。在所填充的指令引起异常的情况下,ISDB状态寄存器(ISDBST)可指示一异常发 生。所述线程可保持于调试模式中。为特定目的而构造的寄存器可反映异常状态。举例 来说,如果填充一引起TLB未中异常的加载指令,则可将异常寄存器(ELR)设置为当 前PC,所述PC可改变为一异常向量,且状态寄存器(SSR)可保存正确的原因码及状 态信息。调试过程软件可在填充一可能引起异常的指令后査询ISDBST以了解异常是否 发生。如果其发生,则可经由填充一控制寄存器传送指令而读取SSR寄存器以确定异常 原因。
一旦认识到异常,则调试过程具有关于如何处置所述情况的若干选择。举例来说, 调试过程可选择在异常返回点处编程软件或硬件断点并再继续线程,以执行处置程序。 此外,调试过程可将线程重新引导到操作系统"帮助"功能,以及使用单步功能来单步 调试(step through)处置程序。此外,调试过程可手动地解决问题(例如,重新加载TLB)。 确切的策略留给操作系统及/或调试过程实施方案。
寄存器、高速缓存及存储器可通过填充适当指令序列来存取。调试过程软件可通过 填充适当控制寄存器传送指令而读取/写入线程寄存器以在核心寄存器与ISDB邮箱之间
移动数据。此指令可使用管理器特权级来填充以确保无异常发生。高速缓存内容(数据 及高速缓存标记值)可通过填充适当高速缓存维持及加载指令来读取及/或写入。
存储器可通过填充适当加载/存储指令来读取/写入。当启用MMU时,加载及存储 总是使用一虚拟地址来执行。MMU提供可存储于高速缓存存储器中的信息,例如,可 高速缓存信令、不可高速缓存信令等。如果需要从一特定源存取存储器(例如,从非高 速缓存存储器中的装置读取),则调试过程软件确保MMU经适当配置以用于此存取。 对于某些调试情形,调试过程软件可使用操作系统的帮助以配置一特定情形。
高速缓存内容就好像所填充的指令来自正常程序流一样受到影响。举例来说,在数 据高速缓存中未中的可高速缓存加载可引起行替换(line replacements在一个线程处于 调试模式且其它线程正在运行的情况下,高速缓存内容可相应改变。在于高速缓存中未 中的一载入或一非高速缓存的加载的状况下,不可将填充命令在ISDB状态寄存器中报 告为完整的直至加载数据返回且操作正常完成为止。
为读取指令存储器,可发生一类似于读取数据存储器的程序。为写入指令存储器(例 如,为设置软件断点),首先,调试过程软件可填充一存储指令以写入指令存储器。接 着,所述过程包括填充一数据高速缓存清除地址指令以迫使数据进入外部存储器中; 填充一阻挡指令(barrier instruction)以确保可在外部存储器中观察到变化;及填充一指
令高速缓存无效地址指令以从指令高速缓存中移除旧输入。本文所揭示的指令填充也可与复位DSP40相关联地使用。注意,执行ISDB复位命 令迫使硬件复位且使整个DSP40 (亦即,所有线程)复位。此可将所有寄存器设置为初 始值,使线程T0:T5断电且将复位中断发送到线程T0。另一方面,如果需要复位仅特定 线程,则此可使用指令填充来进行。所述步骤包括填充一具有适当屏蔽设置的"开始" 指令。此可导致复位中断挂起到所指示的线程。接着,序列包括在所要线程上执行ISDB 再继续指令。因此,执行此序列使得进行线程选择性复位而无需复位DSP 40的所有线 程的有利过程成为可能。
图10呈现一描绘在所揭示的非侵入性调试过程中的指令填充的所揭示过程的处理 时序循环图表。如图IO所描绘,在特定线程上的填充操作期间的信号行为展示在DSP40 的单个线程上的事件的序列。可通过其对应管线级中的每一线程而看到类似行为。所填 充的指令是通过写入到ISDB命令寄存器的STFINST寄存器而提供。为执行所填充的指 令,调试软件用填充命令写入到ISDB命令寄存器。所述命令也提供用于执行所填充的 指令的特定线程。ISDB控制寄存器138在用于在其上执行填充指令的线程的线程管线 处理的EX3级中发出微再继续命令。此时,将CUISDB微再继续类型EX3寄存器设置 为"0x2"。此指示所发出的微再继续命令将执行填充操作。CU 112在随后循环的WB 级确定CU调试异常指令。 一旦接收到CU调试异常指令,IU 114便清除旧指令缓冲器 状态并准备自一类似于常规异常的新位置提取。
CU 112在随后RF级中将填充指令请求发送到IU 114并在WB级中确定CU下一发 出指针指令。 一旦接收到CU下一发出指针指令,IU 114便以类似于UC指令的方式将 所填充的指令提供到CU 112。其可与IU 114内部的BU返回数据多路复用一次,而非 在每一线程基础上进行多路复用。此特征节省多路复用成本,而且迂回绕过拥塞及指令 高速缓存。微再继续命令与旁带信号相关联以指示所填充的指令的特权级。此允许在用 户模式192或管理器模式194中执行。
在所填充的指令正被执行时,CU U2将另一指令请求发送到IU 114以用常规程序 指令恢复指令缓冲器。当提交所填充的指令时,无论再继续状态是成功还是不成功,CU 112均需要在WB处理级中返回微再继续状态以及确认。ISDB控制器138接着在随后的 RF级中发出一微间断命令以防止CU 112执行下一指令。如果再继续状态不成功,则 CU 112可指令IU 114以正常方式处置异常。然而,注意,唯一原因在于所填充的指令 引起异常。当前程序计数器可被推到ELR且接着经更新到异常处置程序进入点。线程可 因微间断命令而被停止。在接收到微间断命令确认后,填充指令可完成。因此,在此情 况下微间断命令状态可总为成功。总之,所揭示的标的物提供一种用于将指令填充到多线程数字信号处理器的处理管 线中以用于改进软件指令调试操作的方法及系统。所述方法及系统用于将填充指令写入 到调试过程注册表中。本发明包括将填充命令写入调试过程命令寄存器中以用于执行所 填充的指令。通过填充指令来识别多线程数字信号处理器的其中将执行填充指令的一预 定线程。所述过程及系统在多线程数字信号处理器上执行线程的预定级(亦即,EX3级) 期间发出CU 112调试过程控制再继续命令,且将CU 112调试过程再继续类型设置为执 行线程的预定级以用于指示所发出的再继续命令将执行填充操作。本发明也在随后循环 的WB级中断言CU 112异常命令且一旦断言CU 112异常命令便清除旧指令缓冲器状 态。接着,所述方法及系统准备从类似于常规异常的新位置中提取,同时尽管有调试过 程异常但仍维持ELR。
此外,本实施例在随后处理级中将填充请求从CU 112发送到IU 114且在随后循环 断言CU112下一发出指针。 一旦接收到CU112下一发出指针,便将所填充的指令提供 到CU112,因此IU114以类似于UC指令的方式将所填充的指令提供到CU112。接着 仅将所填充的指令与IU 114内部的BU返回数据多路复用一次,而非基于每一线程进行 多路复用。微再继续命令与旁带信号相关联以指示所填充的指令的特权级(在用户/管理 器模式中执行)。在所填充的指令正被执行时,CU112将另一指令请求发送到IU114以 用常规程序指令恢复指令缓冲器。接着,当提交所填充的指令时,无论再继续状态是成 功还是不成功,CU 112均需要在WB中返回微再继续状态以及确认。CUISDB控制器 接着在随后RF级中发出一微间断命令以防止CU 112执行下一指令。如果再继续状态为 不成功(亦即,当所填充的指令引起异常时),则CU112可控制IU114以正常方式处置 所述异常。接着,可将当前PC存储于DSP40的ELR寄存器中,且可将PC更新到异常 处置程序进入点。接着,线程可因微间断命令而停止。在接收到微间断命令确认后,填 充指令完成。
可以各种方式来实施本文中针对与多线程数字信号处理器中的非侵入性线程选择 性调试相关联的指令填充操作所描述的处理特征及功能。举例来说,不仅DSP40可执 行上述操作,而且本实施例可被实施于专用集成电路(ASIC)、微控制器、数字信号处 理器或经设计以执行本文中所描述的功能的其它电子电路中。此外,此处所描述的过程 及特征可存储于磁性记录媒体、光学记录媒体或其它记录媒体中,以用于由此些各种信 号及指令处理系统读取及执行。因此,提供优选实施例的前述描述以使所属领域的技术 人员能够制造或使用所主张标的物。对这些实施例的各种修改对于所属领域的技术人员 而言将显而易见,且本文中所界定的一般原理可不使用创新技能而应用于其它实施例。因此,所主张的标的物并非意图限于本文中所示的实施例,而是符合与本文中所揭示的 原理及新颖特征一致的最广泛范围。
权利要求
1.一种用于在多线程数字信号处理器的处理管线中填充指令以用于改进软件指令调试操作的方法,其包含将填充指令写入到与调试过程相关联的调试过程注册表中;在预定线程上执行的预定级期间从核心处理器发出调试过程控制再继续命令;将所述填充指令提供到所述核心处理器;在所述调试过程期间指示所述核心处理器执行所述填充指令;及与所述核心处理器过程及所述调试过程相关联地执行所述填充指令。
2. 根据权利要求1所述的方法,其进一步包含响应于所述填充指令而将填充命令写入 与所述调试过程注册表相关联的调试过程命令寄存器中,所述填充命令包含对所述 多线程数字信号处理器的其中将执行所述填充指令的一预定线程的识别。
3. 根据权利要求l所述的方法,其进一步包含在用户操作模式中执行所述填充指令。
4. 根据权利要求1所述的方法,其进一步包含在管理器操作模式中执行所述填充指 令。
5. 根据权利要求1所述的方法,其进一步包含响应于所述填充指令而将填充命令写入 与所述调试过程注册表相关联的调试过程命令寄存器中,所述填充命令包含对所述 多线程数字信号处理器的其中将执行所述填充指令的多个预定线程的识别。
6. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为分支指令而写入及 将当前程序计数器值用于所述预定线程。
7. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为开始/再继续指令 而写入以用于选择性地复位所述预定线程。
8. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为加载指令而写入到 与所述调试过程相关联的所述调试过程注册表中。
9. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为寄存器读取指令而 写入到与所述调试过程相关联的所述调试过程注册表中。
10. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为高速缓存读取/写 入指令而写入到与所述调试过程相关联的所述调试过程注册表中。
11. 根据权利要求1所述的方法,其进一步包含将所述填充指令作为存储器读取/写入 指令而写入到与所述调试过程相关联的所述调试过程注册表中。
12. —种数字信号处理器调试系统,其包含用于在多线程数字信号处理器的处理管线中 填充指令的电路及指令,所述数字信号处理器调试系统包含调试过程注册表,其与调试过程相关联以用于接收填充指令;调试过程控制再继续命令,其用于在预定线程上执行的预定级期间从核心处理器 发出;用于将所述填充指令提供到所述核心处理器的装置;用于在所述调试过程期间指示所述核心处理器执行所述填充指令的指示装置;及 用于与所述核心处理器过程及所述调试过程相关联地执行所述填充指令的装置。
13. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含与所述调试过程 注册表相关联的调试过程命令寄存器以用于响应于所述填充指令而接收填充命令, 所述填充命令包含对所述多线程数字信号处理器的其中将执行所述填充指令的一 预定线程的识别。
14. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于在用户操作 模式中执行指令填充方法的电路及指令。
15. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于在管理器操 作模式中执行所述填充的指令的装置。
16. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将所述填充 指令作为分支指令而写入并将当前程序计数器值用于所述预定线程的装置。
17. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将所述填充 指令作为开始/再继续指令而写入以用于选择性地复位所述预定线程的装置。
18. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将填充指令 作为加载指令而写入到与所述调试过程相关联的所述调试过程注册表中的装置。
19. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将填充指令 作为寄存器读取指令而写入到与所述调试过程相关联的所述调试过程注册表中的 装置。
20. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将填充指令 作为高速缓存读取/写入指令而写入到与所述调试过程相关联的所述调试过程注册 表中的装置。
21. 根据权利要求12所述的数字信号处理器调试系统,其进一步包含用于将填充指令 作为存储器读取/写入指令而写入到与所述调试过程相关联的所述调试过程注册表 中的装置。
22. —种用于支持个人电子装置而操作的数字信号处理器,所述数字信号处理器包含在所述数字信号处理器的非侵入性数字信号处理器调试操作期间用于指令填充 操作的装置;用于将填充指令写入到与所述调试过程相关联的调试过程注册表中的装置; 用于在预定线程上执行的预定级期间从核心处理器发出调试过程控制再继续命 令的装置;用于在所述调试过程期间指示所述核心处理器执行所述填充指令的装置; 用于将所述填充指令提供到所述核心处理器的装置;及用于与所述核心处理器过程及所述调试过程相关联地执行所述填充指令的装置。
23. 根据权利要求22所述的数字信号处理器,其进一步包含用于响应于所述填充指令 而将填充命令写入与所述调试过程注册表相关联的调试过程命令寄存器中的装置, 所述填充命令包含对所述多线程数字信号处理器的其中将执行所述填充指令的一预定线程的识别。
24. 根据权利要求22所述的数字信号处理器,其进一步包含用于在用户操作模式中执 行所述填充指令的装置。
25. 根据权利要求22所述的数字信号处理器,其进一步包含用于在管理器操作模式中 执行所述填充指令的装置。
26. 根据权利要求22所述的数字信号处理器,其进一步包含用于响应于所述填充指令 而将填充命令写入与所述调试过程注册表相关联的所述调试过程命令寄存器中的 装置,所述填充命令包含对所述多线程数字信号处理器的其中将执行所述填充指令 的多个预定线程的识别。
27. 根据权利要求22所述的数字信号处理器,其进一步包含用于将所述填充指令作为 分支指令而写入并将当前程序计数器值用于所述预定线程的装置。
28. 根据权利要求22所述的数字信号处理器,其进一步包含用于将所述填充指令作为 开始/再继续指令而写入以用于选择性地复位所述预定线程的装置。
29. 根据权利要求22所述的数字信号处理器,其进一步包含用于将填充指令作为加载 指令而写入到与所述调试过程相关联的所述调试过程注册表中的装置。
30. 根据权利要求22所述的数字信号处理器,其进一步包含用于将填充指令作为寄存 器读取指令而写入到与所述调试过程相关联的所述调试过程注册表中的装置。
31. 根据权利要求22所述的数字信号处理器,其进一步包含用于将填充指令作为高速 缓存读取/写入指令而写入到与所述调试过程相关联的所述调试过程注册表中的装 置。
32. 根据权利要求22所述的数字信号处理器,其进一步包含用于将填充指令作为存储 器读取/写入指令而写入到与所述调试过程相关联的所述调试过程注册表中的装置。
33. —种其中包含有用于处理数字信号处理器上的指令的计算机可读程序码装置的计算机可用媒体,所述计算机可读程序码装置在所述数字信号处理器的非侵入性数字信号处理器调试操作期间用于指令填充操作,所述计算机可用媒体包含用于将填充指令写入到与调试过程相关联的调试过程注册表中的计算机可读程 序码装置;用于在预定线程上执行的预定级期间从核心处理器发出调试过程控制再继续命令的计算机可读程序码装置;用于将所述填充指令提供到所述核心处理器的计算机可读程序码装置; 用于在所述调试过程期间指示所述核心处理器执行所述填充指令的计算机可读程序码装置;及用于与所述核心处理器过程及所述调试过程相关联地执行所述填充指令的计算 机可读程序码装置。
34. 根据权利要求33所述的计算机可用媒体,其进一步包含用于响应于所述填充指令 而将填充命令写入与所述调试过程注册表相关联的调试过程命令寄存器中的计算 机可读程序码装置,所述填充命令包含对所述多线程数字信号处理器的其中将执行 所述填充指令的一预定线程的识别。
35. 根据权利要求33所述的计算机可用媒体,其进一步包含用于将所述填充指令作为 开始/再继续指令而写入以用于选择性地复位所述预定线程的计算机可读程序码装 置。
全文摘要
本发明提供数字信号处理器的技术D的设计及使用,其包括(但不限于)用于处理通信系统(例如CDMA)中的传输。在多线程数字信号处理器的处理管线中填充指令用于操作核心处理器过程及调试机构内的调试过程。将填充指令写入到调试过程注册表中及将填充命令写入调试过程命令寄存器中用于识别所述多线程数字信号处理器的其中将执行所述填充指令的预定线程。所述指令填充过程在所述预定线程上执行的预定级期间发出调试过程控制再继续命令,且在所述调试过程期间引导所述核心处理器执行所述填充指令。接着,所述核心处理器可与所述核心处理器过程及所述调试过程相关联地执行所述填充的指令。
文档编号G06F11/36GK101529392SQ200780040276
公开日2009年9月9日 申请日期2007年11月13日 优先权日2006年11月15日
发明者卢奇安·科德雷斯库, 威廉·C·安德森, 苏雷什·文库马汉提, 路易斯·阿奇列·詹尼尼, 陈旭峰, 马诺伊库马尔·皮拉 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1