在计算机系统中嵌入式控制器和处理器之间共享非共享的设备的制作方法

文档序号:6462263阅读:160来源:国知局
专利名称:在计算机系统中嵌入式控制器和处理器之间共享非共享的设备的制作方法
技术领域
本发明一般涉及计算设备的领域,尤其涉及共享设备,例如没有设计 成在系统内的处理器中间共享的非易失性存储器。
相关技术的描述
很多硬件系统包括中央处理单元(CPU),即,主处理器以及一个或更 多用于执行系统的辅助功能如初始化、管理和复位功能的微控制器。系统 内的每个处理器或微控制器通常具有相应的非易失性存储器,处理器或微 控制器从该非易失性存储器读取指令,用于执行在固件中实现的启动、复 位、管理(例如功率状态管理)或其它功能。用于提供控制器存储器的目 前的解决方案是(1)对每个控制器/处理器都有单独的专用/私用存储设 备;(2)集成片上(on-chip)存储器;或(3)试图仲裁现有存储设备的 使用。
然而,试图仲裁另一设备的使用的问题是系统性能和用户体验可能被 恶化。而且,提供具有单独的非易失性存储器的每个处理器和微控制器在 费用和时间上都是昂贵的。例如,很多用于笔记本式和台式计算机的目前的嵌入式微控制器解决方案使用对市场时间(time to market)和灵活性提 出挑战的ROM (只读存储器)解决方案。巿场问题是由于在设计和制造 过程中足够早地最后定下微控制器固件和数据的需要,以满足生产的进度 表要求。这通常表示在开发程序的时间进度表中的至少一个月。此外,在 固件或数据中发现的任何后期错误意味着所有的现有清单都是过时的且 可能不得不被丢弃。
为了上面的原因, 一些消费者或设计者宁愿使用嵌入式闪存或用于存 储的类似存储器,因为这种类型的存储器允许在生产测试时或甚至在野外 更新。然而,嵌入式闪存的使用需要很昂贵的制造工序,因为微控制器芯 片将闪存集成在相同的管芯(die)上,因此需要闪存制造工序。使用该工序 制造芯片一般更贵30%,因而使芯片明显更昂贵。如果被一些其它因素例 如成本节约或产品要求补偿,这个费用才有意义。如果消费者只有一组被 使用的固件(代码)以及如果代码永不改变,且如果消费者确信在可能 需要更新的代码中没有错误,才可使用ROM和标准制造工序来代替嵌入 式闪存。另一方面,如果消费者有多个固件代码(例如,每个产品型号一 个),则使用闪存可能更容易。因此,由于费用,嵌入式闪存的使用只有 在ROM的风险太高或如果有多个代码、低容量或其它特定的商业原因时 才可能是可行的。
因此,如上所迷,目前的解决方案通常昂贵、不灵活,不能保证可靠 地工作,可能有偶尔的错误,和/或可引起明显的系统性能恶化。
比较了现有技术与这里所述的本发明的实施方式之后,关于这样的现 有技术的其它相应的问题对本领域的技术人员将变得明显。

