CN103019988B - 电脑、嵌入式控制器及其方法 - Google Patents

电脑、嵌入式控制器及其方法 Download PDF

Info

Publication number
CN103019988B
CN103019988B CN201210352173.0A CN201210352173A CN103019988B CN 103019988 B CN103019988 B CN 103019988B CN 201210352173 A CN201210352173 A CN 201210352173A CN 103019988 B CN103019988 B CN 103019988B
Authority
CN
China
Prior art keywords
mentioned
unusual fluctuation
storer
perimeter interface
tandem perimeter
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
CN201210352173.0A
Other languages
English (en)
Other versions
CN103019988A (zh
Inventor
蒙旭·爱伦
善姆·麦可
尼尔·塔莎
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Publication of CN103019988A publication Critical patent/CN103019988A/zh
Application granted granted Critical
Publication of CN103019988B publication Critical patent/CN103019988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种嵌入式控制器。一存储器控制电路于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯,并于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯,其中上述第一串列周边接口不被汇流排仲裁所支援,且上述第二时钟脉冲速率为固定。上述存储器控制电路藉由上述第一与第二串列周边接口来传送上述中央处理单元芯片组与上述存储器之间的存储器异动、识别无存储器异动被传送于上述第二串列周边接口之时间间隔,以及从上述存储器撷取出一信息,以供一微控制器核心于已识别之上述时间间隔进行操作。

Description

电脑、嵌入式控制器及其方法
技术领域
本发明系有关于一种电脑结构,且特别有关于嵌入式控制器以及中央处理单元之间存储器的共享。
背景技术
可使用不同技术来共享处理器之间的存储器资源。例如,美国专利公告号7,818,529揭露一种整合式存储器控制装置,其包括第一接口解码器、第二接口解码器以及接口控制器。第一接口解码器系经由第一串列周边接口(serial peripheral interface,SPI)耦接于控制芯片(chip)、第二接口解码器系经由通用传送接口耦接于微处理器单元以及接口控制器系经由第二串列周边接口耦接于存储器。当接口控制器接收到来自控制芯片以及微处理器单元的请求信号时,接口控制器会经由第一与第二串列周边接口而正确地从存储器读取出数据。另一方面,微处理器单元可停止继续透过通用传送接口从存储器读取出数据。因此,控制芯片以及微处理器单元可以共享相同的存储器。
发明内容
本发明实施例提供一种嵌入式控制器。上述嵌入式控制器包括一微控制器核心以及一存储器控制电路。上述存储器控制电路用以于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯、藉由上述第一与第二串列周边接口来传送上述中央处理单元芯片组与上述存储器之间的存储器异动、识别无存储器异动被传送于上述第二串列周边接口之时间间隔,以及从上述存储器撷取出一信息,以供上述微控制器核心于已识别之上述时间间隔进行操作,其中上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定。
在部分实施例中,上述信息包括一软件码,用以运转上述微控制器核心,以及其中上述存储器控制电路在已识别之上述时间间隔从上述存储器撷取出上述软件码,并控制上述微控制器核心来执行已撷取之上述软件码。在一实施例中,上述第二时钟脉冲速率系大于或等于上述第一时钟脉冲速率。在一实施例中,上述存储器控制电路系根据使用在上述第一串列周边接口之一第一时钟脉冲信号,来产生一第二时钟脉冲信号,以供在上述第二串列周边接口使用。
在另一实施例中,当上述第二串列周边接口被上述存储器异动所占用且上述存储器控制电路无法从上述存储器撷取出上述信息时,上述微控制器核心继续操作。在一实施例中,当上述存储器控制电路无法从上述存储器撷取出上述信息时,上述微控制器核心系使用储存在替代存储器之一替代信息来继续操作。在另一实施例中,上述存储器控制电路产生一有效信号,以指示上述存储器控制电路是否能从上述存储器撷取出上述信息。
在部分实施例中,上述存储器控制电路依照一第一异动类型与上述中央处理单元芯片组进行通讯,以及依照一第二异动类型与上述存储器进行通讯,以便传送一已知之存储器异动,其中上述第二异动类型不同于上述第一异动类型。在另一实施例中,上述第一异动类型系提供一位址信息于一第一数量之接口线上,而上述第二异动类型系提供上述位址信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。在另一实施例中,上述第一异动类型系提供一数据信息于一第一数量之接口线上,而上述第二异动类型系提供上述数据信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。
在另一实施例中,每一上述第一以及第二异动类型系包括从一类型群组中所选出之至少一异动类型,其中上述类型群组包括一正常异动、一快速读取异动、一快速读取双倍输出异动、一快速读取双倍输入/输出异动及一快速读取四倍输入/输出异动。在另一实施例中,上述第一异动类型系由上述中央处理单元芯片组所设定,以及其中上述存储器控制电路对上述第一异动类型进行识别,并根据所识别之上述第一异动类型而选择上述第二异动类型。
在一实施例中,上述存储器控制电路对一已知之存储器异动的类型进行识别,并根据所识别之类型而选择上述第二时钟脉冲速率。在一实施例中,上述存储器控制电路将位于上述第一串列周边接口之一已知之存储器异动转变成位于上述第二串列周边接口之复数存储器异动。在另一实施例中,在一已知之异动中,上述存储器控制电路将欲读取之一位址从上述中央处理单元芯片组传送至上述存储器,并将从上述位址所读取出之一数据从上述存储器传送至上述中央处理单元芯片组,使得上述数据在上述第一串列周边接口中开始于一时钟脉冲周期被传送,其中上述时钟脉冲周期系紧接地跟在上述位址之最后一位。在一实施例中,分别在上述第一串列周边接口与上述第二串列周边接口之一第一时钟脉冲信号以及一第二时钟脉冲信号系彼此同步,并在上述已知之异动的一或多个周期具有已定义时序。
在部分实施例中,当一或多个虚拟周期被上述中央处理单元芯片组插入在上述第一串列周边接口时,上述存储器控制电路将上述虚拟周期插入在由上述第二串列周边接口所传送之位址信息与数据信息之间。在一实施例中,在上述中央处理单元芯片组要求一数据之前,上述存储器控制电路从上述存储器预取出上述数据、以快取(cache)的方式储存上述数据并提供所储存之上述数据至上述中央处理单元芯片组。
在另一实施例中,不管来自中央处理单元芯片之所接收的一读取状态异动,上述存储器控制电路从上述存储器预取出一状态信息,并在接收到上述读取状态异动后,提供所预取之上述状态信息至上述中央处理单元芯片组。在另一实施例中,在上述中央处理单元芯片组之一起动阶段的期间,上述存储器控制电路从上述存储器预取出一描述符区段并储存上述描述符区段于上述嵌入式控制器之一内部存储器,以及在上述起动阶段之后,上述忆体控制电路提供所储存之描述符区段至上述中央处理单元芯片组。
再者,本发明提供一种方法。使用一嵌入式控制器,于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯,其中上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定。藉由上述第一与第二串列周边接口,传送上述中央处理单元芯片组与上述存储器之间的存储器异动。识别无存储器异动被传送于上述第二串列周边接口之时间间隔。从上述存储器撷取出一信息,以供上述嵌入式控制器于已识别之上述时间间隔进行操作。
再者,本发明提供一种电脑,包括一中央处理单元芯片组、一存储器以及一嵌入式控制器。上述嵌入式控制器,用以于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯、藉由上述第一与第二串列周边接口来传送上述中央处理单元芯片组与上述存储器之间的存储器异动、识别无存储器异动被传送于上述第二串列周边接口之时间间隔,以及从上述存储器撷取出一信息,以供上述微控制器核心于已识别之上述时间间隔进行操作。上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定。
附图说明
图1系显示根据本发明一实施例所述之电脑之方块图;
图2系显示根据本发明一实施例所述之嵌入式控制器之操作方法的流程图;
图3A-图3C系显示根据本发明一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图;
图4系显示根据本发明另一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图;
图5系显示根据本发明另一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图;
图6系显示根据本发明另一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图;
图7系显示根据本发明另一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图;以及
图8系显示根据本发明另一实施例所述之嵌入式控制器在中央处理单元以及存储器之间传送存储器异动的信号图。
主要元件符号说明:
20~电脑;
24~中央处理单元芯片组;
28~嵌入式控制器;
32~快闪存储器;
36~微控制器核心;
40~串列周边接口桥;
44~快闪存储器接口;
48~缓冲器;
50-62~步骤;
C_SCK、F_SCK、HFCK~时钟脉冲信号;
C_CS0、F_CS0~芯片选择信号;
C_SDIO、C_SDI、F_SDIO、F_SDI~信号;
C-SPI~第一串列周边接口;
CORE BUS~核心汇流排;
M-SPI~第二串列周边接口;
SPI~串列周边接口;以及
VALID~有效信号。
具体实施方式
为让本发明之上述和其他目的、特征、和优点能更明显易懂,下文特举出实施例,并配合所附图式,作详细说明如下:
实施例:
在部分电脑架构中,电脑包括嵌入式控制器(embedded controller,EC),其可结合电脑之中央处理单元(central processing unit,CPU)进行操作。嵌入式控制器通常可实行不同系统功能,例如键盘扫瞄、电源管理、电池充电以及风扇控制。
本发明之实施例提供改良之嵌入式控制器结构及其方法。本发明实施例所揭露之技术可使电脑之中央处理单元芯片组(简称为芯片组(chipset))以及嵌入式控制器能共享相同的存储器,于是不需要考虑到嵌入式控制器之专属个别之存储器元件的需求。举例来说,本发明所揭露之技术可将嵌入式控制器之程序代码储存在共享的外部存储器,而非内部的存储器,以供嵌入式控制器能即时地从共享存储器来提取以及执行程序代码。整体看来,在芯片组以及嵌入式控制器之间共享存储器资源能减少嵌入式控制器以及电脑之成本与耗电,并可降低零件数以及简化电脑结构。
在本发明之实施例中,共享之存储器系包括串列快闪存储器,其系使用串列周边接口进行通讯。嵌入式控制器系使用串列周边接口而连接于芯片组以及存储器之间,即经由第一串列周边接口连接于芯片组而经由第二串列周边接口连接于存储器。第一串列周边接口不支援仲裁(arbitration)。嵌入式控制器包括可执行不同系统控制功能之微控制器核心以及可执行存储器共享之存储器控制电路。
存储器控制电路可藉由两串列周边接口在芯片组以及存储器之间来传送存储器异动(memory transaction)。此外,存储器控制电路可识别出在第二串列周边接口上,芯片组与存储器之间无存储器异动被传送至的时间间隔(time interval),并使用这些时间间隔来从存储器中提取出信息(例如程序代码),以供微控制器核心进行操作。假如芯片组之存储器异动被启动而嵌入式控制器之存储器异动正在进行时,为了能优先处理芯片组之存储器异动,嵌入式控制器之存储器异动会被中止。
通常,存储器控制电路会根据第一时钟脉冲信号(芯片组端)的时钟脉冲信号,来产生第二串列周边接口之时钟脉冲信号(存储器端)。存储器端之串列周边接口的时钟脉冲信号系产生在固定之时钟脉冲速率(clock rate),其系高于芯片组端之时钟脉冲信号的时钟脉冲速率,以及两时钟脉冲信号系彼此同步,即一时钟脉冲速率系另一时钟脉冲速率的倍数(不一定要为整数倍)且两时钟脉冲信号为互相锁住。(固定一词系表示在一已知的存储器异动中为固定。存储器端的时钟脉冲速率可以在不同的异动中被设定成不同值,其将描述于后)。
在存储器端之串列周边接口的高时钟脉冲速率可致能嵌入式控制器之传送操作,以符合芯片组-存储器接口规格的时序要求。由于芯片组-存储器接口通常不允许任何等待状态(wait state),因此时序的特性就特别地重要。此外,高时钟脉冲速率可缩短第二串列周边接口上的存储器异动,以便留下更多时间而能从存储器提取出信息至嵌入式控制器的微控制器。
不同的传送方式描述于此,其适合由存储器以及芯片组所支援的不同能力以及命令。此外,亦描述可排除饥饿(starvation)情况之不同技术,其中芯片组之存储器异动会不断地阻挡嵌入式控制器之微控制器核心所提取的信息。此外,甚至当嵌入式控制器之微控制器核心在长时间中无法从存储器提取出信息时,本发明实施例所揭露之技术可致能微控制器核心来继续操作。
系统描述
图1系显示根据本发明一实施例所述之电脑20之方块图。电脑20可以是,例如,膝上型电脑、笔记型电脑、平板电脑,或是其他适合的电脑类型。为了简化说明,将省略电脑20中非必要的元件。
电脑20包括中央处理单元(CPU)芯片组24(以下简称晶片组24),例如英特尔奔驣(IntelPentium)芯片组。芯片组24可包括一或多个集成电路(integrated circuit,IC)。电脑20更包括嵌入式控制器28,其能实行不同的系统功能,例如,键盘扫瞄、电源管理、电池充电、风扇控制和/或任何其他适合的功能。
芯片组24与嵌入式控制器28皆使用快闪存储器32之存储器资源。在芯片组24与嵌入式控制器28之间,共享快闪存储器32的存取之技术将详细描述于后。在此实施例中,快闪存储器32包括串列快闪存储器元件,其使用串列周边接口(SPI)进行通讯。例如,快闪存储器32可以是串列周边接口之存储器,其为具有4K位组之扇区(sector)以及双输出串列周边接口的16M位、32M位与64M位之串列快闪存储器。例如,快闪存储器可以是华邦电子(台中市,台湾)所生产的产品W25X16、W25X16A、W25X32与W25X64。这些元件系明确描述于2008年5月5日之“Spiflash-具有4K位元组之扇区(sector)以及双输出串列周边接口的16M位、32M位与64M位”。此外,任何合适的存储器元件亦可以被使用。
参考图1,嵌入式控制器28系使用两串列周边接口而连接于芯片组24以及快闪存储器32之间。第一串列周边接口C-SPI系用来在嵌入式控制器28以及芯片组24之间进行通讯。第二串列周边接口M-SPI系用来在嵌入式控制器28以及快闪存储器32之间进行通讯。嵌入式控制器28包括微控制器核心36,其可实行嵌入式控制器28之不同系统功能。微控制器核心36可简称为微控制器。此外,嵌入式控制器28包括存储器控制电路,其可实行本发明所描述之存储器共享方式。在此实施例中,存储器控制电路包括串列周边接口桥(SPIbridge)40、快闪存储器接口44以及缓冲器48。
串列周边接口桥40在芯片组24以及快闪存储器32之间传送存储器异动(例如读取、写入以及抹除异动)。此外,串列周边接口桥40在微控制器核心36以及快闪存储器32之间提供信息路径。例如,由微控制器核心36所即时执行的码会通过串列周边接口桥40(执行快取(caching)或非快取)。串列周边接口桥40的操作将详细描述于后。
快闪存储器接口44设置于微控制器核心36以及串列周边接口桥40之间。快闪存储器接口44藉由核心汇流排CORE BUS与微控制器核心36进行通讯,并藉由串列周边接口SPI与串列周边接口桥40进行通讯。在部分实施例中,快闪存储器接口44会接收来自于串列周边接口桥40之有效信号VALID,其系指示从快闪存储器32所提取的信息对微控制器核心36是否有效。在此实施例中,缓冲器48为64位组之缓冲器,其系用来从快闪存储器32中预先提取出信息。
图1中,嵌入式控制器28的配置仅是个例子。在其他实施例中,任何其他合适的嵌入式控制器之配置可以被使用。嵌入式控制器28之不同元件的功能可以以硬体、软件或其组合而实施。
在部分实施例中,嵌入式控制器28的部分功能系由可编程处理器所实施,其使用软件进行编程,以实行所描述之功能。软件可透过网路以电子形式下载至处理器。例如,二择一地或是额外地,由非过渡实际媒体(non-transitory tangible media)所提供和/或储存,例如磁性、光学或是电子存储器。
在芯片组与嵌入式控制器之间共享串列周边接口快闪存储器
如先前所描述,串列周边接口桥40在芯片组24以及快闪存储器32之间传送存储器异动。通常,在芯片组24以及快闪存储器32之间的接口规格会在存储器异动中制订严格的时序要求。接口规格通常不允许任何等待状态或仲裁,并且在存储器以及单一芯片组之间采用点对点连接。串列周边接口桥40在芯片组24以及快闪存储器32之间传送存储器异动,并亦在微控制器核心36以及快闪存储器32之间安排信息的程序,以符合严格的时序要求。
在部分实施例中,串列周边接口桥40会传送不同类型的存储器异动。例如,在时钟脉冲速率为20MHz之标准读取命令、在时钟脉冲速率为20MHz、33MHz与50MHz之快速读取命令、写入与抹除命令、控制与状态命令及/或任何其他适合的存储器异动。串列周边接口桥40在微控制器核心36以及快闪存储器32之间控制以及安排程序代码或是其他交换信息,例如时钟脉冲速率高达50MHz。在部分实施例中,在由芯片组24所启动的异动以及由微控制器核心36所启动的异动之间,第二串列周边接口M-SPI的时钟脉冲速率可不同。
在部分实施例中,串列周边接口桥40根据从第一串列周边接口C-SPI所接收之时钟脉冲信号,来产生第二串列周边接口M-SPI之时钟脉冲信号。串列周边接口桥40通常会以较高的时钟脉冲速率来产生第二串列周边接口M-SPI之时钟脉冲信号,其时钟脉冲速率系高于第一串列周边接口C-SPI之时钟脉冲信号的时钟脉冲速率。一般而言,第二串列周边接口M-SPI之时钟脉冲速率为固定,并且为第一串列周边接口C-SPI之时钟脉冲速率的倍数(分数或是整数)。在一实施例中,第二串列周边接口M-SPI之时钟脉冲速率系高于第一串列周边接口C-SPI之时钟脉冲速率的4/3倍,尽管任何其他适合的比例可以被使用。在部分实施例中,至少对特定类型的异动而言,两时钟脉冲信号系彼此同步,即具有较少或是无相互(mutual)的漂移(drift)或抖动(jitter)。对其他类型的异动而言,严格的同步系不需要的。较高之第二串列周边接口M-SPI之时钟脉冲速率可获得的效能优点将描述于后。因为第二串列周边接口M-SPI上的较高时钟脉冲速率,串列周边接口桥40通常能在芯片组24要求之前,先从快闪存储器32预取出数据。预取出的数据会以例如快取的方式(caches)储存至缓冲器48。
在部分实施例中,当传送存储器异动时,串列周边接口桥40会调变异动的类型。举例来说,串列周边接口桥40会从芯片组24接收到快速读取命令或是快速读取双倍输出命令,并将接收到的命令转变成双倍输入/输出(dual I/O)或是四倍输入/输出(Quad I/O)读取命令(即读取命令的位址信息以及数据信息系以并列方式提供在二或四个接口线上),并传送至快闪存储器32。在这些实施例中,当传送存储器异动时,串列周边接口桥40会使用一种异动类型与芯片组24进行通讯,而使用另外的异动类型与快闪存储器32进行通讯,并在两种异动类型之间进行转变(双向)。
异动类型,例如,双倍输入/输出以及四倍输入/输出会致能第二串列周边接口M-SPI,以短异动(相较于第一串列周边接口C-SPI的异动)的方式而操作在相对低之汇流排的使用。即便当芯片组24不支援这些异动类型(快闪存储器32所支援的)时,先前所描述之异动技术可致能第二串列周边接口M-SPI,使用短异动在低汇流排使用的情况下进行操作。结果,对中央处理单元芯片组24之存储器异动的较低汇流排使用而言,有较多时间能在第二串列周边接口M-SPI上使用,以便在快闪存储器32以及微控制器核心36之间交换信息。此外,由于大量之芯片组存储器异动在传送,微控制器核心36会被阻挡与快闪存储器32进行通讯,而异动技术可减少饥饿情况的可能性。
串列周边接口桥40使用不同类型的异动传送至芯片组24以及传送至快闪存储器32的传送方法将详细描述于后,即图4与图5。在部分实施例中,串列周边接口桥40会维持相同之异动类型传送至芯片组24以及传送至快闪存储器32,如图3A-图3C所显示。
在部分实施例中,串列周边接口桥40系根据存储器异动的类型以及第一串列周边接口C-SPI的时钟脉冲速率,而来选择第二串列周边接口M-SPI之时钟脉冲速率。例如,假如第一串列周边接口C-SPI系设在任何低于40MHz时钟脉冲速率之快速读取异动(单一或双倍输入/输出),串列周边接口桥40会将第二串列周边接口M-SPI之时钟脉冲速率设为第一串列周边接口C-SPI之时钟脉冲速率的4/3倍。例如,假如第一串列周边接口C-SPI系设在50MHz时钟脉冲速率的快速读取异动(单一或双倍输入/输出),串列周边接口桥40会将第二串列周边接口M-SPI之时钟脉冲速率与第一串列周边接口C-SPI之时钟脉冲速率设为相同值。
在部分实施例中,尽管在第二串列周边接口M-SPI上从快闪存储器32所提取之信息被芯片组存储器异动阻挡了长时间周期,微控制器核心36会继续运转。在一实施例中,串列周边接口桥40检查每一位群组(例如32位),其是从快闪存储器32传送至微控制器核心36。对每一位群组而言,串列周边接口桥40会发送有效信号VALID来指示该位群组是否有效。位群组可能是无效的,例如,由于第二串列周边接口M-SPI上的芯片组存储器异动,位群组的检索(retrieval)会被中止。当发现位群组为无效的,串列周边接口桥40会重试以传送该位群组,直到该位群组成功地被传送。
在部分实施例中,当微控制器核心36无法接收到来自快闪存储器32的信息(例如程序代码)时,微控制器核心36不能停止或暂停。例如,在部分实施例中,嵌入式控制器28包括小的内部存储器(未显示),其包含另一程序代码,用以当无法使用快闪存储器32时,可供微控制器核心36来执行。在这种情况下,微控制器核心36能使用另一程序代码来维持运行。在一实施例中,另一程序代码可实行基本系统功能,以防止电脑20的损害,例如温度监控以及风扇控制。
在部分实施例中,串列周边接口桥40会将第一串列周边接口C-SPI的长芯片组存储器异动划分成第二串列周边接口M-SPI的多个较短的存储器异动。此技术具有较高效率,能使第二串列周边接口M-SPI之嵌入式控制器的存储器异动的有效时间较频繁,以减少微控制器核心36之饥饿周期。在部分实施例中,串列周边接口桥40使用较高的第二串列周边接口M-SPI的时钟脉冲速率和/或双倍或四倍-输入/输出异动类型,来将第二串列周边接口M-SPI上的长芯片组异动划分成较短的异动。在一实施例中,串列周边接口桥40会从快闪存储器32预取出数据,并将数据以快取(cache)的方式储存至缓冲器48。
图2系显示嵌入式控制器28之操作方法的流程图。首先,在步骤50,嵌入式控制器28在中央处理芯片24以及快闪快闪存储器32之间传送存储器异动。在一般流程中,嵌入式控制器28的串列周边接口桥40会透过第一串列周边接口C-SPI而接收到来自芯片组24的存储器异动(例如读取、快速读取或是快速读取双倍输出),并对异动的命令码(可识别出命令的类型)进行解码,以便识别出异动的类型。串列周边接口桥40会将进来的字元(例如位组)进行缓冲,并透过第二串列周边接口M-SPI以较高的时钟脉冲速率而传送至快闪存储器32。当在第二串列周边接口M-SPI上接收到来自快闪存储器32的回应时(例如相应于读取命令之数据撷取),串列周边接口桥40会将输入的字元进行缓冲,并以较低的时钟脉冲速率透过第一串列周边接口C-SPI而传送至芯片组24。
在步骤54,在芯片组之存储器异动的传送期间,串列周边接口快闪存储器接口44可使用有效的指示来识别出无芯片组存储器异动被传送于第二串列周边接口M-SPI的时间间隔。通常,快闪存储器接口44会识别出第二串列周边接口M-SPI为闲置的时间间隔。在步骤58,快闪存储器接口44使用这些时间间隔来从快闪存储器32提取出信息(例如程序代码),以供微控制器核心36使用。在部分实施例中(例如当快闪存储器32系包括串列周边接口随机存取存储器,而不是快闪存储器),串列周边接口桥40可使用已识别出之时间间隔,将来自微控制器核心36之信息储存至快闪存储器32中。在步骤62,微控制器核心36会使用从快闪存储器32所提取的信息(例如程序代码)进行操作。
正常读取异动
图3A-图3C图系显示根据本发明一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。在此实施例中,嵌入式控制器28的串列周边接口桥40会在芯片组24以及快闪存储器32之间传送一正常(简单)读取异动。上方四个信号(C_SCK、C_CS0、C_SDIO与C_SDI)系属于第一串列周边接口C-SPI,而下方四个信号(F_SCK、F_CS0、F_SDIO与F_SDI)系属于第二串列周边接口M-SPI。
信号C_SCK是第一串列周边接口C-SPI的串列时钟脉冲信号,而信号F_SCK是第二串列周边接口M-SPI的串列时钟脉冲信号。在此实施例中,信号F_SCK的时钟脉冲速率系高于信号C_SCK的时钟脉冲速率约4/3倍。信号C_CS0与信号F_CS0系分别为第一串列周边接口C-SPI以及第二串列周边接口M-SPI的芯片选择信号。信号C_SDIO与信号F_SDIO分别带有第一串列周边接口C-SPI以及第二串列周边接口M-SPI的存储器异动之命令码以及位址字元(以及快速读取双倍或四倍-输入/输出的数据信息)。信号C_SDI与信号F_SDI分别带有第一串列周边接口C-SPI以及第二串列周边接口M-SPI的存储器异动之数据以及位址。
图3A系显示一般所传送之异动。如图3A所显示,串列周边接口桥40会在信号C_SDIO上识别出正常读取异动之命令码(在此实施例为03h)。串列周边接口桥40将第二串列周边接口M-SPI之时钟脉冲速率设为第一串列周边接口C-SPI之时钟脉冲速率的4/3倍,并在一连串的位址字元之后,将来自芯片组24之命令码传送至快闪存储器32。
紧接在最后位址字元之后,串列周边接口桥40会将从快闪存储器32所撷取到的数据传送至芯片组24。由于第一串列周边接口C-SPI与第二串列周边接口M-SPI之间的时钟脉冲为同步,最后位址字元与撷取到的数据是有可能相邻的。相较于第一串列周边接口C-SPI的时钟脉冲速率,使用第二串列周边接口M-SPI之较高时钟脉冲速率可得到最后位址位的时序最佳化。
图3B与图3C系描述从芯片组24传送位址字元至快闪存储器32以及从快闪存储器32传送数据字元至芯片组24之间的立即切换。如图所显示,在信号C-SDIO上最后位址字元的结束之后,可在信号C-SDI上得到第一数据信息。在部分存储器规格中,相邻是必要的。
在此实施例中,串列周边接口桥40使用高频时钟脉冲信号HFCK(例如具有50%工作周期之150MHz时钟脉冲信号),从信号C_SCK(第一串列周边接口C-SPI的时钟脉冲信号)产生信号F_SCK(第二串列周边接口M-SPI的时钟脉冲信号)。在异动的命令阶段,串列周边接口桥40的内部计数器会在信号C_SCK的六个周期内,来计数高频时钟脉冲信号HFCK之周期的数量,以产生信号F_SCK。此机制(如图3B之标号“1”所显示)会产生快于信号C_SCK之4/3倍的信号F_SCK,而每隔三个时钟脉冲信号C_SCK之周期,两时钟脉冲信号C_SCK与F_SCK亦会彼此同步。
最后位址位(A0)会通过串列周边接口桥40,使得在信号F_SCK的上升边缘之前(如图3B之标号“2”所显示)快闪存储器32之接线上的位址会稳定。在此实施例中,其他位址位会事先由串列周边接口桥40进行取样,而串列周边接口桥40会对快闪存储器32端的位之设置时间(setup time)以及保持时间(hold time)负责。
在最后位址位之后,快闪存储器32提供第一数据位(如图3B之标号“3”所显示)。第一数据位(D0)会通过串列周边接口桥40,使得在第一数据周期中,于芯片组24之信号C_SDI上的有效数据会出现(如图3B之标号“4”所显示)。在随后的周期中,串列周边接口桥40会对数据进行取样,并在信号C_SCK的上升边缘之前提供至芯片组24。
图3C系显示图3B之详细时序图。在此实施例中,信号C_SCK之时钟脉冲周期TC_SCK的最小值为48ns。信号C_SCK之设置时间TCSU的最大值为2ns。信号F_SCK与信号C_SCK之间的最大偏移TCD为9ns,而信号F_SCK与信号C_SCK之间的最小偏移TCDLT为-5ns。信号F_SCK的最高周期TFCH为14ns,且相同于两倍之信号HFCK的周期THFCK,即TFCH=2THFCK。信号F_SCK的时钟脉冲周期TF_SCK为36ns。在快闪存储器32之输出端之有效数据的最大延迟TVAL为9ns。于是,在最差的条件下,接口线以及串列周边接口桥40之最大可容许之数据延迟为48-9-14-9-2=14ns。
对部分类型的存储器装置而言,例如,因为信号C_SCK之设置时间TCSU可以是负的,所以最大可允许之延迟可以更小。
所揭露的技术相对于串列周边接口的时钟脉冲可得到信号C_SDIO(亦可称为信号MOSI)之相对大的设置时间的优点:在部分状况中,第二串列周边接口M-SPI之时钟脉冲信号的上升边缘(由嵌入式控制器所产生)可以在串列周边接口之时钟脉冲的边缘之前出现,而快闪存储器32仍会正确地对信号C_SDIO进行取样。
双倍以及四倍输入/输出异动
如先前所描述,在部分实施例中,串列周边接口桥40藉由使用一种异动类型与芯片组24进行通讯以及使用不同的异动类型与快闪存储器32进行通讯,以传送已知的存储器异动。异动类型可定义,例如,以平行方式所提供之异动的位址信息所在的接口线之数量。异动的类型可包括:正常异动、简单异动或是快速读取异动,其位址信息被提供在单一接口线上;双倍输出异动,其位址信息被提供在单一接口线上而数据信息被提供在两条接口线上;双倍输入/输出异动,其位址信息系以平行方式被提供在两条接口线上;以及,四倍输入/输出异动,其位址信息系以平行方式被提供在四条接口线上。
在部分实施例中,为了决定快闪存储器32所能支援之异动的类型,嵌入式控制器28在起始期间会与快闪存储器32进行通讯。在决定了所支援的异动类型之后,在传送存储器异动时,嵌入式控制器28会选择相对于快闪存储器32所欲使用之异动的类型。在一实施例中,芯片组24发送快速读取异动,但是快闪存储器32只能处理双倍输入/输出异动。在此实施例中,串列周边接口桥40通常会在快速类型以及双倍输入/输出类型之间进行转变,以传送存储器异动。所以,第二串列周边接口M-SPI会操作在相对低之汇流排使用,而留下更多可用时间来交换快闪存储器32以及微控制器核心36之间的信息。
此外,在第二串列周边接口M-SPI上的双倍输入/输出异动或是四倍输入/输出异动的使用可对芯片组24端以及快闪存储器32端之串列周边接口时钟脉冲的不准确具有较高的耐受程度。在部分实施例中,第二串列周边接口M-SPI之较高传输量(藉由使用较高时钟脉冲速率和/或双倍输入输出异动或是四倍输入输出异动所获得)会致能串列周边接口桥40来从快闪存储器32预取信息。所预取的信息会缓冲在缓冲器48,然后再提供至芯片组24。
图4系显示根据本发明另一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。在此实施例中,串列周边接口桥40执行一快速读取双倍输入/输出异动至快闪存储器32,以传送由芯片组24所发送之快速读取异动。如图所显示,在第一串列周边接口C-SPI上,位址信息系由单一接口线(信号C_SDIO)所提供。另一方面,在第二串列周边接口M-SPI上,位址信息系以平行方式由两条接口线(信号F_SDIO与信号F_SDI)所提供。
在此实施例中,为了支援其他类型的异动,例如标准读取与写入异动以及读取状态异动,芯片选择信号F_CS0在异动之命令码阶段的结束之前会出现(如图4之标号“1”所显示)。在时钟脉冲信号C_SCK的第一个上升边缘之后,时钟脉冲信号F_SCK的第一个周期会产生(如图4之标号“2”所显示)。
在第二串列周边接口M-SPI上之串列周边接口命令的八个周期之后,在信号F_SCK之下个十二个周期的期间会发送出24位的位址信息(如图4之标号“3”所显示)。在第一串列周边接口C-SPI上所发送之八个虚拟(dummy)位周期的期间内,位址阶段会结束(如图4之标号“4”所显示)。异动会被启动,使得在第一串列周边接口C-SPI之八个虚拟位期间,在第二串列周边接口M-SPI上之四个虚拟位亦会结束(如图4之标号“5”所显示)。假如虚拟周期被插入至第一串列周边接口C-SPI,则串列周边接口桥40会将虚拟周期插入至第二串列周边接口M-SPI。对双倍输入/输出异动(图4)以及正常读取异动(第3A-3C图)两者而言,第一串列周边接口C-SPI上的异动通常比第二串列周边接口M-SPI上的异动会较晚结束(除非第一串列周边接口C-SPI上的异动会在串列周边接口桥40所提取之64位之前结束)。在完成了第二串列周边接口M-SPI上的异动之后,第一串列周边接口C-SPI上的数据会从缓冲器48被载入。
图5系显示根据本发明另一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。在此实施例中,串列周边接口桥40会执行一快速读取四倍输入/输出异动至快闪存储器32,以传送由芯片组24所发送之快速读取异动。如图所显示,在第一串列周边接口C-SPI上,位址信息系由在单一接口线(信号C_SDIO)所提供。然而,在第二串列周边接口M-SPI上,位址信息系以平行方式由四条接口线(信号F_SDIO、信号F_SDI、信号F_SDI2与信号F_SDI3)所提供。
在此实施例中,为了支援其他类型的异动,如先前所描述,芯片选择信号F_CS0在异动之命令码阶段的结束之前被送出(asserted)(如图5之标号“1”所显示)。在时钟脉冲信号C_SCK的第一个上升边缘之后,时钟脉冲信号F_SCK的第一个周期会产生(如图5之标号“2”所显示)。
在第二串列周边接口M-SPI上之串列周边接口命令的八个周期之后,在信号F_SCK之下个六周期的期间会发送出24位的位址信息(如图5之标号“3”所显示)。在第一串列周边接口C-SPI上所发送之八个虚拟位周期的期间内,位址阶段会结束(如图5之标号“4”所显示)。异动会被启动,使得在第一串列周边接口C-SPI之八个虚拟位期间,在第二串列周边接口M-SPI上之四个虚拟位亦会结束(假如虚拟周期被插入至第一串列周边接口C-SPI,则串列周边接口桥40会将虚拟周期插入至第二串列周边接口M-SPI)。对四倍输入/输出异动而言,第一串列周边接口C-SPI上的异动通常(如图5之标号“5”所显示)比第二串列周边接口M-SPI上的异动会较晚结束,除非第一串列周边接口C-SPI上的异动会在串列周边接口桥40所提取之64位之前结束。在完成了第二串列周边接口M-SPI上的异动之后,第一串列周边接口C-SPI上的数据会从缓冲器48被载入。
图3A-图3C以及图4-图5所描述之传送方式仅是个例子,并非用以限定本发明。在其他实施例中,任何其他适合的传送方式亦可被使用。
对存储器异动的部分类型而言,串列周边接口桥40会识别出异动之命令码,并相应地将第二串列周边接口M-SPI之时钟脉冲速率设成相同于第一串列周边接口C-SPI之时钟脉冲速率。上述异动类型包括,例如,写入致能(命令码06h)、写入失能(04h)、编程(写入)数据(02h)、写入至状态暂存器(01h)、致能写入至状态暂存器(50h或60h)、抹除、芯片抹除(c7h)或是其他适合的异动类型。对这些异动类型而言,在第一串列周边接口C-SPI以及第二串列周边接口M-SPI系使用相同之时钟脉冲速率,其可使内部缓冲减到最少。
在部分实施例中,串列周边接口桥40对读取状态异动使用不同的程序。读取状态异动不具有位址栏位,并且需要立即回应。通常,串列周边接口桥40不会有充分的时间来从快闪存储器32提取状态数据,并传送所提取之状态数据至芯片组24。在部分实施例中,串列周边接口桥40偶尔会不管从芯片组24所接收到的读取状态异动,反而对快闪存储器32的状态数据进行提取。在一实施例中,当第二串列周边接口M-SPI为空闲、在写入或抹除异动之后每隔500微秒(μs)以及在每个写入状态异动发生时,串列周边接口桥40会每隔2微秒(ms)提取状态数据。于是,串列周边接口桥40可维持住状态数据的最新复制。在侦测到由芯片组24所启动的读取状态异动(05h或35h)之后,串列周边接口桥40会以内部所储存之状态数据进行回应。
芯片组以及嵌入式控制器之存储器异动的仲裁
图6系显示根据本发明另一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。图6系描述当识别出由芯片组24所发出之标准(正常)读取存储器异动时,嵌入式控制器28之存储器异动系如何被中止的。当串列周边接口桥40识别出芯片组存储器异动而嵌入式控制器28之存储器异动正在进行时,串列周边接口桥40会立即藉由使芯片选择信号F_CS0失效(如图6之标号“1”所显示),来中止嵌入式控制器28之存储器异动。
通常,芯片选择信号F_CS0正好在芯片组存储器异动之命令码阶段的结束之前会生效(如图6之标号“2”所显示)。假如芯片组存储器异动之命令码为03h(正常读取异动),第二串列周边接口M-SPI之时钟脉冲速率系快于第一串列周边接口C-SPI之时钟脉冲速率的4/3倍,以及在芯片组命令码之最后位之后,嵌入式控制器存储器异动会立即在第二串列周边接口M-SPI上被启动。
图7系显示根据本发明另一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。图7系描述当识别出由芯片组24所发出之快速读取存储器异动时,嵌入式控制器28之存储器异动系如何被中止的。当串列周边接口桥40识别出芯片组存储器异动时,串列周边接口桥40会立即藉由使芯片选择信号F_CS0失效(如图7之标号“1”所显示),来中止正在进行的嵌入式控制器存储器异动。
通常,芯片选择信号F_CS0正好在芯片组存储器异动之命令码阶段的结束之前会生效(如图7之标号“2”所显示)。假如芯片组存储器异动之命令码为0Bh(快速读取异动)或是3Bh(快速读取双倍输出异动),串列周边接口桥40会再次使芯片选择信号F_CS0失效。在信号C_SCK之时钟脉冲上升边缘之后,信号F_SCK的第一个周期会产生(如图7之标号“3”所显示)。
图8系显示根据本发明另一实施例所述之嵌入式控制器28在中央处理单元24以及快闪存储器32之间传送存储器异动的信号图。图8系描述当识别出由芯片组24所发出之写入或是抹除读取存储器异动时,嵌入式控制器28之存储器异动系如何被中止的。当串列周边接口桥40识别出芯片组存储器异动时,串列周边接口桥40会藉由使芯片选择信号F_CS0失效(如图8之标号“1”所显示),来中止嵌入式控制器存储器异动。如先前所描述,芯片选择信号F_CS0正好在芯片组存储器异动之命令码阶段的结束之前会生效(如图8之标号“2”所显示)。假如芯片组存储器异动之命令码为02h(简单写入异动)或是具有相似特性的其他命令码(例如抹除异动),串列周边接口桥40会将第二串列周边接口M-SPI之时钟脉冲速率设成相同于第一串列周边接口C-SPI之时钟脉冲速率。在芯片组命令码之最后位之后,位在快闪存储器32端的异动会立即被启动。
图6-图8所描述之信号图仅是个例子,并非用以限定本发明。在其他实施例中,任何其他适合的仲裁方式亦可被使用。
在部分实施例中,嵌入式控制器28会在芯片组24之初始化期间以及在初始化之后的正常操作期间使用不同方式来实行上述技术。在芯片组24之初始化期间,芯片组24通常会在快至20MHz之时钟脉冲速率来产生标准串列周边接口读取异动(命令码为03h)。这种类型的串列周边接口异动会要求在最后位址位的下一个时钟脉冲周期之间,串列周边接口上的异动之第一数据位为有效。由于嵌入式控制器28系连接于快闪存储器32以及芯片组24之间,在异动内的最后位址应该要在第二串列周边接口M-SPI之时钟脉冲上升边缘之前,通过嵌入式控制器28并到达快闪存储器32。在下一个第二串列周边接口M-SPI之时钟脉冲(信号F_SCK)下降边缘,来自快闪存储器32的串列数据上的第一数据被驱动,第一串列周边接口C-SPI上之串列数据的数据应该要在通过嵌入式控制器28之后的时钟脉冲信号C_SCK的下一个上升边缘之前准备好。
嵌入式控制器28可以不同方式来符合这些要求。在部分实施例中,如先前所描述(在图3A-图3C),相较于第一串列周边接口C-SPI,嵌入式控制器28在第二串列周边接口M-SPI上使用较高的时钟脉冲速率,使得两时钟脉冲信号为同步。既然芯片组24以及快闪存储器32皆支援高于20MHz的频率,为了第一串列周边接口C-SPI上的第一数据能准时,嵌入式控制器28能在使用第一串列周边接口C-SPI以及第二串列周边接口M-SPI上利用剩余的时间。值得注意的是,由于第二串列周边接口M-SPI之时钟脉冲速率高于第一串列周边接口C-SPI之时钟脉冲速率,通常会在第一或第二数据位之后使用所预取之数据。
在不同实施例中,串列周边接口桥40会使用任何适合的技术来产生时钟脉冲信号F_SCK,以供第二串列周边接口M-SPI使用。举例来说,串列周边接口桥40会使用锁相回路(phase locked loop,PLL)机制或是使用任何已知之其他时钟脉冲相位同步机制来对信号C_SCK以及信号F_SCK进行同步。在另一实施例中,串列周边接口桥40系可参照下列程序来产生信号F_SCK,以供第二串列周边接口M-SPI使用。在下列描述中,2的幂次方的除法系用移位(shift)所实施,使得结果只有整数部分被保留:
1.产生150MHz之时钟脉冲信号HFCK。
2.在第一串列周边接口C-SPI的三个时钟脉冲周期的移动视窗中,计数时钟脉冲信号HFCK之周期的边缘。所计数到的值标示为CNT3_150M。
3.在信号C_SCK的每个周期,在每个第一串列周边接口C-SPI之时钟脉冲周期之内,更新时钟脉冲信号HFCK之边缘的数量(标示为CNT1_150M)。
4.将信号F_SCK与信号C_SCK之间的比例设成4/3,使得每隔三个信号C_SCK的周期会产生四个信号F_SCK的周期。
5.从六个信号C_SCK的正边缘开始,每隔三个边缘(即,当从0开始计数,在边缘6、9、12、15等等)产生一组四个信号F_SCK之时钟脉冲周期。这些点被视为信号F_SCK之启动点。
6.在信号F_SCK之启动点之后,等待(CNT1_150M±Const)个时钟脉冲信号HFCK的一半周期,来触发信号F_SCK之正边缘(可以在时钟脉冲信号HFCK的任何边缘)。参数Const系用来表示在信号F_SCK之插入点之后的周期,相对于信号C_SCK之上升边缘来调整信号F_SCK之上升边缘的准确位置。
7.信号F_SCK的高周期(H_PER)为两倍时钟脉冲信号HFCK的周期。
8.第一个时钟脉冲的时钟脉冲期间为CNT3_150M/4个时钟脉冲信号HFCK的一半周期。例如,假如CNT3_150M=59,则为59/4=14个时钟脉冲信号HFCK的一半周期。于是,第一低周期的长度是14-4=10个时钟脉冲信号HFCK的一半周期。
9.第二个信号F_SCK的高周期为两倍时钟脉冲信号HFCK的周期。
10.第二个时钟脉冲结束在信号F_SCK之第三个周期的正边缘,其是在信号F_SCK启动点之后CNT3_150M/2个时钟脉冲信号HFCK的一半周期所产生。在这些实施例中,第二个时钟脉冲系结束于29个时钟脉冲信号HFCK的一半周期。
11.第三个信号F_SCK的高周期为两倍时钟脉冲信号HFCK的周期。
12.第四个信号F_SCK的周期之正边缘系在(CNT3_150M-(CNT3_150M/2))/2+CNT3_150M/2个时钟脉冲信号HFCK的一半周期所产生。在此实施例中,第四个信号F_SCK的周期之正边缘系在(59-29)/2+29=44个时钟脉冲信号HFCK的一半周期所产生。
13.第四个信号F_SCK的高周期为两倍时钟脉冲信号HFCK的周期。
14.下一个信号F_SCK之正边缘将出现在下一组信号F_SCK之周期的第一边缘。
在部分实施例中,嵌入式控制器28会对电脑20产生系统重置,尤其是对芯片组24。在系统重置的期间,嵌入式控制器28会从快闪存储器32载入描述符区段(descriptorsection)(尺寸通常为4K位),并将描述符区段储存在芯片内之随机存取存储器(RAM,未显示)。在系统重置之后,于系统的启动周期之间,嵌入式控制器28会使用预先载入的描述符区段来取代储存在快闪存储器32的描述符数据。在系统的启动周期之后,快速读取异动或是快速读取双倍输出异动可以在串列周边接口上被使用(假如描述符非原来的描述符设定,则嵌入式控制器28会超出相关的描述符)。这些异动的协议在一个异动之内的最后位址位之后,会具有8个虚拟时钟脉冲周期。因此,相较于标准读取异动,此技术具有较佳的时间相容性。
在启动阶段之后,芯片组24通常会读取描述符区段,并指示在异动的最后位址位之后,使用具有8个虚拟时钟脉冲周期之快速读取异动或是快速读取双倍输出异动(例如图8)。在快速读取异动以及快速读取双倍输出异动中,第二串列周边接口M-SPI的时钟脉冲速率被设为高于或等于第一串列周边接口C-SPI的时钟脉冲速率。所以,因为芯片组存储器异动的最大长度为64位,则预先提取之异动的最大长度亦为64位。为了放松接口的时间限定,快速读取双倍输入/输出异动或是快速读取四倍输入/输出异动可以在第二串列周边接口M-SPI上被使用。在最后位址位之后,快速读取双倍输入/输出异动或是快速读取四倍输入/输出异动仅需使用到四个虚拟时钟脉冲周期。在第一串列周边接口C-SPI上传送长存储器异动的情况,其配置通常允许足够的码提取频宽,以供嵌入式控制器28的微控制器使用。
虽然,本发明之实施例主要系描述在中央处理单元芯片组以及嵌入式控制器之微控制器之间串列周边接口的共享。然而,本发明所描述之方法及系统亦可使用在需要串列汇流排共享,但是对汇流排而言,在汇流排主控之间却无仲裁被定义之其他应用。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明之精神和范围内,当可作些许之更动与润饰,因此本发明之保护范围当以本发明权利要求范围所界定者为准。

Claims (41)

1.一种嵌入式控制器,其特征在于,所述的嵌入式控制器包括:
一微控制器核心;以及
一存储器控制电路,用以于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯、藉由上述第一与第二串列周边接口来传送上述中央处理单元芯片组与上述存储器之间的存储器异动、识别无存储器异动被传送于上述第二串列周边接口之时间间隔,以及从上述存储器撷取出一信息,以供上述微控制器核心于已识别之上述时间间隔进行操作,
其中上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定。
2.如权利要求1所述的嵌入式控制器,其特征在于,所述的信息包括一软件码,用以运转上述微控制器核心,以及其中上述存储器控制电路在已识别之上述时间间隔从上述存储器撷取出上述软件码,并使上述微控制器核心执行已撷取之上述软件码。
3.如权利要求1所述的嵌入式控制器,其特征在于,所述的第二时钟脉冲速率系大于或等于上述第一时钟脉冲速率。
4.如权利要求1所述的嵌入式控制器,其特征在于,所述的存储器控制电路系根据使用在上述第一串列周边接口之一第一时钟脉冲信号,来产生一第二时钟脉冲信号,以供在上述第二串列周边接口使用。
5.如权利要求1所述的嵌入式控制器,其特征在于,当所述的第二串列周边接口被上述存储器异动所占用且上述存储器控制电路无法从上述存储器撷取出上述信息时,上述微控制器核心继续操作。
6.如权利要求5所述的嵌入式控制器,其特征在于,当所述的存储器控制电路无法从上述存储器撷取出上述信息时,上述微控制器核心系使用储存在替代存储器之一替代信息来继续操作。
7.如权利要求1所述的嵌入式控制器,其特征在于,所述的存储器控制电路产生一有效信号,以指示上述存储器控制电路是否能从上述存储器撷取出上述信息。
8.如权利要求1所述的嵌入式控制器,其特征在于,所述的存储器控制电路依照一第一异动类型与上述中央处理单元芯片组进行通讯,以及依照一第二异动类型与上述存储器进行通讯,以便传送一已知之存储器异动,其中上述第二异动类型不同于上述第一异动类型。
9.如权利要求8所述的嵌入式控制器,其特征在于,所述的第一异动类型系提供一位址信息于一第一数量之接口线上,而上述第二异动类型系提供上述位址信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。
10.如权利要求8所述的嵌入式控制器,其特征在于,所述的第一异动类型系提供一数据信息于一第一数量之接口线上,而上述第二异动类型系提供上述数据信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。
11.如权利要求8所述的嵌入式控制器,其特征在于,每一上述第一以及第二异动类型系包括从一类型群组中所选出之至少一异动类型,其中上述类型群组包括一正常异动、一快速读取异动、一快速读取双倍输出异动、一快速读取双倍输入/输出异动及一快速读取四倍输入/输出异动。
12.如权利要求8所述的嵌入式控制器,其特征在于,所述的第一异动类型系由上述中央处理单元芯片组所设定,以及其中上述存储器控制电路对上述第一异动类型进行识别,并根据所识别之上述第一异动类型而选择上述第二异动类型。
13.如权利要求1所述的嵌入式控制器,其特征在于,所述的存储器控制电路对一已知之存储器异动的类型进行识别,并根据所识别之类型而选择上述第二时钟脉冲速率。
14.如权利要求1所述的嵌入式控制器,其特征在于,所述的存储器控制电路将位于上述第一串列周边接口之一已知之存储器异动转变成位于上述第二串列周边接口之复数存储器异动。
15.如权利要求1所述的嵌入式控制器,其特征在于,在一已知之异动中,上述存储器控制电路将欲读取之一位址从上述中央处理单元芯片组传送至上述存储器,并将从上述位址所读取出之一数据从上述存储器传送至上述中央处理单元芯片组,使得上述数据在上述第一串列周边接口中开始于一时钟脉冲周期被传送,其中上述时钟脉冲周期系紧接地跟在上述位址之最后一位。
16.如权利要求15所述的嵌入式控制器,其特征在于,分别在上述第一串列周边接口与上述第二串列周边接口之一第一时钟脉冲信号以及一第二时钟脉冲信号系彼此同步,并在上述已知之异动的一或多个周期具有已定义时序。
17.如权利要求1所述的嵌入式控制器,其特征在于,当一或多个虚拟周期被上述中央处理单元芯片组插入在上述第一串列周边接口时,上述存储器控制电路将上述虚拟周期插入在由上述第二串列周边接口所传送之位址信息与数据信息之间。
18.如权利要求1所述的嵌入式控制器,其特征在于,在上述中央处理单元芯片组要求一数据之前,上述存储器控制电路从上述存储器预取出上述数据、以快取的方式储存上述数据并提供所储存之上述数据至上述中央处理单元芯片组。
19.如权利要求1所述的嵌入式控制器,其特征在于,不管来自中央处理单元芯片之所接收的一读取状态异动,上述存储器控制电路从上述存储器预取出一状态信息,并在接收到上述读取状态异动后,提供所预取之上述状态信息至上述中央处理单元芯片组。
20.如权利要求1所述的嵌入式控制器,其特征在于,在所述的中央处理单元芯片组之一起动阶段的期间,上述存储器控制电路从上述存储器预取出一描述符区段并储存上述描述符区段于上述嵌入式控制器之一内部存储器,以及在上述起动阶段之后,上述存储器控制电路提供所储存之描述符区段至上述中央处理单元芯片组。
21.一种嵌入式控制器的操作方法,其特征在于,所述的方法包括:
使用一嵌入式控制器,于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯,其中上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定;其中,所述嵌入式控制器包括:微控制器核心;
藉由上述第一与第二串列周边接口,传送上述中央处理单元芯片组与上述存储器之间的存储器异动;
识别无存储器异动被传送于上述第二串列周边接口之时间间隔;以及
从上述存储器撷取出一信息,以供上述嵌入式控制器于已识别之上述时间间隔进行操作。
22.如权利要求21所述的方法,其特征在于,所述的从上述存储器撷取出上述信息之步骤更包括:
在已识别之上述时间间隔,从上述存储器撷取出一软件码;以及
使上述微控制器核心执行已撷取之上述软件码。
23.如权利要求21所述的方法,其特征在于,所述的第二时钟脉冲速率系大于或等于上述第一时钟脉冲速率。
24.如权利要求21所述的方法,其特征在于,所述的使用上述嵌入式控制器与上述中央处理单元芯片组以及上述存储器进行通讯之步骤更包括:
根据使用在上述第一串列周边接口之一第一时钟脉冲信号,产生一第二时钟脉冲信号,以供在上述第二串列周边接口使用。
25.如权利要求21所述的方法,其特征在于,所述的从上述存储器撷取出上述信息之步骤更包括:
当上述第二串列周边接口被上述存储器异动所占用且来自上述存储器之上述信息的检索被阻挡时,持续操作上述微控制器核心。
26.如权利要求25所述的方法,其特征在于,所述的持续操作上述微控制器核心之步骤更包括:
当来自上述存储器之上述信息的检索被阻挡时,使用储存在替代存储器之一替代信息来操作上述微控制器核心。
27.如权利要求26所述的方法,其特征在于,所述的持续操作上述微控制器核心之步骤更包括:
产生一有效信号,以指示来自上述存储器之上述信息的检索是否被阻挡。
28.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
依照一第一异动类型与上述中央处理单元芯片组进行通讯,以及依照一第二异动类型与上述存储器进行通讯,以便传送一已知之存储器异动,其中上述第二异动类型不同于上述第一异动类型。
29.如权利要求28所述的方法,其特征在于,所述的第一异动类型系提供一位址信息于一第一数量之接口线上,而上述第二异动类型系提供上述位址信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。
30.如权利要求28所述的方法,其特征在于,所述的第一异动类型系提供一数据信息于一第一数量之接口线上,而上述第二异动类型系提供上述数据信息于一第二数量之接口线上,其中上述第二数量不同于上述第一数量。
31.如权利要求28所述的方法,其特征在于,每一上述第一以及第二异动类型系包括从一类型群组中所选出之至少一异动类型,其中上述类型群组包括一正常异动、一快速读取异动、一快速读取双倍输出异动、一快速读取双倍输入/输出异动及一快速读取四倍输入/输出异动。
32.如权利要求28所述的方法,其特征在于,所述的第一异动类型系由上述中央处理单元芯片组所设定,以及其中上述传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
对上述第一异动类型进行识别;以及
根据所识别之上述第一异动类型,选择上述第二异动类型。
33.如权利要求21所述的方法,其特征在于,所述的使用上述嵌入式控制器与上述中央处理单元芯片组以及上述存储器进行通讯之步骤更包括:
识别一已知之存储器异动的类型;以及
根据所识别之类型,选择上述第二时钟脉冲速率。
34.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
将位于上述第一串列周边接口之一已知之存储器异动转变成位于上述第二串列周边接口之复数存储器异动。
35.如权利要求21所述的方法,其特征在于,在一已知之异动中上述传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
将欲读取之一位址从上述中央处理单元芯片组传送至上述存储器;以及
将从上述位址所读取出之一数据,从上述存储器传送至上述中央处理单元芯片组,
使得上述数据在上述第一串列周边接口中开始于一时钟脉冲周期被传送,其中上述时钟脉冲周期系紧接地跟在上述位址之最后一位。
36.如权利要求35所述的方法,其特征在于,分别在上述第一串列周边接口与上述第二串列周边接口之一第一时钟脉冲信号以及一第二时钟脉冲信号系彼此同步,并在上述已知之异动的一或多个周期具有已定义时序。
37.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
当一或多个虚拟周期被上述中央处理单元芯片组插入在上述第一串列周边接口时,将上述虚拟周期插入在由上述第二串列周边接口所传送之位址信息与数据信息之间。
38.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
在上述中央处理单元芯片组要求一数据之前,从上述存储器预取出上述数据;
以快取的方式储存预取之上述数据;以及
提供所储存之上述数据至上述中央处理单元芯片组。
39.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
不管来自中央处理单元芯片之所接收的一读取状态异动,从上述存储器预取出一状态信息;以及
在接收到上述读取状态异动后,提供所预取之上述状态信息至上述中央处理单元芯片组。
40.如权利要求21所述的方法,其特征在于,所述的传送上述中央处理单元芯片组与上述存储器之间的存储器异动之步骤更包括:
在上述中央处理单元芯片组之一起动阶段的期间,从上述存储器预取出一描述符区段;
储存上述描述符区段于上述嵌入式控制器之一内部存储器;以及
在上述起动阶段之后,提供所储存之描述符区段至上述中央处理单元芯片组。
41.一种电脑,其特征在于,所述的电脑包括:
一中央处理单元芯片组;
一存储器;以及
一嵌入式控制器,所述嵌入式控制器包括:微控制器核心;所述嵌入式控制器用以于一第一时钟脉冲速率,藉由一第一串列周边接口与一中央处理单元芯片组进行通讯、于一第二时钟脉冲速率,藉由一第二串列周边接口与一存储器进行通讯、藉由上述第一与第二串列周边接口来传送上述中央处理单元芯片组与上述存储器之间的存储器异动、识别无存储器异动被传送于上述第二串列周边接口之时间间隔,以及从上述存储器撷取出一信息,以供上述微控制器核心于已识别之上述时间间隔进行操作,
其中上述第一串列周边接口不被汇流排仲裁所支援,以及上述第二时钟脉冲速率为固定。
CN201210352173.0A 2011-09-20 2012-09-20 电脑、嵌入式控制器及其方法 Active CN103019988B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/236,673 US8688944B2 (en) 2011-09-20 2011-09-20 Memory sharing between embedded controller and central processing unit chipset
US13/236,673 2011-09-20

Publications (2)

Publication Number Publication Date
CN103019988A CN103019988A (zh) 2013-04-03
CN103019988B true CN103019988B (zh) 2015-10-07

Family

ID=47881758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210352173.0A Active CN103019988B (zh) 2011-09-20 2012-09-20 电脑、嵌入式控制器及其方法

Country Status (3)

Country Link
US (1) US8688944B2 (zh)
CN (1) CN103019988B (zh)
TW (1) TWI463325B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003091B2 (en) * 2012-10-18 2015-04-07 Hewlett-Packard Development Company, L.P. Flow control for a Serial Peripheral Interface bus
US8904078B2 (en) * 2012-10-22 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. High speed serial peripheral interface system
JP6455002B2 (ja) * 2014-07-18 2019-01-23 セイコーエプソン株式会社 回路装置、送信モジュール、電子機器及び移動体
TWI619023B (zh) * 2016-11-30 2018-03-21 瑞昱半導體股份有限公司 記憶體控制電路及其方法
CN112650574A (zh) * 2020-12-31 2021-04-13 广州技象科技有限公司 基于优先级的任务调度方法、装置、系统和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818529B2 (en) * 2007-09-06 2010-10-19 Ite Tech. Inc. Integrated memory control apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816750B1 (en) * 2000-06-09 2004-11-09 Cirrus Logic, Inc. System-on-a-chip
US6687903B1 (en) 2000-06-28 2004-02-03 Emc Corporation Inhibiting starvation in a multitasking operating system
JP2006183501A (ja) * 2004-12-27 2006-07-13 Yamaha Motor Co Ltd エンジンの失火検出装置並びに方法、及び鞍乗型車両
US7730265B1 (en) 2007-03-06 2010-06-01 Oracle America, Inc. Starvation-avoiding unbounded transactional memory
US7930576B2 (en) 2007-04-10 2011-04-19 Standard Microsystems Corporation Sharing non-sharable devices between an embedded controller and a processor in a computer system
US9165537B2 (en) * 2011-07-18 2015-10-20 Nvidia Corporation Method and apparatus for performing burst refresh of a self-refreshing display device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818529B2 (en) * 2007-09-06 2010-10-19 Ite Tech. Inc. Integrated memory control apparatus

Also Published As

Publication number Publication date
US8688944B2 (en) 2014-04-01
CN103019988A (zh) 2013-04-03
TW201314465A (zh) 2013-04-01
US20130073810A1 (en) 2013-03-21
TWI463325B (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
CN109313617B (zh) 负载减少的非易失性存储器接口
KR101105489B1 (ko) Nand 플래시 메모리의 커맨드 기반 제어
CN104520932B (zh) 闪存存储器控制器
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
CN103019988B (zh) 电脑、嵌入式控制器及其方法
KR101932920B1 (ko) 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
CN102411549B (zh) 存储器系统、主机控制器以及dma的控制方法
US9003091B2 (en) Flow control for a Serial Peripheral Interface bus
CN108228492A (zh) 一种多通道ddr交织控制方法及装置
CN103077123A (zh) 一种数据写入和读取方法及装置
CN105340017A (zh) 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
CN101236547A (zh) 提供动态存储库页面策略的系统和方法
CN1619524A (zh) 具有共享本地存储器的通信装置和方法
CN101436171B (zh) 模块化通信控制系统
CN105224488A (zh) 一种pci总线控制器及其控制方法
KR20180113371A (ko) 데이터 저장 장치
CN104778965A (zh) 半导体器件和包括其的半导体系统
CN103488600A (zh) 通用从机同步串行接口电路
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
CN100392619C (zh) 控制闪存存取时间的方法、闪存的存取系统及闪存控制器
CN101290602B (zh) 存储器管理系统与方法
CN103399839A (zh) 媒介外围接口、电子装置及通信方法
CN100585627C (zh) 基于flash总线的sd卡控制电路及其读写方法
JP2011008779A (ja) メモリシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant