当前位置: 首页 > 专利查询>清华大学专利>正文

一种协处理器制造技术

技术编号:7917494 阅读:254 留言:0更新日期:2012-10-25 02:22
本发明专利技术提出一种协处理器,包括:外部设备接口,用于连接外部设备;以及协处理器电路,用于进行协处理操作,其中,协处理器电路进一步包括:输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;存储模块,用于数据存储;可重构协处理器控制器模块,用于根据存储模块内的指令产生控制信号,控制运算单元阵列进行操作;以及运算单元阵列,用于接收可重构协处理器控制器模块产生的控制信号,并根据控制信号从存储模块中读入源操作数,并将计算结果存入存储模块中。根据本发明专利技术的协处理器可应用于浮点矩阵运算,具有运算速度快、结构相对简单、配置灵活、扩展性强的优点。

【技术实现步骤摘要】

本专利技术涉及集成电路设计领域,具体涉及一种实现可重构浮点矩阵算法的协处理器
技术介绍
随着科学技术的进步,人们对计算性能的要求越来越高,高性能浮点矩阵算法越来越广泛地应用于媒体处理、科学计算以及工业控制等领域。针对高性能浮点矩阵算法的ASIC (Application Specific Integrated Circuit,专用集成电路)设计,存在设计周期 长、成本高、灵活性和可扩展性差的问题。现有的通用处理器,包括CPU (Central Processing Unit,中央处理器)和DSP (Digital Signal Processing,数字信号处理),也可以完成高性能浮点矩阵算法的实现,但是存在两个方面的问题第一是通用处理器为了实现通用性,结构较为复杂,用于浮点矩阵运算需要付出较大的功耗和面积代价;第二是通用处理器主要面向标量计算设计,同时由于“存储墙”问题的存在,使得浮点矩阵算法在通用处理器的运算需要付出较长的时间代价。
技术实现思路
为了克服现有处理器在浮点矩阵运算领域的不足,本专利技术旨在提出了一种结构简单、配置灵活、扩展性强的可应用于重构浮点矩阵算法的协处理器。根据本专利技术实施例的协处理器,包括以下部分外部设备接口,用于连接外部设备;以及协处理器电路,用于进行协处理操作,其中,协处理器电路进一步包括输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;存储模块,用于数据存储;可重构协处理器控制器模块,用于根据存储模块内的指令产生控制信号,控制浮点运算单元阵列进行操作;以及浮点运算单元阵列,用于接收控制信号,并根据控制信号从存储模块中读入源操作数,并将计算结果存入存储模块中。另外,根据本专利技术上述实施例的协处理器还可以具有如下附加的技术特征在本专利技术的一个实施例中,夕卜部设备接口进一步包括输入时钟信号端,用于为协处理器提供工作时钟;输入复位信号端,用于为协处理器的存储模块恢复初始状态;数据输入输出总线端,用于统一的模块内外数据交互;DMA输入输出总线端,用于集中的模块内外数据交互;以及输出中断信号端,用于协处理器向外部设备发送中断请求。在本专利技术的一个实施例中,输入输出控制模块进一步包括总线控制器模块,用于解析数据输入输出总线信号协议,通过外部总线进行统一的模块内外数据交互;DMA控制器模块,用于直接存储器数据存取,通过DMA总线进行集中的模块内外数据交互;以及中断信号产生模块,用于判断浮点矩阵算法执行完毕,向外部设备发送中断请求信号。在本专利技术的一个实施例中,存储模块进一步包括可重构指令队列存储模块,用于存储描述浮点矩阵算法执行的二进制指令;局部寄存器堆模块,用于存储浮点运算单元阵列中运算单元计算所需的源操作数以及计算结果数据;控制寄存器,用于存储外部设备对协处理器的控制信息;以及状态寄存器,用于存储协处理器的状态信息。在本专利技术的一个实施例中,可重构协处理器控制器模块,用于从可重构指令队列存储模块中依次读取指令,对指令进行译码产生控制信号,并将控制信号发送到浮点运算单元阵列,控制运算单元进行运算操作;可重构协处理器控制器模块从控制寄存器中读出外部设备对协处理器的控制信息,并控制协处理器执行浮点矩阵算法二进制程序的开始、中间状态、结束以及产生中断等过程;可重构协处理器控制器模块监控协处理器执行浮点矩阵算法二进制程序的状态,并将状态信息存储到状态寄存器中。 在本专利技术的一个实施例中,浮点运算单元阵列进一步包括第一浮点乘加单元,用于完成浮点操作数加减类型的运算;第二浮点乘加单元,用于完成浮点操作数乘法类型的运算;第三浮点乘加单元,用于完成浮点操作数绝对值类型的运算;第四浮点乘加单元,用 于完成浮点操作数乘加类型的运算;浮点除法单元,用于完成浮点操作数除法类型的运算;浮点开方单元,用于完成浮点操作数开方类型的运算;浮点比较单元,用于完成浮点操作数比较大小类型的运算;以及选择单元,用于根据控制信号在两个浮点操作数中选择其中一个输出类型的运算。在本专利技术的一个实施例中,协处理器还包括交叉互连开关,浮点运算单元阵列与局部寄存器堆模块通过交叉互连开关相连接;交叉互连开关包括与可重构协处理器控制器相连接的第一读写端口,当运算中需要常数量或者立即数量作为浮点运算单元的源操作数时,由可重构协处理器控制器通过第一读写端口写入局部寄存器堆中,可重构协处理器控制器可以通过第一读写端口读出浮点运算单元计算的结果值;交叉互连开关包括与输入输出控制模块相连接的第二读写端口,外部设备可以通过第二读写端口将数据写入局部寄存器堆中,也可以通过第二读写端口读出浮点运算单元计算的结果值。本专利技术所述的可重构浮点矩阵算法的协处理器电路与现有技术相比较具有以下优点和有益效果(I)相比于定点数据,浮点数据支持的数据动态范围更大,能够提供更高的计算精度,所述可重构浮点矩阵算法协处理器可以根据要求配置支持的数据类型为单精度或者双精度浮点操作数;(2)浮点矩阵算法运算速度快,可重构浮点矩阵算法协处理器针对浮点矩阵算法的特点,采用并行计算的方式来加速浮点矩阵算法的执行;(3)具有较大的灵活性,可重构浮点矩阵算法协处理器可以面向各种不同的浮点矩阵算法,用户在需要更换算法时,只需将算法编码成协处理器可执行的二进制代码并通过外部接口输入进协处理器即可,而不必更换芯片;(4)具有较强的扩展性,在需要提升可重构浮点矩阵算法协处理器的性能时,可以通过增加浮点运算单元阵列中的运算部件的数量实现,无需变更整个协处理器电路的体系结构,只需对其他相关部件进行简单扩展即可。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中图I是本专利技术的协处理器的结构框图;图2是本专利技术的协处理器的结构示意图;图3是本专利技术的浮点运算单元阵列及局部寄存器堆模块互连结构图;图4是本专利技术的控制寄存器区段示意图;以及图5是本专利技术的状态寄存器区段示意图。具体实施方式 下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广本文档来自技高网...

【技术保护点】
一种协处理器,其特征在于,包括:外部设备接口,用于连接外部设备;以及协处理器电路,用于进行协处理操作,其中,所述协处理器电路进一步包括:输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;存储模块,用于数据存储;可重构协处理器控制器模块,用于根据所述存储模块内的指令产生控制信号,控制浮点运算单元阵列进行操作;以及所述浮点运算单元阵列,用于接收所述控制信号,并根据所述控制信号从所述存储模块中读入源操作数,并将计算结果存入所述存储模块中。

【技术特征摘要】

【专利技术属性】
技术研发人员:李兆麟李圣龙王芳
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1