高效的粗粒度可重构计算系统技术方案

技术编号:13123641 阅读:162 留言:0更新日期:2016-04-06 11:30
本发明专利技术公开了一种粗粒度可重构计算系统,用于执行应用程序的源代码的串行执行部分和并行执行部分,其中的并行执行部分被转换为配置信息。本发明专利技术包括通用处理器核、粗粒度可重构阵列、主存储器、共享存储器和配置信息存储器。粗粒度可重构阵列执行该并行执行部分,包括成阵列排布的多个执行单元;各执行单元包括三个多路复用器、运算器和寄存器堆,多路复用器接收输入数据,运算器执行运算并将运算结果输出到阵列之外、输出到下一行的任意一个执行单元中以及输出到寄存器堆。本发明专利技术的粗粒度可重构计算系统适用的应用类型广,硬件代价低且能保证良好的性能,节省了配置时间,提升了效率。

【技术实现步骤摘要】

本专利技术涉及处理器结构设计
,尤其涉及一种高效的粗粒度可重构计算系统
技术介绍
随着微电子工艺技术的发展,已经触及了半导体器件技术的极限,主导半导体产业多年的摩尔定律已经失效,微处理器的主频难以进一步提升。然而,微电子工艺技术的发展也带来了另一方面的进步,那就是片上集成度的快速提升。因而当前处理器架构的发展已经从追求主频的提升转向如何更好利用日益丰富的片上系统资源。可重构计算结构是异于传统冯诺依曼结构的一种计算架构,又称可重构架构、可重构系统,它通过静态或动态更改电路结构以及连接关系的方法来改变电路功能,这与通过改变所执行的指令流来改变功能的冯诺依曼架构形成显著区别。静态的可重构计算结构目前主要以FPGA为代表,已经发展较为成熟。本文涉及的是动态粗粒度可重构计算架构。所谓动态,指的是该结构可以在计算过程中间改变电路结构及功能,相比静态可重构的FPGA更为灵活;所谓粗粒度,指的是功能的改变至少以一个字节(8bit)及以上为粒度,而不是像FPGA以位(bit)为单位的细粒度重构。粗粒度可重构带来的好处是配置信息的量会大大降低,从而降低了重构时的代价,这也是粗粒度可重构架构比FPGA更适合实现动态可重构的根本原因。可重构系统的早期研究起步于上世纪60年代,由于当时的工艺技术比较落后,难以在片上集成足够的资源,因此可重构系统的发展比较缓慢。随着近年半导体工艺技术的进步,使得片上可以集成极为丰富的资源,因而粗粒度可重构系统重新受到了重视。粗粒度可重构架构提供了比通用处理器更高的性能,比专用集成电路更好的灵活性,成为当前的研究热点,研究者希望通过在可重构架构方面的探索解决目前计算架构面临的资源利用、通信、功耗等多方面的问题。粗粒度可重构架构的研发虽起步于上世纪60年代,但真正成为热点是在本世纪初,出现了一批粗粒度可重构架构,一直持续到现在。Garp是加州伯克利大学比较早提出的粗粒度可重构架构,其系统架构框图如图1所示,它由一个MIPS处理器加一个32位的可重构计算阵列组成,主要面向计算密集型的应用(参见:Cal lahan T.J., Hauser J.R.,ffawrzynek J.The Garp architecture and C compiler.Computer,2000,33(4):62-69)。由图1可以看出,可重构阵列通过交叉开关(CrossBar)和主处理器以及内存连在一起,使得可重构阵列可以快速从缓存中读取数据。然而,其并未配备可重构阵列所用的存储器,可能会影响传输数据的性能,进而影响整个系统的性能。卡内基梅隆大学的PipeRench架构将多个执行单元(PE)组织为流水线型的结构,不同流水线步之间以互连网络进行连接(参见:Goldstein S.C.,Schmit H.,Budiu Μ.,Cadambi S.,Moe M.,Taylor R.R.PipeRench:a reconfigurable architecture andcompiler .Computer,2000,33(4): 70-77) D 如图 2、3所示的PipeRench 的优点是不同流水线步之间通信效率很高。然而,就文献所提供的资料来看,其并不具备通用处理器核,限制了该架构在流处理以外的更多应用的方面。加州大学欧文分校的MorphoSys是另一种得到广泛关注的粗粒度可重构架构,其系统框图 4(参见:Singh H.,Lee Μ.-Η., Lu G.,Bagherzadeh Ν.,Kurdahi F.J.’FilhoΕ.Μ.C.MorphoSys:An Integrated Reconfigurable System for Data-Parallel andComputat1n-1ntensive Applicat1ns!! J].IEEE Transact1n on Computers, 2000 ,49(5): 465-481) JorphoSys由一个简单RISC通用处理器核和一个8x8的可重构阵列RC Array构成;可重构阵列配置了一个小的Frame Buffer作为阵列自身的局部存储器,FrameBuffer与外部主存的通信通过DMA完成;配置信息存储在Context Memory中;可重构阵列与Frame Buffer间的数据通路宽度为64bits,与Context Memory之间的数据通路宽度为256bits,部分克服了内部数据传输带宽不足的问题。此外,可重构阵列采用部分mesh互连结构,在互连方面的传输效率存在不足。如图5所示,PACT公司的PACT XPP将处理单元组织为处理单元簇PAC,四个PAC通过监管配置管理器连接起来,每个PAC都有对外部的数据传输通路。该结构的问题在于PACTXPP只能用作加速单元处理计算密集型应用,系统控制代码或其它类型的代码仍然缺乏通用处理器核的支持。如图6所示,頂EC的ADRES架构采用了一种更为精巧的组织方式,顶层的处理单元被用作组成一个VLIW处理器,余下的处理单元组成可重构阵列。这是一种紧耦合的架构,具有结构简单,数据通路简单的优点;缺点是紧耦合的VLIW架构导致配套编译器开发困难,同时阵列局部存储器的缺失导致处理某些类型的应用效率低下。近年欧洲开发的MORPHEUS是一款非常复杂的可重构处理器,但已经不能称为粗粒度可重构处理器,因为其在片上集成了通用处理器核、粗粒度单元XPP、中粒度甚至细粒度的FPGA单元,其过高的架构复杂性限制了其应用(参见:Thoma F.,Kuhnle Μ.,Bonnot P.,Panainte E.M.,Bertels K.,Goller S., Schneider A.,Guyetant S., Schuler E.,Mul1er-Glaser K.D., Becker J.MORPHEUS:Heterogeneous Reconf igurableComputing.1nternat1nal Conference on Field Programmable Logic andApplicat1ns(FPLO7).2007:409-414) o EGRA是一种表达式粒度的可重构架构(参见:Ansaloni G.,Βοηζ?η? Ρ.,Ροζζ?L.EGRA: A Coarse Grained Reconf igurable Architectural Template.1EEETransact1ns on Very Large Scale Integrat1n(VLSI)Systems,2011,19(6):1062-1074),其架构框图如图7所示,将ALU簇、访存单元Mem、乘法器Mult等组织在一起,其定位仍然是一个加速单元,难以独立应用,且各类单元的布局固定,可能影响配置的灵活性。除上述国外研究者提出的架构外,近年国内相关单位也对粗粒度可重构架构进行了较为深入的研究,比如清华大学等提出的REmus II可重构架构,采用两个16x16阵列以及专用加速单元的异构可重构计算架构,取得了相当好的加速效果,但硬件复杂度过高。可见,上述的这些现有技术具有以下的缺陷:1、存在存储墙问题:系统架构设计不本文档来自技高网...
高效的粗粒度可重构计算系统

