可处于低功率待用状态的计算机的制作方法

文档序号:6405861阅读:222来源:国知局
专利名称:可处于低功率待用状态的计算机的制作方法
技术领域
本发明是1989年6月12日提交的题为“手持式计算机”的美国专利申请No.07/365,147的部分续展申请。
本发明涉及计算机,特别是涉及可以配置成低功率待用状态(备用状态)计算机的方法和装置。
现有的计算机已经具有在某些期间使CPU的时钟暂停的能力,以便节省功率,例如,在计算机暂时不使用的期间使时钟暂停。这种所谓的“睡眠”状态可以节省了一定的功耗。例如,对在正常工作时消耗约2.67瓦功率的装置来说,睡眠状态可使这样的装置仅消耗2.02瓦的功率。这种睡眠状态对可放在膝盖上的膝面计算机和其它电池供电的或电源非常有限的计算机来说,有时是十分有用的。
把功耗进一步降低到更小程度将更为有用。当然,计算机的电源可以干脆关掉一段时间,但是,这样的话,动态存储器内的数据和指令就会失去。可以把数据和程序存储在非动态存储器内,例如静态随机存取存储器(SRAM)内,SRAM对电压的要求也不如DRAM那样严格,典型地,后者必须具有几乎没有波动的5伏稳压电源。这也是SRAM通常用作非易失存储器的另一个原因。但是,这种存储器件是昂贵的,对可用在膝盖上的计算机来说,也许更重要的是,这种存储器比相应的动态存储器具有更大的体积和重量。
本发明考虑到如下问题,即,重量轻的动态存储器是十分有用的,但是这种存储器在没有电源时不能存储程序和数据,当计算机的电源中断(为了节省电池)时,这种动态存储器内的内容就失去了。本发明考虑到使用者往往希望有这样一种计算机,它能够在用户应用中的某些期间进入一种低功率待用(备用)状态,并能在需要时返回全功率状态,使得使用者可以在他中断的地方继续工作下去,使用者希望具备这样的性能,即进入低功率状态不会造成丢失在进入低功率状态时提供给应用程序的任何数据、信息、程序或其它输入。
本发明包括一种可工作的实用系统,它可以在计算机关闭或断电时保存重量轻的动态存储器中的内容。本发明提供了两种技术上的优点(以前被认为是不相容的)在低功率状态下保存存储器内容(以前被认为需要使用非易失存储器,如SRAM),并且使用较小的、重量轻的动态存储器。
本发明的一个方面包括提供装置和器件,即使当计算机的其余部分被关掉或处于断电状态时,也能够用以向DRAM供电,以供刷新存储器之用,本发明的另一方面,包括具有下列作用的装置和方法,即,在进入低功率状态之前,所有必需的信息都存入DRAM或其它存储器中,并且使得使用者在进入全功率模式之后,能够在他中断之处继续其计算操作。
本发明涉及提供如上所述的低功率状态,该状态使得一个在全功率使用中消耗约2.67瓦的器件,在低功率状态下仅消耗约0.2瓦。在这种系统中,约有3小时可用寿命(一次充电)的电池由于本发明可以使用约8小时或更长的使用寿命。
本发明的低功率存储装置包括一个稳压的5伏电源和一个备(待)用状态控制器,该备(待)用状态控制器可有选择地对整个系统供电或仅对系统RAM和备(待)用状态控制器供电,而系统的其余部分得不到电源。
进入备用状态,而且允许其后的全功率使用而不丢失数据或程序的方法包括,禁止中断和直接存储器存取操作,接着,在上述禁止步骤之后,保存I/O指示寄存器和端口。该过程还包括在进入备用状态之前迫使存储器刷新。本发明的一个方面涉及为了避免失去所需的信息而确定哪些项目必须在进入备用状态之前保存入存储器,由于考虑到低功率状态将在使用者应用期间进入,而且,使用者的应用可能需要用户可寻址DRAM的所有部分,所以,被保存的项目必须保存在DRAM的用户可寻址部分以外的区域,由此,本发明涉及把这类项目保存入DRAM中用户应用程序通常不能存取的部分内,具体地说,本发明包括把这类项目保存入DRAM的供基本输入/输出系统(BIOS)使用的部分。尽管DRAM留出一块供BIOS使用,但这一块的某些部分通常不会被完全占用,或甚至根本不为BIOS所用。在本发明的最佳实施例中,正是把存储的项目置于这些部分内。但是,这些区间内上述项目的数目是很有限的,由于这一原因,在进入低功率状态时简单地把与机器状态有关的所有项目都存入是行不通的,BIOS块的未使用区间内没有足够的容量来容纳大量的存储内容。所以,本发明涉及使所存储的项目数减少到这样的程度,即要的项目能够存入BIOS块的有限的未使用区间。在最佳实施例中,所有的必要项目被存入的不到48字节。


