高速缓存存储器系统.pdf

上传人:Y948****062 文档编号:1012337 上传时间:2018-03-25 格式:PDF 页数:13 大小:434.50KB
返回 下载 相关 举报
摘要
申请专利号:

CN98123593.X

申请日:

1998.11.06

公开号:

CN1217506A

公开日:

1999.05.26

当前法律状态:

终止

有效性:

无权

法律详情:

专利权的终止(未缴年费专利权终止)授权公告日:2003.10.22|||专利申请权、专利权的转移(专利权的转移)变更项目:专利权人变更前权利人:日本电气株式会社变更后权利人:恩益禧电子股份有限公司变更项目:地址变更前:日本国东京都变更后:日本神奈川县登记生效日:2003.12.23|||授权|||公开|||

IPC分类号:

G06F12/08

主分类号:

G06F12/08

申请人:

日本电气株式会社;

发明人:

熊切一夫

地址:

日本国东京都

优先权:

1997.11.07 JP 322068/97

专利代理机构:

中科专利代理有限责任公司

代理人:

刘晓峰

PDF下载: PDF下载
内容摘要

本发明提供一种高速缓存存储器系统,该系统可使用户不需增加特殊硬件而提前更新高速缓存存储器。该高速缓存存储器系统包括多个存储单元、一发送更新指令的高速缓存存储器系统和一传送数据的DMA控制器。高速缓存存储器控制有一命令寄存器,存放着来自中央处理单元的一高速缓存存储器更新指令。当高速缓存存储器未命中时,或当高速缓存存储器控制发现数据被写入命令寄存器时,高速缓存存储器控制器就发出一DMA传送指令给DMA控制器。

权利要求书

1: 一个高速缓存存储器系统,其特征在于,它包括: 由多个存储单元组成的存储器;和 一个依据一个中央处理单元CPU指示把一个高速缓存存储器更新指令 送往一个直接存储器存取DMA控制器的高速缓存存储器控制器, 其中所述DMA控制器根据从所述高连缓存控制器传来的指令在主存储 器和高速缓存存储器之间传送数据。
2: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中多个存储单元可以同时由不同资源进行存取。
3: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中当所述多个被更新的存储单元之一不被中央处理单元CPU使用时,数据 可以在所述高速缓存存储器和所述主存储器之间传送而不需停止所述中 央处理单元的处理工作。
4: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中当所述的多个被更新的存储单元之一被中央处理单元CPU使用时,存储 器的结构方式能够协调对于所述中央处理单元和所述DMA控制器之间的存 储单元的存取。
5: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中所述的缓存控制器有一个命令寄存器,存放着来自所述中央处理单元 的高速缓存存储器更新指令。所述高速缓存存储器系统中,当高速缓存 存储器发生未命中时,或当高速缓存存储器控制器发现数据已被写入所 述命令寄存器中时,一个DMA传送指令就被发送至所述DMA控制器。
6: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中当所述中央处理单元CPU执行一个给在所述高速缓存存储器控制器中的 所述命令寄存器的命令传送指令时,所述高速缓存存储器控制器就向所 述DMA控制器发出一个基于存放在所述命令寄存器中的起始地址数据和转 移块数数据之上的DMA转移开始指令,以使所述DMA控制器依据来自所述 高速缓存存储器控制器的指令指示在主存储器和高速缓存存储器之间转 移数据。
7: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中所述DMA控制器经由一条DMA地址总线和一条DMA数据总线与所述存储器 的存储单元相接。
8: 根据权利要求1所述的高速缓存存储器系统,其特征在于,其 中所述CPU通过一条地址总线和一条数据总线与高速缓存存储器控制器相 接,并通过该控制器使CPU与所述存储器的存储单元相连,其中,所述 DMA控制器通过一条地址总线和一条数据总线与主存储器相连。
9: 根据权利要求7所述的高速缓存存储器系统,其特征在于,其 中多路复用器布置在所述存储器的存储单元上所述存储器在存储单元, DMA地址总线和DMA数据总线之间,以使每一个存储单元能够选择一个可 发出或接收数据的设备。

说明书


