CN102105870B - 具有外部存储器存取控制的处理*** - Google Patents

具有外部存储器存取控制的处理*** Download PDF

Info

Publication number
CN102105870B
CN102105870B CN200880130482.5A CN200880130482A CN102105870B CN 102105870 B CN102105870 B CN 102105870B CN 200880130482 A CN200880130482 A CN 200880130482A CN 102105870 B CN102105870 B CN 102105870B
Authority
CN
China
Prior art keywords
external memory
access
memory access
storage
predetermined number
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
CN200880130482.5A
Other languages
English (en)
Other versions
CN102105870A (zh
Inventor
P·J·海斯
C·B·麦卡纳利
W·M·曼斯菲尔德
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.)
Micro Motion Inc
Original Assignee
Micro Motion Inc
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 Micro Motion Inc filed Critical Micro Motion Inc
Priority to CN201510112754.0A priority Critical patent/CN104915149B/zh
Publication of CN102105870A publication Critical patent/CN102105870A/zh
Application granted granted Critical
Publication of CN102105870B publication Critical patent/CN102105870B/zh
Priority to HK16102949.0A priority patent/HK1215085A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • 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)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)

Abstract

提供一种用于执行利用外部存储器的处理例程的方法。所述处理例程需要多于一次外部存储器存取。所述方法包括以下步骤:在预定数目的外部存储器存取之后分散外部存储器存取。

Description

