存储器访问控制模块以及相关方法

文档序号:8417536阅读:501来源:国知局
存储器访问控制模块以及相关方法
【技术领域】
[0001]许多计算系统可以包括操作在不同的时钟频率上并且具有不同的数据总线位大小的组件和/或子系统。例如,计算系统可以包括操作在比系统总线主控器(master)更高的时钟频率处的处理器。并且,相同的计算系统可以具有如下系统总线,该系统总线具有比其处理器总线更大的位大小。在该示例计算系统中,连接到系统总线的处理器和组件两者将需要访问一定量的计算机存储器(memory,或内存)。由于在时钟频率和总线大小上的差异,处理器和系统总线主控器可能需要根据其各自的时钟频率和总线大小而操作的不同的计算机存储器。但是,使用根据不同的时钟频率和总线大小而操作的多存储器器件对计算系统增加费用和复杂性。因此,所感兴趣的是,处理器和系统总线主控器两者不论其在时钟频率和总线大小上的差异,都能够使用共同共享的存储器器件。在该上下文中产生本发明。

【发明内容】

[0002]在一实施例中,公开了存储器访问控制模块。该存储器访问控制模块包括:第一数据接口,用于根据第一数据总线位大小和第一时钟频率向第一数据通信总线和从第一数据通信总线进行数据传输。该存储器访问控制模块还包括多个仲裁模块,被连接以根据该第一数据总线位大小和该第一时钟频率与该第一数据接口进行数据通信。存储器访问控制模块还包括:多个存储器区(bank),被连接以根据该第一数据总线位大小和该第一时钟频率与该多个仲裁模块进行数据通信,使得该多个存储器区的每一个被连接以与该多个仲裁模块中的不同的一个仲裁模块进行数据通信。存储器访问控制模块还包括,第二数据接口,用于根据第二数据总线位大小和第二时钟频率向第二数据通信总线和从第二数据通信总线进行数据传输。该第二数据总线位大小是该第一数据总线位大小的整数倍。该第一时钟频率是该第二时钟频率的整数倍。存储器访问控制模块还包括:分道器(channelizer)模块,被连接以根据该第二数据总线位大小和该第二时钟频率与该第二数据接口进行数据通信。该分道器模块还被连接以根据该第一数据总线位大小和第一时钟频率与该多个仲裁模块进行数据通信。该分道器模块定义为,在储存操作期间将从该第二数据接口接收的数据从该第二数据总线位大小分割为该第一数据总线位大小的多个数据段。分道器模块还被定义为,在该储存操作期间根据该第一时钟频率将该第一数据总线位大小的数据段经由该多个仲裁模块中的相应的那些沿各自的数据通道发送到该多个存储器区中的寻址的那些存储器区。分道器模块还被定义为,在加载操作期间根据该第一数据总线位大小和第一时钟频率从该多个存储器区中的寻址的那些存储器区经由该多个仲裁模块中的相应的那些接收数据。分道器模块还被定义为,将在该加载操作期间从该多个存储器区接收的数据组合为该第二数据总线位大小并根据该第二时钟频率将该第二数据总线位大小的组合的数据发送到该第二数据接口。
[0003]在另一实施例中,公开了一种用于控制对存储器的访问的方法。该方法包括:根据第一数据总线位大小和第一时钟频率从第一数据接口接收第一存储器访问请求。该方法还包括:根据该第一数据总线位大小和该第一时钟频率将该第一存储器访问请求发送到对由该第一存储器访问请求寻址的存储器区负责的仲裁模块。该方法还包括:根据第二数据总线位大小和第二时钟频率从第二数据接口接收第二存储器访问请求。该第二存储器访问请求是数据储存请求。该第二数据总线位大小是该第一数据总线位大小的整数倍。该第一时钟频率是该第二时钟频率的整数倍。该方法还包括,将该第二数据总线位大小的第二存储器访问请求分割为该第一数据总线位大小的数据段。该方法还包括:根据第一时钟频率将该第一数据总线位大小的每一个数据段发送到对由该第一数据总线位大小的数据段寻址的存储器区负责的仲裁模块。
[0004]本发明的其它方面和优点将从结合附图的下述具体的描述中变得更加清晰,该附图以示例的方式描述本发明。
【附图说明】
[0005]图1示出了根据本发明的一个实施例的计算系统。
[0006]图2示出了根据本发明的一个实施例的计算系统,其中实现存储器访问控制模块以控制由作为第一存储器访问器的计算机处理器并且由作为第二存储器访问器的系统总线主控器对多个存储器区的访问。
[0007]图3示出了根据本发明的一个实施例的具有更详细的存储器访问控制模块的示意图的图1和2的计算系统。
[0008]图4A示出了根据本发明的一个实施例的用于在储存操作期间操作存储器访问控制模块以控制对存储器的访问的方法的流程图。
[0009]图4B示出了根据本发明的一个实施例的接续图4A的用于在加载操作期间操作存储器访问控制模块的方法的流程图。
【具体实施方式】
[0010]在下述说明中,列出多个具体的细节以便提供对本发明透彻的理解。但是,对本领域的技术人员来说应当清楚,可以不需要这些具体的细节中的一些或者全部而实施本发明。在其它情况中,没有详细地描述了已知的处理操作从而不会与本发明不必要地混淆。
[0011]图1示出了根据本发明的一个实施例的计算系统100。计算系统100包括多个存储器区109A-109D和多个存储器访问器101、103。存储器访问器101、103可以是任何类型的计算组件,诸如而不限于,计算机处理器、系统总线主控器、或者需要访问计算机存储器的另外的计算组件。在一实施例中,第一存储器访问器101被定义为计算机处理器,并且第二存储器访问器103被定义为系统总线主控器103,通过该总线主控103,其它计算组件可以访问多个存储器区109A-109D。尽管图1以示例的方式示出了四个存储器区109A-109D,但应理解的是,其它实施例本质上可以实现任何数量的存储器区。在一实施例中,存储器区109A-109D的每一个被定义为静态随机访问存储器(SRAM)。但是,应理解的是,在其它实施例中,存储器区109A-109D可以被定义为任何类型的计算机存储、或者计算机存储器类型的任何组合。此外,通过多个存储器区109A-109D,每一个存储器区109A-109D被配置为包括整体可寻址的存储器空间的不同的部分。
[0012]对多个存储器区109A-109D的每一个的访问由多个仲裁模块107A-107D的相应的一个来控制。如图1所示,每一个仲裁模块107A-107D与存储器区109A-109D的相应的一个进行双向数据通信,如箭头113A-113D所表示。在数据储存操作、即数据写入操作期间,仲裁模块 107A-107D 将传送(communicate)数据储存指令(data store instruct1n)以及将要储存到其存储器区109A-109D的数据。在数据加载操作、即数据读取操作期间,仲裁模块107A-107D将会将数据加载指令传送到其存储器区109A-109D并接收所请求的数据。
[0013]每一个仲裁模块107A-107D被定义为分别控制对其存储器区109A-109D的访问,使得在给定时间时对其存储器区的多个访问请求被保持在对特定的存储器区的可允许的规格内。例如,如果存储器区109A-109D被定义为一次处理一个访问请求,则用于存储器区109A-109D的仲裁模块107A-107D将操作以确保存储器区109A-109D—次仅被分派一个访问请求的任务。在存储器区109A-109D繁忙时到达仲裁模块107A-107D处的任何额外的访问请求将被仲裁模块107A-107D保留直到存储器区109A-109D可用以处理下一个存储器访问请求。
[0014]第一存储器访问器101被连接以与仲裁模块107A-107D的每一个通信,如箭头111所示。箭头111对应于第一数据通信总线111。以此方式,第一存储器访问器101能够将存储器访问请求发送到特定的仲裁模块107A-107D,该特定的仲裁模块107A-107D对包括目标存储器地址的存储器区109A-109D负责。在图1的示例实施例中,第一存储器访问器101、仲裁模块107A-107D的每一个以及存储器区109A-109D的每一个被定义为根据具有第一时钟频率clkl的第一时钟并根据第一数据总线位大小bsl而相互通信数据。
[0015]第二存储器访问器103被定义为根据具有第二时钟频率clk2的第二时钟并根据第二数据总线位大小bs2操作。因此,在时钟频率和数据总线位大小的方面,第二存储器访问器103具有不同于多个仲裁模块107A-107D的数据接口
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1