发明内容
介绍了用于在计算机系统中处理器之间共享例如非易失性存储器的 设备的系统和方法的不同实施方式,其中 一个处理器对计算机系统内其它 处理器的工作状态例如功率和/或执行状态进行控制。
响应于系统状态变化,例如上电复位或系统复位,其中系统内的微控制器保证对共享设备的安全访问,或可阻止系统进入系统内的处理器可访 问共享设备的状态,微控制器可设置控制信号来使对共享设备的访问是使 用微控制器。换句话说,系统可变成一种状态("第 一"状态),其中微控 制器保证安全地访问共享设备的能力,而例如没有被处理器中断或干涉。
在一个实施方式中,微控制器可位于系统接口 (因此,系统内的处理 器)和共享设备例如非易失性存储器如嵌入式闪存之间,因而可截断系统 接口和该设备之间的通信。设备可包括接口或与接口相关联,由此便于或 实现对设备的访问,且其中该接口可配置成把对设备的访问指向或限制为 不同系统组件如处理器或^微控制器。在一个实施方式中,设置控制信号以 使对共享设备的访问是使用微控制器的微控制器包括设置共享设备接口 与微控制器的接口的微控制器。提到另一方法,微控制器可设置一个或更 多控制信号来配置或重新定向共享设备接口以准许微控制器对设备的唯 一访问。
在一个实施方式中,微控制器为系统控制和管理上电复位(POR),因 而可按通过系统的主处理器优先取得对设备访问的方式来响应于和/或产 生与上电复位或系统复位有关的信号(或其它管理信号),因而便于共享 否则不可能被共享的设备。在一些实施方式中,系统状态的变化可由微控 制器产生或接收的管理信号如系统复位或POR信号产生或指示。应注意, 在一些实施方式中,接口的方向控制,即,系统的哪个组件可访问设备的 控制可与管理(例如,系统复位或POR)信号无关。换句话说,微控制器 可控制共享设备接口是否指向系统的处理器或微控制器,而与管理(例如, 系统复位或POR)信号无关。
虽然在第一状态中,也就是在微控制器确保对设备的安全访问、或可 通过系统中的处理器禁止对共享设备的访问、以及适当配置对设备的访问 的状态,微控制器可检索数据或与设备交换数据。例如,在系统状态依赖 于管理信号如系统复位信号或被其指示的实施方式中,微控制器可接收或 产生管理信号,并将管理信号保持在该状态中,即,可维持管理信号的有 效性,以及当该信号有效时,可从设备读取、写入设备、从设备提取(fetch) 或否则与设备交换(例如,通过由系统的一些其它组件产生的读取或写入)
9数据或程序指令。
一旦控制器完成了数据检索或与设备的数据交换,或确定了它可能不 再保证安全的访问,微控制器就可通过控制信号重新配置接口以使能够由 系统中的处理器实现访问,例如,通过控制对设备的访问的开关,如以下 将更详细描述的。 一旦微控制器将设备配置成使能够由系统中的处理器来 实现访问,微控制器就可改变或允许改变系统状态,因而允许系统中的处 理器访问共享设备,例如,在系统状态依赖于管理信号如系统复位信号或 被其指示的实施方式中,微控制器可使管理信号无效,因而将系统置于允 许通过系统的处理器来访问共享设备的状态。
因此,使用上述方法的实施方式,微控制器可通过系统的处理器例如 主CPU来优先取得或暂停对设备的访问,或否则通过微控制器来配置对设 备的访问;检索或否则与设备交换数据或程序指令;接着把对设备的访问 返回到处理器,或否则通过微控制器放弃对设备的专门/安全访问。
应注意,在微控制器管理或控制系统的工作状态(例如,复位、POR、 睡眠和与特定的系统行为有关的其它状态,其中微控制器知道系统不能或 将不访问设备)的各种其它实施方式中,微控制器可监控(或控制)这样 的系统状态,并利用这些状态来安全地访问设备,以例如控制和使用共享 设备。注意,这些系统状态应使得微控制器管理系统何时退出这些状态被 提供关于系统何时再次需要(对设备)共享接口的控制的充分的警告。作 为一个例子,当系统被关闭时,微控制器可接管设备接口,即可重新定向 设备接口,来(只)允许在掉电之前,即关掉最后的功率轨(power rail)之 前,通过微控制器访问。以这种方式,写入或与共享设备的其它交换可被 储存或排队,以及可在最后的掉电之前保证它们的完成(例如,通过微控 制器)。
因此,微控制器可与系统的处理器一起适度地共享对设备的访问。应 注意,在其它实施方式中,额外的微控制器也可使用上述技术与主机或主 系统CPU共享设备。在进一步的实施方式中,设备的这样的共享也可用在 其它方法中。例如,在一些实施方式中,多个处理器(例如,微控制器) 可共享这样的设备,其中每个处理器可通过其它处理器依次暂停或阻止对设备的访问,同时它访问该设备。
以下描述上述 一般方法的更具体的实施方式,其特别针对于在系统中 主处理器和微控制器之间非易失性存储器的共享。换句话说,在以下实施 方式中,共享设备包括非易失性存储器设备。应注意,这些实施方式仅仅 意味着是示例性的,且不意味着将共享设备的类型或使用限制为任何特定 的形式或功能。
响应于上电复位(POR),系统中的微控制器,例如微控制器可将系统 复位信号保持在复位状态中,因而禁止系统中的处理器访问系统中的非易 失性存储器。注意,POR和/或系统复位可或不可由微控制器产生。
换句话说,响应于POR,微控制器可接收或产生系统复位信号,并将 该信号保持在复位状态中。如上所述,在一个实施方式中,微控制器可位 于系统接口 (并因此系统内的处理器)和共享设备例如非易失性存储器如 嵌入式闪存之间,因而可截断系统接口和该设备如非易失性存储器之间的 通信。如下面将更详细描述的,在一些实施方式中,当系统复位信号在复 位状态中时,非易失性存储器的接口可通过微控制器配置成阻止系统内的 处理器例如通过开关访问非易失性存储器。
当系统复位信号(或其它管理信号)保持在复位状态中,例如通过微 控制器变得有效(例如,以及非易失性存储器的接口配置成只允许由微控 制器访问)时,微控制器可从非易失性存储器取出程序指令/数据,并将程 序指令/数据装入到微控制器的存储器中,或否则访问非易失性存储器。换 句话说,微控制器可产生或接收系统复位信号,并可将系统复位信号保持 在复位状态中(例如,在系统管理总线上通过系统复位线),即,可维持 系统复位信号的有效性(assertion),以及当系统复位信号有效时可从非易 失性存储器提取(fetch ),即,读取、获得或以其他方式接收(例如,通 过由系统的一些其它组件的读取调用)程序指令/数据,并将程序指令/数 据装入到或写入微控制器的存储器中。注意,微控制器的存储器优选地为 RAM (随机存取存储器),虽然可按需要使用任何类型的可重写的存储器。 如上面提到的,在一些实施方式中,程序指令/数据可包括程序固件代码, 该代码可例如被嵌入式微控制器用于启动或复位功能,例如用于初始化微控制器连同其它用途。在一些实施方式中,微控制器可以是或包括计算机 系统的外围设备控制器。例如,在一个示例性实施方式中,嵌入式控制器 可为键盘控制器,以及非易失性存储设备108可存储键盘控制器(KBC ) 代码,虽然在其它实施方式中,可按需要使用任何其它程序指令/数据或数 据。
在一个实施方式中,微控制器可包括或连接到主机存储器总线并可包 括或连接到设备总线,主机存储器总线可连接到系统接口,以及在本实施 方式中设备总线为可连接到共享的非易失性存储设备的非易失性存储器 总线。在一个实施方式中,主机存储器总线和非易失性存储器总线是SPI (串行外围接口)总线,虽然可按需要使用其它协议。注意,在一些实施 方式中,主机存储器总线和非易失性存储器总线可被考虑为相同的总线, 例如存储器总线,微控制器插入其中以可转换地截取并可能重新定向总线 上的信号。
在 一 个实施方式中,微控制器包括或连接到由开关控制器控制的开 关,用于为主机存储器总线和非易失性存储器总线例如存储器总线提供转 换功能。微控制器可因此可操作,以例如通过将开关置于高阻抗状态可转 换地优先取得和抑制在主机接口和非易失性存储器之间的存储器总线 (即,主机存储器总线和非易失性存储器总线)上的信号流动,并且当主 机接口和非易失性存储器之间的通信暂停时从非易失性存储器提取指令/ 数据。因此,微控制器可操作来配置设备(例如,开关)的接口以调节并 加强对设备的安全访问。
在微控制器从非易失性存储器装入程序指令/数据之后,微控制器可例 如通过开关来重新配置对非易失性存储器的访问,并从复位状态释放系统 复位信号,因而允许系统中的处理器访问非易失性存储器。换句话说,当 通过微控制器完成自非易失性存储器提取指令/数据时,微控制器可例如通 过开关终止主机接口和非易失性存储器之间的通信的暂停或优先提取,因 而允许这样的通信的重新开始,并使系统复位信号无效。
因此,使用上迷方法的实施方式,微控制器可通过主CPU优先获得或
暂停与非易失性存储器的通信,并从非易失性存储器读取指令/数据,以例如在主系统即主CPU的运行之前、或与该运行独立而初始化微控制器和/ 或执行其它功能,因而与主系统共享非易失性存储器。例如,在一些实施 方式中,微控制器可除了初始化代码/数据以外还可提取与预引导(pre-boot) 安全操作有关的程序指令/数据,并可操作来在主系统的启动之前执行这样 的预引导安全操作,因而对系统提供额外的安全。
因此,微控制器可适度地共享主系统的非易失性存储器的使用。应注 意,在其它实施方式中,附加的微控制器也可使用上述技术与主机或主系 统CPU共享该非易失性存储器。在进一步的实施方式中,非易失性存储器 的这样的共享也可用其它方式使用。例如,在一些实施方式中,多个微控 制器可共享(例如,没有被主系统CPU使用的)非易失性存储器,其中每 个微控制器可通过其它微控制器依次暂停或阻止对非易失性存储器的访 问,同时它从存储器装入指令/数据。
注意,在不同的实施方式中,系统变成确保微处理器对非易失性存储 器(或设备)的安全访问的状态可由软件或硬件执行或在中间调解。换句 话说,在一些实施方式中,状态变化可响应于硬件信号,例如POR信号等。 在其它实施方式中,状态变化可响应于软件事件、标记(token)、软件条件、 软件消息、软件信号交换(handshake)等等。提到另一方法,本发明的实施 方式意图是实质上包括嵌入式控制器可确定它可安全地控制共享的非易 失性存储器的任何情况,不管"安全"系统状态通过软件或硬件被中间调 解还是用信号通知。例如,系统可给微控制器传递标记,该标记通过软件 信号交换授予微控制器对存储器的所有权。
因此,这里描述的本发明的不同实施方式可允许系统内的嵌入式微控 制器和处理器共享没有设计成被共享的设备。


