缓冲存储器、gpu、处理系统及缓存访问方法
技术领域
1.本申请涉及存储器访问技术,尤其涉及一种缓冲存储器、gpu、处理系统及缓存访问方法。
背景技术:
2.图形处理器(graphics processing unit,简称gpu)是一种专门用于对图像或图形进行处理的微处理器,应用在电子终端的显示系统中,能够减轻中央处理器(central processing unit,简称cpu)在图像或图形处理方面的压力。
3.gpu内设有高速缓存cache和多个运算单元,每个运算单元可作为一个访问源对cache进行访问。当多个访问源对cache进行访问时,需要经过仲裁,然后将多个访问源进行排序后,依次进行访问。这种访问方式效率较低,会导致多个运算单元一直处于等待阶段或出现瓶颈效应而不能正常工作,进而降低了gpu的处理效率。而且,当cache出现命中失效时,会挂起所有后续的读写访问转而执行cache中某一数据块的替换操作,进一步延长了运算单元的等待时间。
技术实现要素:
4.本申请实施例中提供了一种缓冲存储器、gpu、处理系统及缓存访问方法,用于解决传统方案中访问源对缓冲存储器进行访问的效率较低的问题。
5.本申请第一方面实施例提供一种缓冲存储器,包括:
6.多个访问地址比对单元,用于接收多个访问源发送的访问地址并将所述访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;其中,所述多个访问地址比对单元彼此之间相互独立;
7.数据访问管理单元,用于接收所述访问地址比对单元发送的比对结果,并在比对结果为命中时,控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过所述数据通道对数据存储单元中的缓冲数据块进行访问;
8.数据存储单元,用于存储多个缓冲数据块;
9.所述地址存储单元,用于存储各缓冲数据块对应的块地址;
10.数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。
11.本申请第二方面实施例提供一种图形处理器gpu,包括:多个运算单元以及如上所述的缓冲存储器。
12.本申请第三方面实施例提供一种处理系统,包括:如上所述的图形处理器gpu。
13.本申请第五方面实施例提供一种应用如上缓冲存储器的缓存访问方法,包括:
14.多个访问地址比对单元接收多个访问源发来的访问地址并将所述访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;所述多个访问地址比对单元彼此之间相互独立;
15.数据访问管理单元接收各访问地址比对单元发送的比对结果,并在比对结果为命
中时,控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过所述数据通道对数据存储单元中的缓冲数据块进行访问;
16.所述数据存储单元用于存储多个缓冲数据块;所述地址存储单元用于存储各缓冲数据块对应的块地址;所述数据通道管理单元包括多个数据通道,各数据通道之间相互独立。
17.本申请实施例提供的技术方案,采用多个访问地址比对单元用于接收多个访问源发送的访问地址并将该访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;多个访问地址比对单元之间彼此相互独立;数据访问管理单元用于接收访问地址比对单元发送的比对结果,并在比对结果为命中时控制数据通道管理单元中的对应数据通道选通以使相应的访问源通过该数据通道对数据存储单元中的缓冲数据块进行访问;数据存储单元,用于存储多个缓冲数据块;所述地址存储单元,用于存储各缓冲数据块对应的块地址;数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。上述技术方案通过多个访问地址比对单元相互独立工作,接收多个访问源发来的访问地址并与缓冲数据块的块地址进行比对,当比对结果为命中时通过数据访问管理单元控制对应的数据通道选通,以使各访问源相互独立地通过对应的数据通道对数据存储单元中的缓冲数据块进行访问,提高了访问效率。
附图说明
18.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
19.图1为本申请实施例一提供的缓冲存储器的结构框图;
20.图2为本申请实施例五提供的gpu的结构框图;
21.图3为本申请实施例五提供的处理系统的结构框图;
22.图4为本申请实施例六提供的缓存访问方法的流程图。
具体实施方式
23.为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
24.实施例一
25.本实施例提供一种缓冲存储器,能够应用于处理器中,该处理器可以为中央处理器(central processing unit,简称:cpu),也可以为图形处理器(graphics processing unit,简称:gpu),还可以为其他的处理器。处理器除了包括缓冲存储器之外,还包括多个运算单元,每个运算单元可作为一个访问源对缓冲存储器进行访问。本实施例提供的缓冲存储器为多个访问源提供接口,以使多个访问源能同时进行访问。
26.上述处理器可应用于处理系统,处理系统包括处理器、只读存储器(read only memory,简称:rom)、随机存取存储器(random access memory,简称:ram)等。其中,处理器内设置有上述缓冲存储器,从缓冲存储器的角度来看,ram也可以称为外部存储器。
27.图1为本申请实施例一提供的缓冲存储器的结构框图。如图1所示,本实施例提供的缓冲存储器包括:地址存储单元1、访问地址比对单元2、数据访问管理单元3、数据通道管理单元4和数据存储单元5。
28.其中,将从外部存储器获取到的数据划分为多个缓冲数据块,存储在数据存储单元5内。访问源可以从数据存储单元5内读出缓冲数据块,也可以修改缓冲数据块的内容。每个缓冲数据块对应的块地址存储在地址存储单元1中。
29.数据通道管理单元4具有多个数据通道,多个数据通道之间相互独立,并行工作。至少一个数据通道可以与数据存储单元5选通,以使至少一个访问源可以通过对应的数据通道对数据存储单元5中的缓冲数据块进行读写。
30.访问地址比对单元2的数量为多个,多个访问地址比对单元2用于接收多个访问源发送的访问地址,并将该访问地址与地址存储单元1中的块地址进行比对。具体的,每一个访问地址比对单元2用于接收一个访问源发来的访问地址,并将该访问地址与上述地址存储单元1中存储的块地址进行比对,并产生比对结果。多个访问地址比对单元2之间彼此相互独立,可并行工作。当访问地址与地址存储单元1中存储的某一个块地址经比对后相同,则访问地址比对单元2产生命中的比对结果;当访问地址与地址存储单元1中存储的任何一个块地址都不相同,则访问地址比对单元2产生未命中的比对结果,或者也可以称为失效的比对结果。
31.数据访问管理单元3用于接收访问地址比对单元2发送的比对结果。当比对结果为命中时,数据访问管理单元3控制对应的数据通道选通,以使相应的访问源能够通过该数据通道对数据存储单元5中的缓冲数据块进行访问。
32.当有一个访问源对缓冲存储器进行访问时,其中一个访问地址比对单元2接收该访问源的访问地址,并对该访问地址与地址存储单元1中存储的块地址进行比对,产生比对结果后发送给数据访问管理单元3。当比对结果为命中时,数据访问管理单元3控制数据通道管理单元4中的一个数据通道选通,以使访问源通过该数据通道对数据存储单元5中的对应缓冲数据块进行访问。
33.当有两个以上访问源对缓冲存储器进行访问时,相同数量的访问地址比对单元2各自接收一个访问源的访问地址,并分别对接收到的访问地址与地址存储单元1中存储的块地址进行比对,产生比对结果后发送给数据访问管理单元3。对于比对结果为命中的情况,数据访问管理单元3控制与命中结果数量相同的数据通道选通,以使各访问源各自通过一个数据通道对数据存储单元5中对应的缓冲数据块进行访问。
34.举例说明:当有三个访问源a、b、c对缓冲存储器进行访问时,三个访问源a、b、c分别向缓冲存储器发送访问地址。三个访问地址比对单元2各自接收一个访问源的访问地址,并对接收到的访问地址与地址存储单元1中存储的块地址进行比对,产生比对结果后发送给数据访问管理单元3。
35.假设三个比对结构均为命中,则数据访问管理单元3控制三个数据通道选通,三个访问源a、b、c分别通过一个数据通道对数据存储单元5中对应的缓冲数据块进行访问,三个访问源a、b、c可并行访问,互不干涉。
36.假设访问源a和b对应的两个比对结果为命中,则数据访问管理单元3控制两个数据通道选通,两个访问源a、b分别通过一个数据通道对数据存储单元5中对应的缓冲数据块
进行访问,两个访问源a、b可并行访问,互不干涉。
37.本实施例提供的技术方案,采用多个访问地址比对单元用于接收多个访问源发送的访问地址并将该访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;多个访问地址比对单元之间彼此相互独立;数据访问管理单元用于接收访问地址比对单元发送的比对结果,并在比对结果为命中时控制数据通道管理单元中的对应数据通道选通以使相应的访问源通过该数据通道对数据存储单元中的缓冲数据块进行访问;数据存储单元,用于存储多个缓冲数据块;所述地址存储单元,用于存储各缓冲数据块对应的块地址;数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。上述技术方案通过多个访问地址比对单元相互独立工作,接收多个访问源发来的访问地址并与缓冲数据块的块地址进行比对,当比对结果为命中时通过数据访问管理单元控制对应的数据通道选通,以使各访问源相互独立地通过对应的数据通道对数据存储单元中的缓冲数据块进行访问,提高了访问效率。
38.实施例二
39.本实施例是在上述实施例的基础上,对缓冲存储器进行优化:
40.如图1所示,缓冲存储器还包括:外存访问单元6。上述访问地址比对单元2产生的比对结果为失效时,数据访问管理单元3控制外存访问单元6从外部存储器中读取访问源发送的访问地址对应的数据块并写入数据存储单元5,以及根据读取到的数据块对应的地址更新地址存储单元1。之后,访问地址比对单元2重新对访问地址与块地址进行比对,若地址命中,则选通数据通道对数据存储单元5中的缓冲数据块进行访问。
41.具体的,外存访问单元6可以包括:外存访问模块和回写数据缓存模块。外存访问模块将从外部存储器读取到的数据块预存入装载数据缓存模块进行缓存,再写入数据存储单元5。
42.当有多个访问源对缓冲存储器进行访问时,仅将地址比对失效的访问源挂起,然后通过外存访问单元6从外部存储器中读数。而其余地址命中的访问源可以并行通过各数据通道对缓冲数据块进行访问。上述对访问源进行挂起的操作不会影响其他地址命中访问源的正常访问操作,能够提高数据存储单元5的利用率,解决了传统方案中当某个访问源的访问操作被挂起后其余访问源必须一直等待所造成的访问效率低的问题。
43.上述过程中,需要选中一个待替换数据块用于存储将要从外部存储器读取的数据。该待替换数据块可以为利用率最低的数据块,例如可以通过最近最少使用算法来确定。
44.当选中的待替换数据块在运行过程中未被修改过,相当于其数据内容与外部存储器是相同的,则可以直接将从外部存储器读取的数据替换该待替换数据块。
45.但是,当选中的待替换数据块在运行过程中被修改过,相当于其数据内容与外部存储器不同,则需要先将该选中的待替换数据块回写至外部存储器,然后再将从外部存储器读取的数据替换该待替换数据块。具体的,外存访问单元6还包括装载数据缓存模块。其中,外存访问模块用于在收到数据访问管理单元3在比对结果为失效后发出的控制指令时将选中的待替换数据块预存入回写数据缓存模块进行缓存,然后回写入外部存储器。之后,将从外部存储器读取到的数据块预存入装载数据缓存模块,并写入数据存储单元5以替换上述待替换数据块。然后数据访问管理单元3将待替换数据块的地址发送给地址存储单元1,以使地址存储单元1对应更新块地址。
46.实施例三
47.本实施例是在上述实施例的基础上,对缓冲存储器进行优化,尤其是对地址存储单元1和访问地址比对单元2进行优化:
48.地址存储单元1中可存储有与所有缓冲数据块对应的块地址。访问地址比对单元2可以将从访问源接收到的访问地址与地址存储单元1中所有块地址进行比对。
49.或者,也可以对块地址进行分组,将与各访问源相关联的缓冲数据块对应的块地址划分为一组,则访问地址比对单元2在接收到一个访问源的访问地址时,可以仅对于该访问源相关联的那一组块地址进行比对,减少比对的数量及次数,缩短比对时间,有利于提高访问效率。
50.一种具体的实现方式为:地址存储单元1采用组相联的方案,在地址存储单元1的每项地址中存放多组缓冲数据块的地址,一项地址中的所有缓冲数据块的地址均与一个访问源相关联。
51.进一步的,地址存储单元1包括多个寄存器组,每个寄存器组用于存储多个块地址,具体可以为与一个访问源对应的缓冲数据块的多个块地址。采用寄存器组能够提高多个读地址入口,便于访问地址比对单元2获取块地址,有利于实现对多个访问源进行寻址和地址比对。在实际应用过程中,可根据地址存储单元1的容量与面积确定寄存器组的构成。
52.一种具体的实现方式:访问地址比对单元2包括:地址获取模块和地址比对模块,其中,地址获取模块用于获取访问源发来的访问地址。地址比对模块用于截取访问地址中的高位部分,并将高位部分与地址存储单元1中存储的多个块地址进行比对,然后输出比对结果。当地址命中时,比对结果包含地址命中信息以及命中的块地址编号。
53.进一步的,当地址存储单元1采用多个寄存器组实现时,访问地址比对单元2还包括地址获取模块,用于根据访问源发来的访问地址确定目标寄存器组,并获取该目标寄存器组中的块地址,以使地址比对模块对访问地址中的高位部分与目标寄存器组中的块地址进行比对。实现了访问地址比对单元2仅对于该访问源相关联的目标寄存器组中的块地址进行比对,减少比对的数量及次数,缩短比对时间,有利于提高访问效率。
54.实施例四
55.本实施例是在上述实施例的基础上,提供一种缓冲存储器的实现方式:
56.如图1所示,本实施例提供的缓冲存储器包括:地址存储单元1、访问地址比对单元2、数据访问管理单元3、数据通道管理单元4和数据存储单元5。
57.将地址存储单元1称为cache tag,地址存储单元1的数量为一个。将外部存储器读取到的数据分成若干数据块,每个数据块称为cache line。若干数据块存入数据存储单元5中,数据块的块地址存储在地址存储单元1中。
58.地址存储单元1采用组相联的方案,采用寄存器组实现,能够对多个访问源进行同时寻址和读数,避免多个访问源的访问产生冲突。
59.采用8路访问地址比对单元2,能够同时对8个访问源的访问地址进行比对。各访问地址比对单元2的启动可根据访问源的数量按顺序分配,即:将第一路访问地址比对单元2分配给第一个发起访问的访问源,将第二路访问地址比对单元2分配给第二个发起访问的访问源,以此类推。或者,8路访问地址比对单元2可以与访问源一一对应,即:一个访问地址比对单元2用于接收对应的固定访问源发来的访问地址,并对该访问地址与块地址进行比
对。
60.具体的,如图1所示,8个访问地址比对单元2分别为:0号访问地址比对单元至7号访问地址比对单元。其中,0号地址比对单元对应接收0号访问源发来的访问地址并进行比对,1号地址比对单元对应接收1号访问源发来的访问地址并进行比对,以此类推。
61.访问地址比对单元2将访问地址的高位部分与地址存储单元1寻址输出的多项块地址进行同步比对,当比对结果为命中时输出命中信息以及命中的块地址编号。多个访问地址比对单元2各自独立,可以同时运行。8个访问地址比对单元2分别将比对结果均发送给数据访问管理单元3。
62.数据存储单元5用于存储缓冲数据块。本实施例中的数据存储单元5采用多个随机存取存储器ram体拼接而成,每个ram体存储有多个缓冲数据块,多个ram体之间相互独立。每个ram体均提供访问接口,能够满足多个访问源同时对不同ram体进行访问的需求。当多个访问源同时访问不同的ram体时,数据存储单元5能够同时响应多个访问源的访问需求。而且,在命中的ram体执行读写操作时,被选中作为待替换数据块对应的ram体能同步执行数据替换操作,与命中的ram体互不影响。ram体的拼接构成具体可根据缓冲存储器的面积、功耗、效率等因素进行确定。
63.当有多个访问源命中同一缓冲数据块时,可以按照访问顺序或按照优先级依次进行访问。
64.数据通道管理单元4中的数据通道的数量可以与访问源的数量相同,数据通道可以根据访问源的访问顺序进行分配,例如:将第一个数据通道分配给第一个访问的访问源,将第二个数据通道分配给第二个访问的访问源,依次类推。
65.或者,数据通道与访问源一一对应,即:访问源通过与其对应的专用数据通道对数据存储单元5进行访问。如图1所示,采用8个数据通道分别为0号数据通道至7号数据通道。其中,0号数据通道与0号访问源一一对应,1号数据通道与1号访问源一一对应,以此类推。数据通道管理单元4中还设置有数据选通模块,用于使至少两个数据通道同时与数据存储单元选通。数据选通模块接收数据访问管理单元在或者地址比对结果为命中时控制数据通道模块将相应的数据通道选通。
66.每个数据通道包含有读数据通道和写数据临时缓存。各数据通道相互独立,当地址比对命中时,每个数据通道独立完成访问操作,可以从ram体中读数,也可以向ram体中写数。
67.当地址比对失效时,外存访问单元6用于按照外部协议向外部存储器发送读写命令,将ram体获取需要回写至外部存储器中的缓冲数据块并写回外部存储器,临时接收并存放从外部存储器获取到的访问源所需的数据块,待数据存储单元5允许时更新对应的待替换数据块,并通过数据访问管理单元3更新地址存储单元1。例如:待替换数据块的数据为x,先将x写回外部存储器,再将外部存储器中的数据y读出并在数据存储单元5允许时将待替换数据块替换为y。
68.上述待数据存储单元5允许时,可以为在判断出待替换数据块对应的存储区域没有被其他访问源命中时,视为允许更新待替换数据块。
69.数据访问管理单元3作为缓冲存储器的全局管理模块,全局管理上述各个单元协同运行。
70.本实施例中的数量8仅为举例说明,实际上访问地址比对单元2的数量以及数据通道的数量可以不限定为8个,可以为小于8,也可以为大于8。
71.另外,当出现有多个访问源的地址比对出现失效时,只需要将比对失效对应的访问源挂起,依照访问顺序或依照优先级通过外存访问单元6执行缓冲数据块替换操作。比对命中的访问源可以正常执行访问操作,提高数据存储单元5的利用率。
72.上述实施例中的地址存储单元1、访问地址比对单元2、数据访问管理单元3、数据通道管理单元4和数据存储单元5可采用硬件结构搭建而成,本实施例不限定每个单元的具体硬件结构,只要能实现上述各单元的功能即可。
73.实施例五
74.图2为本申请实施例五提供的gpu的结构框图。如图2所示,本实施例提供一种图形处理器gpu,包括:多个运算单元21以及缓冲存储器22,多个运算单元21可作为访问源访问缓冲存储器22。缓冲存储器22可采用上述各实施例中的任一内容。
75.图3为本申请实施例五提供的处理系统的结构框图。如图3所示,本实施例提供一种处理系统,包括:上述图形处理器gpu 31,用于执行图形处理任务。另外,处理系统还可以包括中央处理器cpu 32和随机存取存储器ram 33。cpu32可向gpu31下发图形处理任务,gpu31执行图形处理任务。cpu32和gpu31工作过程中可对随机存取存储器33进行访问。
76.本实施例提供的gpu、处理系统及电子终端具备与上述缓冲存储器相同的技术效果。
77.实施例六
78.本实施例是在上述各实施例的基础上,提供一种缓存访问方法,可由上述缓冲存储器来执行。
79.图4为本申请实施例六提供的缓存访问方法的流程图。如图4所示,本实施例提供的缓存访问方法包括:
80.步骤401、多个访问地址比对单元接收多个访问源发来的访问地址,并将该访问地址与地址存储单元中存储的块地址进行比对,产生比对结果。
81.访问地址比对单元2的数量为多个,每一个访问地址比对单元2用于对应接收一个访问源发来的访问地址。各访问地址比对单元2彼此之间相互独立,可以并行工作。
82.多个缓冲数据块存储在数据存储单元内,各缓冲数据块对应的块地址存储在地址存储单元内。
83.各访问地址比对单元2在接收到访问源发来的访问地址之后,分别将访问地址与地址存储单元1中存储的块地址进行比对。地址存储单元1中存储的块地址是数据存储单元5中每个缓冲数据块的地址。
84.当访问地址与某一个块地址相同,则比对结果为命中;当访问地址与任一个块地址都不相同,则比对结果为失效。
85.步骤402、数据访问管理单元接收各访问地址比对单元发送的比对结果,并在比对结果为命中时控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过数据通道对数据存储单元中的缓冲数据块进行访问。
86.数据通道的数量为多个,各数据通道之间相互独立。每个数据通道都能够与数据存储单元对应选通。数据访问管理单元3接收访问地址比对单元2发送的比对结果,当比对
结果为命中时,控制对应的数据通道与数据存储单元5选通,以使访问源能够通过该数据通道对数据存储单元5中的缓冲数据块进行访问。
87.上述步骤中,各访问地址比对单元2相互独立进行工作,每个访问地址比对单元2都可以对访问地址进行获取和比对。各数据通道之间也是相互独立的,各数据通道的选通互不影响,因此能够供多个访问源同时进行访问。
88.本实施例提供的技术方案,采用多个访问地址比对单元用于接收多个访问源发送的访问地址并将该访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;多个访问地址比对单元之间彼此相互独立;数据访问管理单元用于接收访问地址比对单元发送的比对结果,并在比对结果为命中时控制数据通道管理单元中的对应数据通道选通以使相应的访问源通过该数据通道对数据存储单元中的缓冲数据块进行访问;数据存储单元,用于存储多个缓冲数据块;所述地址存储单元,用于存储各缓冲数据块对应的块地址;数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。上述技术方案通过多个访问地址比对单元相互独立工作,接收多个访问源发来的访问地址并与缓冲数据块的块地址进行比对,当比对结果为命中时通过数据访问管理单元控制对应的数据通道选通,以使各访问源相互独立地通过对应的数据通道对数据存储单元中的缓冲数据块进行访问,提高了访问效率。
89.在上述技术方案的基础上,当比对结果为比对失效时,数据访问管理单元3控制外存访问单元6从外部存储器读取访问源发送访问地址对应的数据块并写入数据存储单元中,然后更新地址存储单元1中存储的块地址。
90.一种实现方式:预先在数据存储单元中选中一个缓冲数据块作为待替换数据块,可将从外部存储器读取到的数据块替换该待待替换数据块。待替换数据块可以通过最近最少使用算法进行选中。
91.当选中的待替换数据块在运行过程中未被修改过,相当于其数据内容与外部存储器是相同的,则可以直接将从外部存储器读取的数据替换该待替换数据块。
92.当选中的待替换数据块在运行过程中被修改过,相当于其数据内容与外部存储器不同,则需要先将该选中的待替换数据块回写至外部存储器,然后再将从外部存储器读取的数据块替换该待替换数据块。
93.在外存访问单元6执行完从外部存储器获取数据块并替换数据存储单元5中选中的待替换数据块之后,通过数据访问管理单元3更新地址存储单元1,以使访问地址比对单元2重新进行地址比对。
94.另外,访问地址比对单元2在对地址比对的过程中,可以将访问地址中高位部分与块地址进行比对,能够减少比对的地址位数,缩短比对时间,提高访问效率。
95.本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机程序产品的形式。
96.本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
97.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
98.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
99.在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
100.尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
101.显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
技术特征:
1.一种缓冲存储器,其特征在于,包括:多个访问地址比对单元,用于接收多个访问源发送的访问地址并将所述访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;其中,所述多个访问地址比对单元彼此之间相互独立;数据访问管理单元,用于接收所述访问地址比对单元发送的比对结果,并在比对结果为命中时,控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过所述数据通道对数据存储单元中的缓冲数据块进行访问;数据存储单元,用于存储多个缓冲数据块;所述地址存储单元,用于存储各缓冲数据块对应的块地址;数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。2.根据权利要求1所述的缓冲存储器,其特征在于,还包括:外存访问单元,用于在数据访问管理单元接收到的比对结果为失效时,从外部存储器中读取访问源发送的访问地址对应的数据块,并写入数据存储单元。3.根据权利要求2所述的缓冲存储器,其特征在于,所述外存访问单元包括:外存访问模块和装载数据缓存模块;所述外存访问模块,用于在数据访问管理单元接收到的比对结果为失效时,从外部存储器中读取访问源发送的访问地址对应的数据块,并经装载数据缓存模块缓存后,写入数据存储单元。4.根据权利要求3所述的缓冲存储器,其特征在于,所述外存访问单元还包括:回写数据缓存模块;在所述外存访问模块从外部存储器中读取访问源发送的访问地址对应的数据块之前,还包括:外存访问模块将选中的待替换数据块经所述回写数据缓存模块缓存后,写入外部存储器;在所述外存访问模块从外部存储器中读取访问源发送的访问地址对应的数据块之后,还包括:所述外存访问模块将从外部存储器中读取到的数据块替换所述待替换数据块。5.根据权利要求1
‑
4任一项所述的缓冲存储器,其特征在于,所述地址存储单元包括:多个寄存器组,每个寄存器组用于存储与一个访问源对应的缓冲数据块的块地址。6.根据权利要求5所述的缓冲存储器,其特征在于,所述访问地址比对单元包括:访问地址获取模块,用于获取访问源发来的访问地址;地址比对模块,用于对访问地址中的高位部分与地址存储单元中存储的块地址进行比对,并产生比对结果。7.根据权利要求6所述的缓冲存储器,其特征在于,所述访问地址比对单元还包括:块地址获取模块,用于根据访问源发来的访问地址确定目标寄存器组,并获取所述目标寄存器组中的块地址,所述块地址用于地址比对模块对访问地址中的高位部分进行比对。8.根据权利要求1所述的缓冲存储器,其特征在于,所述访问地址比对单元与访问源一一对应,一个访问地址比对单元用于接收对应访问源发来的访问地址,并对该访问地址与块地址进行比对。9.根据权利要求1所述的缓冲存储器,其特征在于,所述数据存储单元由多个随机存取
存储器体拼接而成,每个随机存取存储器体均提供访问接口。10.根据权利要求1所述的缓冲存储器,其特征在于,所述数据通道管理单元中的数据通道与访问源一一对应,访问源通过与其对应的数据通道对数据存储单元进行访问。11.一种图形处理器gpu,其特征在于,包括:多个运算单元以及如权利要求1
‑
10任一项所述的缓冲存储器。12.一种处理系统,其特征在于,包括:如权利要求11所述的图形处理器gpu。13.应用权利要求1
‑
10任一项权利要求所述缓冲存储器的一种缓存访问方法,其特征在于,包括:多个访问地址比对单元接收多个访问源发来的访问地址并将所述访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;所述多个访问地址比对单元彼此之间相互独立;数据访问管理单元接收各访问地址比对单元发送的比对结果,并在比对结果为命中时,控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过所述数据通道对数据存储单元中的缓冲数据块进行访问;所述数据存储单元用于存储多个缓冲数据块;所述地址存储单元用于存储各缓冲数据块对应的块地址;所述数据通道管理单元包括多个数据通道,各数据通道之间相互独立。14.根据权利要求13所述的缓存访问方法,其特征在于,还包括:当比对结果为失效时,所述数据访问管理单元控制外存访问单元从外部存储器读取访问源发送的访问地址对应的数据块,并写入数据存储单元。15.根据权利要求14所述的缓存访问方法,其特征在于,在所述数据访问管理单元控制外存访问单元从外部存储器读取访问源发送的访问地址对应的数据块之前,还包括:所述数据访问管理单元控制外存访问单元将选中的待替换数据块写回外部存储器。16.根据权利要求13所述的缓存访问方法,其特征在于,访问地址比对单元将访问地址与地址存储单元中存储的块地址进行比对,具体为:访问地址比对单元将访问地址中的高位部分与地址存储单元中存储的块地址进行比对。
技术总结
本申请实施例提供一种缓冲存储器、GPU、处理系统及缓存访问方法,其中,缓冲存储器包括:多个访问地址比对单元,用于接收多个访问源发送的访问地址并将所述访问地址与地址存储单元中存储的块地址进行比对,产生比对结果;中,所述多个访问地址比对单元彼此之间相互独立;数据访问管理单元,用于接收所述访问地址比对单元发送的比对结果,并在比对结果为命中时,控制数据通道管理单元中的对应数据通道选通,以使相应的访问源通过所述数据通道对数据存储单元中的缓冲数据块进行访问;数据通道管理单元,包括多个数据通道,各数据通道之间相互独立。本申请提供的缓冲存储器、GPU、处理系统及缓存访问方法能够提高访问效率。及缓存访问方法能够提高访问效率。及缓存访问方法能够提高访问效率。
技术研发人员:龙斌
受保护的技术使用者:长沙景美集成电路设计有限公司
技术研发日:2021.03.02
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-7754.html