CN100549983C - 一种读取数据的方法及装置 - Google Patents

一种读取数据的方法及装置 Download PDF

Info

Publication number
CN100549983C
CN100549983C CNB2007100646659A CN200710064665A CN100549983C CN 100549983 C CN100549983 C CN 100549983C CN B2007100646659 A CNB2007100646659 A CN B2007100646659A CN 200710064665 A CN200710064665 A CN 200710064665A CN 100549983 C CN100549983 C CN 100549983C
Authority
CN
China
Prior art keywords
data
advance
address
read
buffer unit
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
CNB2007100646659A
Other languages
English (en)
Other versions
CN101021816A (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.)
Wuxi Vimicro Corp
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Priority to CNB2007100646659A priority Critical patent/CN100549983C/zh
Publication of CN101021816A publication Critical patent/CN101021816A/zh
Application granted granted Critical
Publication of CN100549983C publication Critical patent/CN100549983C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Dram (AREA)

Abstract

本发明公开了一种读取数据的方法及装置,用以解决现有技术CPU对SDRAM进行连续地址单字或单字节读取数据的操作效率低的问题。本发明方法,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,从所述同步动态随机存储器中预先读取一段连续地址的数据,并保存该数据以及该数据的地址,该方法包括步骤:根据所述中央处理器需要读取的数据地址,将预先存储的数据返回给所述中央处理器。本发明还公开了一种读取数据的装置。本发明用于CPU以单字或单字节方式从SDRAM中读取一段连续地址数据,提高读取数据的效率。

Description

