CN207557928U - 处理单元、电子系统和电子装置 - Google Patents

处理单元、电子系统和电子装置 Download PDF

Info

Publication number
CN207557928U
CN207557928U CN201720454309.7U CN201720454309U CN207557928U CN 207557928 U CN207557928 U CN 207557928U CN 201720454309 U CN201720454309 U CN 201720454309U CN 207557928 U CN207557928 U CN 207557928U
Authority
CN
China
Prior art keywords
signal
processing unit
memory controller
microcode
hardware peripherals
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.)
Active
Application number
CN201720454309.7U
Other languages
English (en)
Inventor
V·昂德
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.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
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 STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Application granted granted Critical
Publication of CN207557928U publication Critical patent/CN207557928U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)

Abstract

本公开涉及处理单元、电子系统和电子装置。例如,至少一个微代码存储在至少一个程序存储器中,并且旨在被处理单元的至少一个中央处理单元所执行,该处理单元包括与每个程序存储器相关联的存储器控制器以及至少一个硬件外围设备。根据一种可能的实施方式,该方法包括:响应于更新每个微代码的至少一个请求,向每个硬件外围设备传输从由每个相应存储器控制器生成的基本授权请求信号中获得的全局授权请求信号;响应于该全局授权请求信号并且在满足预定基本条件之后,对从由每个硬件外围设备所生成的基本授权信号中获得的全局授权信号进行传输;以及由该相应存储器控制器更新每个微代码。

Description

