重排多个数据存取指令的方法与装置制造方法及图纸

技术编号:2870434 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种重排多个用来存取数据处理系统上主存储器的数据存取指令的方法与装置。该方法包含有接收多个数据存取指令以依据一第一预定顺序存取一存储装置,以及依据将存取一存储分页的第一数据存取指令排列在存取同一存储分页的第二数据存取指令之后的方式重排一指令队列所接收的数据存取指令以使其对应一第二预定顺序来提高数据存取效能。此外,若一第三数据存取指令在重排后会造成一延迟时间值超过一预定限制值,则禁止执行该重排操作。

【技术实现步骤摘要】

本专利技术涉及一种存取计算机系统的存储装置的方法与相关装置,特别涉及一种重排多个用来存取数据处理系统上存储装置的数据存取指令的方法与相关装置。
技术介绍
众所皆知,数据处理系统是用来运算、处理以及储存数据,而个人计算机系统与其相关子系统均可视为数据处理系统,请参阅图1,图1为已知计算机系统10的示意图。计算机系统10包含有一中央处理器12,一北桥电路14,一南桥电路16,一显示控制电路18,一存储装置20,一输入/输出装置22,以及一硬盘24。中央处理器12是用来控制计算机系统10的整体运作,而北桥电路14是用来协调中央处理器12与高速外围装置(例如显示控制电路18与存储装置20)之间的信号传递。显示控制电路18则是用来处理影像数据,而存储装置20是用来处理与储存数据。另外,南桥电路16是用来协调北桥电路14与低速外围装置(例如输入/输出装置22与硬盘24)之间的信号传递,而输入/输出装置22(例如一键盘)是用来接收一使用者所输入的控制信号。一般来说,硬盘24是一非挥发性数据储存装置,然而,存储装置20则为一挥发性数据储存装置。存储装置20可包含有动态随机存取存储器以暂存处理中的程序代码与数据。举例来说,原先储存于硬盘24上的程序代码与数据被加载至存储装置20中,所以中央处理器12便可更迅速地存取该程序代码,然后,中央处理器12在处理该数据后将其回存至存储装置20中。 北桥电路14中设置有一内存控制电路26,用来控制存储装置20的数据存取操作。当一主控制器(master device),例如中央处理器12或显示控制电路18,输出数据存取指令(access request)至存储装置20时,存储装置20便会根据所接收的数据存取指令将相对应数据回复予该主控制器。若内存控制电路26启动一依序存取(in-order access)的机制,则存储装置20会根据所接收的数据存取指令的顺序来逐一地将相对应数据回复予该主控制器。举例来说,显示控制电路18依据一预定顺序来发出数据读取指令(readrequest)RA1、RA2、RA3、RA4、RA5以分别撷取存储装置20上所纪录的数据D1、D2、D3、D4、D5,然而,即使内存控制电路26不依循该预定顺序而随意地执行数据读取指令RA1、RA2、RA3、RA4、RA,内存控制电路26仍需将其所接收的数据D1、D2、D3、D4、D5依照该预定顺序而回传至显示控制电路18。 请参阅图2,图2为存储装置20的第一种已知数据存取操作的示意图。举例来说,中央处理器12依序产生多个数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6以便撷取储存在存储装置20上的数据DA1、DA2、DB1、DB2、DA3、DA4、DB3、DB4、DA5、DA6,此外,假设所有数据DA1、DA2、DA3、DA4、DA5、DA6均储存在一存储分页A,以及所有数据DB1、DB2、DB3、DB4、DB5、DB6均储存在另一存储分页B。如图2所示,内存控制电路26依据数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6的顺序来执行数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6。首先,内存控制电路26执行数据读取指令RA1以撷取数据DA1,存储装置20便经由一内存总线将数据DA1传递至内存控制电路26,然后,内存控制电路26便将数据DA1传递至中央处理器12以完成对应数据读取指令RA1的数据撷取操作。既然下一数据读取指令RA2所要撷取的数据DA2亦是记录在同一存储分页A上,所以存储装置20便采用一爆发存取模式(burst mode)来存取数据DA2,因此数据DA2即可迅速地被读取,并经由内存总线传递至内存控制电路26,然后,内存控制电路26便传输数据DA2至中央处理器12以完成对应数据读取指令RA2的数据撷取操作。 然而,数据读取指令RB1是用来撷取异于存储分页A的存储分页B上所纪录的数据DB1,所以,为了存取所要的存储分页B,存储装置20需要在启动存储分页B前,先预充电(precharge)目前已开启的存储分页A,所以内存控制电路26需连续输出一控制指令PreA以预充电存储分页A,以及输出一控制指令ActB以启动所要的存储分页B。当存储分页B已成功地开启后,内存控制电路26便可开始存取存储分页B中所纪录的数据,所以数据读取指令RB1、RB2便循序地被内存控制电路26执行以撷取相对应的数据DB1、DB2。然后,存储装置20便经由内存总线提供内存控制电路26所要的数据DB1、DB2。接着,内存控制电路26便传输接收的数据DB1、DB2至中央处理器12以完成对应数据读取指令RB1、RB2的数据撷取操作。由于下一数据读取指令是撷取存储分页A上的数据,由于数据DA3是位于存储分页A上,因此控制命令PreB、ActA便会依序地输出以预充电开启中的存储分页B与启动所要的存储分页A。 上述操作程序是不断地执行以切换存储分页A与存储分页B来撷取后续的数据DA3、DA4、DB3、DB4、DA5、DA6。如上所述,当两相邻数据读取指令是用来撷取位于不同分页上的数据时,存储装置20必须耗费额外时间来进行不同分页之间的切换操作。换句话说,预充电操作与启动操作会造成存储装置20的整体效能恶化,如图2所示,内存总线上的延迟时间L1会由于预充电操作与启动操作而产生,同样地,一主机总线(host bus)上的延迟时间L2亦因为延迟时间L1施加于内存总线而随之产生。 一般而言,当一主控制器(例如中央处理器12)存取存储装置20时,前述预充电操作与启动操作会恶化数据存取操作的执行效能,所以已知重排(reordering)机制便用来减轻预充电操作与启动操作的影响程度,请参阅图3,图3为存储装置20的第二种已知数据存取操作的示意图。中央处理器12连续地产生数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6以获得存储装置20所储存的数据DA1、DA2、DB1、DB2、DA3、DA4、DB3、DB4、DA5、DA6。然后,内存控制电路26便重排所接收的数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6,所以内存控制电路26便在执行数据读取指令RB1、RB2、、RB3、RB4之前先执行数据读取指令RA1、RA2、RA3、RA4、RA5、RA6,因此可降低切换两不同存储分页所耗费的时间。如图3所示,在数据读取指令RA6成功地执行后,控制命令PreA、ActB由内存控制电路26输出以预充电存储分页A与启动存储分页B,由于仅有执行一次切换存储分页的操作,所以对内存总线来说,仅有产生一次延迟时间L1,然而,内存控制电路26必须依据原先数据读取指令RA1、RA2、RB1、RB2、RA3、RA4、RB3、RB4、RA5、RA6的接收顺序来传递所接收的数据至中央处理器12,换句话说,内存控制电路26必须依序地将数据DA1、DA2、DB1、DB2、DA3、DA4、DB3、DB4、DA5、DA6回传至中央处理器12。即便存储装置20经由爆发读取模式本文档来自技高网...

