书馨卡帮你省薪
欢迎光临中图网 请 | 注册

软件定义芯片(上册)

出版社:科学出版社出版时间:2021-09-01
开本: 16开 页数: 278
本类榜单:工业技术销量榜
中 图 价:¥111.8(7.5折) 定价  ¥149.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

软件定义芯片(上册) 版权信息

软件定义芯片(上册) 内容简介

《软件定义芯片》共分上、下两册,本书为上册。主要从集成电路和计算架构的发展介绍软件定义芯片的概念演变,系统分析了软件定义芯片的技术原理、特性分析和关键问题,重点从架构设计原语、硬件设计空间、敏捷设计方法等方面系统介绍了软件定义芯片硬件架构设计方法,并从编译系统角度详细介绍了从不错语言到软件定义芯片配置信息的完整流程。 《软件定义芯片》适合电子科学与技术和计算机科学与技术专业的科研人员、高年级研究生,以及相关行业的工程师阅读。

软件定义芯片(上册) 目录

目录
上册

前言
第1章 绪论 1
1.1 概念演变 2
1.1.1 半导体集成电路发展背景 4
1.1.2 计算芯片体系架构发展背景 5
1.1.3 软件定义芯片VS.可编程器件 7
1.1.4 软件定义芯片VS.动态可重构计算 7
1.2 可编程器件发展 10
1.2.1 历史发展分析 10
1.2.2 FPGA的技术原理 11
1.2.3 FPGA发展面临的问题 14
1.2.4 软件定义芯片的颠覆性 16
1.3 国内外研究与产业现状 17
1.3.1 经典可编程器件的发展现状和趋势 17
1.3.2 软件定义芯片的研究现状 18
参考文献 20
第2章 软件定义芯片概述 24
2.1 基本原理 25
2.1.1 必要性分析 25
2.1.2 技术实现方法 28
2.1.3 技术对比 45
2.2 特性分析 51
2.2.1 高计算效率 51
2.2.2 编程门槛低 56
2.2.3 容量不受限 57
2.2.4 高硬件安全 57
2.3 关键研究问题 59
2.3.1 编程模型与灵活性 62
2.3.2 硬件架构与高效性 63
2.3.3 编译方法与易用性 64
参考文献 65
第3章 硬件架构与电路 69
3.1 软件定义架构的设计原语 70
3.1.1 计算和控制 70
3.1.2 片上存储 96
3.1.3 对外接口 105
3.1.4 片上互连 111
3.1.5 配置系统 117
3.1.6 小结 121
3.2 软件定义架构的开发框架 122
3.2.1 架构设计空间探索 123
3.2.2 敏捷硬件开发实例 134
3.2.3 小结 148
3.3 软件定义电路的设计空间 148
3.3.1 可调电路探索 149
3.3.2 模拟计算探索 152
3.3.3 近似计算探索 157
3.3.4 概率计算探索 165
3.3.5 小结 166
参考文献 166
第4章 编译系统 174
4.1 编译系统概述 175
4.1.1 静态编译流程 175
4.1.2 动态编译流程 178
4.2 静态编译方法 179
4.2.1 中间表达形式 179
4.2.2 映射问题抽象与建模 186
4.2.3 软件流水与模调度 192
4.2.4 整数线性规划 212
4.2.5 非规则的任务映射 223
4.3 动态编译方法 241
4.3.1 硬件资源虚拟化 242
4.3.2 基于指令流的动态编译 248
4.3.3 基于配置流的动态编译 257
参考文献 270
彩图
下册

