CN110377534B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN110377534B CN110377534B CN201810330125.9A CN201810330125A CN110377534B CN 110377534 B CN110377534 B CN 110377534B CN 201810330125 A CN201810330125 A CN 201810330125A CN 110377534 B CN110377534 B CN 110377534B
- Authority
- CN
- China
- Prior art keywords
- data
- virtual address
- address
- processing device
- service processing
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 228
- 230000015654 memory Effects 0.000 claims abstract description 184
- 238000013507 mapping Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 23
- 238000007906 compression Methods 0.000 claims description 19
- 230000006835 compression Effects 0.000 claims description 19
- 230000006837 decompression Effects 0.000 claims description 15
- 238000007726 management method Methods 0.000 description 77
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Abstract
本发明实施例涉及数据处理技术领域,公开了一种数据处理方法及装置,该数据处理装置包括:图形处理器、业务处理装置以及第一内存管理单元;所述图形处理器,用于请求第一虚拟地址对应的第一数据;所述业务处理装置,用于将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至所述第一内存管理单元;所述第一内存管理单元,用于根据第一映射表查找与所述第二虚拟地址对应的第一物理地址;所述业务处理装置,还用于获取在外部存储器内的所述第一物理地址存储的所述第二数据;所述业务处理装置,还用于处理所述第二数据以得到所述第一数据,在没有总线和所述外部存储器参与的情况下将所述第一数据输出至所述图形处理器。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及计算机可读介质。
背景技术
在手机、电视等消费电子领域,支持4K视频播放的手机、4K电视逐渐普及,8K电视也逐渐走进人们的生活。随着视频分辨率的提升,对系统带宽的需求也越来越大,芯片设计人员普遍采用图像数据压缩技术来降低系统带宽的占用。
但是,在同一个芯片中,若两个需要直接传输数据的功能模块采用了不同的压缩技术,就会存在两者之间的兼容问题。一个比较典型的场景,比如全景视频播放,需要将解码后的视频数据发送给图形处理器(Graphics Processing Unit,GPU)进行渲染,然后输出到显示器进行显示。如果一个视频播放装置中采用的GPU以及解码器各自使用的压缩技术不同,例如,该GPU采用的是第一压缩技术,而该解码器采用的是第二压缩技术,第一压缩技术和第二压缩技术不同,则该解码器解码输出的数据就不能直接发送给GPU进行处理。也就是说,当GPU和解码器采用的压缩技术不同时,GPU不能识别或直接使用解码器输出的数据。当解码器和GPU由不同厂家提供时,这种问题会比较常见。可见,当GPU和某个功能模块不兼容时,GPU不能识别该功能模块输出的数据,这时需要将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至GPU。
对于将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至GPU的问题。当前,采用的一种技术方案是通过一个独立的业务处理装置将GPU不可识别或使用的数据转换成GPU可识别或使用的数据并存储到内存,GPU从内存读取该可识别或使用的数据并进行处理。请参阅图1,图1为现有技术中一种将GPU不可识别或使用的数据转换成GPU可识别或使用的数据并输出至GPU的流程示意图。如图1所示,101表示GPU不可识别或使用的数据,102表示业务处理装置,103表示业务处理装置输出的GPU可识别或使用的数据,104表示GPU。其中,业务处理装置将GPU不可识别或使用的数据转换为GPU可识别或使用的数据,并存储到内存,GPU通过总线从内存读取可识别或使用的数据。在这个方案中,业务处理装置需要将输出的GPU可识别或使用的数据写入内存,GPU需要从内存读取可识别或使用的数据。可见,上述技术方案中,将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至GPU,需要占用很多系统带宽。
发明内容
本申请提供了一种数据处理方法及装置,用于在将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至GPU的过程中节省系统带宽。
第一方面本发明实施例提供了一种数据处理装置,包括:图形处理器、业务处理装置以及第一内存管理单元(Memory Management Unit,MMU);所述图形处理器与所述第一内存管理单元分别与业务处理装置耦合;所述图形处理器,用于请求第一虚拟地址对应的第一数据,所述第一数据为所述业务处理装置处理后的数据且能够被所述图形处理器使用或识别;所述业务处理装置,用于将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至所述第一内存管理单元,所述第二虚拟地址对应所述业务处理装置处理前的第二数据;所述第一内存管理单元,用于根据第一映射表查找与所述第二虚拟地址对应的第一物理地址;所述业务处理装置,还用于获取在存储器内的所述第一物理地址存储的所述第二数据,所述第二数据不能够被所述图形处理器使用或识别,所述数据处理装置通过总线耦合至所述存储器;所述业务处理装置,还用于处理所述第二数据以得到所述第一数据,在没有所述总线或所述存储器中的一个或全部参与的情况下将所述第一数据输出至所述图形处理器。所述第二数据和所述第一数据是不同类型或格式的数据。
可选地,所述业务处理装置用于将第二数据转换为所述第一数据,以使得所述图形处理器能够使用所述第一数据。可选地,所述业务处理装置包括如下至少一个:解压缩单元、压缩单元、解密单元或加密单元。所述业务处理装置可以执行解压操作、压缩操作、解密操作或加密操作等中的至少一个。例如,该业务处理装置一个典型的示例是解压缩单元。本申请中,业务处理装置可实现多种数据处理操作,可应用于多个场景。
可选地,所述第一内存管理单元可以根据所述第一映射表将所述第二虚拟地址映射为所述第一物理地址。所述第一映射表包含至少一个虚拟地址和至少一个物理地址的对应关系。所述业务处理装置可以实现地址转换功能,即将所述第一虚拟地址转换为所述第二虚拟地址。所述第一映射表可以为所述图形处理器或其他处理器运行的驱动软件配置的。
本申请中,在数据处理装置未存储有图形处理器所请求的第一数据的情况下,业务处理装置获取第二数据,处理该第二数据得到该第一数据,并输出至该图形处理器;可以将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至该图形处理器,并节省系统带宽。
可选地,业务处理装置与图形处理器之间传输第二数据的通道是除了总线之外的其他接口。可选地,所述装置是集成电路。
在一个可选的实现方式中,提供了一种虚拟地址转换方法,具体如下:所述业务处理装置,还用于获取业务信息;所述业务信息包含将所述第一虚拟地址转换为所述第二虚拟地址所需的信息;所述业务处理装置,具体用于根据所述业务信息将所述第一虚拟地址转换为所述第二虚拟地址。
可选地,所述第一虚拟地址对应所述第一数据,所述第二虚拟地址对应所述第二数据。所述业务处理装置处理所述第二数据可以得到所述第一数据。所述业务处理装置将所述第一虚拟地址转换为所述第二虚拟地址可以理解为所述业务处理装置根据所需输出至所述图形处理器的所述第一数据对应的虚拟地址,确定得到所述第一数据所需的所述第二数据对应的虚拟地址。所述第一数据为所述业务处理装置的待输出数据,即待输出至所述图形处理器的数据。
本申请中,业务处理装置可以将待输出数据对应的虚拟地址转换为得到该待输出数据所需的数据对应的虚拟地址,以便于该业务处理装置得到该待输出数据,实现简单。
在一个可选的实现方式中,所述数据处理装置还包括第二内存管理单元,耦合在所述图形处理器和所述业务处理装置之间;所述图形处理器,具体用于向所述第二内存管理单元发送第一数据获取请求,所述第一数据获取请求包括第三虚拟地址,所述第三虚拟地址用于指示所述第一虚拟地址;所述第二内存管理单元,用于根据第二映射表查找与所述第三虚拟地址对应的所述第一虚拟地址并进一步向所述业务处理装置请求所述第一虚拟地址对应的所述第一数据。
可选地,所述第二内存管理单元分别与所述图形处理器和所述业务处理装置相耦合。所述第二映射表可以为所述图形处理器或其他处理器运行的驱动软件配置的。所述第二映射表包含至少一个虚拟地址到虚拟地址的映射关系。所述第二映射表还可以包含至少一个虚拟地址与至少一个物理地址的对应关系。所述第一虚拟地址和所述第三虚拟地址相同。
本申请中,图形处理器通过第二内存管理单元向业务处理装置请求数据,以便于得到业务处理装置输出的数据,实现简单、兼容性强。
在一个可选的实现方式中,所述图形处理器通过运行驱动软件执行以下至少一个操作:生成所述业务信息、配置所述第一映射表或配置所述第二映射表。
可选地,所述图形处理器通过运行驱动软件执行生成所述业务信息、配置所述第一映射表或配置所述第二映射表等操作,以便于所述图形处理器获取到所需的数据。所述驱动软件生成的所述业务信息与所述图形处理器请求的数据相对应。
本申请中,图形处理器通过运行驱动软件生成业务信息、配置第一映射表或配置第二映射表等,以便于满足图形处理器发出的各种数据获取请求,灵活度高,可以满足不同应用场景的需求。
在一个可选的实现方式中,所述业务处理装置,具体用于接收所述第一内存管理单元输入的所述第一物理地址,将所述第一物理地址输出至总线控制器,并接收所述总线控制器输出的所述第二数据,所述总线控制器通过所述总线耦合至所述存储器。
在一个可选的实现方式中,所述数据处理装置还包括地址过滤器,耦合在所述第二内存管理单元和所述业务处理装置之间;所述第二内存管理单元,具体用于向所述地址过滤器发送所述第一虚拟地址;所述地址过滤器,用于接收所述第一虚拟地址,在所述第一虚拟地址处于目标地址区间的情况下,将所述第一虚拟地址输出至所述业务处理装置。
可选地,所述地址过滤器将处于所述目标地址区间的地址输出至所述业务处理装置,未处于所述目标地址区间的地址不被向所述业务处理装置输出。
本申请中,地址过滤器将处于目标地址区间的地址输出到业务处理装置,可以减轻业务处理装置的处理负担。
在一个可选的实现方式中,所述图形处理器,还用于向所述第二内存管理单元发送第二数据获取请求,所述第二数据获取请求包括第四虚拟地址;所述第二内存管理单元,还用于根据所述第二映射表查找与所述第四虚拟地址对应的第二物理地址并向所述地址过滤器发送所述第二物理地址;所述地址过滤器,还用于接收所述第二物理地址,在所述第二物理地址未处于所述目标地址区间的情况下,通过总线控制器获取所述第二物理地址存储的第三数据,并输出所述第三数据至所述图形处理器。
本申请中,地址过滤器通过总线控制器获取未处于目标地址区间的地址存储的数据,并输出至图形处理器;可以快速地将图形处理器请求的数据输出至图形处理器。
第二方面,本申请提供了一种数据处理方法,应用于数据处理装置,所述数据处理装置包括依次耦合的图形处理器、业务处理装置以及第一内存管理单元,该方法包括:所述图形处理器请求第一虚拟地址对应的第一数据,所述第一数据为所述业务处理装置处理后的数据且能够被所述图形处理器使用或识别;所述业务处理装置将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至所述第一内存管理单元,所述第二虚拟地址对应所述业务处理装置处理前的第二数据;所述第一内存管理单元根据第一映射表查找与所述第二虚拟地址对应的第一物理地址;所述业务处理装置获取在存储器内的所述第一物理地址存储的所述第二数据,所述第二数据不能够被所述图形处理器使用或识别,所述数据处理装置通过总线耦合至所述存储器;所述业务处理装置处理所述第二数据以得到所述第一数据,在没有所述总线或所述存储器中的一个或全部参与的情况下将所述第一数据输出至所述图形处理器。所述第二数据和所述第一数据是不同类型或格式的数据。
本申请中,在数据处理装置未存储有图形处理器所请求的第一数据的情况下,业务处理装置获取第二数据,处理该第二数据得到该第一数据,并输出至该图形处理器;能够将GPU不可识别或使用的数据转换为GPU可识别或使用的数据,并节省系统带宽。
在一个可选的实现方式中,所述业务处理装置将所述第一虚拟地址转换为第二虚拟地址包括:所述业务处理装置获取业务信息;所述业务信息包含将所述第一虚拟地址转换为所述第二虚拟地址所需的信息;所述业务处理装置根据所述业务信息将所述第一虚拟地址转换为所述第二虚拟地址。
本申请中,业务处理装置可以将待输出数据对应的虚拟地址转换为得到该待输出数据所需的数据对应的虚拟地址,以便于该业务处理装置得到该待输出数据,实现简单。
在一个可选的实现方式中,所述数据处理装置还包括与所述图形处理器相耦合的第二内存管理单元;所述图形处理器请求第一虚拟地址对应的第一数据包括:所述图形处理器向所述第二内存管理单元发送第一数据获取请求,所述第一数据获取请求包括第三虚拟地址,所述第三虚拟地址用于指示所述第一虚拟地址;所述第二内存管理单元根据第二映射表查找与所述第三虚拟地址对应的所述第一虚拟地址并进一步向所述业务处理装置请求所述第一虚拟地址对应的所述第一数据。
本申请中,图形处理器通过第二内存管理单元向业务处理装置请求数据,以便于得到业务处理装置输出的数据,实现简单、兼容性强。
在一个可选的实现方式中,所述方法还包括执行以下至少一个操作:生成所述业务信息、配置所述第一映射表或配置所述第二映射表。本申请中,图形处理器通过运行驱动软件生成业务信息、配置第一映射表或配置第二映射表等,以便于满足图形处理器发出的各种数据获取请求,灵活度高。
在一个可选的实现方式中,所述业务处理装置获取在存储器内的所述第一物理地址存储的所述第二数据包括:所述业务处理装置接收所述第一内存管理单元输入的所述第一物理地址;将所述第一物理地址输出至总线控制器,并接收所述总线控制器输出的所述第二数据,所述总线控制器通过所述总线耦合至所述存储器。
在一个可选的实现方式中,所述数据处理装置还包括分别与所述第二内存管理单元和所述业务处理装置耦合的地址过滤器;所述业务处理装置将所述第二虚拟地址转换为第三虚拟地址之前,所述方法还包括:所述第二内存管理单元向所述地址过滤器发送所述第一虚拟地址;所述地址过滤器接收所述第二内存管理单元输入的所述第一虚拟地址;在所述第一虚拟地址处于目标地址区间的情况下,将所述第一虚拟地址输出至所述业务处理装置。
本申请中,地址过滤器将处于目标地址区间的地址输出到业务处理装置,可以减轻业务处理装置的处理负担。
在一个可选的实现方式中,所述方法还包括:所述图形处理器向所述第二内存管理单元发送第二数据获取请求,所述第二数据获取请求包括第四虚拟地址;所述第二内存管理单元根据所述第二映射表查找与所述第四虚拟地址对应的第二物理地址并向所述地址过滤器发送所述第二物理地址;所述地址过滤器接收所述第二物理地址,在所述第二物理地址未处于所述目标地址区间的情况下,通过总线控制器获取所述第二物理地址存储的第三数据,并输出所述第三数据至所述图形处理器。
本申请中,通过总线控制器获取未处于目标地址区间的地址存储的数据,并输出至图形处理器;可以快速地将图形处理器请求的数据输出至图形处理器。
在一个可选的实现方式中,所述业务处理装置包括如下至少一个:解压缩单元、压缩单元、解密单元或加密单元。
本申请中,业务处理装置可实现多种数据处理操作,可应用于多个场景。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被图形处理器执行时所述图形处理器执行上述第一方面和上述第二方面中生成所述业务信息、配置所述第一映射表或配置所述第二映射表的操作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为现有技术中一种将GPU不可识别或使用的数据转换成GPU可识别或使用的数据并输出至GPU的流程示意图;
图2为本申请提供的一种终端的结构示意图;
图3为本申请提供的一种将GPU不可识别或使用的数据转换成GPU可识别或使用的数据并输出至GPU的流程示意图;
图4为本申请提供的一种数据处理装置结构示意图;
图5为本申请提供的原始数据和压缩数据的结构示意图;
图6为本申请提供的另一种数据处理装置结构示意图。
具体实施方式
采用背景技术介绍的技术方案,在将GPU不可识别或使用的数据转换为GPU可识别或使用的数据并输出至GPU的过程中需要占用大量系统带宽。因此,本申请提供了一种数据处理方法及装置,用于节省系统带宽。本申请提供的数据处理装置及方法可以应用在台式电脑、笔记本电脑、电视机、手机、平板电脑、个人数字助理、可穿戴设备、游戏机、或摄像机等包含GPU的装置中。可选地,该系统带宽可包括总线带宽或存储器的读写带宽的一个或全部。
图2示出了本申请一个实施例的终端的结构示意图。如图2所示,终端200可包括:系统芯片210、存储器215(一个或多个计算机可读存储介质)、射频(RF)模块216、外围系统217。这些部件可在一个或多个通信总线214上通信。
外围系统217主要用于实现终端200和用户/外部环境之间的交互功能,主要包括终端200的输入输出装置。具体实现中,外围系统217可包括:触摸屏控制器218、摄像头控制器219、音频控制器220以及传感器管理模块221。其中,各个控制器可与各自对应的外围设备(如触摸屏223、摄像头224、音频电路225以及传感器226)耦合。需要说明的,外围系统217还可以包括其他I/O外设。
系统芯片210可包括:中央处理器211、图形处理器227、时钟模块222以及电源管理模块213。中央处理器211和图形处理器227既可以集成在一个集成电路中,也可以是各自分离的器件。图形处理器227可以被配置有一个或多个内存管理单元,并进一步与业务处理装置集成在一起,该业务处理装置可以执行读写、解压、解密、压缩以及加密等操作,以便将获取的外部数据转换为图形处理器227可识别或使用的数据。集成于系统芯片210中的时钟模块222主要用于为中央处理器211产生数据传输和时序控制所需要的时钟。集成于系统芯片210中的电源管理模块213主要用于为中央处理器211、射频模块216以及外围系统提供稳定的、高精确度的电压。系统芯片210可进一步包括总线控制器(图2未示出),用于管理通信总线214。本实施例中涉及的总线214可以包括各种类型的总线,如串行总线、并行总线、内部集成电路(Inter-Integrated Circuit,I2C)总线或外围元件互联高速(peripheralcomponent interconnect express,PCIe)总线等,用于耦合系统中不同的部件或模块。本实施例中系统芯片210仅是举例,其内部多个部件或功能可以由多个芯片或其他分离部件代替。
射频(RF)模块216用于接收和发送射频信号,主要集成了终端200的接收器和发射器。射频(RF)模块216通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(RF)模块216可包括但不限于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、SIM卡和存储介质等。在一些实施例中,可在单独的芯片上实现射频(RF)模块216。
存储器215与中央处理器211耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器215可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器215可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器215还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。存储器215还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
存储器215还可以存储一个或多个应用程序。如图2所示,这些应用程序可包括:社交应用程序(例如Facebook),图像管理应用程序(例如相册),地图类应用程序(例如谷歌地图),浏览器(例如Safari,Google Chrome)等等。
本申请中,中央处理器211可用于读取和执行计算机可读指令。具体的,中央处理器211可用于调用存储于存储器215中的程序,并执行该程序包含的指令。图形处理器227,可用于进行各种绘制计算机图形所需的运算,包括顶点设置、光影、像素操作等。
应当理解,终端200仅为本发明实施例提供的一个例子,并且,终端200可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
请参阅图3,图3为本申请提供的一种将GPU不可识别或使用的数据转换成GPU可识别或使用的数据的流程示意图,即将一个类型或格式的数据转换为另一个类型或格式但不改变数据内容。如图3所示,301表示GPU不可识别或使用的数据,302表示与业务处理装置集成的GPU,303表示GPU输出的数据。该业务处理装置可以将该GPU不可识别或使用的数据转换为该GPU可识别或使用的数据而不改变数据内容,并输出至该GPU。由于该业务处理装置与该GPU集成在一起,该业务处理装置向该GPU传输数据不需要经过总线,且相对于现有技术可以省掉读写内存的操作,从而到达节省系统带宽的目标。由于所述业务处理装置可以将得到的所述数据直接传输至所述图形处理器,不需要将所述数据存储到外部存储器再由所述图形处理器从所述存储器读取,可以减少系统的内存消耗以及内存读写消耗的带宽。
在本实施例中图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的处理器或微处理器。本实施例涉及的数据处理装置可以包括用于实现数据转换的硬件加速器、逻辑电路、或专用硬件中的一个或多个。
图4为本申请提供的一种数据处理装置的结构示意图,该装置可位于系统芯片210中,例如是系统芯片210内部的一部分集成电路。可选地,该装置也可以是系统芯片210本身,亦或是图2中的终端200。对于数据处理装置的具体形态本实施例不做具体限定。图4中的数据处理装置可包括:图形处理器410、业务处理装置420、第一内存管理单元430以及总线控制器440。业务处理装置420分别和图形处理器410、第一内存管理单元430以及总线控制器440耦合。其中,所述图形处理器410和所述业务处理装置420集成在一起。如图4所示,本申请中的数据处理装置可实现如下操作:401、图形处理器410或其他处理器运行的驱动软件为第一内存管理单元430配置第一映射表。所述第一映射表包含至少一个虚拟地址和至少一个物理地址的对应关系。所述其他处理器可以是中央处理器单元(CPU)或其他类型的可执行驱动软件的处理器设备。402、所述图形处理器410向业务处理装置420请求第一虚拟地址对应的第一数据。所述第一数据为所述业务处理装置420处理后的数据且能够被所述图形处理器420使用或识别。图4中的VA表示第一虚拟地址。403、所述业务处理装置420将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至第一内存管理单元430。所述第二虚拟地址对应所述业务处理装置420处理前的第二数据。该第二数据可以存储在数据处理装置外部的存储器,可以是如图2所示存储器215,还可以是系统芯片210中的缓存器(buffer)或片上存储器等。所述数据处理装置通过总线耦合至所述存储器。图4中的VA’表示第二虚拟地址。404、所述第一内存管理单元430根据第一映射表查找与所述第二虚拟地址对应的第一物理地址,并将所述第一物理地址输出至业务处理装置420。图4中的PA表示第一物理地址。405、所述业务处理装置420将所述第一物理地址输出至总线控制器440。406、所述业务处理装置420接收来自所述总线控制器440的第二数据,所述第二数据与所述第一数据是属于不同类型或格式,因此该第二数据不能够直接被所述图形处理器420使用或识别。407、所述业务处理装置420处理所述第二数据以得到第一数据,在没有所述总线或所述存储器中的一个或全部参与的情况下将所述第一数据输出至所述图形处理器410,以使得所述图形处理器410能够识别和使用所述第一数据。例如,业务处理装置420向所述图形处理器410提供的第一数据并不经过所述总线和所述存储器。在此种情况下,所述总线和所述存储器并没有参与到第一数据的传输中,使得所述总线带宽被节省,且所述存储器的存储空间和读写存储器的带宽也被节省,从而节省了总的系统带宽。可选地,所述业务处理装置420向所述图形处理器410传输第一数据的通道是除了总线之外的其他接口,如专用的电路接口。
本发明实施中所述存储器中地址有虚拟地址和物理地址之分,处理器或其他器件通过地址来访问存储器中的数据。例如,在存储器里以字节为单位存储信息,为了正确地存放或取得信息,每一个字节单元被给予一个唯一的存储器地址,称为物理地址。示例性地,物理地址从0开始编号,顺序地每次加1,因此存储器的物理地址空间是呈线性增长的。物理地址是用于寻址存储器中存储单元的地址信号,是地址变换的最终结果。处理器的外部总线可以通过系统芯片210的引脚耦合至存储器。虚拟地址是由编译程序生成的,是程序的逻辑地址。上述处理器可以是CPU、GPU以及其他处理器。
在本发明实施例中,虚拟内存管理(Virtual Memory Management)机制需要内存管理单元的支持。内存管理单元通常可以被视为是CPU或GPU的一部分,也可选择性位于CPU或GPU之外,即作为独立器件。如果CPU或GPU没有内存管理单元,或者有内存管理单元但没有启用,CPU或GPU执行单元发出的内存地址将直接传到芯片引脚上,如系统芯片210的引脚上,被实际物理存储器,例如被存储器215或系统芯片210中缓存器或片上存储器接收,这称为物理地址(Physical Address,PA)。如果处理器启用了内存管理单元,CPU或GPU执行单元发出的存储器地址将被内存管理单元截获,从CPU或GPU到内存管理单元的地址称为虚拟地址(Virtual Address,VA),而内存管理单元将这个地址翻译成另一个地址发到CPU或GPU所在芯片的外部地址引脚上,也就是将虚拟地址映射成物理地址。可见,内存管理单元负责虚拟地址到物理地址的映射。可以理解,内存管理单元可以将各进程对应的虚拟地址映射到该进程对应的物理地址空间,使得每个进程,例如CPU进程或GPU进程,拥有自己独立的物理地址空间。例如,内存管理单元实际生成的物理地址通常是不连续的离散地址,而虚拟地址对使用该地址的CPU或GPU而言是逻辑地址,使得所述逻辑地址看起来连续性更好。因此,在虚拟内存管理中,内存管理单元用于实现外部存储器地址到内部器件,如CPU或GPU的可使用和识别的地址之间的转换。另外,内存管理单元还可以提供硬件机制的内存访问权限检查,通过内存访问权限的检查能够保护每个进程所用的存储器中的内存不被其他进程破坏。在本发明实施例中,内存管理单元可以对GPU提供硬件机制的内存访问权限检查,保护GPU的进程所用的存储器中的内存不被其他进程破坏。
在本实施例中,业务处理装置420与图形处理器410集成在一起,并通过总线控制器440耦合至外部总线,从而进一步耦合至数据处理装置外部的存储器。在所述装置内部,业务处理装置420与图形处理器410之间用于传输数据的通道是除了所述总线之外的其他接口。因此,业务处理装置420与图形处理器410之间的数据传输不必经过总线或外部存储器,例如总线和外部存储器均不参与到所述数据传输,节省了包括总线带宽和存储器带宽在内的系统带宽。
在一个可选的实现方式中,提供了一种虚拟地址转换方法,具体如下:所述业务处理装置420,还用于获取业务信息;所述业务信息包含将所述第一虚拟地址转换为所述第二虚拟地址所需的信息;所述业务处理装置420,具体用于根据所述业务信息将所述第一虚拟地址转换为所述第二虚拟地址。所述业务信息至少包括如下至少一个:图像起始虚拟地址、分辨率、图像格式、步长或压缩头部信息。
所述业务处理装置420可以是解压缩单元、压缩单元、加密单元或解密单元等中的至少一个。所述业务处理装置420可以执行解压操作、压缩操作、解密操作或加密操作等多种操作中的至少一个。示例性地,业务处理装置420是解压缩单元,用于将一种压缩格式的数据,如第二数据,解压缩为另一种压缩格式的数据,如第一数据。这两种格式之间的转换不改变数据的具体内容。
本实施例中的所述业务信息可以是由所述图形处理器运行的所述驱动软件生成的。所述图形处理器410或其他处理器运行的驱动软件可以生成多种业务信息。所述业务处理装置420可以根据所述图形处理器410所请求的数据,获取相应的业务信息。举例来说,图形处理器410请求加密数据,该图形处理器410或其他处理器运行的驱动软件生成第一业务信息,业务处理装置420获取该第一业务信息,该第一业务信息包含将该加密数据对应的虚拟地址转换为未加密数据对应的虚拟地址所需的信息。又举例来说,图形处理器410请求解压缩数据,该图形处理器410或其他处理器运行的驱动软件生成第二业务信息,业务处理装置420获取该第二业务信息,该第二业务信息包含将未压缩数据对应的虚拟地址转换为压缩数据对应的虚拟地址所需的信息。可以理解,所述业务信息与所述图形处理器410请求的数据以及所述业务处理装置420所需执行的操作相对应。
所述业务处理装置420可以执行不同的操作,但是进行地址转换的原理类似。下面介绍业务处理装置420作为解压缩单元执行解压操作时,采用的地址转换方法的具体举例。第二数据是解压缩之前的数据,如海思帧压缩(Hisilicon Frame Buffer Compression,HFBC)格式的数据。第一数据是解压缩后的数据,能够被图形处理器使用和识别,例如是ARM(Advanced RISC Machine,高级精简指令集机器)帧压缩(ARM Frame BufferCompression,AFBC)格式的数据。需要说明的是,以下仅是一个典型示例,本领域技术人员可以依照下面方法得到其他示例。
步骤一、业务处理装置420获取目标业务信息。所述目标业务信息可以包括图像起始虚拟地址、分辨率、图像格式、步长以及压缩头部信息等。例如分辨率为1280×720的视频图像数据对应的业务信息包括:图像起始虚拟地址0x8000000000、宽度1280、高度720、步长1280以及压缩头部信息。
步骤二、所述业务处理装置420确定第一虚拟地址对应的第一数据在图像中的目标坐标。举例来说,第一虚拟地址为0x8000004000,图像起始虚拟地址为0x8000000000,计算该第一虚拟地址和该图像起始虚拟地址的差值(0x8000004000-0x8000000000=0x4000),找到第一数据位于图像的坐标(y=0x4000/1280=12,x=0x4000-1280×12=1024,所以坐标是(1024,12))。
步骤三、确定所述目标坐标在原始数据中对应的目标数据块。所述原始数据包含所述第一数据。所述原始数据为所述业务处理装置420处理后的数据,即未压缩的数据。图5为本申请提供的原始数据和压缩数据的结构示意图。图5中,501表示原始数据,502表示压缩数据,501包含的每一个矩形表示一个16×16的数据块,502分为两部分,上一部分为索引地址,下一部分为压缩数据,503表示第1行第M列的数据块,504表示第1行第M列的压缩数据对应的索引地址,505表示第1行第M列的压缩数据。图5中的原始数据与压缩数据相对应,业务处理装置420解压该压缩数据可以得到该原始数据。该原始数据和该压缩数据对应的起始地址相同,即501中第1行第1列的数据块对应的虚拟地址和502中第1行第1列的索引地址对应的虚拟地址相同。从图5可以看出,原始数据包含的每个数据块对应一个索引地址,每个索引地址对应一个压缩数据。例如,图5中的503对应504,504对应505。下面介绍确定目标坐标在原始数据中对应的数据块的举例:目标坐标为(1024,12),原始数据中每个数据块的大小为16×16,该目标坐标点对应的数据块为块PQ,P=12/16=0,Q=1024/16=64,该目标坐标点对应图5中第1行第64列的数据块。
步骤四、确定所述目标数据块对应的第二虚拟地址。下面为确定原始数据中第1行第64列的数据块对应的压缩数据的虚拟地址的具体举例:
VA’_header=VA’_start+byte(header)×64;(1)
VA’_body=VA’_start+data(pa_header);(2)
其中,VA’_start表示压缩数据的起始虚拟地址,即图5中第1行第1列的索引地址对应的虚拟地址;byte(header)表示一个索引地址占用的字节数;VA’_header表示该数据块对应的索引地址;data(pa_header)表示VA’_header存储的地址;VA’_body表示该数据块对应的压缩数据的虚拟地址,即所述第二虚拟地址。举例来说,目标数据块为原始数据中第1行第64列的数据块,即图5中503,业务处理装置利用公式(1)计算该目标数据块对应的索引地址,得到图5中的504对应的虚拟地址;获取该虚拟地址存储的参考虚拟地址,利用公式(2)和该参考虚拟地址计算该数据块对应的压缩数据的虚拟地址,得到505对应的虚拟地址。所述业务处理装置420可以包括坐标定位器、地址转换器以及解压模块。所述坐标定位器用于确定所述第一虚拟地址对应的第一数据在图像中的目标坐标。所述地址转换器用于实现所述第一虚拟地址到所述第二虚拟地址的转换,即步骤二至步骤四。所述解压模块用于对获取到的压缩数据进行解压。
上面介绍了一种虚拟地址转换方法。在实际应用中,所述业务处理装置420执行的操作不同,可以采用不同的地址转换方式。例如,将未加密的第三数据对应的虚拟地址转换为加密的第四数据对应的虚拟地址,业务处理装置420解密该第四数据可以得到该第三数据。
本申请中,业务处理装置420可以将待输出数据对应的虚拟地址转换为得到该待输出数据所需的数据对应的虚拟地址,以便于该业务处理装置420得到该待输出数据,实现简单。
图6为本申请提供的另一种数据处理装置的结构示意图,是以图4所示装置为基础并有进一步细化。如图6所示,该数据处理装置可以是集成电路,位于系统芯片210中。该数据处理装置包括:图形处理器620、第二内存管理单元630、地址过滤器640、业务处理装置650、第一内存管理单元660以及总线控制器670。其中,所述图形处理器620、所述第二内存管理单元630、所述地址过滤器640、所述业务处理装置650以及所述第一内存管理单元660依次耦合,所述业务处理装置650与所述总线控制器670相耦合。该数据处理装置可执行如下操作:601、图形处理器620或其他处理器运行的驱动软件配置第一映射表或第二映射表。第一映射表应用于第一内存管理单元660;第二映射表应用于第二内存管理单元630。第一映射表用于实现虚拟地址至物理地址的映射。第二映射表用于实现虚拟地址制目标地址的映射。如果该目标地址需要进一步经过其他内存管理单元或映射表转换为物理地址,则该目标地址是虚拟地址。或者,该目标地址可以就是物理地址,而无需经过其他内存管理单元或映射表进一步转换。因此,所述第二映射表可以包含至少一个虚拟地址到虚拟地址的映射关系,并且还可以进一步包含至少一个虚拟地址与至少一个物理地址的对应关系。可选地,所述第一映射表或所述第二映射表可以是所述驱动软件根据内存的占用情况动态配置的。
602、所述图形处理器向第二内存管理单元630发送第一数据获取请求。所述第一数据获取请求包括第三虚拟地址。603、所述第二内存管理单元630根据第二映射表查找与第三虚拟地址对应的目标地址并进一步向地址过滤器640发送所述目标地址。该地址过滤器640用于过滤或筛选以识别出特定的地址。
604、在所述目标地址处于目标地址区间的情况下,所述地址过滤器640将所述目标地址输出至所述业务处理装置650,未处于所述目标地址区间的地址不被向所述业务处理装置650输出。。此时该目标地址是之前实施例提到的第一虚拟地址。605、所述业务处理装置650将所述目标地址进一步转换为第二虚拟地址并将所述第二虚拟地址输出至第一内存管理单元660。所述第二虚拟地址对应所述业务处理装置650处理前的第二数据。所述目标地址对应所述业务处理装置650处理后的第一数据。图6中的VA表示所述第三虚拟地址,VA’表示所述目标地址,VA”表示所述第二虚拟地址。可选地,所述目标地址区间可以是为所述地址过滤器预先设置的一个地址范围,也可以是所述图形处理器或其他处理器运行的驱动软件配置的一个地址范围。处于所述目标地址区间的地址可以为虚拟地址,未处于所述目标地址区间的地址可以为物理地址。所述地址过滤器可以实现地址过滤功能以区分所述物理地址和所述虚拟地址。
606、所述第一内存管理单元660根据第一映射表查找与所述第二虚拟地址对应的第一物理地址,并将所述第一物理地址输出至所述业务处理装置650。图6中的PA表示第一物理地址。607、所述业务处理装置650将所述第一物理地址输出至总线控制器670。608、所述业务处理装置650接收来自所述总线控制器670的所述第二数据。609、所述业务处理装置650处理所述第二数据以得到所述第一数据,将所述第一数据输出至所述图形处理器620。
可选地,610、在所述目标地址未处于所述目标地址区间的情况下,所述地址过滤器640将所述目标地址输出至总线控制器670,此时目标地址是第二物理地址,所述第二物理地址存储的数据为所述图形处理器620请求的数据。;611、所述图形处理器620接收所述总线控制器670响应于第二物理地址获取并发送的数据。由于所述地址过滤器640接收到的地址可能是所述业务处理装置650不需要的地址如物理地址,一旦所述地址过滤器640将这些地址输出至所述业务处理装置650,会增加所述业务处理装置650不必要的操作,甚至带来不利影响。因此所述地址过滤器640仅将处于所述目标地址区间的地址输出至所述业务处理装置650,避免资源浪费。
因此,地址过滤器640用于对第二内存管理单元630生成的地址进行过滤,将在目标地址区间之内的地址提供给业务处理装置650,以便所述地址经过业务处理装置650的转换。地址过滤器640将未在目标地址区间之内的地址提供给总线控制器670,使得相关地址被直接作为物理地址使用。因此对于第二内存管理单元630而言,其生成的在目标地址区间之内的地址是另一虚拟地址或另一逻辑地址,此时该第二内存管理单元630实现的是虚拟地址至虚拟地址映射,映射前后的虚拟地址可以实质上是相同的。或者,映射后生成的另一虚拟地址与映射前的虚拟地址可以不同,例如新增了一些信息,该信息包括但不限于对应不同软件进程的标识或指示所述地址对应的业务信息的标识,以使得映射后生成的虚拟地址相对于映射前的虚拟地址有所不同。如果第二内存管理单元630生成未在目标地址区间内的地址,如在另一地址区间中,其用于实现的是虚拟地址至物理地址的映射,此时第二内存管理单元630输出的地址将直接传输给总线控制器670以便获取物理地址对应的数据。因此该装置兼容了两种不同的数据获取技术,第一种技术是需要业务处理装置650处理的数据获取技术,此时图形处理器620请求的虚拟地址在所述预设目标地址区间内,通过业务处理装置650处理外部数据,该数据被转换为图形处理器620能够识别或使用的数据但是数据内容不变。另一种技术是无需业务处理装置650参与,图形处理器620请求的虚拟地址被直接翻译为物理地址并根据该物理地址获取外部数据,此时该外部数据即是图形处理器620可识别或使用的数据,无需经过数据格式或类型的转换。
因此,本实施例的所述地址过滤器可以对输入的地址做筛选,将位于第一地址区间的地址输出至业务处理装置650,将位于不在第一地址区间内,例如在第二地址区间内的地址直接输出至总线控制器670,该第一地址区间和该第二地址区间不重叠。无论存储在外部的数据是否可直接被图形处理器620识别或使用,图形处理器620最终将获得其所需数据。可选的,该数据处理装置可以不包括地址过滤器640,也即是说地址过滤器640不是必需的,所述第二内存管理单元630和所述业务处理装置650可以直接相耦合。
以上方案可以节省图形处理器620获取数据时占用的系统带宽。图6中除了驱动软件之外的其他器件可以包括大量的电路,如晶体管、逻辑门电路或模拟电路中的至少一个。所述驱动软件可以存储在一个计算机可读存储介质中,并被所述图形处理器620读取和执行以生成之前实施例中所述业务信息、配置所述第一映射表或配置所述第二映射表的操作。该计算机可读存储介质可以是图2中的存储器215。所述存储器的可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
可选地,之前实施例提及的总线控制器是总线系统的核心,其用于连接所述装置和其他器件,如系统芯片210内的其他部件或系统芯片之外的部件。总线系统包括总线和总线控制器,例如,总线控制器的任务概括地说是管理各个不同类型总线的使用,包括总线上设备的管理和设备使用总线的过程管理。在总线控制器实现技术中,并不一定存在一个独立的控制器,它的功能可能分布到各个总线相耦合的各个部件或者各个设备上。总线控制器在本实施例中耦合于总线,并可控制总线访问外部存储器,用于根据从业务处理装置、地址过滤器或其他器件发送的物理地址控制总线从该装置外部的存储器中读取数据并反馈给图形处理器。因此该图形处理器通过使用虚拟内存管理技术可以经由该总线控制器获取存储在数据处理装置外部的数据,并加以利用。
在以上实施中,由于所述装置通过内部的总线控制器被附着在总线上,并进一步连接至总线上的存储器,装置内部的不同部件之间不需要通过总线传输数据。该存储器可以是系统芯片的外部存储器或者是片上存储器或者是缓存器等临时存储设备。当业务处理装置向图形处理器提供图形处理器请求的数据的时候,数据传输不会经过装置外的总线,也不需要存储在耦合与总线的其他存储器上,可以节省系统带宽,并可以进一步节省系统的存储空间。可选地,业务处理装置与图形处理器之间用于传输所述数据的通道是除了总线之外的其他接口,如专用的电路接口。因此,本申请实施例相当于包括图形处理器的所述装置内嵌入有业务处理装置模块,使得该业务处理装置与图形处理器之间的数据传输不经过总线和外部存储器,可灵活的实现不同数据类型或格式的转换以便于图形处理器识别和使用,并能够有效节省带宽。
需要说明的是,本申请提到的“耦合”一词,用于表达不同部件之间的互通或互相作用,可以包括直接相连或通过其他部件间接相连。本实施例中涉及的至少一个用于表示广义上的一个或多个,即可以用于表达对应的多个选项中的一个或任意多个。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种数据处理装置,其特征在于,包括:图形处理器、业务处理装置以及第一内存管理单元;所述图形处理器与所述第一内存管理单元分别与业务处理装置耦合;
所述图形处理器,用于请求第一虚拟地址对应的第一数据,所述第一数据为所述业务处理装置处理后的数据且能够被所述图形处理器使用或识别;
所述业务处理装置,用于将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至所述第一内存管理单元,所述第二虚拟地址对应所述业务处理装置处理前的第二数据;
所述第一内存管理单元,用于根据第一映射表查找与所述第二虚拟地址对应的第一物理地址;
所述业务处理装置,还用于获取在存储器内的所述第一物理地址存储的所述第二数据,所述第二数据不能够被所述图形处理器使用或识别,所述数据处理装置通过总线耦合至所述存储器;
所述业务处理装置,还用于处理所述第二数据以得到所述第一数据,在没有所述总线或所述存储器中的一个或全部参与的情况下将所述第一数据输出至所述图形处理器;
所述数据处理装置还包括第二内存管理单元;
所述图形处理器,具体用于向所述第二内存管理单元发送第一数据获取请求,所述第一数据获取请求包括第三虚拟地址,所述第三虚拟地址用于指示所述第一虚拟地址;
所述第二内存管理单元,用于根据第二映射表查找与所述第三虚拟地址对应的所述第一虚拟地址并进一步向所述业务处理装置请求所述第一虚拟地址对应的所述第一数据;
所述数据处理装置还包括地址过滤器;
所述第二内存管理单元,具体用于向所述地址过滤器发送所述第一虚拟地址;
所述地址过滤器,用于接收所述第一虚拟地址,在所述第一虚拟地址处于目标地址区间的情况下,将所述第一虚拟地址输出至所述业务处理装置。
2.根据权利要求1所述的数据处理装置,其特征在于,
所述业务处理装置,还用于获取业务信息;所述业务信息包含将所述第一虚拟地址转换为所述第二虚拟地址所需的信息;
所述业务处理装置,具体用于根据所述业务信息将所述第一虚拟地址转换为所述第二虚拟地址。
3.根据权利要求2所述的数据处理装置,其特征在于,所述图形处理器通过运行驱动软件执行以下至少一个操作:生成所述业务信息、配置所述第一映射表或配置第二映射表。
4.根据权利要求1或2所述的数据处理装置,其特征在于,
所述业务处理装置,具体用于接收所述第一内存管理单元输入的所述第一物理地址,将所述第一物理地址输出至总线控制器,并接收所述总线控制器输出的所述第二数据,所述总线控制器通过所述总线耦合至所述存储器。
5.根据权利要求1所述的数据处理装置,其特征在于,
所述图形处理器,还用于向所述第二内存管理单元发送第二数据获取请求,所述第二数据获取请求包括第四虚拟地址;
所述第二内存管理单元,还用于根据所述第二映射表查找与所述第四虚拟地址对应的第二物理地址并向所述地址过滤器发送所述第二物理地址;
所述地址过滤器,还用于接收所述第二物理地址,在所述第二物理地址未处于所述目标地址区间的情况下,通过总线控制器获取所述第二物理地址存储的第三数据,并输出所述第三数据至所述图形处理器。
6.根据权利要求1或2所述的数据处理装置,其特征在于,所述业务处理装置包括如下至少一个:解压缩单元、压缩单元、解密单元或加密单元。
7.一种数据处理方法,应用于数据处理装置,其特征在于,所述数据处理装置包括图形处理器、业务处理装置以及第一内存管理单元,所述方法包括:
所述图形处理器请求第一虚拟地址对应的第一数据,所述第一数据为所述业务处理装置处理后的数据且能够被所述图形处理器使用或识别;
所述业务处理装置将所述第一虚拟地址转换为第二虚拟地址并将所述第二虚拟地址输出至所述第一内存管理单元,所述第二虚拟地址对应所述业务处理装置处理前的第二数据;
所述第一内存管理单元根据第一映射表查找与所述第二虚拟地址对应的第一物理地址;
所述业务处理装置获取在存储器内的所述第一物理地址存储的所述第二数据,所述第二数据不能够被所述图形处理器使用或识别,所述数据处理装置通过总线耦合至所述存储器;
所述业务处理装置处理所述第二数据以得到所述第一数据,在没有所述总线或所述存储器中的一个或全部参与的情况下将所述第一数据输出至所述图形处理器;
所述数据处理装置还包括与所述图形处理器相耦合的第二内存管理单元;所述图形处理器请求第一虚拟地址对应的第一数据包括:
所述图形处理器向所述第二内存管理单元发送第一数据获取请求,所述第一数据获取请求包括第三虚拟地址,所述第三虚拟地址用于指示所述第一虚拟地址;
所述第二内存管理单元根据第二映射表查找与所述第三虚拟地址对应的所述第一虚拟地址并进一步向所述业务处理装置请求所述第一虚拟地址对应的所述第一数据;
所述数据处理装置还包括分别与所述第二内存管理单元和所述业务处理装置耦合的地址过滤器;所述业务处理装置将所述第二虚拟地址转换为第三虚拟地址之前,所述方法还包括:
所述第二内存管理单元向所述地址过滤器发送所述第一虚拟地址;
所述地址过滤器接收所述第二内存管理单元输入的所述第一虚拟地址;在所述第一虚拟地址处于目标地址区间的情况下,将所述第一虚拟地址输出至所述业务处理装置。
8.根据权利要求7所述的数据处理方法,其特征在于,所述业务处理装置将所述第一虚拟地址转换为第二虚拟地址包括:
所述业务处理装置获取业务信息;所述业务信息包含将所述第一虚拟地址转换为所述第二虚拟地址所需的信息;
所述业务处理装置根据所述业务信息将所述第一虚拟地址转换为所述第二虚拟地址。
9.根据权利要求8所述的数据处理方法,其特征在于,所述方法还包括执行以下至少一个操作:
生成所述业务信息、配置所述第一映射表或配置第二映射表。
10.根据权利要求7或8所述的数据处理方法,其特征在于,所述业务处理装置获取在存储器内的所述第一物理地址存储的所述第二数据包括:
所述业务处理装置接收所述第一内存管理单元输入的所述第一物理地址;将所述第一物理地址输出至总线控制器,并接收所述总线控制器输出的所述第二数据,所述总线控制器通过所述总线耦合至所述存储器。
11.根据权利要求7所述的数据处理方法,其特征在于,所述方法还包括:
所述图形处理器向所述第二内存管理单元发送第二数据获取请求,所述第二数据获取请求包括第四虚拟地址;
所述第二内存管理单元根据所述第二映射表查找与所述第四虚拟地址对应的第二物理地址并向所述地址过滤器发送所述第二物理地址;
所述地址过滤器接收所述第二物理地址,在所述第二物理地址未处于所述目标地址区间的情况下,通过总线控制器获取所述第二物理地址存储的第三数据,并输出所述第三数据至所述图形处理器。
12.根据权利要求7或8所述的数据处理方法,其特征在于,所述业务处理装置包括如下至少一个:解压缩单元、压缩单元、解密单元或加密单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810330125.9A CN110377534B (zh) | 2018-04-13 | 2018-04-13 | 数据处理方法及装置 |
PCT/CN2019/079438 WO2019196634A1 (zh) | 2018-04-13 | 2019-03-25 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810330125.9A CN110377534B (zh) | 2018-04-13 | 2018-04-13 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377534A CN110377534A (zh) | 2019-10-25 |
CN110377534B true CN110377534B (zh) | 2023-11-17 |
Family
ID=68163973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810330125.9A Active CN110377534B (zh) | 2018-04-13 | 2018-04-13 | 数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110377534B (zh) |
WO (1) | WO2019196634A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298890B (zh) * | 2021-12-02 | 2024-01-30 | 格兰菲智能科技有限公司 | 数据处理装置及其方法 |
TWI806747B (zh) * | 2022-08-22 | 2023-06-21 | 創鑫智慧股份有限公司 | 計算裝置及其資料存取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841389A (zh) * | 2014-04-02 | 2014-06-04 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及播放器 |
CN104471540A (zh) * | 2012-08-17 | 2015-03-25 | 英特尔公司 | 通过统一存储器架构的存储器共享 |
CN106716386A (zh) * | 2014-10-07 | 2017-05-24 | 谷歌公司 | 使用页面过滤器和系统mmu的硬件辅助存储器压缩管理 |
CN106796712A (zh) * | 2014-10-01 | 2017-05-31 | 高通股份有限公司 | 透明像素格式转换器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6129574B2 (ja) * | 2013-02-13 | 2017-05-17 | ルネサスエレクトロニクス株式会社 | 画像処理装置 |
CN103108186A (zh) * | 2013-02-21 | 2013-05-15 | 中国对外翻译出版有限公司 | 实现视频高清传播的方法 |
KR20150039425A (ko) * | 2013-10-02 | 2015-04-10 | 삼성전자주식회사 | 비디오/이미지 데이터 처리 방법 및 비디오/이미지 데이터 처리 시스템 |
US11100004B2 (en) * | 2015-06-23 | 2021-08-24 | Advanced Micro Devices, Inc. | Shared virtual address space for heterogeneous processors |
US10719447B2 (en) * | 2016-09-26 | 2020-07-21 | Intel Corporation | Cache and compression interoperability in a graphics processor pipeline |
-
2018
- 2018-04-13 CN CN201810330125.9A patent/CN110377534B/zh active Active
-
2019
- 2019-03-25 WO PCT/CN2019/079438 patent/WO2019196634A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471540A (zh) * | 2012-08-17 | 2015-03-25 | 英特尔公司 | 通过统一存储器架构的存储器共享 |
CN103841389A (zh) * | 2014-04-02 | 2014-06-04 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及播放器 |
CN106796712A (zh) * | 2014-10-01 | 2017-05-31 | 高通股份有限公司 | 透明像素格式转换器 |
CN106716386A (zh) * | 2014-10-07 | 2017-05-24 | 谷歌公司 | 使用页面过滤器和系统mmu的硬件辅助存储器压缩管理 |
Also Published As
Publication number | Publication date |
---|---|
CN110377534A (zh) | 2019-10-25 |
WO2019196634A1 (zh) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9906713B2 (en) | Camera command set host command translation | |
US11509807B2 (en) | Electronic device and method for generating thumbnails based on captured images | |
KR101590820B1 (ko) | 멀티 터치 인터페이스 방안 | |
US9635268B2 (en) | Electronic device and method for generating thumbnail data | |
US9686460B2 (en) | Enabling a metadata storage subsystem | |
US10108568B2 (en) | Master capable of communicating with slave and system including the master | |
CN108304334B (zh) | 应用处理器和包括中断控制器的集成电路 | |
CN110377534B (zh) | 数据处理方法及装置 | |
JP6386099B2 (ja) | 圧縮支援のための方法、装置、コンピュータプログラム及び記憶媒体 | |
US9864635B2 (en) | Reducing the number of read/write operations performed by a CPU to duplicate source data to enable parallel processing on the source data | |
EP3014456A1 (en) | Page management approach to fully utilize hardware caches for tiled rendering | |
KR100663380B1 (ko) | 촬상 장치 및 영상 신호 생성 방법 | |
US9244694B2 (en) | Executing a command within a transport mechanism based on a get and set architecture | |
KR20070013620A (ko) | 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 | |
US8971137B2 (en) | Bit based fuse repair | |
CN110996013B (zh) | 电子装置和处理图像的方法 | |
US20220164130A1 (en) | Method and system of standards-based audio function processing with reduced memory usage | |
US10168985B2 (en) | Dynamic audio codec enumeration | |
US9417726B2 (en) | Supporting keyboard and mouse over embedded displayport without using a universal serial bus | |
CN117278693A (zh) | 图像数据处理电路、方法、电子设备及介质 | |
KR20110091337A (ko) | 모바일 스토리지 제어 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |