存储器控制器及其存取系统的制作方法
【专利摘要】本发明提供一种存储器控制器及其存取系统,其中,该存储器控制器耦接一存储装置。存储装置具有一第一区块以及一第二区块。存储器控制器包括一第一暂存模块、一第一执行单元以及一第二暂存模块。第一暂存模块包括多个设定寄存器,用以储存一第一设定档以及一第二设定档。第一执行单元同时根据第一及第二设定档,对第一区块所储存的数据进行运算,用以产生一第一运算结果以及一第二运算结果。第二暂存模块包括多个结果寄存器,用以储存该第一及第二运算结果。
【专利说明】存储器控制器及其存取系统
【技术领域】
[0001]本发明是有关于一种存储器控制器,特别是有关于一种同时根据多个指令档存取存储装置的存储器控制器。
【背景技术】
[0002]存储器与中央处理器(CPU)之间的连结以及数据的管理是通过一存储器控制器(memory controller)。在已知技术中,存储器控制器是建立在芯片组的北桥芯片上,也就是说北桥芯片是存储器与CPU之间的桥梁。不过,目前大多的存储器控制器是内建在CPU中,因此,可大幅提升CPU与存储器之间读写的速度与性能。
【发明内容】
[0003]本发明提供一种存储器控制器,其耦接一存储装置。存储装置具有一第一区块以及一第二区块。存储器控制器包括一第一暂存模块、一第一执行单兀以及一第二暂存模块。第一暂存模块包括多个设定寄存器,用以储存一第一设定档以及一第二设定档。第一执行单元同时根据第一及第二设定档,对第一区块所储存的数据进行运算,用以产生一第一运算结果以及一第二运算结果。第二暂存模块包括多个结果寄存器,用以储存该第一及第二运算结果。
[0004]本发明另提供一种存取系统,包括一存储装置以及一存储器控制器。存储装置具有一第一区块以及一第二区块。存储器控制器耦接存储装置,并包括一第一暂存模块、一第一执行单元以及一第二暂存模块。第一暂存模块包括多个设定寄存器,用以储存一第一设定档以及一第二设定档。第一执行单元同时根据第一及第二设定档,对第一区块所储存的数据进行运算,用以产生一第一运算结果以及一第二运算结果。一第二暂存模块包括多个结果寄存器,用以储存该第一及第二运算结果。
[0005]为让本发明的特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附附图,作详细说明如下:
【专利附图】
【附图说明】
[0006]图1-3为本发明的存取系统的可能实施例。
[0007]【附图标记说明】
[0008]100,200,300:存取系统;
[0009]110、210、310:存储装置;
[0010]120,220,320:存储器控制器;
[0011]111、211、311、312:区块;
[0012]121、SRl?SR4:设定寄存器;
[0013]122、RRl?RR4:结果寄存器;
[0014]123、223、323、326:执行单元;
[0015]221、222、321、322、324、325:暂存模块;
[0016]CFGl ?CFG4:设定档;
[0017]RSTl ?RST4:运算结果。
【具体实施方式】
[0018]图1为本发明的存取系统的一可能实施例。如图所不,存取系统100包括一存储装置110以及一存储器控制器120。存储器控制器120耦接存储装置110,用以存取存储装置110。在本实施例中,存储器控制器120包括一设定寄存器121、一结果寄存器122以及一执行单元123。
[0019]执行单元123根据设定寄存器121所储存的设定档CFG1,对存储装置110的区块111所储存的数据进行运算,并将运算结果RST1储存于结果寄存器122之中。然而,由于执行单元123每次仅根据一设定档搜寻区块111所储存的数据,因此,存取系统100的效率较低。
[0020]为了提闻存取效率,图2显不本发明的存取系统的另一实施例。如图所不,存取系统200包括一存储装置210以及一存储器控制器220。存储装置210储存数据。本发明并不限定存储装置210的种类。存储装置210可为非挥发性存储器或是挥发性存储器。在一可能实施例中,存储装置210为一静态随机存取存储器(SRAM)。
[0021]存储器控制器220耦接存储装置210,用以存取存储装置210所储存的数据。在本实施例中,存储器控制器220具有暂存模块221、222以及一执行单元223。执行单元223根据暂存模块221所储存的多个设定档(configure ;CFG)对存储装置210的区块211所储存的数据进行运算,用以产生多个运算结果,并将运算结果储存于暂存模块222。
[0022]在本实施例中,暂存模块221具有设定寄存器SR1及SR2,用以储存设定档CFGi及CFG2,但并非用以限制本发明。在其它实施例中,设定寄存器的数量大于2,用以储存两个以上的设定档。如图所示,设定寄存器SR1储存一设定档CFG115设定寄存器SR2储存一设定档CFG2。
[0023]暂存模块222包括结果寄存器RR1及RR2,用以储存运算结果RST1及RST2,但并非用以限制本发明。本发明并不限定结果寄存器的数量。在其它实施例中,结果寄存器的数量大于2。在一可能实施例中,暂存模块222里的结果寄存器的数量等于暂存模块221里的设定寄存器的数量。
[0024]执行单元223同时根据设定档CFGi及CFG2,对存储装置210的区块211所储存的数据进行运算,用以产生运算结果RST1及RST2,并根据设定档CFG1及CFG2,将运算结果RST1及RST2储存于相对应的寄存器之中。在本实施例中,执行单元223将运算结果RST1储存于结果寄存器RR1之中,并将运算结果RST2储存于结果寄存器RR2之中。由于执行单元223同时根据多个设定档对存储装置210所储存的数据进行运算,用以产生多个运算结果,故可大幅增加运算速度并提高存取系统200的存取效率。
[0025]本发明并不限定执行单元223的电路架构。只要能够同时根据多个设定档,对存储装置210所储存的数据进行运算或搜寻,再将多个运算结果储存于多个寄存器中的电路架构,均可作为执行单元223。在一可能实施例中,执行单元223为一封包转送弓I擎(PacketForwarding Engine ;PFE)。
[0026]在一可能实施例中,执行单元223根据设定档CFG1对区块211的数据所进行的运算不同于执行单元223根据设定档CFG1对区块211的数据所进行的运算。举例而言,执行单元223是根据设定档CFG1,搜寻区块211所储存的数据里的最大数据,并在搜寻区块211所储存的数据里的最大数据的同时,根据设定档CFG2,搜寻区块211所储存的数据里的最小数据。因此,执行单元223产生不同的运算结果RST1及RST2。
[0027]为了再提高搜寻速度,可利用不同的执行单元对存储装置里的不同区块进行搜寻。图3为本发明的存取系统的另一可能实施例。图3相似图2,不同之处在于图3的存储器控制器320更包括暂存模块324、325及执行单元326。由于暂存模块321、322、324、325、执行单元323及326的动作原理与图2的暂存模块221、222及执行单元223相同,故不再赘述。
[0028]在本实施例中,执行单元323及326是同时运作。举例而言,当执行单元323根据设定档CFG1及CFG2对区块311所储存的数据进行运算的同时,执行单元326同时根据设定档CFG3及CFG4,对区块312所储存的数据进行运算,用以产生运算结果RST3及RST4。
[0029]在一可能实施例中,执行单元326根据设定档CFG3对区块312的数据所进行的运算不同于执行单元326根据设定档CFG4对区块312的数据所进行的运算。举例而言,执行单元326根据设定档CFG3对区块312所储存的数据进行一平均运算,用以得到一平均数据,并根据设定档CFG4,搜寻区块312里的一特定数据。
[0030]在另一可能实施例中,执行单元323及326是执行相同的运算。举例而言,执行单元323及326是搜寻不同区块里的最大数据及最小数据。在其它实施例中,执行单元323根据设定档CFG1或CFG2对区块311的数据所进行的运算不同于执行单元326根据设定档CFG3或CFG4对区块312的数据所进行的运算。举例而言,执行单元323是搜寻区块311里的最大数据及最小数据,而执行单元326求得区块312的一平均数据以及一特定数据。
[0031]本发明并不限定设定寄存器的数量。在一可能实施例中,暂存模块321的设定寄存器的数量等于或不等于暂存模块324的设定寄存器的数量。在另一可能实施例中,暂存模块322的结果寄存器的数量等于或不等于暂存模块325的结果寄存器的数量。在其它实施例中,暂存模块325的结果寄存器的数量等于暂存模块324的设定寄存器的数量。
[0032]由于执行单元根据多个设定档对存储装置所储存的数据进行运算,用以产生多个运算结果,因此,大幅提高存取系统的存取速度。当多个执行单元动作时,更可提高运算速度及效率。
[0033]除非另作定义,在此所有词汇(包含技术与科学词汇)均属本发明所属【技术领域】中具有通常知识者的一般理解。此外,除非明白表示,词汇于一般字典中的定义应解释为与其相关【技术领域】的文章中意义一致,而不应解释为理想状态或过分正式的语态。
[0034]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。
【权利要求】
1.一种存储器控制器,耦接一存储装置,该存储装置具有一第一区块以及一第二区块,该存储器控制器包括: 一第一暂存模块,包括多个设定寄存器,用以储存一第一设定档以及一第二设定档; 一第一执行单元,同时根据该第一及第二设定档,对该第一区块所储存的数据进行运算,用以产生一第一运算结果以及一第二运算结果;以及 一第二暂存模块,包括多个结果寄存器,用以储存该第一及第二运算结果。
2.如权利要求1所述的存储器控制器,其特征在于,该第一执行单元根据该第一设定档对该第一区块的数据所进行的运算不同于该第一执行单元根据该第二设定档对该第一区块的数据所进行的运算。
3.如权利要求1所述的存储器控制器,其特征在于,更包括: 一第三暂存模块,包括多个设定寄存器,用以储存一第三设定档以及一第四设定档; 一第二执行单元,同时根据该第三及第四设定档,对该第二区块所储存的数据进行运算,用以产生一第三运算结果以及一第四运算结果;以及 一第四暂存模块,包括多个结果寄存器,用以储存该第三及第四运算结果。
4.如权利要求3所述的存储器控制器,其特征在于,在该第一执行单元根据该第一及第二设定档对该第一区块所储存的数据进行运算的同时,该第二执行单元同时根据该第三及第四设定档,对该第二区块所储存的数据进行运算,用以产生该第三及第四运算结果。
5.如权利要求3所述的存储器控制器,其特征在于,该第一暂存模块的该多个设定寄存器的数量等于该第三暂存模块的该多个设定寄存器的数量。
6.如权利要求3所述的存储器控制器,其特征在于,该第一暂存模块的该多个设定寄存器的数量不等于该第三暂存模块的该多个设定寄存器的数量。
7.如权利要求3所述的存储器控制器,其特征在于,该第一暂存模块的该多个设定寄存器的数量等于该第二暂存模块的该多个结果寄存器的数量。
8.如权利要求3所述的存储器控制器,其特征在于,该第三暂存模块的该多个设定寄存器的数量等于该第四暂存模块的该多个结果寄存器的数量。
9.如权利要求3所述的存储器控制器,其特征在于,该第二执行单元根据该第三设定档对该第二区块的数据所进行的运算不同于该第二执行单元根据该第四设定档对该第二区块的数据所进行的运算。
10.如权利要求9所述的存储器控制器,其特征在于,该第一执行单元根据该第一或第二设定档对该第一区块的数据所进行的运算不同于该第二执行单元根据该第三或第四设定档对该第二区块的数据所进行的运算。
11.一种存取系统,包括: 一存储装置,具有一第一区块以及一第二区块;以及 一存储器控制器,耦接该存储装置,并包括: 一第一暂存模块,包括多个设定寄存器,用以储存一第一设定档以及一第二设定档; 一第一执行单元,同时根据该第一及第二设定档,对该第一区块所储存的数据进行运算,用以产生一第一运算结果以及一第二运算结果;以及 一第二暂存模块,包括多个结果寄存器,用以储存该第一及第二运算结果。
12.如权利要求11所述的存取系统,其特征在于,该第一执行单元根据该第一设定档对该第一区块的数据所进行的运算不同于该第一执行单元根据该第二设定档对该第一区块的数据所进行的运算。
13.如权利要求11所述的存取系统,其特征在于,更包括: 一第三暂存模块,包括多个设定寄存器,用以储存一第三设定档以及一第四设定档; 一第二执行单元,同时根据该第三及第四设定档,对该第二区块所储存的数据进行运算,用以产生一第三运算结果以及一第四运算结果;以及 一第四暂存模块,包括多个结果寄存器,用以储存该第三及第四运算结果。
14.如权利要求13所述的存取系统,其特征在于,当该第一执行单元根据该第一及第二设定档对该第一区块所储存的数据进行运算的同时,该第二执行单元同时根据该第三及第四设定档,对该第二区块所储存的数据进行运算,用以产生该第三及第四运算结果。
15.如权利要求13所述的存取系统,其特征在于,该第一暂存模块的该多个设定寄存器的数量等于该第三暂存模块的该多个设定寄存器的数量。
16.如权利要求13所述的存取系统,其特征在于,该第一暂存模块的该多个设定寄存器的数量不等于该第三暂存模块的该多个设定寄存器的数量。
17.如权利要求13所述的存取系统,其特征在于,该第一暂存模块的该多个设定寄存器的数量等于该第二暂存模块的该多个结果寄存器的数量。
18.如权利要求13所述的存取系统,其特征在于,该第三暂存模块的该多个设定寄存器的数量等于该第四暂存模块的该多个结果寄存器的数量。
19.如权利要求13所述的存取系统,其特征在于,该第二执行单元根据该第三设定档对该第二区块的数据所进行的运算不同于该第二执行单元根据该第四设定档对该第二区块的数据所进行的运算。
20.如权利要求19所述的存取系统,其特征在于,该第一执行单元根据该第一或第二设定档对该第一区块的数据所进行的运算不同于该第二执行单元根据该第三或第四设定档对该第二区块的数据所进行的运算。
【文档编号】G06F3/06GK104239223SQ201410073803
【公开日】2014年12月24日 申请日期:2014年2月28日 优先权日:2013年6月20日
【发明者】钱昱玮, 林峻苇 申请人:慧荣科技股份有限公司