一种数据的存取方法和装置的制作方法

文档序号:6355160阅读:112来源:国知局
专利名称:一种数据的存取方法和装置的制作方法
技术领域
本发明涉及数据存取技术领域,特別是涉及一种数据的存取方法和装置。
背景技术
存储器中存储有大量的数据,每ー个字节数据(word)对应ー个地址空间。页 (page)指的是在存储器中地址相邻的一组地址空间。现有技术中,每读取一个字节数据时,直接从存储器的存储阵列中获取,由于每次均需要在存储阵列中查找识别所要读取的数据,因此,数据的读取速度因现有的存储方式受到了一定的限制。随着半导体制造エ艺技术的不断发展,CPU处理数据的速度在不断提升,同时,终端设备上集成的应用功能也在不断增多,为了提高终端设备的整体系统性能,对数据的读取速度也提出了更高的要求。例如,当用户通过手机编辑邮件后,需要填入收件人地址,此吋,需要打开通讯录读取联系人的地址信息,为了缩短用户的等待时间,就需要快速的读取出相关数据。因此,为了保证终端设备的整体系统性的提升,人们需要实现更快速的数据的读取方法,而现有的数据的存取方法,已经满足不了不断发展的技术需求。总之,需要本领域技术人员迫切解决的ー个技术问题就是如何能够提供ー种数据的存取方法,提高数据的读取速度。

发明内容
本发明所要解决的技术问题是提供一种数据的存取方法,从而提高数据的读取速/又。为了解决上述问题,本发明公开了ー种数据的存取方法,包括当从存储器中读取字节数据吋,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中;再次读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;若是,则直接从缓存器中读取所述字节数据;若否,则从存储器中查找相应的地址,读取所述字节数据。优选的,所述一段地址连续的字节数据为整页数据;其中,所述整页数据中的各个字节数据的高位地址相同。优选的,所述整页数据由地址连续的2N个字节数据构成。优选的,所述判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。优选的,所述缓存器包括锁存器組;其中,一个字节数据缓存在ー个锁存器组中。优选的,所述从存储器中查找相应的地址,读取所述字节数据之后,还包括清空缓存器;则将当前读取的字节数据所属的一段地址连续的字节缓存在清空后的缓存器中。优选的,对于异步存储器,当地址变换检测触发时,进行字节数据的读取操作;对于同步存储器,当同步时钟信号触发时,进行字节数据的读取操作。相应的,本发明还公开了ー种数据的存取装置,包括存储器,用于存储字节数据;缓存器,用于当从存储器中读取字节数据吋,缓存该字节数据所属的一段地址连续的字节数据;判断単元,用于当读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;第一读取单元,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同吋,直接从缓存器中读取所述字节数据;第二读取单元,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的各个字节数据的地址均不同时,从存储器中查找相应的地址,读取所述字节数据。优选的,所述一段地址连续的字节数据为整页数据;其中,所述整页数据中的各个字节数据的高位地址相同。优选的,所述整页数据由地址连续的2N个字节数据构成。优选的,所述判断単元判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。优选的,所述缓存器包括锁存器組;其中,一个字节数据缓存在ー个锁存器组中。优选的,所述装置还包括数据清空単元,用于在第二读取单元从存储器中查找相应的地址,读取所述字节数据之后,清空缓存器;则清空后的缓存器对当前读取的字节数据所属的一段地址连续的字节数据进行缓存。优选的,所述装置还包括触发单元,用于当所述存储器为异步存储器吋,由地址变换检测触发;当所述存储器为异步存储器吋,由同步时钟信号触发;则第一读取单元或第二读取单元在触发单元执行触发操作后,进行字节数据的读取操作。与现有技术相比,本发明具有以下优点本发明提供的一种数据的存取方法,当从存储器中读取字节数据时,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中,当再次读取下一个字节数据时,首先进行地址判断,如果所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同, 则以较快的速度直接从缓存器中读取,并送给CPU处理;如果没有找到,就以相对较慢的速度从存储器中读取并送给CPU处理。数据读取优先级顺序是先缓存器、后存储器,形成了一个既有缓存的高速度,又有通常存储器的大容量的存储系统。一般的,从存储器中读取数据的时间大约为70ns,而通过缓存器实现数据的读取,速度可提高至约20ns。通过缓存器的引入,节省了 CPU直接从存储器中读取数据的时间,使得读取数据时基本无需等待。


