CN107548488A - 具有dsp引擎及增强上下文切换能力的中央处理单元 - Google Patents
具有dsp引擎及增强上下文切换能力的中央处理单元 Download PDFInfo
- Publication number
- CN107548488A CN107548488A CN201680024470.9A CN201680024470A CN107548488A CN 107548488 A CN107548488 A CN 107548488A CN 201680024470 A CN201680024470 A CN 201680024470A CN 107548488 A CN107548488 A CN 107548488A
- Authority
- CN
- China
- Prior art keywords
- dsp
- contexts
- register
- control
- cpu
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明揭示一种集成电路装置,所述集成电路装置具有:第一中央处理单元,其包含数字信号处理DSP引擎;及多个上下文,每一上下文具有CPU上下文及DSP上下文,所述CPU上下文具有多个寄存器,其中所述DSP上下文具有控制位及多个DSP寄存器,其中在所述集成电路装置的复位之后,所有DSP上下文的所述控制位连结在一起,使得写入到DSP上下文的所述控制位的数据被写入到所有其它DSP上下文的相应控制位,且仅在到另一上下文的上下文切换及所述另一DSP上下文的所述控制位中的至少一者的修改之后,从所述链路解离所述另一上下文的所述控制位以形成所述DSP上下文的独立控制位。
Description
相关专利申请案
本申请案主张2015年4月30日申请的共同拥有的第62/154,993号美国临时专利申请案的优先权,所述临时专利申请案特此出于所有目的而以引用的方式并入本文中。
技术领域
本发明涉及中央处理单元(CPU),特定来说,涉及具有CPU及集成数字信号处理引擎(DSP)的微控制器。
背景技术
嵌入式系统包括中央处理单元(CPU)、存储器及多个外围装置以形成单芯片系统或单芯片微控制器。CPU可进一步经增强以具有数字信号处理能力,例如由本申请案的受让人制造的dsPIC核心。例如,如图1A中所展示,处理单元可包括具有额外数字信号处理(DSP)引擎的CPU,例如由本申请案的受让人制造的dsPIC核心。详细信息可(例如)从由微芯片技术公司(Microchip Technologies Inc.)于2006年出版的参考手册“dsPIC30F系列参考手册”、数据表DS70049C获得,所述参考手册特此以引用的方式并入。
如可见,此核心具有典型数字信号处理能力,例如X数据RAM及单独Y数据RAM以及与所述RAM耦合的DSP引擎及寄存器文件,使得可并行存取所述RAM。展示此处理核心的其它典型元件。DSP引擎本身并非单独核心。而是,所述DSP引擎运用额外DSP典型指令来增强CPU。另外,此常规DSP增强微控制器在图1A中底部处展示通过系统总线而与核心耦合的特定外围装置。图1B展示图1A的框图的DSP引擎的更详细框图。如图1A及1B中展示的处理核心是包括数字信号处理能力的单个处理核心。所述核心可在多核装置中用作核心中的一者。
发明内容
需要此类装置的经改进上下文切换能力。
根据实施例,一种集成电路装置可包括:第一中央处理单元,其包含数字信号处理(DSP)引擎;及多个上下文,每一上下文包括CPU上下文及DSP上下文,所述CPU上下文包括多个寄存器,其中DSP上下文包括控制位及多个DSP寄存器,其中在集成电路装置的复位之后,所有DSP上下文的控制位连结在一起,使得写入到DSP上下文的控制位的数据被写入到所有其它DSP上下文的相应控制位,且仅在到另一上下文的上下文切换及另一DSP上下文的控制位中的至少一者的修改之后,从链路解离另一上下文的控制位以形成DSP上下文的独立控制位。
根据另一实施例,控制位可为控制寄存器的部分。根据另一实施例,控制寄存器可包括并非DSP上下文的部分且未连结的非DSP位。根据另一实施例,在集成电路装置的复位之后,DSP上下文的所有寄存器可连结在一起,使得写入到DSP上下文的一个寄存器的数据被写入到所有其它DSP上下文的相应寄存器,且仅在到另一上下文的上下文切换及另一DSP上下文的控制寄存器的修改之后,从链路解离另一上下文的寄存器以形成DSP上下文的独立寄存器。根据另一实施例,DSP上下文寄存器可包括指示DSP引擎的状态的状态寄存器的至少预定义数目个位。根据另一实施例,多个DSP寄存器可包括至少一个累加器。根据另一实施例,多个DSP寄存器可包括并非用于DSP引擎的CPU上下文的部分的至少一个工作寄存器。根据另一实施例,多个DSP寄存器可包括并非CPU上下文的部分的至少又一工作寄存器。根据另一实施例,控制位可为可操作以控制并配置DSP引擎的DSP引擎控制寄存器的部分。根据另一实施例,DSP引擎控制寄存器可包括循环控制位、累加器控制位,及至少一个乘法器控制位。根据另一实施例,DSP引擎控制寄存器可进一步包括CPU中断优先级控制位。根据另一实施例,DSP引擎控制寄存器可包括程序空间可见性控制位。根据另一实施例,至少一个累加器在上下文切换之后的修改并不触发相关联DSP上下文的解离。根据另一实施例,在DSP上下文的解离之后,集成电路装置的后续复位可再次连结所有DSP控制位。根据另一实施例,集成电路装置可进一步包括第二中央处理单元。根据另一实施例,所述第二中央处理单元操作为主单元且第一中央处理单元操作为从单元。根据另一实施例,第一中央处理单元是集成电路装置的第一微控制器单元的处理单元且第二中央处理单元是集成电路装置的第二微控制器单元的处理单元。根据另一实施例,第一微控制器单元包括随机存取程序存储器,所述随机存取程序存储器经配置以通过第二中央处理单元通过耦合第二微控制器单元与所述随机存取程序存储器的接口加载。
根据另一实施例,一种用于操作包括包含数字信号处理(DSP)引擎的第一中央处理单元的集成电路装置的方法可包括:提供多个上下文,每一上下文包括CPU上下文及DSP上下文,其中DSP上下文包括控制位及多个DSP寄存器;复位集成电路装置,其中复位引起所有DSP上下文的控制位连结在一起,使得写入到当前DSP控制位的数据被写入到所有其它DSP上下文的控制位;及切换到另一上下文且修改所述另一上下文的DSP上下文的至少一个控制位,其中从链路解离所述另一上下文的控制位以形成独立控制位。
根据所述方法的另一实施例,控制位可为控制寄存器的部分。根据所述方法的另一实施例,控制寄存器可包括并非DSP上下文的部分且未连结的非DSP位。根据所述方法的另一实施例,在集成电路装置的复位之后,DSP上下文的所有寄存器连结在一起,使得写入到DSP上下文的一个寄存器的数据被写入到所有其它DSP上下文的相应寄存器,且仅在到另一上下文的上下文切换及另一DSP上下文的控制寄存器的修改之后,从链路解离另一上下文的寄存器以形成DSP上下文的独立寄存器。根据所述方法的另一实施例,DSP上下文可包括指示DSP引擎的状态的状态寄存器的至少预定义数目个位。根据所述方法的另一实施例,DSP上下文包括至少一个累加器。根据所述方法的另一实施例,DSP上下文可包括并非CPU上下文的部分的用于DSP引擎的至少一个工作寄存器。根据所述方法的另一实施例,DSP上下文可包括并非CPU上下文的部分的至少又一工作寄存器。根据所述方法的另一实施例,所述方法可进一步包括运用包括所述控制位的控制寄存器来控制DSP引擎。根据所述方法的另一实施例,至少一个累加器在上下文切换之后的修改并不触发相关联DSP上下文的解离。根据所述方法的另一实施例,在DSP上下文的解离之后,集成电路装置的后续复位再次连结所有DSP控制位。
附图说明
图1A展示常规DSP增强微控制器的框图;
图1B展示DSP引擎的细节;
图2展示根据各种实施例的程序装置模型;
图3展示根据各种实施例的核心控制寄存器;
图4展示多个DSP上下文的第一示范性配置;
图5展示多个DSP上下文的第二示范性配置;且
图6展示根据各种实施例的双核微控制器。
具体实施方式
具有DSP能力的常规微控制器(例如dsPIC33系列)提供限于CPU W寄存器的CPU上下文切换,假设所有DSP操作将在仅一个上下文内执行。由于系统复杂性随装置性能增加而增加,因此需要支持多个DSP上下文内的DSP应用码,其中用于所有DSP上下文的DSP引擎配置可不始终一致。需要处理装置内的独立DSP引擎,例如并入dsPIC装置内的DSP引擎,以执行一个以上上下文内的DSP码,其中DSP引擎配置将假设为一致的。为维持向后码兼容性,需要默认成相同使用模型的简洁构件。
根据各种实施例,可提供一种运用用于单或多核(特定来说双核)微控制器的每一上下文内的独立DSP引擎配置来添加DSP上下文切换的方法及装置,同时不破坏向后码兼容性。
根据各种实施例,DSP上下文添加到现有上下文切换机构且提供用于独立DSP上下文配置的支持。另外,可维持与现有应用码的向后兼容性以已执行一个以上上下文中的DSP码(使用相同DSP引擎配置)。
根据实施例,提供基于中断的透明硬件上下文切换。此架构运用DSP上下文扩展常规CPU上下文切换。因此,DSP上下文基本上添加到CPU上下文。根据某些实施例,上下文切换在异常处理期间出现于背景中(即,额外开销为零)。换句话说,CPU无需执行任何额外指令以保存上下文。这可大大减小具有并发DSP过程的应用中的上下文切换时间。因此,DSP引擎配置在每一上下文中可能不同。
图2展示核心的寄存器,例如寄存器文件210的工作寄存器及DSP引擎的累加器220以及如用于如图1A中展示的DSP核心中的其它典型DSP寄存器。例如,图2展示数据表页面地址寄存器230、X数据空间读取页面地址寄存器232、X数据空间写入页面地址寄存器234、Y页面地址寄存器236、重复循环计数器寄存器238、Do循环寄存器240及状态寄存器250。另外,图2展示根据各种实施例的增强。
具有DSP引擎(例如dsPIC核心中实施的DSP引擎)的常规处理核心包括CPU上下文,所述CPU上下文包含寄存器W0到W3及状态寄存器250的低部252(LS字节),所述低部展示为图2中的SRL,其在异常处理期间堆叠于图2中未展示的堆栈上。对于寄存器W0到W3来说,可针对每一上下文提供多个额外影子寄存器212。
经改进CPU/DSP上下文包含常规CPU上下文(影子寄存器212)加上DSP上下文。因此,组合CPU/DSP上下文可包含(例如)寄存器:W0到W14,针对其提供额外上下文寄存器文件214;累加器AccA、AccB 220,针对其提供额外上下文累加器222;及状态寄存器SR的高部254(MS字节、DSP状态),其包含具有位OA、OB、SA、SB、OAB及SAB的高部254,针对高部提供额外上下文寄存器256。在异常处理期间再次堆叠状态寄存器250的低位字节252(LS字节)。此外,DSP上下文可包含DSP控制寄存器CORCON 260,其包含如(例如)图3中展示的至少其旗标US、SATA、SATB、SATDW、ACCSAT、RND、IF。控制寄存器260可如图3中所展示进一步经配置且包括早期循环终止控制位EDT、DO循环嵌套级状态位、中断优先级状态位,及数据空间中程序空间可见性启用位PSV。US位用来控制DSP引擎是否以带正负号或不带正负号模式倍增。EDT位控制当前循环反复结束处的早期终止。DL位控制循环嵌套级状态。SATA、SATB及SATDW分别控制累加器及数据空间寄存器的饱和函数。ACCSAT位控制累加器的饱和模式。IPL3位选择CPU中断优先级。PSV位控制程序空间在数据空间中是否可见。RND位控制舍入模式且IF位控制倍增模式。
图2及3中展示的特定实施例可提供4个额外上下文CTXT0…CTXT4。其它DSP设计可取决于相应设计及特定来说更多或更少堆栈寄存器而提供不同DSP上下文。类似地,不同CPU类型可包含用于CPU及/或DSP上下文的不同寄存器。
在退出复位之后,所有内容都写入到背景DSP控制寄存器,在图2及3中展示的实例中,CORCON(仅DSP控制)寄存器将被复制在所有DSP上下文内。在图4中展示此案例。DSP上下文都连结且将以所有其它DSP上下文DSP上下文1…4取代写入到当前DSP上下文0。因此,最初在复位之后,核心表现得与不提供独立上下文用于DSP引擎的先前核心完全相同。
根据实施例,假设将存在五个不同的可用上下文CTXT 0…4。每一上下文包括CPU上下文及DSP上下文,所述CPU上下文具有遮蔽寄存器。然而如上文所陈述,用于DSP的额外上下文在复位之后尚未完全可见,这是因为DSP上下文的内容在某种程度上连结且因此所有DSP上下文包括与存储在控制位中相同的基本信息。因此,虽然五组作用及影子寄存器及堆栈可用,但仅用于CPU的五个作用及影子寄存器真正独立。换句话说,仅用于212的影子寄存器未连结。根据一个实施例,DSP引擎的特定寄存器独立,而DSP控制寄存器的其相关联控制位不独立。最初,在复位之后同时还存在如图4中展示的五个DSP上下文,至少此五个DSP上下文的控制位最初连结且如以虚线所展示非个别可改变。因此,根据一个实施例,如图3中展示的控制寄存器CORCON的DSP相关位对于所有上下文来说相同。只要无上下文切换发生,DSP上下文中的这些控制位的任何改变即将自动转移到所有其它DSP上下文。根据另一实施例,此连结功能延伸到DSP上下文的所有寄存器及控制位。
根据实施例,如上文所提及,上下文连结可仅应用于CORCON寄存器的DSP部分。任何其它DSP上下文寄存器的改变可不径直复制到其它上下文且相对于所述寄存器的所述DSP上下文未连结。然而,根据其它实施例,此原理应用于整个DSP上下文。这在图4中通过耦合根据一个实施例的所有上下文或根据另一实施例的所有控制位的链路410指示。根据实施例,只要累加器220在根据各种实施例的任何DSP上下文中改变,相同情况即可为真实。因此,在复位之后的此实施例中,还将在用于其它上下文的累加器222中自动作出累加器220的任何改变。如上文描述的连结功能可仅结合DSP引擎的控制位使用,这是因为多数实施方案的所有功能将需要这些位的初始化。然而,根据其它实施例,此连结功能可延伸到DSP上下文的更多或所有寄存器。
在来自背景上下文(上下文0)的上下文切换已起始且DSP控制寄存器CORCON 260的修改已发生之后,相应DSP上下文将从链路410取出。例如,如图5中展示的从上下文0到上下文1的切换及DSP控制寄存器260的修改将引起DSP上下文1从链路410取出且现在可通过单独存取420个别改变。在仅连结控制位的实施例中,通过将这些控制位从链路取出而实现相同效果,这是因为DSP上下文的剩余寄存器已分离。
因此,DSP上下文的分离需要来自背景上下文CTX0的上下文切换发生且DSP控制寄存器CORCON 260已被修改。根据其它实施例,可使用用于分离DSP上下文的另一触发器。接着,新上下文的DSP上下文将从链路410取出。在图5中展示的实例中,DSP上下文1将以其当前条件从链路取出且本地CORCON DSP控制位(图5中的DSP上下文1)将经相应更新;到背景CORCON(DSP上下文0)之后续写入将不再影响用于DSP上下文1的本地CORCON DSP控制位,但仍更新仍通过如图5中展示的链路410连结的所有其它上下文。这将应用于每一DSP上下文,直到下一装置复位发生为止。因此,DSP上下文可保持在连结状态且连结到背景上下文0,或一旦上下文的至少一个DSP控制位在从背景上下文切换之后改变,其链路即可自动解离。到另一上下文的任何切换可引起相应DSP上下文在相同条件下的分离。如上文所提及,累加器的改变可不触发解离,仅DSP控制寄存器260中的DSP引擎的一般控制的改变将触发与链路410的分离。
假设在现有DSP引擎码(例如dsPIC33核心)中,将在背景上下文内建立DSP引擎配置(通常在初始化期间)。只要无上下文切换发生,任何配置或重新配置即将自动影响所有其它DSP上下文。因此,根据各种实施例的经改进核心设计可与常规核心设计完全向后兼容。只要:用户等待配置来自另一CPU上下文内的DSP引擎且假设在别处对于DSP码执行来说将为有效的,各种实施例即可不提供向后兼容性。然而,出于向后兼容性目的,此案例将相当罕见且因此可接受。
可在双核或多核装置中进一步实施具有DSP能力的经改进处理核心。双核装置可如图6中展示那样设计且包括主处理装置及从处理装置。两个处理装置可根据图1到3进行设计且各自可包括如图6中展示的相关联外围装置,借此每一装置可在集成电路装置内形成单独微控制器。通信链路模块630可经提供以允许对不同处理核心的控制。如图6中所展示,双或多核处理装置600可经设计以具有具主中央处理单元(CPU)612的主微控制器610及相应具有从中央处理单元622的一或多个从单元620,其中每一从中央处理单元622的核心设计可与主CPU 612的核心设计大致相同或类似于主CPU 612的核心设计且特定来说以如上文论述的DSP增强核心进行设计。然而,根据其它实施例,从CPU 622可不同于主CPU 612且仅从CPU 622可具有上文论述的DSP能力。主微控制器具有如图6中展示的其自身的外围装置组。从单元620可或可不具有其自身的外围装置组,且因此通过其自身形成微控制器。因此,每一主及从装置形成更多或更少完全独立的处理装置且可与专用总线或通信接口630通信。图6展示具有主微控制器610及单一从微控制器620的此设计。提供通信接口630,其允许在两个核心610、620之间的通信。每一处理器612、622可被设计成如展示的哈佛架构。然而,根据各种实施例的原理可被容易地转化为冯·诺依曼(von Neumann)架构。主单元包括(例如)用作程序存储器的快闪存储器616及用作数据存储器的随机存取存储器614,每一存储器与主核心612耦合。
如图6中所展示,从单元620可被设计成无快闪存储器。代替地,提供专用程序随机存取存储器626。归因于此存储器是易失性的事实,其将通过根据各种实施例的主微控制器610加载。此设计选择具有避免由快闪技术提供的瓶颈的优点。快闪存储器一般比RAM更慢。因此,将不存在读取延迟且可以较高执行速度操作从微控制器,这对于特定高速应用(例如(例如)SMPS应用)来说可为非常有益的。如上文所陈述,可根据各种实施例实施一个以上从单元620。假使两个核心相同,则主核心612可经设计以包含额外指令,所述指令可不在从单元622中实施或在从单元中为非功能的。这些额外指令允许数据从快闪存储器616或从外部来源转移到从装置620的PRAM 626中。例如,根据实施例,可在单芯片装置内实施多个核心且每一核心可具有指派配置寄存器,其中此寄存器的位中的一者可定义相应单元是否是主单元或从单元。可存在允许仅核心中的一者设定设置为主核心的逻辑。一旦此位已被设定设置,即可允许执行额外指令。在其它单元(从)中,可不执行这些指令,例如,其可被解译为非法操作码。
通过主单元610存取PRAM 626的控制逻辑可与缓冲器/比较器单元618一起定位于如图6中展示的主单元中。或者,类似单元可被布置在从单元620内。任一单元经设计以将对PRAM的存取唯一地授予主单元610或从单元620。其它实施例可将逻辑的某一部分放置在主核心内且将其它部分放置在从核心中或将逻辑布置在两个单位外部。类似地,通信接口630可在任一单位内部或完全在两个单位外部。可通过通信接口630提供针对PRAM存取单元618的额外控制。实施例并不限于双核实施方案。所属领域的技术人员将了解其它实施方案是可能的。
Claims (29)
1.一种集成电路装置,其包括:
第一中央处理单元,其包含数字信号处理DSP引擎;
多个上下文,每一上下文包括CPU上下文及DSP上下文,所述CPU上下文包括多个寄存器,其中所述DSP上下文包括控制位及多个DSP寄存器,其中在所述集成电路装置的复位之后,所有DSP上下文的所述控制位连结在一起,使得写入到DSP上下文的所述控制位的数据被写入到所有其它DSP上下文的相应控制位,且仅在到另一上下文的上下文切换及所述另一DSP上下文的所述控制位中的至少一者的修改之后,从所述链路解离所述另一上下文的所述控制位以形成所述DSP上下文的独立控制位。
2.根据权利要求1所述的集成电路装置,其中所述控制位是控制寄存器的部分。
3.根据权利要求2所述的集成电路装置,其中所述控制寄存器包括并非DSP上下文的部分且未连结的非DSP位。
4.根据前述权利要求中任一权利要求所述的集成电路装置,其中在所述集成电路装置的复位之后,DSP上下文的所有寄存器连结在一起,使得写入到DSP上下文的一个寄存器的数据被写入到所有其它DSP上下文的相应寄存器,且仅在到另一上下文的上下文切换及所述另一DSP上下文的所述控制寄存器的修改之后,从所述链路解离所述另一上下文的所述寄存器以形成所述DSP上下文的独立寄存器。
5.根据前述权利要求中任一权利要求所述的集成电路装置,其中所述DSP上下文寄存器包括指示所述DSP引擎的状态的状态寄存器的至少预定义数目个位。
6.根据前述权利要求中任一权利要求所述的集成电路装置,其中所述多个DSP寄存器包括至少一个累加器。
7.根据前述权利要求中任一权利要求所述的集成电路装置,其中所述多个DSP寄存器包括并非用于所述DSP引擎的所述CPU上下文的部分的至少一个工作寄存器。
8.根据前述权利要求中任一权利要求所述的集成电路装置,其中所述多个DSP寄存器包括并非所述CPU上下文的部分的至少又一工作寄存器。
9.根据前述权利要求中任一权利要求所述的集成电路装置,其中所述控制位是可操作以控制并配置所述DSP引擎的DSP引擎控制寄存器的部分。
10.根据权利要求9所述的集成电路装置,其中所述DSP引擎控制寄存器包括循环控制位、累加器控制位及至少一个乘法器控制位。
11.根据权利要求9或权利要求10所述的集成电路装置,其中所述DSP引擎控制寄存器进一步包括CPU中断优先级控制位。
12.根据权利要求9到11中任一权利要求所述的集成电路装置,其中所述DSP引擎控制寄存器包括程序空间可见性控制位。
13.根据权利要求6所述的集成电路装置,其中所述至少一个累加器在上下文切换之后的修改并不触发相关联DSP上下文的解离。
14.根据前述权利要求中任一权利要求所述的集成电路装置,其中在DSP上下文的解离之后,所述集成电路装置的后续复位再次连结所有DSP控制位。
15.根据前述权利要求中任一权利要求所述的集成电路装置,其包括第二中央处理单元。
16.根据权利要求15所述的集成电路装置,其中所述第二中央处理单元操作为主装置且所述第一中央处理单元操作为从装置。
17.根据权利要求15或权利要求16所述的集成电路装置,其中所述第一中央处理单元是所述集成电路装置的第一微控制器单元的处理单元,且所述第二中央处理单元是所述集成电路装置的第二微控制器单元的处理单元。
18.根据权利要求15到17中任一权利要求所述的集成电路装置,其中所述第一微控制器单元包括随机存取程序存储器,所述存储器经配置以通过所述第二中央处理单元通过耦合所述第二微控制器单元与所述随机存取程序存储器的接口加载。
19.一种用于操作包括包含数字信号处理DSP引擎的第一中央处理单元的集成电路装置的方法,所述方法包括:
提供多个上下文,每一上下文包括CPU上下文及DSP上下文,其中所述DSP上下文包括控制位及多个DSP寄存器,
复位所述集成电路装置,其中复位引起所有DSP上下文的所述控制位连结在一起,使得写入到当前DSP控制位的数据被写入到所有其它DSP上下文的控制位;
及
切换到另一上下文且修改所述另一上下文的所述DSP上下文的至少一个控制位,
其中从所述链路解离所述另一上下文的所述控制位以形成独立控制位。
20.根据权利要求19所述的方法,其中所述控制位是控制寄存器的部分。
21.根据权利要求20所述的方法,其中所述控制寄存器包括并非DSP上下文的部分且未连结的非DSP位。
22.根据权利要求20或权利要求21所述的方法,其中在所述集成电路装置的复位之后,DSP上下文的所有寄存器连结在一起,使得写入到DSP上下文的一个寄存器的数据被写入到所有其它DSP上下文的相应寄存器,且仅在到另一上下文的上下文切换及所述另一DSP上下文的所述控制寄存器的修改之后,从所述链路解离所述另一上下文的所述寄存器以形成所述DSP上下文的独立寄存器。
23.根据权利要求19到22中任一权利要求所述的方法,其中所述DSP上下文包括指示所述DSP引擎的状态的状态寄存器的至少预定义数目个位。
24.根据权利要求19到23中任一权利要求所述的方法,其中所述DSP上下文包括至少一个累加器。
25.根据权利要求19到24中任一权利要求所述的方法,其中所述DSP上下文包括并非所述CPU上下文的部分的用于所述DSP引擎的至少一个工作寄存器。
26.根据权利要求25所述的方法,其中所述DSP上下文包括并非所述CPU上下文的部分的至少又一工作寄存器。
27.根据权利要求19到26中任一权利要求所述的方法,其进一步包括运用包括所述控制位的所述控制寄存器来控制所述DSP引擎。
28.根据权利要求24到27中任一权利要求所述的方法,其中所述至少一个累加器在上下文切换之后的修改并不触发相关联DSP上下文的解离。
29.根据权利要求19到28中任一权利要求所述的方法,其中在DSP上下文的解离之后,所述集成电路装置的后续复位再次连结所有DSP控制位。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562154993P | 2015-04-30 | 2015-04-30 | |
US62/154,993 | 2015-04-30 | ||
US15/141,817 US10802866B2 (en) | 2015-04-30 | 2016-04-28 | Central processing unit with DSP engine and enhanced context switch capabilities |
US15/141,817 | 2016-04-28 | ||
PCT/US2016/030141 WO2016176585A1 (en) | 2015-04-30 | 2016-04-29 | Central processing unit with dsp engine and enhanced context switch capabilities |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107548488A true CN107548488A (zh) | 2018-01-05 |
CN107548488B CN107548488B (zh) | 2021-09-03 |
Family
ID=56087502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024470.9A Active CN107548488B (zh) | 2015-04-30 | 2016-04-29 | 具有dsp引擎及增强上下文切换能力的中央处理单元 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10802866B2 (zh) |
EP (1) | EP3289443B1 (zh) |
JP (1) | JP2018514867A (zh) |
KR (1) | KR20170141205A (zh) |
CN (1) | CN107548488B (zh) |
TW (1) | TW201706829A (zh) |
WO (1) | WO2016176585A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104884133B (zh) | 2013-03-14 | 2018-02-23 | 艾肯运动与健康公司 | 具有飞轮的力量训练设备 |
EP3623020B1 (en) | 2013-12-26 | 2024-05-01 | iFIT Inc. | Magnetic resistance mechanism in a cable machine |
CN106470739B (zh) | 2014-06-09 | 2019-06-21 | 爱康保健健身有限公司 | 并入跑步机的缆索系统 |
US10940360B2 (en) | 2015-08-26 | 2021-03-09 | Icon Health & Fitness, Inc. | Strength exercise mechanisms |
TWI644702B (zh) | 2015-08-26 | 2018-12-21 | 美商愛康運動與健康公司 | 力量運動機械裝置 |
US10441840B2 (en) | 2016-03-18 | 2019-10-15 | Icon Health & Fitness, Inc. | Collapsible strength exercise machine |
US10293211B2 (en) | 2016-03-18 | 2019-05-21 | Icon Health & Fitness, Inc. | Coordinated weight selection |
US10252109B2 (en) | 2016-05-13 | 2019-04-09 | Icon Health & Fitness, Inc. | Weight platform treadmill |
US10661114B2 (en) | 2016-11-01 | 2020-05-26 | Icon Health & Fitness, Inc. | Body weight lift mechanism on treadmill |
TWI703500B (zh) * | 2019-02-01 | 2020-09-01 | 睿寬智能科技有限公司 | 可縮短內文交換時間之方法及其半導體裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128641A (en) * | 1997-09-12 | 2000-10-03 | Siemens Aktiengesellschaft | Data processing unit with hardware assisted context switching capability |
US20030226001A1 (en) * | 2002-05-31 | 2003-12-04 | Moyer William C. | Data processing system having multiple register contexts and method therefor |
US20070226474A1 (en) * | 2006-03-02 | 2007-09-27 | Samsung Electronics Co., Ltd. | Method and system for providing context switch using multiple register file |
CN101501633A (zh) * | 2006-08-07 | 2009-08-05 | 高通股份有限公司 | 具有上下文切换装置的寄存器及上下文切换方法 |
WO2014210345A1 (en) * | 2013-06-28 | 2014-12-31 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109329A (en) * | 1987-02-06 | 1992-04-28 | At&T Bell Laboratories | Multiprocessing method and arrangement |
US6238323B1 (en) * | 1999-09-14 | 2001-05-29 | The Simonson Family Limited Partnership Rlllp | Cable crossover exercise apparatus |
KR100679050B1 (ko) | 2005-12-12 | 2007-02-06 | 삼성전자주식회사 | 태스크간 빠른 문맥 교환을 위해 레지스터 문맥을 저장,복구하는 방법 및 장치 |
US8407715B2 (en) | 2007-04-30 | 2013-03-26 | National Tsing Hua University | Live range sensitive context switch procedure comprising a plurality of register sets associated with usage frequencies and live set information of tasks |
WO2014159123A1 (en) | 2013-03-12 | 2014-10-02 | Microchip Technology Incorporated | Programmable cpu register hardware context swap mechanism |
-
2016
- 2016-04-28 US US15/141,817 patent/US10802866B2/en active Active
- 2016-04-29 EP EP16725962.1A patent/EP3289443B1/en active Active
- 2016-04-29 JP JP2017553983A patent/JP2018514867A/ja active Pending
- 2016-04-29 WO PCT/US2016/030141 patent/WO2016176585A1/en active Application Filing
- 2016-04-29 KR KR1020177030370A patent/KR20170141205A/ko unknown
- 2016-04-29 CN CN201680024470.9A patent/CN107548488B/zh active Active
- 2016-05-02 TW TW105113679A patent/TW201706829A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128641A (en) * | 1997-09-12 | 2000-10-03 | Siemens Aktiengesellschaft | Data processing unit with hardware assisted context switching capability |
US20030226001A1 (en) * | 2002-05-31 | 2003-12-04 | Moyer William C. | Data processing system having multiple register contexts and method therefor |
CN1856770A (zh) * | 2002-05-31 | 2006-11-01 | 飞思卡尔半导体公司 | 具有多寄存器环境的数据处理系统及其方法 |
US20070226474A1 (en) * | 2006-03-02 | 2007-09-27 | Samsung Electronics Co., Ltd. | Method and system for providing context switch using multiple register file |
CN101501633A (zh) * | 2006-08-07 | 2009-08-05 | 高通股份有限公司 | 具有上下文切换装置的寄存器及上下文切换方法 |
WO2014210345A1 (en) * | 2013-06-28 | 2014-12-31 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
Also Published As
Publication number | Publication date |
---|---|
CN107548488B (zh) | 2021-09-03 |
EP3289443B1 (en) | 2020-03-25 |
KR20170141205A (ko) | 2017-12-22 |
EP3289443A1 (en) | 2018-03-07 |
WO2016176585A1 (en) | 2016-11-03 |
US20160321075A1 (en) | 2016-11-03 |
JP2018514867A (ja) | 2018-06-07 |
TW201706829A (zh) | 2017-02-16 |
US10802866B2 (en) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107548488A (zh) | 具有dsp引擎及增强上下文切换能力的中央处理单元 | |
EP2216722B1 (en) | Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets | |
CN103430148B (zh) | 用于元件利用的状态分组 | |
US8094157B1 (en) | Performing an occurence count of radices | |
US8200940B1 (en) | Reduction operations in a synchronous parallel thread processing system with disabled execution threads | |
CN103226463A (zh) | 用于使用预解码数据调度指令的方法和装置 | |
US7689541B1 (en) | Reordering data using a series of offsets | |
JP2014505916A (ja) | Simdレジスタファイルから汎用レジスタファイルへデータを移動させるための方法及び装置 | |
US8365111B2 (en) | Data driven logic simulation | |
CN106462431B (zh) | 在高级综合中提取系统架构 | |
US20140244981A1 (en) | Processor and control method for processor | |
CN106055308A (zh) | 用于低能加速器处理器架构的设备 | |
CN103279379A (zh) | 用于在没有指令解码的情况下调度指令的方法和装置 | |
CN103092810A (zh) | 具有可编程虚拟端口的处理器 | |
US7624107B1 (en) | Radix sort algorithm for graphics processing units | |
CN105824696B (zh) | 一种具有定时中断功能的处理器装置 | |
CN101313290A (zh) | 对仅m×n位外围设备执行n位写入访问 | |
JP4809497B2 (ja) | 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ | |
JP2007500394A (ja) | 優先レベル毎に異なるレジスタセットが関連付けられたプログラマブル優先レベルを有する割り込み構造を備えたマイクロコントローラ | |
CN104303143B (zh) | 具有上下文切换的微控制器 | |
CN100430890C (zh) | 一种8位risc微控制器 | |
JP3723775B2 (ja) | データ処理装置 | |
CN203149572U (zh) | 基于fpga芯片的eda综合实验平台 | |
JPH04195481A (ja) | シングルチツプマイクロコンピュータ及び多機能メモリ | |
CN101354730B (zh) | 一种仿真器芯片的仿真方法 |
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 |