处理单元、电子系统和电子装置
技术领域
本实用新型的实施方式和实施例涉及处理单元,特别是微控制器,例如(但非限制性地),用于数字开关式电源的微控制器,这些微控制器由微代码驱动,通常被本领域技术人员称为“固件”,由相应微代码控制器控制,并包含诸如高分辨率定时器或直接存储器存取控制器等硬件外围设备(本领域技术人员分别已知为首字母缩略词“hrtimer”以及“DMA控制器”),并且更具体地涉及处理单元、电子系统和电子装置。
背景技术
通常,微控制器被配置为能够更新微代码并且对硬件外围设备进行编程,其中,具有可能中断微控制器操作的周期,本领域技术人员通常将其称为“停机时间”。
为了更新这种微控制器中的微代码,目前通常需要在更新结束时继续重新启动微控制器、或者在该微代码更新期间继续中断可能的硬件外围设备编程,从而在任何情况下都引起微控制器的另外的停机时间。
可以通过软件实现在更新结束时对微控制器的硬件外围设备的重新编程,而无需对微控制器进行任何重新启动,但是会造成微控制器的工作负载的永久性增加,并显著地增大了实时延迟。
此外,这种重新编程另外增加了软件的复杂性以及微控制器的停机时间。
因此,需要能够执行对微代码和硬件外围设备的即时更新而不中断相关联电源的微控制器。
实用新型内容
因此,根据一个实施方式和实施例,提出了解决此需要并且提供一种低成本和低复杂度的技术方案,以使得在微控制器中进行对微代码和硬件外围设备编程的更新相一致,从而减少、甚至消除微控制器的停机时间。
根据一个方面,提出了一种方法,该述方法用于管理存储在至少一个程序存储器中并且旨在被处理单元的至少一个中央处理单元执行的至少一个微代码的更新,所述处理单元包括与每个程序存储器相关联的存储器控制器以及至少一个硬件外围设备。
微代码的更新在本文被理解为是即时更新,这与微代码本身的上传是不同的,微代码本身连同其主要任务的执行通常都是由处理单元执行的后台任务。
该方法包括:
响应于更新每个微代码的至少一个请求,
向每个硬件外围设备传输从由每个相应存储器控制器生成的基本授权请求信号中获得的全局授权请求信号,
响应于该全局授权请求信号并且在满足这些硬件外围设备中的该至少一个硬件外围设备内的预定基本条件之后,对从由这些硬件外围设备的该至少一个硬件外围设备所生成的至少一个基本授权信号中获得的全局授权信号进行传输,
仅在接收到该全局授权信号之后,由该相应存储器控制器更新每个微代码。
根据变体实施例,可以在处理单元内特别地提供单个中央处理单元、单个存储器控制器以及单个外围设备,或者单个中央处理单元、单个存储器控制器以及若干外围设备,或者若干中央处理单元、若干存储器控制器和若干外围设备。
当仅提供一个存储器控制器时,全局授权请求信号是由存储器控制器产生的基本授权请求信号。
当仅提供一个外围设备时,全局授权信号是由外围设备产生的基本授权信号。
然而,当提供了若干存储器控制器时,可以从由各种存储器控制器产生的基本授权请求信号中获得全局授权请求信号。
类似地,当提供了若干外围设备时,可以根据对这些外围设备的选择从由各种外围设备或可能地由这些外围设备中的一个或一些外围设备所生成的基本授权信号中获得全局授权信号。
通过这种方法,只有当所选择的该或全部外围设备已满足其内的预定条件时(例如当它们准备好执行操作时),才能更新该微代码或这些微代码。否则,不执行微代码更新,并且等待接收到全局授权信号(通常为确认信号),该全局授权信号由所选择的该或这些外围设备所产生,并且该全局授权信号表明所选择的该或这些外围设备都准备好执行其各自的操作,即它们各自满足其预定条件。
通过这种方法,可以以透明的方式有利地使对至少一个微代码的更新与对至少一个硬件外围设备的至少一个操作的执行相一致。
换言之,对该至少一个微代码的更新不会引起对该至少一个硬件外围设备的操作执行的任何中断。
对微代码的即时更新也不会引起对中央处理单元的执行的任何中断。相关联的存储器控制器提供了从软件的一个版本到另一个版本的改变,而无需重置或重启该中央处理单元。
这种操作透明性有利地提供了对微控制器的混合抽象层的更新,在这种情况下对微处理器的高级更新以及对外围设备的低级更新。
更新微代码的该至少一个请求可以是外部的(例如,外部信号或由按钮的动作产生的信号)、或者更一般地是内部的(例如在对相应新微代码进行上传和检查之后由每个相关联的中央处理单元产生的控制信号)。
如前所述,根据一个实施方式,满足该预定基本条件包括:在这些硬件外围设备中的该至少一个硬件外围设备接收到执行至少一个操作的请求之后,触发这些硬件外围设备中的该至少一个硬件外围设备执行此操作。
满足该预定基本条件可以另外包括:在接收到执行该至少一个操作的该请求之后,在触发执行此操作之前,预加载该外围设备的至少一个相应控制寄存器,该触发在该外围设备的至少一个更新事件信号的下一个触发边沿时刻被激活。
根据一个实施方式,这些存储器控制器中的该至少一个存储器控制器生成该基本授权请求信号取决于这些存储器控制器中的该至少一个存储器控制器对基本中断请求信号的接收,该基本中断请求信号是由耦合至这些存储器控制器中的该至少一个存储器控制器的向量化中断控制器响应于更新中断表格的外部请求而生成的。
根据另一方面,提出了一种处理单元(例如一种微控制器),该处理单元包括:至少一个程序存储器(MP1,MP2),至少一个中央处理单元(CPU1,CPU2),所述至少一个中央处理单元旨在执行存储在所述至少一个程序存储器(MP1,MP2)中的至少一个微代码(MC1,MC2),存储器控制器(CM1,CM2),所述存储器控制器与每个程序存储器(MP1,MP2)相关联,每个存储器控制器(CM1,CM2)被配置成用于响应于更新所述相关联的微代码(MC1,MC2)的至少一个请求(DMC1,DMC2)而生成基本授权请求信号(SEDA1,SEDA2),至少一个硬件外围设备(PM1,PM2,PM3),第一生成装置(MG1),所述第一生成装置被配置成用于从每个基本授权请求信号(SEDA1,SEDA2)中生成全局授权请求信号(SGDA),并向每个硬件外围设备(PM1,PM2)传输所述全局授权请求信号(SGDA),所述硬件外围设备(PM1,PM2,PM3)中的所述至少一个硬件外围设备被配置成用于响应于所述全局授权请求信号(SGDA)并在满足所述硬件外围设备(PM1,PM2,PM3)中的所述至少一个硬件外围设备内的预定基本条件之后生成基本授权信号(SEA1,SEA2,SEA3),第二生成装置(MG2),所述第二生成装置被配置成用于从所述基本授权信号(SEA1,SEA2,SEA3)中的所述至少一个基本授权信号中生成全局授权信号(SGA),并将所述全局授权信号(SGA)传输到每个存储器控制器(CM1,CM2),每个存储器控制器(CM1,CM2)另外被配置成用于仅在接收到所述全局授权信号(SGA)之后更新所述相应微代码(MC1,MC2)。
根据一个实施例,这些外围设备(PM1,PM2或PM3)中的所述至少一个外围设备被配置成用于:在已经接收到执行至少一个操作的请求(RP1,RP2,RP3)之后触发执行此操作,以满足此外围设备内的所述预定基本条件。
根据一个实施例,这些外围设备(PM1,PM2或PM3)中的所述至少一个外围设备另外被配置成用于:在接收到执行所述至少一个操作的所述请求(RP1,RP2,RP3)之后,在触发执行此操作之前,预加载此外围设备(PM1,PM2或PM3)的至少一个控制寄存器(RC1,RC2或RC3),并且在所述外围设备(PM1,PM2或PM3)的至少一个更新事件信号(SMAJE)的下一个触发边沿发生时触发执行所述至少一个操作。
根据一个实施例,该处理单元另外包括中断控制器(CIV1,CIV2),所述中断控制器与每个存储器控制器(CM1,CM2)相关联并且被配置成用于响应于更新中断表格的外部请求(DETI1,DETI2)而将基本中断请求信号(SEDI1,SEDI2)传输至所述相关联的存储器控制器(CM1,CM2),所述相关联的存储器控制器(CM1,CM2)被配置成用于响应于更新所述相关联的微代码(MC1,MC2)的所述请求(DMC1,DMC2)并且响应于所述相应基本中断请求信号(SEDI1,SEDI2)而生成所述基本授权请求信号(SEDA1,SEDA2)。
根据一个实施例,该至少一个存储器控制器以及该至少一个硬件外围设备(PM1,PM2)是安全的,并且该全局授权请求信号(SGDA)以及该全局授权信号(SGA)也是安全的。
根据另一方面,提出了一种电子系统(例如数字开关式电源),该电子系统包括至少一个如上所定义的处理单元。
根据又另一方面,提供了一种电子装置(例如蜂窝移动电话、平板计算机或便携式计算机),该电子装置包括至少一个如上所述的系统。
附图说明
本实用新型的其他优点和特征将通过检查完全非限制性实现方式和实施例的详细说明书以及附图而变得更清楚,在附图中:
-图1至图8示意性地展示了本实用新型的实现方式和实施例。
具体实施方式
在图1中,参考AE表示电子设备AE(例如便携式计算机、平板计算机或蜂窝移动电话,这些示例不受限制),该电子设备包括电子系统SYS,在这种情况下,例如一种数字开关式电源,该数字开关式电源适用于将输入电源电压准确可靠地转换成可由电子系统SYS的各种模块使用的一个或多个内部电源电压。
该系统SYS另外包括至少一个处理单元UT,如微控制器或微处理器。
图2示意性地示出了根据本实用新型的结合在该电子系统SYS中的处理单元UT的示例。
该处理单元UT包括:
至少一个程序存储器,在这种情况下,例如旨在分别用于存储两个相应微代码MC1和MC2的两个闪存型程序存储器MP1和MP2,
至少一个中央处理单元,本领域技术人员已知为首字母缩略词“CPU”,这种情况下,例如旨在分别执行微代码MC1、MC2的两个中央处理单元CPU1和CPU2,
存储器控制器CM1、CM2,该存储器控制器与每个程序存储器MP1、MP2相关联并且旨在更新所述至少一个微代码MC1、MC2,每个存储器控制器CM1、CM2也被配置成用于响应于更新该相关联的微代码MC1、MC2的至少一个请求DMC1、DMC2而生成基本授权请求信号SEDA1、SEDA2,
至少一个硬件外围设备,在这种情况下,例如两个硬件外围设备PM1和PM2(如高分辨率定时器(hrtimer)、安全定时器、脉宽调制(PWM)时钟、DMA控制器、安全外围设备或微控制器的电源域),
第一生成装置MG1,该第一生成装置旨在用于向每个硬件外围设备传输从每个基本授权请求信号SEDA1、SEDA2中获得的全局授权请求信号SGDA,每个外围设备然后被配置成用于响应于该全局授权请求信号SGDA并在满足预定基本条件之后生成基本授权信号SEA1、SEA2。满足这个预定基本条件可以例如是触发执行外围设备的操作(编程)。
处理单元还包括第二生成装置MG2,该第二生成装置旨在用于向每个存储器控制器CM1、CM2传输从每个基本授权信号SEA1、SEA2中获得的全局授权信号SGA。
只有在接收到该全局授权信号SGA之后,才执行相应存储器控制器CM1、CM2对每个微代码MC1、MC2的更新。
首先参考图3以便非常示意性地展示根据本实用新型的处理单元UT的实施例,该处理单元包括仅一个中央处理单元CPU和仅一个硬件外围设备PM。
处理单元UT包括:程序存储器MP,该程序存储器旨在存储微代码MC;存储器控制器CM,该存储器控制器耦合至程序存储器MP以及硬件外围设备PM;以及第一和第二生成装置MG1和MG2。
这是因为在本实施例中,在此处理单元UT中有仅一个存储器控制器CM和仅一个硬件外围设备PM,则第一和第二生成装置MG1和MG2相当于简单的连接线。从而,全局授权请求信号SGDA因此是由存储器控制器CM产生的基本授权请求信号SEDA,并且全局授权信号SGA因此是由硬件外围设备生成的基本授权信号SEA。
当例如由用户请求对微代码MC进行更新时,通常通过软件生成微代码更新请求信号DMC,并将其传送到存储器控制器CM。
现同时参考图4以便展示如图3所示的用于管理更新处理单元UT中的微代码MC的方法的示例。
存储器控制器CM被配置成用于在接收到微代码更新请求信号DMC时向硬件外围设备PM传送全局授权请求信号SGDA。信号SGDA是一种逻辑信号,在这种情况下,当取逻辑值1时该逻辑信号被认为是有效的(即,有效代表授权请求)。
硬件外围设备PM被配置成用于在等待硬件外围设备PM的至少一个操作请求(或编程请求)RP1、RP2、RP3的到达时将全局授权请求信号SGDA保持在高状态(逻辑值1),该至少一个操作请求是通过软件或通过硬件(例如通过旨在将新的编程从随机存取存储器(RAM)传送到硬件外围设备PM的DMA控制器)生成的。操作请求向硬件外围设备指示将其必须执行该操作。
硬件外围设备PM另外被配置成用于准备执行该相应操作或这些相应操作,并且在对此执行的准备结束时(即当硬件外围设备准备执行该操作或这些操作时),向存储器控制器CM传送全局授权信号SGA。认证信号SGA在这种情况下被认为在信号SGDA的下降沿上(即当该逻辑信号取值为0(低状态)时)被传输。
更具体地,在本示例中,由硬件外围设备PM进行对操作请求RPi的执行的准备包括对与该操作请求RPi相关联的硬件外围设备PM的控制寄存器RCi进行预加载。
将在处理单元UT的更新事件信号SMAJE的下一个触发边沿期间触发该操作的执行RPi。
在触发此执行的时刻,认为满足了预定基本条件,并且外围设备PM然后被配置成考虑到相应预加载的控制寄存器RCi的内容并将全局授权信号SGA传送至存储控制器CM。
如果硬件外围设备PM(例如在DMA控制器的情况下)接收到多个操作请求RP1、RP2、RP3,则按照请求的到达顺序来预加载所有相应控制寄存器RC1、RC2和RC3。
应注意到的是,更新事件信号SMAJE的下一个触发边沿始终比该至少一个编程请求RPi到达的要晚,因为更新事件信号SMAJE是根据该至少一个操作请求RPi生成的。举例来讲,可以存在一种机制,该机制用于对请求的数量进行计数,以便在一定数量的请求之后触发硬件外围设备PM的更新,或者更简单地通过一种DMA传送结束信号来触发更新事件信号SMAJE。
存储器控制器CM还被配置成用于在接收到全局授权信号SGA时更新存储在程序存储器MP中的微代码MC。
换言之,如图4的底部所展示的,在接收到全局授权信号SGA时,存储器控制器CM会考虑到新的微代码版本NVMC,以便替换该微代码的先前版本AVMC。
在本文描述的应用中,如图4中所展示的,处理单元UT另外被配置成用于在微码MC的更新期间更新至少一个脉宽调制输出信号SSMLI以及至少一个脉冲宽度调制计数器信号SCMLI。
由于微代码MC的更新不涉及对硬件外围设备PM的编程的任何中断或者对处理单元的重新启动,所以该用于管理更新该微代码MC的方法在提供了执行混合更新的可能性的同时可以有利地用于减少甚至去除处理单元UT的运行停机时间。
图5展示了图3所示的微控制器的一种可能变体。
在此实施例中,微控制器UT另外包括耦合到存储器控制器CM的向量化中断控制器CIV,并且当外部事件发生时提供管理中断。
向量化中断控制器CIV还旨在用于接收由用户通过软件生成的外部中断表更新请求信号DETI以及由硬件外围设备PM传送的全局授权信号SGA。
此外,向量化中断控制器CIV以及存储器控制器CM被共同配置成用于形成互锁机制。因此,存储器控制器CM被配置成用于仅在两个更新请求信号DMC和DETI一起由用户生成和激活时传送全局/基本授权请求信号。
向量化中断控制器CIV另外被配置成用于在接收到全局授权信号时更新相应中断表的基地址、连同存储器控制器的微代码(图4)。
根据图6所展示的另一种可能的变体,中央处理单元是安全的中央处理单元CPUS,存储器控制器CM可以是安全存储器控制器CMS,并且硬件外围设备PM可以是安全的硬件外围设备PMS。
微代码则是安全的微码MCS,上述各种信号DMC、SGDA、SGA、DETI成为相应安全信号DMCS、SGDAS、SGAS、DETIS。
该变体(图6)中的用于管理更新安全微代码的方法的各个步骤类似于先前参考图4所描述的那些步骤,因此,为了简化起见不再对此进行描述。
在图7中示意性地展示了另一个可能的变体。
根据此变体的处理单元UT包括若干中央处理单元,在这种情况下,例如两个中央处理单元CPU1和CPU2、两个相应存储器控制器CM1和CM2、两个相应矢量中断控制器CIV1和CIV2以及若干硬件外围设备(这种情况例如是三个外围设备PM1、PM2、PM3)。所有这些项都可以是安全或不安全的。
第一生成装置MG1耦合在相应存储器控制器CM1和CM2的输出与这三个硬件外围设备PM1至PM3的输入端EPM1、EPM2、EPM3之间。
每个存储器控制器CM1或CM2将相应基本授权请求信号SEDA1、SEDA2传送给第一生成装置MG1。第一生成装置MG1被配置成用于生成全局授权请求信号SGDA作为输出,并将此全局授权请求信号SGDA传输到这三个硬件外围设备PM1至PM3的输入端EPM1至EPM3。
第一生成装置MG1被配置成用于当每个基本授权请求信号SEDA1、SEDA2处于高状态(即当每个存储器控制器CM1或CM2考虑到更新相应微代码)时将全局授权请求信号SGDA置于高状态。
举例来讲,第一生成装置MG1在这种情况下包括与逻辑门、基准PET,该基准PET分别接收由两个存储器控制器CM1和CM2传送的基本授权请求信号SEDA1和SEDA2并传送信号SGDA作为输出。
第二生成装置MG2耦合在这三个硬件外围设备PM1至PM3的输出SPM1至SPM3与存储器控制器CM1和CM2的输入端ECM1和ECM2之间。
一旦满足了预定基本条件,每个硬件外围设备PM1至PM3将相应基本授权信号SEA1至SEA3传送给第二生成生装置MG2。
第二生成装置MG2在其输出SMG2处生成全局授权信号SGA,并将该全局授权信号SGA传送到存储器控制器CM1和CM2的输入端ECM1和ECM2。
第二生成装置MG2在这种情况下包括例如:
第一选择级ES1,该第一选择级包括三个OR逻辑门,以POU1至POU3为基准。或门POUi的第一输入端接收相应基本授权信号SEAi,并且第二输入端接收相应选择信号SSi,以及
第二选择级ES2,该第二选择级仅包括AND型的第二逻辑门PET2。
相应选择信号SS1至SS3用于选择该或这些硬件外围设备以便考虑到对处理单元UT的微代码MC1和MC2进行更新。
在图7所展示的情况下,第一和第三选择信号SS1和SS3处于高状态,并且只有第二选择信号SS2处于低状态。因此,相应硬件外围设备PM1和PM3的编程被忽略,对微代码的更新没有影响。具体地说,即使基本认证信号SEA1和SEA3处于低状态并且因此是有效的,相应或门的输出仍然为1。因此,是基本认证信号SEA2根据其状态0或1将会或将不会使AND门PET2开关的输出为状态0。
换言之,在本示例中,微代码MC1和MC2在接收到由第二硬件外围设备PM2传送的第二基本认证信号SEA2(逻辑信号的低状态)时被更新,这将使全局授权信号SGA切换到低态。
当然,确实有可能选择能够确定更新微控制器MC的微代码的两个或两个以上的硬件外围设备。
图8展示了图7所展示的处理单元UT的简化变体。
图8所展示的处理单元UT仅包括一个中央处理单元CPU1和若干硬件外围设备。由此仅由传输线形成来形成第一生成装置MG1。因此,由存储器控制器CM1传送的基本授权请求信号SEDA1也是全局授权请求信号SGDA。
图8所展示的处理单元UT的其余部分与图7所展示的相同。
因此,根据本实用新型的实施方式和实施例,获得能够在一个或多个微代码的更新期间即时执行硬件外围操作的处理单元,从而减少处理单元的停机时间并且透明地维持硬件外围设备与处理单元的微代码之间的一致性。