图1是本发明--种斐&据的存取方法实施例--的流程图2是本发明--种斐&据的存取方法实施例ニニ的流程图3是本发明--种在锁存器组中缓存整页_女据的示意图
图4是本发明--种斐&据的存取装置实施例--的结构图5是本发明-ー种斐&据的存取装置实施例ニニ的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进ー步详细的说明。參照图1,示出了本发明ー种数据的存取方法实施例一的流程图,包括步骤101,当从存储器中读取字节数据吋,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中;缓存器是CPU与存储器之间进行数据传输的临时存储器,缓存器的存储容量比存储器小,但是其数据交換速度较快。当CPU从存储器中读取字节数据(即,ー个word)吋, 将该字节数据所属的一段地址连续的字节数据存储在缓存器中。也就是说,在缓存器中的存储的数据是存储器中的一小部分,但这ー小部分是短时间内CPU即将访问的。在本发明的一个优选实施例中,所述一段地址连续的字节数据为整页数据,整页数据中的各个字节数据的高位地址相同。进一歩,所述整页数据由地址相邻的2N个字节数据构成,在本发明的优选实施例中,由8、16、32或64个字节数据构成整页数据。也就是说, 可以通过对整页数据的大小进行定义,以调整缓存容量,如将8个word組成一整页数据进行缓存,则每一次缓存较少的数据量;或者,可以将16、32或64个word組成一整页数据进行缓存,则每一次缓存较多的数据量。需要说明的是,本发明可以缓存所述字节数据所属一个整页数据,还可以缓存多个整页数据,或者也可以不按照页为单位进行缓存,只要所缓存的数据为一段地址连续的字节数据,且所读取的字节数据位于该段地址连续的字节数据之中即可。步骤102,再次读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;若是,则执行步骤103 ;若否,则执行步骤104 ;由于缓存器中缓存了多个字节数据,则当再次读取字节数据吋,判断所读取的字节数据是否已经存在于缓存器中,其依据字节数据的地址进行判断,如果所读取的字节数据的地址与缓存器中缓存的某一字节数据的地址相同,则说明所读取的字节数据已经缓存在缓存器中。进一歩,所述判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。对于整页数据,其中各个字节数据的高位地址相同,相同的高位地址称为页地址。 例如,对于由21个地址位(A20 AO)表示的字节数据,如果将地址相邻的8个字节数据构成一个整页数据,则ー个整页数据中,各个字节数据的高位地址A20 A3相同,低位地址 A2 AO均不同,则A20 A3称之为高位地址。又如,如果将地址相邻的16个字节数据构成ー个整页数据,则各个字节数据的高位地址A20 A4相同,低位地址A3 AO均不同,则此时,A20 A4称之为高位地址。进一歩,如果当前读取的字节数据地址的高位页地址部分与缓存器中缓存的整页数据对应的页地址相同吋,例如,当前读取的字节数据的高位页地址部分A20 A4与缓存器中缓存的整页数据对应的页地址A20 A4相同(16个字节数据为ー page),则判断所读取的字节数据的地址位于缓存器中缓存的整页数据的页地址内。步骤103,直接从缓存器中读取所述字节数据;再次读取字节数据吋,如果判断所读取的字节数据的地址与缓存器中缓存的某一字节数据的地址相同,那么所读取的字节数据已经缓存在缓存器中,则CPU就可以避开存储器,直接从缓存器中调用数据,从而加快了数据的读取速度。步骤104,从存储器中查找相应的地址,读取所述字节数据。如果判断所读取的字节数据的地址与缓存器中缓存的各个字节数据的地址均不相同,则按照原有的读取方法,从存储器中查找相应的地址,获取所述字节数据。本发明实施例提供的一种数据的存取方法,当从存储器中读取字节数据吋,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中,当再次读取下ー个字节数据吋,首先从缓存器中进行地址查找,如果所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同,则直接从缓存器中读取并送给CPU处理;如果没有找到,就以相对较慢的速度从存储器中读取并送给CPU处理。总的来说,数据读取优先级顺序是先缓存器、后存储器。则整个存储器成为了既有缓存的高速度,又有通常存储器的大容量的存储系统。一般的,从存储器中读取数据的时间大约为70ns,而通过缓存器实现数据的读取,速度可提高至约20ns。通过缓存器的引入,节省了 CPU直接从存储器中读取数据的时间,使得读取数据时基本无需等待。在本发明的具体实施例中,对于异步存储器,当地址变换检测(atd,Address Transition Detection)触发时,进行字节数据的读取操作。其中,atd触发指的是在异步存储器件中,不需要发送指令,通过一次读操作的触发事件即可实现数据的读取。对于同步存储器,当同步时钟信号触发时,进行字节数据的读取操作。在本发明的ー个优选实施中,所述缓存器包括锁存器(Latch)组;一个字节数据缓存在一个锁存器组中。锁存器是ー种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以維持某种电平状态。通常的,每ー 个锁存器的存储单位是lbit,一个字节数据为8bit,一整页数据为128bit (由16个字节数据构成),则如果缓存一整页数据,需要1 个锁存器,这1 个锁存器构成16个锁存器組。在本发明的另ー个优选实施例中,所述从存储器中查找相应的地址,读取所述字节数据之后,还包括清空缓存器;则将当前读取的字节数据所属的一段地址连续的字节缓存在清空后的缓存器中。參照图2,示出了本发明ー种数据的存取方法实施例ニ的流程图,本实施例以缓存整页数据为例进行具体说明,所述存储器为异步存储器。所述数据的存取方法包括步骤201,触发地址变换检测;步骤202,从存储器中读取字节数据,并将该字节数据所属的整页数据缓存在缓存器中;步骤203,再次触发地址变换检测;步骤204,再次读取字节数据吋,判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;若是,则执行步骤205 ;若否,则执行步骤206 ;具体的,所述判断读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内为当前读取的字节数据地址的高位页地址部分是否和缓存器中缓存的整页数据对应的页地址相同;若是,则判断读取的字节数据的地址位于缓存器中缓存的整页数据的页地址内,也即当前所读取的字节数据已经缓存在缓存器中。步骤205,直接从缓存器的锁存器组中读取所述字节数据;步骤206,从存储器中查找相应的地址,读取所述字节数据;之后执行步骤207 ;步骤207,清空锁存器組,并将当前读取的字节数据所属的整页数据缓存在清空后的锁存器组中。如果读取的字节数据地址不是位于缓存器中存储数据的页地址内部,则将锁存器组中缓存的整页数据删除。进一歩,由于当前读取的字节数据为最新读取的字节数据,则将该字节数据所属的整页缓存在清空后的锁存器组中,以供下次数据读取使用。其中,所锁存器组缓存的数据始终是前一次读取的字节数据对应的整页数据。下面,以ー个具体实施例进行详细说明。參照图3,本发明ー种在锁存器组中缓存数据的示意图。在该实施例中,假设由6个地址位A5 AO构成ー个数据,其中,A5 A3为高位地址,A2 AO为低位地址。8个字节数据构成一整页数据,则缓存器中包括8个锁存器組, 每组锁存器可缓存ー个字节数据。当从存储器中读取数据“110001”时,读取该数据所属的整页数据,缓存在缓存器中,即,将“110000""110001"" 110010"" 110011"" 110100""110101” “110110”“110111”这8个地址内的字节数据构成的整页数据分别缓存在8个锁存器组中。 此时,数据的存储方式如图3(a)所示。atd触发后,再次读取出字节数据,例如读取的数据的地址为“110111”吋,判断所读取的字节数据的地址位于缓存器中缓存的整页数据的页地址“110#*”内,即“110111” 的高位页地址部分“ 110”与缓存器中缓存的整页数据的页地址相同,则直接从缓存器中的锁存器内读取该字节数据。atd触发后,再次读取出字节数据,例如读取的数据的地址为“001111”吋,判断当前读取的字节数据地址位于当前缓存数据的页地址外部,即“001111”的高位页地址部分 “001”与当前缓存器中缓存的整页数据的页地址“110***”不同,则从存储器中查找相应的地址,读取地址“001111”内的字节数据。然后,清空所有缓存器中的数据,把“001111”所属的新的整页数据从存储器中读出置于此缓存器之中,也即,将“001000”“001001”“001010”“001011”“001100”“001101”“001110”“001111”这8个地址内的字节数据构成的整页数据
分别缓存在8个锁存器组中,此时,数据的存储方式如图3(b)所示。可以理解的是,本发明实施例所述的由6个地址位构成ー个字节数据仅是为了方便说明,作为ー种举例,在具体实施吋,通常由21个地址位构成ー个字节数据。參照图4,示出了本发明ー种数据的存取装置实施例ー的结构图,包括存储器401,用于存储字节数据;缓存器402,用于当从存储器中读取字节数据吋,缓存该字节数据所属的一段地址连续的字节数据;判断単元403,用于当读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;第一读取单元404,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同时,直接从缓存器中读取所述字节数据;第二读取单元405,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的各个字节数据的地址均不同吋,从存储器中查找相应的地址,读取所述字节数据。在本发明的一个优选实施例中,所述一段地址连续的字节数据为整页数据;其中, 所述整页数据中的各个字节数据的高位地址相同。则当从存储器401中读取字节数据吋, 将该字节数据所属的整页数据缓存在缓存器402中。所述整页数据由地址连续的字节数据构成,在本发明的优选实施例中,由8、16、32或64个字节数据构成整页数据。进一歩,所述判断単元判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。当再次读取ー个数据吋,首先判断単元403所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内,如果是,则以相对较快的速度从缓存器402中读取所述字节数据,并发送给CPU进行后续处理;如果不是,就以相对较慢的速度从存储器401中读取该字节数据。參照图5,示出了本发明ー种数据的存取装置实施例ニ的结构图,包括存储器501,用于存储字节数据;缓存器502,用于当从存储器中读取字节数据吋,缓存该字节数据所属的一段地址连续的字节数据;判断単元503,用于当读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;第一读取单元504,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同时,直接从缓存器中读取所述字节数据;第二读取单元505,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的各个字节数据的地址均不相同吋,从存储器中查找相应的地址,读取所述字节数据;触发单元506,用于当所述存储器为异步存储器吋,由地址变换检测触发;当所述存储器为异步存储器吋,由同步时钟信号触发;;
第一读取单元504或第二读取单元505在触发单元506执行触发操作后,进行字节数据的读取操作。进一歩,所述缓存器包括锁存器組;其中,一个字节数据缓存在ー个锁存器组中。 此外,所述装置还包括数据清空単元507,用于在第二读取单元505从存储器501中查找相应的地址,读取所述字节数据之后,清空缓存器;则清空后的缓存器502对当前读取的字节数据所属的一段地址连续的字节数据进行缓存。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相參见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处參见方法实施例的部分说明即可。以上对本发明所提供的一种数据的存取方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同吋,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种数据的存取方法,其特征在干,包括当从存储器中读取字节数据吋,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中;再次读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;若是,则直接从缓存器中读取所述字节数据;若否,则从存储器中查找相应的地址,读取所述字节数据。
2.如权利要求1所述的方法,其特征在干,所述一段地址连续的字节数据为整页数据;其中,所述整页数据中的各个字节数据的高位地址相同。
3.如权利要求2所述的方法,其特征在干,所述整页数据由地址连续的2N个字节数据构成。
4.如权利要求3所述的方法,其特征在干,所述判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。
5.如权利要求1所述的方法,其特征在干,所述缓存器包括锁存器组;其中,一个字节数据缓存在一个锁存器组中。
6.如权利要求1所述的方法,其特征在干,所述从存储器中查找相应的地址,读取所述字节数据之后,还包括清空缓存器;则将当前读取的字节数据所属的一段地址连续的字节缓存在清空后的缓存器中。
7.如权利要求1所述的方法,其特征在干,对于异步存储器,当地址变换检测触发时,进行字节数据的读取操作;对于同步存储器,当同步时钟信号触发时,进行字节数据的读取操作。
8.一种数据的存取装置,其特征在干,包括存储器,用于存储字节数据;缓存器,用于当从存储器中读取字节数据吋,缓存该字节数据所属的一段地址连续的字节数据;判断単元,用于当读取字节数据吋,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;第一读取单元,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的一字节数据的地址相同吋,直接从缓存器中读取所述字节数据;第二读取单元,用于当判断単元判断所读取的字节数据的地址与缓存器中缓存的各个字节数据的地址均不同吋,从存储器中查找相应的地址,读取所述字节数据。
9.如权利要求8所述的装置,其特征在干,所述一段地址连续的字节数据为整页数据;其中,所述整页数据中的各个字节数据的高位地址相同。
10.如权利要求9所述的装置,其特征在干,所述整页数据由地址连续的2N个字节数据构成。
11.如权利要求10所述的装置,其特征在干,所述判断単元判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同,具体为判断所读取的字节数据的地址是否位于缓存器中缓存的整页数据的页地址内;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址相同吋,判断为是;当所读取的字节数据的高位地址与缓存器中缓存的整页数据的页地址不同吋,判断为否。
12.如权利要求8所述的装置,其特征在干, 所述缓存器包括锁存器组;其中,一个字节数据缓存在一个锁存器组中。
13.如权利要求8所述的装置,其特征在于,还包括数据清空単元,用于在第二读取单元从存储器中查找相应的地址,读取所述字节数据之后,清空缓存器;则清空后的缓存器对当前读取的字节数据所属的一段地址连续的字节数据进行缓存。
14.如权利要求8所述的装置,其特征在于,还包括触发单元,用于当所述存储器为异步存储器吋,由地址变换检测触发;当所述存储器为异步存储器吋,由同步时钟信号触发;则第一读取单元或第二读取单元在触发单元执行触发操作后,进行字节数据的读取操
全文摘要
本发明提供了一种数据的存取方法和装置,所述方法包括当从存储器中读取字节数据时,将该字节数据所属的一段地址连续的字节数据缓存在缓存器中;再次读取字节数据时,判断所读取的字节数据的地址是否与缓存器中缓存的一字节数据的地址相同;若是,则直接从缓存器中读取所述字节数据;若否,则从存储器中查找相应的地址,读取所述字节数据。通过本发明提供一种数据的存取方法,能够提高数据的读取速度。
文档编号G06F12/08GK102567222SQ201110047590
公开日2012年7月11日 申请日期2011年2月28日 优先权日2010年12月15日
发明者舒清明, 苏志强 申请人:北京兆易创新科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1