处理器及存取存储器的方法

文档序号:9810463阅读:343来源:国知局
处理器及存取存储器的方法
【技术领域】
[0001]本发明系有关于处理器,尤指一种处理器存取一外部存储器的方法。
【背景技术】
[0002]处理器在执行操作时,内部会有多个电路模块需要自动态随机存取存储器(Dynamic Random-Access Memory, DRAM))中读取数据,或是将数据写入到DRAM中,因此,这些电路模块会分别发送多个读取/写入指令到一 DRAM控制器中,以要求进行读取/写入DRAM的操作。
[0003]然而,由于处理器在发送这些读取/写入指令到DRAM控制器时,通常并不会对这些读取/写入指令在处理器端做有利于DRAM传输协议之排序(DRAM-aware protocolscheduling)的工作,因此,会造成后端DRAM控制器的负担增加,且在数据的存取上也比较没有效率并增加存取反应时间。

【发明内容】

[0004]因此,本发明的目的之一在于提供一种处理器及其存取存储器的方法,其可以透过仲裁器来安排多个读取/写入指令传送到一存储器控制器的顺序,以解决先前技术的问题。
[0005]依据本发明一实施例,一种处理器包含了多个储存模块以及一仲裁器,其中该多个储存模块分别用以储存并同时发送多个读取/写入指令,且该多个读取/写入指令系用来要求读取/写入位于该处理器外部的一存储器;以及该仲裁器系耦接于该多个储存模块,且用以接收来自该多个储存模块之该多个读取/写入指令,并安排该多个读取/写入指令传送到一存储器控制器的顺序。
[0006]依据本发明另一实施例,一种存取一存储器的方法,包含有:接收分别来自多个储存模块之多个读取/写入指令,其中该多个读取/写入指令系用来要求读取/写入该一存储器;以及安排该多个读取/写入指令传送到一存储器控制器的顺序。
【附图说明】
[0007]图1为依据本发明一实施例之处理器的示意图。
[0008]图2为依据本发明另一实施例之处理器的示意图。
[0009]图3为读取/写入指令中有关于存取存储器中的实体地址的示意图。
[0010]图4为依据本发明一实施例之仲裁电路的示意图。
[0011]图5为依据本发明一实施例之第一级仲裁电路与第二级仲裁电路的操作示意图。
[0012]图6为依据本发明一实施例之有关于处理器的硬件设计流程图。
[0013]图7为依据本发明另一实施例之有关于处理器的硬件设计流程图。
[0014][图的符号的简单说明]:
[0015]100 处理器
[0016]102周边组件
[0017]104存储器控制器
[0018]106存储器
[0019]110仲裁器
[0020]120接口电路
[0021]130LI指令高速缓存
[0022]131储存缓冲器
[0023]132转换后备缓冲器
[0024]133LI数据高速缓存
[0025]134写入缓冲器
[0026]135L2高速缓存
[0027]140区块信息
【具体实施方式】
[0028]在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及后续的申请专利范围并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”系为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接” 一词在此系包含任何直接及间接的电气连接手段,因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或者透过其它装置或连接手段间接地电气连接至该第二装置。
[0029]请参考图1,图1为依据本发明一实施例之处理器100的示意图。如图1所示,处理器100包含了多个储存模块、仲裁器110以及(总线)接口电路120,其中该多个储存模块至少包含了 LI指令高速缓存130、储存缓冲器131、转换后备缓冲器(Translat1nLookaside Buffers,TLB) 132,LI数据高速缓存133、写入缓冲器134、L2高速缓存135…等等。在本实施例中,处理器100与部分周边组件102可以透过存储器控制器104来对存储器106进行存取(即读取/写入存储器106),亦即,处理器100与部分周边组件102会传送多个读取/写入指令至存储器控制器104,且存储器控制器104会再根据这些读取/写入指令来读取/写入存储器106,其中周边组件102可以是透过直接存储器存取引擎(DirectMemory Access engine, DMA engine)、快速周边组件互连协议(Peripheral ComponentInterconnect Express, PCIE)、及 / 或通用序列总线(Universal Serial Bus, USB)或是其它接口来存取存储器106的任何周边装置。在本实施例中,处理器100可以是中央处理器(Central Processing Unit, CPU)或是图形处理器(Graphics Processing Unit, GPU)等相关的处理器。此外,需注意的是,图1所示的处理器100仅绘示出与本发明较相关的部分,本领域具有通常知识者应能了解处理器100中尚具有其它必要的电路模块。
[0030]在本实施例中,存储器控制器104为一DRAM控制器或是一同步动态随机存取存储器(Synchronous Dynamic Random-Access Memory, SDRAM)控制器,而存储器 106 则为一DRAM 或是 SDRAM。
[0031]在图1所示的处理器100中,LI指令高速缓存130、储存缓冲器131、转换后备缓冲器132、LI数据高速缓存133、写入缓冲器134、L2高速缓存135等储存模块均是用来储存读取/写入指令,其中这些读取/写入指令系用来要求读取/写存储器106。仲裁器110接着会接收来自这些储存模块的多个读取/写入指令,并安排这些读取/写入指令传送到存储器控制器104的顺序。进一步来说,仲裁器110会根据已经传送至存储器控制器104之读取/写入指令所读取/写入之存储器106的区块地址(bank address),例如图1所示的区块信息140,以安排这些读取/写入指令传送到存储器控制器104的顺序,以避免区块冲突(bank conflict)的情形发生。
[0032]详细来说,在DRAM的存取上,当连续的两笔存取指令需要存取同一个区块(bank)中的不同数据页(page)时,通常会需要较长的等待时间,亦即在第一笔存取指令的操作完成之后,存储器控制器104会先关闭区块中目前开启的数据页,之后才能开启第二笔存取指令所需要存取的数据页,之后再传送读取/写入指令到存储器106进行存取操作,此外,上述这些开启数据页、关闭数据页、传送读取/写入指令彼此之间需要一定长度的等待时间,而这些等待时间的规定可参考SDRAM相关的规格书JESD79F、JESD79-2C、JESD79-3D等等,在此不予赘述。如上所述,由于当连续的两笔存取指令需要存取同一个区块中的不同数据页时会需要较长的存取时间,因而降低了存储器控制器104的使用效率,因此,在本实施例中,处理器100另具有一先进先出缓存器(First In First Out,FIFO),用以储存已经传送至存储器控制器104之读取/写入指令所读取/写入之该存储器的区块地址,而仲裁器110会根据该先进先出缓存器所储存的区块地址,优先传送所读取/写入之区块地址与该先进先出缓存器中所储存之区块地址不相同的读取/写入指令至存储器控制器104。举例来说,假设该先进先出缓存器目前储存了存储器106的第一个区块(亦即表示了先前传送至存储器控制器104的存取指令需要存取第一个区块中的数据页),则仲裁器110会优先传送LI指令高速缓存130、储存缓冲器131、转换后备缓冲器132、L1数据高速缓存133、写入缓冲器134、L2高速缓存135等储存模块中需要存取其它区块的存取指令至存储器控制器104中,如此一来,就可以避免区块冲突的情形发生,以增加存储器控制器104的使用效率。
[0033]另外,在本发明的另一实施例中,仲裁器110可以是多级的仲裁器(mult1-stagearbiter),详细架构请参考图2,图2为依据本发明另一实施例之处理器200的示意图。如图2所示,处理器200包含了多个储存模块、仲裁器以及接口电路220,其中该多个储存模块至少包含了 LI指令高速缓存230、储存缓冲器231、转换后备缓冲器(TLB) 232、LI数据高速缓存233、写入缓冲器234
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1