CN104504647A - 一种图形处理器的片上存储层次结构 - Google Patents
一种图形处理器的片上存储层次结构 Download PDFInfo
- Publication number
- CN104504647A CN104504647A CN201410752216.3A CN201410752216A CN104504647A CN 104504647 A CN104504647 A CN 104504647A CN 201410752216 A CN201410752216 A CN 201410752216A CN 104504647 A CN104504647 A CN 104504647A
- Authority
- CN
- China
- Prior art keywords
- memory
- layer
- register
- sheet
- data
- 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.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
一种图形处理器的片上存储层次结构,采用三层存储结构设计,分别是:寄存器层、片上SRAM层和显示存储器层。寄存器层与片上SRAM层相连,片上SRAM层与显示存储器层相连。寄存器层可以直接对片上SRAM层进行数据读写访问,也可以通过片上SRAM层对显示存储器层进行访问;片上SRAM层可以直接对显示存储器层进行读写访问。通过上述三层片上存储层次设计,不但能够隐藏图形处理过程中的存储器访问延迟、充分捕捉图形处理数据访问的局部性,还能够在图形处理器进行存储器数据访问时实现高效的数据缓冲,从而提升存储器数据带宽利用率。
Description
技术领域
本发明涉及计算机硬件技术领域,尤其涉及一种图形处理器的片上存储层次结构。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色处理器架构阶段、统一染色处理器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
而图形处理器的存储层次结构设计是GPU设计过程中的关键技术,也是GPU设计的难点之一,其设计的优劣直接影响图形处理性能。因此,如何通过合理的片上存储层次结构来捕捉数据访问局部性,从而隐藏数据访问延迟,以及如何对所读写的存储器数据进行缓冲,从而提升显示存储器数据带宽利用率是GPU设计的核心内容之一。
发明内容
本发明的目的是提供一种图形处理器的片上存储层次结构,从而能够降低图形处理过程中的数据访问延迟,提升显示存储器的数据带宽利用率。
本发明的技术解决方案是:
一种图形处理器的片上存储层次结构,其特殊之处在于:包括从上到下依次包括寄存器层、片上SRAM层和显示存储器层;
所述寄存器层直接对片上SRAM层进行数据读写访问,同时通过片上SRAM层对显示存储器层进行访问;片上SRAM层直接对显示存储器层进行读写访问。
上述寄存器层包括多个图形属性寄存器。
上述片上SRAM层包括多个高速缓冲器和至少一个图像数据缓冲器;
上述显示存储器层包括两个存储管理单元、第一存储器1和第二存储器2,所述存储管理单元包括两路独立的第一访存仲裁与存储保护单元1和第二访存仲裁与存储保护单元2、两路独立的第一存储控制器1和第二存储控制器2;
所述第一存储控制器1实现外部存储器芯片的数据访问和时序控制;
所述第一访存仲裁与存储保护单元1根据片上SRAM层的缓冲器的访问请求,第一控制第一存储控制器1从相应的第一存储器1中读写数据;
所述第二访存仲裁与存储保护单元2根据片上SRAM层的缓冲器的访问请求,控制第二存储控制器2从相应的第二存储器2中读写数据。
多个图形属性寄存器分别为颜色寄存器、深度寄存器、染色处理器内核中的通用寄存器和像素寄存器。
多个高速缓冲器分别为颜色高速缓冲器、深度高速缓冲器、染色处理器内核中的指令和数据高速缓冲器和图像数据缓冲器。
本发明的技术效果是:
1、本发明提供的图形处理器的片上存储层次结构不但能够降低图形处理过程中的数据访问延迟,充分捕捉图形处理数据访问的局部性,还能够在图形处理器进行存储器数据访问时实现高效的数据缓冲,从而提升存储器数据带宽利用率。
2、寄存器层直接对片上SRAM层进行数据读写访问,同时通过片上SRAM层对显示存储器层进行访问;片上SRAM层直接对显示存储器层进行读写访问,大幅提升显示存储器层的存储器数据带宽利用率,降低数据访问延迟。
3、当寄存器层数据访问存在局部性时,能够大幅减少对显示存储器层的访问请求数量,提高数据返回速度,从而提高访问速度。
附图说明
图1是本发明图形处理器的片上存储层次结构框图。
图2是本发明所述显示存储器层中存储访问控制和管理模块结构框图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,一种图形处理器的片上存储层次结构,其特征在于:所述结构包括三层存储结构,分别是:寄存器层、片上SRAM层和显示存储器层。寄存器层与片上SRAM层相连,片上SRAM层与显示存储器层相连。所述寄存器层包括:3D引擎在图形绘制过程中使用到的和处理完成后用来存储像素数据的寄存器;3D引擎在进行顶点和像素染色过程中,染色处理器内核中所集成的通用寄存器;显示控制模块在进行图像处理时用来存储像素数据的像素寄存器。所述片上SRAM层包括:用来缓存3D引擎图形绘制完成后图像数据的像素Cache和Z-buffer Cache;3D引擎在进行顶点和像素染色过程中,染色处理器内核用来缓存所执行指令和所需要数据的I-Cache和D-Cache;显示控制模块在进行图像处理的过程中用来进行行数据缓冲的SRAM。所述显示存储器层包括:2路独立的显示存储器通道,包括独立的存储访问控制和管理模块和显示存储器控制器。其中一路用来存储主机接口中命令处理器模块(CMD)和DMA模块,以及3D引擎在进行图形处理过程中所产生的和所用到的图形数据、纹理数据,以及3D引擎图形绘制产生的图像数据;另一路用来存储从外部数字视频接口所输入的两路视频数据。
下面分别详细介绍各层的具体结构及功能:
1 寄存器层。寄存器层主要包括以下几个模块内的寄存器:
1.1 3D引擎模块中的像素颜色寄存器:3D引擎的一个重要功能就是能够对所绘制像素的颜色进行各种处理,包括各种测试、逻辑操作等。而这些处理的前提是需要获取显示存储器颜色缓冲区中对应像素点的颜色,并存储在像素颜色寄存器中,然后再与当前绘制的像素颜色一起进行操作。片段处理单元首先访问SRAM层中的像素Cache,在不命中的情况下再访问第三层中的显示存储器,最终将得到的数据存入像素颜色寄存器中。
1.2 3D引擎模块中的像素深度寄存器:3D引擎的一个重要功能就是能够对所绘制像素的深度进行测试,从而剔除掉最终不会写入颜色帧缓冲区中的像素。而深度测试的前提是需要获取显示存储器深度缓冲区中对应像素点的深度数据,并存储在像素深度寄存器中,然后再与当前绘制的像素深度进行比较。片段处理单元首先访问SRAM层中的Z-buffer Cache,在不命中的情况下再访问显示存储器层深度缓冲区,最终将得到的深度数据存入像素深度寄存器中。
1.3 3D引擎模块中染色处理器内核的通用寄存器:染色处理器内核是RISC结构,在运行染色程序时均基于内核中的32个32b通用寄存器。当需要从显示存储器中获取数据时,染色处理器内核首先使用LOAD指令访问SRAM层中的指令和数据Cache,在不命中的情况下再访问显示存储器层中的指令和数据区域,最终将得到的数据同时存入指令和数据Cache和通用寄存器中。
1.4 显示控制器中的像素寄存器:在显示控制模块中,入缩放、旋转、抖动等图像处理功能需要在像素寄存器中进行,然后再由产生的结果最终驱动外部显示设备。像素寄存器从SRAM层中的各类图像数据缓冲器中读取像素颜色信息,然后再按照缩放、旋转、抖动等图像处理算法对像素寄存器中的颜色值进行相应处理,最终完成图像处理功能。
2 片上SRAM层。主要包括以下几个片上SRAM:
2.1 显示控制模块中的图像数据缓冲SRAM:显示控制模块除了具备驱动外部显示设备外,还具备其它一些图像处理功能,如图像抖动,图像缩放和图像旋转。为了实现这些功能,必须先对从显示存储器中读出的像素数据进行一定量的缓冲,然后再对缓冲的数据进行操作,而缓冲这些像素数据需要由SRAM来完成。如对一个1600*1200分辨率的一幅图像进行90°旋转,假设显示存储器一次突发长度是4*64b,则首先需要使用SRAM缓冲1200*4*64b,即37.5KB的像素数据,然后再进行行像素到列像素间的转换才能实现旋转功能。
2.2 染色处理器内核中的指令和数据Cache模块:3D引擎中的顶点和像素染色处理器为可编程结构,内部集成了1个或多个RISC处理器内核,从而能够采用软硬件协同的方式实现对顶点和像素的染色功能。为每个RISC处理器配置一个哈佛结构的指令和数据Cache,用来缓存该染色处理器内核需要的指令和数据。
2.3 Z-buffer Cache模块:该模块实现缓存像素深度数据的功能。Z-bufferCache模块中缓存了3D引擎模块在进行片段处理时需要访问的像素深度数据,当需要频繁读地址相同或者地址相连数据的时候能够提高读速度。Z-buffer Cache模块中还集成了深度数据预取模块,能够将片段处理模块需要访问的深度数据提前存入Z-buffer Cache中。如果是写像素深度数据,只有接收到绘图完成信号或者发生Z-buffer Cache缺失时,Z-buffer Cache才会把所有改写过的深度数据写回到深度帧缓冲区中,不需要每次读写深度数据时都访问帧缓冲区,减少了显示存储器的访问次数,提升了显示存储器的有效带宽。
2.4 像素Cache模块:该模块实现缓存像素数据的功能。像素cache里面存放了经常访问的数据,当需要频繁读相同数据的时候能够提高读速度;如果是写像素数据,只有接收到绘图完成信号或者接收到大块像素数据传送信号时,像素cache才会把所有改写过的数据写回到帧缓冲区中,不需要每次读写数据时启动帧缓冲区,减少了显示存储器的访问次数,提升了显示存储器的有效带宽。
3 显示存储器层,该层主要由以下子模块构成:
3.12 路独立的访存仲裁与存储保护模块:其中一路负责图形处理过程中需要存取的数据和图像,以及从像素Cache写入的图形数据的对帧缓冲区访问的管理;另外一路负责完成数字视频分量输入模块、显示控制模块对帧缓存访问的管理。实现图形处理和显示控制对存储器访问的分离。
3.22 路独立的显示存储器控制器模块:根据2路存储管理单元的存储器访问仲裁结果,2路独立的显示存储器控制器分别接收访存请求,并按照配置寄存器中所对应的工作模式访问片外存储器。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种图形处理器的片上存储层次结构,其特征在于:包括从上到下依次包括寄存器层、片上SRAM层和显示存储器层;
所述寄存器层直接对片上SRAM层进行数据读写访问,同时通过片上SRAM层对显示存储器层进行访问;片上SRAM层直接对显示存储器层进行读写访问。
2.根据权利要求1所述的图形处理器的片上存储层次结构,其特征在于:所述寄存器层包括多个图形属性寄存器。
3.根据权利要求2所述的图形处理器的片上存储层次结构,其特征在于:所述片上SRAM层包括多个高速缓冲器和至少一个图像数据缓冲器。
4.根据权利要求所述的图形处理器的片上存储层次结构,其特征在于:所述显示存储器层包括两个存储管理单元、第一存储器和第二存储器,所述存储管理单元包括两路独立的第一访存仲裁与存储保护单元和第二访存仲裁与存储保护单元、两路独立的第一存储控制器和第二存储控制器;
所述第一存储控制器实现外部存储器芯片的数据访问和时序控制;
所述第一访存仲裁与存储保护单元根据片上SRAM层的缓冲器的访问请求,第一控制第一存储控制器从相应的第一存储器中读写数据;
所述第二访存仲裁与存储保护单元根据片上SRAM层的缓冲器的访问请求,控制第二存储控制器从相应的第二存储器中读写数据。
5.根据权利要求2所述的图形处理器的片上存储层次结构,其特征在于:多个图形属性寄存器分别为颜色寄存器、深度寄存器、染色处理器内核中的通用寄存器和像素寄存器;
多个高速缓冲器分别为颜色高速缓冲器、深度高速缓冲器、染色处理器内核中的指令和数据高速缓冲器和图像数据缓冲器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410752216.3A CN104504647A (zh) | 2014-12-09 | 2014-12-09 | 一种图形处理器的片上存储层次结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410752216.3A CN104504647A (zh) | 2014-12-09 | 2014-12-09 | 一种图形处理器的片上存储层次结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104504647A true CN104504647A (zh) | 2015-04-08 |
Family
ID=52946041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410752216.3A Pending CN104504647A (zh) | 2014-12-09 | 2014-12-09 | 一种图形处理器的片上存储层次结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104504647A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN105550978A (zh) * | 2015-12-11 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向统一染色架构的gpu3d引擎片上存储层次结构 |
CN105574807A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器内嵌可编程染色器开发平台 |
CN114240731A (zh) * | 2022-02-22 | 2022-03-25 | 摩尔线程智能科技(北京)有限责任公司 | 图形处理器的分布式存储互联结构、显卡及访存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080143730A1 (en) * | 2005-12-16 | 2008-06-19 | Nvidia Corporation | Hierarchical processor array |
CN102262603A (zh) * | 2011-07-04 | 2011-11-30 | 西安华芯半导体有限公司 | 一种高级图形存储器 |
US20140304474A1 (en) * | 2013-04-04 | 2014-10-09 | Advanced Micro Devices, Inc. | Conditional Notification Mechanism |
-
2014
- 2014-12-09 CN CN201410752216.3A patent/CN104504647A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080143730A1 (en) * | 2005-12-16 | 2008-06-19 | Nvidia Corporation | Hierarchical processor array |
CN102262603A (zh) * | 2011-07-04 | 2011-11-30 | 西安华芯半导体有限公司 | 一种高级图形存储器 |
US20140304474A1 (en) * | 2013-04-04 | 2014-10-09 | Advanced Micro Devices, Inc. | Conditional Notification Mechanism |
Non-Patent Citations (4)
Title |
---|
XINXIN MEI ETC: "《Benchmarking the Memory Hierarchy of Modern GPUs》", 《11TH IFIP INTERNATIONAL CONFERENCE ON NETWORK AND PARALLEL COMPUTING(NPC 2014)》 * |
朱豪杰等: "《GPU命令处理器的存储管理单元设计》", 《西安邮电大学学报》 * |
田泽等: "《图形处理器低功耗设计技术研究》", 《计算机科学》 * |
肖灵芝等: "《异构多核图形处理器存储系统设计与实现》", 《电子技术应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN105550978A (zh) * | 2015-12-11 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向统一染色架构的gpu3d引擎片上存储层次结构 |
CN105574807A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器内嵌可编程染色器开发平台 |
CN105513003B (zh) * | 2015-12-11 | 2018-10-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN105550978B (zh) * | 2015-12-11 | 2018-12-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向统一染色架构的gpu 3d引擎片上存储层次结构 |
CN114240731A (zh) * | 2022-02-22 | 2022-03-25 | 摩尔线程智能科技(北京)有限责任公司 | 图形处理器的分布式存储互联结构、显卡及访存方法 |
CN114240731B (zh) * | 2022-02-22 | 2022-07-12 | 摩尔线程智能科技(北京)有限责任公司 | 图形处理器的分布式存储互联结构、显卡及访存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103608848B (zh) | 使用着色器处理器的实时片上纹理解压缩 | |
CN104503950B (zh) | 一种面向OpenGL API的图形处理器 | |
US7102646B1 (en) | Demand-based memory system for graphics applications | |
US5864512A (en) | High-speed video frame buffer using single port memory chips | |
JP5632891B2 (ja) | インライン画像回転 | |
US20020050959A1 (en) | High speed video frame buffer | |
US8994750B2 (en) | Cell-based composited windowing system | |
CN105550978A (zh) | 一种面向统一染色架构的gpu3d引擎片上存储层次结构 | |
US20170004647A1 (en) | Rendering graphics data on demand | |
US6674443B1 (en) | Memory system for accelerating graphics operations within an electronic device | |
CN103003838A (zh) | 在多处理单元中使用片上存储器的数据处理 | |
JP6335335B2 (ja) | タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム | |
EP3289560B1 (en) | Adaptive memory address scanning based on surface format for graphics processing | |
CN104504647A (zh) | 一种图形处理器的片上存储层次结构 | |
KR102554419B1 (ko) | 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치 | |
CN106648547A (zh) | 一种gpu图形状态参数的分布式统一管理方法 | |
CN102819820A (zh) | 基于分块渲染的gpu中多管线渲染的实现方法 | |
US9196014B2 (en) | Buffer clearing apparatus and method for computer graphics | |
KR20060044124A (ko) | 3차원 그래픽 가속을 위한 그래픽 시스템 및 메모리 장치 | |
CN103679786A (zh) | 图形处理单元可编程着色器的纹元数据结构和其操作方法 | |
US10013735B2 (en) | Graphics processing unit with bayer mapping | |
CA2817307A1 (en) | Cell-based composited windowing system | |
CN112581575A (zh) | 一种外视频做纹理系统 | |
US10475152B1 (en) | Dependency handling for set-aside of compute control stream commands | |
KR20230107554A (ko) | 컴퓨트 작업로드들의 래스터화를 위한 방법들 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150408 |