一种利用mio接口收发图形处理器通用计算数据的装置的制作方法

文档序号:6342671阅读:370来源:国知局
专利名称:一种利用mio接口收发图形处理器通用计算数据的装置的制作方法
技术领域
本实用新型涉及数据传输领域,特别是关于利用MIO接口收发图形处理器通用计算数据的装置。
背景技术
随着现代图形处理器(GPU Graphic Processing Unit)可编程能力及性能的提 高,GPU已经可以集成有数百个简单计算引擎——着色器,这些着色器使GPU不仅可以用作 绘制引擎,而且可以作为个人电脑的计算引擎,即利用GPU执行通用并行计算,使图形硬件 可以解决以前只有CPU才能完成的高密集计算任务。现有的用于支持GPU进行通用并行 计算的应用程序接口有CUDA、OpenCL和DirectCompute。在这些应用程序接口的支持下, GPU可以实现通用并行计算,并且未来计算机的计算模型将向异构计算模型发展,即同时使 用CPU和GPU对应用程序进行处理应用程序的顺序部分在CPU上运行,计算密集型部分在 GPU上运行。使用GPU进行计算会比使用CPU计算快2至10倍,用户将明显感受到程序运 行速度的加快,并且降低系统的能耗。如图1所示,目前将GPU应用于通用并行计算中时数据的处理过程是CPU将数据 采集系统采集到的原始数据存入系统的主存中,系统的主存通过PCI-E总线将原始数据复 制到显存中,GPU从显存中读取原始数据并对原始数据进行计算,然后GPU将计算结果数据 存入显存,最后CPU将计算结果数据从显存复制到系统主存中,主存再将计算结果数据通 过外围设备的局部总线发送给外围设备。这种数据传输方式的缺陷在于系统以主存作为中转将结果数据传送给外围设 备,因此当输入GPU的原始数据量和GPU计算结果数据量都非常大时,将导致传输延迟,且 浪费计算机的内存资源和CPU资源;此外,由于常用的PCI-E总线的带宽有限,因此无法满 足一些具有较大带宽的应用设备的需求(例如视频流处理应用、数字调制、软件无线电、雷 达系统、计算机断层扫描和超声波成像等),同时,由于PCI-E总线的延迟不固定,使显存中 数据的输入和输出不能同步,因此必须在显存中设置较大空间的缓冲区,这又造成存储空 间不必要的浪费。因此有必要对现有的GPU计算结果数据的传输方式进行改进,使输入原始数据与 输出结果数据之间的延迟减小,并节省计算机的存储空间,使数据传输的效率得到提高。
发明内容在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式
部分中进 一步详细说明。本实用新型的发明内容部分并不意味着要试图限定出所要求保护的技术方 案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。本发明提供了一种利用MIO接口收发图形处理器通用计算数据的装置,其特征在 于包括数据格式转换模块;所述数据格式转换模块将数据采集系统中的原始数据转换为适合MIO接口的数据格式;还包括,图形卡;所述图形卡包括缓冲区申请模块;在显存中设置一个输入缓冲 区和一个输出缓冲区,并保存与所述输入缓冲区和所述输出缓冲区对应的指针;寄存器设 置模块;将MIO输入接口和MIO输出接口设置为直接内存访问模式;MIO输入接口 ;接收从 所述数据格式转换模块发送的所述MIO接口格式的原始数据;内核程序计算模块;接收从 所述缓冲区申请模块发送的所述输入缓冲区和所述输出缓冲区对应的指针信号,并对所述 原始数据进行计算得到结果数据;垂直同步信号监测模块;监测所述MIO输入接口中的所 述原始数据,并发送启动信号到所述内 核程序计算模块;MIO输出接口 ;接收所述内核程序 计算模块发送的所述结果数据,并发送所述结果数据到所述数据格式转换模块;所述数据格式转换模块将所述结果数据转换为适合外围设备接口格式的数据后 发送给所述外围设备。根据本发明的一个方面,其特征在于所述垂直同步信号监测模块对MIO输出接 口中的所述结果数据进行监测。根据本发明的一个方面,其特征在于所述MIO输入接口发送所述原始数据到所 述输入缓冲区。根据本发明的一个方面,其特征在于所述内核程序计算模块根据所述输入缓冲 区指针读取所述原始数据,并根据所述输出缓冲区指针发送结果数据到所述输出缓冲区。根据本发明的一个方面,其特征在于所述输出缓冲区发送所述结果数据到所述 MIO输出接口。根据本发明的一个方面,其特征在于所述垂直同步信号监测模块监测到原始数 据或者结果数据中的垂直同步信号后发送所述启动信号到所述内核程序计算模块。根据本发明的一个方面,其特征在于所述数据格式转换模块利用可编程逻辑门 阵列实现。本实用新型实现了利用图形卡上的MIO接口接收原始数据,并将结果数据发送 出图形卡,然后将结果数据转换为适合外围设备接口格式的数据,因此无须通过系统主存 作为中转,提高了 GPU通用计算运行速度,同时节省了计算机的内存资源。此外,利用MIO 接口接收和发送数据的带宽较宽,可以适用于较大带宽的外围设备。