Claims (7)

1.一种处理单元(UT),其特征在于,包括:
至少一个程序存储器(MP1,MP2),
至少一个中央处理单元(CPU1,CPU2),所述至少一个中央处理单元旨在执行存储在所述至少一个程序存储器(MP1,MP2)中的至少一个微代码(MC1,MC2),
存储器控制器(CM1,CM2),所述存储器控制器与每个程序存储器(MP1,MP2)相关联,每个存储器控制器(CM1,CM2)被配置成用于响应于更新所述相关联的微代码(MC1,MC2)的至少一个请求(DMC1,DMC2)而生成基本授权请求信号(SEDA1,SEDA2),至少一个硬件外围设备(PM1,PM2,PM3),
第一生成装置(MG1),所述第一生成装置被配置成用于从每个基本授权请求信号(SEDA1,SEDA2)中生成全局授权请求信号(SGDA),并向每个硬件外围设备(PM1,PM2)传输所述全局授权请求信号(SGDA),
所述硬件外围设备(PM1,PM2,PM3)中的所述至少一个硬件外围设备被配置成用于响应于所述全局授权请求信号(SGDA)并在满足所述硬件外围设备(PM1,PM2,PM3)中的所述至少一个硬件外围设备内的预定基本条件之后生成基本授权信号(SEA1,SEA2,SEA3),
第二生成装置(MG2),所述第二生成装置被配置成用于从所述基本授权信号(SEA1,SEA2,SEA3)中的所述至少一个基本授权信号中生成全局授权信号(SGA),并将所述全局授权信号(SGA)传输到每个存储器控制器(CM1,CM2),
每个存储器控制器(CM1,CM2)另外被配置成用于仅在接收到所述全局授权信号(SGA)之后更新相应的所述微代码(MC1,MC2)。
2.根据权利要求1所述的处理单元(UT),其特征在于,所述外围设备(PM1,PM2或PM3)中的所述至少一个外围设备被配置成用于:在已经接收到执行至少一个操作的请求(RP1,RP2,RP3)之后触发执行此操作,以满足此外围设备内的所述预定基本条件。
3.根据权利要求2所述的处理单元(UT),其特征在于,所述外围设备(PM1,PM2或PM3)中的所述至少一个外围设备另外被配置成用于:在接收到执行所述至少一个操作的所述请求(RP1,RP2,RP3)之后,在触发执行此操作之前,预加载此外围设备(PM1,PM2或PM3)的至少一个控制寄存器(RC1,RC2或RC3),并且在所述外围设备(PM1,PM2或PM3)的至少一个更新事件信号(SMAJE)的下一个触发边沿发生时触发执行所述至少一个操作。
4.根据权利要求1至3中任一项所述的处理单元(UT),其特征在于,另外包括中断控制器(CIV1,CIV2),所述中断控制器与每个存储器控制器(CM1,CM2)相关联并且被配置成用于响应于更新中断表格的外部请求(DETI1,DETI2)而将基本中断请求信号(SEDI1,SEDI2)传输至所述相关联的存储器控制器(CM1,CM2),所述相关联的存储器控制器(CM1,CM2)被配置成用于响应于更新所述相关联的微代码(MC1,MC2)的所述请求(DMC1,DMC2)并且响应于所述相应基本中断请求信号(SEDI1,SEDI2)而生成所述基本授权请求信号(SEDA1,SEDA2)。
5.根据权利要求1至3中任一项所述的处理单元(UT),其特征在于,所述至少一个存储器控制器(CM1,CM2)以及所述至少一个硬件外围设备(PM1,PM2)是安全的,并且所述全局授权请求信号(SGDA)以及所述全局授权信号(SGA)也是安全的。
6.一种电子系统(SYS),其特征在于,包括至少一个根据权利要求1至5中任一项所述的处理单元(UT)。
7.一种电子装置(AE),其特征在于,包括至少一个根据权利要求6所述的系统(SYS)。
CN201720454309.7U 2016-10-04 2017-04-26 处理单元、电子系统和电子装置 Active CN207557928U (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1659550 2016-10-04
FR1659550A FR3057086B1 (fr) 2016-10-04 2016-10-04 Procede de gestion d'une mise a jour d'au moins un microcode au sein d'une unite de traitement, par exemple un microcontroleur, et unite de traitement correspondante

Publications (1)

Publication Number Publication Date
CN207557928U true CN207557928U (zh) 2018-06-29

Family

ID=57906747

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201720454309.7U Active CN207557928U (zh) 2016-10-04 2017-04-26 处理单元、电子系统和电子装置
CN201710284233.2A Active CN107894893B (zh) 2016-10-04 2017-04-26 用于管理微代码的更新的方法、电子设备和处理单元

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710284233.2A Active CN107894893B (zh) 2016-10-04 2017-04-26 用于管理微代码的更新的方法、电子设备和处理单元

Country Status (4)

Country Link
US (2) US10705838B2 (zh)
EP (1) EP3306513B1 (zh)
CN (2) CN207557928U (zh)
FR (1) FR3057086B1 (zh)

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US5056015A (en) * 1988-03-23 1991-10-08 Du Pont Pixel Systems Limited Architectures for serial or parallel loading of writable control store
US5634108A (en) * 1993-11-30 1997-05-27 Unisys Corporation Single chip processing system utilizing general cache and microcode cache enabling simultaneous multiple functions
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6650880B1 (en) * 2000-06-12 2003-11-18 Broadcom Corporation Wireless data communications using FIFO for synchronization memory
SE520932C2 (sv) * 2002-03-18 2003-09-16 Optillion Ab Kommunikationsmodul
US9292822B2 (en) * 2006-01-03 2016-03-22 Motio, Inc. Supplemental system for business intelligence systems
US8250305B2 (en) * 2008-03-19 2012-08-21 International Business Machines Corporation Method, system and computer program product for data buffers partitioned from a cache array
US9135168B2 (en) * 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
EP2591422A1 (en) * 2010-07-09 2013-05-15 Martin Vorbach Data processing device and method
US9037911B2 (en) * 2010-12-09 2015-05-19 Advanced Micro Devices, Inc. Debug state machines and methods of their operation
US9262246B2 (en) * 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US9244686B2 (en) * 2011-04-07 2016-01-26 Via Technologies, Inc. Microprocessor that translates conditional load/store instructions into variable number of microinstructions
TWI528285B (zh) * 2011-12-20 2016-04-01 緯創資通股份有限公司 製造系統及韌體燒錄方法
US9183393B2 (en) * 2012-01-12 2015-11-10 Facebook, Inc. Multiple system images for over-the-air updates
US8966466B2 (en) * 2012-04-04 2015-02-24 Avago Technologies General Ip (Singapore) Pte. Ltd. System for performing firmware updates on a number of drives in an array with minimum interruption to drive I/O operations
CN103941631B (zh) * 2014-04-21 2016-08-17 南京科远自动化集团股份有限公司 一种可编程序控制器运行中程序无扰动重构的方法
US9307067B2 (en) * 2014-07-30 2016-04-05 Google Technology Holdings LLC Contextually updating wireless device firmware
EP3219553B1 (en) * 2014-11-12 2019-01-23 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
US9557984B2 (en) * 2015-03-16 2017-01-31 International Business Machines Corporation Performing code load operations on managed components in a system
US10412020B2 (en) * 2015-04-30 2019-09-10 Amazon Technologies, Inc. Background processes in update load balancers of an auto scaling group
US10691470B2 (en) * 2015-06-18 2020-06-23 Kenneth Mark Woog Personal computer system with remotely-configured hardware-enforced usage limits
US20170168725A1 (en) * 2015-12-10 2017-06-15 Kabushiki Kaisha Toshiba Memory system that updates firmware in response to predetermined events
KR101906823B1 (ko) * 2016-03-07 2018-12-05 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
US10402281B2 (en) * 2016-03-31 2019-09-03 Intel Corporation Dynamic capsule generation and recovery in computing environments

Also Published As

Publication number Publication date
CN107894893A (zh) 2018-04-10
US11086622B2 (en) 2021-08-10
EP3306513A1 (fr) 2018-04-11
US10705838B2 (en) 2020-07-07
FR3057086B1 (fr) 2018-11-23
US20180095747A1 (en) 2018-04-05
CN107894893B (zh) 2022-03-01
US20200293314A1 (en) 2020-09-17
FR3057086A1 (fr) 2018-04-06
EP3306513B1 (fr) 2020-08-05

Similar Documents

Publication Publication Date Title
Sehr et al. Programmable logic controllers in the context of industry 4.0
CN102147746B (zh) 动态线程池管理系统及管理方法
TWI394048B (zh) 系統裝置、處理器及存取記憶體單元之方法
US20140359608A1 (en) Systems and Methods for Timer Based Virtual Processor Scheduling
US10572623B2 (en) Back-pressure in virtual machine interface
US8190941B2 (en) Field control system
US4218739A (en) Data processing interrupt apparatus having selective suppression control
US9984193B1 (en) System to combat design-time vulnerability
Kim et al. Design and implementation of a delay-guaranteed motor drive for precision motion control
CN103645678A (zh) 一种实时响应网络控制系统
CN106062648A (zh) 控制器
CN207557928U (zh) 处理单元、电子系统和电子装置
US10061676B2 (en) Remotely located timing method and device for a processing unit in an information processing system
Prashanth et al. Real-time issues in embedded system design
US11662948B2 (en) Norflash sharing
CN102279836B (zh) 一种物理多分区计算机体系结构的时序控制方法
Groothuis Distributed HIL simulation for Boderc
US10386817B1 (en) Multi-core processing machine tool control system
Isakovic et al. A Mixed-Criticality Integration in Cyber-Physical Systems: A Heterogeneous Time-Triggered Architecture on a Hybrid SoC Platform
Cohen et al. Hard real time and mixed time criticality on off-the-shelf embedded multi-cores
JPH06149320A (ja) プログラマブルコントローラのリモートi/oシステム
JP7222264B2 (ja) 通信装置、通信システム、通信方法、及びプログラム
Weinstock et al. Work-in-Progress: AMVP-A High Performance Virtual Platform using Parallel SystemC for Multicore ARM Architectures
US20040230319A1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
Bruzzone et al. Standard Linux for embedded real-time manufacturing control systems

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant