数据处理系统中用于覆盖存储器的方法和设备技术方案

技术编号:2877267 阅读:250 留言:0更新日期:2012-04-11 18:40
一个数据处理系统,包括一个具有核心(102)的嵌入式控制器(100),系统总线,非易失性存储器(104),和随机存储器(RAM)(106)。该RAM(104)有一个非覆盖区(108)和一个覆盖区(110)。该覆盖区(110)可被分成多个分区。在不被用作覆盖区时,该覆盖区(110)的各分区可用作一般RAM目的。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种数据处理系统。更具体地说,本专利技术涉及一种数据能够从一个存储器覆盖(overlay)到另一个存储器的数据处理系统。
技术介绍
现有技术的嵌入式控制器支持各种存储器,包括芯片内和片外存储器。例如,一些嵌入式控制器既有静态存储器又有闪速存储器。有时想要在嵌入式控制器的常规操作中改变闪速存储器中的数据。例如,用作发动机(或者其它的机电设备)控制器的嵌入式控制器,存储在闪速存储器中的各种参数可能需要改变以适当地转动发动机。因为闪速存储器在嵌入式控制器的常规操作中不容易编程,现有技术的嵌入式控制器利用覆盖原理将数据从静态存储块覆盖到闪速存储器。现有技术的覆盖原理有各种问题。其中一个问题涉及数据转移时间。数据转移时间定义为从总线主控器请求数据到数据可用和接收到所有的访问终止信号所消耗的时间。当访问闪速存储器或被覆盖的闪存区域时,维持相同的数据转移时间至关重要。现有技术的覆盖原理不可能在芯片内或片外闪速存储器中维持相同的数据转移速率。结果,对于存放于可覆盖存储器中的数据和存放于闪速存储器中同样的数据,嵌入式控制器不可能以同样的方法进行操作。另一个问题是用于现有技术的覆盖原理只能覆盖整个存储块。换句话说,如果嵌入式控制器有覆盖原理使用的512个字节的静态存储器模块,那么任何一个模块的整个512个字节都必须被覆盖。有时希望有选择性地覆盖存储器模块的某些部分,而不是覆盖整个模块。有时也希望选择覆盖部分的尺寸。现有技术的覆盖原理的另一个问题是,为了具有多个覆盖区域,需要多个存储模块,每一个模块须有自己独立的总线接口单元(BIU)。每个BIU要求有独立电路,这样,带有多个BIU需要占用芯片的空间。附图说明本专利技术以举例子的方法加以说明,但并不局限于附图,其中类似的参考符号代表类似的元件,其中图1是根据本专利技术的一个实施例的嵌入式控制器的方框图;图2和3是说明从静态存储器区覆盖到闪速存储器的例子的方框图;图4是说明本专利技术的一个实施例的操作流程图。本领域技术人员将理解,为了简洁且清晰起见图中的元件不必按比例画。例如,为了有助于更好地理解本专利技术的具体实施例,图中一些元件的尺寸相对其它元件可能被夸大。具体实施例方式图1是嵌入式控制器100的框图。该嵌入式控制器100包括作为控制器100的中央处理单元的核心102。核心102耦接到一条指令总线120和一条装入/储存总线122。这种结构被称作“哈佛结构”。应该理解其他结构也能用于本专利技术。例如,单条系统总线能用于代替120和122这两条总线。指令总线被用作提取指令,而装入/储存总线122则用于提取数据。一个系统接口单元(SIU)114和指令总线120和外部总线124相耦接。SIU 114为嵌入式控制器100的外部组件或者装置提供一个接口。嵌入式控制器100包括非易失性存储器。该非易失性存储器可以是闪速存储器(FLASH),只读存储器(ROM),电可擦除只读存储器(EEPROM),可擦可编程只读存储器(EPROM),或者其他合适类型的存储器。在优选实施例中选用了闪速存储器。在图1中,闪速存储器104耦接于指令总线120。此外,可以包括耦接到外部总线124的外部闪速存储器116。嵌入式控制器100也包括易失性存储器。易失性存储器可以包括任何类型的随机存取存储器(RAM),例如静态随机存取存储器(SRAM)或者动态随机存取存储器(DRAM),在优选实施例中选用了SRAM来执行。然而,任何类型和数目合适的RAM模块都可以选用。在图1中,SRAM 106被耦接于装入/储存总线122。该SRAM 106包括非覆盖区108和覆盖区110(详见后述)。此外,可以包括耦接于外部总线124的外部SRAM 118。耦接在指令总线120和装入/储存总线122间的是总线接口单元(BIU)112。BIU112的功能是提供一个在指令总线120和装入/储存总线122之间的接口。在一个可替换的实施例中,BIU是非易失性存储器的一部分。如上所述,在嵌入式控制器100正常运作过程中有时需要改变闪速存储器104中的参数或者数据。然而,在嵌入式控制器100正常工作过程中闪速存储器可能不容易编程。这样,SRAM 106必须被覆盖于闪速存储器104上,因为SRAM 106中的参数能够轻易地改变。本专利技术的实施例提供了一种改进的覆盖原理。如上所述,SRAM106包括一个非覆盖区108和覆盖区110。在一个实施例中,该SRAM106是32千字节的,其中非覆盖区108占据了28千字节且覆盖区110占据了4千字节。当然,SRAM 106可以是任何合适的尺寸并以任何需要的方式分割。覆盖区110可以用作普通目的的RAM或者用作覆盖。非覆盖区108可以用作普通目的的RAM。在一个可替换实施例中,整个SRAM106可以被指定作为一个覆盖区。换言之,该SRAM 106可以如图1所示那样分割或者实际上一些SRAM 106用作覆盖而另一些SRAM 106不用作覆盖。这样,单个的RAM模块(举例说,诸如静态存储器SRAM或者动态存储器DRAM)可以同时用作覆盖和普通目的。图2和图3是图解说明将静态存储器SRAM区覆盖到闪速存储器的方框图。图2示出SRAM 106和闪速存储器104。SRAM 106被分为非覆盖区108和覆盖区110。覆盖区110被进一步分为八个独立的区域或者分区(覆盖分区0,覆盖分区1,覆盖分区2,覆盖分区3,覆盖分区4,覆盖分区5,覆盖分区6,覆盖分区7,覆盖分区8)。在该例子中,覆盖分区为4千字节,八个分区中的每一个为512字节。可替代的实施例中可以包括任何数量的分区或者不同尺寸的分区。如图2示出的本实施例允许八个分区中的一些用作覆盖。此外,对于每一个被用作覆盖的分区,可以使用全部分区,或者可以使用一部分。在一个实施例中,分区是可以软件编程的。例如,SRAM 106可以包括一个具有各种能定义相应于SRAM 106的模式和分区特性的字段的控制寄存器。该控制寄存器可以包括一种能将随机存储器RAM模块配置为覆盖模式或者非覆盖模式的模式字段。在非覆盖模式中,整个RAM模块被用作为普通目的RAM,没有覆盖能力。在覆盖模式中,如上所述,能建立覆盖区。控制寄存器因而可以包括一个可以启动每一个分区的启动字段。这样,即使RAM被配置为覆盖模式,每一个分区可以被启动用于覆盖闪速存储器的一部分或者被禁止而用作普通目的RAM。该控制寄存器还可以包括一个能够将覆盖分区收缩(collapse)到邻接的存储地址的收缩字段(收缩字段在下面参照图3进一步描述)。为了配置每个覆盖分区的尺寸,该控制寄存器可以包含一个分区尺寸字段。如上所述,控制寄存器可以由软件配置,由此允许灵活配置RAM模块和它的分区。进一步说,控制寄存器可以在诸如SRAM 106的RAM模块中找到,或者在其他软件或者硬件可访问的合适地址中找到。同样,如果除SRAM 106之外用到其他RAM模块,类似地可由与每一附加RAM模块相应的控制寄存器来配置它们。SRAM 106也可以包括基本地址寄存器。在一个实施例中,有八个寄存器,每一个相应于如图2所示的八个分区。同样,如果有更多或者更少的分区,则使用更多或者更少的基本地址寄存器。每一个基本地址寄存器包含一个将被覆盖的闪速存储器段的基本的本文档来自技高网...

【技术保护点】
在一个具有非易失性存储器(104)和含有当作一般随机存储器使用的非覆盖区(108)以及用于覆盖该非易失性存储器的部分的覆盖区(110)的第一随机存取存储器(RAM)模块(106)的数据处理系统中,该非易失性存储器通过系统总线被耦接到该第一RAM模块,一种方法包括: 发出一个存储器访问请求来访问该非易失性存储器的覆盖部分; 通过该第一RAM模块将块数据信号送给该非易失性存储器来禁止该非易失性存储器向系统总线驱动数据; 第一RAM模块在数据总线许可情况下将数据驱动到系统总线上;和 该非易失性存储器驱动访问终止控制信号来完成对存储器的访问。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:格鲁斯维米甘尼什苏雷德雷P伯哈塔雷华莱士B哈伍德三世加里L米勒约瑟夫杰勒曼斯基
申请(专利权)人:摩托罗拉公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1