图1A、1B和1C表示按照本发明的一种进入低功率状态的方法的流程图,图1D、1E和1F表示按照本发明的一种退出低功率状态的方法的流程图,图2是用方框图表示的本发明计算机的电池系统的基本操作的简化示意图,图3A是按照该发明的计算机的方框图,图3B是该发明的扩充模件的方框图,图4是本发明中专用门阵列的方框图,图5是表示计算机主电源的电路图,包括图2的电池充电电路,
图6A是表示DRAM时钟线驱动的电路图,图6B是表示DRAM的SPND-RAS和SPND-CAS时钟信号的电路图,图7是RAM-VCC与DRAM存储器一起使用的电路图。
按照最佳实施例,低功率状态可以通过四条途径之一进入。如图1A所示,用户可以用低功率开关14(图3A)进入低功率状态。也可以在输入器件空闲超过预定的时间16、电源功率下降到预定的电压值18、或在用户应用20规定要进入低功率状态时进入低功率状态。空闲进入方式16称为“自动低功率”方式。在后面三种情形16、18和20的任何一种情形中,都调用一基本输入/输出系统(BIOS)程序22,它起动该过程的后续部分,如图1A所示,在用户按下低功率开关12的情形下,需执行某些步骤24,这些步骤在其它进入方式16、18和20中是不需要的。在使用低功率开关12时,低功率开关的驱动产生一个不可屏蔽的中断(NMI)26,NMI使含有溢出标志、奇偶标志、零标志和方向标志等的标志寄存器、以及代码段(CS)寄存器和指令指针(IP)寄存器被送入堆栈28。此时,一个专门的NMI处理程序,即“备用NMI处理程序”在步骤的被启动,应当注意的是,这里,低功率状态有时在这里也被称为“备用”或“暂停”。这一术语是开发工作的产生物,下面要提到的术语“暂停”不应当与下面要提到的用作系统控制芯片的82C100器件(由加利福尼亚Palo Alto的“Chips and Technologies公司提供)在一种方式中所用的“暂停”一词相混淆。
“备用”处理程序导致步骤32禁止接受新的NMI,在当前的NMI之外禁止新NMI对防止接受新的NMI是十分有用的,该步骤在这里的最佳实施例中特别有用,该实施例与典型的计算机的不同,它经常使用NMI,在已有的计算机中,NMI是一种反常情况,通常表示必须立即处理的突然事件,因此是不可屏蔽的。在本发明的最佳实施例中,NMI是在程序的基础上被使用的,除非被禁止,否则可以在NMI备用处理程序工作时出现。
在新的NMI被禁止后,某些寄存器被保存入堆栈,主要是,AX、BX、CX、DX、SX、DI、DP、DS和ES,见步骤34,在步骤36确定NMI源,在步骤38,读出覆盖控制器芯片以确定所产生的是哪一个NMI,此时,在步骤40,控制转移到“NMI-暂停程序”。在上述转移之后,以后的过程对所有四种进入方式12、16、18和20都是类似的。
在有些情形下,有必要阻止出现低功率状态,一种应当阻止“低功率”状态出现的例子是计算机正在其串行口通过调制解调器接收信息。在这种情况下,有可能并不认识到计算机正在工作,因为没有键盘输入,而且,也许还要过一段较长时间才对磁盘驱动器或RAM卡进行存取,由于这一原因,在这种操作期间,空闲进入方式16有可能会被触发。所以,需要有一种方法来禁止“低功率”或“自动低功率”方式。在进入过程41的主流之后,在步骤42确定两种低功率方式中是否有一个被允许,如果两个可能的备用方式都未被允许,该NMI就在步骤44被清除,过程在步骤46返回正常指令流程。
如果低功率状态或自动低功率状态被允许,则要动用一个可编程中断控制器(PIC)。第一步是在步骤48保存PIC中断屏蔽(PIC可以是Intel8259或等效的芯片),保存中断屏蔽是为了当进入全功率状态时可重新恢复,为了使用户能够以他离开应用程序性同样的中断优先权和容量进入应用程序。在保存中断屏蔽后,步骤50中,PIC被设定以禁止新的中断,例如,在步骤50通过设置一个新的中断屏蔽以屏蔽所有中断。该步骤是为了其余部分进入低功率状态时PIC不再处理任何新的中断,随后,任何当前已申请或在进行中的中断在步骤52中被处理。
在PIC之后,要解决直接存储器存取(DMA)过程问题,PIC是在DMA之前进行的。解决DMA的第一步是在步骤54完成所有进行中的直接存储器存取操作。这里因为DMA操作要保存得在重新进入全功率状态时,可以恢复而不丢失数据是不容易的,所以,一旦该操作开始就允许它一次完成。当前的DMA屏蔽寄存器在步骤56中读出,随后在步骤58禁止新的DMA操作。新的DMA操作可通过例如设置适当的屏蔽来禁止。然后,步骤60中,DMA芯片本身被禁止。
在DMA之后,步骤62把堆栈寄存器SS和SP(堆栈段和堆栈指针)保存入存储器,这些被保存入堆栈以外的存储器的一部分,堆栈指针不能保存在堆栈中,因为堆栈指针是用来确定(定义)堆栈的。
在本发明的最佳实施例中,通常对磁盘所进行的存储(在其它计算机中)现在被储存在一个配置成模拟磁盘的RAM器件中。该模拟的一部分涉及与通常在磁盘驱动中所用的比特对应的状态位,其中之一是电动机状态位,该位在步骤64中被置于断开配置。这样设定该位的目的是使RAM卡在下次操作期间供电。
在步骤66,一组I/O状态确定寄存器和端口被保存入存储器,尽管这些项目彼此可按任意顺序存入,但最好还是在上述PIC和DMA操作之后。在最佳实施例中,DMA芯片的某些寄存器被保存,它们是计数器寄存器、指令寄存器、状态寄存器和页面(页式)寄存器。在这些保存完成之后,在步骤68把一个主清除指令送到DMA。然后在步骤70将可编程外围接口PPI芯片的三个端口的内容存储起来,扩充存储器说明(EMS)器件的四个映象寄存器在步骤72被存入,通用异步接收/发送(UART)芯片的内容在步骤74被存入,UART被保存的寄存器是在2FBh/3FBh的字节格式寄存器,在2 FCh/3 FCh的调制解调器控制寄存器、在2 FDh/3 FDh的线状态寄存器、在2 FEh/3 FEh的调制解调器状态寄存器、在2 F9h/3F9h中断允许寄存器,在2 F8h/3F8h的除数(最低有效字节)寄存器以及,在2 F9h/3F9h的除数(最高有效字节)寄存器。并行端口寄存器的内容在步骤后存入,并行端口寄存器主要是在378h的数据锁存寄存器和在37Ah的打印控制寄存器。在步骤78,系统控制芯片的一些寄存器被存入,主要是,指出DIP开关状态的寄存器43H、指示睡眠/存储配置的寄存器4Bh、EMS配置端口寄存器4Ch、以及,表示NMI控制状态的寄存器72h。覆盖控制器芯片的覆盖控制器标志在步骤80被保存。在保存I/O状态步骤66之后,NMI向量特征被禁止,NMI向量特征是82C100系统控制器芯片的特征,它取代了中断处理程序某些入口地址,该芯片是由加利福尼亚San Jose的Chips and Technologies公司生产的,禁止该特征在原因是,如果采用求和检验方法,本来可能要被取代的地址将被正确地进行求和检验,这样,如果不进行求和检验,就不必禁止NMI向量特征。
在下一步骤84,82 C100的睡眠状态被禁止,82C100被配置得在执行停机或“HLT”指令后,它将进入“睡眠”状态或“备用”状态之一。如上所述,82C100的“备用”状态不应与本发明的低功率状态相混淆。禁止睡眠状态是为了当输入HLT指令时,不进入睡眠状态而进入备用状态。然后,由于上述原因,在步骤86,82 C100的备用状态被允许。
如果希望进行求和校验,则最好在步骤88执行。如果要使用求和校验的话,最好对整个RAM进行求和校验,这涉及到对所有传统RAM(oooooh-9FFFFh)、显示RAM(B8000h-BFFFFh)和EMS RAM进行求和校验,这三个存储器部分分别产生一16位的校验和。如果进行求和校验则把校验和存入由电池维持的CMOS,而不是DRAM。在目前的最佳实施例中,因为考虑到求和校验的时间太长(约5秒)而未执行,但是,如果需要的话,求和校验可以作为本发明的一部分来使用。
在求和校验之后,迫使RAM进行刷新,DRAM必须以不超过制造厂规定的最大刷新间隔周期的刷新间隔周期进行刷新。由于进入低功率状态需要一定时间,而此刻又不知道自RAM刷新以后已过了多长时间,所以,此时强迫RAM进行刷新,这样有助于确保不超过制造厂规定的刷新间隔周期。在步骤90,通过在00000h和80000h读出512个字而进行RAM刷新。
强制刷新步骤90之后,在步骤92设定82C100以禁止通常的RAM刷新。随后,立即对82C100设定“断电”状态和“备用状态开始”的状态。这些设定最好在步骤94中同时进行或依次紧接着进行,然后,步骤96执行“HLT”或停机指令,使82C100进入备用状态。
返回全功率状态的操作如图1D-1F所示。在最佳实施例中,进入全功率状态的唯一方式是由用户按下低功率/全功率按钮,见步骤112,其它方式,例如在预定的时间间隔后进入全功率状态也是可能的。按下该按钮使电源加到计算机上。最初,计算机遵照同样的一些步骤116,就好象计算机是从断电状态被接通供电而不是从低功率状态被接通。通常在地址FFFFOH执行第一条ROM BIOS指令,见步骤118。其结果导致执行通电自测试(POST)代码,见步骤120。82C100被配置成初始配置,外用芯片也可以同时配置,见步骤122。然后,步骤124读出端口182h。在步骤126中,从端口182的信息确定计算机是脱离低功率状态还是从断电状态被接通,如果计算机不是脱离低功率状态,则继续常规的POST程序(128),随后是BOOT程序线(130)。
如果计算机正在脱离低功率状态,则随后在步骤132确定计算机当前是否工作于交流电源(132),如果计算机不是工作于交流电流,则检验电池电压。若电池电压低于预定电压V1,见步骤134,则使计算机按类似于上述的方法重返低功率状态(136)。如果计算机工作于交流电源或电池电压足够高、则在步骤140中尝试清除82C100的备用状态,然后,由步骤142确定清除备用状态的尝试是否成功,若尝试未成功,就不可能恢复用户应用程序,所以,继续通常的POST程序处理,随后是BOOT操作(130)。若成功地清除了备用状态,则进行恢复用户程序的操作。在步骤144允许正常的(系统)刷新,紧随其后的是在步骤146中迫使存储器刷新。如上所述,系统控制器芯片(用于正常式系统操作刷新)中的刷新计数器不与DRAM芯片(将在下面叙述)中的刷新计数器同步,后者用在低功率状态中。所以,系统CPU必须在脱离备用状态后在制造厂规定的最小刷新时间内产生完整的刷新计数,以确保维持DRAM中的数据。一般,制造厂规定的最小刷新周期约为4毫秒。
随后,步骤148通过恢复堆栈指针SS、SP来恢复堆栈,步骤150通过设定所有中断屏蔽往来禁止中断。这样做是为了防止在系统配置到进入低功率状态前的用户应用程序之前接受新的中断。随后,步骤152恢复一些确定I/O状态的寄存器和端口。这些可以按任意顺序恢复。在最佳实施例中,恢复DMA控制器寄存器,包括计数器寄存器、指令寄存器、状态寄存器和页面(页式)寄存器,见步骤154。PPI芯片的三个端口,端口A、端口B和端口C在步骤156恢复,EMS控制器的四个映象寄存器在步骤158恢复,UART芯片的内容在步骤160恢复,并行端口的寄存器在步骤162恢复。在步骤164恢复82C100控制芯片的某些寄存器,这些寄存器主要是,在43h的寄存器,它含有DIP开关状态的指示,在4b的寄存器,它指示睡眠/存储配置,在4Ch的寄存器,指示EMS配置端口,以及在72h的寄存器,指示NMI控制配置。在步骤168,恢复覆盖控制器标志,电池门限值重新送到覆盖控制器芯片。电池门限值V2是一电池电压值,在该值报警信号灯闪亮以指出第一级低电压,步骤170把PIC设定为缺席状态,不可能把PIC恢复到被保存的状态,因为某些PIC控制寄存器是只写寄存器,这样就不能在进入低功率状态时被读出而加以保存,但是,PIC配置通常不为用户程序复位,因此,由于PIC通过配置在缺席状态而一直保持同一状态,所以,在进入低功率状态时,它将处于它平时的通常状态。
如果CPU速度在进入低功率状态之前从其缺席状态发生变化,这一事实将反映在存于电池供电的CMOS RAM内的信息中。该信息在步骤172从CMOS RAM读出以确定在进入低功率状态时CPU的速度状态。如果是缺席或慢状态,则无需进行任何操作,如果CPU曾经变为快速度,则现在在步骤174中把CPU重新设定到快速。
实时时钟(RTC)在步骤176初始化,时间和日期从实时时钟获得,新的时间和日期作为低存储器变量设置,因为BIOS时间在低功率状态下时间并不消失,见步骤178。
当计算机的显示状态改变时,该事实反映存储在BIOS RAM区域的信息中。所以,该信息从BIOS RAM中取出,显示控制器芯片被初始化至在进入功率状态时的状态,见步骤180,步骤182设定串行/并行端口芯片中的基本地址和中断级别,步骤184清除中断标志以禁止中断。然后,从存储器恢复可编程中断控制器中断屏蔽,见步骤186。步骤188恢复用户CPU寄存器,步骤190重新允许NMIS。最后,执行IRET指令,结果是恢复标志寄存器、CS和IP,返回用户程序,见步骤192。
如图2所示,计算机10通常连接到主电池组12,或者,接到外部电源14,主电池组12和外部电源14两者都可能除去或失效。在主电池未被重新充电的现场使用情形下,主电池组12必须定期由一个新充电的电池组代替。图中有一个“过渡”(桥接)电池连接到计算机。这使得计算机能够在更换电池时不中断地继续工作。为了在总开关接通的同时对过渡电池进行充电(包括在电池电压降低时连接外部电源),或者在总开关接通时有已充电的电源可用(如方框18中所示),对过渡电池进行短时间的快速充电,例如,快速充电3分钟。具有快速充电的充电控制电路30。图2表示过渡电池22仅对计算机10的RAM24临时供电。在电池需要更换或电池电压大低以至不能使计算机工作时,最好是经手动或自动低功率开关26把所的执行中的程序和数据转存到RAM24中。
图3A是计算机10主要部件的方框图,图3A中的“备用”指低功率状态,而不是82C100备用状态,内部调制解调器32是美国Robotics公司生产的2400波特MNP型,可供选择采用的外部键盘是IBM XT兼容键盘。
计算机10可以电池组34或经外部AC/DC转换器转换成直流的交流电源得到供电,这种转换器可以是例如Tamura公司生产的17.25伏、1.25amf单元,经外部插头接入。计算机的电池盒可以按共同待批申请07/364,921中叙述的结构制作,该申请题为“电池盒”已转让给本发明的同一受让人,这时援引以供参考。计算机10被设计得对电源的要求减到最小,这样,可以最大限度地减小所需电池的尺寸。电源减至最小限度的一个例子是使用低功率状态。
电池组34可以是如共同待批申请07/364、920所叙述的那种可充电电池组,该申请题为“计算机的外部可充电电池组”,已转让给本发明的同一受让人,这里援引以供考。也可以设置过渡(桥接)电池33,以便本计算机主电池移去和更换时不必关掉计算机,过渡(桥接)电池可按共同待批申请07/364,950中叙述的那样来配置,该申请题为“可在电池更换期间可连续工作的计算机”,已转让给本发明的同一受让人,这里援引作为参考。一种8瓦、三路输出的DC/DC转换器35,如ITT公司生产的那种,用来把系统电压设定在适当的程度。
计算机内部存储器由可移去的RAM卡65、系统ROM66(示意性地画出)和系统RAM6)(示意性画出)组成。存储卡65中存有为计算机应用所专用的软件,存储卡65最好是具有8位数据总线和40脚卡式边沿连接器的EpsonIC存储卡,每一个都具有与其相连的小型电池,用来在不取用主机电源的功率的情况下维持数据六个月或更长时间。存储卡65可按共同待批申请07/364,922的叙述来制造,该申请题为“具有可移动标记的存储卡”,已转让给本发明的同一受让人,这里援引以供参考。
用存储卡65代替传统的硬盘驱动是本发明使尺寸和重量减至最小的另一特点。对计算机10设置硬件以使其模拟磁盘驱动,由此使计算机10与传统的PC软件兼容,而不用又重又笨的磁盘驱动。
系统ROM66存有标准系统程序指令,如MSDOS。系统ROM66最好由两个27C010型的128K×8位EPROM组成,不过屏蔽型ROM也可以采用。这两个ROM芯片置于主逻辑板28上的EPROM/ROM插口上。在最佳实施例中,系统RAM67八个256K×4的动态RAM组成。
微处理器或CPU芯片50经标准系统总线52连接到其它部件,在最佳实施例中,微处理器50是一个OKI MSM 80 C86A10R S16位CMOS微处理器。沿系统总线52连接的还有双串行/并行端口芯片54,实时时钟芯片56、专用门阵列58、系统控制芯片60、专用系统BIOS62和显示控制器64。
在最佳实施例中,串行/并行端口芯片54是Chips and Technologies公司的82C605 Chips端口多功能控制器,实时时钟芯片56是达拉斯半导体公司(Dallas Semiconductor)的D S1287A芯片,系统控制芯片60最好是Chips and Technolgies公司的82C100 Super XT系统控制器,显示控制器64是Yamaha PCDC V6366面板和CRT显示控制器。系统控制芯片60提供实现XT兼容系统板所需的所有磁芯逻辑,包括,系统时钟,总线控制器DMA控制器,中断控制器,定时器,并行外围接口,键盘接口,存储器接口,输入/输出通道接口,扩展存储器系统,电源管理控制,时钟开关逻辑,输入/输出通道定时控制,以及时钟转换逻辑。
门阵列58的目的是减少芯片数,并为与计算机使用的专用输入/输出器件提供有效的总线接口,门阵列58使用系统磁芯逻辑提供的控制信号、地址和数据位以允许存取门阵列58的内部控制寄存器,以及它所连接的外围设备。门阵列58经系统总线52上的输入输出端口被寻址,但外围设备也可以像存储器一样被寻址。
图4表示一种专用的门阵列芯片58的方框图,标准总线接口和内部解码块70与系统总线52连通,连接到接口70的是一个辅助键盘块72,一个辅助存储器接口块74,一个多用输入/输出接口块76,一个覆盖处理器接口块78,一个可编程芯片选择块80,以及一个LCD随机函数发生器时钟块82。
辅助键盘块72提供一种如已有技术中那样的8位锁存器,它连接到属于键盘模拟程序的硬件,对此下面将进行解释。
辅助存储器接口块74提供缓冲器和控制端口以允许存取可移去的存储卡65和不可移去的系统ROM66,接口74是页式(页面)接口,页大小为64K,数据总线8位宽,一次只能存取四个器件(即两个RAM卡和两个ROM)中的一个,为了选择一个器件,程序在辅助存储器选择端口中设定适当的位。设置一状态端口以允许检测存储卡类型和其出现。一页式(页面)寄存器端口用来在选中的器件中选择的64K字节页。
多用输入/输出块76提供八只通用输入脚和八只通用输出脚,块78为两个处理机之间的双向数据传输和两个方向的中断/数据可用状态位提供一个8位缓冲器,处理器经通过一个简单规程利用该资源。
可编程芯片选择块80提供10个可用于输入/输出或存储器解码的脚,LCD随机函数发生器时钟块82提供伪随机交流信号至LCD,该块中的逻辑把LCD控制器64来的时钟(信号)除以68,并且每隔289个时钟(信号)改变其相位。
系统BIOS62由两个EPROM组成,它是一个标准IBM-兼容输入/输出系统,被略加修改以包括三个主要系统的程序步骤(1)计算机磁盘驱动模拟,(2)计算机低功率状态,(3)计算机键盘仿真系统。
用存储卡65代替磁盘驱动节省了计算机10内的空间,并减轻了它的重量,此外,RAM存储卡比磁盘驱动要快,而且,由于没有动部件而更为耐用。两个MS-DOS ROM66由BIO S62连接成一个虚拟的磁盘器件,这样,本系统模拟三个软盘驱动。
低功率状态可以用四种方式之一开始(1)按下计算机面上的备用键,(2)打开计算机机壳底部的总线连接器门,(3)使系统暂停,即,使计算机在一选定时间内不工作,或(4)由门阵列58的覆盖控制接口块78检测低电池电压。四种情形中任何一种都能在CUP50中触发一中断信号。随后,CUP50禁止所有其它中断,等到所有进行中的输入/输出操作完成之后,CPU把系统状态保存入系统RAM67。
CPU读出系统存储器两个存储块的最低的512字,以确保刷新计数,然后,CPU禁止系统RAM刷新,使备用刷新开始,关闭主电源。一个备用电源(图3A中的元件84)维持系统RAM67和显示RAM86的电压。
备用状态只能通过按动计算机10面上的备用开关才能脱离。当主电源返回时,CPU测试备用状态指示器,如果检测到系统处于备用状态,则关断备用状态刷新并重新开始系统刷新。CPU读两个系统RAM块的512字以确保刷新,CPU按从系统RAM读出的状态恢复系统状态,允许中断,返回它在进入备用状态前所执行的过程。
图5表示计算机10的PC板主电源电路,从图5的电路图顶端开始,一直流输入插座50经噪声滤波电路52和共态变压器54连接到或二极管D10,检测器56在外电源连接到插座50时进行检测,与电池相对。
线路58接到主电源电路,与电池在-BC4的一次电池(即碱性电池)或者是在BC5的镍镉电池由二极管形成或关系,二极管或关系由二极管D10、D5和D4完成,它对所有三个电源形成或关系,即,一次电池,镍镉电池和外电源。当外电源接上时,通过二极管或关系,该电路将总是使用外电源,因为它比两种电池的电压都高。
图5中的电路60包括Q27、RB132、D9和RB131,它对D4进行旁路。这是用来对可充电的镍镉电池充电的电路。接头(触点)BC1-BC5处于电池盒内,该电池盒可按共同待批申请07/364,921的叙述来形成,该申请题为“电池盒”,已转让给本发明的同一受让人,这里援引以供参考。
主电源开关SW1是双刀双掷(DPDT)开关,当主开关闭合时,它把电池或外电源(或来自一外接扩充组件上的电源,如图5中62所示)接到位置64,图中标为“开关DC”。它接到DC-DC转换器,产生使机器运行所需的电压。
正如已指示的那样,主电源开关SW1也把电源接到过渡(桥接)电池电路30,并把过渡电池电路30与一5伏稳压器Q33相连,在稳压器Q33右面是另一个二极管或电路D6和D7。进入D7的线接受来自由64馈给的转换器的功率,此系统电压由D6及D7形成或关系。稳压器Q33直至系统处于低功率状态才工作。此时主电池13除去,DC-DC转换器关断,过渡电池22经稳压器Q33使RAM(见RAMVCC)工作,只有该RAM经过渡电池22和稳压器Q33被供电。
这样,D6和D7在来自DC-DC转换器的正5伏电源和由过渡电池22供电的5伏稳压器Q33之间提供了另一或电路,辅助稳压器Q33只在电源开关闭合并且主电池和外电源不存在时才由过渡电池供电。
上述可由开关或自动产生的低功率状态由软件读出,该软件用于关断DC-DC转换器,从机器中取出所有关键参数,把正在运行的程序存储器和机器状态存入至RAM。完成之后,该软件关断DC-DC转换器,然后,主电池(如果已装上的话)或过渡电池维持主RAM的供电。当过渡电池在对存储器供电而放电时,二极管VSK140提供从Q33至地的电流通路。
当操作者再次按下低功率状态开关时、所有程序、先前的视频显示等都被恢复,所有硬件的所有参数都由于新电池的插入、外电源的连接等再次供电而恢复。
图5还表明,标有“VRAM PU”的66可由主电池或过渡电池在低功率状态期间供电,这是为了把视频存储器芯片置于低功率状态。
功率分配电容68,如图5右下端所示,减小RAMVCC线上的噪声,它们不吸收任何功率,目的是提供低阻抗源或储存电能。
图6A和6B示意性地表示在低功率状态期间对RAM供电的电路,RAM器件本身示于图7,由芯片U26、U27、U28、U29、U34、U35、U36和U37表示。在低功率状态期间被供电的器件包括图6和图7中的上述DRAM芯片和集成电路,由U4、U9、U16和U18-U22”表示,U4用来在CPU循环层次上使DRAM进出备用状态同步,U22用来驱动LED状态指示器,它们在低功率状态期间保持闪亮。U21用来维持在系统处于低功率状态时维持关断主系统DC/DC转换器的逻辑信号(SYSPWR-OFF),U9和U20用来执行完成低功率控制功能63所需的组合逻辑。
采用图6A和6B的电路,DRAM时钟线IWE、ICA S、IRA SO-IRA S3由两个来源驱动。在正常的系统操作中,U18被允许,时钟线来自系统控制芯片60,在低功率状态下,U18被禁止,U19和U23被允许,使SPND-RAS和SPND-CAS可对DRAM提供时钟。IWE被置于高电平以防止在低功率状态下对DRAM的写循环,U16是一个双单稳态多谐振荡器芯片,用来配置成具有适当频率的振荡器,以便为DRAM产生SPND-RAS和SPND-CAS时钟。DRAM循环定时用来在RAS刷新循环之前产生CAS,在这类循环中,DRAM在内部提供刷新地址计数,这样,外部逻辑无需提供其它类型的刷新循环所要求的地址计数器。
进入备用状态和离开备用状态的方法概括于下面的表Ⅰ和Ⅱ中。
表Ⅰ1.用户按下备用按钮,产生不可屏蔽中断(NMI)。
2.8086把标志、CS和IP寄存器推入堆栈,把向量推入备用NMI处理程序。
3.NMI处理程序禁止新的NMI,并把其它CPU寄存器(AX、BX、CX、DX、SI、DI、BP、DS、ES)保存入堆栈。
4.NMI处理程序确定NMI来源,备用NMI由覆盖控制器产生。
5.另一程序通过从覆盖控制芯片读出一个数据字节确定产生了哪一个覆盖控制NMI。
6.控制转到进入备用状态的程序即NMI暂停程序NMI Suspend(备用状态原来被叫做“暂停状态”,附表反映出这一点)。
7.注意备用状态也可由程序进入,由ROM BIOS本身或应用程序,BIOS在计算机闲置一段用户所规定的时间后进入备用状态(自动备用状态),或者在计算机过久地运行于低电压时进入备用状态。应用程序可以调用BIOS程序以进入备用状态,在任一情形下,控制直接达到这一点,不产生NMI,不涉及覆盖控制器。
8.NMI暂停程序通过读出一个存在电池供电的CMOS RAM中的字节来确定是备用状态还是自动备用状态被允许,如果备用状态和自动备用状态都被禁止,则清除NMI,控制返回备用状态按钮按下时正在执行的程序码,如果备用状态或自动备用状态被允许,则继续执行NMI暂停程序。
9.可编程中断控制器(PIC,8259等效器件)中断屏蔽被保存,然后PIC被编程以禁止任何新的中断。
10.允许CPU为任何进行中的中断服务,PIC具有一个“服务中”寄存器,指出任何正被服务的中断。
11.允许CPU完成(结束)任何进行中的直接存储器存取(DMA)操作。
12.读出当前的DMA屏蔽寄存器,随后屏蔽(禁止)所有新的DMA操作,禁止DMA芯片。
13.将SS和SP寄存器(堆栈段和堆栈指针)保存入存储器,这些不能保存入堆栈,因为它们定义堆栈。
14.把RAM卡电动机状态位全部设定为断开,RAM卡将在下次操作期间被供电。
15.保存计算机的输入/输出状态a)8237DMA芯片1)保存DMA计数器寄存器,2)保存DMA指令寄存器,3)保存DMA状态寄存器,4)保存DMA页式(页面)寄存器,5)主清除指令送至DMA芯片,b)8255可编程外围接口芯片1)保存PPI端口A2)保存PPI端口B3)保存PPI端口Cc)扩展的存储器说明端口1)保存四个EMS映象寄存器d)8250通用非同步(异步)接收/发送器(UART)芯片1)保存寄存器2 FBh/3 FBh,字节格式2)保存寄存器2 FCh/3 FCh,调制解调器控制3)保存寄存器2 FDh/3 FDh,线状态4)保存寄存器2 FEh/3 FEh,调制解调器状态5)保存寄存器2 F9h/3 F9h,中断允许6)保存寄存器2 F8h/3 F8h,LSB除数7)保存寄存器2 F9h/3 F9h,MSB除数e)并行端口寄存器1)保存寄存器378h,数据锁存器
2)保存寄存器37Ah,打印控制f)82 C100 Super XT控制器芯片1)保存寄存器43h,DIP开关2)保存寄存器4 Bh;睡眠/存储配置3)保存寄存器72H,NMI控制4)保存寄存器4 Ch,EMS配置端口寄存器g)覆盖控制器芯片1)保存覆盖控制器标志16.禁止82C100的替代NMI向量特征,使地址00008h-0000Bh被正确地进行求和校验,RAM原来使用求和校验以确保其可靠,但该安全特征花费时间太长(约5秒),所以被除去。
17.禁止睡眠状态,允许备用状态。睡眠状态必须被禁止,这样,HLT指令才能使82C100进入备用状态,而不是睡眠状态。
18.如果对RAM进行求和校验(在本最佳实施例中未进行),则对所有常规RAM(00000h-9FFFFh)、视频RAM(B8000h-BFFFFh和EMS RAM进行求和校验,把校验和存入电池供电的CMOS中。
19.在00000h读出512字,在80000h读出512字,使RAM进行另一次刷新,确保RAM在82C100刷新被禁止、进入备用状态期间不丢失数据,82C100开始再次刷新RAM。
20.禁止82C100 RAM刷新。
21.关断82C100电源,开始备用状态。
22.执行停机指令,进入备用状态。
表Ⅱ
1.对备用状态的系统用户按下备用按钮,使电源加到计算机上,CPU在FFFFOh处执行指令,它是第一条ROM BIOS指令。
2.ROM BIOS执行其通常的通电自测试(POST)码,对82C100芯片和多个外围芯片进行配置。
3.ROM BIOS通过读出端口182h确定计算机是否正在脱离备用状态,如果计算机不是正在脱离备用状态,则继续通常的POST。
4.如果计算机正在脱离备用状态,BIOS进行检查,以确定计算机是否正工作于交流电,如果是的,则BIOS继续进行,如果计算机工作于电池,则测试电池电压,如果太低,则计算机重返备用状态,如果足够高,则BIOS继续进行。
5.清除备用状态,这样82C100可刷新RAM。若备用状态不能清除,进行通常的POST和boot。
6.允许RAM刷新。
7.读出00000h的512字和80000h的512字,使RAM刷新。
8.恢复用户堆栈(SS和SP寄存器)。
9.设定所有中断屏蔽位以禁止所有中断。
10.恢复计算机输入/输出状态a)8237DMA芯片。
1)恢复DMA计数器寄存器。
2.恢复DMA指令寄存器。
3.恢复DMA状态寄存器。
4)恢复DMA页式(页码)寄存器。
b)8255可编程外围接口芯片。
1)恢复PPI端口A。
2)恢复PPI端口B。
3)恢复PPI端口C。
c)扩展的存储器说明端口。
1)恢复四个EMS映象寄存器。
d)8250通用非同步(异步)接收发送器(UART)芯片。
1)恢复2 F9h/3F9h MSB除数。
2)恢复2 F8h/3F8h L SB除数。
3)恢复2 F9h/3F9h中断允许。
4)恢复2 FEh/3FEh调制解调器状态。
5)恢复2 FDh/3 FDh线状态。
6)恢复2 FCh/3FCh调制解调器控制。
7)恢复2 FBh/3FBh字节格式。
e)并行端口寄存器1)恢复37Ah打印控制。
2)恢复378h数据锁存器。
f)82C100 Super XT控制芯片1)恢复寄存器43h、DIP开关。
2)恢复寄存器4 Bh、睡眠/存储器配置。
3)恢复寄存器72h、NMI控制。
g)覆盖控制器芯片1)恢复覆盖控制器标志。
2)重新发出电池门限值。
11.把8259PIC编程至缺席状态,因为它的某些控制寄存器是只能写入的,不能保存。
12.如果进入备用状态时CPU速度为快,则设定CPU速度为快,否则任其设定为慢。
13.初始化实时时钟(RTC)芯片。
14.时间和日期的低存储器变量从进入备用状态起还未改变过,所以时间和日期是不正确的,从RTC得到时间和日期,设定低存储器变量。
15.把Yamaha显示控制器芯片重行初始化到进入备用状态时的状态。
16.配置82C605串行/并行端口芯片,以设定串行和并行端口的基本地址和中断级别。
17.恢复82C100 Super XT控制器芯片。
a)恢复寄存器43h、DIP开关。
b)恢复寄存器4 Bh、睡眠/存储器配置。
c)恢复寄存器72h、NMI控制。
d)恢复寄存器4 Ch、EMS配置端口寄存器。
18.恢复覆盖控制器芯片。
a)恢复覆盖控制器标志。
b)重新送出电池门限值。
19.清除禁止中断的中断标志。
20.恢复PIC中断屏蔽。
21.恢复用户CPU寄存器。
22.重新允许NMI。
23.经IRET指令返回用户应用程序,恢复用户的标志寄存器。
本领域的技术人员可以参照本发明最佳实施例的叙述作出种种修改,这些修改仍落入本发明的权利要求书所阐述的本发明范围之内。
权利要求
1.一种用于对数据处理器进行配置以使其进入低功率状态的方法,所述数据处理器包括一可编程中断控制器、一直接存储器存取控制器、I/O状态指示寄存器、I/O端口、一动态随机存取存储器、一CPU和具有不计时的睡眠状态及不供电的备用状态的系统控制芯片,所述方法包括接受进入低功率状态的命令,对所述可编程中断控制器进行配置,以禁止接受以后的中断,在上述对所述可编程中断控制进行配置的步骤之后,对所述直接存储器存取控制器进行配置,以禁止以后的直接存储器存取操作,在对所述直接存储器存取控制器进行配置的步骤之后,将至少某些所述I/O状态指示寄存器和I/O端口的内容,保存入上述存储器内,在上述保存步骤之后,刷新所述存储器,启动所述系统控制芯片的所述备用状态。
2.如权利要求1的方法,其特征在于,上述接受所述命令的步骤包括检测到无用户输入已超过预定时间,发出进入低功率状态的命令。
3.如权利要求1的方法,其特征在于,上述接受所述命令的步骤包括检测出系统电压值低于预定值,发出进入低功率状态的命令。
4.如权利要求1的方法,其特征在于,上述接受所述命令的步骤包括检测出用户可启动低功率开关的启动动作,发出进入低功率状态的命令。
5.如权利要求1的方法,其特征在于,所述接受所述命令的步骤包括接受来自用户应用程序的指令,发出进入低功率状态的命令。
6.如权利要求1的方法,其特征在于,所述可编程中断控制器包括一中断屏蔽,上述对所述可编程中断控制器进行配置的步骤包括把所述中断屏蔽保存入存储器,设定中断屏蔽以禁止以后的中断。
7.如权利要求1的方法,其特征在于,上述对所述直接存储器存取控制器进行配置的步骤包括完成进行中的直接存储器存取操作,禁止新的直接存储器存取操作,禁止直接存储器存取控制器。
8.如权利要求1的方法,其特征在于,所述数据处理器进一步包括一个堆栈和至少一个第一堆栈指针,且进一步包括把所述堆栈指针保存入所述存储器的步骤。
9.如权利要求1的方法,其特征在于,所述直接存储器存取控制器包括计数寄存器、一指令寄存器、状态寄存器和页式(页面)寄存器,还进一步包括下列步骤将所述计数寄存器、指令寄存器、状态寄存器和页式(页面)寄存器的内寄保存入所述存储器内。
10.如权利要求1的方法,其特征在于,所述数据处理器包括一具有多个端口的可编程外围接口,上述保存步骤包括把所述多个端口的内容保存入所述存储器。
11.如权利要求1的方法,其特征在于,所述数据处理器包括至少一个扩充存储器说明端口,上述保存步骤包括把所述端口的内容保存入存储器。
12.如权利要求1的方法,其特征在于,所述数据处理器包括一通用异步接收器/发送器,所述通用异步接收器/发送器具有字节格式寄存器、调制解调器控制寄存器、线状态寄存器、调制解调器状态寄存器、中断允许寄存器、最低有效字节除数寄存器和最高有效字节除数寄存器,以及,上述保存的步骤包括把所述寄存器的内容保存入存储器。
13.如权利要求1的方法,其特征在于,所述数据处理器包括数据锁存器和打印控制寄存器等并行端口寄存器,上述保存步骤包括把所述端口寄存器的内容保存入所述存储器。
14.如权利要求1的方法,其特征在于,所述系统控制芯片包括存储的指示,指示DIP开关配置、睡眠/存储配置、EMS配置端口和不可屏蔽中断控制配置,所述保存的步骤包括把所述指示保存入存储器。
15.如权利要求1的方法,其特征在于,所述数据处理器包括一具有覆盖控制器标志的覆盖控制器,所述保存步骤包括把所述标志保存入所述存储器。
16.如权利要求1的方法,其特征在于,所述数据处理器包括备用状态控制逻辑,所述开始(启动)所述备用状态的步骤包括允许所述备用状态控制逻辑的所述备用状态,对所述CPU发出停机命令。
17.如权利要求1的方法,其特征在于,在所述接受命令的步骤之后,进一步包括禁止不可屏蔽中断的步骤。
18.如权利要求1的方法,其特征在于,所述存储器包括第一程序部分和归基本输出/输出系统使用的第二部分,所述保存步骤包括保存入所述存储器的所述第二部分。
19.如权利要求1的方法,其特征在于,所述保存步骤包括把所述内容保存入所述存储器的低于48个8位字节中。
20.在一种具有CPU和系统控制器芯片的数据处理器中保存可刷新的动态存储器中内容的装置,包括用于对所述CPU和所述控制器芯片供电、以及对所述存储器的刷新供电的第一电源系统,用于基本上中断所述第一电源系统对所述CPU和所述控制器芯片供电以确定一个低功率耗电期间的装置,在所述期间使用所述电源系统刷新所述存储器以基本上保存所述存储器内容的装置。
21.如权利要求20的装置,其特征在于,所述动态存储器提供用于所述刷新的存储器地址。
全文摘要
本发明提出一种使计算机配置于低功率状态的方法和装置。在低功率状态中,动态随机存取存储器由一电池供电的系统刷新以维持存储器内容,低功率状态的进入是通过保存中断屏蔽以及禁止中断,随后是存储DMA状态、结束DMA操作和禁止DMA,在这些步骤之后,机器的I/O状态通过保存各种I/O寄存器和端口而得到保存,在中断系统刷新操作之前强制进行存储器的刷新。
文档编号G06F9/46GK1050451SQ90104379
公开日1991年4月3日 申请日期1990年6月11日 优先权日1989年6月12日
发明者詹姆斯·弗朗西斯·科尔, 詹姆斯·H·迈克奈马罗 申请人:栅格体系有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1