CN1040159C - 存储控制器与数据处理系统 - Google Patents

存储控制器与数据处理系统 Download PDF

Info

Publication number
CN1040159C
CN1040159C CN92110513A CN92110513A CN1040159C CN 1040159 C CN1040159 C CN 1040159C CN 92110513 A CN92110513 A CN 92110513A CN 92110513 A CN92110513 A CN 92110513A CN 1040159 C CN1040159 C CN 1040159C
Authority
CN
China
Prior art keywords
memory
mentioned
address
memory cell
mapping
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.)
Expired - Fee Related
Application number
CN92110513A
Other languages
English (en)
Other versions
CN1071771A (zh
Inventor
藤田典生
合田光宏
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1071771A publication Critical patent/CN1071771A/zh
Application granted granted Critical
Publication of CN1040159C publication Critical patent/CN1040159C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

在存储器单元是分配给多个可交错的存储体的情况中,提供形成多个存储变换的功能,根据所述存储体的个数,所有存储体中的存储器单元是在这些存储变换中以预定的不同顺序排列的,检测包含一个或多个CPU地址的在预定范围内的一个地址区域属于多个所述存储变换的各个上的存储器单元中的哪一个,并确定所检测到的存储器单元是否是属于彼此可交错的。

Description

存储控制器与数据处理系统
本发明涉及一种数据处理系统,特别是一种既可按交错存取又可按非交错存取操作的访问动态存储器的存储控制器。
交错的存储器访问一向主要为大型计算机所采用,但也可能被个人计算机所采用以增加动态系统存储器的实际存取速度。一台个人计算机一般都有一槽,使用者可根据需要向这此槽插入存储器以及附加的存储器。可是在一台应用了交错存取方法的普通个人计算机中,如何插入存储器是有所限制的。例如,当供插入存储器的槽分成了偶存储体槽和奇存储体槽,而在插入偶存储体槽的存储器模块和插入寄存储体槽的存储器模块之间可进行交错访问的情况下,除非插入供偶存储体之用的第一槽中的存储模块与插入供奇存储体之用的第一槽中的存储模块具有相同的容量,否则交错访问是不可能的。
本发明之目的在于提供一种存储控制器和一种数据处理系统。该系统使得用户即使在任何状态下将多个存储器模块或附加存储器模块作为系统存储器插入或附加上去,交错访问也能在与这些存储器以最适当的状态插入时相同的范围内进行。
为达成上述目标,依据本发明所构造的一种存储控制器在存储单元被分配到可交错的多个存储体的情况下具有以下的功能:形成根据上述存储体数目所预先确定的不同的顺序所排布的全部存储体中的存储器单元组成的多个存储变换;检测涉及CPU地址的预定范围内的地址区域属于上述各多个存储变换的那一个存储器单元;以及确定每一个所检测的存储器单元是否属于彼此可交错的存储体。
下文中参照图例将描述本发明的一个实施例。图2表示了依据本发明的数据处理系统的一个实施例。图上可见,数据处理系统包括:微处理器(CPU)10,DMA控制器12,供存储POST(通电自测程序)/BIOS(基本输入输出系统)的只读存储器ROM16,存储控制器18,系统控制器30,数据总线缓冲器32,系统时钟脉冲发生器20,系统总线22,多个附加插件扩充槽24,存储器总线26,多个附加存储器用的存储器槽28。存储器槽28分为偶存储体28A的四个存储器槽28A-0,28A-1,28A-2,28A-3和奇存储体28B的四个存储器槽28B-0。28B-1,28B-2,28B-3。每一存储器槽中插入一个SIMM(单列直插式存储器模块)存储模块。诸SIMM分为单边与双边组合SIMM。这种情况下,有唯一的RAS(行地址选择)信号赋给SIMM的每一边。据此,SIMM的一个单边组合存储器称为一个存储器单元。
图3示例说明了SIMM是如何被插入存储器槽的。图中存储器单元0与1分别对应于存储器槽28A-0的一边和另外一边。类似地,接下来的存储器单元每一个也对应一个存储器槽的一边。在图3中,插入偶存储体28A的存储器槽28A-0(存储器单元0与1)是一个有8M字节的SIMM,这一模块在其两边分别具有4M字节的存储器模块组合而成。插入存储器槽28A-1的(存储单元2与3)是一2M字节的SIMM,它有1M字节的存储器模块分别组合在其两边。在存储器槽28A-2与28A-3(存储器单元4至7)中,没有SIMM插入。另一方面,插入奇存储器体28B的存储槽28B-0的(存储器单元8与9)是4M字节的一个SIMM,它具有只是组合在一边的4M字节的一个存储器模块。插入存储器槽28B-1(存储器单元10与11)中的为一个2M字节的SIMM,在其两边各由一个1M字节的存储器模块组合面成。在存储器槽28B-2与28B-3之中,没有SIMM插入。
图1表示存储控制器18的内部结构。图中寄存器40保存关于SIMM的插入状态的信息。更具体来说如图3所示,寄存器40保留了指明分配给存储器单元0至15的各存储模块有多大容量(大小)的信息。一个SIMM保有其自身的标识,这标识在系统接通电源时被POST(通电自测程序读出。基于这样读出的标识,图3所示的存储器插入状态信息(存储器单元的存储容量及其在每一存储体中的位置)被写到寄存器40之中。
图1中,存储变换形成器42基于寄存器40中保留的数据,视上述存储体的数目以不同的顺序,形成包含存储器单元0至15的多个存储变换。由于在本实施例中仅使用了两个存储体,故形成了两种存储变换。存储变换形成器42包括第一存储变换形成器42A与第二存储变换形成器42B。第一存储变换形成器42A,基于寄存器40中保留的数据,以存储器单元号码的升序排列偶存储体28A中的存储器单元,并且以升序排列奇存储体28B中的存储器单元号码,从而形成第一存储变换60A(参见图4)。第一存储变换形成器42B,基于寄存器40中的数据,以存储器插件号码的逆序来排列奇存储体28B中的存储器单元,又在偶存储体28A中以存储器插件号码的逆序来排列存储器单元以形成第二存储变换60B(见图4)。
存储器单元选择器44判定在涉及一个CPU地址或来自CPU10诸地址或DMA的一个地址或来自DMA控制器12的诸地址(这些地址统称为来自CPU等的地址)的预定范围内的一个地址区域在每一个存储变换60A与60B中属于那一个存储器单元,在本实施例中,上述的预定范围是一个1M的地址范围。处理1M的地址范围,即使CPU地址是从A0A31的32位宽的情形,从A0到A19的20个低位也将被忽略。存储器单元选择器44包括第一和第二存储器单元选择器44A与44B。第一存储器单元选择器44A依据第一存储变换60A指定涉及来自CPU等的一定的地址的1M地址范围的一个地址区域所属的一个存储器单元。另方面,第二存储器单元选择器44B依据第二存储变换60B指定相同的地址范围内的一个存储区域所属的一个存储器单元。
控制器46的功能在于检测由第一和第二存储器单元选择器44A及44B指定的存储器单元是否属于彼此不同的存储体;如果检测到存储器单元属于不同的存储体。则它产生一物理地址信号使得对28A及28B两个存储体可进行交错访问操作,如果检测到存储器单元属于相同的存储体,则它产生一物理地址信号使得只对两存储体28A与28B之一进行非交错访问操作。
交错访问操作以如下方式进行,它使得分别供两个存储体的16个对应存储器单元之用的总共16条RAS线咱的两条同时工作,并且使用两组供每个存储体的四条CAS线路(共8绦线路)同时工作,在一组四条CAS线中有几条同时工作,它取决于来自CPU等的地址的两个低位比特值(对应于A0及A1的字节启动线BE),BE1,BE2,及BE#)并且一组CAS线的一至四线将同时工作,另一方面,非交错访问操作是按以下方式进行的,即总共16条RAS线中仅有一条工作,又仅使该RAS线所属予的一个存储体的一组四条CAS线工作,一组四条,CAS线中有多少线同时工作取决于来自CPU等的地址的两个低位比特值(对应于A0及A1的字节启动线BE0,BE1,BE2及BE3),并且该组的一至四条线将同时工作,输入到控制器46的是来自CPU等的地址信号A11,A3,A2以及来自对应于A0与A1字节启动线的信号BE0,BE1,BE2与BE3,又基于全部这七个信号,上述的RAS/CAS线被选择(译码)。
RAS/CAS发生器48,基于状态信号(控制线的部分和CPU10的时钟信号,产生供从控制器46输出RAS/CAS信号用的定时信号,地址多路复用器50产生10-比特地址信号以响应从控制器46RAS/CAS信号的输出。包括响应RAS信号所输出的地址信号的10个比特以及响应CAS信号所输出的地址信号的10个比特共20个比特指定了1M地址范围中的一个确定的存储位置。
图5示例说明了用于第一存储变换形成器42A的逻辑电路,其中包括串行排布的加法器42A-1到42A-16。加法器42A-1把存储器单元0的地址容量(地址范围)加到第一存储变换60A的起始地址00000000Hex上而得到存储器单元1在第一存储变换60A上的起始地址。加法器42A-2把存储器单元1的地址容量加到存储器单元1的起始地址上而得到存储器单元2在第一存储变换60A上的起始地址。加法器42A-3到42A-15的功能类似。加法器42A-16把存储器单元15的地址容量加到存储器单元15的起始地址上而得到存储器单元15在第一存储变换60A上的最终地址。各存储器单元的地址容量由寄存器40提供。
图6示例说明了第二存储变换形成器42B的逻辑电路构成,其中包括串行排布的加法器42B-1到42B-16,加法器42B-1把存储器单元15的地址大小加到第二存储变换60B的起始地址上而得到存储器单元14在第二存储变换60B上的起始地址。加法器42B-2把存储器单元14的地址大小加到存储器单元14的起始地址上而得到存储器单元13在第二存储变换60B上的起始地址。加法器42B-3到42B-15的功能类似。加法器42B-16把存储器单元0的地址容量加到存储器单元0的起始地址而得到存储器单元0在第二存储变换60B上的最终地址。每一存储器单元的地址容量由寄存器40提供。
图7示例说明了第一存储器单元选择器44A的逻辑电路构成,它包括并行排布的比较器44A-0到44A-16。输入到比较器44A-n(这里n=0,1,…,15)的X与Y输入口的分别是来自CPU等的一个或多个地址以及来自第一存储变换形成器42A的第n个加法器42A-n的输出。来自上述加法器的输出表示着存储器单元n在第一存储变换60A上的起始地址。因而比较器44A-n将来自CPU等的地址(X)与存储器单元n在第一存储变换60A上的起始地址(Y)进行比较,并且,如果来自CPU等的地址(X)大于等于存储单元n关于第一存储变换60A的起始地址(Y),则由(X2=Y)端输出“真”;如果来自CPU等的地址(X)小于存储器单元n关于第一存储变换60A的地址,则由(X<Y)输出“真”。
类似地,比较器44A-(n+1)将来自CPU等的地址(X)与存储器单元(n+1)在第一存储变换60A上的起始地十进行比较,如果来自CPU等的地址(X)大于等于存储器单元(n+1)在第一存储变换60A上的起始地址(Y),则由(X>=Y)输出“真”,而当来自CPU等的地址(X)小于存储器单元n+1在第一存储变换60A上的起始地址时,则由(X<Y)输出“真”。如果比较器44A-n的(X>=Y)输出与比较器44A-(n+1)的(X<Y)输出都为真,则“与”电路54A-n使得选择存储器单元n的一条线路工作。类似地,其他比较器和“与”电路使得选择相应的存储器单元的线工作。
图8示例说明了第二存储器单元选择器44B的逻辑电路的构成,它包括并行排布的比较器44B-0到44B-16。输入到比较器44B-(n+1)X与Y输入端的分别是来自CPU等的地址和来自第二存储变换形成器42B的第(15-n)个加法器42B-(15-n)的输出。上述加法器的输出指明了存储器单元n在第二存储变换60B上的起始地址。于是,比较器44B-(n+1)将来自CPU等的地址(X)与存储器单元n在第二存储变换60B上的起始地址(Y)进行比较。如果来自CPU等的地址(X)大于等干存储器单元n在第二存储变换60B上的起始地址(Y),则由(X>=Y)输出“真”;如果来自CPU等的地址(X)小于存储单元n在第二存储变换60B上的起始地址(Y),则由(X<Y)输出“真”。
类似地,比较器44B-n将来自CPU等的地址(X)与存储器单元(n-1)在第二存储变换60B上的起始地址(Y)进行比较。如果来自CPU等的地址(X)大于等于存储器单元n-1在第二存储变换60B上的起始地址(Y),则由(X>=Y)输出“真”;以及如果来自CPU等的地址(X)小于存储器单元(n-1)在第二存储变换60B上的起始地址(Y),则由(X<Y)输出“真”。如果比较器44B-n的(X<Y)输出比较器44B-(n+1)的(X>=Y)的输出均为“真”,则“与”电路54B-n使得选择存储器单元n的线工作。类似地,其他的比较器和与电路使得选择相应的存储器单元的线工作。
图9表示了一个用以输出指示信号的交错/非交错选择电路80,该信号指明分别由第一与第二存储器单元选择器44A与44B指定的存储器单元是否属于彼此不同的存储体。电路80是在控制器46之中的。参见图9,连接到8-输入“或”电路80A-1的是来自第一存储器单元选择器44A的16条存储器单元选择线中的用于偶存储体28A的存储单元0至7的八条选择线。另一方面,连接到8-输入“或”电路80B-1的是来自第二存储器单元选择器44B的16条存储器单元选择线中用于厅存储体28B中的存储器单元8至15的八条选择线。“或”电路80A-1与80B-1的输出供给“与”电路80C的输入。当“与”电路80C的输输出为“真”时,“或”电路80A-1与或电路80B-1的输出均为“真”。这表示,包含有按照第一存储器变换60A而涉及一个CPU地址的1M地址范围中的一个地址区域(地址容量的存储器单元与包含有按照第二存储变换60B在相同地址范围内的一个地址区域是排放在图4所示物理地址变换60C上的物理地址小于00600000Hex的地址区域之中的,这是说,两个存储器单元属于彼此不同的存储体。
连接到8-输入“或”电路80A-2的是来自第一存储器单元选择器44A的16条存储器单元选择线中用于奇存储体28B中8至15存储器单元的八条选择线。另方面,连接到8-输入“或”电路80B-2的是来自第二选择线中用于偶存储体28A中的0至7存储器单元的八条选择线。来自“或”线路80A-2与80B-2的输出加到“与”线路80B的输入端。当“与”线路80D的输出为“真”时,“或”线路80A-2与“或”线路80B-2的输出均为“真”。这表示,包含有按照第存储变换60A而涉及一个CPU地址的1M范围内的地址区域(地址容量)的一个存储器单元与包含有按照第二存储变换60B在同一范围中一个地址区域的存储单元是分布在图4所示的物理地址变换60C上同一个下半物理地址区域之中的。这而是说,两个存储器单元属于彼此不同的存储体。因而“或”电路80E的输出表示了“可交错”。
图10表示一个在控制器46中的RAS生成电路90。基于来自交错/非交错选择80的一个输出,如果交错访问可行,则线路90向属于不同存储体的两个存储器单元的每一个同时输出一个RAS(行地址选通)信号;如果交错访问不可行,则仅向其中一个存储器单元,输出。
图11表示了一个多路地址表的例子。当出现在MA0到MA9这十个地址箱中用于存储器单元的信号在RAS信号的上升边被锁存时,就可以得到行地址。当这些信号在CAS信号的下降边被锁存时,就可得到地址。对于交错访问来说,在28A与38B两个存储体中的存储器单元是被同时选择的。对于交错访问,图11的表说明了来自CPU等的地址是如何被分配到偶存储体28A与奇存储体28B中的存储器单元上的。即是说,该表具体说明了来自CP等的地址是如何被分配到第一存储变换60B上的一个存储器单元上去的。根据图11上的表,如果来自CPU等的一个地址A2为0,那么第一存储变换60A上的一个存储器单元就被选择,而当A2为1时,则第二存储变换60B上的一个存储器单元就被选择。
图11的表还说明了对于非交错存取情形来自CPU等的地址是如何被分配到偶存储体28A与奇存储体28B中的存储器单元上的。即表具体表示了来自CPU等的地址是如何被分配到第一存储变换60A上与第二存储变换60B上的存储器单元上的。对于非交错访问,或是第一存储变换上的一个存储器单元,或是第二存储变换上的一个存储器单元被选择。根据图11的表,是第一存储变换60A上的一个存储器单元还是第二存储变换60B上的一个存储器单元被选择,这取决于来自CPU等的地址A11的值。若A11=0,则第一存储变换60A上的存储器单元被选择,而当A11=1,则第二存储变换60B上的一个存储器单元被选择。
根据本实施例,即使诸SIMM以任何顺序插入到偶存储体28A与奇存储体28B的存储器槽中,都可以在最大范围内对一个地址进行交错访问。而是说,本实施例的一个优点在于不论如何进行SIMM的配置插接,在偶存储体28A与奇存储体28B中较小的存储容量的两倍范围内,交错访问操作总是可以实行的。
由于DOS或OS/2分别分配到系统存储器中较高或较低的物理地址上,故在系统存储器中,操作系统一般位于较低或较高的物理地址上。本实施例中,从图4所示的物理地址变换60C明显可见,交错地址范围包含较高和较低位置。这使得用以存储象操作系统这样的频繁执行的程序的地址区域可以进行交错访问,其优点在于可以较高的速度执行程序。
在上述实施例中,形成了包含在偶存储体中按升序排布的存储器单元并且在奇存储体中按升序排布的存储器单元的第一存储变换以及包含按相对上述第一个存储变换的反序排布的存储器单元的第二存储变换。可是,应该注意的是如果存储器单元的排布在不同的存储变换之间有所变化,存储变换其他的构选方式也是允许的。但是,如果偶存储体中的存储器单元按升序排布然后奇存储体中的存储器单元再进行排布以形成第一存储变换,旦以相对于上述第一存储变换的逆序排布存储器单元以形成第二存储变换,如上所述,这样作的好处在在于,可交错地址区域在整个地址区域内可包含较高和较低位置,因而交错访问可以在存储诸如操作系统这样频繁执行的程序的地址区域中进行。
进而还应注意到的是,本发明不仅能用于两路交错访问,也可作于多于两个可交错访问的存储体。
如上所述,根据本发明,即使用户以任何方式作为系统存储器插入或添加了多个存储器模块,都可以提供一种存储控制器和一种数据处理系统,它使得可以与最适宜的状态相同的存储范围内在所插入或添加的存储模块中进行交错访问。
图1是根据本发明所构造的一个存储控制器实施例的框图。
图2框图表明了根据本发明的一个数据处理系统实施例的整体结构。
图3框图示例说明了上述实施例的存储控制器的寄存器中存留数据的内容。
图4框图示例说明了上述实施例的存储变换。
图5框图示例说明了上述实施例的存储控制器中么一存储变换形成器的构成。
图6框图示例说明了上述实施例的存储控制器中第二存储变换形成器的构成。
图7框图示例说明了上述实施例的存储控制器中第一存储器单元选择器的构成。
图8框图示例说明了上述实施例的存储控制器中第二存储器单元选择器的构成。
图9框图示例说明了上述实施例的存储控制器中一个具有交借/非交错检测功能控制部件的构成。
图10框图示例说明了上述实施例的存储控制器中一个具有RAS线选择功能控制装置部件。
图11示例说明了上述实施例的一个存储器多路地址表。
10.CPU(微处理器)
12.DMA(直接存储器存取)控制器
14.NVRAM非易失随机存储器
16.ROM只读存储器
18.Memory Contro ller存储控制器
20.System clock generator系统时钟发生器
22.System bus系统总线
24.Expansion slot扩充槽
26.Memory bus存储器总线
28.Memory存储器
28A.Even bank偶存储体
28B.Odd bank奇存储体
30.System Controller系统控制器
32.Data bus buffer数据总线缓冲器
40.Register寄存器
42.Memory map  formiry means存储变换形成器
42A.First memory map forming means第一存储变换形成器
42B.Second memory map forming means第二存储变换形成器
46.Control means控制装置
48.RAS/CAS Signal generator行/列地址选通信号发生器
50.Address signd generaator地址信号发生器
80.Inrerleave/Non-interleave electing ctrcuit交错/非交错选择电路
90.RAS generattag circuit行地址选通产生电路

Claims (8)

1.一种存储控制器,它响应来自CPU或DMA控制器的地址以产生指定多个存储器单元中的一个中的存储位置物理地址信号,这些存储单元是配置在多个可交错存储体中的多个存储器单元中的,上述存储控制器具有如下特征:
用于确定与上述存储体同样多的多个存储变换的变换装置,每一存储变换为上述多个存储器单元指明了相继地址空间,这些多存储器单元在每一存储变换中以不同的预定顺序逻辑排列;
与上述变换装置相连接并适于接收上述地址以根据每一存储变换而选择具有指定地址空间的一个存储单元的装置,包括上述地址的一个一定容量的地址范围属于这一地址空间,因而该装置也就在上述多个存储变换选择了全部多个存储器单元;以及
与上述选择装置相连接并适于接收上述地址,在交错访问方式或非交错访问方式中用以提供上述物理地址信号的装置,是以交错还是非交错访问方式这取决于上述被选择的多个存储器单元是否属于彼此不同的存储体。
2.基于权利要求1的存储控制器,其特征在于上述可交错的多个存储体为两个存储体且上述存储变换装置确定了第一与第二存储变换,上述第一存储变换为上述存储器单元标明了相继的地址空间,这些存储单元是按如下预定的顺序进行逻辑排列的,即上述第一存储体中的存储器单元与上述第二存储体中的存储器单元是相继排布的;又上述第二变换为按与上述预定顺序的逆序排布上述存储器单元标明了相继的地址空间。
3.一个存储控制器,它响应来自CPU或DMA控制器的地址以产生指定多个存储器单元中之一的存储位置的物理地址信号,这些存储器单元是配置在可交错的多个存储体的,上述存储控制器具有如下特征:
寄存器装置,用以存储指明每一存储器单元地址容量与每一存储器单元在上述存储体中的位置的存储器配置数据;
变换装置,与上述寄存器相连接,基于上述存储器配置数据以定义与上述存储体同样多的多个存储变换,每一存储变换为上述多存储器单元指明了相继的地址空间,存储器单元按每一存储变换中不同的预定顺序进行逻辑排布;
与上述变换装置相连接并适于接收上述地址的存储器单元选择器,用以将上述地址与上述每一存储变换相比较,在每一存储变换中选择出具有包含上述地址的固定大小的地址范围属于其中的指定地址空间的存储器单元,因而在上述多存储变换中选择出了全部多个存储器单元;以及
与上述存储器单元选择器相连接且适于接收上述地址的控制装置,用来视上述被选择的多个存储器单元是否属于互不相同的存储体而选取交错访问方式或非交错访问方式,并用来在选出的存取方式中提供上述物理地址信号。
4.基于权利要求3的一种存储控制器,其特征为上述可交错多存储体个数为两个:
上述变换装置包括第一变换器用以定义第一存储变换;该变换为上述存储器单元指明了相继地址空间,这些存储器单元按如下预定的顺序进行逻辑排布,即在上述第一存储体中的存储器单元与在上述第二存储体中的存储器单元是顺序排布的;其第二变换器用以定义第二变换,该变换为按上述预定顺序的逆序进行逻辑排布的存储器单元指明了相继的地址空间。
上述存储器单元选择器包括第一存储器单元选择器,其于上述第一存储变换用于选择具有指定地址空间的存储单元,该地址空间包括含有上述地址的固定容量的一个地址范围;第二存储单元选择器,基于上述第二存储变换,用于选择具有指地址空间的存储单元,该地址空间包括含有上述地址的固定容量的一个地址范围;以及
上述控制装置,视上述两个被选出的存储器单元是否分属上述两个存储体,而选择交错存取方式或非交错存取方式。
5.一种数据处理系统,包括一个CPU,一个DMA控制器,具有一个或多个装置在可交错的多个存储体中的存储器单元的存储器,一个用于控制对上述存储器访问的存储控制器,以及
总线装置,用以将上述CPU及上述DMA控制器连接到上述存储控制器,以便将来自上述CPU或上述DMA控制器的地址传送到上述存储控制器上,其特征在于所述的存储器控制器包括:
用于定义与上述存储体同样多的多个存储变换的装置,每一存储变换为上述多存储器单元指明了相继的地址空间,上述多个存储器单元是按每一存储变换不同的预定顺序进行逻辑排布的;与上述定义装置相连接,根据每一存储变换选取包含具有指定地址空间的一个存储器单元的装置,属于该地址空间的是包含有上地址的一个固定容量的地址范围,因而也就在上述上述多个存储变换中选择了全部多个存储器单元;根据与上述选取装置相连接,所选择出的上述多个存储器单元是否分属彼此不同的存储体,对于上述存储器以交错还是非交错访问方式进行访问的装置。
6.基于权利要求5的数据处理系统,其特征在于上述可交错的多个存储体为两存储体以及上述多个存储变换为第一与第二存储变换,上述第一存储变换为以下述预定顺序逻辑排布的存储器单元指明了相继的地址空间,该预定顺序是指在第一存储体中的存储器单元以及在第二存储体中的存储器单元是相继排布的;又上述第二变换为按上述预定顺序的逆序进行逻辑排布的上述存储器单元指明了相继的地址空间。
7.基于权利要求5的数据处理系统,其特征在于上述存储控制器包括:
用于存储指明在上述存储体中每一存储器单元的地址容量和每一存储器单元的位置的寄存器装置;
与上述寄存器装置相连接,其于上述存储器配置数据用以定义与上述存储体个数相同的多个存储变换的变换装置,每一存储变换为以预定顺序逻辑排布的多个存储器单元指明了相继的地址空间,该预定顺序在每一存储变换中是不同的。
与上述变换装置相连接并适于接收上述地址的存储器单元选择装置,用以比较上述地址与上述每一存储变换,为每一个存储变换选择具有指定地址空间的一个存储器单元,包含上述地址的一个固定容量的地址范围属于该地址空间,因而也就在上述多个存储变换中检测了全部多个存储器单元;以及
与上述存储器单元选择装置相连接而适于接收上述地址的控制装置,用以依据上述所选出的多个存储器单元是否分属彼此不同的存储体而选择交错或非交错访问方式;又用以对选定的方式为存储器访问提供物理地址信号。
8.基于权利要求7的数据处理系统,其特征在于:
上述的可交错的多个存储体为两个存储体;
上述变换装置包括用于定义第一存储变换的第一变换装置,该第一变换为按预定顺序逻辑排布存储器单元指明相继的地址空间,预定顺序就是第一存储体中的存储器单元与第二存储体中的存储器单元的顺序排列;用于定义第二存储变换的第二变换装置,该第二变换为按上述预定顺序之逆序逻辑排布的存储器单元指明了相继的地址空间;
上述存储器单元选择装置包括第一存储器单元选择装置用以基于上述第一存储变换选择具有指定地址空间的一个存储器单元,包括上述地址的一固定容量的地址范围属于该地址空间,第二存储器单元选择装置基于上述第二存储变换选择一个具有指定地址空间的存储器单元,包括上述地址的一个固定容量的地址范围属于该地址空间;以及
上述控制装置取决于上述被选定的两个存储器单元是否分属于上述两个存储体选择交错或非交错访问方式。
CN92110513A 1991-10-11 1992-09-11 存储控制器与数据处理系统 Expired - Fee Related CN1040159C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP290408/91 1991-10-11
JP3290408A JPH0823843B2 (ja) 1991-10-11 1991-10-11 メモリ・コントローラ、及びデータ処理システム

Publications (2)

Publication Number Publication Date
CN1071771A CN1071771A (zh) 1993-05-05
CN1040159C true CN1040159C (zh) 1998-10-07

Family

ID=17755633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN92110513A Expired - Fee Related CN1040159C (zh) 1991-10-11 1992-09-11 存储控制器与数据处理系统

Country Status (8)

Country Link
EP (1) EP0540198A1 (zh)
JP (1) JPH0823843B2 (zh)
KR (1) KR950014176B1 (zh)
CN (1) CN1040159C (zh)
BR (1) BR9203840A (zh)
CA (1) CA2079353A1 (zh)
SG (1) SG52203A1 (zh)
TW (1) TW200577B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619471A (en) * 1995-06-06 1997-04-08 Apple Computer, Inc. Memory controller for both interleaved and non-interleaved memory
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
CN100405326C (zh) * 1997-07-24 2008-07-23 自由度半导体公司 访问存储器的方法以及数据处理系统
US6629219B1 (en) * 2000-03-31 2003-09-30 Intel Corporation Method and apparatus for providing highly programmable memory mapping and improved interleaving
US7519693B2 (en) * 2004-11-18 2009-04-14 International Business Machines Corporation Apparatus, system, and method for integrating an enclosure
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
JP2016218721A (ja) 2015-05-20 2016-12-22 ソニー株式会社 メモリ制御回路およびメモリ制御方法
US10303398B2 (en) * 2017-10-26 2019-05-28 Advanced Micro Devices, Inc. Swizzling in 3D stacked memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262862A (ja) * 1985-11-28 1986-11-20 Nec Corp 主記憶装置
EP0394436A1 (en) * 1988-10-27 1990-10-31 Unisys Corp AUTOMATICALLY VARIABLE MEMORY NESTING SYSTEM.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149249A (ja) * 1984-08-17 1986-03-11 Fujitsu Ltd 記憶装置のインタリ−ブ制御方式
TWM286903U (en) * 2005-01-25 2006-02-01 Shu-Shiung Guo Jewelry lamp

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262862A (ja) * 1985-11-28 1986-11-20 Nec Corp 主記憶装置
EP0394436A1 (en) * 1988-10-27 1990-10-31 Unisys Corp AUTOMATICALLY VARIABLE MEMORY NESTING SYSTEM.

Also Published As

Publication number Publication date
EP0540198A1 (en) 1993-05-05
TW200577B (zh) 1993-02-21
CA2079353A1 (en) 1993-04-12
BR9203840A (pt) 1993-05-04
KR950014176B1 (ko) 1995-11-22
CN1071771A (zh) 1993-05-05
JPH05134923A (ja) 1993-06-01
KR930008639A (ko) 1993-05-21
SG52203A1 (en) 1998-09-28
JPH0823843B2 (ja) 1996-03-06

Similar Documents

Publication Publication Date Title
US5341486A (en) Automatically variable memory interleaving system
JP3599352B2 (ja) フレキシブルなn−ウェイ・メモリ・インターリーブ方式
US6192487B1 (en) Method and system for remapping physical memory
US5619471A (en) Memory controller for both interleaved and non-interleaved memory
US6397290B1 (en) Reconfigurable memory with selectable error correction storage
US5924111A (en) Method and system for interleaving data in multiple memory bank partitions
US6430672B1 (en) Method for performing address mapping using two lookup tables
WO1990001740A1 (en) Dynamic address mapping for conflict-free vector access
CN1040159C (zh) 存储控制器与数据处理系统
US6745291B1 (en) High speed LRU line replacement system for cache memories
JP2584755B2 (ja) 大容量メモリおよび該大容量メモリを具備するマルチプロセツサシステム
US4800535A (en) Interleaved memory addressing system and method using a parity signal
KR920001281B1 (ko) 정보처리장치
CN1758208A (zh) 对挂接在片外单总线上的多种存储器进行访问的方法
CN100422955C (zh) 半导体存储器装置和控制器及其读写控制方法
EP1481319B1 (en) Method and apparatus for parallel access to multiple memory modules
JPH0438014B2 (zh)
US5504871A (en) Memory controller having bus master for addressing instruction memories
US5241665A (en) Memory bank comparator system
JPH06309223A (ja) メモリインタリーブ機能を持つ記憶装置
JPH0981453A (ja) メモリ制御方法及びその実施装置
EP0473274B1 (en) Memory bank comparator system
EP4150467B1 (en) Two-way interleaving in a three-rank environment
JPH0244445A (ja) データ処理装置
US7707370B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee