计算机设备的制作方法

文档序号:6651930阅读:160来源:国知局
专利名称:计算机设备的制作方法
技术领域
本发明涉及一种计算机设备。
背景技术
移动电子装置、诸如PDA(个人数字助理)和装备有微处理器的其他电子装置因为成本原因典型地仅具有小的内部存储器。
通常,用于这些移动装置的应用程序的程序指令和数据被存储在被耦合到这些移动装置的外部存储装置上。
这些外部存储装置可被用来存储大量数据、典型地在100千字节和256兆字节之间。然而,与内部存储器相比,针对外部存储装置的存取时间非常长。举例来说,针对被包含在外部存储装置中的外部存储器的存取时间可能比针对移动装置中的内部存储器的存取时间长80倍。使用被集成在移动装置中的控制设备对被设置在外部存储装置中的外部存储器进行存取。所述控制设备通常可以服务供多个主机,如下参照图1所解释的那样。
图1示出公知的存储器结构100。
移动装置101被耦合到外部存储器102。
移动装置具有多个主机103、104、105。主机103、104、105使用存储器控制单元106来对外部存储器102进行存取。
举例来说,主机可能是中央处理单元(CPU)、数字信号处理器(DSP)、DMA(直接存储器存取)单元等等。
因为对外部存储器102的存取时间可能非常高、例如100ns,如所提及的那样,在该实例中,每个主机103、104、105分别装备有缓冲存储器(高速缓冲存储器)107、108、109。典型地,缓冲存储器107、108、109具有短的存取时间、例如10ns,这意味着缓冲存储总体实现更快地存取被存储在外部存储器102中的数据。
然而,缓冲存储器107、108、109仅能够差地与外部存储器协同工作,举例来说,因为被用来将外部存储器102耦合到移动装置101的总线与缓冲存储器107、108、109用来与存储器控制单元106通信的总线不兼容(例如在总线宽度方面)。
许可协议可能禁止移动装置101的生产商将缓冲存储器107、108、109与被用来将外部存储器102耦合到移动装置101的总线相匹配。
另外,当多个主机103、104、105存取外部存储器102中的相同数据并可能改变这些数据时,会出现问题。在这种情况下,一个主机103、104、105必须等待预先正被另一个主机103、104、105改变的数据,也就是必须等待直到数据从已改变数据的主机中的各自的缓冲存储器107、108、109被存储回外部存储器102中。在这种情况下,特别是通过使用缓冲存储器107、108、109在对外部存储器102进行存取方面失去已实现的速度优势。
当由于某种原因而执行高速缓冲存储器刷新(cache flush)时,就会出现进一步速度缺陷,所述原因即被存储在缓冲存储器107、108、109中的数据被写到外部存储器102。由于在高速缓冲存储器刷新持续时间内不可能以其它方式对外部存储器102进行存取,所以可以举例来说通过移动装置101的操作系统、例如Windows Mobile来促使这样的高速缓冲存储器刷新。
描述了一种计算机系统,其中多个处理器对缓冲存储器进行存取,该缓冲存储器用作公共主存储器的高速缓冲存储器。缓冲存储器通过第一总线被耦合到多个处理器,并通过第二总线被耦合到公共主存储器。