具有外部存储器存取控制的处理***
技术领域
本发明涉及一种处理***,并且更具体来说,涉及一种用于在执行处理例程的同时控制对外部存储器的存取的方法。
背景技术
处理***在本领域内通常是公知的,并且在多种设备中被利用。某些处理***具有内部存储器,其提供所述处理***的所有数据和/或指令。但是,内部存储器具有有限的容量和能力,并且因此在某些情况下还将处理***连接到外部存储器,所述外部存储器扩充内部存储器的存储空间。此外,外部存储器允许多个处理***对所述存储器进行存取,并且从而提供更高的灵活性。
使用外部存储器的一个缺陷在于,与对内部存储器的存取相比,对外部存储器的存取通常需要更大数量的功率,并且在某些情况下可能花费更长数量的时间。因此,在处理***受到功率和/或时间约束的情况下,存在使得外部存储器存取最小化的希望(incentive)。但是,可能无法将所有数据和/或指令都包括在内部存储器中,并且因此常常还是需要外部存储器。
在现有技术处理***中,按照突发形式(in bursts)对外部存储器进行存取。换句话说,基本上连续地对大外部存储器块进行存取。这将导致处理***的能量需求出现尖峰(spike)。在处理***不受能量约束的环境中,这种类型的存储器存取是适当的。但是在有功率约束的情况下,例如在经由双线回路(two-wire loop)为处理***供电的情况下,所需功率中的尖峰可能会对与处理***共享电源的组件造成不利影响,这是因为被递送到处理***的功率部分地受到在所述双线回路上发送的信令的限制。双线回路的实例仅仅是一个实例,而不应当限制本发明的范围,这是因为在许多其他情况下被递送到处理***的功率也受到限制。虽然现有技术的处理***尝试了降低总的功率消耗,但这并不总是适当的解决方案,因为即使总的功率消耗得到降低,功率消耗中的短暂尖峰仍然可能会对***造成不利影响。
因此,本发明提供一种用于在控制对外部存储器的存取的同时执行处理例程的方法。
发明内容
根据本发明的一方面,一种用于执行利用外部存储器并且需要多于一次外部存储器存取的处理例程的方法包括以下步骤:
基于连续外部存储器存取的预定数目来分散(distributing)外部存储器存取。
优选地,所述方法还包括以下步骤:分散外部存储器存取以使得连续外部存储器存取的数目被最小化。
优选地,所述方法还包括以下步骤:基本上均匀地分散外部存储器存取。
优选地,所述分散外部存储器存取的步骤包括:在预定数目的连续外部存储器存取之后,使对外部存储器的存取暂时中断预定时间量。
优选地,所述处理例程还利用内部存储器,并且其中所述分散外部存储器存取的步骤包括:在预定数目的外部存储器存取和预定数目的内部存储器存取之后,中断对外部存储器的存取。
优选地,所述连续外部存储器存取的预定数目基于可用能量供应。
根据本发明的另一方面,一种用于执行利用外部存储器的处理例程的方法包括以下步骤:
确定可用能量供应;以及
基于所述可用能量供应对外部存储器进行存取。
优选地,所述方法还包括以下步骤:只有在可用能量供应超出阈值的情况下才对外部存储器进行存取。
优选地,所述处理例程还利用内部存储器,并且所述方法还包括以下步骤:如果可用能量供应不超出阈值,则对内部存储器进行存取。
优选地,所述方法还包括以下步骤:如果可用能量供应不超出阈值,则分散外部存储器存取。
优选地,所述方法还包括以下步骤:基于连续外部存储器存取的预定数目来分散外部存储器存取。
优选地,所述连续外部存储器存取的预定数目至少部分地由可用能量供应等级确定。
优选地,所述处理例程还利用内部存储器,并且所述方法还包括以下步骤:通过在预定数目的连续外部存储器存取和预定数目的内部存储器存取之后中断对外部存储器的存取来分散对外部存储器的存取。
根据本发明的另一方面,一种处理***包括:
外部存储器;以及
被适配成执行利用所述外部存储器的处理例程的处理器,其中,所述处理器被配置成基于连续外部存储器存取的预定数目来分散外部存储器存取。
优选地,所述处理器还被配置成分散外部存储器存取以使得连续外部存储器存取的数目被最小化。
优选地,所述处理器还被配置成基本上均匀地分散外部存储器存取。
优选地,所述处理器还被配置成在预定数目的连续外部存储器存取之后,使对外部存储器的存取暂时中断预定时间量。
优选地,所述处理***还包括内部存储器,其中,所述处理器还被配置成通过在预定数目的外部存储器存取和预定数目的内部存储器存取之后中断对外部存储器的存取来分散外部存储器存取。
优选地,所述连续外部存储器存取的预定数目基于可用能量供应。
附图说明
图1示出了根据本发明的一个实施例的处理***100。
图2示出了所述处理***在对存储器进行存取时的能量消耗的曲线图。
图3示出了根据现有技术的处理***的存储器存取。
图4示出了根据现有技术的处理***的能量消耗的曲线图。
图5示出了根据本发明的一个实施例的处理***的存储器存取。
图6示出了根据本发明的一个实施例的处理***的存储器存取。
图7示出了根据本发明的一个实施例的计量电子设备(meter electronics)的功率消耗的曲线图。
图8示出了根据本发明的一个实施例的处理***的存储器存取。
图9示出了根据本发明的一个实施例的计量电子设备的功率消耗的曲线图。
具体实施方式
图1-9和下面的描述描绘了具体实例,以教导本领域技术人员如何完成及使用本发明的最佳模式。为了教导本发明的原理,已经简化或省略了某些传统方面。本领域技术人员将从这些实例中认识到落在本发明的范围内的各种变型。本领域技术人员将认识到,可以按照多种方式组合下面描述的特征以形成本发明的多种变型。因此,本发明不限于下面描述的具体实例,而只由所附权利要求及其等效表述限制。
图1示出了根据本发明的一个实施例的处理***100。处理***100包括连接到电源104的处理器101。电源104可以包括具有无限制供电(power supply)的电源,或者可以包括具有受限制供电的电源,比如双线回路,其例如被限制成提供大约4mA和大约20mA之间的电流。因此,根据本发明的一个实施例,处理***100以受约束的供电操作。处理器101可以通过执行一个或多个处理例程来进行处理***100的操作。所述处理例程可以包括读取和/或写入指令和/或数据。处理器101可以包括通用计算机、微处理***、逻辑电路、数字信号处理器或者某种其他通用或定制处理设备。处理器101可以分布在多个处理设备当中。处理器101可以包括任何形式的集成或独立电子存储介质,比如内部存储器102和外部存储器103。因此,由处理器101执行处理例程可以通过在存储器102、103中存储信息(比如指令和/或数据)来利用内部存储器102、外部存储器103或全部二者。此外,处理***100可以包括接口105。接口105可以包括本领域内所公知的任何形式的显示或输入/输出机构。
存储器102、103可以存储数据、软件例程、恒定值以及变量值。应当认识到,每当处理器102从/向存储器102、103读取/写入信息时,处理***100需要附加数量的能量。虽然在许多实施例中需要外部存储器103,但是与对内部存储器102的存取相比,对外部存储器103的存取需要更多能量。在图2中示出了这一点。
图2示出了处理***100(更具体来说是处理器101)在对存储器102、103进行存取时的功率消耗的曲线图。根据本发明的一个实施例,处理例程利用存储器102、103的其中之一或全部二者。因此,处理器101在执行处理例程时需要对存储器102、103进行存取。迹线(trace)230代表可用能量供应。可用能量供应可以代表可用于处理***100、处理器101或者其中包含处理***100的电子设备的能量。可用能量供应230可以包括可用电流、电压或其组合。举例来说,在处理***100由双线回路供电的情况下,可用能量供应230可以包括可用电流。但是应当理解的是,所测量的具体能量值将取决于特定情况,并且因此不应限制本发明的范围。
迹线231示出了存储器存取。迹线231中的每一个尖峰都代表一次外部存储器存取。应当认识到,例如,比如在232处所见的相对较少的连续外部存储器存取不会显著影响可用能量供应。这一点可以通过观察基本上处于232处的尖峰正上方(directly above)的可用能量供应而看出。但是如在233处的存取所见,随着连续外部存储器存取的数目增多,可用于其他应用的能量供应的等级就会降低。在利用多次连续外部存储器存取来实施对外部存储器103的存取的情况下,对可用能量的限制非常显著,比如在234处所见的那样,此时对外部存储器103进行存取所需的能量几乎用掉了可用的全部储备能量。在这样的存取突发期间,几乎没有为处理***100的剩余组件留下能量。
根据本发明的一个实施例,确定可用能量230,并且使对外部存储器103的存取约束为当可用能量230超出某一阈值的时间。这确保对外部存储器103进行的存取将不会基本上耗尽可用于电子设备或处理***100的剩余组件的能量。这种方法还提供一种用于确定何时对外部存储器103进行存取的基本上实时的方法。根据本发明的一个实施例,所述阈值可以是预定值。根据本发明的另一个实施例,所述阈值可以取决于执行处理例程所需的外部存取的数目。举例来说,所述阈值可以随着执行处理例程所需的外部存取的数目减少而减小。这是因为如图2中所示,随着所需的存取数目减少,所述存取对可用能量供应230的影响也会减小。因此,相对较少的外部存取的数目将不会在处理器101的能量消耗中产生同样大的尖峰。
根据本发明的一个实施例,处理器101可以执行仅仅利用外部存储器103的处理例程。在这种情况下,处理***100可以确定可用能量供应,并且基于可用能量供应准许对外部存储器103进行存取。根据一个实施例,只有在可用能量供应超出阈值的情况下才准许对外部存储器103进行存取。当可用能量供应低于或等于阈值时,处理***100可以暂时约束对外部存储器103的存取,直到可用能量再一次超出阈值为止。应当理解的是,某些处理例程仅仅利用内部存储器102,并且因此约束对内部存储器102的存取的方法同样适用;但是在许多实施例中,用于约束对内部存储器102的存取的阈值将基本上比用于约束对外部存储器103的存取的阈值更低。这是因为与对外部存储器103进行存取相比,对内部存储器102的存取需要较少能量。根据另一个实施例,当可用能量供应不超出阈值时,根据下面关于图5-9所描述的分散之一来准许对外部存储器103的存取。
根据本发明的另一个实施例,处理器101可以执行利用内部存储器102和外部存储器103二者的处理例程。在该实施例中,处理***100可以确定可用能量供应,并且基于可用能量供应准许对外部存储器103的存取。根据一个实施例,只有在可用能量供应超出阈值的情况下才准许对外部存储器103的存取。另一方面,如果可用能量供应不超出阈值,则约束对外部存储器103的存取,但是可以准许对内部存储器102的存取。因此,处理器101可以在可用能量供应不超出阈值的时段期间对内部存储器102进行存取,并且一旦能量供应超出阈值,处理器101就可以再次对外部存储器103进行存取。
根据本发明的另一个实施例,如果可用能量供应230不超出阈值,则处理器101可以根据下面概述的方法之一来分散外部存储器存取。可以基于可用能量供应203来选择特定的方法。应当理解的是,“分散”意味着意思是通过下面使用的方法之一来散开(spread out)或分开存取,而不是像现有技术中那样按照突发的方式存取。可以通过其中处理器101停止所有功能的时间段来分开存取,或者可以通过其中处理器101简单地切换对特定存储器的存取(但是例如可以对一个不同存储器进行存取)的时段来分开存取。
在许多情况下,存储在外部存储器103中的信息量基本上少于存储在内部存储器102中的信息量。对于给定的处理例程,处理器101例如可能需要在每100,000次总的存储器存取当中进行1000次外部存储器存取。但是应当理解的是,所述1比100的比例仅仅被用作一个实例,实际的比例将根据特定处理例程而有所不同。现有技术的处理***很自然地将所述1000次外部存储器存取分组在一起,即突发存取。如图3中所示,处理器101首先执行所有所需的外部存储器存取,并且随后执行所有所需的内部存储器存取。与对应于100,000次总的存储器存取的该高峰值功率相关联的源代码可以如下写出:
外部1
外部2
外部3
·
外部1000
内部1
内部2
内部3
·
内部99000
虽然这样的分组对于无限制供电不存在问题,但是如存取234处看到的那样,当处理***100受到功率约束时,外部存储器存取中的这种突发可能会基本上耗尽可用于剩余电子设备的储备功率。在现有技术的处理***中进行这种分组的一个原因在于,其所需要的情境(context)切换少得多。因此可以使得总带宽最大化。
图4示出了在给定时间帧内处理器101在首先对外部存储器103进行存取并且随后对内部存储器102进行存取时的功率消耗的曲线图。迹线430代表给定时间处的可用能量供应;迹线431通常代表处理器101在对存储器102、103进行存取时的能量消耗。可以看出,在处理器101正对外部存储器103进行存取的时间期间(通常在432处表示),处理器101基本上消耗了所有可用能量供应。一旦处理器101停止对外部存储器103进行存取并且开始对内部存储器102进行存取时,处理器101所使用的功率就会降低。
可以看出,对外部存储器103的这种“突发”存取方法可能会给可用能量供应带来严重问题。因此,这种方法在许多时候是不利的。根据本发明的一个实施例,为了克服能量约束问题,处理器101在预定基础上分散外部存储器存取。所述分散可以在处理例程的编译之前或之后执行。此外,所述分散可以手动执行,或者如下面所描述的那样基本上自动执行。
图5示出了根据本发明的一个实施例的处理器101在执行处理例程时的存储器存取。根据所示实施例,基于连续外部存储器存取的预定数目来分散外部存储器存取。根据本发明的一个实施例,处理器101在预定数目的连续外部存储器存取之后暂时约束对存储器102、103二者的存取。在某些实施例中,如果处理例程仅仅利用外部存储器103,则这可以包括暂停处理例程的执行。所述暂时的暂停在534处示出,此时处理器101不对内部或外部存储器102、103进行存取。在暂时存取约束之后,处理器101可以再次对外部存储器103进行存取,这通常在532处示出。所述暂时存取约束可以基于预定时间,或者它可以基于可用能量供应。举例来说,可以约束对外部存储器103的存取,直到能量供应上升到高于阈值为止。根据图5中所示的实施例,直到外部存储器存取完成之后,处理器101才对内部存储器102进行存取。
图6示出了根据本发明的另一个实施例的处理器101的存储器存取。根据图6中所示的实施例(即本发明的实施例),通过在预定数目的外部存储器存取和预定数目的内部存储器存取之后暂时中断对外部存储器的存取来分散外部存储器存取。使用100,000次总的存取的实例,其中的1,000次是外部存储器存取,外部存储器存取632被分组成对应于每1,000次内部存储器存取633的10次存取的单位。通过用内部存储器存取633分开外部存储器存取632,可以减少功率消耗中的尖峰。这是因为与对外部存储器103的存取相关联的较高功率消耗不会同时一起发生。相反,处理器101对内部存储器102进行存取所需的较低功率消耗提供对外部存储器103进行存取所需的高功率消耗的突变(break)。根据图6中所示的实施例,外部存储器存取基本上均匀地被内部存储器存取分开。但是在其他实施例中,所述分开不必是基本上均匀的。对应于这种算法的源代码可能看起来如下:
外部1
·
外部10
内部1
·
内部1000
外部11
·
外部20
内部1001
·
内部2000,后面以此类推
图7示出了在根据前面关于图6概述的方法分散外部存储器存取时的处理器101的能量消耗的曲线图。可以看出,当处理***100对外部存储器103进行存取时(通常在点732处示出),处理器101的能量消耗出现尖峰。因此,基于连续外部存储器存取的预定数目来分散外部存储器存取会最小化能量消耗尖峰,从而允许处理器101在可用能量供应不超出阈值时对外部存储器103进行存取。因此,根据本发明的一个实施例,如果可用能量供应不超出阈值,则可以基于连续外部存储器存取的预定数目来分散外部存储器存取。根据本发明的另一个实施例,即使当可用能量供应确实超出阈值时,也可以基于连续外部存储器存取的预定数目来分散外部存储器存取。所述连续外部存储器存取的预定数目可以基于可用能量供应。
根据本发明的另一个实施例,不管可用能量供应如何,所述连续外部存储器存取的预定数目可以是基本上相同的。但是在该实施例中,所述预定数目应当被选择成使得处理器101即使在最小可用能量供应下也可以对预定数目的外部存储器位置进行存取。
图8示出了根据本发明的另一个实施例的存储器存取。根据图8中所示的实施例,外部存储器存取被分散得尽可能远。换句话说,对外部存储器的存取被分散成以使得连续外部存储器存取的数目被最小化。再次以100,000次存取为例,处理器101对于每十次内部存储器存取对外部存储器103存取一次。这样可以最小化由对外部存储器103进行存取而导致的能量尖峰。根据本发明的一个实施例,确定外部存储器存取的数目连同内部存储器存取的数目。利用这两个数目,可以根据执行处理例程所需的外部对内部存储器存取的比例,用内部存储器存取来中断外部存储器存取。因此,例如如果特定处理例程需要四次外部存储器存取和两次内部存储器存取,则外部对内部的比例将是2:1。因此,一次内部存储器存取将分开大约两次外部存储器存取。这种方法的一个缺陷在于,处理器101持续在内部和外部存储器102、103之间进行切换,即“情境切换”。这在某些实施例中可能会减小总带宽。因此,应当平衡降低的功率消耗和与干扰程序的顺序、线性性质相关联的情境切换成本。因此,根据某些实施例,使外部存储器存取分散得尽可能远可能并不是最有利的方法。对应于这种算法的源代码可以如下写出:
外部1
内部1
·
内部10
外部2
内部11
·
内部20
图9示出了在根据前面关于图8概述的方法当处理器101对外部存储器103和内部存储器102进行存取时该处理器101的功率消耗的曲线图。可以看出,功率消耗在点932处出现尖峰,此时处理器101对外部存储器103进行存取。但是在每一个点932处只有单个功率消耗尖峰,这是因为处理器101只对外部存储器103进行一次存取,并且随后在再次回到从外部存储器103存取信息之前中断对外部存储器103的存取。在某些实施例中,处理器101在对外部存储器103的存取被中断的时段期间对内部存储器102进行存取。在迹线930中可以看出,在单个基础上对外部存储器103进行存取对可用于处理***100的其余部分的储备功率仅有最低限度的影响。因此,通过使外部存储器存取分开得尽可能远,可用于***剩余部分的储备功率要多很多。从而处理器101就能够在严格的功率约束下操作,这是通过最小化与每次对外部存储器103进行大块存取(突发存取)相关联的功率尖峰而实现的。
根据一个实施例,前面概述的本发明提供一种用于执行处理例程的方法,其中所述处理例程的一部分被存储在外部存储器103中,并且所述处理例程的一部分被存储在内部存储器102中。因此,为了执行处理例程,处理器101需要对内部存储器102和外部存储器103二者进行存取。所述方法通过根据外部存储器存取的预定数目分散对外部存储器101的存取来降低处理器101的峰值功率消耗。因此,处理器101不像现有技术那样在导致功率消耗中的大尖峰的大突发中对外部存储器103进行存取。根据一个实施例,对外部存储器103的存取保持不可存取达预定时间量。根据本发明的另一个实施例,对外部存储器103的存取保持不可存取,直到处理器101执行了预定数目的内部存储器存取为止。对内部和外部存储器的存取的预定数目可以是相同的数目,或者可以是不同的数目。具体的预定数目将取决于具体情况以及处理例程所需的总的存取的具体数目。一旦处理器101完成了预定数目的内部存储器存取,处理器101就可以再次回到对外部存储器103的存取。
如前所述,在某些实施例中,用来分散对外部存储器103的存取的预定数目被选择成使得连续外部存储器存取的数目被最小化。根据本发明的另一个实施例,所述预定数目在整个处理例程中基本上是恒定的。因此,对于外部存储器103的存取的分散在整个处理例程中基本上是均匀的。根据其他实施例,在处理器101执行处理例程时,所述预定数目可以发生改变,并且因此处理器101所执行的存取数目将发生改变。根据本发明的另一个实施例,根据外部对内部存储器存取的近似比例用内部存储器存取来中断外部存储器存取。因此,例如如果所需要的内部存储器存取对外部存储器存取的比例是2:1,则对外部存储器的存取将在每一次外部存取之后被中断,并且在处理器101回到对外部存储器进行存取之前将保持中断两次内部存储器存取。
可以按照多种方式来实施所述分散存取的方法。可以通过手动方式、通过软件或者通过硬件实施所述分散。根据本发明的一个实施例,在处理例程的编译之后执行所述分散。根据本发明的另一个实施例,在处理例程的编译之前执行所述分散。根据本发明的一个实施例,通过手动分散来实施分散存取。可以经由对源代码的检查和手工分散来实现对外部存储器存取的手动分散。这一点可以通过对源代码的检查和手工分散来完成。虽然这种方法适用于某些情况,但是其易于出错并且耗时。此外还必须对每一次新的代码改变或软件发布都执行这种方法,从而增长(furthering)所需的时间。
根据本发明的另一个实施例,可以以软件来分散存储器存取。根据一个实施例,可以利用后处理程序来修改软件。前面简要示出了这种方法,其中对于每“n”条指令***一个“跳跃(jump)”。举例来说,在结合图8和9的讨论中,对于每“n”次外部存取***一个跳跃,即对于内部存取的指令。这样做的效果是在内部和外部存储器102、103之间划分处理资源。
根据本发明的另一实施例,利用实时操作***(RTOS)。根据该实施例,处理器101的每一项任务都具有将该项任务限定在内部或外部存储器102、103中的特性。外部任务在“n”条指令之后被抢先式(preemptively)中断。直到已执行了“m”条内部指令之后,才允许恢复执行外部任务。在本文中,“n”和“m”分别是需要在外部和内部存储器103、102中进行存取的位置的数目。此外,可以对RTOS进行编程,以便使“n”的大小保持得尽可能小。根据本发明的另一个实施例,可以对RTOS进行编程,以便随着时间使“n”和“m”保持相对恒定,从而最大化外部存储器存取的最优分散。
根据本发明的另一个实施例,可以以硬件来实施存储器存取的分散,在所述硬件中对存储器高速缓存进行修改,以便按照暂时最优方式对外部存储器进行存取。根据一个实施例,所述暂时最优方式包括对于每“n”次总的存取的一次外部存储器存取。该实施例的一个缺陷在于,其需要内部高速缓冲存储器。但是,在内部高速缓冲存储器可用的实施例中,可以实施该实施例。本领域中公知的其他方法也可以被用来对处理***进行编程,并且因此被包括在本发明的范围内。
前面的描述提供一种用于对存取外部存储器103所需的处理例程进行编程的方法。在某些实施例中,处理例程也利用内部存储器102。所述方法基于连续外部存储器存取的预定数目来分散(中断)外部存储器存取。虽然前面的描述的各部分提到了具体的存取数目,但是应当理解的是,所述数目仅仅是被用来帮助理解本发明,而不应当以任何方式限制本发明的范围,这是因为具体的存取数目将根据处理例程而改变。此外,本发明不应受到外部存储器存取对内部存储器存取的具体比例的限制,这是因为所述比例可以改变,可以小于1、大于1或等于1。
前面的描述还提供一种基于可用能量供应来控制对外部存储器103的存取的方法。因此,所述方法确保处理器101在对外部存储器103进行存取时所消耗的能量不会超出可用能量供应。应当认识到,可以按照需要一起使用或单独使用所述两种方法(基于可用能量控制存取和存取分散)。
对于前面的实施例的详细描述并不是对发明人设想落在本发明的范围内的所有实施例的穷尽描述。实际上,本领域技术人员将认识到,可以按照多种方式组合或去除前面描述的实施例的某些元件以创建另外的实施例,并且所述另外的实施例也落在本发明的范围和教导之内。本领域普通技术人员还将认识到,可以整体上或部分地组合前面描述的各实施例,以便创建落在本发明的范围和教导之内的附加实施例。
因此,虽然在这里出于说明的目的描述了本发明的具体实施例和实例,但是相关领域技术人员将认识到,在本发明的范围内可能有各种等效修改。这里给出的教导可以被应用于其他处理***,而不仅仅被应用于前面描述并且在附图中示出的实施例。相应地,应当从下面的权利要求确定本发明的范围。

Claims (10)

1.一种用于执行利用外部存储器及内部存储器并且需要多于一次外部存储器存取的处理例程的方法,包括以下步骤:
基于连续外部存储器存取的预定数目分散被所述处理例程所需要的外部存储器存取,其中,所述分散外部存储器存取包括在预定数目的外部存储器存取与预定数目的内部存储器存取之后中断对外部存储器的存取。
2.根据权利要求1所述的方法,还包括以下步骤:分散外部存储器存取以使得连续外部存储器存取的数目被最小化。
3.根据权利要求1所述的方法,还包括以下步骤:均匀地分散外部存储器存取。
4.根据权利要求1所述的方法,其中,所述分散外部存储器存取的步骤包括:在预定数目的连续外部存储器存取之后,使对外部存储器的存取暂时中断预定时间量。
5.根据权利要求1所述的方法,其中,所述连续外部存储器存取的预定数目基于可用能量供应。
6.一种处理***(100),包括:
内部存储器(102);
外部存储器(103);以及
被适配成执行利用所述内部存储器(102)及外部存储器(103)以及需要外部存储器存取的处理例程的处理器(101),其中,所述处理器(101)被配置成基于连续外部存储器存取的预定数目来分散被所述处理例程所需的外部存储器存取;以及
通过在预定数目的外部存储器存取与预定数目的内部存储器存取之后中断对所述外部存储器(103)的存取来分散被所述处理例程所需的外部存储器存取。
7.根据权利要求6所述的处理***(100),其中,所述处理器(101)还被配置成分散外部存储器存取以使得连续外部存储器存取的数目被最小化。
8.根据权利要求6所述的处理***(100),其中,所述处理器(101)还被配置成均匀地分散外部存储器存取。
9.根据权利要求6所述的处理***(100),其中,所述处理器(101)还被配置成在预定数目的连续外部存储器存取之后,使对外部存储器(103)的存取暂时中断预定时间量。
10.根据权利要求6所述的处理***(100),其中,所述连续外部存储器存取的预定数目基于可用能量供应。
CN200880130482.5A 2008-07-23 2008-07-23 具有外部存储器存取控制的处理*** Active CN102105870B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510112754.0A CN104915149B (zh) 2008-07-23 2008-07-23 具有外部存储器存取控制的处理***
HK16102949.0A HK1215085A1 (zh) 2008-07-23 2016-03-15 具有外部存儲器存取控制的處理系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/070906 WO2010011220A1 (en) 2008-07-23 2008-07-23 Processing system with external memory access control

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510112754.0A Division CN104915149B (zh) 2008-07-23 2008-07-23 具有外部存储器存取控制的处理***

Publications (2)

Publication Number Publication Date
CN102105870A CN102105870A (zh) 2011-06-22
CN102105870B true CN102105870B (zh) 2015-05-20

Family

ID=40560202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880130482.5A Active CN102105870B (zh) 2008-07-23 2008-07-23 具有外部存储器存取控制的处理***

Country Status (15)

Country Link
US (1) US8688943B2 (zh)
EP (2) EP2318935B1 (zh)
JP (1) JP5690728B2 (zh)
KR (1) KR101244795B1 (zh)
CN (1) CN102105870B (zh)
AR (1) AR072829A1 (zh)
AU (1) AU2008359713B2 (zh)
BR (1) BRPI0822963B1 (zh)
CA (2) CA2896581C (zh)
DK (1) DK2318935T3 (zh)
HK (2) HK1159283A1 (zh)
MX (1) MX2011000292A (zh)
PL (1) PL2318935T3 (zh)
RU (2) RU2606551C2 (zh)
WO (1) WO2010011220A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US9443600B2 (en) * 2013-03-28 2016-09-13 Intel Corporation Auto-suspend and auto-resume operations for a multi-die NAND memory device to reduce peak power consumption
US10289446B1 (en) 2015-09-15 2019-05-14 Amazon Technologies, Inc. Preserving web browser child processes by substituting a parent process with a stub process
US10101910B1 (en) * 2015-09-15 2018-10-16 Amazon Technologies, Inc. Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager
US10248321B1 (en) 2015-09-15 2019-04-02 Amazon Technologies, Inc. Simulating multiple lower importance levels by actively feeding processes to a low-memory manager

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330647B1 (en) * 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
US7064994B1 (en) * 2004-01-30 2006-06-20 Sun Microsystems, Inc. Dynamic memory throttling for power and thermal limitations

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3272207D1 (en) * 1982-12-03 1986-08-28 Dow Chemical Co Glycol compositions containing phosphorous-modified silane
DE3325924A1 (de) * 1983-07-19 1985-01-31 Rheinmetall GmbH, 4000 Düsseldorf Blendenlafettierung wenigstens einer automatischen rohrwaffe in beengter einbaulage
EP0238090B1 (en) * 1986-03-20 1997-02-05 Nec Corporation Microcomputer capable of accessing internal memory at a desired variable access time
JPH0546473A (ja) * 1991-08-13 1993-02-26 Oki Electric Ind Co Ltd マイクロプロセツサにおけるメモリ空間拡張回路
JPH05342380A (ja) * 1992-06-10 1993-12-24 Mitsubishi Electric Corp マイクロコンピュータの動作モード制御回路
US6202129B1 (en) * 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
KR100386232B1 (ko) 1998-09-01 2003-06-02 인텔 코오퍼레이션 메모리 액세스 동작의 제어
US6681285B1 (en) * 1999-07-22 2004-01-20 Index Systems, Inc. Memory controller and interface
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
DE10063936A1 (de) 2000-12-20 2002-06-27 Thomson Brandt Gmbh Interrupt Controller für einen Mikroprozessor
US6784881B2 (en) * 2002-01-04 2004-08-31 Sun Microsystems, Inc. Synchronizing multiple display channels
US7210004B2 (en) * 2003-06-26 2007-04-24 Copan Systems Method and system for background processing of data in a storage system
US7035155B2 (en) * 2002-09-26 2006-04-25 Xware Technology, Inc. Dynamic memory management
JP3986950B2 (ja) * 2002-11-22 2007-10-03 シャープ株式会社 Cpuおよびこれを備えた情報処理装置、cpuの制御方法
GB0320142D0 (en) * 2003-08-28 2003-10-01 Ibm Data storage systems
JP4773693B2 (ja) * 2004-06-07 2011-09-14 キヤノン株式会社 メモリ制御システム
US7318130B2 (en) 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
US7277982B2 (en) 2004-07-27 2007-10-02 International Business Machines Corporation DRAM access command queuing structure
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP2006251837A (ja) * 2005-03-08 2006-09-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP4416694B2 (ja) * 2005-05-12 2010-02-17 株式会社ソニー・コンピュータエンタテインメント データ転送調停装置およびデータ転送調停方法
JP4075914B2 (ja) 2005-06-30 2008-04-16 ブラザー工業株式会社 データ処理装置
US7549034B2 (en) 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
JP2007213556A (ja) * 2006-01-11 2007-08-23 Matsushita Electric Ind Co Ltd 回路解析装置
JP2008140076A (ja) * 2006-11-30 2008-06-19 Toshiba Corp 情報処理装置
US8396515B2 (en) * 2007-11-30 2013-03-12 Symbol Technologies, Inc. Dynamic battery capacity allocation for data retention among mobile computers and electronic devices
RU72339U8 (ru) * 2007-12-27 2008-06-10 Общество с ограниченной ответственностью "НТЦ "Фактор" Модуль многопроцессорной вычислительной системы (варианты)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330647B1 (en) * 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
US7064994B1 (en) * 2004-01-30 2006-06-20 Sun Microsystems, Inc. Dynamic memory throttling for power and thermal limitations

