




已阅读5页,还剩60页未读, 继续免费阅读
(电子科学与技术专业论文)一种超长指令字同时多线程处理器的设计与分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 a b s t r a c t d s p ( d i g i t a ls i g n a lp m c e s s o r ) i sa l 【i n do fe m b e d d e dp m c e s s o rf o rd i g i t a l s i g n a l p m c e s s i n g ,w h i c hh a sp o w e h ia b i l i t yf b rn u m e r i c a lo p e r a t i o na n di sn o ww i d e l yu s e di nf i e l d s o f c o m m u n i c a t i o n ,血l i t a r 舅c o n t r o l ,e l e c m ce q u i p m e n t a n ds oo n , i l p ( 血s t r u c t i o n l e v e l p a r a l k l i s m ) t e c h n o l o g yi sah n d o fm e m o dn l a tc a l le 疵c t i v e l ye n h a i l c et h ep e r f b 1 1 a n c eo f c o m p u t e 毛a sr e g a r d st oh i g hp e 订_ o m a l l c e ,1 0 wp o w c ra n dr e a lt i m e ,m o s th i g hp e r f 0 肋a n c e d s p st a k et h ev u w ( v e r yl o n gh s t m c t i o nw o r d )s 订u c t i l r c s m t ( s i m u l t a n e o u s m u m t h r e a d i n 曲t e c h n o l o g yc a n 蜘1 s l 如t 乙pi n t o 蚰t oe x p l o i tm o f ep a r a l l d i s m ,s oi tc a n f u r m e rp r o m o t et h ep e r f b 啪a n c e0 fm u l t i i s s u ep f o c e s s o rt oi m p i e m e n ts m to ni t y h f r - d 4i sa3 2 _ b i tf i x p o i n td s po fh j g hp e 响r r n a n c e ,w t l i c hu s e sv i 小s t n l c t u r ea i l d c a ni s s u ee i 曲t3 2 b i ti n s 咖c t i o n si n p a r a l l e la tt h ef n o s t a c c o r d i n gt om 0 s i ( m u l 昏o p s p l i t t i n gi s s u e ) 1 1 1 i c f o a r c h i t e c h t u r cp r e s e m e db yo l l rr e s e a r c h 乒伽p ,m i sd i s s e r t a t i o nd e s i g n sa c o m p l e t e i yn e wd u a l 一岫a ds m tp r o c e s s o fy h 孵d s p s 姗ob ym o d 蛳n gy h 盯d 4 t h ef e t c hu l l i to fy h f r d 4i sm o d i f i e dt om a k em ef e t c hb a l l d w i d t l ls h a r e db vt w ot i l r e a d s w i md j 虢r e n tp n 嘶t y t h ep r e f c r r e dt l l r e a do f 铆ot h r e a d sa l w a y sh 髓m e 硼o r i t yt of c t c h i n s 虹1 j c t i o n s ,o i l l yw h e nt t l ep r c f 毫r r e d 廿l r c a dc a n tf e t c hi n s m j c d o n sd o e st h eo t l l e rt h r du s e s t 1 1 ef e t c hb a n d w i d t h ab r a n c hb u 衢i sd e s i 譬n e di nm ef 酞c hu n i tt oe n s u r et h a tb r a n c ha n d 山e i n s t m c t i o n si nt h eb m n c hd e l a ys l o t sc a ne n t e rn l ep i p e l i n ec o 玎? e c t l y l i m i t e dd y n a i i l i c a li n s n l 】c t i o ns c h e d u l i n g ,m a ti st 1 1 ee x e c u t i o np a c k e ts p l i m n gi s s u e m e c h a i l i s m ,i si n 啦l e m e n t e db yi m p r o v i n gm ej s s u eu n i to fy h f r _ d 4 n es p l i 傲n gi s s u eo f e x e c u t i o np a c k e tm a k e sm es c h e d u l i n go t d e r0 fi n s m l c t i o n sd i f f 两e n tw i 血t h eo r d e ri nc o n l p i l e t i m e ,a n di tm a y l e a dt ow 蛐ge x e c u t i o nr e s u l t is oa w r i t eb a c kb 曲衙i sd e s i g n c dt oe n s u r e 也e c o r r e c te x e c u t i o no fp r 0 乒锄s ,d l ee x e c u t i o nr e s u l t sa r ef i r s tf e o r d c r e db ym eb u f :f e r 雠1 c n w r i t t e nb a c ki n t or e g i s t e r 丘l e s m tc a ne 虢c t i v e l yi m p r o v et l l et l l r o u g h p u ta n dm eu s a g eo ff u n c t i o nu n i 【,w ee v a l u a t e t h ep e r f b 肌a n c eo fy h f t _ d s p s m 咖w i t l lag r o u po fb e n c h m a r k s ,i ti ss h o w nt t l a tt h e 口c h a sa na v c r a g eg a i no f 2 4 6 5 ,a n d m e u s a g eo f f u n c t i o n l l l l i t h a sa l l a v e m g eg a j n o f 3 i 3 8 r t ll e v e lc o d ei sf i i l i s h e d a n ds i m l l l a t i o nv e r i f i c a t i o ni sd o n eo ny 叮:d s p ,s m t 0 0 d c i su s e dt os y i l t h e s i z ea n do p t i 两z e l ed e s i g nw i ma n i s a n s0 。1 8 “ms t 鲫d a r dc d l s nt i l l m s0 u t t h a tt h ec r i t i c a lt i m i n gp a t i lh a si n c r e a s e db y1 2 ,a n dt l l ec o r ea r e ah a si n c r e a s e db y3 0 3 2 ,c h j pa r e f 巾a si n c r c a s e db y8 8 6 k e v w o r d s :y h f r - d 4y h f r - d s p l ,s m t o om o s iv l i ws m tw r i t e i b 8 c k - b u m r s y n t h e s i sv b r i f i c a t i o n 第页 国防科学技术火学研究生院学位论文 图目录 图1 一l 四种不同方法在利用一个超标量处理器发射槽上的不同4 图2 _ ly h f t - d 4 芯片的结构框图8 图2 - 2y 磁d 4 的流水线9 图2 - 3 取指包只有一个执行包的流水线时空图9 图2 4 取指包含不同数目的执行包的流水线操作1 0 图2 _ 5 取指包含不同数目执行包的代码序列l i 图2 - 6 执行包中含有n o p 指令1 2 图2 _ 7 存储器访问在流水线中的位置1 2 图2 8 程序和数据存储器阻塞1 3 图2 - 9 指令的分离发射1 3 图2 - 1 04 条数据通路的写回缓冲一1 5 图- i双线程s m t 处理器体系结构1 7 图3 2 取指单元结构1 9 图3 _ 3f e t c h 模块的内部结构图1 9 图3 - 4 分支缓冲结构2 1 图3 _ 5 全串行取指包格式2 3 图3 - 6 全并行取指包格式2 3 图3 0 部分并行取指包格式2 3 图1 8 派发单元结构2 4 图3 9n o p 指令实现结构图2 6 图 l oa l 及b c 写回缓冲区结构2 9 图 l lm u 单元写回缓冲区结构一3 0 图3 1 2l s 单元写回缓冲区结构图3 0 图4 1 硬件仿真流程3 3 图4 2 软件模拟过程3 4 图仁3 全芯片测试流程图3 9 图4 4 芯片级测试结构图3 9 图5 一l婵c 的增益。4 5 图5 2l s 2 单元利用率的增加4 7 图5 3 主线程性能下降比4 8 图5 - 4l 1 p 失效率的比较4 9 图s 一5l 1 d 失效率的比较4 9 图融j 逻辑综合思想5 0 第i v 页 国防科学技术人学研究生院学位沦文 图豇2 综合流程图 第v 页 5 1 国防科学技术大学研究生院学位 人文 第“页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目: 二盘煎筮指金主回吐垒线壁缝垄墨煎燕苴兰佥盘 学位论文作者签名:垒整簦日期:a 刀多年,土月2 9 目 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅:可以丰手学位论文的全部或郡分内器编入有关数话厍进行检索, 可阻采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书) 学位论文题目: 二壁蕉苤撞金主围吐壹缝猩赴垄墨曲遮i 土生金堑 学位论文作者签名:塑蓥。笙日期:噶年,工月蚜日 作者指导教师签名: e 生垄:! 日日期:a 中吖年旺月帮日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 数字信号处理器概述 近年来,需要进行数字信号处理( d s p ) 的产品的数量和种类快速增长。d s p 已经 成为许多通信、消费、医疗以及工业产品中的关键部分。这些产品使用各种不同的硬件 来实现d s p ,包括独立的微处理器、现场可编程门阵列( f p g a ) 以及全定制的集成电路 ( i c ) 。可编程的d s p 处理器是专门用来进行数字信号处理的处理器,它是一种很流行的 解决方案。与固定功能的方案相比,d s p 处理器的优势就在于可以重新编程,便于产品 的升级与维护。同定制的硬件相比,其成本效益高,风险小。特别是在产品的产量不大 时,开发专用的i c 不够经济。同其他微处理器相比,d s p 处理器在速度、成本以及能效 等方面优势明显f l 】。 1 1 1d s p 芯片的出现与历史 在d s p 芯片出现以前,实时信号的处理般是在通用处理器上完成的。直到上世纪 7 0 年代末才出现了专门的可编程数字信号处理器。 上世纪6 0 年代,d s p 的概念萌芽于美国的大学,当时有些教授从事人声的滤波、变 换以及数据压缩等d s p 基本功能的开发研究。1 9 6 5 年c o o l y 和1 i l k e y 发明快速傅利叶变 换,从而使d s p 研究达到高潮。 1 9 7 8 年a m i ( a m 耐c a nm i c r o s y s t e ml n c ) 公司将d s p 技术i c 化,这是具有里程碑意 义的研发成果s 2 8 i l ,d s p 就此诞生。下一年b e l l 实验室推出了世界首块完整的d s p 。 发明和推广应用有时是两股道,例如晶体管、集成电路都是美国公司发明的,但推广应 用却靠的日本s y 、n e c 等公司。d s p 也是如此,t i 公司虽不是d s p 的发明者,但它 对d s p 的应用发展同样发挥了不可磨灭的引领作用,正是它在1 9 8 2 年研发生产了世晃上 第一款可编程通用d s p - _ 1 m s 3 2 0 1 0 ,且与时俱进,不断推出新产品,成为d s p 领域 无可争议的龙头老大。从整体而言,d s p 问世至今,已经历5 代: 第l 代( 1 9 7 8 。1 9 8 2 年) 1 9 7 8 年a m i 公司成功地将d s p 技术集成化,第二 年b e l l 实验室开发出首个d s p 。这时期为理论运算时期,产品缺乏并行处理能 力,芯片内存储容量小,须外接昂贵的存储芯片方能应用。 第2 代( 1 9 8 2 _ 1 9 8 6 年) 1 9 8 2 年t i 上市酋款通用d s p ,1 9 8 4 年b e l l 实验 室推出第一个3 2 位d s p ,1 9 8 6 年m o t o r o l a 公司发布2 4 位可编程d s p 。d s p 具 有乘法累加器、直接存储器存取、串行通信端口、计时器和中断等功能,强化 了它在系统中的控制作用。 第3 代( 1 9 8 矿1 9 9 0 年) t i 产品被列为学校教材。n 、a t t m i c r o e l e c t r o n i c s 和z o r a n 公司分别开发出3 2 位浮点d s p ,可进行实时图像处理。 第l 页 国防科学技术大学研究生院学位论文 第4 代( 1 9 9 旷1 9 9 4 年) a d i 和m o t o r o l a 推出包含调制解调电路的d s p 。 d s p 内有闪存、d r a m 、一次可编程等多种存储器可供选择。 第5 代( 1 9 9 4 至今) _ t i 发表d s po m a p 平台,1 9 9 9 年a g e r e 、m o t o m l a 携手,2 0 0 0 年i i l t e l 与a d i 结盟,翌年推出b l a c k f i n 架构,2 0 0 2 年6 月,a g e r e 、 m o t o r o l a 和i n f i n e o n 合资成立s t a 圮o r e d s p 研发中心。随着t i 市场份额不断增 大,各公司相互结成策略联盟共同推出新平台,与t i 抗衡。 1 1 2d s p 芯片特点 数字信号处理任务通常需要完成大量的实时计算,如在d s p 中常用的f m 滤波和n 丌 算法。数字信号处理中的数据操作具有高度重复的特点,特别是乘加操作y = a + b + c 在 滤波、卷积和f f t 等常见d s p 算法中用得最多。d s p 在很大程度上就是针对上述运算特 点设计的。与通用微处理器相比,d s p 在寻址和计算能力等方面做了扩充和增强。 d s p 的结构特点体现了d s p 算法的要求,其结构主要有以下几个特点【2 - 3 1 : 1 、独立的硬件乘法器 由于d s p 算法的特点,完成乘法操作是d s p 的主要任务之一。然而,在通用微处理 器上要实现乘法,必须通过微程序来实现,这样往往需要l o o 多个时钟周期。因此,为 了提高乘法的速度,d s p 芯片中通常都会有独立的硬件乘法器。因此可以说,硬件乘法 器是d s p 区别于通用微处理器的一个重要标志。 2 、多数据通路、多功能单元 在d s p 芯片中,为了最大限度提高运算速度,通常都会设置多个并行工作的功能单 元,比如t i 公司的t m s 3 2 0 c 僦系列的d s p 中就有8 个功能单元,最多可以并行执行 8 条3 2 位指令。 不仅如此,高性能d s p 中还会有多个数据通路,同时拥有两套以上相同的功能单元, 以进一步提高运算速度,比如t i 公司的t m s 3 加c 6 0 0 0 系列的d s p 中有2 条数据通路, 可以同时执行2 条3 2 位乘法。 3 、采用哈佛总线结构 通用微处理器是为计算机设计的。基于成本上的考虑,传统的微处理器通常采用冯 诺依曼总线结构:统一的程序和数据空间,共享的程序和数据总线。由于总线的限制, 通用微处理器执行指令时,取指和存取操作数只能串行执行。 对于面向数据密集型算法的d s p 而言,冯诺依曼总线结构使系统性能受到很大限制。 因此,d s p 一般采用程序总线和数据总线分离的哈佛体系结构,这样d s p 就能同时取指 和存取操作数了。如果d s p 中还具有2 套或2 套以上的内部数据总线,就称为修正的哈 佛结构。 4 、专用的寻址单元 d s p 面向的是数据密集型应用,随着频繁的数据访问,数据地址的计算时间在整个 程序运行过程中所占比重也不断增长,大大影响了c p u 的效率。所以,现代d s p 都具有 第2 页 国防科学技术大学研究生院学位论文 专用的地址计算单元,与c p u 的其他功能部件并行运行。 1 1 3 未来高性能d s p 发展趋势 随着应用对d s p 的要求越来越苛刻以及设计方法和工艺的日益进步,未来高性能d s p 将向下列几个方向发展h 舢1 : 1 ) 向更高性能方向发展。增加并行性和提高频率是提高性能的主要途径。在今后一 段时间内,v u w 仍将是高性能d s p 的主流体系结构。s d 订d 是提高d s p 性能 的有效方法,将在更多d s p 中得到应用。为了提升时钟频率,d s p 将不断采用 更先进的制造工艺。随着集成电路集成度的提高、多核体系结构的成熟和开发环 境的完善,多核d s p 将会在高性能应用中占有更加重要的地位。未来的d s p 还 必须提供更加快速的i o 接口和更高的带宽: 2 ) 向更低功耗方向发展。许多嵌入式应用对功耗要求非常严格,在提高性能的同时 降低功耗一直是d s p 设计者追求的目标; 3 ) 系统软件与应用程序开发环境目趋丰富和完善。d s p 的应用开发越来越依赖于开 发环境,世界上各大d s p 厂商都非常重视提供高效易用的系统软件和开发环境; 4 ) d s p 与m c u 的结合。将d s p 的运算能力和m c u 的通用结构相结合已成为不可 逆转的潮流。将d s p 核与r i s c 微控制器结合在一起,或在通用的嵌入式c p u 结构上提供了d s p 扩展; 5 ) 实现可配置的d s p 核。可配置d s p 核可满足不同用户的需求,例如,a d e l a n t e t e c h n o l o g y 推出的s a t u md s p 允许用户定义自己的专用指令。以后,对于大批 量的用户,甚至可以对c p u 结构和外设重新配置。 1 2 同时多线程技术 1 2 1 同时多线程概念 同时多线程( s i m u l t a i l e o u sm u l 伽1 r e a d i l l g ,s m t ) 是多线程的一个变体,它利用多发 射动态调度处理器的资源在开发指令级并行的同时开发线程级并行。推动s m t 发展的关 键在于现代多发射处理器通常拥有超过一个线程可以有效利用的功能单元并行性。而且通 过寄存器重命名和动态调度,多个独立线程的指令可以不考虑它们之间的依赖关系丽派 发;通过动态调度可以解决相关性问题嘲。 图1 1 从概念上说明了具有以下配置的处理器在利用超标量资源方面的不同: 不支持多线程的超标量 支持粗粒度的超标量 支持细粒度的超标量 支持同时多线程的超标量 在不支持多线程的超标量处理器里,发射槽的使用受指令级并行性不足的限制。另 第3 页 国防科学技术人学研究生院学位论文 外,一个较大的延迟,如指令缓存缺失,会使整个处理器处于空闲状态。 发射把 超标量租粒度多线程细粒度多线程同时多线程 时何 i 图l _ 1 四种不同方法在利用一个超标量处理器发射槽上的不同。横坐标表 示每个时间周期的指令发射能力。纵坐标表示时钟周期序列。空槽表示该时 钟周期对应的发射槽没有被利用。灰影和黑色对应一个多线程处理器里的四 个不同线程。在不支持多线程的处理器里也采用黑色来表示占用的发射槽。 导致额外吞吐率损失的粗粒度多线程的流水线启动影响并没有在图中表示出 来。 在粗粒度多线程超标量情况下,切换到其他使用处理器资源的线程可以部分隐藏长 阻塞。虽然这减小了完全空闲的时钟周期的数目,对于每个时钟周期,指令级并行的限制 仍然导致了空闲的时钟周期。并且在粗粒度多线程处理器里,由于线程切换仅在阻塞时发 生,且新的进程有启动周期,这样势必仍有些完全空闲的周期。 在细粒度情况下,线程的交叉进行彻底消除了空槽。然而,由于在一个给定的时钟 周期里只有一个线程发射指令,指令级并行的限制仍然导致在单个时钟周期里有大量的空 闲槽。 在s m t 情况下,线程级并行和指令级并行同时被利用,在单个时钟周期里有多个线 程同时使用发射槽。理想情况下,发射槽的利用受所需资源的不平衡和多个线程可利用资 源的限制。而实际情况下其他因素一一包括有多少活跃线程需要考虑,缓冲区的极限,从 多个线程取回足够指令的能力,哪些指令组合可以从单个线程或多个线程同时被发射一一 这些都会限制发射槽的利用。虽然图1 1 极大的简化了这些处理器的实际操作,但它确实 说明了多线程,尤其是s m t 潜在的性能优势。 前面提过,同时多线程利用了动态调度处理器已有的许多硬件机制。这些硬件机制 支持通过多线程开发线程级并行。特别是动态调度超标量处理器有一大堆虚拟寄存器,可 以用做独立线程的寄存器集( 假设每个线程有独立的重命名表) 。由于寄存器重命名提供 唯一的寄存器标志,多个线程的指令在数据通路中可以混合,而不会在线程问混淆资源和 目标。这个结果导致这样的观点,多线程可以通过在乱序处理器上添加每个线程独立的重 命名表、独立的程序计数器或提供不同线程的指令提交而得到。可以通过逻辑上为每个线 程保留独立的重排序缓冲区来支持不同线程指令的独立提交。 第4 页 国防科学技术大学研究生院学位论文 1 2 1s m t 处理器研究现状 i n t e l 公司的超线程技术在其处理器上引入了s m t 的概念m 】。超线程技术使单个物理处 理器变成了多个逻辑处理器,每个逻辑处理器具有不同的体系结构状态,共享一套执行资 源。从软件或体系结构的角度看来,操作系统和用户程序可以像在多处理器系统中对待单 个物理处理器那样调度进程和线程到各个逻辑处理器上。超线程技术的首次实现是在h l t c l 的用于服务器的双核和多核x e o n 系列处理器上。实现时每个物理处理器中有两个逻辑处理 器,每个逻辑处理器维持了一整套状态寄存器,包括通用寄存器、控制寄存器、高级可编 程中断控制寄存器( a p i c ) 以及其他一些机器状态寄存器。逻辑处理器共享的资源包括 c a c h e 、执行单元、分支预测单元、控制逻辑以及总线等。为了优化只有一个软件线程时 的性能,超线程技术有两种工作模式一一单任务模式( s t ) 和多任务模式( m t ) 。在多任 务模式下,有两个活跃的逻辑处理器,并将一些资源在它们之间进行了划分。单任务模式 时只有一个活跃的逻辑处理器,那些在多任务模式下被划分的资源又重新整合起来,以便 单个活跃的逻辑处理器能使用所有的资源。从m 研莫式切换到s t 模式可以通过执行h a l t 指 令来实现,执行h a u 指令的那个逻辑处理器即变为不活跃。在单任务模式下,一个发向 被h a l t 的逻辑处理器的中断即导致向多任务模式的切换,这种切换由操作系统来控制。 加入了超线程技术的i n t e lx e o n 处理器在通用服务器测试程序上获得了3 0 的性能增益,而 芯片的的面积却只增加了不到5 。可以看出,i n t e l 的超线程技术以较小的硬件代价获得了 较大的处理器性能的提升。 t i l u s e n 等人提出了一种基于a l p h aa x p2 1 1 6 4 的s m t 模型,比较了不同c a c h e 配置 对s m t 处理器吞吐率的影响,认为私有的程序c a c h e 和共享的数据c a c h e 能够取得比较 稳定的系统吞吐率口】。他们还以p c 最大化为目标,研究了s m t 处理器中的取指和发射 策略,并根据实验结果从派发带宽、指令队列、取指带宽、分支预测、前瞻执行、存储器 吞吐量和寄存器文件等方面分析了影响s m t 性能提高的瓶颈。上述研究均基于超标量 处理器,其方法及结论并不完全适用于超长指令字处理器。 k e c k l e r 等人描述了基于多簇的紧耦合v l i w 结构,该结构在同一簇内支持同时多线 程,并使用记分牌进行相关性检查,实现代价较大。a g o n 2 a l e z 等人提出了基于d l 模型的动态v l r w 结构,该模型不仅能够完成超长指令字的动态发射,还能够解决超长 指令字处理器固有的代码兼容性问题【勰】。基于d l 模型的动态v l l w 结构试图从单一线程 中更好地开发指令级并行性,但需要大量额外硬件的支持,复杂度比较高。e o z e r 等人 提出了基于4 流出v u w 处理器的同时多线程结构瞄 2 q ,该结构为避免同一个节拍内不同 操作之间的反相关和输出相关,在每个多操作中设立了一个分离位,该位由编译器产生, 用于标志相应的多操作是否可拆分。 第5 页 国防科学技术大学研究生院学位论文 1 3 课题背景、意义及目标 本课题来源于国家自然科学基金项目“同时多线程超长指令字d s p 的体系结构关键 技术研究”( 项目编号:6 0 4 7 3 0 7 9 ) 。随着微处理器体系结构技术的不断发展,从单一指 令流中开发指令并行性( i l p ) 已经变得越来越困难。指令发射窗口、寄存器文件等部件 的设计复杂度随着规模的增大而呈指数增长,而它们带来的实际效果并不明显,因此s m t 和c m p ( c h i pm u i t i _ p r o c e s s o r ) 等开发任务级并行性( t l p ) 的技术受到研究人员的广泛 关注。s m t 技术是指在同一个处理器上虚拟多个逻辑处理器,每个逻辑处理器上运行 一个任务( 线程) ,但共享套执行部件。s m t 技术能够利用流水线上由于指令级并行性 不足,c a c h e 失效等问题产生的间隙,从而提高处理器的实际性能。同时多线程技术挖掘 了线程级和指令级的并彳亍叼。在s h 仃处理器中,线程级的并行可以是一个多线程程序中 的多个线程并行、一个程序内并行进程的并行或者相互独立的程序间的并行。指令级并 行来自于线程或程序内部。由于开发了两种类型的并行,s m t 处理器可以更有效地利用 资源,并可以提高指令吞吐率和运算加速比。 超长指令字( v l r w ) 处理器能够同时发射多条指令,其指令调度完全依赖于编译器, 硬件较简单。得益于编译器技术的进步,这类处理器目前在高性能微处理器领域非常流行。 尽管如此,v u w 处理器尚未发挥出全部潜力,其障碍不仅来源于程序本身,还在于诸多 动态因素,如c a c h e 失效等。s m t 技术能够帮助v l l w 处理器减小上述障碍产生的影响, 使其更有效的利用资源,从而提高处理器的实际性能。另一方面,超长指令字处理器不太 胜任控制流任务,因为这类任务的指令级并行性非常差,将其单独运行于一个多发射处理 器并不能有效提高其运行速度,反而浪费了大量的处理能力。支持s m t 技术的v l i w 处 理器则能使数据流程序和控制流程序同时运行,进而从根本上解决了上述问题。 y m m d 4 是目前我所在的实验室研制成功的3 2 位高性能定点d s p 处理器,是一种 8 流出的超长指令字体系结构的处理器。本文的目标就是在巧t - d 4 的基础上实现双线 程的s m t 处理器,进一步提升处理器的性能,为研制更高性能的d s p 处理器打下基础。 1 4 本文的主要工作及创新 本文首先深入分析了y 砥呵一d 4 的体系结构,接着针对在超长指令字处理器上实现 s m t 技术的困难提出了一种m o s i 微体系结构。在此基础上,本文对y 瑚可一d 4 的驭指、 指令派发进行了修改,同时设计实现了在执行包分离发射的情况下保证执行结果写回顺序 的写回缓冲,最后复制了双线程所需的硬件现场。通过上述修改,本文成功地在y h f r d 4 的基础上设计实现了一种全新的双线程s m 叮处理器y h f t d s p s m t o o 。最后对 所设计的处理器进行了验证和综合。 第6 页 国防科学技术大学研究生院学位论文 1 5 本文的组织结构 第一章绪论。首先介绍了数字信号处理器和同时多线程技术,接着阐述了本课题的研究 背景、意义、目标及主要创新工作。 第二章兀一d 4 体系结构及m o s i 的分析。分析了y h 】可一d 4 的内核以及流水线结 构,同时提出了m o s i 微体系结构。 第三章y h f t d s p ,s m t o o 的设计。本章详细介绍了各部分的设计,重点介绍了取指、 指令派发和写回缓冲单元的设计。 第四章设计验证。分析了验证的一般技术,之后介绍了针对本设计的验证方法。 第五章性能分析。首先介绍了评价d s p 性能的一般方法,之后描述了对y 耳一 d s p s m r t o o 迸行评测的方法、指标以及结果,并对结果进行了分析。 第六章综合优化。介绍了综合的基本思想及流程,分析了综合优化的策略,并给出了 彻一d s p s m t o o 的综合优化结果。 第七章结束语。对本文的工作进行了总结,同时提出了进一步的工作。 最后为致谢和参考文献。 第7 页 国防科学技术人学研究生院学位论文 第二章y h f 卜d 4 的体系结构及m o s1 分析 2 1y h 曩i d 4 的体系结构 2 1 1c p i j 结构 图2 一l 是 f r - d 4 芯片的结构框图,其中左侧虚线部分即为c p u 内核,它包括: 指令控制部件:包括取指部件、指令派发部件和指令译码部件。指令控制部件 由程序总线与片内程序存储器相连; 数据通路:我们通常把在指令执行过程中使用的物理资源通称为数据通路, y h f f d 4 包括2 个对称的数据通路( 数据通路a 和数据通路b ) ,每个数据通 路包括1 个通用寄存器组和4 个功能单元,数据通路由数据总线与片内数据存 储器相连; 控制寄存器及相关逻辑。 一级指令c a c h e | , 定时中断控 i ;麓簧 ;淤 器l 制器 嘉。 j c p u 取指单元 定时 a s r a m 内桉器2外 。 + 2 5 6 部s b s r a m 、 。年 s d r a m 控制寄 i l1 2 1 31 4 i ; t 6 1 7 1 8 卜 - 存器 指争派挂单元 级 级 媸 r a m t数 n l f i f o 厂屿川 、 , i 据 d m a 慨斟群啐肢 4噜 控 制 “串l j 0 o 器 ;li 掣i 掣i l r - 一串几lk :i 寄存器文件 卜i+ 肾+ | 主机接r 】l 图2 一ly h f r _ d 4 芯片的结构框图 y 1 f r _ d 4 的c p u 采用了修正的哈佛结构,其程序总线与数据总线分离,取指和存取 操作数能够同时进行。片内程序存储器可以保存指令代码,程序总线连接程序存储器与 c p u ,y h f t - d 4 的程序总线宽度为2 5 6 位,每次取指操作都是取一个取指包,内含8 条指令。每条指令占用一个功能单元。在流水线的流量达到峰值时可以每个时钟周期通过 8 条并行指令。 y h f t - d 4 有2 个数据通路( 数据通路a 和数据通路b ) ,每条数据通路有4 个功能单 元( a l 、b c 、m u 和l s ) 和1 组1 6 个x 3 2 位的通用寄存器组。除了l 0 a d 类和s t o r e 类指令以及程序转移类指令外,其他所有算术逻辑运算指令都必须以通用寄存器作为源操 第8 页 国防科学技术大学研究生院学位论文 作数和目的操作数。l o a d 和s t o r e 类指令用于在通用寄存器组与片内数据存储器之间交换 数据,此时2 个数据寻址单元( l s l 和l s 2 ) 负责产生数据存储器地址。每个数据通路 的4 个功能单元都有交叉数据通路连接到另一侧的寄存器上,这样就使得两个数据通路之 间可以交换数据。 2 1 2 流水线结构 流水线技术是当今微处理器中最常见的一种提高运算性能的技术。它将每条指令的功 能分解为若干个子操作,每个子操作对应于特定的流水级,一般子操作在一个时钟周期内 就能完成。这样对于每个功能部件来说,每拍都能通过一条指令,使得多条指令可以在 c p u 内部重叠执行,从c p u 外部看,整个c p u 每拍都能通过l 条指令。 这里需要解释两个概念: 取指包:从程序c a c h e 取得的8 个字。 执行包:取指包中可以并行流出的指令。一个取指包可由多个执行包组成( 1 8 个) 。 y 唧:d 4 中所有指令均按照取指( f e t c h ) 、译码( d e c o d e ) 和执行( e x e c u t e ) 3 级 流水线运行,每一级分为若干站。其中取指级包括4 站,分为程序地址产生( p g ) 、程序 地址发送( p s ) 、取指包等待( p w ) 和取指包接收( p r ) ;译码级2 站,包括指令派发和 指令译码,派发站根据取指包内部的执行包决定当拍可以派发的指令,并将这些指令送至 译码站进行指令操作译码和操作数准备等工作:执行级对应不同的指令流水线深度不同, 最短1 站,最长5 站。指令执行完后,写回寄存器文件。在最后一个执行站有一个b ”a s s 通路,因此指令执行完后若其他指令需要用到执行的结果,则不用等结果写回寄存器文件。 制 一译码级一一u 宇旨令执行 p g 】p s | p w p r | d p d c e 1e 2e 3 e 4 e 5 i1jj,i,。【。i上+,i。,。j。【一 图2 2y l 鲴f i 4 的流水线 由于y d 4 内部设置多个功能部件,因此每个时钟周期最多可以流过8 条并行指 令,流水线时空图如图2 3 所示。 图2 3 取指包只有一个执行包的流水线时空图 第9 页 国防科学技术大学研究生院学位论文 当然这是最理想的情况,流水线的运行过程中还会有一些事件会影响到流水线的效 率。 y i l f 卜d 4 的流水线是体现其高性能的一个重要因素。如果程序的算法能保持流水线充 满,这时流水线的效率最高,但通常情况下由于程序自身的并行性限制或其它流水线事件 的限制,流水线不会完全充满。为了使y h f t d 4 的流水线发挥最大效率,必须注意以下几 种对流水线性能有重要影响的因素。 l 、在一个取指包中有多个执行包的流水线操作 当一个取指包只有一个执行包时,也就是说该取指包中的8 条指令是全并行的,此时 流水线处于完全充满状态,如图2 - 3 所示,这时,流水线的效率最高,吞吐率为 乃乙。= 8 缸。口c ,其中出。为通过每段流水时所需时间,此时流水线的效率最高。1 。 当一个取指包中包含多个执行包时,这时将出现流水线阻塞,如图2 4 所示。其中取 指包n 包含3 个执行包,取指包n + l 到n + 6 只有一个执行包。取指包n 到n + 6 的所有指令 代号依次按a 、b 、c 排列。取指包n 的8 条指令中,a 和b 是一个执行包,c 、d 和e 是 一个执行包,f 、g 和h 是一个执行包。 图2 4 取指包含不同数目的执行包的流水线操作 图2 4 所示的程序段代码如图2 _ 5 所示。取指包n 在周期l 到周期4 通过取指级的4 个节拍,同时在周期l 到周期4 的每个周期都有一个新的取指包进入取指的第一站。在周 期5 的d p 站,c p u 检测出在取指包n 中有3 个执行包k 、k + l 和k + 2 ,这就迫使流水线阻 塞,只允许执行包k 和k + 1 分别在周期6 和周期7 分别进入d p 站。一旦执行包k + 2 准备 进入d c 节拍( 周期8 ) ,流水线阻塞就被释放。 取指包n + 1 至n + 4 在周期6 和周期7 均被阻塞,使得c p u 有时间处理执行包k 至k + 2 进入d p 节拍。取指包n + 5 在周期6 和周期7 也被阻塞,直到周期8 流水线阻塞释放后进 入p g 节拍。周期8 以后流水线连续操作直到有包含多个执行包的取指包进入d p 节拍,或 者中断发生。 第1 0 页 国防科学技术大学研究生院学位沦文 指令 指令 指令 指令 指令 指令 指令 指令 指令 指令 指令 k 羹塞: 执行包“+ 。取指乜n + - 指令n 【 指令 0 指令 pj 图2 5 取指包含不同数目执行包的代码序列 2 、多周期n o p 指令和i d l e 指令 一个取指包中的执行包的数量会影响到流水线的运行效率,另外所执行的指令类型也 会影响到流水线效率。这里讨论两种特殊指令类型n o p 和d l e 指令的流水执行操 作。在y h 阡d 4 流水线设计中,不像其它指令都有相应的功能单元,n o p 和m l e 指令 没有专门的功能单元去实现,而是在指令派发部件中通过暂停指令派发一定的节拍数来实 现的。 n o p 指令是编译器在无法填满取指包中的每个指令槽或当前执行包和下一执行包 之间需要插入几个周期的间隔以消除数据相关时,面插入的空操作指令,n o p 指令后面可 以跟常数c ( 1 c 9 ) ,表示使c p u 空转c 个周期,此时指令派发站、指令译码站、执行 站继续流动,取指部件暂停。而i d l e 指令使c p u 内核进入无限等待状态,同n o p 操作一 样,指令派发站、指令译码站、执行站继续流动,取指部件暂停。跳转指令和中断可以影 响多周期n o p 和i d l e 指令的执行。当一个跳转指令延时槽结束时,多周期n o p 指令不管 是否结束,这时跳转指令将废除多周期n o p ,转向分支目标指令执行。 如果n o p 与其他指令并行使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论