高速缓存存储器系统

    本发明涉及的是一个高速缓存存储器系统。

    当微处理器加速的时候,分级结构的高速缓存存储器常常加快内存的存储速度。当被存取的数据不在一高速缓存存储器系统的高速缓存存储器中时,从高速缓存存储器获得取数据的尝试就会得到没有命中的结果,数据被从主存储器转移到高速缓存存储器。因此,当所需数据不在高速缓存存储器中时,处理器就必须暂时中断数据处理直到数据完成从高速缓存存储器到主存储器的转移,这样就降低了处理能力。

    为增加高速缓存存储器的命中率,人们提出了许多种解决方法。比如,日本专利Kokai特开平4-190434中公布了一个方法,它是通过在把数据载入高速缓存存储器前读取一个程序执行流完成,这个执行流将会被不同的分支地址使用。

    图3是一个方框图,它说明了常用的高速缓存存储器系统的结构,如图3所示,一个中央处理单元CPU301通过一条地址总线311和一条数据总线321与高速缓存存储器CM303和一个高速缓存存储器控制器CMC304相连。一个子处理单元SPU302通过一条地址总线312和数据总线321与高速缓存存储器控制器CMC304相连,且通过数据总线321与高速缓存存储器CM303相连。子处理单元302监控着通过数据总线321送往中央处理单元CPU301的指令。当子处理单元302发现了编译器自动插入在转移指令前的一个高速缓存存储器更新指令时,它就会指示高速缓存存储器控制器CMC304更新高速缓存存储器。高速缓存存储器控制器CMC304本身并不更新高速缓存存储器;相反,高速缓存存储器控制器CMC304把更新地址信息传至一个DMA控制器305并使之按地址信息指定的地址把数据从主存储器306转移至高速缓存存储器303中的一个位置。由于这个高速缓存存储器更新指令对中央处理单元CPU301没有含义,故被它忽略。在此之后,由控制传至转移指令时,就不会有未命中发生,因为此时数据已经由主存306传至高速缓存存储器CM303了。

    另一个解决方法是使子处理单元SPU302从当前指令前的多个指令提取一个指令以便能够提前发现未命中情况,并使高速缓存存储器控制器CMC304更新高速缓存存储器。

    此外,还描述了高速缓存存储器的一般机制。如在“计算机结构与设计”一文中(Nikkei BP)。

    但是,上述现有技术均有如下问题。

    第一个问题是现有技术中的系统需要特别为监控制程序设计的硬件,这就会增大电路的尺寸。

    第二问题是在距当前指令前的多个指令处读取一条指令需要存储器有两个或更多的端口。通常,有两个或多个端口的存储器的尺寸会比较大。

    第三个问题是由于更新指令被一个编译器自动地插入到距当前指令前多个指令的位置,这样,就不能自由地设定高速缓存存储器更新起始时间。因此,即使当发现由于高速缓存存储器块的增大或主存储器存取时间增长而需要长时间来更新高速缓存存储器时,高速缓存存储器的更新也不可能更早一些开始。这样有时就会使得高速缓存存储器地更新没有在一段指定时间内完成。

    第四个问题是通过一编译器自动将一个转移指令插入到当前指令的多条指令之前的一个位置的方法需要编译器拥有这个内置功能,这样就增加了开发工具如编译器的开发成本。

    本发明试图解决以上描述的现有技术中的各种问题。本发明的一个目标是提供一个基于现有主存储器或高速缓存存储器的结构的高速缓存存储器系统,该系统能够有效地更新高速缓存存储器而不需另外的编译功能,也不需要监控指令的特殊装置。

    为实现上述目的,本发明提供一个高速缓存存储器系统,它包括一个由多个存储单元组成的存储器,一个根据中央处理单元指令向一个直接内存获取DMA控制器发送一个高速缓存存储器更新指令的高速缓存存储器控制器,以及根据从所述高速缓存存储器控制器接收到的指令把数据从主存储器转移到高速缓存存储器的DMA控制器。

    图1是一个说明本发明的一个实施例的结构的简图。

    图2说明了在本发明的一个实施例中使用的一个命令寄存器的结构的例子。

    图3说明了根据现有技术设计的一个高速缓存存储器系统。

    以下将对本发明的一个实施例进行详细说明。在实施例中,根据本发明的一个高速缓存存储器系统包括高速缓存存储器器(图1中的标记3),它由多个存储器单元和一个高速缓存存储器控制器(图1中的标记2)组成。高速缓存存储器控制器根据一个中央处理单元1个指令向一个直接存储器存取(DMA)控制器发送一个高速缓存存储器更新指令(图1中的标记4)。DAM控制器4以DMA方式在一个主存储器(图1中的标记5)和高速缓存存储器(图1中的标记3)之间传送数据。

    在最佳实施例中,根据本发明的高速缓存存储器系统由多个存储单元组成。这些存储单元的数据可以同时由不同资源所访问。

    在最佳实施例中,只要中央处理单元1不在使用要被更新的存储单元,根据本发明提出的高速缓存存储器系统就能使在存储单元和主存储器之间的数据传送与中央处理单元1的处理同时进行而不停止中央处理单元的处理。

    在最佳实施例中,当中央处理单元CPU1正在使用一个被更新的存储单元时,根据本发明提出的高速缓存存储器系统就协调对高速缓存存储器的存取,也就是,协调对存储单元的存取以使能对另一个存储单元(或任何其余的存储单元)进行存取。

    下面将辅以图例对本实施例进行详细描述。

    图1表示的是本发明的一个实施例的结构,参见图1,在本发明的这一实施例中所采用的一个微处理器包括一个中央处理单元(CPU)1,高速缓存存储器3,它通过一条地址总线11和一条数据总线12与中央处理单元1相连,一个高速缓存存储器控制器2,一个DMA控制器4以及主存储器5。

    高速缓存存储器3通过一条DMA地址总线21和一条DMA数据总线22与DMA控制器4相连。除此之外,激活DMA控制器4的信号线4的信号线24被由高速缓存存储器控制器2送至DMA控制器4。

    DMA控制器4通过一条外部地址总线41和一条数据总线42与主存储器5相连。一条处理中止信号线7从高速缓存存储器控制器2联至中央处理单元1。

    高速缓存存储器控制器2把高速缓存存储器3分为许多块,每一个块都由被一次更新的几个字节组成。本发明提供了标识存储器(未示出)来管理这些块。

    标识存储器包括每一个块中存储器的高速缓存存储器3中的内容的地址的一预定的位数。当一个地址从中央处理单元1送出时,标识存储器便存储器下地址的标识部分这样来辨认存储了高速缓存存储器3中的内容的相应的块。

    高速缓存存储器控制器2同样也有一个命令寄存器,它存储从中央处理单元1发出的高速缓存存储器更新指令。当发现有一个高速缓存存储器未命中情况发生时或这个数据被写入命令寄存器时,一个DMA转移指令就被发至DMA控制器4。

    由多个存储单元组成的高速缓存存储器3在速度上比主存储器5快。多路复用器61、61、63和64与主存储器3相连以使每一个存储单元都能选择一个发送或接收数据的设备,尽管图1中只标出了两个存储单元,但存储单元的数量并没有限制。

    DMA控制器4在收到高速缓存存储器控制器2的一个指令后开始操作。这时,DMA控制器4接收到源数据信息(主存储器5中的源数据的起始地址和源数据的字节数)和目标地址信息(被送往高速缓存存储器3的数据在高速缓存存储器3中的目标地址的起始地址)。

    DMA控制器4把数据直接送至高速缓存存储器3,并不经过中央处理单元,或高速缓存存储器控制器2。

    图2表示的是高速缓存存储器控制器2中的命令存储器的一个实例,如图2所示,命令存储器由一个高速缓存存储器更新起始地址字段和块数字段组成。

    这一实例的运行见以下描述。

    参见图1,当中央处理单元读取数据时,它把一个地址送到高速缓存存储器控制器2和高速缓存存储器3,并通过地址总线11发送。

    高速缓存存储器控制器2从中央处理单元1获取地址的一部分并参照标识存储器来决定所需数据在高速缓存存储器3之中。

    当所需数据被发现后,中央处理单元1把它从高速缓存存储器3读入。另一方面,当所需数据不在高速缓存存储器3时,高速缓存存储器控制器2停止中央处理单元1的处理,更新标识存储器,把高速缓存存储器更新信息(含所需数据的块的起始地址以及在高速缓存存储器送出数据的该高速缓存存储器的起始地址)送至DMA控制器4并通知它更新高速缓存存储器3。

    当从高速缓存存储器控制器2接收到指令后DMA控制器4把数据从主存储器5转移至高速缓存存储器3。

    当含有所需数据的块的转移完成后,高速缓存存储器控制器2继续中央处理单元1的运行。

    为了提前更新高速缓存存储器3,中央处单元1执行一个命令中的用户编码指令,它把命令数据送入到命令寄存器中,命令寄存器被从高速缓存存储器控制器2映射入内存。

    高速缓存存储器控制器2从命令寄存器中的起始地址数据中产生块起始地址;它还从命令寄存器中的块数据的数目中产生转移字节数目。然后,如通常的高速缓存存储器填充操作一样,高速缓存存储器控制器2把将被装载的块的起始地址送至DMA控制器4。同时也把被传送的字节数以及在接收数据的高速缓存存储器中的对应块的起始地址送至DMA控制器4。当DMA控制器4传送数据时,高速缓存存储器3被更新。这时,多路复用器63和64(与中央处理单元1相连)转向与DMA控制器4相接从而为高速缓存存储器3中的存储单元接收数据并将之送至高速缓存存储器3。

    另外,基于以上更新指令,高速缓存存储器控制器2把内部标识存储器的内容转变为与被更新块相应的标识。这种在高速缓存存储器控制器2和DMA控制器之间实现的转换就不影响到中央处理单元1。

    如果高速缓存存储器3中的存储单元(数据被送往此处)不被中央处理单元1使用的话,数据传送就能与中央处理单元1的处理同时完成,这就不需中止中央处理单元1的操作。但是如果被更新的高速缓存存储器3中的存储单元1被中央处理单元1所使用,就必须协调从中央处理单元1和DMA控制器4发出的存取要求。

    存取协调的完成可以通过多种方法完成。例如,可以使对中央处理单元1发出的处理中止信号保持插入状态,直到高速缓存存储器被更新。这种方法能确使程序的完成而没有操作失误,尽管中央处理单元1可能更长时间地处于中止状态。其中止状态时间取决于发出更新指令的时间。

    另一种协调方法能防止DMA控制器4对高速缓存存储器的存取,直到中央处理单元1中止处理。

    依据本发明设计的高速缓存存储器系统有如下优点。

    本发明的第一个优点是本高速缓存存储器系统不需要监控程序的特殊装置,这样就减小了电路的规模。

    本发明的第二个优点是高速缓存存储器系统使硬件规模不扩大。这是因为,高速缓存存储器系统不使用有两个或更多端口的存储器。

    本发明的第三个优点是高速缓存存储器的更新时间可以自由设定。

    这是因为,使用者为了更新缓存可以随时在命令寄存器中指明一数据转移指令。因此,当高速缓存存储器存储单元尺寸增大或当主存储器存取时间改变时,命令数据传送指令可以被及早指定,以使高速缓存存储器的更新完成。

    本发有的第四个优点是高速缓存存储器系统不需要另外的编译器。因此,不需要增加另外的开发成本。

    需要指出的是,对于本领域的专业技术人员来说,还可以在不脱离如上文所公开以及所附权利要求所限定的本发明宗旨和范围,作出各种显而易见的改动。

高速缓存存储器系统.pdf_第1页
第1页 / 共13页
高速缓存存储器系统.pdf_第2页
第2页 / 共13页
高速缓存存储器系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《高速缓存存储器系统.pdf》由会员分享,可在线阅读,更多相关《高速缓存存储器系统.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明提供一种高速缓存存储器系统,该系统可使用户不需增加特殊硬件而提前更新高速缓存存储器。该高速缓存存储器系统包括多个存储单元、一发送更新指令的高速缓存存储器系统和一传送数据的DMA控制器。高速缓存存储器控制有一命令寄存器,存放着来自中央处理单元的一高速缓存存储器更新指令。当高速缓存存储器未命中时,或当高速缓存存储器控制发现数据被写入命令寄存器时,高速缓存存储器控制器就发出一DMA传送指令给DMA。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1