前言
第1章 编程模型 1
1.1 软件定义芯片的编程模型困境 2
1.2 三条路线 3
1.3 三大障碍 5
1.3.1 冯 诺依曼架构与随机存取机模型 6
1.3.2 内存墙 8
1.3.3 功耗墙 12
1.3.4 I/O墙 21
1.4 三元悖论 24
1.5 三类探索 27
1.5.1 空域并行性与非规则应用 27
1.5.2 空域并行性的编程模型 31
1.6 本章小结与展望 60
参考文献 62
第2章 硬件安全性和可靠性 65
2.1 安全性 66
2.1.1 故障攻击防御技术 66
2.1.2 抗侧信道攻击防御技术 70
2.1.3 基于软件定义芯片的PUF技术 79
2.2 可靠性 89
2.2.1 基于*大流算法的拓扑结构重构方法 90
2.2.2 可重构片上网络多目标联合映射优化方法 99
参考文献 115
第3章 技术难点与发展趋势 120
3.1 技术难点分析 120
3.1.1 灵活性:软硬件协同的可编程性设计 121
3.1.2 高效性:硬件并行性和利用率的权衡 123
3.1.3 易用性:软件调度的虚拟化硬件优化 127
3.2 发展趋势展望 129
3.2.1 应用驱动的软硬件一体化设计 129
3.2.2 存算融合的多层次并行化设计 132
3.2.3 软件透明的硬件动态优化设计 139
参考文献 142
第4章 当前应用领域 148
4.1 应用领域分析 148
4.2 人工智能 151
4.2.1 算法分析 151
4.2.2 人工智能芯片研究现状 154
4.2.3 软件定义人工智能芯片 165
4.3 5G通信基带 173
4.3.1 算法分析 173
4.3.2 通信基带芯片研究现状 178
4.3.3 软件定义通信基带芯片 184
4.4 密码计算 191
4.4.1 密码算法分析 192
4.4.2 密码芯片研究现状 197
4.4.3 软件定义密码芯片 201
4.5 处理器硬件安全 207
4.5.1 概念及研究现状 207
4.5.2 CPU硬件安全威胁分析 207
4.5.3 现有应对方案 209
4.5.4 基于软件定义芯片的CPU 硬件安全技术 210
4.6 图计算 217
4.6.1 图算法的背景介绍 218
4.6.2 图计算的编程模型 222
4.6.3 图计算硬件架构研究进展 226
4.6.4 展望 238
4.7 网络协议 239
4.7.1 软件定义网络协议 240
4.7.2 软件定义网络芯片研究现状 245
4.7.3 软件定义网络芯片技术 255
参考文献 259
第5章 未来应用前景 268
5.1 可演化智能计算 269
5.1.1 可演化智能计算的概念与应用 269
5.1.2 可演化智能计算的历史与现状 270
5.1.3 软件定义可演化智能计算芯片 274
5.2 后量子密码 275
5.2.1 后量子密码算法的概念与应用 276
5.2.2 后量子密码芯片研究现状 280
5.2.3 软件定义后量子密码芯片 284
5.3 全同态加密 285
5.3.1 全同态加密的概念与应用 286
5.3.2 全同态加密芯片研究现状 288
5.3.3 软件定义全同态加密计算芯片 290
参考文献 297
彩图
展开全部

软件定义芯片(上册) 节选

第1章 绪论 We are firmly convinced that when a special purpose configuration may be accomplished using available facilities,a new level of inventiveness will be exercisable. 我们坚信,当(电路)资源足够丰富从而能够实现任何特定目标的配置时,将会实现颠覆性的创新。—Gerald Estrin,Western Joint Computer Conference,1960 近年来,随着社会和科学技术快速发展,计算芯片对性能、能效和灵活性的需求不断增长。大量新兴应用对计算能力的需求远超从前。过去几十年,集成电路工艺技术的进步是提高计算结构能力的主要措施之一。然而,随着摩尔定律和登纳德缩放比例定律放缓甚至走向终结,这一方法正在逐渐失效。众所周知的功耗墙问题的出现使得集成电路的功耗约束在许多应用中变得更加严格。集成电路工艺进步带来的性能收益越来越小,这使得硬件架构可实现的计算能力受到严重限制。因此,计算机架构设计师不得不将注意力从性能转移到能效上。同时,计算电路的灵活性也成为不容忽视的设计考量。新兴应用不断涌现、用户需求持续增加以及科技能力快速进步,软件升级越来越快,不能适应软件变化的硬件实现形式将面临生命周期过短和一次性工程成本(non-recurring engineering,NRE)过高的难题。总体来说,能效和灵活性已成为计算架构*主要的评价标准。 然而,对于主流计算架构,满足这些新需求极具挑战性。专用集成电路(application specific integrated circuit,ASIC)能效虽高,但不具备灵活性;而冯 诺依曼处理器,如通用处理器(general purpose processor,GPP)、图形处理单元(graphics processing unit,GPU)、数字信号处理器(digital signal processor,DSP)虽足够灵活,但能效太低。现场可编程逻辑门阵列(field programmable gate array,FPGA)因具备定制实现大规模数字逻辑、快速完成产品定型等能力而被广为使用,在通信、网络、航天、国防等领域拥有牢固的重要地位。然而,其单比特编程粒度、静态配置等本征属性造成了能量效率低、容量受限、使用门槛高等问题,无法满足不断提高的应用需求。近年来,通过采用扩大硬件规模、异构计算、高级语言编程等方法,FPGA进行了持续的技术升级,但受其本征属性限制,上述问题始终未能从根本上得到解决。如果FPGA的基础架构不发生根本改变,其未来将困难重重。软件定义芯片采用以粗粒度为主的混合编程粒度与动态配置相结合的方式,可以从根本上解决以上制约 FPGA发展的技术难题,并同时满足能效和灵活性的需求。混合编程粒度能大幅减小资源冗余,提升芯片能效;动态配置通过时分复用能摆脱承载容量的限制,与高级语言配合可提高器件可编程性、降低使用门槛。美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)“电子振兴计划”2018年投入7100万美元,正组织全美*强力量开展软件定义芯片的联合攻关。欧盟“地平线2020”也对该方向给予了高度的重视和持续的研发支持。软件定义芯片已成为世界强国战略必争的研究方向。 本章首先从集成电路和计算架构的发展背景角度介绍软件定义芯片的概念演变,然后从传统可编程器件的发展、原理以及面临的问题出发论述软件定义芯片的颠覆性,*后介绍经典可编程器件和软件定义芯片的国内外研究及发展现状。 1.1 概念演变 软件定义芯片是一种关于“芯片架构(包括硬件层和软件层)设计”的新理念和新范式。传统的芯片架构设计范式总结如图1-1所示。通用处理器(中央处理器(central processing unit,CPU)、GPU、DSP)设计的模式是软件,通过将应用算法转化到命令式的软件指令串(或长指令、单指令多数据流(single instruction multiple data,SIMD)指令等),然后用硬件来实现每条指令及其流水、调度、控制机制,从而完成应用功能的物理实现。由于硬件本身的特性基本没有得到体现,无法充分发挥硬件本身的优势,因此这种方式的效率是*低的。传统可编程逻辑器件设计的本质是硬件,通过将硬件抽象为一个个空间分布的功能簇,由功能簇组合实现特定的功能需求。因为软件不包含硬件特性上的任何抽象,所以这种方式的编程易用性是比较差的。图1-2更深入地总结了芯片架构设计范式背后的问题。软件实现方式是串行的和时域切换的,灵活性高。硬件实现方式的计算模式则相反,是并行化的和空间展开的,性能与效率高。以通用处理器为代表的软件实现方式的设计路线忽略了硬件的空间并行性,而以传统可编程逻辑器件为代表的硬件实现方式则忽视了软件时分复用硬件资源的能力。总而言之,通用处理器可以看成“用硬件实现的软件”,而传统可编程器件就可看成“用户可配置的硬件”。 图1-1 芯片架构设计范式的对比(CGRA指粗粒度可重构计算结构,SoC指系统芯片,EPLD指可擦除可编辑逻辑器件) 图1-2 软件定义芯片的编程使用模式 软件定义芯片,作为一种新的芯片架构设计范式,希望能够打破软件和硬件间的隔阂,用软件直接定义硬件的运行时功能和规则,使硬件能够随着软件变化而实时改变功能(其硬件不仅可以在时域上不断切换功能,还可以在空域上支持电路功能的可编程),并能实现实时的功能优化,从而兼顾硬件的高效率和软件的高灵活性[1]。 与软件定义无线电(software defined radio,SDR)、软件定义网络(software defined network,SDN)等概念类似,软件定义芯片反映的是软件定义万物(software defined everything,SDE)的理念。在这些概念背后存在着更深层的动机,即信息社会发展速度已经远远超过许多底层设施更新的速度,人们逐渐希望底层设施可以变得灵活,从而降低底层设施的更新频率,避免其更新给设计和成本带来的庞大开销。例如,SDR概念从20世纪90年代就开始广泛流行,而那正是移动通信大发展的时代,多种数字无线通信标准(如全球移动通信系统(global system for mobile communications,GSM)标准和码分多址(code division multiple access,CDMA)标准)共存而且不能兼容,技术人员希望可以将不同频段信号转换成数字信号然后通过软件来统一处理,从而适应无线通信技术的发展。近年来流行的 OpenRAN概念本质就是软件定义无线网络,是 SDR和 SDN概念的延伸。伴随着5G技术的快速发展,市场上能够适应新技术、新标准并进行持续研发投入的厂家越来越少,而 OpenRAN正是应对这种情况的一种方法,并且已经得到不少国家(包括美国)和企业(O-RAN联盟)的支持。 软件定义芯片的出现是集成电路和计算架构技术发展速度赶不上社会发展需求的体现。下面从这两个角度出发介绍软件定义芯片出现的背景、原因和必然性。 1.1.1 半导体集成电路发展背景 集成电路制造工艺的发展使得硅芯片集成能力越来越强。从20世纪70年代晚期开始,基于金属氧化物半导体(metal oxide semiconductor,MOS)晶体管的集成电路工艺已经成为主流技术选择,开始是 N型金属氧化物半导体(n-type metal oxide semiconductor,NMOS)电路设计,然后是互补型金属氧化物半导体(complementary metal oxide semiconductor,CMOS)电路设计。集成电路技术的发展速度极为惊人,并成为提高芯片性能的关键因素。1965年,Gordon Moore预言,集成电路的晶体管数目每一年翻一倍,然后在1975年修改为每两年翻一番,并相当成功预测了半导体工艺迄今为止的发展[2]。然而,集成度的发展速度大概在2000年开始降低,在2018年已经与 Gordon Moore的预测值相差15倍以上,甚至还有扩大的趋势,如图1-3(a)所示[3],摩尔定律正在逐渐失效,距离物理极限已经越来越近[4]。而同时,另一个由 Robert Dennard做出的预测(登纳德缩放比例定律,Dennard scaling),即芯片功耗密度随着工艺尺寸下降而保持不变[5],则已经在2012年左右彻底失效,如图1-3(b)所示[3],使得功耗墙成为通用处理器的一个关键问题,能量效率成为集成电路设计的关键指标之一。 另外,集成电路制造工艺的发展还带来了设计和制造成本的飙升。如图1-3(c)所示,工艺线成本和设计费用的不断提高,使产业内具有*先进芯片研发能力的公司越来越少,目前5nm和7nm工艺基本只剩下苹果、英特尔、高通、英伟达等公司能够跟进设计(注意它们做的都是通用芯片)。同时芯片的一次性投入增加,也要求生产更多的数量来摊薄成本。所以芯片设计需要尽可能兼顾越来越高的性能需求和一定范围内的灵活性。 图1-3 集成电路的发展(见彩图) 1.1.2 计算芯片体系架构发展背景 在现代信息化社会中,大量新兴应用,如神经网络、云计算和生物信息学等,对计算能力的需求越来越高。如1.1.1节所述,集成电路工艺的发展在过去数十年带来了性能、效率、容量上的稳固提升,相比而言,计算机体系结构发展带来的进步要小得多。如今,计算芯片的主流架构设计如 CPU、GPU、DSP等仍然是以冯 诺依曼结构为基础,其指令流控制的计算过程是通用的和图灵完备的。但是,为了确保灵活性,通用处理器设计时包含了大量取指、译码等非算术逻辑单元,因此它在计算过程中的额外能量开销非常大,计算的能量效率比偏低。以14nm工艺下一个典型 CPU,Xeon E5-2620(4发射乱序执行处理器)为例,它完成 Smith-Waterman算法(用于基因分析)单次迭代需要消耗81nJ的能量。相比之下,40nm工艺下的领域定制处理器 Darwin只需要3.1pJ的能量就可以完成一次迭代,其中只有0.3pJ消耗在计算上,而2.8pJ消耗在访存和控制上[6]。可以看到,对于一个现代处理器,实际消耗在计算资源上的功耗非常低,甚至可能小于1%,大量的功耗都消耗在了取指、译码、乱序重排上。这些额外的能耗开销加剧了当今通用处理器的“功耗墙”问题:集成电路散热工艺决定了功耗的上限;登纳德定律的终结意味着*高工作频率已经难以提升,借助新工艺不断提升芯片性能的时代即将终结;而大量的额外计算开销意味着计算效率低,难以有效利用工艺提供的计算能力。因此,新型计算芯片架构设计已经迫在眉睫。 “牧村浪潮”是对计算芯片发展规律的一种归纳加预测。早在1987年原日立公司总工程师牧村次夫提出半导体产品将每十年按照“标准”与“定制”的方式波动一次,也就是说芯片的设计方法会在更倾向于灵活性即通用和更倾向于效率即专用之间波动。1991年他将该想法正式发表在Electronics Weekly上,称为“牧村浪潮”。它的正确性被近年来可编程芯片的快速发展所验证,进而得到了众多可编程器件公司的响应,产生广泛的影响力[7]。德国凯撒斯劳滕大学的Hartenstein教授把它进一步称为“牧村定律”。他修订了第五波(1997~2007年)为低效的现场可编程通用计算;第六波(2007年以后)为一个长波,以粗颗粒度可重构计算为主要特征[8]。Hartenstein教授认为在集成电路特征线宽逼近物理极限的情况下,“牧村定律”完全可以成为类似于摩尔定律的产业规律,指导集成电路技术继续高速发展。在“牧村浪潮”的基础上,中国工程院许居衍院士在200

商品评论(0条)
暂无评论……
书友推荐
编辑推荐
返回顶部
中图网
在线客服