CN102750127A - 一种协处理器 - Google Patents
一种协处理器 Download PDFInfo
- Publication number
- CN102750127A CN102750127A CN2012101937582A CN201210193758A CN102750127A CN 102750127 A CN102750127 A CN 102750127A CN 2012101937582 A CN2012101937582 A CN 2012101937582A CN 201210193758 A CN201210193758 A CN 201210193758A CN 102750127 A CN102750127 A CN 102750127A
- Authority
- CN
- China
- Prior art keywords
- floating
- coprocessor
- point
- module
- reconfigurable
- 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.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 39
- 230000003993 interaction Effects 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明提出一种协处理器,包括:外部设备接口,用于连接外部设备;以及协处理器电路,用于进行协处理操作,其中,协处理器电路进一步包括:输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;存储模块,用于数据存储;可重构协处理器控制器模块,用于根据存储模块内的指令产生控制信号,控制运算单元阵列进行操作;以及运算单元阵列,用于接收可重构协处理器控制器模块产生的控制信号,并根据控制信号从存储模块中读入源操作数,并将计算结果存入存储模块中。根据本发明的协处理器可应用于浮点矩阵运算,具有运算速度快、结构相对简单、配置灵活、扩展性强的优点。
Description
技术领域
本发明涉及集成电路设计领域,具体涉及一种实现可重构浮点矩阵算法的协处理器。
背景技术
随着科学技术的进步,人们对计算性能的要求越来越高,高性能浮点矩阵算法越来越广泛地应用于媒体处理、科学计算以及工业控制等领域。针对高性能浮点矩阵算法的ASIC(Application Specific Integrated Circuit,专用集成电路)设计,存在设计周期长、成本高、灵活性和可扩展性差的问题。
现有的通用处理器,包括CPU(Central Processing Unit,中央处理器)和DSP(DigitalSignal Processing,数字信号处理),也可以完成高性能浮点矩阵算法的实现,但是存在两个方面的问题:第一是通用处理器为了实现通用性,结构较为复杂,用于浮点矩阵运算需要付出较大的功耗和面积代价;第二是通用处理器主要面向标量计算设计,同时由于“存储墙”问题的存在,使得浮点矩阵算法在通用处理器的运算需要付出较长的时间代价。
发明内容
为了克服现有处理器在浮点矩阵运算领域的不足,本发明旨在提出了一种结构简单、配置灵活、扩展性强的可应用于重构浮点矩阵算法的协处理器。
根据本发明实施例的协处理器,包括以下部分:外部设备接口,用于连接外部设备;以及协处理器电路,用于进行协处理操作,其中,协处理器电路进一步包括:输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;存储模块,用于数据存储;可重构协处理器控制器模块,用于根据存储模块内的指令产生控制信号,控制浮点运算单元阵列进行操作;以及浮点运算单元阵列,用于接收控制信号,并根据控制信号从存储模块中读入源操作数,并将计算结果存入存储模块中。
另外,根据本发明上述实施例的协处理器还可以具有如下附加的技术特征:
在本发明的一个实施例中,外部设备接口进一步包括:输入时钟信号端,用于为协处理器提供工作时钟;输入复位信号端,用于为协处理器的存储模块恢复初始状态;数据输入输出总线端,用于统一的模块内外数据交互;DMA输入输出总线端,用于集中的模块内外数据交互;以及输出中断信号端,用于协处理器向外部设备发送中断请求。
在本发明的一个实施例中,输入输出控制模块进一步包括:总线控制器模块,用于解析数据输入输出总线信号协议,通过外部总线进行统一的模块内外数据交互;DMA控制器模块,用于直接存储器数据存取,通过DMA总线进行集中的模块内外数据交互;以及中断信号产生模块,用于判断浮点矩阵算法执行完毕,向外部设备发送中断请求信号。
在本发明的一个实施例中,存储模块进一步包括:可重构指令队列存储模块,用于存储描述浮点矩阵算法执行的二进制指令;局部寄存器堆模块,用于存储浮点运算单元阵列中运算单元计算所需的源操作数以及计算结果数据;控制寄存器,用于存储外部设备对协处理器的控制信息;以及状态寄存器,用于存储协处理器的状态信息。
在本发明的一个实施例中,可重构协处理器控制器模块,用于从可重构指令队列存储模块中依次读取指令,对指令进行译码产生控制信号,并将控制信号发送到浮点运算单元阵列,控制运算单元进行运算操作;可重构协处理器控制器模块从控制寄存器中读出外部设备对协处理器的控制信息,并控制协处理器执行浮点矩阵算法二进制程序的开始、中间状态、结束以及产生中断等过程;可重构协处理器控制器模块监控协处理器执行浮点矩阵算法二进制程序的状态,并将状态信息存储到状态寄存器中。
在本发明的一个实施例中,浮点运算单元阵列进一步包括:第一浮点乘加单元,用于完成浮点操作数加减类型的运算;第二浮点乘加单元,用于完成浮点操作数乘法类型的运算;第三浮点乘加单元,用于完成浮点操作数绝对值类型的运算;第四浮点乘加单元,用于完成浮点操作数乘加类型的运算;浮点除法单元,用于完成浮点操作数除法类型的运算;浮点开方单元,用于完成浮点操作数开方类型的运算;浮点比较单元,用于完成浮点操作数比较大小类型的运算;以及选择单元,用于根据控制信号在两个浮点操作数中选择其中一个输出类型的运算。
在本发明的一个实施例中,协处理器还包括:交叉互连开关,浮点运算单元阵列与局部寄存器堆模块通过交叉互连开关相连接;交叉互连开关包括与可重构协处理器控制器相连接的第一读写端口,当运算中需要常数量或者立即数量作为浮点运算单元的源操作数时,由可重构协处理器控制器通过第一读写端口写入局部寄存器堆中,可重构协处理器控制器可以通过第一读写端口读出浮点运算单元计算的结果值;交叉互连开关包括与输入输出控制模块相连接的第二读写端口,外部设备可以通过第二读写端口将数据写入局部寄存器堆中,也可以通过第二读写端口读出浮点运算单元计算的结果值。
本发明所述的可重构浮点矩阵算法的协处理器电路与现有技术相比较具有以下优点和有益效果:
(1)相比于定点数据,浮点数据支持的数据动态范围更大,能够提供更高的计算精度,所述可重构浮点矩阵算法协处理器可以根据要求配置支持的数据类型为单精度或者双精度浮点操作数;
(2)浮点矩阵算法运算速度快,可重构浮点矩阵算法协处理器针对浮点矩阵算法的特点,采用并行计算的方式来加速浮点矩阵算法的执行;
(3)具有较大的灵活性,可重构浮点矩阵算法协处理器可以面向各种不同的浮点矩阵算法,用户在需要更换算法时,只需将算法编码成协处理器可执行的二进制代码并通过外部接口输入进协处理器即可,而不必更换芯片;
(4)具有较强的扩展性,在需要提升可重构浮点矩阵算法协处理器的性能时,可以通过增加浮点运算单元阵列中的运算部件的数量实现,无需变更整个协处理器电路的体系结构,只需对其他相关部件进行简单扩展即可。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明的协处理器的结构框图;
图2是本发明的协处理器的结构示意图;
图3是本发明的浮点运算单元阵列及局部寄存器堆模块互连结构图;
图4是本发明的控制寄存器区段示意图;以及
图5是本发明的状态寄存器区段示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
如图1所示,本发明的协处理器包括:用于连接外部设备的外部设备接口1和用于进行协处理操作的协处理器电路2。其中,协处理器电路2进一步包括:输入输出控制模块21、存储模块22、可重构协处理器控制器模块23以及运算单元阵列24。
图2中显示了本发明的协处理器的更多细节。本发明的协处理器中,具体地,
外部设备接口1进一步包括:输入时钟信号端11,用于为协处理器提供工作时钟;输入复位信号端12,用于为协处理器的存储模块22恢复初始状态;数据输入输出总线端13,用于统一的模块内外数据交互,包括内部寄存器和外部存储器、外部处理设备之间的数据交互;DMA输入输出总线端14,用于集中的模块内外数据交互,包括内部存储器和外部存储器之间大块连续的数据交互;以及输出中断信号端15,用于协处理器向外部设备发送中断请求。
输入输出控制模块21用于通过外部设备接口1与外部设备进行数据交互。输入输出控制模块21包括总线控制器模块211、DMA控制器模块212和中断信号产生模块213;其中:
总线控制器模块211用于解析数据输入输出总线13的信号协议,通过外部总线进行统一的模块内外数据交互,包括内部寄存器和外部存储器、外部处理设备之间的数据交互;
DMA控制器模块212用于直接存储器数据存取,用于集中的模块内外数据交互,包括内部存储器和外部存储器之间大块连续的数据交互。DMA控制器模块212中包含有源地址寄存器、目标地址寄存器和数据大小寄存器。外部设备通过将外部存储器中数据起始地址写入源地址寄存器,将数据在存储模块22中的地址写入目标地址寄存器,数据大小写入数据大小寄存器,并发起DMA请求来启动并完成数据从外部存储器到协处理器中存储模块22的传输;协处理器将计算结果在存储模块22中存储的起始地址写入源地址寄存器,将数据将要传输到外部存储器中的地址写入目标地址寄存器,将结果数据大小写入数据大小寄存器,并发起DMA请求来启动并完成结果数据从协处理器到外部存储器的传输;
中断信号产生模块213用于判断浮点矩阵算法执行完毕,向外部设备发送中断请求信号;描述浮点矩阵算法的二进制指令队列的最后一条指令必须是结束指令,当可重构协处理器控制器模块23执行到本条指令时,将计算结束状态位写入存储模块22中的状态寄存器224中;中断信号产生模块213通过判断状态寄存器224中的计算结束状态位来判断浮点矩阵算法是否执行完毕,当判断浮点矩阵算法执行完毕时,产生中断请求信号发送到外部设备。
存储模块22用于浮点矩阵算法协处理器的数据存储,存储模块22中的存储空间都是统一编址,便于和外部设备之间的数据交互;存储模块22包括可重构指令队列存储模块221、局部寄存器堆模块222、控制寄存器223和状态寄存器224;其中,
可重构指令队列存储模块221用于存储描述浮点矩阵算法执行的二进制指令,采用FIFO(First In Fist Out,先进先出)的队列形式;协处理器通过控制浮点运算单元阵列执行二进制指令队列完成浮点矩阵算法的运算;二进制指令初始存储在系统中的外部存储器中,有两种方法输入到可重构指令队列存储模块221中:第一种方法是外部设备通过数据输入输出总线13将描述浮点矩阵算法执行的二进制指令输入到可重构指令队列存储模块221中;第二种方法是外部设备将描述浮点矩阵算法执行的二进制指令在外部存储器空间中的存储地址和存储长度输入到DMA控制器模块212中,由DMA控制器通过DMA输入输出总线14将描述浮点矩阵算法执行的二进制指令从外部存储器输入到可重构指令队列存储模块221中;当需要转换算法的时候,只需通过上述两种方法将描述新算法的二进制代码输入到可重构指令队列存储模块221即可;
局部寄存器堆模块222用于存储浮点运算单元阵列24中运算单元计算所需的源操作数以及计算结果数据;如图3所示,局部寄存器堆模块222由20个分布式寄存器堆组成,分布式寄存器堆的写端口连接到互连交叉开关网络,在每一个时钟周期由可重构协处理器控制器模块23控制写入的数据;分布式寄存器堆的读端口连接到浮点运算单元阵列24中的运算模块,其中,LRF01、LRF02、LRF03连接到第一浮点乘加单元241,为第一浮点乘加单元241提供三个源操作数;LRF04、LRF05、LRF06连接到第二浮点乘加单元242,为第二浮点乘加单元242提供三个源操作数;LRF07、LRF08、LRF09连接到第三浮点乘加单元243,为第三浮点乘加单元243提供三个源操作数;LRF10、LRF11、LRF12连接到第四浮点乘加单元244,为第四浮点乘加单元244提供三个源操作数;LRF13、LRF14连接到浮点除法单元245,为浮点除法单元245提供两个源操作数;LRF15连接到浮点开方单元246,为浮点开方单元246提供一个源操作数;LRF16、LRF17连接到浮点比较单元247,为浮点比较单元247提供两个源操作数;LRF18、LRF19、LRF20连接到选择单元248,为选择单元248提供三个源操作数;分布式寄存器堆的大小可以根据算法的需要配置,在协处理器的一种实现中,单个分布式寄存器堆设计容量为1024位,配置成双精度浮点算法的组织形式为16×64位,配置成单精度浮点算法的组织形式为32×32位;当需要对浮点运算单元阵列进行扩展时,相应的局部寄存器堆模块也需要进行扩展,通过增加分布式寄存器堆的数量和扩展交叉开关网络的网格数目来实现;
控制寄存器223用于存储外部设备对协处理器的控制信息;控制寄存器223是一个32位寄存器,外部设备可通过数据输入输出总线13进行读写操作;控制寄存器223域描述如图4所示,在协处理器的一种实现中,各个域参数及功能描述如下表所示:
状态寄存器224用于存储协处理器的状态信息;状态寄存器224是一个32位寄存器,外部设备可通过数据输入输出总线13进行读操作,写操作对状态寄存器224没有影响;控制寄存器224域描述如图5所示,在协处理器的一种实现中,各个域参数及功能描述如下表所示:
可重构协处理器控制器模块23,用于从可重构指令队列存储模块221中依次读取指令,对指令进行译码产生控制信号,并将控制信号发送到浮点运算单元阵列24,控制运算单元进行运算操作;可重构协处理器控制器模块23从控制寄存器223中读出外部设备对协处理器的控制信息,并控制协处理器执行浮点矩阵算法二进制程序的开始、中间状态、结束以及产生中断等过程;可重构协处理器控制器模块23监控协处理器执行浮点矩阵算法二进制程序的状态,并将状态信息存储到状态寄存器224中。
浮点运算单元阵列24,用于接收可重构协处理器控制器模块23产生的控制信号,并根据控制信号从局部寄存器堆模块222中读入源操作数,并将计算结果存入局部寄存器堆模块222中;如图3所示,浮点运算单元阵列24,由第一浮点乘加单元241、第二浮点乘加单元242、第三浮点乘加单元243、第四浮点乘加单元244、浮点除法单元245、浮点开放单元246、浮点比较单元247和选择单元248组成;其中第一浮点乘加单元241、第二浮点乘加单元242、第三浮点乘加单元243和第四浮点乘加单元244用于完成浮点操作数加减、乘法、绝对值和乘加类型的运算;浮点除法单元245用于完成浮点操作数除法类型的运算;浮点开方单元246用于完成浮点操作数开方类型的运算;浮点比较单元247用于完成浮点操作数比较大小类型的运算;选择单元248用于根据控制信号在两个浮点操作数中选择其中一个输出类型的运算。
浮点运算单元阵列24与局部寄存器堆模块222通过交叉互连开关25相连接;每一时钟周期,浮点运算单元阵列24根据指令要求的地址从局部寄存器中取出源操作数,并将计算结果发送到交叉互联开关25,由可重构协处理器控制器控制结果写入指令要求的地址所指向的局部寄存器中;交叉互连开关25包括与可重构协处理器控制器相连接的第一读写端口,当运算中需要常数量或者立即数量作为浮点运算单元的源操作数时,由可重构协处理器控制器通过第一读写端口写入局部寄存器堆中,可重构协处理器控制器可以通过第一读写端口读出浮点运算单元计算的结果值;交叉互连开关25中包括与输入输出控制模块21相连接的第二读写端口,外部设备可以通过第二读写端口将数据写入局部寄存器堆中,也可以通过第二读写端口读出浮点运算单元计算的结果值。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。文中提到的存储介质可以是只读存储器,磁盘或光盘等。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种协处理器,其特征在于,包括:
外部设备接口,用于连接外部设备;以及
协处理器电路,用于进行协处理操作,其中,所述协处理器电路进一步包括:
输入输出控制模块,用于通过外部设备接口与外部设备进行数据交互;
存储模块,用于数据存储;
可重构协处理器控制器模块,用于根据所述存储模块内的指令产生控制信号,控制浮点运算单元阵列进行操作;以及
所述浮点运算单元阵列,用于接收所述控制信号,并根据所述控制信号从所述存储模块中读入源操作数,并将计算结果存入所述存储模块中。
2.如权利要求1所述的可重构浮点矩阵算法协处理器,其特征在于,所述外部设备接口进一步包括:
输入时钟信号端,用于为所述协处理器提供工作时钟;
输入复位信号端,用于为所述协处理器的所述存储模块恢复初始状态;
数据输入输出总线端,用于统一的模块内外数据交互;
DMA输入输出总线端,用于集中的模块内外数据交互;以及
输出中断信号端,用于所述协处理器向所述外部设备发送中断请求。
3.如权利要求2所述的协处理器,其特征在于,所述输入输出控制模块进一步包括:
总线控制器模块,用于解析数据输入输出总线信号协议,通过外部总线进行统一的模块内外数据交互;
DMA控制器模块,用于直接存储器数据存取,通过DMA总线进行集中的模块内外数据交互;以及
中断信号产生模块,用于判断浮点矩阵算法执行完毕,向所述外部设备发送中断请求信号。
4.如权利要求3所述的协处理器,其特征在于,所述存储模块进一步包括:
可重构指令队列存储模块,用于存储描述浮点矩阵算法执行的二进制指令;
局部寄存器堆模块,用于存储所述浮点运算单元阵列中运算单元计算所需的源操作数以及计算结果数据;
控制寄存器,用于存储所述外部设备对所述协处理器的控制信息;以及
状态寄存器,用于存储所述协处理器的状态信息。
5.如权利要求4所述的协处理器,其特征在于,所述可重构协处理器控制器模块,用于从所述可重构指令队列存储模块中依次读取指令,对所述指令进行译码产生控制信号,并将所述控制信号发送到所述浮点运算单元阵列,控制运算单元进行运算操作;所述可重构协处理器控制器模块从所述控制寄存器中读出所述外部设备对所述协处理器的控制信息,并控制所述协处理器执行浮点矩阵算法二进制程序的开始、中间状态、结束以及产生中断等过程;所述可重构协处理器控制器模块监控所述协处理器执行浮点矩阵算法二进制程序的状态,并将状态信息存储到所述状态寄存器中。
6.如权利要求5所述的协处理器,其特征在于,所述浮点运算单元阵列进一步包括:
第一浮点乘加单元,用于完成浮点操作数加减类型的运算;
第二浮点乘加单元,用于完成浮点操作数乘法类型的运算;
第三浮点乘加单元,用于完成浮点操作数绝对值类型的运算;
第四浮点乘加单元,用于完成浮点操作数乘加类型的运算;
浮点除法单元,用于完成浮点操作数除法类型的运算;
浮点开方单元,用于完成浮点操作数开方类型的运算;
浮点比较单元,用于完成浮点操作数比较大小类型的运算;以及
选择单元,用于根据所述控制信号在两个浮点操作数中选择其中一个输出类型的运算。
7.如权利要求6所述的协处理器,其特征在于,还包括:交叉互连开关,所述浮点运算单元阵列与所述局部寄存器堆模块通过所述交叉互连开关相连接;所述交叉互连开关包括与所述可重构协处理器控制器相连接的第一读写端口,当运算中需要常数量或者立即数量作为浮点运算单元的源操作数时,由可重构协处理器控制器通过所述第一读写端口写入局部寄存器堆中,可重构协处理器控制器可以通过所述第一读写端口读出浮点运算单元计算的结果值;所述交叉互连开关包括与所述输入输出控制模块相连接的第二读写端口,所述外部设备可以通过所述第二读写端口将数据写入局部寄存器堆中,也可以通过所述第二读写端口读出浮点运算单元计算的结果值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210193758.2A CN102750127B (zh) | 2012-06-12 | 2012-06-12 | 一种协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210193758.2A CN102750127B (zh) | 2012-06-12 | 2012-06-12 | 一种协处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750127A true CN102750127A (zh) | 2012-10-24 |
CN102750127B CN102750127B (zh) | 2015-06-24 |
Family
ID=47030351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210193758.2A Active CN102750127B (zh) | 2012-06-12 | 2012-06-12 | 一种协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750127B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778148A (zh) * | 2015-04-03 | 2015-07-15 | 哈尔滨工业大学 | 基于fpga的动态可重构嵌入式数据协处理平台及采用该平台实现的数据处理方法 |
CN105630728A (zh) * | 2014-11-24 | 2016-06-01 | 三星电子株式会社 | 使用具有不同的精度的计算器处理数据的方法和设备 |
CN105718423A (zh) * | 2016-01-19 | 2016-06-29 | 清华大学 | 一种流水可重构的单精度浮点fft/ifft协处理器 |
CN106815046A (zh) * | 2016-12-20 | 2017-06-09 | 中核控制系统工程有限公司 | 基于域存储的算法执行方法 |
WO2017124647A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 一种矩阵计算装置 |
CN108021528A (zh) * | 2016-11-03 | 2018-05-11 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN108647007A (zh) * | 2018-04-28 | 2018-10-12 | 天津芯海创科技有限公司 | 运算系统及芯片 |
WO2018192500A1 (zh) * | 2017-04-19 | 2018-10-25 | 上海寒武纪信息科技有限公司 | 处理装置和处理方法 |
CN108734281A (zh) * | 2017-04-21 | 2018-11-02 | 上海寒武纪信息科技有限公司 | 处理装置、处理方法、芯片及电子装置 |
CN108845828A (zh) * | 2018-05-29 | 2018-11-20 | 深圳市国微电子有限公司 | 一种协处理器、矩阵运算加速方法及系统 |
CN109032669A (zh) * | 2018-02-05 | 2018-12-18 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量最小值指令的方法 |
CN109522254A (zh) * | 2017-10-30 | 2019-03-26 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN110096307A (zh) * | 2018-01-29 | 2019-08-06 | 北京思朗科技有限责任公司 | 通信处理器 |
CN110096474A (zh) * | 2019-04-28 | 2019-08-06 | 北京超维度计算科技有限公司 | 一种基于可重构计算的高性能弹性计算架构及方法 |
CN110502278A (zh) * | 2019-07-24 | 2019-11-26 | 福州瑞芯微电子股份有限公司 | 基于RiscV扩展指令的神经网络协处理器及其协处理方法 |
CN110737470A (zh) * | 2017-04-28 | 2020-01-31 | 英特尔公司 | 低精度机器学习操作的计算优化 |
US10762164B2 (en) | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
CN112181878A (zh) * | 2020-08-28 | 2021-01-05 | 珠海欧比特宇航科技股份有限公司 | RapidIO接口架构和数据处理方法 |
CN112513887A (zh) * | 2018-08-03 | 2021-03-16 | 西门子股份公司 | 神经逻辑控制器 |
CN112527240A (zh) * | 2020-12-22 | 2021-03-19 | 中国电子科技集团公司第四十七研究所 | 一种配合80c186cpu进行的浮点运算装置 |
CN112540888A (zh) * | 2020-12-18 | 2021-03-23 | 清华大学 | 面向大规模可重构处理单元阵列的调试方法及装置 |
CN113760818A (zh) * | 2021-09-10 | 2021-12-07 | 中国电子科技集团公司第五十八研究所 | 一种高性能协处理器接口 |
US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
CN118349189A (zh) * | 2024-06-14 | 2024-07-16 | 中昊芯英(杭州)科技有限公司 | 交织式计算单元与存储模块的阵列结构、相关方法及装置 |
CN118656343A (zh) * | 2024-08-20 | 2024-09-17 | 西安电子科技大学 | 数字阵列信号处理超结构芯片及运算单元、超级运算单元 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1001335A1 (en) * | 1998-11-09 | 2000-05-17 | Infineon Technologies Corporation | Data processing unit with coprocessor interface |
CN1635731A (zh) * | 2003-12-27 | 2005-07-06 | 海信集团有限公司 | 可重构密码协处理器电路 |
-
2012
- 2012-06-12 CN CN201210193758.2A patent/CN102750127B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1001335A1 (en) * | 1998-11-09 | 2000-05-17 | Infineon Technologies Corporation | Data processing unit with coprocessor interface |
CN1635731A (zh) * | 2003-12-27 | 2005-07-06 | 海信集团有限公司 | 可重构密码协处理器电路 |
Non-Patent Citations (2)
Title |
---|
孙炼 等: "浮点协处理器在嵌入式组合导航计算机中的应用研究", 《计算机测量与控制》, vol. 16, no. 4, 25 April 2008 (2008-04-25), pages 555 - 557 * |
饶金理 等: "基于ESCA系统的层次化显示访存机制研究", 《计算机工程》, vol. 37, no. 22, 12 August 2011 (2011-08-12), pages 24 - 27 * |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630728A (zh) * | 2014-11-24 | 2016-06-01 | 三星电子株式会社 | 使用具有不同的精度的计算器处理数据的方法和设备 |
CN104778148A (zh) * | 2015-04-03 | 2015-07-15 | 哈尔滨工业大学 | 基于fpga的动态可重构嵌入式数据协处理平台及采用该平台实现的数据处理方法 |
CN105718423A (zh) * | 2016-01-19 | 2016-06-29 | 清华大学 | 一种流水可重构的单精度浮点fft/ifft协处理器 |
US10762164B2 (en) | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
WO2017124647A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 一种矩阵计算装置 |
CN107704433A (zh) * | 2016-01-20 | 2018-02-16 | 南京艾溪信息科技有限公司 | 一种矩阵运算指令及其方法 |
US11734383B2 (en) | 2016-01-20 | 2023-08-22 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN108021528A (zh) * | 2016-11-03 | 2018-05-11 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN109634904A (zh) * | 2016-11-03 | 2019-04-16 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN108021528B (zh) * | 2016-11-03 | 2020-03-13 | 中科寒武纪科技股份有限公司 | Slam运算装置和方法 |
CN109634904B (zh) * | 2016-11-03 | 2023-03-07 | 中科寒武纪科技股份有限公司 | Slam运算装置和方法 |
CN109376112B (zh) * | 2016-11-03 | 2022-03-15 | 中科寒武纪科技股份有限公司 | Slam运算装置和方法 |
WO2018082229A1 (zh) * | 2016-11-03 | 2018-05-11 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN109710559A (zh) * | 2016-11-03 | 2019-05-03 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN109376112A (zh) * | 2016-11-03 | 2019-02-22 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN106815046A (zh) * | 2016-12-20 | 2017-06-09 | 中核控制系统工程有限公司 | 基于域存储的算法执行方法 |
WO2018192500A1 (zh) * | 2017-04-19 | 2018-10-25 | 上海寒武纪信息科技有限公司 | 处理装置和处理方法 |
CN108734281A (zh) * | 2017-04-21 | 2018-11-02 | 上海寒武纪信息科技有限公司 | 处理装置、处理方法、芯片及电子装置 |
CN110737470A (zh) * | 2017-04-28 | 2020-01-31 | 英特尔公司 | 低精度机器学习操作的计算优化 |
CN109522254A (zh) * | 2017-10-30 | 2019-03-26 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
US12050887B2 (en) | 2017-10-30 | 2024-07-30 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11762631B2 (en) | 2017-10-30 | 2023-09-19 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11922132B2 (en) | 2017-10-30 | 2024-03-05 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
CN109522254B (zh) * | 2017-10-30 | 2022-04-12 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN110096307A (zh) * | 2018-01-29 | 2019-08-06 | 北京思朗科技有限责任公司 | 通信处理器 |
CN109032669A (zh) * | 2018-02-05 | 2018-12-18 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量最小值指令的方法 |
WO2019148781A1 (zh) * | 2018-02-05 | 2019-08-08 | 上海寒武纪信息科技有限公司 | 运算模块以及方法 |
US11836497B2 (en) | 2018-02-05 | 2023-12-05 | Shanghai Cambricon Information Technology Co., Ltd | Operation module and method thereof |
CN109101273A (zh) * | 2018-02-05 | 2018-12-28 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量最大值指令的方法 |
CN109032669B (zh) * | 2018-02-05 | 2023-08-29 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量最小值指令的方法 |
CN109101273B (zh) * | 2018-02-05 | 2023-08-25 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量最大值指令的方法 |
CN108647007A (zh) * | 2018-04-28 | 2018-10-12 | 天津芯海创科技有限公司 | 运算系统及芯片 |
CN108647007B (zh) * | 2018-04-28 | 2020-10-16 | 天津芯海创科技有限公司 | 运算系统及芯片 |
CN108845828B (zh) * | 2018-05-29 | 2021-01-08 | 深圳市国微电子有限公司 | 一种协处理器、矩阵运算加速方法及系统 |
CN108845828A (zh) * | 2018-05-29 | 2018-11-20 | 深圳市国微电子有限公司 | 一种协处理器、矩阵运算加速方法及系统 |
CN112513887A (zh) * | 2018-08-03 | 2021-03-16 | 西门子股份公司 | 神经逻辑控制器 |
US11996105B2 (en) | 2018-09-13 | 2024-05-28 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US12094456B2 (en) | 2018-09-13 | 2024-09-17 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and system |
US12057110B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Voice recognition based on neural networks |
US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
US12057109B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
CN110096474A (zh) * | 2019-04-28 | 2019-08-06 | 北京超维度计算科技有限公司 | 一种基于可重构计算的高性能弹性计算架构及方法 |
CN110502278B (zh) * | 2019-07-24 | 2021-07-16 | 瑞芯微电子股份有限公司 | 基于RiscV扩展指令的神经网络协处理器及其协处理方法 |
CN110502278A (zh) * | 2019-07-24 | 2019-11-26 | 福州瑞芯微电子股份有限公司 | 基于RiscV扩展指令的神经网络协处理器及其协处理方法 |
CN111831330B (zh) * | 2020-07-10 | 2022-02-01 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
CN112181878A (zh) * | 2020-08-28 | 2021-01-05 | 珠海欧比特宇航科技股份有限公司 | RapidIO接口架构和数据处理方法 |
CN112181878B (zh) * | 2020-08-28 | 2022-04-08 | 珠海欧比特宇航科技股份有限公司 | RapidIO接口架构和数据处理方法 |
CN112540888A (zh) * | 2020-12-18 | 2021-03-23 | 清华大学 | 面向大规模可重构处理单元阵列的调试方法及装置 |
CN112527240A (zh) * | 2020-12-22 | 2021-03-19 | 中国电子科技集团公司第四十七研究所 | 一种配合80c186cpu进行的浮点运算装置 |
CN112527240B (zh) * | 2020-12-22 | 2023-11-14 | 中国电子科技集团公司第四十七研究所 | 一种配合80c186cpu进行的浮点运算装置 |
CN113760818B (zh) * | 2021-09-10 | 2024-08-30 | 中国电子科技集团公司第五十八研究所 | 一种高性能协处理器接口 |
CN113760818A (zh) * | 2021-09-10 | 2021-12-07 | 中国电子科技集团公司第五十八研究所 | 一种高性能协处理器接口 |
CN118349189A (zh) * | 2024-06-14 | 2024-07-16 | 中昊芯英(杭州)科技有限公司 | 交织式计算单元与存储模块的阵列结构、相关方法及装置 |
CN118656343A (zh) * | 2024-08-20 | 2024-09-17 | 西安电子科技大学 | 数字阵列信号处理超结构芯片及运算单元、超级运算单元 |
Also Published As
Publication number | Publication date |
---|---|
CN102750127B (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750127B (zh) | 一种协处理器 | |
US10445451B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features | |
US10445234B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features | |
JP5647859B2 (ja) | 乗累算演算を実行するための装置および方法 | |
JP5819380B2 (ja) | 入力データ値に応じたfmaユニットにおける電力消費の低減 | |
US10216693B2 (en) | Computer with hybrid Von-Neumann/dataflow execution architecture | |
US20190004955A1 (en) | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features | |
US11029958B1 (en) | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator | |
US20110153707A1 (en) | Multiplying and adding matrices | |
CN101495959B (zh) | 组合微处理器内的多个寄存器单元的方法和设备 | |
TWI588740B (zh) | 包括用於移位和(shift-sum)乘法器之指令及邏輯的處理器及系統,以及用於移位和乘法的方法 | |
CN101802779A (zh) | 具有可重新组构的浮点单元的处理器 | |
CN111611202A (zh) | 脉动阵列加速器系统和方法 | |
US20210200540A1 (en) | Apparatuses, methods, and systems for fused operations in a configurable spatial accelerator | |
JP7377811B2 (ja) | 集積回路のためのデータ処理エンジンタイルアーキテクチャ | |
Nedjah et al. | Massively parallel modular exponentiation method and its implementation in software and hardware for high-performance cryptographic systems | |
CN111124360B (zh) | 一种可配置矩阵乘法的加速器 | |
JP2010117806A (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
JP4391053B2 (ja) | 複数の独立の専用プロセッサを有するデジタル信号プロセッサ | |
CN112074810A (zh) | 并行处理设备 | |
US8972471B2 (en) | Arithmetic module, device and system | |
WO2021062178A1 (en) | Bit width reconfiguration using a shadow-latch configured register file | |
CN101615114B (zh) | 完成两次乘法两次加法两次位移的微处理器实现方法 | |
RU222102U1 (ru) | Двухканальное специализированное операционное устройство | |
US10534608B2 (en) | Local computation logic embedded in a register file to accelerate programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200108 Address after: 214100 301-10, floor 3, building A3, No. 777, Jianshe West Road, Binhu District, Wuxi City, Jiangsu Province Patentee after: Wuxi Taihao Huixin Microelectronics Co., Ltd Address before: 100084 Haidian District 100084-82 mailbox Beijing Patentee before: Tsinghua University |
|
TR01 | Transfer of patent right |