发明内容
本发明所基于的问题是消除上述缺陷,并且尤其是,提供一种结构,该结构允许通过多个主机有效地对一个存储器进行存取。
上述问题通过具有基于独立权利要求的特征的计算机设备进行解决。
本发明提供一种具有多个系统部件、存储器和缓冲存储器的计算机设备,其中多个系统部件中的每一个都被耦合到存储器并被设立用来对存储器进行读访问和/或写访问。缓冲存储器分别具有至少一个到多个系统部件中的每一个的接口,多个系统部件中的每一个都被设立来使用该接口对缓冲存储器进行存取。缓冲存储器被耦合到存储器并被设立来缓冲存储数据,所述数据在多个系统部件和存储器之间进行数据传输期间被存储或将被存储在存储器中。
可以明显地看出本发明所基于的想法,因为不是每一个系统部件(明显地,存储器中的主机)都被配备了专用缓冲存储器(高速缓冲存储器),而是,针对系统部件的公共缓冲存储器被设置来对存储器进行存取。因此,缓冲存储器针对每个系统部件具有接口、换句话说是端口。
在一个实施例中,缓冲存储器具有到每个系统部件的专用通信链路、例如也就是说专用计算机总线。这意味着系统部件并不使用公共计算机总线来与缓冲存储器进行通信。
在另一个实施例中,系统部件通过公共计算机总线被耦合到缓冲存储器。
系统部件是移动装置、诸如膝上型电脑、PDA(个人数字助理)或者移动无线电用户终端的部件。
因此,举例而言,系统部件是中央处理单元(CPU)、数字信号处理器或针对直接存储器存取的单元、也就是DMA(直接存储器存取)单元。
举例而言,所述存储器是被耦合到移动装置的外部存储器。
将公共缓冲存储器用于多个系统部件允许与存储器或者与总线廉价地进行匹配,所述总线被系统部件用来对存储器进行存取。
举例来说,缓冲存储器中的存储行的宽度可已经与总线的宽度相匹配,以致缓冲存储器中的存储行可以通过对存储器进行单次存取来加载。
另外,缓冲存储器可以被如此设立,以致该缓冲存储器根据存储器更好地支持哪种类型的存取而从存储器中加载存储行或存储列。
明显地,通过使用已被特别匹配于存储器(和/或总线)的缓冲存储器,在长存取时间的源(存储器)处避免了长存取时间。
对存储器进行存取得到明显优化,也就是说缓冲存储器被如此设立,以致通过多个系统部件使对存储器进行存取在存取时间和/或数据吞吐率方面得到优化。
缓冲存储器与存储器之间的耦合通过标准接口、例如也就是说通用接口来实现。
如所提及的那样,现有技术并不容易允许系统部件中的缓冲存储器、即属于系统部件的缓冲存储器(例如CPU中的一级高速缓冲存储器)与存储器和/或与总线相匹配。举例而言,许可协议可以禁止上述情况,或者匹配非常复杂或甚至是不可能的。另外,与所有系统部件中的缓冲存储器相匹配需要相当大的(成本)投入。
使用所提供的计算机设备并不产生上述问题,当所述系统部件之一改变数据并且另一个系统部件必须等待直至所改变的数据被写回至存储器时出现该问题,所述情况需要大量的时钟周期。在所提供的计算机设备的情况下,一个系统部件改变(公共)缓冲存储器中的数据并且另一个系统部件能立刻存取所改变的数据而无需对存储器进行存取。这导致了巨大的速度提高,并且由系统部件并行存取被存储在存储器中的数据得到了明显改善。
本发明的优选扩展方案可以在从属权利要求中得到。
优选地,计算机设备还具有被连接在多个系统部件和存储器之间的存储器存取单元,该存储器存取单元被用来执行多个系统部件的读访问操作和/或存储器存取操作。
优选地,缓冲存储器由存储器存取单元来管理。
明显地,缓冲存储器优选的是存储器存取单元的部分。
同样优选地,多个系统部件分别通过计算机总线被耦合到存储器,并且缓冲存储器已经与这些计算机总线相匹配。
举例而言,缓冲存储器(或者缓冲存储器中的控制单元)、例如存储器存取单元可以被耦合到计算机总线的仲裁单元(总线仲裁器),并且可以包含来自这些部件的信息,例如各个系统部件当前是否正在访问各自的计算机总线。以这种方式,缓冲存储器或者控制单元可能总是知道哪些系统部件正在对缓冲存储器进行存取和/或系统部件正在对(想要对)缓冲存储器的哪个区域进行存取。这提供了解决冲突的简单方法,所述冲突在由多个系统部件进行存取时发生。
同样优选地,缓冲存储器已经与存储器相匹配。
优选地,缓冲存储器已经与存储器的数据字长度相匹配。
根据缓冲存储器的存储行宽与存储器的存储单元宽度相同(或更大),缓冲存储器可以已经与存储器相匹配。因此,就可能从外部存储器将整个存储行(或者多个完整的存储行)加载到缓冲存储器中的存储行中。
缓冲存储器也可以在刷新率方面与存储器相匹配。
缓冲存储器优选的为n组相联高速缓冲存储器、全相联高速缓冲存储器或者直接映射高速缓冲存储器。
优选地,存储器为SRAM(静态随机存取存储器)、SDRAM(同步动态随机存取存储器)、EPROM(可擦可编程只读存储器)、或者EEPROM(电可擦可编程只读存储器)。
在一个实施例中,存储器在系统部件和缓冲存储器的外部。也就是说,系统部件和(因此在内部的)缓冲存储器在外壳中,而该外壳例如通过USB(通用串行总线)插头连接与另一个包含存储器的外壳相耦合。因此,存储器很明显地为独立存储单元。
同样优选的,缓冲存储器已经与计算机设备的操作系统相匹配。