当连同附图一起阅读时,通过参考下列详细说明,可更彻底地理解本 发明的前述以及其它目的、特征和优点,其中
图1A示出配置成实现本发明的 一 个实施方式的示例性计算机系统;图IB示出配置成实现本发明的一个实施方式的示例性系统的高级结 构图2是根据一个实施方式用于在系统中处理器和微控制器之间共享设 备的方法的流程图3是根据一个实施方式用于在系统中处理器和微控制器之间共享非 易失性存储器的方法的流程图4示出根据本发明的一个实施方式的微控制器;
图5示出根据一个实施方式的示例性信号定时示意图。
虽然本发明容易受到各种更改和可选形式的影响,其中的特定实施方 式作为例子在附图中示出并将在这里详细描述。然而应理解,附图和对其 的详细描述不意味着限制所公开的特定形式,而是相反,本发明将包括落 在由所附权利要求限定的本发明的实质和范围内的所有更改、等效和可选 方案。
具体实施例方式
通过引用的并入
由此下列参考资料在这里通过《i用被全部并入,如同被完整和彻底地 阐述一样
于2007年4月10日提交的题目为"Sharing Non-Sharable Devices Between an Embedded Controller and A Processor in a Computer System"的美 国临时申请序列号60/910, 863,其发明人为Ian Harris和Drew J. Dutton。
介绍了用于在系统如计算机系统中 一个或更多主处理器和微控制器 之间共享设备的系统和方法的不同实施方式,其中微控制器相对于系统中 的其它处理器对主处理器的功率或执行状态或其它独特的管理能力进行 控制。
注意,所使用的任何标题仅仅是为了组织的目的而不是意味着用来解 释说明书或权利要求。此外,应注意,在整个申请中,词语"可以"在许可的意义(即,有可能,能够)而不是强制的意义(即,必须)上使用。 术语"包括"及其派生词意指"包括但不限于"。术语"耦合"意指"直 接或间接地连接"。
而且,如这里使用的,"指令组"可指一个或更多指令。更具体地, 在一些实施方式中,"指令"可指程序设计代码、软件和/或以代码形式实 现的功能,该代码可由适合于执行这些指令的控制器、微处理器和/或常规 逻辑电路来执行。在一些实施方式中,这些指令可包括设备驱动器、控制 软件和/或机器代码。
如在这里使用的,"控制器"指任何类型的处理器,例如中央处理单 元(CPU )、微处理器、微控制器或嵌入式控制器或微控制器连同其它控制 器。
概述
这里描述的本发明的不同实施方式可通过嵌入式微控制器提供对设 备(例如,非易失性存储器)的访问,这允许微控制器访问设备和从设备 读取或向设备写入程序指令/数据,同时将系统例如CPU保持在诸如复位 的状态中,其中对非易失性设备的访问不干扰正常的系统功能。
图1A—示例性计算机系统
图1是配置成实现本发明的一些实施方式的示例性计算机系统82的 高级结构图。图1的系统包括计算机系统如个人计算机(PC),虽然在其 它实施方式中,这里描述的技术和系统可按需要在任何其它系统中实现。
在优选实施方式中,计算机系统82包括主要或中央处理器,即,主 机处理器以及一个或更多微控制器,例如每个微控制器都在各自的片上系 统(SoC)中,例如用于管理或控制键盘和主处理器之间的通信的键盘控 制器。存储器优选地包括在具有嵌入式控制器的SoC上,且在不同实施方 式中可按需要为非易失性存储器,例如ROM (只读存储器)或易失性存 储器如闪存。如图1所示,根据本发明的实施方式,计算机系统82包括用于例如在主处理器和微控制器之间共享存储器的逻辑104。下面参考图 1B、 2、 4和6提供了关于系统的示例性实施方式的进一步的细节。
图1B—示例性系统
图1B是配置成实现本发明的一个实施方式的示例性系统的高级结构 图,特别是在系统中CPU或主处理器和嵌入式微控制器之间共享例如非易 失性存储器的设备。图IB的系统优选地驻留在计算机系统中,例如个人 计算机(PC)如图1A的计算机系统82,虽然在其它实施方式中,这里所 述的技术和系统可按需要在任何其它系统中实现。
如图1B所示,系统可包括通过系统接口总线103连接到系统接口 106 的嵌入式微控制器102,由此微控制器102可与称为主机CPU或处理器的 计算机系统的CPU通信。注意,在不同实施方式中,该系统接口 106可仅 仅为适合于在微控制器102和主机CPU之间通信的连接或总线,或可按需 要包括附加结构或功能。如图1B所示,微控制器102可通过如所示的设 备总线107进一步连接到可存储程序指令或其它数据的共享设备108,这 些指令或数据可由嵌入式微控制器上载或编程,例如用于启动、一^L的或 复位功能。微控制器102可通过主机存储器总线105进一步连接到系统接 口 106,由此嵌入式微控制器102可截取在系统接口 (例如,主机CPU ) 和共享设备108之间传输的存储器请求或其它信号。注意,存储在共享设 备(例如,非易失性存储器)108中的程序指令/数据优选地包括程序指令, 例如可被嵌入式微控制器102用于启动、 一般的或复位功能的固件代码, 例如用于初始化微控制器102连同其它用途。在一些实施方式中,微控制 器102可包括用于计算机系统的外围设备控制器。例如,在一个示例性实 施方式中,嵌入式微控制器102是键盘控制器,以及共享设备108可储存 键盘控制器(KBC)代码,虽然在其它实施方式中,可按需要使用任何其 它程序指令、数据或代码。
因此,在图1B所示的实施方式中,嵌入式微控制器102位于系统接 口 106和共享设备(例如,非易失性存储器)108之间,所以在这两个组 件之间可起媒介或截断的作用,因而便于在主机处理器和嵌入式微控制器102之间共享设备108,如下面将更详细描述的。注意,在本实施方式中, 可包括连接系统接口 106和微控制器102的系统管理总线例如系统复位总 线IOI,用于在两个组件之间传送复位或其它管理信号(或其它信号),虽 然在其它实施方式中,可使用系统接口总线103。在优选实施方式中,共 享设备108为嵌入式闪存,虽然可按需要使用其它类型的设备,例如ROM 或任何其它类型的存储器。
图2—用于在系统中处理器之间共享设备的方法
图2是用于在例如计算机系统的系统中的处理器之间例如处理器和微 控制器之间共享例如非易失性存储器的设备的方法的实施方式的高级流 程图,其中共享设备没有设计成是被共享的。在不同实施方式中,所示的 一些方法要素可按与所示不同的顺序被同时执行,或可被省略。也可按需 要执行额外的方法要素。如所示,本方法可如下操作。
在202中,响应于系统状态变化,例如上电复位(POR)、系统复位或 睡眠模式,其中微控制器例如系统中的微控制器102确保对共享设备的安 全访问,或可阻止系统进入系统内的处理器可访问共享设备的状态,微控 制器可设置控制信号或利用软件来使对共享设备的访问是使用微控制器。 换句话说,当系统变为一种状态例如第一状态时,其中保证微控制器102 安全地访问共享设备的能力,而例如没有被处理器中断或干扰,微控制器 可将系统保持在该状态中并对共享设备如非易失性存储器的访问从处理 器转换为微控制器。该第一状态的例子可包括下列项中的一个或更多上 电复位(POR)状态、系统复位状态或睡眠状态连同其它状态。将系统保 持在第 一状态中可禁止系统中的处理器访问共享设备,如系统中的非易失 性存储器。
类似地,状态变化可由管理信号如POR、系统复位、睡眠信号等产生 或引起,这些信号可包括软件信号、时间、标记、信号交换等。在一个实 施方式中,将系统保持在第一状态中可包括将管理信号保持在相应的状态 中,例如将系统复位信号保持在复位状态中。
17注意,管理信号例如所使用的POR和/或系统复位和/或任何其它类型 的管理信号可以或可以不由微控制器产生。因此,例如,响应于收到的管 理信号如POR信号,或响应于产生管理信号例如POR信号,微控制器可 产生或接收另一管理信号,例如系统复位信号,接着使另一管理信号在特 定的状态如复位状态中保持或有效。
如上参考图1B提到的,在一个实施方式中,微控制器102可位于系 统接口 106 (并因此,系统内的处理器)和共享设备108例如非易失性存 储器如嵌入式闪存之间,因此可截断系统接口和设备108之间的通信。
设备108可包括接口或与接口相关联,由此便于或实现对设备的访问, 且其中该接口可配置成把对设备的访问指向或限制为不同的系统组件,例 如处理器或微控制器。在一个实施方式中,设置控制信号以使对共享设备 的访问是使用微控制器的微控制器包括设置共享设备接口与微控制器的 接口的微控制器。提到另一方法,微控制器可设置一个或更多控制信号来 将共享设备接口配置或重新定向以准许微控制器对设备的唯一访问。在其 它实施方式中,对共享设备的访问从处理器转换到微控制器可通过软件或 软件和硬件的组合来执行。注意,如这里使用的,术语"信号"可表示硬 件信号和/或软件信号,例如软件事件、消息、标记、信号交换等。因此, 术语"管理信号"可指硬件信号或软件信号。
注意,在优选实施方式中,微控制器为系统控制和管理上电复位 (POR),因此可用通过系统的主处理器优先荻得对设备的访问的方式来响 应于和/或产生与上电复位或系统复位有关的信号或软件事件或消息(或其 它管理信号),因而便于共享否则不能被共享的设备。在一些实施方式中, 系统状态的变化可由管理信号例如微控制器产生或接收的系统复位或 POR信号产生或指示。然而应注意,在一些实施方式中,接口方向的控制, 即系统的哪个部件具有对设备的控制,可与管理(例如,系统复位或POR ) 信号无关。换句话说,微控制器可控制共享设备接口是否指向系统的处理 器或微控制器,而与管理(例如,系统复位或POR)信号无关。而且,在 一些实施方式中,代替硬件信号或除了硬件信号以外,微控制器可响应于 软件事件、消息、标记、信号交换等,其可指示系统状态何时使得微控制器确保对共享设备例如对非易失性存储器的安全访问。
在204中,当系统在第 一状态中,也就是在微控制器确保对i殳备的安 全访问或可通过系统中的处理器禁止对共享设备的访问、以及适当配置对 设备的访问的状态,微控制器可检索数据或与设备108交换数据。例如, 在系统状态依赖于管理信号如系统复位信号或被其指示的实施方式中,微 控制器可产生或接收管理信号,并将管理信号保持在该状态中,即,可维 持管理信号的有效性,以及当该信号有效时可从设备读取、向设备写入、 从设备提取或否则与设备交换(例如,通过由系统的一些其它组件产生的 读取或写入)数据或程序指令。在一个实施方式中,当系统保持在第一状 态中时,微控制器可从非易失性存储器提取程序指令/数据,并将程序指令 /数据装入到微控制器的存储器中。
在206中, 一旦控制器完成了数据检索或与设备的数据交换,或确定 了它可能不再确保安全的访问,微控制器就可通过控制信号重新配置接口 以由系统中的处理器例如通过控制对设备的访问的开关来实现访问,如以 下将更详细描述的。
在208中, 一旦微控制器将设备配置成通过系统中的处理器实现访问, 微控制器就可改变或允许改变系统状态,因而允许系统中的处理器访问共 享设备。例如,在系统状态依赖于管理信号如系统复位信号或被其指示的 实施方式中,微控制器可使管理信号无效,因而将系统置于允许通过系统 的处理器来访问共享设备的状态。提到另一方法,在程序指令/数据被装入 之后,微控制器可将对共享设备如非易失性存储器的访问从微控制器转换 到处理器,并从第一状态释放系统。
因此,使用上述方法的实施方式,微控制器102可通过系统的处理器 例如主CPU来优先取得或暂停对设备的访问,或否则通过^t控制器来配置 对设备的安全访问;检索或否则与设备交换数据或程序指令;接着将对设 备的访问返回到处理器,或否则通过微控制器放弃对设备的唯一或安全的 访问。
应注意,在微控制器管理或控制系统的工作状态(例如,复位、POR、 睡眠和与特定的系统行为有关的其它状态,其中微控制器知道系统不能或将不访问设备)的各种其它实施方式中,微控制器可监控(或控制)这样 的系统状态,并利用这些状态来安全地访问设备,以例如控制和使用共享 设备。注意,这些系统状态应使得微控制器管理系统何时将退出这些状态, 或被提供关于系统何时再次需要共享接口 (对设备)的控制的充分的警告。
作为一个例子,当系统被关闭时,微控制器可接管设备接口,即,可 重新定向设备接口来(只)允许在掉电之前,即关掉最后的功率轨之前, 通过微控制器访问。以这种方式,写入或与共享设备的其它交换可被储存 或排队,以及可在最后的掉电之前保证它们的完成(例如,通过微控制器)
因此,微控制器102可与系统的处理器一起适度地共享对设备108的 访问。应注意,在其它实施方式中,额外的微控制器也可使用上述技术与 主机或主系统CPU共享设备。在进一步的实施方式中,设备的这样的共享 也可用在其它方法中。例如,在一些实施方式中,多个处理器(例如,微 控制器)可共享这样的设备,其中每个处理器可通过其它处理器依次暂停 或阻止对设备的访问,同时它访问该设备。
其它实施方式
以下描述图2的上述一般方法的更具体的实施方式,其特別针对于在 系统中主处理器和微控制器之间共享非易失性存储器。换句话说,在以下 实施方式中,共享设备包括非易失性存储器设备。然而应注意,图3的实 施方式仅仅意味着是示例性的,且意图不是将共享设备的类型或使用限制 为任何特定的形式或功能。
图3 —用于在系统中处理器之间共享非易失性存储器的方法
图3是根据一个实施方式用于在例如计算机系统的系统中的处理器之 间例如处理器和微控制器之间共享非易失性存储器的方法的高级流程图。 然而,应注意,在其它实施方式中,可按需要使用任何其它类型的存储器, 例如RAM、 ROM等。在不同实施方式中,所示的一些方法要素可按与所 示不同的顺序被同时执行,或可被省略。也可按需要执行额外的方法要素。如所示,本方法可如下操作。
在302中,响应于系统状态变化,例如上电复位(POR )、系统复位或 睡眠模式,其中微控制器例如系统中的微控制器102确保对非易失性设备 的安全访问,或可阻止系统进入系统内的处理器可访问共享设备的状态, 微控制器可设置控制信号或利用软件来使对共享设备的访问是使用微控 制器的。换句话说,当系统变为一种状态例如第一状态时,其中保证微控 制器102安全地访问共享设备的能力,而例如没有被处理器中断或干扰, 微控制器可将系统保持在该状态中并对非易失性存储器的访问从处理器 转换为微控制器。该第一状态的例子可包括下列项中的一个或更多上电 复位(POR)状态、系统复位状态或睡眠状态连同其它状态。
将系统保持在第 一状态可禁止系统中的处理器访问系统中的非易失 性存储器。类似地,状态变化可由管理信号如POR、系统复位、睡眠信号 等产生或引起,这些信号可包括软件信号、时间、标记、信号交换等。在 一个实施方式中,将系统保持在第一状态中可包括将管理信号保持在相应 的状态中,例如将系统复位信号保持在复位状态中。
注意,管理信号例如POR和/或系统复位和/或所使用的任何其它类型 的管理信号可以或可以不由微控制器产生。因此,例如,响应于收到的管 理信号如POR信号或响应于产生管理信号例如POR信号,微控制器可产 生或接收另一管理信号,例如系统复位信号,接着使另一管理信号在特定 的状态如复位状态中保持或有效。
如上参考图1B提到的,在一个实施方式中,微控制器102可位于系 统接口 106 (因此,系统内的处理器)和共享设备108例如非易失性存储 器如嵌入式闪存之间,因此可截断系统接口和设备例如非易失性存储器之 间的通信。如以下将更详细描述的,在一些实施方式中,当系统保持在第 一状态中时,例如当系统复位信号保持在复位状态中时,对非易失性存储 器的接口可通过微控制器配置成阻止系统中的处理器例如通过开关访问
非易失性存储器。
图4示出图1B的微控制器102的示例性实施方式,其中设备108包 括非易失性存储器。如图4所示,在本实施方式中,微控制器102包括系统复位线403,用于在系统管理总线101上将复位信号即系统复位信号(或 其它管理信号)传送到系统接口 106或从系统接口 106传送出来(见图1B)。 虽然这里描述的很多实施方式参考复位信号,应注意,在其它实施方式中, 如上所述,可按需要使用其它信号,例如相应于或引起系统的CPU (或其 它特定的处理器)对非易失性存储器访问的暂停的任何信号,或指示系统 状态的任何信号,在系统状态中微控制器可安全访问非易失性存储器,其 包括软件事件、标记、信号交换、信号f。注意,图4仅示出直接与本发 明的实施方式有关的微控制器的特征,即,为了简洁和简单,对理解本发 明不必要的组件被省略。
如上讨论的,在不同实施方式中,对共享设备的访问从处理器转换到 微控制器可通过硬件、通过软件或通过软件和硬件的组合来执行。同样如 上讨论的,术语"信号"可表示硬件信号和/或软件信号,例如软件事件、 消息、标记、信号交换等,即,术语"管理信号"可指硬件信号或软件信
,,
同样如上所示,在优选实施方式中,微控制器为系统控制和管理上电 复位(POR),因而可按通过系统的主处理器优先取得对设备访问的方式来 响应于和/或产生与上电复位或系统复位有关的信号或软件事件或消息(或 其它管理信号),因而便于共享否则不可能被共享的设备。在一些实施方 式中,系统状态的变化可管理信号如由微控制器产生或接收的系统复位或 POR信号产生或指示。然而应注意,在一些实施方式中,接口的方向控制, 即系统的哪个组件可访问非易失性存储器的控制,可与管理(例如,系统 复位或POR)信号无关。换句话说,微控制器可控制共享设备接口是否指 向系统的处理器或微控制器,而与管理(例如,系统复位或POR)信号无 关。而且,在一些实施方式中,代替硬件信号或除了硬件信号以外,微控 制器还可响应于软件事件、消息、标记、信号交换等,其可指示系统状态 何时使得微控制器确保对共享设备例如对非易失性存储器的安全访问。
在304中,当系统在第一状态中,也就是在^f敬控制器确保对设备的安 全访问、或可通过系统中的处理器禁止对非易失性存储器的访问、以及并 适当配置对非易失性存储器的访问的状态,孩t控制器可检索数据或与非易失性存储器交换数据。例如,当系统保持在第一状态中时,微控制器可从 非易失性存储器提取程序指令/数据,并将程序指令/数据装入到微控制器 的存储器中。 -
在一个实施方式中,将系统保持在第 一状态中可包括将系统复位信号 (或其它管理信号)保持在复位状态中,例如使系统复位有效。当系统复 位信号保持在复位状态中,且非易失性存储器的接口配置成只允许由微控 制器访问时,微控制器可从非易失性存储器提取程序指令/数据,并将程序 指令/数据装入到微控制器的存储器中,或否则访问非易失性存储器。换句 话说,微控制器可将系统复位信号保持在复位状态中(例如,在系统管理 总线101上通过系统复位线403 ),即,可维持系统复位信号的有效性,以 及当系统复位信号有效时可从非易失性存储器提取,即读取、获得或否则 接收(例如,通过由系统的一些其它组件产生的读取)程序指令/数据,并 将程序指令/数据装入到或写入微控制器的存储器中。注意,微控制器的存 储器优选地为RAM (随机存取存储器),虽然可按需要使用任何类型的可 重写的存储器。如上面提到的,在一些实施方式中,程序指令/数据可包括 程序固件代码,该代码可例如被嵌入式微控制器用于启动或复位功能,例 如用于初始化微控制器连同其它用途。在一些实施方式中,微控制器可以 是或包括计算机系统的外围设备控制器。例如,在一个示例性实施方式中, 嵌入式微控制器可以是键盘控制器,以及非易失性存储设备108可存储键 盘控制器(KBC)代码,虽然在其它实施方式中,可按需要使用任何其它 程序指令/数据或数据。
再次参考图4,如可看到的,在本实施方式中,微控制器102可包括 或连接到主机存储器总线105并可包括或连接到设备总线107,如图1B所 示,主机存储器总线105可连接到系统接口 ,以及在本实施方式中设备总 线107是可连接到共享非易失性存储设备108的非易失性存储器总线107。 注意,在所示实施方式中,主机存储器总线105和非易失性存储器总线107 每个都包括三条线,每一条线用于数据、时钟和CSb信号,其中CSb我表 芯片选择条(Chip Select bar),其为芯片选择的低真实版本(low true version),因此是块的地址结构的一部分。在一个实施方式中,主机存储器总线105和非易失性存储器总线107是SPI (串行外围接口 )总线,虽然 可按需要使用其它协议。注意,在一些实施方式中,主机存储器总线105 和非易失性存储器总线107可被考虑为相同的总线,例如存储器总线,微 控制器102插入其中以可转换地截取并可能重新定向总线上的信号。
如图4所示,在本实施方式中,微控制器102包括由开关控制器406 控制的开关404,用于提供对主机存储器总线105和非易失性存储器总线 107例如对存储器总线的转换功能。在一些实施方式中,开关404可包括 Q开关,虽然应注意,术语"Q开关"可不仅指实际Q开关,而且也指功 能等效物或类似物。提到另一方法,开关404可为"概念Q开关",其可 执行Q开关的功能(或类似于Q开关的功能),但其可用不同于Q开关的 方法实现该功能。注意,在图4的实施方式中,开关404包括用于每个存 储器总线线路的相应开关,如由"X3"(第三时间)标志所示。因此,存 储器总线上的每条线可独立地转换,虽然在优选实施方式中,这些线可全 部一起转换,因而暂停或禁止主机接口 106和非易失性存储器108之间的 通信。当然,在其它实施方式中,可按需要使用任何数量的总线线路/开关.
应注意,在其它实施方式中,微控制器102可以不包括开关404,而 相反可连接到在微控制器外部的开关。该方法的一个好处是它可节省微控 制器上的管脚。
如图4进一步示出的,存储器总线上的每条线都可连接到用于在存储 器总线(即,设备总线)和微控制器102之间传递数据/信号的相应的緩冲 器,其中如上所述,微控制器102的大部分内部组件从图中省略了 。因此, 如图4所示,微控制器102可操作来例如通过将开关置于高阻抗状态而可 转换地优先取得和抑制在主机接口 106和非易失性存储器108之间的存储 器总线(主机存储器总线和非易失性存储器总线)上的信号流动,并且当 主机接口 106和非易失性存储器108之间的通信暂停时从非易失性存储器 108提取指令/数据。因此,微控制器可操作来配置设备(例如,开关)的 接口以调节并加强对设备的安全访问。
在306中, 一旦控制器完成了数据检索或与非易失性存储器的数据交 换,或确定了它可能不再保证安全的访问,微控制器就可通过控制信号重新配置接口,以通过系统中的处理器实现访问,例如,通过控制对非易失 性存储器的访问的开关。
在更具体的实施方式中,在微控制器从非易失性存储器装入程序指令 /数据之后,微控制器可从复位状态释放系统复位信号,'因而允许系统中的 处理器访问非易失性存储器。换句话说,当通过微控制器102完成从非易 失性存储器108提取指令/数据时,微控制器可例如通过开关404终止主机 接口 106和非易失性存储器108之间的通信的暂停或优先提取,因而允许 这样的通信的恢复。
因此,使用上述方法的实施方式,微控制器102可抢占或暂停主CPU 与非易失性存储器的通信,并从非易失性存储器读取指令/数据,以例如在 主系统即主CPU的运行之前或与该运行独立而初始化微控制器102和/或 执行其它功能,因而与主系统共享非易失性存储器。例如,在一些实施方 式中,微控制器除了可初始化代码/数据以外还可提取与预51导安全操作有 关的程序指令/数据,并可操作来在主系统的启动之前执行这样的预引导安 全操作,因而对系统提供额外的安全。
图5是根据一个实施方式示出上面方法的定时方面的信号定时示意 图。如图5所示,在此特定的实施方式中,在指示电源电压有效,即,在 有效电平并稳定的VCC PWRGD ("功率有效")信号之后,提供VCC,即 电源电压。应注意,用于这些信号或电压的特定名称或标志仅仅是示例性 的,且不意味着将所使用的信号或电压限制为任何特定的名称或表示。
如所示的, 一旦电源电压稳定了,微控制器102就可将(产生或接收 的)系统复位信号保持在复位状态中,在这里示出在"低"状态(例如,
"低"或负有效状态)中,在此时间期间,微控制器102可从非易失性存 储器提取和装入指令/数据,例如控制器固件代码,且在此期间,由于保持 在复位状态中的系统复位信号,主机,即主系统CPU,被禁止访问非易失 性存储器。同样如图5所示, 一旦装入完成,复位信号就变得无效(图5 中示出为被置于"高"状态中),此后非易失性存储器可通过主机或主系 统CPU访问。
因此,微控制器可适度地共享主系统的非易失性存储器的使用。应注意,在其它实施方式中,额外的微控制器也可使用上述技术与主机或主系 统CPU共享非易失性存储器(或设备)。在进一步的实施方式中,非易失 性存储器的这样的共享也可用在其它方法中。例如,在一些实施方式中, 多个微控制器可共享非易失性存储器(例如,其未被主系统CPU使用), 其中每个微控制器可依次暂停或阻止其它处理器对非易失性存储器的访 问,同时它从存储器装入指令/数据。因此,参考图3描述的不同实施方式 可允许嵌入式微控制器从非易失性存储器设备上载数据和它的固件,所述 设备已经存在于系统中,因此节省成本并避免与用于微控制器的私用闪存 或ROM存储器相关联的问题。
注意,在不同的实施方式中,系统变成确保微处理器对非易失性存储 器(或设备)的安全访问的状态可由软件或硬件执行或在中间调解。换句 话说,在一些实施方式中,状态变化可响应于硬件信号,例如POR信号等, 但在其它实施方式中,状态变化可响应于软件事件、标记、软件条件、软 件消息、软件信号交换等等。提到另一方法,本发明的实施方式意图是实 质上包括嵌入式控制器可确定它可安全地控制共享的非易失性存储器的 任何情况,不管"安全"系统通过软件或硬件被中间调解还是用信号通知。
因此,这里描述的本发明的不同实施方式可允许系统内的嵌入式微控 制器和处理器共享没有设计成被共享的设备。
权利要求
1. 一种系统,包括非易失性存储器;处理器;以及微控制器,其连接到所述非易失性存储器和所述处理器,其中所述微控制器配置成响应于系统状态到第一状态的变化,其中确保所述微控制器对所述非易失性存储器的安全访问,将所述系统保持在所述第一状态中,并将对所述非易失性存储器的访问从所述处理器转换到所述微控制器;当所述系统保持在所述第一状态中时,从所述非易失性存储器提取程序指令/数据,并将所述程序指令/数据装入到所述微控制器的存储器中;以及在装入所述程序指令/数据之后,将对所述非易失性存储器的访问从所述微控制器转换到所述处理器,并从所述第一状态释放所述系统。
2. 如权利要求1所述的系统,其中系统状态到所述第一状态的所述 变化由软件执行。
3. 如权利要求1所述的系统,其中所述第一状态包括下列项中的一 个或更多上电复位(POR)状态;系统复位状态;或睡眠状态。
4. 如权利要求1所述的系统,其中所述程序指令/数据包括用于所述 微控制器的固件代码和/或数据。
5. 如权利要求1所述的系统,所述微控制器是用于计算机系统的外 围设备控制器。
6. —种用于在系统中处理器和微控制器之间共享非易失性存储器的 方法,包括响应于系统状态到第 一状态的变化,其中确保所述微控制器对所述非 易失性存储器的安全访问,将所述系统保持在所速第 一状态中,并将对所 述非易失性存储器的访问从所述处理器转换到所述微控制器;当所述系统保持在所述第一状态中时,从所述非易失性存储器提取程序指令/数据,并将所述程序指令/数据装入到所述微控制器的存储器中; 以及在装入所述程序指令/数据之后,将对所述非易失性存储器的访问从所 述微控制器转换到所述处理器,并从所述第一状态释放所述系统。
7. 如权利要求6所述的方法,其中系统状态到所述第一状态的所述 变化由软件执行。
8. 如权利要求6所述的方法,其中所述第一状态包括下列项中的一 个或更多上电复位(POR)状态;系统复位状态;或睡眠状态。
9. 如权利要求6所述的方法,其中所述程序指令/数据包括用于所述 微控制器的固件代码和/或数据。
10. 如权利要求6所述的方法,所述微控制器是用于计算机系统的外 围设备控制器。
11. 一种系统,包括 非易失性存储器; 处理器;以及微控制器,其连接到所述非易失性存储器和所述处理器,其中所述微 控制器配置成响应于上电复位,将系统复位信号保持在复位状态中,因而禁止 所迷处理器访问所述非易失性存储器;当所述系统复位信号保持在所述复位状态中时,从所述非易失性 存储器提取程序指令/数据,并将所述程序指令/数据装入到所述微控 制器的存储器中;以及在装入所述程序指令/数据之后,允许所述系统中的所述处理器访 问所述非易失性存储器,并从所述复位状态释放所述系统复位信号。
12. 如权利要求11所述的系统,其中所述程序指令/数据包括用于所 述微控制器的固件代码和/或数据。
13. 如权利要求12所述的系统,所述微控制器是用于计算机系统的 外围设备控制器。
14. 如权利要求11所述的系统,其中所述微控制器通过非易失性存储 器总线连接到所述非易失性存储器,以及其中所迷微控制器可操作来通过 所述非易失性存储器总线而从所述非易失性存储器提取所述程序指令/数 据。
15. 如权利要求14所述的系统,其中所述微控制器通过主机存储器 总线连接到所述处理器,以及其中所述微控制器可搡作来可转换地截断或 开通所述处理器和所述非易失性存储器之间的通信。
16. 如权利要求15所述的系统,其中所述微控制器包括或连接到介 于所迷非易失性存储器总线和所述主机存储器总线之间的开关,其中所述 开关可由所述微控制器控制,以可转换地截断或开通所述处理器和所述非 易失性存储器之间的通信。
17. —种用于在系统中处理器和微控制器之间共享非易失性存储器的 方法,包括响应于上电复位,将系统复位信号保持在复位状态中> 因而禁止所述处理器访问所述非易失性存储器;当所述系统复位信号保持在所述复位状态中时,从所述非易失性存储 器提取程序指令/数据> 并将所述程序指令/数据装入到所述微控制器的存储器中;以及在装入所述程序指令/数据之后,允许所述系统中的所述处理器访问所 述非易失性存储器,并从所述复位状态释放所述系统复位信号。
18. 如权利要求17所述的方法,其中所述程序指令/数据包括用于所 述微控制器的固件代码和/或数据。
19. 如权利要求17所述的方法,所述微控制器是用于计算机系统的 外围设备控制器。
20.如权利要求17所述的方法,其中所述孩i控制器通过系统复位总 线连接到所述处理器,以及其中所述微控制器可操作来使所述系统复位总 线上的所述系统复位信号有效。
21. 如权利要求17所述的方法,其中所述微控制器通过非易失性存 储器总线连接到所述非易失性存储器,以及其中所述微控制器可操作来通 过所述非易失性存储器总线而从所述非易失性存储器提取所述程序指令/ 数据。
22. 如权利要求21所述的方法,其中所述微控制器通过主机存储器 总线连接到所述处理器,以及其中所述微控制器可操作来可转换地截断或 开通所述处理器和所述非易失性存储器之间的通信。
23. 如权利要求22所述的方法,其中所述微控制器包括或连接到介 于所述非易失性存储器总线和所述主机存储器总线之间的开关,其中所述 开关可由所述微控制器控制,以可转换地截断或开通所述处理器和所述非 易失性存储器之间的通信。
24. —种系统,包括 处理器;微控制器;以及设备,其连接到所述处理器和所述微控制器;其中所述微控制器配置成响应于系统状态到第一状'态的变化,其中确保所述微控制器对所 述设备的安全访问,设置一个或更多控制信号以导致使用所述微控制 器访问共享的所述设备;当所述系统处于所述第一状态中时,对于所述设备检索数据或与 所述设备交换数据;当所述控制器完成了对于所述设备的数据检索或数据交换,或者 确定了它不再确保安全访问时,通过控制信号重新配置接口以使能够 由所述处理器实现访问;以及改变或允许改变所述系统状态,因而允许所迷系统中的所述处理 器访问共享的所述设备。
25. —种用于在系统中处理器和微控制器之间共享设备的方法,包括响应于系统状态到第一状态的变化,其中确保所述微控制器对所述设 备的安全访问,设置一个或更多控制信号以导致使用所述^1控制器访问共 享的所述设备;当所述系统处于所述第一状态中时,对于所述设备检索数据或与所述 设备交换数据;当所述控制器完成了对于所述设备的数据检索或数据交换,或者确定 了它不再确保安全访问时,通过控制信号重新配置接口以使能够由所述处 理器实现访问;以及改变或允许改变所述系统状态,因而允许所述系统中的所述处理器访 问共享的所述设备。
全文摘要
本发明涉及在计算机系统中嵌入式控制器和处理器之间共享非共享的设备。响应于系统状态变化为第一状态,其中确保微控制器对非易失性存储器的安全访问(例如相应于上电复位、系统复位、睡眠状态等),微控制器将系统保持在第一状态(例如系统复位)中,并把对非易失性存储器的访问从处理器转换到微控制器。当系统保持在第一状态中时,微控制器访问设备(例如非易失性存储器),例如从非易失性存储器提取程序指令/数据,并将程序指令/数据装入到微控制器的存储器中。在访问之后,微控制器改变或允许改变系统状态,例如把对设备如非易失性存储器的访问从微控制器转换到处理器,并从第一状态释放系统。
文档编号G06F9/445GK101441607SQ20081009190
公开日2009年5月27日 申请日期2008年4月10日 优先权日2007年4月10日
发明者D·J·杜顿, I·F·哈里斯 申请人:标准微系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1