一种读取数据的方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种读取数据的方法及装置。
背景技术
随着移动设备的发展,同步动态随机存储器(SDRAM,SynchronousDynamic random access memory)作为一种大容量、低价格、高速度的存储设备得到了广泛应用。
中央处理器(CPU,Center Process Unit)访问SDRAM的方式包括两种,一种是一次读/写单字或单字节数据(Single方式),另外一种是一次读/写一段连续地址的多字或多字节数据(burst方式),不论是single方式还是burst方式,访问过程都分为行激活(Row Active)、读/写SDRAM、行关闭(Precharge)三个具体过程,当进行读操作时,发出读命令后还要经过一定延迟时间(tCAS)才能得到读出的数据,因此,完成一次读操作的延迟时间为行激活(tRCD)时间与读延迟(tCAS)时间的总和。
CPU在某些情况下会对SDRAM进行连续地址单字或单字节读取数据的操作,例如,中央处理器对一块区域的数据进行搬移,这时每一次的SDRAM访问都是单字或单字节的读操作,因此,每次都要等待(tRCD+tCAS)的延迟时间,效率很低。
综上,现有技术CPU对SDRAM进行连续地址单字或单字节读取数据的操作效率低。
发明内容
本发明提供一种读取数据的方法及装置,用以解决现有技术CPU对SDRAM进行连续地址单字或单字节读取数据的操作效率低的问题。
本发明提供的一种读取数据的方法,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址保存在第一预读缓存单元中,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,该方法包括以下步骤:
根据所述中央处理器需要读取的数据地址,将预先存储在所述第一预读缓存单元中的数据返回给所述中央处理器;
并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;
当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址。
根据中央处理器需要读取的数据地址,当预先保存在所述第一预读缓存单元中的地址与该地址相同时,将预先存储在所述第一预读缓存单元中的与该地址对应的数据返回给所述中央处理器。
将预先存储的与该地址对应的数据返回给所述中央处理器的步骤之前,还包括判断所述地址对应的数据是否有效的步骤,当所述地址对应的数据有效时,将预先存储的与该地址对应的数据返回给所述中央处理器。
当所述中央处理器向所述同步动态随机存储器中写数据时,并且当预先保存在所述第一预读缓存单元或第二预读缓存单元中的地址为该数据的地址时,将预先存储在所述第一预读缓存单元或第二预读缓存单元中的与该地址对应的数据设置为无效数据。
本发明提供的一种读取数据的装置,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,该装置包括:
控制单元,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址保存在第一预读缓存单元中,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,根据所述中央处理器需要读取的数据地址,将预先存储在所述第一预读缓存单元中的数据返回给所述中央处理器;并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据段,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址。
所述控制单元包括:
数据读取单元,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址发送给第一预读缓存单元,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址;
判断单元,用于根据中央处理器需要读取的数据地址,判断预先保存在第一预读缓存单元中的地址中是否为该地址,如果是,则触发数据发送单元;
数据发送单元,用于根据所述判断单元的触发,将预先存储在所述第一预读缓存单元中的与所述中央处理器需要读取的数据地址对应的数据返回给所述中央处理器。
所述判断单元包括:
第一判断单元,用于根据中央处理器需要读取的数据地址,判断预先保存在第一预读缓存单元中的地址中是否为该地址,如果是,则触发第二判断单元;
第二判断单元,用于判断所述第一预读缓存单元中与所述中央处理器需要读取的数据地址对应的数据是否有效,如果是,则触发所述数据发送单元。
该装置还包括:
设置单元,用于当所述中央处理器向所述同步动态随机存储器中写入的数据的地址保存在所述第一预读缓存单元中或第二预读缓存单元中时,将所述第一预读缓存单元中或第二预读缓存单元中保存的与该地址对应的数据设置为无效数据。
本发明应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址保存在第一预读缓存单元中,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,根据所述中央处理器需要读取的数据地址,将预先存储在所述第一预读缓存单元中的数据返回给所述中央处理器;并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址。通过该技术方案,CPU只需从第一预读缓存单元中读取数据,从而大幅度地提高了CPU以单字或单字节方式从SDRAM中读取一段连续地址的数据的工作效率,并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中,不仅保证了同步动态随机存储器的正常工作,而且还提高了从同步动态随机存储器中预读数据的效率。
附图说明
图1为本发明方法的流程示意图;
图2-A为本发明方法实施例中预读缓存单元的结构示意图;
图2-B为本发明方法实施例的流程示意图;
图3为本发明装置实施例的结构示意图。
具体实施方式
本发明应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,通过提供一种读取数据的方法及装置,从所述同步动态随机存储器中预先读取一段连续地址的数据,并保存该数据以及该数据的地址,根据所述中央处理器需要读取的数据地址,将预先存储的数据返回给所述中央处理器,通过本发明提供的技术方案能够大幅度提高CPU以单字或单字节方式(single方式)从SDRAM中读取一段连续地址数据的效率。
参见图1,本发明方法,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,该方法包括步骤:
S101、从同步动态随机存储器中预先读取一段连续地址的数据,并保存该数据以及该数据的地址;
S102、根据中央处理器需要读取的数据地址,将预先存储的数据返回给所述中央处理器;
较佳地,步骤S102包括:
根据中央处理器需要读取的数据地址,当预先保存的地址中包括该地址时,将预先存储的与该地址对应的数据返回给所述中央处理器;
较佳地,将预先存储的与该地址对应的数据返回给所述中央处理器的步骤之前,还包括判断所述地址对应的数据是否有效的步骤,当所述地址对应的数据有效时,将预先存储的与该地址对应的数据返回给所述中央处理器;
较佳地,当所述中央处理器向所述同步动态随机存储器中写数据时,并且当预先保存的地址中包括该地址时,将所述预先存储的与该地址对应的数据设置为无效数据。
本发明方法实施例中,从同步动态随机存储器中预先读取一段连续地址的数据,并将该数据以及该数据的地址保存在预先设置的预读缓存单元中,如图2-A所示,该预读缓存单元包括:第一预读缓存单元和第二预读缓存单元,其中,所述第一预读缓存单元包括第一标志寄存器、第一地址寄存器和第一数据寄存器,所述第二预读缓存单元包括第二标志寄存器、第二地址寄存器和第二数据寄存器;所述第一数据寄存器,用于存储所述第一段连续地址的数据;所述第一地址寄存器,用于存储所述第一数据寄存器中存储的数据的地址,该地址为有效数据的来源地址,或者将要读取的数据的地址;所述第一标志寄存器,用于存储用于标记所述第一数据寄存器中存储的数据是否有效的标识;所述第二数据寄存器,用于存储所述第二段连续地址的数据;所述第二地址寄存器,用于存储所述第二数据寄存器中存储的数据的地址,该地址为有效数据的来源地址,或者将要读取的数据的地址;所述第二标志寄存器,用于存储标记所述第二数据寄存器中存储的数据是否有效的标识;
其中,以第一预读缓存单元为例进行说明,如果所述第一标志寄存器存储的标识为有效标识,当CPU向所述同步动态随机存储器中写入一个字节的数据时,并且当所述第一地址寄存器保存的地址中包括该数据的地址时,则说明与所述地址对应的存储在所述第一数据寄存器中的数据已经无效,不应再被读取,因此,需要将所述第一标志寄存器存储的标识设置为无效标识;
所述预读缓存单元还可以由两个以上多个预读缓存单元构成,本发明实施例中以所述预读缓存单元包括两个预读缓存单元为例进行说明;
参见图2-B,本发明方法实施例,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,具体包括步骤:
S201、根据中央处理器需要读取的数据地址,从所述同步动态随机存储器中预先读取一段连续地址的数据,将所述数据存储在第一数据寄存器中,将所述数据的地址存储在第一地址寄存器,并将第一标志寄存器存储的标识设置为有效标识;
本实施例中央处理器将读取起始地址为0的一段连续地址的数据;
SDRAM数据总线宽度为四字节;
中央处理器从地址0读取一个字节数据,由于数据总线宽度为四字节,所以一次读出连续四个字节的数据,这时预读缓存的各个单元均为无效,所以将地址0存入第一地址寄存器,将读出的数据存入第一数据寄存器,第一标志寄存器存储的标志设置为有效;同时,将地址4存入第二地址寄存器,将第二标志寄存器存储的标识设置为无效标识;
S202、当没有设备访问所述同步动态随机存储器时,将所述第二地址寄存器存储的地址所对应的数据从所述同步动态随机存储器中读出,并存入第二数据寄存器,并将所述第二标志寄存器存储的标识设置为有效标识;
当没有设备访问SDRAM时,进行预读操作,读取SDRAM地址4中的数据,将读取的数据存入所述第二数据寄存器,同时,将所述第二标志寄存器存储的标识设置为有效标识;
S203、当所述第一数据寄存器中的数据被读取之后,通过所述第二数据寄存器中的数据更新所述第一数据寄存器中的数据,通过该数据的地址更新所述第一地址寄存器存储的地址;
为了提高CPU读取数据的速度,可以通过第二预读缓存单元存储的数据更新第一预读缓存单元存储的数据,即当所述第一数据寄存器中的数据全部被读取之后,通过所述第二数据寄存器中的数据更新所述第一数据寄存器中的数据,通过该数据的地址更新所述第一地址寄存器存储的地址,CPU只需从第一预读缓存单元中读取数据;
同时,将地址8存入第二地址寄存器,将第二标志寄存器存储的标识设置为无效标识,并进行步骤S202,依此类推,直到中央处理器读取数据的操作完毕;
S204、判断所述第一地址寄存器存储的地址与需要读取的数据的地址是否相同,如果是,则进行步骤S205,否则,进行步骤S207;
S205、判断所述第一标志寄存器存储的标识是否是有效标识,如果是,则进行步骤S206,否则,进行步骤S207;
所述标志寄存器用来标记本预读缓存单元中存储的数据是否是从SDRAM中读出的有效数据;
当所述中央处理器向所述同步动态随机存储器中写数据时,并且当预先保存在所述第一地址寄存器中的地址中包括该数据的地址时,则将所述第一标志寄存器存储的标识设置为无效标识;
同理,当所述中央处理器向所述同步动态随机存储器中写数据时,并且当预先保存在所述第二地址寄存器中的地址中包括该数据的地址时,则将所述第二标志寄存器存储的标识设置为无效标识;
S206、读取所述第一数据寄存器存储的数据;
由于地址1中的数据已经存在第一预读缓存单元中,所以可以立刻返给所述中央处理器,省去了现有技术从同步动态随机存储器中读取数据的延迟时间tRCD+tCAS;
S207、根据所述地址从所述同步动态随机存储器中读取数据。
参见图3,本发明一种读取数据的装置的实施例,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,该装置包括:控制数据读取单元31;
所述控制数据读取单元31包括:控制单元311、预读缓存单元312和设置单元313;
所述控制单元311包括:数据读取单元3111、判断单元3112、数据发送单元3113和更新单元3114;
所述判断单元3112包括:第一判断单元31121和第二判断单元31122;
所述预读缓存单元312包括:第一预读缓存单元3121和第二预读缓存单元3122;
所述控制数据读取单元31,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并保存该数据以及该数据的地址,根据所述中央处理器需要读取的数据地址,将预先存储的数据返回给所述中央处理器;
其中,所述控制单元311,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该数据以及该数据的地址发送给预读缓存单元312;根据所述中央处理器需要读取的数据地址,将预先存储的数据返回给所述中央处理器;
所述数据读取单元3111,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该数据以及该数据的地址发送给预读缓存单元312;
所述判断单元3112,用于根据中央处理器需要读取的数据地址,判断预先保存的地址中是否包括该地址,当预先保存的地址中包括该地址时,触发数据发送单元3113;
所述第一判断单元31121,用于根据中央处理器需要读取的数据地址,判断预先保存的地址中是否包括该地址,当预先保存的地址中包括该地址时,触发第二判断单元31122;
所述第二判断单元31122,用于判断所述预读缓存单元312中与所述中央处理器需要读取的数据地址对应的数据是否有效,如果是,则触发所述数据发送单元3113;
所述数据发送单元3113,用于将预先存储在所述预读缓存单元312中的与该地址对应的数据返回给所述中央处理器;
所述更新单元3114,用于当所述第一预读缓存单元3121中存储的数据全部被读取之后,利用所述第二预读缓存单元3122中存储的数据更新所述第一数据寄存器中存储的数据;则,所述数据发送单元3113,用于将所述第一预读缓存单元3121中存储的所述中央处理器需要读取的数据返回给所述中央处理器;
所述预读缓存单元312,用于保存所述数据以及所述数据对应的地址;
所述设置单元313,用于当所述中央处理器向所述同步动态随机存储器中写入的数据的地址保存在所述预读缓存单元312中时,将所述预读缓存单元312中保存的该地址对应的数据设置为无效数据;
下面详细介绍本实施例各单元的工作过程;
较佳地,如图2-A所示,所述第一预读缓存单元包括:第一数据寄存器,第一地址寄存器和第一标志寄存器;所述第二预读缓存单元包括:第二数据寄存器,第二地址寄存器和第二标志寄存器;
所述数据读取单元3111,从所述同步动态随机存储器中预先读取第一段连续地址的数据,将该数据发送给所述第一数据寄存器,将该数据的地址发送给所述第一地址寄存器,并向所述设置单元发送第一触发信号;并且,将第二段连续地址发送给所述第二地址寄存器,在没有单元访问所述同步动态随机存储器时,从所述同步动态随机存储器中读取所述第二段连续地址对应的数据,并将该数据发送给所述第二数据寄存器,并向所述设置单元发送第二触发信号;
所述设置单元313,接收到所述第一触发信号后,将所述第一标志寄存器存储的用于标记所述第一数据寄存器中存储的数据是否有效的标识设置为有效标识,将所述第二标志寄存器存储的用于标记所述第二数据寄存器中存储的数据是否有效的标识设置为无效标识;在接收到所述第二触发信号后,将所述第二标志寄存器存储的标识设置为有效标识;
所述第一数据寄存器,用于存储所述第一段连续地址的数据;
所述第一地址寄存器,用于存储所述第一数据寄存器中存储的数据的地址;
所述第一标志寄存器,用于存储用于标记所述第一数据寄存器中存储的数据是否有效的标识;
所述第二数据寄存器,用于存储所述第二段连续地址的数据;
所述第二地址寄存器,用于存储所述第二数据寄存器中存储的数据的地址;
所述第二标志寄存器,用于存储标记所述第二数据寄存器中存储的数据是否有效的标识;
所述第一判断单元31121,根据中央处理器需要读取的数据地址,判断所述第一地址寄存器预先保存的地址中是否包括该地址,当预先保存的地址中包括该地址时,触发第二判断单元31122;
所述第二判断单元31122,判断所述第一标志寄存器中存储的标识是否为有效标识,如果是,则触发所述数据发送单元3113;
所述数据发送单元3113,接收到所述第二判断单元31122发送的触发信号后,将存储在所述第一数据寄存器中的所述中央处理器需要读取的数据返回给所述中央处理器;
所述更新单元3114,当所述第一数据寄存器中存储的数据全部被读取之后,利用所述第二数据寄存器中存储的数据更新所述第一数据寄存器中存储的数据;并且,利用所述第二地址寄存器中存储的地址更新所述第一地址寄存器中存储的地址,同时触发所述设置单元313;
所述设置单元313,在接收到所述更新单元3114发送的触发信号后,将所述第二标志寄存器存储的标识设置为无效标识,并触发所述数据读取单元3111;
所述数据读取单元3111,在接收到所述设置单元313发送的触发信号后,在没有单元访问所述同步动态随机存储器时,从所述同步动态随机存储器中读取第三段连续地址对应的数据,并将该数据发送给所述第二数据寄存器,并向所述设置单元313发送第二触发信号;
依此类推,直到中央处理器读取数据的操作完毕;
其中,所述第二段连续地址为所述第一段连续地址的下一段连续地址,所述第三段连续地址为所述第二段连续地址的下一段连续地址;
综上,所述预读缓存单元312有以下几种工作状态:
有效:当中央处理器读取单字节、双字节或四字节的数据,而目标地址的数据不在预读缓存单元312中时,控制单元311从SDRAM中读取数据,将读回的数据返给中央处理器的同时,将目标地址和相应的数据存入第一预读缓存单元3121,并将第一预读缓存单元3121的标志寄存器置为有效,同时,将第二预读缓存单元3122的标志寄存器置为无效,第二预读缓存单元3122的地址寄存器存入目标地址的下一个地址;
预读:当第一预读缓存单元3121的标志寄存器有效,而第二预读缓存单元3122的标志寄存器无效时,如果没有设备访问SDRAM,则控制单元311从SDRAM中读取第二预读缓存单元3122的地址寄存器所存储的地址所对应的数据,将读回的数据存入第二预读缓存单元3122的数据寄存器,同时将第二预读缓存单元3122的标志寄存器置为有效;
命中:当所述中央处理器需要读取单字节、双字节、四字节的数据,而目标地址的数据在预读缓存单元312中时,控制单元311直接将预读缓存单元312中相应的数据返给中央处理器,省去了延迟时间tRCD+tCAS;
无效:当所述中央处理器向SDRAM中某个目标地址中写数据时,如果这个地址恰好在预读缓存单元312中,则将相应的预读缓存单元中的标志寄存器置为无效。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1、一种读取数据的方法,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,其特征在于,从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址保存在第一预读缓存单元中,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,该方法包括以下步骤:
根据所述中央处理器需要读取的数据地址,将预先存储在所述第一预读缓存单元中的数据返回给所述中央处理器;
并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;
当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址。
2、如权利要求1所述的方法,其特征在于,该方法包括:
根据中央处理器需要读取的数据地址,当预先保存在所述第一预读缓存单元中的地址与该中央处理器需要读取的数据地址相同时,将预先存储在所述第一预读缓存单元中的与该中央处理器需要读取的数据地址对应的数据返回给所述中央处理器。
3、如权利要求2所述的方法,其特征在于,将预先存储在所述第一预读缓存单元中的与所述中央处理器需要读取的数据地址对应的数据返回给所述中央处理器的步骤之前,还包括判断所述中央处理器需要读取的数据地址对应的数据是否有效的步骤,当所述中央处理器需要读取的数据地址对应的数据有效时,将预先存储在所述第一预读缓存单元中的与该中央处理器需要读取的数据地址对应的数据返回给所述中央处理器。
4、如权利要求1所述的方法,其特征在于,当所述中央处理器向所述同步动态随机存储器中写数据时,并且当预先保存在所述第一预读缓存单元或第二预读缓存单元中的地址为该中央处理器向所述同步动态随机存储器中写入的数据的地址时,将预先存储在所述第一预读缓存单元或第二预读缓存单元中的与该中央处理器向所述同步动态随机存储器中写入的数据的地址对应的数据设置为无效数据。
5、一种读取数据的装置,应用于中央处理器以单字或单字节的方式从同步动态随机存储器中读取数据的系统中,其特征在于,该装置包括:
控制单元,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址保存在第一预读缓存单元中,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,根据所述中央处理器需要读取的数据地址,将预先存储在所述第一预读缓存单元中的数据返回给所述中央处理器;并且,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据段,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址。
6、如权利要求5所述的装置,其特征在于,所述控制单元包括:
数据读取单元,用于从所述同步动态随机存储器中预先读取一段连续地址的数据,并将该段数据以及该段数据的首地址发送给第一预读缓存单元,同时,将下一段连续地址的数据的首地址保存在第二预读缓存单元中,当没有设备访问所述同步动态随机存储器时,根据所述下一段连续地址的数据的首地址,将所述下一段连续地址的数据从所述同步动态随机存储器中读出并保存在所述第二预读缓存单元中;当所述第一预读缓存单元中的数据被读取之后,通过所述第二预读缓存单元中保存的数据更新所述第一预读缓存单元中保存的数据,通过所述第二预读缓存单元中保存的地址更新所述第一预读缓存单元中保存的地址;
判断单元,用于根据中央处理器需要读取的数据地址,判断预先保存在第一预读缓存单元中的地址中是否为该中央处理器需要读取的数据地址,如果是,则触发数据发送单元;
数据发送单元,用于根据所述判断单元的触发,将预先存储在所述第一预读缓存单元中的与所述中央处理器需要读取的数据地址对应的数据返回给所述中央处理器。
7、如权利要求6所述的装置,其特征在于,所述判断单元包括:
第一判断单元,用于根据中央处理器需要读取的数据地址,判断预先保存在第一预读缓存单元中的地址是否为该中央处理器需要读取的数据地址,如果是,则触发第二判断单元;
第二判断单元,用于判断所述第一预读缓存单元中与所述中央处理器需要读取的数据地址对应的数据是否有效,如果是,则触发所述数据发送单元。
8、如权利要求5所述的装置,其特征在于,该装置还包括:
设置单元,用于当所述中央处理器向所述同步动态随机存储器中写入的数据的地址保存在所述第一预读缓存单元中或第二预读缓存单元中时,将所述第一预读缓存单元中或第二预读缓存单元中保存的与该中央处理器向所述同步动态随机存储器中写入的数据的地址对应的数据设置为无效数据。
CNB2007100646659A 2007-03-22 2007-03-22 一种读取数据的方法及装置 Expired - Fee Related CN100549983C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100646659A CN100549983C (zh) 2007-03-22 2007-03-22 一种读取数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100646659A CN100549983C (zh) 2007-03-22 2007-03-22 一种读取数据的方法及装置

Publications (2)

Publication Number Publication Date
CN101021816A CN101021816A (zh) 2007-08-22
CN100549983C true CN100549983C (zh) 2009-10-14

Family

ID=38709589

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100646659A Expired - Fee Related CN100549983C (zh) 2007-03-22 2007-03-22 一种读取数据的方法及装置

Country Status (1)

Country Link
CN (1) CN100549983C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567222A (zh) * 2010-12-15 2012-07-11 北京兆易创新科技有限公司 一种数据的存取方法和装置
CN104269033A (zh) * 2014-09-15 2015-01-07 中国神华能源股份有限公司 用于重载综合检测车的预警方法和系统
CN105653490B (zh) * 2015-12-28 2018-12-14 北京经纬恒润科技有限公司 一种基于地址控制的数据处理方法及装置
CN116644004A (zh) * 2018-05-23 2023-08-25 北京忆芯科技有限公司 预读方法及其存储控制器
CN108763104B (zh) * 2018-05-23 2022-04-08 北京小米移动软件有限公司 预读取文件页的方法、装置及存储介质

Also Published As

Publication number Publication date
CN101021816A (zh) 2007-08-22

Similar Documents

Publication Publication Date Title
US9940980B2 (en) Hybrid LPDDR4-DRAM with cached NVM and flash-nand in multi-chip packages for mobile devices
US7076598B2 (en) Pipeline accessing method to a large block memory
CN100549983C (zh) 一种读取数据的方法及装置
JP2010191638A (ja) キャッシュ装置
CN100508064C (zh) 存储器存取控制器与存储器存取方法
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
EP1693760A1 (en) Organization of dirty bits for a write-back cache
US8583873B2 (en) Multiport data cache apparatus and method of controlling the same
US20150143045A1 (en) Cache control apparatus and method
US7948498B1 (en) Efficient texture state cache
WO2018082695A1 (zh) 一种缓存替换的方法和设备
CN115809028B (zh) 一种缓存数据替换方法、装置、图形处理系统及电子设备
CN115794673B (zh) 系统级芯片non-Cacheable数据的访问方法、装置及电子设备
CA2357085A1 (en) Cache update method and cache update control system employing non-blocking type cache
CN102314400A (zh) 一种分散聚合式dma方法及装置
CN101719104B (zh) 一种同步动态存储器的控制系统及控制方法
CN105335323B (zh) 一种数据突发的缓存装置和方法
US8924652B2 (en) Simultaneous eviction and cleaning operations in a cache
CN108874684A (zh) 拆分cache缓存的nvdimm接口数据读写装置
CN101213525A (zh) 任务上下文高速缓存替换的方法、装置及系统
US7725645B2 (en) Dual use for data valid signal in non-volatile memory
CN104461967B (zh) 一种支持同步和异步传输模式的并行数据接口
JP2016062505A (ja) メモリ制御回路および半導体記憶装置
CN111124297A (zh) 一种堆叠dram缓存的性能提升方法
CN101221539B (zh) 提高缓存性能的方法及缓存系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: WUXI VIMICRO ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110127

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 15/F, SHINING BUILDING, NO.35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 610, NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO.21-1, CHANGJIANG ROAD, NEW DISTRICT, WUXI CITY, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20110127

Address after: 214028 national integrated circuit design (21-1), Changjiang Road, New District, Jiangsu, Wuxi, China, China (610)

Patentee after: Wuxi Vimicro Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: Beijing Vimicro Corporation

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20140322