【技术保护点】
一种粗粒度可重构计算系统,用于执行应用程序的源代码的串行执行部分和并行执行部分,所述并行执行部分被转换为配置信息,其特征在于,包括通用处理器核、粗粒度可重构阵列、主存储器、共享存储器和配置信息存储器,所述通用处理器核与所述粗粒度可重构阵列、所述主存储器、所述共享存储器和所述配置信息存储器皆相连以相互通讯,所述共享存储器和所述配置信息存储器皆能与所述主存储器交换数据;所述通用处理器核用于执行所述串行执行部分以及指令所述粗粒度可重构阵列执行所述并行执行部分;所述主存储器用于存储所述配置信息、执行所述并行执行部分所需的输入数据以及执行所述并行执行部分后的输出数据;所述共享存储器用于从所述主存储器获取所述输入数据以供所述粗粒度可重构阵列读取,以及供所述粗粒度可重构阵列写入其运算结果以将所述运算结果作为所述输出数据存储至所述主存储器;所述配置信息存储器用于从所述主存储器获取所述配置信息以供所述粗粒度可重构阵列读取;所述粗粒度可重构阵列包括成m行n列排布的m×n个执行单元;所述执行单元包括第一多路复用器、第二多路复用器、第三多路复用器、运算器和寄存器堆;在第i行的任意一个所述执行单元中,1≤i≤m,所述第一多路复用器、所述第二多路复用器和所述第三多路复用器的第一输入端皆用于接收所述输入数据;所述第一多路复用器、所述第二多路复用器和所述第三多路复用器的第二输入端对应地与所述本地寄存器堆的第一、第二和第三输出端相连;当2≤i≤m,所述第一多路复用器、所述第二多路复用器和所述第三多路复用器的第三输入端分别地通过行交叉开关连接到第i‑1行所述执行单元中的所述运算器的输出端;当i=1,所述第一多路复用器、所述第二多路复用器和所述第三多路复用器的第三输入端皆空接;所述第一多路复用器、所述第二多路复用器和所述第三多路复用器的控制端皆用于接收所述配置信息中的选择信号;所述第一多路复用器的输出端连接到所述运算器的第一输入端,所述第二多路复用器的输出端连接到所述运算器的第二输入端,所述第三多路复用器的输出端连接到所述运算器的第三输入端;所述运算器的控制端用于接收所述配置信息中的运算指令,所述运算器根据其所述第一、第二、第三输入端的输入和所述运算指令进行运算,并将获得的运算结果从其输出端输出到所述阵列之外、输出到第i+1行的任意一个所述执行单元中以及输出到所述寄存器堆。...

【技术特征摘要】

【专利技术属性】
技术研发人员:绳伟光蒋剑飞毛志刚
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1