本实用新型的下列附图在此作为本实用新型的一部分用于理解本实用新型。附图 中示出了本实用新型的实施例及其描述,用来解释本实用新型的原理。在附图中,图1是现有技术中的图形处理器计算结果数据输出原理示意图;图2是本实用新型的结构示意图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然 而,对于本领域技术人员来说显而易见的是,本实用新型可以无需一个或多个这些细节而 得以实施。在其他的例子中,为了避免与本实用新型发生混淆,对于本领域公知的一些技术 特征未进行描述。显然,本实用新型的施行并不限定于本领域的技术人员所熟习的特殊细节。本实用新型的较佳实施例详细描述如下,然而除了这些详细描述外,本实用新型还可以具有其 他实施方式。本实用新型以带有两个或者两个以上MIO(MultipurposeInput/Output媒体输 入/输出单元)接口的图形卡为平台来实现。其中一个MIO接口作为原始数据的输入接 口,另一个MIO接口作为结果数据输出接口。所述图形卡意指基本上包含GPU、显示缓存 (简称显存)、BI0S(BaSiCInput Output System基本输入输出系统)、数字模拟转换器 (RAMDACRandom Access Memory Digital-to-Analog Converter)、Π 以&电·、 电阻等的计算机配件。如图2所示,根据本实用新型的GPU通用计算数据收发包括图形卡200和数据格 式转换模块201。图形卡200包括一缓冲区申请模块200a、一寄存器设置模块200b、一垂 直同步信号监测模块200c、一内核程序计算模块200d和MIO输入接口 200f、ΜΙ0输出接口 200g。其中,缓冲区申请模块200a的输出端分别连接显存200e和内核程序计算模块200d 的输入端,缓冲区申请模块200a发送缓冲区设置信号到显存200e,并发送缓冲区指针信号 到内核程序计算模块200d。寄存器设置模块200b的输出端分别连接MIO输入接口 200f和 MIO输出接口 200g,寄存器设置模块200b对MIO输入接口 200f和MIO输出接口 200g进行 设置。MIO输入接口 200f和/或MIO输出接口 200g连接垂直同步信号监测模块200c的输 入端,MIO输入接口 200f和/或MIO输出接口 200g发送结果数据到垂直同步信号监测模 块200c。垂直同步信号监测模块200c的输出端连接内核程序计算模块200d的输入端,垂 直同步信号监测模块200c将启动信号发送到内核程序计算模块200d。数据格式转换模块201的输出端连接MIO输入接口 200f,数据格式转换模块201 发送原始数据到MIO输入接口 200f。数据格式转换模块201的输入端连接MIO输出接口 200g, MIO输出接口 200g发送结果数据到数据格式转换模块201。数据采集系统202连接数据格式转换模块201的输入端,将采集到的原始数据 发送给数据格式转换模块201,数据格式转换模块201将原始数据转换为适合MIO接口的 格式,然后再通过MIO输入接口 200f发送给图形卡200。其中,适合MIO接口的格式意指 十二位并行、能够双沿触发的数据格式,并且带有水平同步信号(HSYNC)和垂直同步信号 (VSYNC)。图形卡200的作用是对原始数据进行计算并避免将结果数据发送到数据格式转 换模块201时发生的丢失现象。导致结果数据丢失的原因是由于内核程序计算模块200d 的计算速度远快于MIO输出接口 200g将结果数据发送出去的速度,这将会导致前一帧的结 果数据未发送完毕,下一帧的结果数据覆盖尚未发送完毕的上一帧的结果数据,从而不能 将全部结果数据通过MIO输出接口 200g发送给数据格式转换模块201。本实用新型的工作原理为(1)首先,缓冲区申请模块200a在显存200e中申请两个缓冲区,一个作为输入缓 冲区200h,另一个作为输出缓冲区200i,将两个缓冲区的指针发送到GPU内核程序计算模 块 200d ;(2)寄存器设置模块200b对MIO输入接口 200f和MIO输出接口 200g进行 初始化设置将MIO输入接口 200f和MIO输出接口 200g的寄存器设置为DMA (Direct MemoryAccess直接内存访问)模式,即设置各MIO接口的传输数据大小、时钟等参数一致,且各MIO接口同时使能;(3)数据格式转换模块201从数据采集系统202读取原始数据,并将原始数据转 换为适合MIO接口的数据格式,再将原始数据通过MIO输入接口 200f发送给输入缓冲区 200h ;(4)垂直同步信号监测模块200c对MIO输入接口 200f和/或MIO输出接口 200g 中的数据进行实时监测,(由于输入、输出MIO接口同时使能,因此可同时监测到MIO输入、 输出接口中数据的垂直同步信号)若监测到VSYNC信号,则说明MIO输入接口 200f发送完 一帧原始数据,发送启动信号到内核程序计算模块200d,内核程序计算模块200d根据输入 缓冲区200h的指针读取输入缓冲区200h中的原始数据并进行计算,否则继续监测;(5)内核程序计算模块200d收到启动信号后,读入输入缓冲区200h中的原始数据 并计算,再根据输出缓冲区200i的指针将计算得到的结果数据放入输出缓冲区200i中,垂 直同步信号监测模块200c监测到VSYNC信号结束后(此时上一帧结果数据已经从MIO输 出接口 203g发送完毕,且内核程序计算模块200d已经计算出下一帧结果数据),输出缓冲 区200i将结果数据通过MIO输出接口 200g发送到数据格式转换模块201 ;(6)数据格式转换模块201将结果数据转换为适合外围设备203接口的数据格式, 并将转换后的结果数据发送给外围设备203,返回重复执行(3)。由于垂直同步信号监测模块200c对MIO输入接口 200f和/或MIO输 出接口 200g 进行VSYNC信号的实时监测,而在VSYNC信号的持续时间内,内核程序计算模块200d可以 完成一帧原始数据的计算,当VSYNC信号结束时,再将结果数据通过MIO输出接口 200g发 送到数据格式转换模块201,因此可避免计算结果数据丢失。所述数据格式转换模块201可以利用FPGA (Field Programmable GateArray可编 程逻辑门阵列)实现。本实用新型实现了利用图形卡上的MIO接口接收和发送原始数据,并将GPU通用 计算结果数据发送出图形卡后再进行数据格式转换。无须通过系统的主存作为中转,节约 了计算机的存储空间,同时减小了 GPU的通用计算过程的延迟。此外,利用MIO接口接收和 发送数据的带宽较宽,因此可应用在具有较大带宽的外围设备中。本实用新型已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是 用于举例和说明的目的,而非意在将本实用新型限制于所描述的实施例范围内。此外本领 域技术人员可以理解的是,本实用新型并不局限于上述实施例,根据本实用新型的教导还 可以做出更多种的变型和修改,这些变型和修改均落在本实用新型所要求保护的范围以 内。本实用新型的保护范围由附属的权利要求书及其等效范围所界定。
权利要求一种利用MIO接口收发图形处理器通用计算数据的装置,其特征在于包括-数据格式转换模块;所述数据格式转换模块将数据采集系统中的原始数据转换为适合MIO接口的数据格式;还包括,-图形卡;所述图形卡包括-缓冲区申请模块;在显存中设置一个输入缓冲区和一个输出缓冲区,并保存与所述输入缓冲区和所述输出缓冲区对应的指针;-寄存器设置模块;将MIO输入接口和MIO输出接口设置为直接内存访问模式;-MIO输入接口;接收从所述数据格式转换模块发送的所述MIO接口格式的原始数据;-内核程序计算模块;接收从所述缓冲区申请模块发送的所述输入缓冲区和所述输出缓冲区对应的指针信号,并对所述原始数据进行计算得到结果数据;-垂直同步信号监测模块;监测所述MIO输入接口中的所述原始数据,并发送启动信号到所述内核程序计算模块;-MIO输出接口;接收所述内核程序计算模块发送的所述结果数据,并发送所述结果数据到所述数据格式转换模块;所述数据格式转换模块将所述结果数据转换为适合外围设备接口格式的数据后发送给所述外围设备。
2.如权利要求1所述的一种利用MI0接口收发图形处理器通用计算数据的装置,其特 征在于所述垂直同步信号监测模块对MI0输出接口中的所述结果数据进行监测。
3.如权利要求1或2所述的一种利用MI0接口收发图形处理器通用计算数据的装置, 其特征在于所述MI0输入接口发送所述原始数据到所述输入缓冲区。
4.如权利要求1或2所述的一种利用MI0接口收发图形处理器通用计算数据的装置, 其特征在于所述内核程序计算模块根据所述输入缓冲区指针读取所述原始数据,并根据 所述输出缓冲区指针发送结果数据到所述输出缓冲区。
5.如权利要求1或2所述的一种利用MI0接口收发图形处理器通用计算数据的装置, 其特征在于所述输出缓冲区发送所述结果数据到所述MI0输出接口。
6.如权利要求1或2所述的一种利用MI0接口收发图形处理器通用计算数据的装置, 其特征在于所述垂直同步信号监测模块监测到原始数据或者结果数据中的垂直同步信号 后发送所述启动信号到所述内核程序计算模块。
7.如权利要求1所述的一种利用MI0接口收发图形处理器通用计算数据的装置,其特 征在于所述数据格式转换模块利用可编程逻辑门阵列实现。
专利摘要本实用新型涉及一种利用MIO接口收发图形处理器通用计算数据的装置,其特征在于它包括图形卡和数据格式转换模块;图形卡包括一缓冲区申请模块、一寄存器设置模块、一垂直同步信号监测模块和一内核程序计算模块;图形卡的作用是对原始数据进行计算并利用垂直信号监测模块进行VSYNC信号的实时监测,在VSYNC信号的持续时间内,内核程序计算模块可以完成一帧原始数据的计算,当VSYNC信号结束时,再将结果数据通过MIO输出接口发送到数据格式转换模块,因此可避免计算结果数据丢失。本实用新型实现了利用图形卡上的MIO接口接收和发送原始数据,并将GPU通用计算结果数据发送出图形卡后再进行数据格式转换。因此本实用新型可广泛应用于图形处理器通用计算结果数据的收发装置中。
文档编号G06F3/14GK201611480SQ20102015306
公开日2010年10月20日 申请日期2010年4月8日 优先权日2010年4月8日
发明者张舒, 邱俊 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1