(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf_第1页
(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf_第2页
(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf_第3页
(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf_第4页
(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(电子科学与技术专业论文)浮点乘加部件流水站中关键模块的全定制设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科技大学研究生院学位论文 a b s t r a c t t h es t r u c t u r eo ff l o a t i n g p o i n tm u l t i p l y a d d f u s e d m a f i ss oc o m p l e x t h a ti t sl a t e n c yo f l o g i c a l i m p l e m e n ti sv e r yl o n g i t sam a i nb o t t l e n e c ko ft h ed e s i g no fh i g hp e r f o r m a n c e p r o c e s s o r s s ot oi m p r o v et h ep e r f o r m a n c eo fp r o c e s s o r si sv e r yi m p o r t a n tt oi m p l e m e n tt h e m a fw i t hf a s t e ra n db e t t e rw a y s t h et r a d i t i o n a lh a l fc u s t o mw a yt oi m p l e m e n tt h em a fc a n n o tc a t c hu pw i t ht h ed e v e l o p m e n to fh i g hf r e q u e n c yo ft h ep r o c e s s o ry e t s i n c et h a t b a s e do n t h eh a l fc u s t o md e s i g n u s i n gf u l lc u s t o mw a yt od e s i g ns o m en e c e s s a r ya r i t h m e t i cl o g i cu n i to n c i r c u i t sc r i t i c a lp a t h i sav e r ye f f e c t i v em e t h o do nt h i sp r o b l e m t h i st h e s i se m p h a s i z e so nh o wt od e s i g ns o m el o g i cu n i to nc r i t i c a lp a t hi nf u l lc u s t o mw a y i tr e p r e s e n t st h ed e s i g no ft w od i f f e r e n th i 曲p e r f o r m a n c es h i f t e r si n0 13c m o s p r o c e s s a n d o p t i m i z e st h e ma ta l g o r i t h ml e v e l c i r c u i tl e v e la n dl a y o u tl e v e l t 1 1 i st h e s i sm a i n l yc o n t r i b u t e st o t h ef o l l o w i n ga s p e n o nt h e a s p e c t o f h a l fc u s t o m d e s i g n u s i n g an e wt h r e e o p e r a n d l e a d i n g z e r o a n t i c i p a t e l z a a l g o r i t h m i m p r o v e st h ep e r f o r m a n c eo fl z a u n i tw h i c hh a sl o n gl a n t e n c y a n d i ti sp r o v e dt oa c h i e v eag o o db a l a n c eb e t w e e ns p e e da n da r e a d e s i g nt h e16 2 b i ts h i f t e ro nt h en o r m a l i z a t i o np a t ho ft h em a fa n dt h e5 4 b i ts h i f t e ro n t h en o n n o r m a l i z a t i o np a t hw i t h 向uc u s t o md e s i g n u s i n gf om e t h o da n dl o g i c a le f f o r tm e t h o d a n a l y s e st h el o a do fc i r c u i t a n dc o n f i r mt h es i z eo ft r a n s i s t o r s b a s e do nt h a t u s i n gs t ad oa f u r t h e ra n de x a c to p t i m i z a t i o n t h i sp r a c t i c eh a v eb e t t e re f f e c t i ns l o wc a s e t h ed e l a yo fc r i t i c a lp a t ho ft w os h i f t e r sa l eo 7 5 n sa n do 5 5 n s a v e r a g ep o w e r d i s s p a t i o na r e1 9 9 8 6 m wa n d0 9 1 6 m w a n dl a y o u ta r e aa r e0 0 3 3 9 2 m m 2a n d0 0 0 5 5 7i n n 2 t h i s d e s i g n sa c h i e v et h eg o a lo fh i g h e rs p e e d l o w e rp o w e rd i s s i p a t i o na n ds m a l l e ra r e a k e y w o r d s m u l t i p l y a d d f u s e d f u l l a l g o r i t h m 1 6 2 一b i t s h i f t e ro nt h e n o n n o r m a l i z a t i o np a t h c u s t o m d e s i g n l e a d i n g z e r o a n t i c i p a t e l z a n o r m a l i z a t i o n p a t h 5 4 b i t s h i f t e ro nt h e 第i i 页 国防科技大学研究生院学位论文 表目录 表3 1 结果为正数时w 的各种情况 2 l 表3 2 两种算法延时比较 单位 n s 2 2 表3 3 预编码部分面积 单位 p m 2 2 表4 1 16 2 位移位器电路各部分尺寸 3l 表4 216 2 位移位器的数据通路版图模拟结果 3 9 表4 31 6 2 位移位器的控制通路版图模拟结果 4 0 表4 41 6 2 位移位器版图模拟结果 4 l 表4 54 1 6 译码器电路及版图模拟结果 4 1 表4 62 4 译码器电路及版图模拟结果 4 l 表5 15 4 位移位器电路各部分尺寸 4 7 表5 25 4 位移位器版图模拟结果 4 9 表5 35 4 位移位器电路及版图模拟结果 4 9 第1 i i 页 国防科技大学研究生院学位论文 图目录 图1 1 全定制设计流程 5 图2 1c l u s t e r 的内部结构图 8 图2 2 浮点乘加部件结构 9 图2 3 浮点乘加部件八站流水结构 l1 图2 4 调整后的浮点乘加部件十站流水结构 1 5 图3 1 带并行修正的l z a 结构 1 9 图4 1 桶形移位器 2 3 图4 2 对数移位器 2 4 图4 3 规格化移位器结构简图 j 2 5 图4 4p m o s 电平恢复电路 2 6 图4 5 四输入伪n m o s 或t 乍l j 2 6 图4 6 或非逻辑实现的2 4 译码器电路 2 7 图4 7 最初的逻辑结构和布局 2 8 图4 8 数据通路逻辑图 2 9 图4 9 移位器的逻辑图实现 上下两半部分 3 0 图4 1 0 验证流程 3 2 图4 1 1 验证结果 3 3 图4 1 22 4 译码器版图 3 4 图4 1 34 1 6 译码器版图 3 4 图4 1 7 第三级移位网络中的传输门 3 5 图4 1 8 第三级移位网络的局部布线 3 5 图4 1 9 第三级移位网络的两种布线方式 3 6 图4 2 0 第三级移位网络最终版图 3 7 图4 2 1 第一级移位网络带一 二级b u f f e r 的一个c e l l 3 8 图4 2 2 数据通路简图 3 9 图4 2 3 模拟波形 4 0 图5 1 原第六站非规格化通路框图 4 4 图5 2 改进后的非规格化通路框图 4 5 图5 3 非规格化移位器结构图 4 6 图5 43 8 译码器逻辑图 4 8 图5 53 8 译码器版图 4 8 图5 6 非规格化移位器逻辑图 5 2 第1 v 页 国防科技大学研究生院学位论文 图5 7 非规格化移位器版图 5 3 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果 尽我所知 除了文中特别加以标注和致谢的地方外 论文中不包含其他人已 经发表和撰写过的研究成果 也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目 翌虑垂垄整仕速壅韭主苤毽搓拭的全塞剑遮进 学位论文作者签名 杰色扛 日期 夕 uz 年 月夕日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留 使用学位论文的规定 本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档 允 许论文被查阅和借阅 可以将学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印 缩印或扫描等复制手段保存 汇编学位论文 保密学位论文在解密后适用本授权书 学位论文题目 翌惠垂堑璺仕速壅站生差筵搓迭盟全宝勃遮i 土 学位论文作者签名 篮聿一一一 日期 珈p 孑年 月产日 作者指导教师签名 j 弘越丝 日期 磁年f 月形日 国防科技大学研究生院学位论文 第一章绪论 自1 9 7 1 年i n t e l 公司推出世界上第一块4 位微处理器芯片以来 揭开了微处理器发 展的序幕 从4 位到6 4 位在这短短的3 0 年时间里 微处理器的性能遵循摩尔定律按照每 1 8 个月翻一番的速度不断提高 而随着技术的发展 在国民经济生产的各个领域 越来 越需要更高性能的处理器对大量的数据进行处理 而且对数据计算精度和实时性要求更 高 由于这些数据大部分为实数 因此对浮点数据的处理能力就被提上日程 事实上 浮 点处理器能力已经成为衡量微处理器性能的重要指标之一 研究浮点算法的计算技术和研 究算法实现的浮点处理器设计技术一直是国际上计算机体系结构领域的热点 l j 随着微电子技术的飞速进步 集成电路工艺进入深亚微米阶段 特征尺寸变得越来越 小 芯片设计不再把面积作为主要考察处理器性能的全部考虑指标 因此 流行的协处理器 或浮点处理单元f p u 的设计技术一般采用流水线技术 基于工艺水平的提高 微处理器 性能有了惊人的发展 目前3 g h z 以上的6 4 位微处理器早己问世 微处理器要达到如此高 的速度 其关键路径上的算术逻辑单元的运算时间必须很小 在算术逻辑单元的运算时间 中 加法运算和乘法运算占有绝大部分时间 因此加法和乘法的运算时问对微处理的性能 有着重要的影响 1 1 浮点乘法和加法的研究背景 现状及概述 最早提出融合乘加m a f m u l t i p l y a d d f u s e d 的是i b m 的m o m o y e 和h o k e n e k u j l j j 目前将这种结构称为传统的浮点融合乘加 缺点是求和时位数长 舍入增加了延时 所谓 的m a f 是把乘加当作一条不可分的指令来执行 这条乘加指令的实现是通过一个合并的 乘法和加法结构来完成的 乘法的输出是用和表示的乘积 没有计算出最终的乘积结果 然后与加数输入到一组3 2 c s a 产生两个新的s u m 和c a r r y 再求它们的和 浮点融合 乘加单元将运算a b c 作为不可分割的操作 不进行中间舍入 相比较 在乘加不融 合的部件中 运算a b c 需要执行两次舍入操作 乘一次 求和再作 次 浮点融合 乘加的优点在于 首先是减少了一次舍入 提高了运算结果的精度 其次是乘法和加法运 算共用了一些功能部件 从而减小了面积和功耗的开销 1 1 1 浮点加法 加法器和乘法器是数据运算部件的核心单元 随着对加法器和乘法器的研究越来越成 熟 开发出了许多高性能的加法和乘法运算单元 在各类算术运算部件当中 加法器是使 用频率最高的单元 加法器不但直接参与各种算术运算操作 而且还广泛用于乘法器 除法 器当中 由于加法器是各种数据运算单元的基本部件 促使很多人专门从事加法器的研究 第1 页 国防科技大学研究生院学位论文 从行波进位的串行进位加法器到跳跃进位加法器 再到快速的超前进位加法器 对加法器 的研究越来越趋向成剃4 儿引 浮点加法除了尾数加法以外 还要进行对阶移位 规格化移位 求补码 前导0 预测 和舍入操作 因此运算速度较整数加法器有相当大的差距 对于没有浮点融合乘加的浮点 单元 快速的浮点加法器对性能是非常重要的 因此减少浮点加法运算时间的技术研究倍 受重视 s w e e n e y 分析了浮点加法在浮点运算中的分布1 6 j 分析表明浮点加法的使用是最 频繁的 w a s e r 和f l y n n 提出了浮点加法的一种改进算法 它的起源是i b m 3 6 0 9 1 的浮点 处理器单元 7 1 f a r m w a l d 是第一个建议使用双通路实现浮点加法的人 8 这种算法至今仍 然是实现浮点加数的主要算法 g o s l i n g 总结了在浮点加法领域的通用技术 这些技术大 部分已经成为目前标准的实现技术 9 j s i t 和b e n s c h n e i d e r 等人设计了符合i e e e 标准的 双通路浮点加法器 lo 直到今天 仍然有很多人进行符合i e e e 标准的浮点加法的研究 与实现 特别是双通路加法器 概括而言 以简单的浮点算法为基础 人们提出了许多优 化技术以加速浮点加法的计算 主要包括 1 针对两个浮点数的指数差的大和小设计了衍 和c l o s e 运算通路 2 计算尾数结果的前导0 个数与尾数的求和并行 3 粘接位计算与对 阶移位并行 4 使用复合加法器合并舍入与求和以提高速度 l2 j 5 采用复合加法器完成快 速转换操作 6 利用注入算法将所有的舍入模式转化为零舍入模式 l 引 1 1 2 浮点乘法 浮点乘法是通过指数相加 尾数相乘 符号位 异或 实现的 浮点乘法的几个主要 步骤是部分积产生 部分积压缩 进位传播加法和舍入处理 与整数乘法一样 部分积可 以由乘数的每一位与被乘数相乘得到 或者使用位扫描算法 如b o o t h 算法 1 4 1 采用每 一位乘数对应一项部分积 1 6 x 1 6 的乘法需要1 6 项部分积相加 使用改进的b o o t h 编码 可以减少部分积的数目 例如 改进的基为4 的b o o t h 编码对乘数的每连续三位产生一项 部分积 这项部分积可能是被乘数的1 倍 2 倍 负1 倍 负2 倍或0 因此1 6 x 1 6 的乘 法仅需9 项部分积相加 部分积的累加是由一系列的进位存储加法器c s a c a r r y s a v ea d d e r 实现的 这些 加法器以不同的拓扑结构连接在一起 目前有线性阵列 对数树型等结构 最初的乘法器 采用加法器的迭代结构 这种结构电路延时大 由此提出了快速算法 w a l l a c e 提出了基 于c s a 的优化设计方法 l5 即使用c s a 阵列而不是行波进位进行部分积累加 该阵列输 入三项部分积 输出两项与输入部分积等效的部分积 相对于线性阵列 这种c s a 阵列的 延时显著降低 d a d d a 提出y n m 并行计数器 l 引 进一步降低了乘法器的延时 一个 n m 并行计数 器是一个组合逻辑网络 它有1 1 个输入 m 个输出 其输出表示输入为1 的个数 由此 有 3 2 5 3 等多种并行计数器 为了更清楚地表示部分积阵列中并行计数器的作用 人 第2 页 国防科技大学研究生院学位论文 们定义了压缩树的概念 n m 压缩树表示由上一级输入为n 个 而输出到下一级的信号为 m 个 这样 4 2 压缩树实际上为 5 3 计数器 因为第5 个输入来自于同级前一位 4 2 的第 3 个输出 s a n t o r o 和h o r o w i t z 使用由 3 2 计数器对构成的 4 2 压缩树实现了6 4 x 6 4 的乘 法器 1 7 1 1 8 乘法器是以部分积压缩运算的结构进行划分的 大体可分成三类 迭代乘法器 线性 阵列乘法器和树型乘法器 而树型乘法器又可分为w a l l a c e 和d a d d a 两种 根据操作数的 情况 还可以分为常系数乘法器和通用乘法器 最近几年有很多关于乘法器的研究 按位 b i t 迭代结构被改进为按数 d i g i t 迭代结构 大大减少了乘法运算所需的迭代次数 线性阵 列乘法器结构规则 因此很多关于它的研究是针对低功耗方面和高速流水线设计的 最受 关注的还是树型结构乘法器 b o o t h 编码已被广泛采用 另外 动态电路和冗余码也被引 入到了乘法器设计中用于提高电路的速度 1 9 1 2 浮点乘法和加法的电路设计方法综述 集成电路设计方法 按照电路版图实现方法来划分 可以分为全定制设计和半定制设 计 半定制设计方法又可以分为基于单元的设计方法和基于阵列的设计方法 基于标准单 元的设计与全定制设计相比 虽然有设计过程简单 e d a 工具支持好 自动化程度高的特 点 但是目标库中的单元类型毕竟是有限的 不可能又快又好地满足设计中的所有要求 而在全定制设计方法中 电路和版图都是由设计者手工完成的 全定制设计一直深入到晶 体管级的设计 最终确定由m o s 管组成的具体电路 设计出来的电路性能最高 面积最 小 功耗最低 因此 对运算部件的优化设计要用全定制方法来进行 1 2 1 设计方法的发展 半导体工艺水平的发展使得i c 集成度的进一步提高成为可能 电子工业已经从v l s i 时代迈入了u l s i 时代 深亚微米工艺带来问题的同时 也使得设计方法产生了巨大的变 革1 2 0 1 2 1 1 1 2 2 1 2 3 在e d a 工具技术推广普及的条件下 目前流行的主要设计方法分为三种类 型 基于时序驱动的设计方法 基于时序驱动的设计方法 无论是h d l 描述还是原理图设计 特征都在于以延时优 化为目标 着眼于门级电路结构设计 用全新的电路来实现系统功能 这种方法主要适用 于完成规模较小的数字系统集成的设计 对于规模较大的系统级电路 即使团队协作 要 想始终从门级结构去实现优化设计 也很难保证设计周期短 上市时间快的要求 基于i p 重用的设计方法 基于i p 重用的数字i c 的设计方法 可以满足芯片规模要求越来越大 设计周期要求 越来越短的需求 其特征是i c 设计中的i p 功能模块的复用和组合 数字i c 包含了各种i p 第3 页 国防科技大学研究生院学位论文 模块的复用 数字i c 的开发将可分为模块开发和系统集成配合完成 i c 工程师对i p 重用 技术关注的焦点是 如何进行系统功能的结构划分 如何定义片上总线进行模块互连 应 该选择哪些功能模块 在定义各个功能模块时如何考虑尽可能多地利用现有i p 资源而不是 重新开发 在功能模块设计时考虑怎样定义才有利于以后的i p 复用 如何进行系统验证等 基于平台的设计方法 基于集成平台进行系统级芯片设计的方法是一种适用于片上系统 s o c 的快速开发 的高效设计环境 它针对特定的产品应用 以i p 复用 一般包括一个或多个微处理器或 d s p 片上总线技术为基础 以软硬件协同开发为特征 根据产品的系统目标来选择功 能模块 进行模块互连和系统功能验证 随着现代信息社会进步 电子产品生命周期越来越短 特别是电子工业技术不断发展 基于深亚微米的超大规模在片上系统芯片需求日益扩大 传统的数字i c 设计方法已经不 能适应现代化产业界的i c 产品需求 因此基于资源的i p 复用设计方法将成为i c 设计的主 流方式 针对各类专门技术 专门应用 专门工具 专门生产工艺 专门产品的i p 资源库 的建设和共享已经形成一种规范 贯穿在系统设计的全过程 尽管目前随着综合技术和自动布局布线技术的发展以及工艺库的不断完善 全定制设 计的优势正在减小 但仍有相当多项目采用全定制设计 对于大多数追求高性能的设计来 说 更适合采用全定制设计方法 对于数据路径模块设计来说 全定制设计得到的电路要 比通过综合工具得到的电路面积小 速度快 而且功耗低 全定制设计的流程如图1 1 所 示 在全定制的设计方法中 电路和版图都是由设计者手工完成的 设计自动化的程度很 低 所以全定制的设计需要的设计时间最长 设计成本最高 因此 全定制设计一般适应 于那些对性能要求比较高 生产量比较大的设计 如微处理器和存储器 或者是需要被多 次调用的模块 如单元库的设计 或者是象空问应用那些不计成本 对性能和可靠性要求 非常高的特殊应用领域 然而 国内对于高性能算术逻辑部件的研究还不是很多 研究水平也不高 采用全定 制对算术逻辑部件进行专门设计的单位较少 大多数设计都是采用半定制的方法 因此性 能较低 频率都不高 例如 中科院在2 0 0 3 年和2 0 0 5 年分别研制的6 4 位高性能微处理 器 龙芯 和 龙芯二号 虽然称主频能达到4 0 0 m h z 5 0 0 m h z 但是龙芯系列处理器 的算术逻辑部件仍采用标准单元的方法设计 相对来说性能仍然较差 3 4 儿珀j 同样比如浮点乘加部件的设计 全部采用半定制的方法来实现逻辑功能 依靠综合和 代码级的优化来达到设计要求 虽说主频达到了4 0 0 m h z 但是总体来说 性能不高 而 且 对于下一步1 g h z 的新的要求 单纯利用半定制方法优化 是根本无法达到的 全定 制设计方法的使用是势在必行 第4 页 国防科技大学研究生院学位论文 图1 1 全定制设计流程 这种情况也与国内高性能微处理器的研究水平落后有关 相比之下 国外i n t e l a m d t i 等公司均采用专门设计的全定制电路实现 这种方法虽说有上述的一些劣势 但是其优 势对于目前的设计任务 还是必须的选择 对于以后将要进行的很多工作 全定制电路和 经验的实践和积累 也显得非常迫切 1 2 2 移位器的设计背景 移位器被集成在处理器中 完成地址产生以及算术逻辑运算等功能 在浮点运算 多 媒体数字信号处理 加密 解密 串 并转换 随机数生成以及校检都有广泛的应用 2 4 j 移 位操作是一种重要的基本算术操作 可扩展为循环移位 带符号移位等多种移位操作 在 定点常数乘法 计数器以及浮点运算部件的实现中具有广泛的应用 移位操作实际上是由 一个复杂的多路选择器来实现 采用标准单元综合方式设计的移位器逻辑结构复杂 速度 慢 面积功耗大 不适合对时序 面积和功耗有较高要求的设计 而采用全定制方式设计 的桶形移位器 不仅电路结构紧凑 速度快 而且面积小 功耗低 非常适合用在性能要 求较高及重复使用率较高的设计中 因此在高性能低功耗微处理器的设计中 通常都采用 全定制设计的桶形移位器来实现移位功能 1 3 课题的研究目标 内容和意义 第5 页 国防科技大学研究生院学位论文 本课题的目的是对计算群 c l u s t e r 的浮点乘加部件进行优化 使其达到工程的要求 浮 点乘加部件逻辑复杂 规模庞大 其逻辑运算能力的提升 直接影响到整个计算群的性能表现 原工程设计基本上通过半定制和综合结果来实现 体系结构较为经典 功能已非常完备 在 0 1 8 微米的工艺下 主频能够达到4 0 0 m h z 然而 在新的0 1 3 微米工艺下 我们的设计目标 是整个功能部件的主频要达到8 0 0 m h z 甚至更高的1 g h z 课题主要研究了浮点乘加部件中的半定制优化和一些关键路径上的部件的全定制设 计 结合具体工程要求和整个c l u s t e r 的性能指标 对现有的设计进行了详细的分析 通过进 一步仔细的综合和对部件关键路径的查找 提出和进行了一系列的优化途径 并在半定制优 化的基础上 对一些不能符合要求的关键部分 进行了自主的全定制设计 使得作为最庞大最 复杂的整个浮点乘加部分的性能有了较大的提升 达到了工程项目中c l u s t e r 的设计要求 研 究内容包括以下部分 一 浮点乘加部件中乘加结果规格化的前导零的新算法的研究 针对原设计中两操作 数算法的不足 利用新的三操作数算法对前导零预测部件进行了代码级的实现 并详细验 证和比较了两种算法的优劣及对整个预测修正通路的影响 二 浮点乘加部件规格化通路中对乘加结果进行规格化移位的1 6 2 位移位器的全定制 设计和功能验证 非规格化通路中对计算结果的非规格化中的5 4 位移位器的全定制设计 及其相关的粘接位计算和移出位计算电路的相关改进和实现 通过以上工作 加之大量的半定制方面优化 使得部件功能在原有基础上有了相当的 改进 对于全定制设计流程的摸索和熟悉 也为在新工艺下进一步提升性能提供了一些经 验的积累和技术的储备 1 4 本文的结构 本文重点介绍了浮点乘加部件关键通路上的关键模块包括移位器和加法器的全定制 设计 实现和验证 论文共分六章 第一章为引言 阐述了浮点乘加算法和高性能电路设计方法的发展 研究背景 相关 知识 以及本课题的研究内容和意义 第二章对浮点乘加部件的工作原理 体系结构进行了简单介绍 对前期设计实现的半 定制浮点乘加部件进行了详细分析 第三章描述了针对l z a 前导零预测 部件进行的三操作数新算法的推导 实现和与 经典算法相比的性能方面的优劣 第四章介绍了浮点乘加规格化通路上的1 6 2 位移位器的功能和结构 并详细讨论了其 相关电路在全定制中的设计实现和功能验证 第五章介绍了浮点乘加部件非规格化通路上的5 4 位移位器的全定制实现 并进行了 功能验证和性能分析 第6 页 国防科技大学研究生院学位论文 第六章为结束语 对整个论文的工作加以总结 并对浮点乘加部件的进一步优化提出 了自己设计过程中发现的问题和对未来工作的展望 第7 页 国防科技人学研究生院学位论文 第二章浮点乘加部件工作原理及半定制设计结果分析 2 1 计算群 c l u s t e r 和浮点乘加部件 f m a c 的体系结构简述 计算群 c l u s t e r 和微控一起构成完整的核心级处理器 微控负责存储和发射微码及 控制微码程序流程 而计算群是主要的执行机构 完成核心级指令系统规定的功能 核心 级流处理器由一个微控 u c 和四个计算群组成 微控的指令广播到4 个计算群 4 个计 算群执行同样的指令 但从流寄存器文件s r f 的8 个流缓冲器s b 中接受不同的数据 这 样 程序运行时4 个c l u s t e r 对不同的数据元素进行相同的处理 以单指令多数据s i m d 的 方式锁步执行 四个计算群的结构是相同的 由多个功能部件组成 与各个计算群中独有 的局部寄存器文件l r f 通过群间互联总线互联 c l u s t e r 的内部结构如图2 1 所示 可以分为功能部件 f u 局部寄存器文件 l r f 包括条件码寄存器文件c c l 珂 和计算群内交叉互联网络等部分 功能部件完成不同的算 术运算和其它操作 局部寄存器文件是功能部件的数据源和中间结果暂存器 条件码寄存 器文件存储比较指令产生的结果 用于数据通路选择和条件流操作 功能部件之间的数据 交换以及s r f 数据和功能部件之间的数据传输是通过计算群内交叉互联网络开关完成的 所有的功能部件都是将输出结果发送到结果总线上 而l r f 的输入端可以连接所有的结果 总线 这样交叉互联开关就将所有的功能部件和l r f 之问形成一种全互联的结构 图2 1c l u s t e r 的内部结构图 计算群的功能部件大致可以分为两类 运算部件和非运算部件 运算部件执行整数和 浮点运算指令 包括4 个乘加部件 f m a c 0 f m a c 1 f m a c 2 f m a c 3 和一个乘法部件 d s q 非运算部件支持条件流和数据移动操作 包括i o 单元 群间通信单元c o m m 便 第8 页 国防科技大学研究生院学位论文 笺寄存器单元s p 条件流控制单元j b 和v a l f f j s 3 6 3 t 5 3 7 厂j n l ut l 上上s u b t 耳乏反 编弼 指数处理 a r 1 l t t l l c s a 争嘻 l 5 6 以叫1 6 1 够科i j 十多饵黼i u 乡 l l r p 怒剐g n f d 5 6 叫d m s b l s 81 0 6 0 0 1 0 6 i 制 i 0 r i 垮 il 5 5 1 r d 3 2 c s a l z a 1 0 7 预编弼1 i 1 1 b 符 l l 毒 器 i 1 1 i 绷裕l 中加器ll 溉 i p 上li l 膧 ml f 合珈0 器 分复含 j 溶器 乙 1 1 舵 i 气却 移够黎 毒 叫 淼 纯 移钮嚣 s 乞 5 3 f 逸 注器 ls n u k 2 浮点乘加部件结构 加部件 f m a c 是计算群 c l u s t e r 中的核心运算部件 其主要功能是实现 三精度浮点操作数的乘法和加法的并行融合计算 有别与一般的乘法和加法的混合运 算基本运算原理为 对三个操作数a b c 将b和c的尾数进行常规的浮点booth 乘算 构建乘法树进行部分积的逐级压缩 同时 将加法操作数a 看作是一项部分 第 国防科技大学研究生院学位论文 积 而非单独的加数 与乘法树并行的进行对阶移位 以实现和乘法中间结果的指数对齐 然后作为部分积与乘法结果累加 以得到供后期规格化 双加和舍入等操作所需要的中间 结果 从而避免了先产生乘法的运算结果然后再相加引起的关键路径过长的问题 使乘法 和加法的运算实现部分的尽量最大化的并行 这样做 既减少了延时 又通过加法和乘法 在一部分结构上的公用 减小了硬件开销 本设计中涉及的浮点乘加部件 为了达到综合频率4 0 0 m h z 的设计目标 采取了前言 中描述过的低延迟的浮点融合乘加结构 大体结构如图2 2 所示 这种结构的优势在于 其一 将加数对阶移位和乘法运算并行并融合 避免了乘法结果的和与进位相加再与加数 相加所需的两次加法和两次舍入 节省了面积 其二 在整个累加的结果 两个 和和进 位 产生后 为了缩短关键路径 将对结果低位的半加操作和最终加法结果的计算的前一 部分 与延时较大的符号探测器以及为结果规格化而进行的前导零预测 l z a 并行实现 这样 在乘加的最后一级3 2 c s a 以后 结果的符号探测 l z a 和部分加法逻辑是同时 进行的 减少了延时 其三 规格化移位可以提前进行 整个乘加过程在规格化移位以后 进行一次加法和一次舍入 使得整个过程得以简化 浮点乘加部件分为八站流水 在支持双精度浮点乘加的基础上 扩充位宽和增加相关 单元实现了浮化整 整化浮 浮点规格化 定点乘等 共3 7 条指令 其设计遵循i e e e 7 5 4 8 5 标准 支持非规格化数的输入和操作 异常的结果采用标准规定的无自陷情况下的缺 省输出结果 为了区别各种异常情况 对整数上溢和浮点无效操作输出的n a n 数根据异常 情况的不同 定义了不同的编码 无论浮点数或6 4 位整数输出结果都支持i e e e 7 5 4 8 5 标 准规定的四种舍入方式 在结构上 浮点乘加部件分为符号位通路 指数通路和尾数通路 其流水站划分大致 如图2 3 所示 结合体系结构图和流水站图 将浮点乘加的工作原理加以简述 操作数输入第一站的 站间寄存器 乘数和被乘数进行部分积的计算和前两级的4 2 c s a 压缩 同时对加数进行 对阶移位的移位量的计算 第二站接着进行部分积的下三级压缩 而加数则进入对阶移位 器 由上站算得的移位量进行对阶移位 第三站逻辑较多 将五级c s a 压缩得到的两个中 间变量 一个和 一个进位 与对阶移位后的加数进行第六级的3 2 c s a 压缩 得到整个 浮点乘加运算的和与进位 此处也是浮点融合乘加的关键优势所在 然后 压缩所得的结 果就要进行最终求和的运算 在对其进行加法的同时 要在符号探测模块中进行结果符号 位的确定 为了结果的规格化在前导零预测模块中进行加法结果的前导零预测 这个过程 占去设计中的第三站和第四站 第五站 融合乘加的两个结果已经经过兼容6 4 位整数乘 的后2 2 位求和及实现舍入时需要的半加 这时 l z a 的结果已经或者部分已经出来 就 可以对结果进行规格化移位 这也是这一站的主要逻辑 另外 还进行非规格化移位量的 计算 第1 0 页 国防科技大学研究生院学位论文 r e g i 逻篙敢 i 规格化之前l l 对阶移位l i 第一拈接位l l乘法掷分积产生i 酌 i 的阶码计算 豆的计算l l 的预先计算l i及2 缎4 2 c s al 罔卜网 i f 硐厂 啊辱砸 e l 8 l 选誊l li 位器ii 位的选样li 和i 级3 2 c s a i l r e gl i 第一阶段移 ll 双加的砺 i l z a l i位阶码恪正ii f i l l 分 l 编码事寸i ir e gl i 双加法l l 嚯嚣警 l 规格化l l 移位器i ir e gl 幽暖 l舍入逻辑l i 低位进位和糌接位计算 i 图图匿困巳日 l 号生i 艟il 容托伟q 逻辑il 选择逻辑ii 正 l 囤圈 陷7 e 4 8 e 57 图2 3 浮点乘加部件八站流水结构 往后的三站基本上是进行加法最终结果的产生 舍入计算 整数或是浮点的选择以及 异常的判断 分为规格化通路和非规格化通路 第六站的规格化通路完成低位求进位 粘 接位计算 整数乘的低位求和计算 高位部分双加 而非规格化通路则根据上站算得的非 规格化移位量来完成非规格化移位 还要进行移出位进位信号和传播位信号的计算 粘接 位计算的v 信号生成和第一级归一化 实现了两级高位部分进行四位组的进位计算 第七 站规格化通路完成双加结果的选择 最近偶舍入的修正 后规格化处理 上溢 非精确 下溢的判断 实现整数结果和浮点数结果的选择 各种报错标识信号的生成 非规格化通 路完成尾数结果的舍入求和 第八站先对规格化通路的尾数结果进行q n a n 数和有限最大 值 无定义整数 无穷大 0 结果的控制 然后通过指数下溢信号选择规格化通路的结果 或非规格化通路的结果 然后通过指令的译码信号完成对最终输出结果的选择 整个浮点乘加部件结构庞大 逻辑复杂 使用上述低延迟的改进结构实现的乘加部件 如前所述 在0 18 微米工艺库下 综合结果可以达到4 0 0 m h z 也就是每站的逻辑延时在 2 5 纳秒以内 而我们的工作 要在新的0 1 3 微米工艺的支持下 将整个计算群的频率提 升至1 g h z 这样综合的结果显然是远达不到要求 因此 在随后的工作中 我们结合半 第1 1 页 国防科技大学研究生院学位论文 定制和全定制方法 在这个结构的基础上 进行了大量的改进和优化工作 而本文则将对 这些工作加以简述 2 2 浮点乘加部件的各部分性能分析和结构调整 基本的工作原理 在前面已经做了大致的描述 在开始的工作中 我们详细的研究了 各站 各模块的详细的数据流程和实现机理 利用综合工具 主要是p r i m et i m e p t 和 d e s i g nc o m p i l e r d c 对每个功能模块都做了多次的模拟和综合 在对大量综合结 果的分析后 找出了影响性能的延时瓶颈 并针对具体情况采取了相应的方法进行调整 下面将简要描述 因为设计的时序部分和组合逻辑是分开的 每一站的两个站间寄存器之间 是纯粹的 组合逻辑 按照改进设计的要求 每站延时要小于i n s 除去每个周期开始时候的寄存器 建立时间和不可避免的时钟抖动 即使是非常乐观的估计 留给每一站中组合逻辑的时间 不超过0 8 n s 而这个 也只能是版图后的最终目标 考虑到线延迟和版图后延时的增加 实际上留给站间模块的时间 顶多只有0 5 一o 5 5 n s 这个目标 即使在0 1 3 微米高性能库 的工艺支持下 也很难实现 原设计的八站流水 已经不能适合新的要求 具体如下 第一站和第二站的主要作用在于 乘法的部分积 以及后续的和 s u m 和进位 c a r r y 的通过五级压缩树的产生 另外 三操作数之一的加数尾数的对阶移位的实现 在此 我 们仅讨论主要功能 对于指数通路的计算以及指令译码 还有计算过程中产生的大量中间 的控制信号的生成及传递 由于操作较为简单 与主要的运算逻辑相比 并不是长路径 不做详细讨论 第一站主要完成部分积的产生和2 级4 2 c s a 累加 对阶移位量的计算 规格化前的 阶码计算 符号位初始值的确定 第一粘接位的预先计算 以及输入操作数和一些边界条 件的判断 部分积的产生和接下来的前两级c s a 延时很大 达到0 9 2 n s 这里产生的结果 基本上都要在第二站中用到 第二站完成第一站累加之后的1 8 项s u m 和c a r r y 的2 级4 2 c s a 和1 级3 2 c s a 压缩为4 项部分积 1 6 1 位的对阶移位 第一粘接位的选择等功能 这部分共产生5 个部 分积信号 这些部分积信号的产生延时大致为0 9 0 n s 5 个部分积信号都不符合设计要求 整个一二站的结果来看 逻辑很紧张 对于乘法树 从算法和结构上优化的空间不大 如 何减少乘法树的延时是关键 第三 四 五三站可以做为一个部分整体的讨论 如前 前两站的作用是 产生结果 运算所必须的乘法的s u m 和c a r r y 以及与之对阶后的加数 在第三站中 最重要 也是直 接影响后续逻辑能否尽早进行的部分 也就是作为融合乘加技术核心部分的乘法树的第六 级累计 这一级累加采用4 2 c s a 实现 将第五级累加的两个结果 第四级累加的低位以 及加数进行运算 得到乘加最终结果的s u m 和c a r r y 在这两个结果出来以后 要进行三个 第1 2 页 国防科技大学研究生院学位论文 部分的后续计算 即结果符号位的确定 符号探测器部分 针对规格化运算的加法结果 的前导零的预测 l z a 部分 以及加法的一部分操作 低位双加 根据综合结果 作 为整个后续操作前提的第六级累加延时达到0 3 0 n s 那么就意味着上述三个后续操作的延 时都要控制在0 2 5 n s 以内才能勉强达到要求 这 显然是不现实的 因为对于这三个操作 符号探测器四位进位计算网络编码前两级运算 是纯粹的编码压缩运算 两级延时至少需 要0 4 5 n s 基本上无法进一步压缩 l z a 在本站中操作较多 首先要依据累加结果产生预 编码和修正通路都需要的中间选择信号 然后同时进行预编码和正负修正的第一级编码 逻辑级数较多 延时都在o 5 0 n s 以上 而低位双加 则是由跟在累加后面的一个十位的加 法器实现 加法器延时在0 4 5 n s 可见 第三站中 如何有效的减小累加结果产生的时间 是改进的关键 第四站中 用到的操作数包括 符号探测器的前两级压缩结果 l z a 的预编码结果 l z a 正负修j 下第一级编码结果等 本站实现的主要操作有 符号探测器结果的产生 第一 阶段规格化移位 5 4 位 第二阶段规格化移位量的计算 以及l z a 正负修正编码的第 二级到第六级 整个情况类似第三站 除了正负修正编码树的运算相对独立 其它各结果 包括一些不合要求的控制信号基本上都需要符号探测器结果的产生 而符号探测器第三级 编码和结果产生 按照综合结果 需要0 3 0 n s 这样以来 后面的操作也基本上不能满足 要求 而l z a 修正通路的五级编码 延时在0 7 6 到0 8 4 n s 之间 在不改变算法的前提下 就只能通过站间的逻辑调整来实现优化 第五站的逻辑则相对较为简单 只有三个部分 第二阶段规格化移位 移位后的指数 调整 非规格化移位量的计算 而且三个部分相对独立 由综合结果可知 最慢的是规格 化移位操作 两个1 6 2 位的操作数进行最大移位量1 0 8 的逻辑左移 延时达到0 9 0 n s 以上 而其它两路操作 非规格化移位量计算相对较慢 延时也只有0 6 0 n s 通过一些简单的结 构调整基本上是可以达到要求的 六七八三站则主要是实现结果的产生 选择 舍入和异常判断 第六站的结构非常复 杂 实现功能较多 在规格化通路中 主要是完成前面产生的和与进位的高位相加 延时 在0 7 0 n s 一0 9 0 n s 之间 非规格化通路主要是非规格化移位以及粘接位的计算 而加法和 移位也是本站延时较大的根本原因 第七站的主要任务是对输出结果进行选择 同时产生 些必要的输出结果控制信号 根据分析 关键路径的产生都跟浮点上溢信号的产生有关 所以只要能将其的运算逻辑延时减少 其他的路径延时就可以降低 浮点上溢信号产生的 逻辑中没有延时很大的运算 只是运算的级数很多 而第八站则是最终结果的产生和对特 殊情况的处理 逻辑较为简单 通过延时分析 是能够靠综合来达到设计要求的 综上 面对新的设计目标 原设计在很多地方不能满足 并且差距还较大 本来的计 划是主要依靠全定制的手段 对不符合条件的模块都通过全定制来解决 然而 仔细分析 后发现 全定制的工作量太大 而且很多部件 比如l z a 的正负修正六级编码树 符号探 第1 3 页 国防科技大学研究生院学位论文 测器的三级编码等 即使全定制 自己实现 其改进效果不见得能好很多 而半定制的改 进又极为有限 原设计是成熟且完善的 如果对算法和结构做过于大的调整 前端的很多 工作 编译和指令设计等 都要改变甚至重新设计 这样 就有些得不偿失 因此 在优 化工作中 我们做了大量权衡 在对原设计的结构尽量少调整的前提下 将一些关键路径 上的关键部件进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论