Also Published As

Publication number Publication date
DK2318935T3 (en) 2015-01-26
RU2012126890A (ru) 2014-01-10
EP2682871A1 (en) 2014-01-08
RU2606551C2 (ru) 2017-01-10
CA2896581C (en) 2018-08-14
KR20110034676A (ko) 2011-04-05
EP2682871B1 (en) 2017-05-17
RU2568306C1 (ru) 2015-11-20
BRPI0822963B1 (pt) 2019-10-01
AR072829A1 (es) 2010-09-22
EP2318935A1 (en) 2011-05-11
HK1159283A1 (zh) 2012-07-27
BRPI0822963A2 (pt) 2018-06-05
JP5690728B2 (ja) 2015-03-25
US8688943B2 (en) 2014-04-01
CA2896581A1 (en) 2010-01-28
KR101244795B1 (ko) 2013-03-18
AU2008359713B2 (en) 2012-12-13
US20110113173A1 (en) 2011-05-12
MX2011000292A (es) 2011-02-23
WO2010011220A1 (en) 2010-01-28
JP2011529218A (ja) 2011-12-01
EP2318935B1 (en) 2014-11-19
CN102105870A (zh) 2011-06-22
CA2731728C (en) 2017-03-28
HK1215085A1 (zh) 2016-08-12
AU2008359713A1 (en) 2010-01-28
PL2318935T3 (pl) 2015-04-30
CA2731728A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
CN102105870B (zh) 具有外部存储器存取控制的处理***
CN1742458A (zh) 在调试过程中用于控制数据处理***的方法和设备
US8504860B2 (en) Systems, methods and devices for configurable power control with storage devices
US11042313B2 (en) Method and apparatus for configuring write performance for electrically writable memory devices
EP2580657B1 (en) Information processing device and method
CN101539802A (zh) 信息处理装置中的功率控制装置
CN104133382B (zh) 电源仲裁方法和具有用于访问并选择电源的控制逻辑电路的装置
KR20190127310A (ko) 데이터 처리 시스템 및 그 구동방법
JP2019028683A (ja) シーケンスコントローラおよび電子機器
CN111338451B (zh) 控制电路及快速设定电源模式的方法
CN105677233A (zh) 即时数据的储存方法及储存装置
CN104915149A (zh) 具有外部存储器存取控制的处理***
CN110825667B (zh) 一种低速io设备控制器的设计方法和结构
CN105446453A (zh) 电子装置
CN112462644A (zh) 信息控制柜、控制方法和装置
CN113696732A (zh) 一种低压下电控制方法、装置及电动汽车
JP2014013605A (ja) 外部メモリーへのアクセスを制御する処理システム
CN108983935B (zh) 一种固态硬盘上电时间的控制方法及其***
CN104750502B (zh) 一种跳线方法及装置
JP2021060923A (ja) 車両の制御装置
JPS63111501A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1159283

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1159283

Country of ref document: HK