附图中示例了本发明的示例性实施例,并在下面更详细地描述。
图1示出公知的存储器结构。
图2示出基于本发明的示例性实施例的存储器结构。
图3示出基于本发明的另一个示例性实施例的存储器结构。
具体实施例方式
图2示出基于本发明的示例性实施例的存储器结构200。
移动装置201具有第一主机202、第二主机203和第三主机204。根据本发明的这个示例性实施例,移动装置201是PDA(个人数字助理)、便携式计算机(膝上型电脑)或移动无线电用户终端。主机202、203、204是移动装置201的系统部件,根据本发明的这个示例性实施例是中央处理单元(CPU)、数字信号处理器或用于直接存储器存取的单元、即DMA(直接存储器存取)单元。
移动装置201还具有存储器控制单元(存储器控制器)205。存储器控制单元205通过数据总线206(相应的控制总线未示出)被耦合到在移动装置201外部的存储器208。
存储器控制单元205具有缓冲存储器(高速缓冲存储器)207。使用存储器控制单元205,主机202、203、204可以对存储器208进行存取,即可以将数据存储到存储器208中或从存储器208中读取数据。
外部存储器208例如是SRAM(静态随机存取存储器)、SDRAM(同步动态随机存取存储器)、EPROM(可擦可编程只读存储器)、或EEPROM(电可擦可编程只读存储器)。根据存储器208的改进方案,主机202、203、204可能只从存储器208中读取数据而不能将数据存储到存储器208中。
存储器控制单元205基于存储器208进行设计,并且因此,存储器控制单元205是例如用于SDRAM存储器或者闪存控制器的存取单元。
根据各自的改进方案,外部存储器208和存储器控制单元205例如通过电缆互相耦合在一起,所述电缆允许基于USB(通用串行总线)或者其他接口标准从SDRAM传送数据并将数据传送到SDRAM。
使用缓冲存储器207,主机202、203、204对存储器208进行存取的存取时间被减少。举例而言,第一主机202从存储器208中读取的数据被存储在缓冲存储器207中,以致,当主机202、203、204中的一个再次读取该数据时,对数据的存取时间明显被减少。
例如,采用回写方法或直写方法来执行主机202、203、204对被存储在缓冲存储器207中的数据的写访问。缓冲存储器207是全相联高速缓冲存储器、直接映射高速缓冲存储器或n组相联高速缓冲存储器。
例如,主机202、203、204基于片上系统(SoC)体系结构进行设计。存储器208能够存储任何数据和程序指令。举例而言,存储器208包含应用程序的程序指令和应用期间被处理的数据,而所述应用程序由主机202、203、204之一来执行。
第一主机202使用缓冲存储器207上的第一端口209来对缓冲存储器207进行存取。第二主机203使用第二端口210来对缓冲存储器207进行存取,而第三主机204使用第三端口211来对缓冲存储器207进行存取。缓冲存储器207因此具有多个端口209、210、211。
在另一个实施例中,主机202、203、204使用公共计算机总线来对缓冲存储器207进行存取,所述缓冲存储器207具有到公共计算机总线的接口。
缓冲存储器207根据存储器208以优化方式来设立,也就是说与存储器208相匹配。举例而言,根据存储器208的改进方案,存储器208中的存储行或存储器208中的存储列被缓冲存储在缓冲存储器207中。另外,当主机202、203、204之一实现对存储器208进行读访问时被存储在缓冲存储器207中的数据块的大小已经与存储器208相匹配。如果存储器208具有4个数据字的存储单元宽度,例如,当主机202、203、204之一对存储器208中的存储行进行存取时,相应地可能在缓冲存储器207中存储包含该(数据)字的整个存储行。
另外,缓冲存储器207可以根据计算机总线206来进行优化,也就是说,与计算机总线206相匹配。例如,如果总线206的总线宽度为两个数据字,则当主机202、203、204之一实现对被存储在存储器208中的数据字进行读访问时,精确地通过总线206被传送至缓冲存储器207的两个数据字是可能的,该数据字例如为被存取的数据字和存储器208中相邻的数据字。
另外,缓冲存储器207可以根据移动装置201的操作系统以优化方式来设立,并且存储器控制单元205可已经与该操作系统相匹配,这意味着,举例来说,可以避免刷新过程、即其中整个缓冲存储器207的内容被写回到存储器208的过程,以及停止过程、即其中主机202、203、204例如彼此阻塞的过程。存储器控制单元205和缓冲存储器207可已经例如与开放式操作系统、例如Linux的特定特征相匹配。
举例而言,操作系统可以具有以下特定特征,即在某些情况下促使缓冲存储器的内容或缓冲存储器的部分被写回到外部存储器,且该回写基于特定模式来实现,换句话说,例如基于存储单元的特定顺序来实现。存储器控制单元205可以基于所述操作系统特有的模式来支持该回写,以致该回写可被有效地执行。
另外,存储器控制单元205被设立来保证缓冲存储器207的一致性(高速缓冲存储器一致)。
存储器控制单元205也可以被如此设立和控制,以致,针对在移动装置201上执行的应用程序,数据吞吐率得到优化。如果移动装置201的操作系统是实时操作系统(RTOS),那么存储器控制单元205可以被如此设立,以致甚至在对存储器208进行存储器存取操作期间也维持操作系统的实时能力。另外,存储器控制单元205可以执行驱动器任务以及例如能把来自主机202、203、204的存储器存取命令转换为对存储器208的适当的指令。
很明显,存储器控制单元205在应用期间执行与对存储器208进行存取相关的多种多样的任务。
图3示出基于本发明的另一个示例性实施例的存储器结构300。
以与图2类似的方式,例如被设置在移动装置(未示出)中的存储器控制单元301被耦合到在移动装置外部的存储器302。
与上述类似的方式,存储器控制设备具有缓冲存储器303。缓冲存储器303具有多个端口304,这些端口能被用来将缓冲存储器耦合到多个主机306、307。与参照图2所描述的实施例相比,存储器控制单元具有另一端口305,该另一端口305明显地被直接耦合到存储器302,即不通过缓冲存储器303被耦合到存储器302。
举例而言,另一端口305可被用来将主机之一307耦合到存储器302,而不使用高速缓冲存储器303。例如,当主机307具有内部高速缓冲存储器或当主机307要求对存储器302进行存取的时间不必短时,这可被期望。
在另一个实施例中,通过端口304被耦合到存储器控制单元301的主机306、307另外具有专用缓冲存储器。举例来说,一个主机306、307可以是具有一级高速缓冲存储器的微处理器。
在下文中,实例被用来解释,如何通过使用如图2或图3中所示的存储器控制单元来减少对存储器进行存储器存取的存取时间。
不使用缓冲存储器,下面的简单公式用于计算针对存储器存取的存取时间,以时钟周期来表达per(没有高速缓冲存储器)=ExternalMemoryCycles其中ExternalMemoryCycles表示对存储器进行存储器存取所需的时钟周期数。
当所使用的存储器控制单元具有缓冲存储器时,例如如图2所示,下面的公式用于计算对存储器进行存储器存取期间的有效存取时间per(具有高速缓冲存储器)=命中率*1个时钟周期+(1-命中率)*ExternalMemoryCycles,其中ExternalMemoryCycles如上表示对存储器进行存储器存取所需的时钟周期数,而命中率(hit rate)表示将被存取的数据存储在缓冲存储器中的概率。在本上下文中,假设对缓冲存储器进行存取的存取时间是一个时钟周期,这在适当的缓冲存储器的情况下是可实现的。
如果假设实际的命中率是90%并且ExternalMemoryCycles=50个时钟周期,例如,就可以得到下面的值per(没有高速缓冲存储器)=50个时钟周期per(具有高速缓冲存储器)=0.9*1个时钟周期+(1-0.9)*50个时钟周期=5.9个时钟周期本文档引用了下面的公开文献[1]US 6 405 322 B1
附图标记列表100存储器结构101移动装置102外部存储器103-105主机106存储器控制单元200存储器结构201移动装置202-204主机205存储器控制单元207缓冲存储器208外部存储器209-211端口300存储器结构301存储器控制单元302外部存储器303缓冲存储器304、305端口306、307主机
权利要求
1.计算机设备,其具有多个系统部件、存储器和具有缓冲存储器的存储器控制单元,其中—所述多个系统部件中的每一个都被耦合到所述存储器,并被设立用于使用所述存储器控制单元对所述存储器进行读访问和/或写访问;—所述缓冲存储器分别具有到所述多个系统部件中的每一个的至少一个接口;—所述多个系统部件中的每一个都被设立来使用所述接口对所述缓冲存储器进行存取;以及—所述缓冲存储器被耦合到所述存储器并且被设立来缓冲存储数据,所述数据在所述多个系统部件和所述存储器之间进行数据传输期间被存储或要被存储到所述存储器中。
2.根据权利要求1所述的计算机设备,其中,所述多个系统部件通过计算机总线分别被耦合到所述存储器,并且其中,所述缓冲存储器已经与所述计算机总线相匹配。
3.根据权利要求1所述的计算机设备,其中,所述缓冲存储器已经与所述存储器相匹配。
4.根据权利要求3所述的计算机设备,其中,所述缓冲存储器已经与所述存储器的数据字长相匹配。
5.根据权利要求1所述的计算机设备,其中,所述缓冲存储器是n组相联高速缓冲存储器、全相联高速缓冲存储器或者直接映射高速缓冲存储器。
6.根据权利要求1所述的计算机设备,其中,所述存储器是SDRAM、SRAM、EPROM或者EEPROM。
7.根据权利要求1所述的计算机设备,其中,所述缓冲存储器已经与所述计算机设备的所述操作系统相匹配。
全文摘要
本发明提供一种计算机设备,该计算机设备具有对公共存储器进行存取的多个系统部件。针对存储器存取,提供了公共缓冲存储器,该公共缓冲存储器增加存取,并且能与所述存储器相匹配。
文档编号G06F12/08GK1783036SQ200510137320
公开日2006年6月7日 申请日期2005年11月15日 优先权日2004年11月15日
发明者C·米伦茨, H·-G·格鲁伯 申请人:因芬尼昂技术股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1