【技术保护点】
一种内存控制电路,用来存取一计算机系统的存储装置,该存储装置是电连接于该内存控制电路,该内存控制电路是依据一主控制器依序输出的数据存取指令来逐一地响应该主控制器,该内存控制电路包含有:    一指令队列,用来储存该主控制器输出的数据存取指令;    一延迟时间监控单元,电连接于该指令队列,用来记录多个延迟时间值,该多个延迟时间值是分别对应该指令队列所储存的数据存取指令;以及    一重排控制单元,电连接于该指令队列,用来依据已储存在该指令队列的数据存取指令所对应的延迟时间值控制一第一数据存取指令存入该指令队列并对应一执行优先权;    其中,该存储装置是依据该指令队列所储存的数据存取指令所对应的执行优先权而依序地被存取。

【技术特征摘要】
US 2003-1-15 60/440,0461.一种内存控制电路,用来存取一计算机系统的存储装置,该存储装置是电连接于该内存控制电路,该内存控制电路是依据一主控制器依序输出的数据存取指令来逐一地响应该主控制器,该内存控制电路包含有一指令队列,用来储存该主控制器输出的数据存取指令;一延迟时间监控单元,电连接于该指令队列,用来纪录多个延迟时间值,该多个延迟时间值是分别对应该指令队列所储存的数据存取指令;以及一重排控制单元,电连接于该指令队列,用来依据已储存在该指令队列的数据存取指令所对应的延迟时间值控制一第一数据存取指令存入该指令队列并对应一执行优先权;其中,该存储装置是依据该指令队列所储存的数据存取指令所对应的执行优先权而依序地被存取。2.如权利要求1所述的内存控制电路,其另包含有一存储分页/存储库比较单元,电连接于该重排控制单元与该指令队列,用来判断该第一数据存取指令是否用来存取该存储装置的第一存储分页,以及判断该指令队列是否已储存一第二数据存取指令与一第三数据存取指令分别用来存取该存储装置的第一分页与该存储装置的第二分页,其中,该第三数据存取指令是紧邻于该第二数据存取指令之后,且该第三数据存取指令所对应的执行优先权低于该第二数据存取指令所对应的执行优先权。3.如权利要求2所述的内存控制电路,其另包含有一延迟时间控制单元,电连接于该重排控制单元与该延迟时间监控单元,用来检测对应该第三数据存取指令的第三延迟时间值是否大于一最大可容许数值。4.如权利要求3所述的内存控制电路,其中,该最大可容许数值是可编程的。5.如权利要求2所述的内存控制电路,其中,...

【专利技术属性】
技术研发人员:林瑞霖吴胜宗蔡日兴黄祥毅张维昀刘国平何桓蓁
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1