




已阅读5页,还剩57页未读, 继续免费阅读
(计算机科学与技术专业论文)sdta高性能存储子系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 随着集成电路制造工艺的进步,微处理器的处理能力与存储系统之间的差距越来越大, 存储系统已经成为影响微处理器整体性能的瓶颈。同时,新的应用正由计算密集型转向数 据密集型。数据密集型应用呈现出数据密集度高、数据访问的空间局部性较好而时间局部 性较差、对存储系统带宽要求较高等新的负载特征,以往的存储系统已不能很好的适应数 据密集型应用的需要。 本文设计并实现了面向数据密集型应用的同步数据触发体系结构( s y n c h r o n o u sd a t a t r i g g e r e d a r c l l i t e c t i 盯c ,s d l i a ) 中的高性能存储子系统,所做的主要工作包括以下几点: 1 设计了层次化的存储系统体系结构,包括处理单元内部的存储流控制器和系统总 线上的外部存储器控制器。存储流控制器由d m a 传输引擎、存储管理单元、指令 c a c h c 和局部存储器等主要功能部件组成。 2 基于s d t a 结构的特点,从降低设计复杂度和编程复杂度的角度出发,结合数据 密集型应用的负载特征,设计了s d t a 处理器中的c a c h e 一致性模型。 3 设计并实现了多种存储性能优化技术。包括d m a 传输引擎中的优先级仲裁机制、 精确中断机制、虚拟队列机制以及存储管理单元中的多种加速地址转换过程的性 能优化技术。 4 完成了s d l a 高性能存储子系统的实现、验证和性能测试。 通过以上工作,本文设计并实现的s d t a 高性能存储子系统在s d t a 多核处理器中为 高性能计算内核提供了完善的数据通路和指令通路,性能测试的结果表明,该存储子系统 能够满足数据密集型应用程序执行对存储带宽的要求。 关键词:同步数据触发体系结构,存储子系统,存储流控制器,d m a 传输引擎,存储管 理单元,指令c a c h e ,局部存储器 第i 页 国防科学技术人学研究生院学位论文 a b s t r a c t 1 1 1 ee v o l u t i o no fv l s it e c l l l l o l o g yl 娜m a d em eg a pb e t 、) l ,e e n 龇p e 而m a l l c eo f m i c r o p r o c e s s o r 锄dm e m o r ys y s t 哪m u 曲d c e p c r m e m o r yp e r f 0 m a n c e i l a sb e c o r n e 也e b o t t l e n e c ko fap r o c e s s o rn o w a tt h es 锄et i m e ,n e wa p p l i c a t i o n sa r ec h a n g i n gf r o m c o m p u t e i n t e n s i v et od a t a - i n t e l l s i v e t h e s ed a t a - i n t e n s i v e 印p l i c a t i o n sh a v e 也ec h a r a c t e r i s t i c sa s f o l l o w :d a t a - i n t e n s i v e ,b e t t e rs p a t i a ll o c a l i t yb u t 、7 v o r s et e m p o r a ll o c a i i 劬r e q u i r i n gl l i g h e r b a i l 捌d t ho fm e m o 巧s y s t e m n l o s em e m o r ys y s t 锄i nt l l ep a s tc a i l tm e e tt l l en e e do fm e s e n e w 印p l i c a t i o n s 1 1 1 i st h e s i sp r o p o s e da1 1 i 曲p e r f o m a l l c em e m o r ) rs u b s y s t e mb a s e do n l es y n c t l r d n o u sd a 诅 嘶g g e r e d 心c l l i t e c n 鹏( s d t a ) w h i c hi sd e s i g n e d f o rd a t a i n t e n s i v ea p p l i c a t i o n s p r i m 哪 i 姗o v a t i v e 、) r o f k so f “s 吐l e s i sc a i lb es u m m 撕z e da sf o l l o w s f i r s t l y ,ah i e r a r c h ym e h l o r ya r c h i t e c t u r ew 勰p r o p o s e d t k sm 锄。巧觚c h “e c t i l r ei n c l u d e s t l l em e m o uf l o wc o l l 仃o l l e r ( m f c ) i nt h ep r o c e s se l e m e n t 锄dm ee x t e m a lm e m o 巧c o n n 0 1 1 e r o nt h es y s t e mb u s t h em f cc o n s i s t so fd m ae n g i n e ,m e m o r ym a n a g 锄e n tu 疵,i i l s t m c t i o n c a c h ea i l dl o c a ls 协r e s e c o n d l y ,a i m e d a t r e d u c i n g t l l e c o m p l e x i t ) r o fd e s i g i l i n ga 1 1 dp r 0 铲觚m i n g ,ac a c h e c o n s i s t e n c yn l o d e li ns e 巳p r o c e s s o r 、v a sp r o p o s e d n l i r d l y s e v e r a lo p t i m i z i n gt e c h n o l o g i e so fm e m o 巧a c c e s s i n ga r ep r o p o s e d :t l l ep r i o r i t y a r b i t r a t i o nm e c h a i l i s m ,a c c u i 纰ei n t e 咖p t i o n sm e c h a i l i s m ,v i n i l a ld m aq u e u em e c h a i l i s mi nd m a e n g i n ga n ds e v e r a lt e c h n o l o g i e s 加c hc a i li i n p r o v ct i l ea d d r e s s 仃a n s f o n i l i n gp r o c e s si i lm m u f 0 1 l m l l y t h i sl l i g l lp e r :f o 咖a i l c em e m o 巧s u b s y s t e mw 勰i m p l e m e n t e db 弱e do n 也ea :b o v e s 眦i e s t l l l ev e r i f i c a t i o n 龇l dt e s t0 ft 1 1 i sm e m o us u b s y s t e m 、v e r ea l s o 如l l ye x p l o i t e d t h es d l ah i 曲p e r f - o 咖a i l c em e m o qs u b s y s t e mb a s e do nt l l ea b o v es t u d i e sc a l lp r o v i d e e x c e l l e n td a t ap 劬a i l di 1 1 s t r u c t i o np a t l lf o rc l u s t e r si i ls d t ap r o c e s s o r t h ep e 墒吼a i l c et e s t r e s u l t sp r o v et h a tt h j sm e m o 巧s u b s y s t e mc a j la c l l i e v er e l a t i v e l yl l i g hb 锄【d 丽d t hf o rm 锄【y d a t a i n t e n s i v ea p p l i c a t i o 船 k e yw o r d s :s y n c h m n o u sd a t at r i g g e 代da r c h i t e c t u 聆,m e m o 叮s u b s y s t e m ,m e m o r yn o w c o n t m l l e bd m ae n g i n e ,m e m o r ym a n a g e m e n tu n i t ,i n s t 川c t i o nc a c h e ,i o c a ls t o 心 国防科学技术大学研究生院学位论文 图目录 图2 1s d l a 计算内核体系结构示意6 图2 2s d l a 高性能多核处理器体系结构8 图2 3l e o n 3 处理器体系结构8 图2 4p e 体系结构9 图2 5c l u s t e r 结构示意一10 图2 6s o c k e t 逻辑结构1 2 图2 7 s c 处理器流水线示意图1 2 图2 8p e 流水线示意图l3 图2 9 功能单元的控制1 4 图2 1oi 讧结构框图15 图2 1 1 寄存器文件的控制1 5 图2 1 2p e 指令模板1 6 图2 1 3 通信网络的结构示意图1 7 图3 1s d t a 存储子系统结构图1 9 图3 2s d t ac a c h e 一致性示意图2l 图3 3m f c 体系结构2 2 图3 4d m a 引擎体系结构2 3 图3 5d m a 控制状态机2 4 图3 6d m a 传输操作数据流图2 6 图3 7d m a 命令优先级仲裁2 6 图3 8 指令中断处理流程2 7 图3 9 虚拟队列机制实现框图。2 9 图3 1 0d m a 程序示例3 0 图3 1 1m m u 单元结构图3 2 图3 1 2m m u 地址转换过程3 3 图3 13 不同数目毗町表项条件下m m u 失效情况统计3 5 图3 1 4 指令c a c h e 结构_ 3 5 图3 15 局部存储器结构3 7 图3 1 6 外部存储器控制器结构图3 8 图3 1 7s d r a m 配置寄存器3 9 图4 1d m a 带宽与传输大小的关系4 5 图4 2 不同密度访存请求下d m a 访存带宽。4 5 图4 3 整数数据宽度比例4 6 图4 4 指令c a c h e 失效率统计4 7 图4 5m e d ia _ b e n c h 测试程序平均带宽4 7 图4 6 r c 6 算法主循环函数在s d l a 上的实现4 8 图4 7c 巧p t 0 + + 测试程序平均带宽4 9 第1 h 页 国防科学技术大学研究生院学位论文 表目录 表3 1d m a 命令格式2 5 表3 2d m a 寄存器设置3 l 表3 3 不同体指令c a c h e 综合指标比较3 6 表3 4 可配置的s d r a m 参数3 8 表3 5s c 的配置选项3 9 表3 6s d r a m 的控制信号4 0 表4 1m f c 综合结果。4 2 第1 v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目:苎旦! 直性丝壹篮壬丞红鲍盟究当塞堡 学位论文作者签名:商渔莹型 日期:卯扩年月弘日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:墨望! 直性能盔篮至丞统的盈究生塞理 学位论文作者签名:幽型 日期:溺年,月够日 作者舯撕张馥& 吼枷矿年月咖 国防科学技术大学研究生院学位论文 第一章绪论 1 1 研究背景 1 1 1 微处理器发展趋势 近年来,微处理器的性能借助集成电路技术和体系结构的进步获得了飞速提升。伴随 着性能的提高,计算机在各个领域的应用获得了巨大成功,产生了良好的经济效益和社会 效益。随着工艺技术水平的进一步发展和应用需求的不断变化,微处理器体系结构的发展 正面临新的挑战和机遇。 在过去3 0 多年的发展过程中,高性能微处理器基本上都是按照著名的摩尔定律在发 展。根据半导体工业协会s i a ( s e m i c o n d u c t o ri n d u s 仃ya s s o c i a t i o n ) 的预测【2 j 摩尔定律在2 0 1 5 年前依然有效【。s t i 联盟( s o n y1 o s h i b aa n di b m ) 最新发布的c e l l 处理器主频达到 4 6 g h z ,集成有近3 亿个晶体管【3 。预测到2 0 1 0 年,高性能c p u 芯片上可集成的晶体管 数将超过2 0 亿个( 到2 0 1 8 年超过1 4 0 亿个) 1 4 j 。半导体技术的这些进步,为处理器的设 计者提供了更多的资源( 无论是晶体管的数量和种类) 来实现更高性能的芯片,从而有可 能在单个芯片上创造更复杂和更灵活的系统【5 j 【6 j 【7 。 技术的进步和结构的改进使得微处理器的性能以前所未有的速度发展,也使得超高性 能微处理器芯片的实现成为可能。目前全世界安装的实际速度超过万亿次( 1 t f l o p s ) 的计 算机共2 4 2 台,这些计算机都是由数百甚至数千个c p u 芯片构成的超级并行机。完全难以 想像,若处理器具有万亿次级的计算能力,那么一台万亿次的计算机就具有缩小为桌面计 算机的可能,而且价格也会大幅度降低,这种个人超高性能计算机将会催生新的信息技术 变革,为信息社会的方方面面带来革命性的改变。 但是,由于芯片线延迟的影响,单纯的依靠工艺技术的进步难以达到这样的目标,为 了将芯片上的晶体管更有效的聚合为处理器的计算能力,就需要对现有的处理器体系结构 进行创新。学术界和工业界已经就此问题开展了多个方面的研究与探索,其工作基本可以 分为三类:进一步挖掘单个应用内在的指令级并行( i l p ) 能力【8 】【9 l 【1 卅;显式并行计算( e p i c ) 技术【l l 】【1 2 】【1 3 1 1 4 】;通过线程级进程级并行技术提高处理器性能,例如同时多线程( s m t ) 处理器和单芯片多处理器( 也称之为单芯片多核处理器,c m p ) i ”儿1 6 1 。其中,以c m p 为 代表的在一块芯片中集成多个高性能计算内核的处理器结构具有良好的性能潜力和广阔 的应用前景。近年来,多核处理器体系结构和设计技术的研究取得了突破性的成果。例如, i b m 超级计算机b l u eg e n e 的核心芯片中含有3 2 个p o w e r p c 处理器以及片内的嵌入式 d r a m 存储器( e d r a m ) ,双精度浮点计算峰值性能达到3 2 g f l o p s l 6 3 j :而2 0 0 5 年i b m 、 s o n y 与t o s h i b a 联合研制的c e l l 多核处理器的单精度浮点峰值性能2 5 6 g f l o p s ,双 精度浮点峰值性能2 0 g f l o p s 【6 4 1 。这标志着人类已经向千亿次万亿次处理器芯片的设计与 第l 页 国防科学技术人学研究生院学位论文 实现迈出了重要的一步。 1 1 2 应用需求对高性能微处理器存储系统的挑战 进入2 l 世纪,微处理器的市场已从以s p e cc p u 2 0 0 0 所代表的传统的科学技术应用, 扩展到三类不同的应用:服务器应用( 科学计算和商业事务处理) 、桌面应用和嵌入式应 用。 应用的发展对微处理器的设计带来的挑战主要体现在:新应用己从计算密集型转向数 据密集型,展现出与传统的科学技术应用完全不同的执行和数据访问行为。当前的系统从 计算模型、结构和操作上都没有对此提供很好的支持。 传统的应用具有很高的程序和数据访问局部性,允许有效地利用c a c h e 、寄存器和 t o m a s u l o 算法等细粒度的延迟容忍技术。这类应用多是计算敏感的,对数据的运算操作与 装入数据的操作的比率远远大于1 【4 】。而许多新应用逐渐呈现出新的数据负载特征【l l 【4 1 : 1 大量数据元素的处理过程之间的依赖程度低,数据并行性高; 2 对每个数据元素往往要连续实施多种运算,计算密集,操作规则; 3 通常要求实时处理能力; 4 存储访问和i o 操作密集,数据访问具有很好的空间局部性,但时间局部性很差。 5 与数据访问的延迟相比,更强调高带宽的数据访问。 、 可以看出,这些应用正在由计算密集型向数据密集型转变。数据密集型应用更需要高 带宽存储系统的支持。 但是,单个芯片上的i o 引脚数目由于物理技术的限制不能同晶体管数目同比例增长, 使得计算能力的增长与片外带宽的增长不匹配。从1 8 0 纳米到3 5 纳米,晶体管数与信号 引脚数的比率增加了4 5 倍。这意味着尽管随着晶体管数目的增加,单个芯片上可以容纳 的处理器核数目能够相应增加,但芯片与系统中其它部分的通信带宽并不会同比例增加, 这就使得多个处理器核不得不共享同一条访存或通信通路。有限的片外带宽将成为影响性 能和可扩展性的瓶颈,并在实际上限制单个芯片上处理器数目的有效增加。 因此,研究满足多个计算密集内核的存储访问带宽要求的高性能多层次存储系统体系 结构对于提高单芯片多核处理器的整体性能具有十分重要的意义。 1 2 研究现状 事实上,存储系统的性能也随着工艺的进步而不断提高,令人遗憾的是,这些变化并 不均衡。例如,存储设备( 存储器和硬盘) 的集成度和带宽发生了巨大的变化,但访存延 迟变化不大。因而,多年以来,计算机不同部件之间的带宽平衡关系也在不停的改变,这 进一步促进了计算机体系结构的发展变化。对存储系统而言,存储结构层次更多、更复杂。 第2 页 国防科学技术大学研究生院学位论文 在存储系统的设计中,面临许多复杂的问题,如【1 7 】【13 】f 1 9 】: 存储器的大小:对用户来说,计算机存储容量永远是不够用的。因此,“虚存 的 概念被提出来,使程序可以使用足够大的内存; 访存延迟与分层:存储器访问时间与c p u 的发展速度极不匹配,多层存储结构就 是性能与成本之间的妥协: 皇存储带宽:存储器与c p u 以及其他设备之间的传输率始终与c p u 的发展速度不匹 配; 存储器保护装置:许多体系结构都有专门的硬件来保护存储器,其目的主要是为 了防止应用软件修改其他应用程序所使用的各级存储器。 一 以上这些问题中,最难解决的是访存延迟问题。存储器的大小,归根结底就是成本问 题。带宽一定程度上也可以通过增加到存储器的通路数以及使用交叉存储技术等来解决。 而延迟取决于物理约束,难以降低。同时,高延迟还降低了存储访问的有效带宽。一在高延 迟的情况下,改善带宽的普遍做法是增加每次传输的数据量,以大数据量来降低延迟所占 的总时间的比例。但这种办法只有当传输的数据都有用时才能发挥效应。 另外,我们可以考虑这样的策略:减少计算中遇到的有代表性的时延。存储层次结构 是避免时延的最常用机制。如果多次被引用值存放在快速中间存储器( 寄存器或高速缓存 中) ,那么第一次引用后,后续对其访问的代价是很低的。因此,在计算机体系结构中引 入了容量更小,速度更快的存储器,也就是c a c h e 【2 0 。 c a c h e 作为c p u 和内存的缓冲区域,使系统性能迅速提高。为进一步发挥c a c h e 的作 用,改进存储系统性能并使之与c p u 发展同步来维护系统带宽平衡,通常可以给微处理器 增加控制缓存的指令。一般来说,有两类缓存控制指令,一类是数据预取( p r e f e t c h ) 指令, 能够增加从主存到缓存的数据流;另一类是内存流优化处理( m e m o 巧s t r e 锄i n g ) 指令, 能够增加从处理器到主存的数据流。这两类指令都赋予了应用开发人员对缓存内容更大的 控制能力,使他们能够控制缓存操作以满足其应用的需求。 1 数据预取指令允许应用识别出所需的信息,并预先将其从主存中取出存入缓存。这样 一来,处理器可以更快的获取信息,从而改进应用性能。为了进一步削减内存延迟,内存 访问还可以与计算机周期保持流水操作。 内存流优化处理指令允许应用越过缓存直接访问主存。通常情况下,处理器写出的数 据都将暂时存储在缓存中以被处理器稍后使用。如果处理器不再使用它,数据最终将被移 至主存。然而,对于数据密集型应用来说,通常不再需要使用这些数据。因此,这时将数 据尽快的移到主存中则显得至关重要。 提高高性能微处理器存储系统的性能,目前主要有以下一些技术途径【4 5 】f 4 6 】【4 7 】【4 8 】4 9 1 : 优化存储器的层次结构,根据应用需要加入配置相应的存储体; 采用并行存取的思想,增大访存带宽; 第3 页 国防科学技术人学研究生院学位论文 采用合适的替换策略和读取策略,减少访存失效率; 采用数据压缩存储策略,减少访存次数; 利用局部性原理,降低数据寻址时间; 利用执行指令频率差异,加快访问常用指令的速度,减少访存时间。 1 3 研究内容 从前面的分析可知,异构多核处理器体系结构以其包含的多种不同架构的处理器核, 可以为复杂应用提供分类并行的能力,从而显著提高微处理器的性能。然而,存储系统的 性能瓶颈问题严重制约了处理器整体性能的发挥,为了更好的满足多核处理器并行访存的 高带宽需求,本文以多媒体应用和加解密应用为出发点,以同步数据触发体系结构 ( s y n c h r o n o u sd a t at 啦g e r e d a r c h i t e c t u r e ,s d t a ) 为基础,设计并实现了多核处理器中的 高性能存储子系统,并针对同步数据触发体系结构的特点设计并实现了多种存储系统性能 优化技术。课题的研究内容分为以下几个方面: s d t a 高性能存储子系统体系结构的研究与设计:在充分分析数据密集型应用操作 和负载特征的基础上,基于s d t a 体系结构,研究并设计面向数据密集型应用的 高性能存储子系统,详细讨论其组织架构、微体系结构、工作模式、寄存器设置 等相关问题。 s d t a 处理器c a c h e 一致性模型的研究与设计:针对s d l a 体系结构的特点,结 合对目前广泛采用的多核处理器c a c h e 一致性模型的研究和分析结果,以减少设 计和编程复杂度为出发点,设计s d t a 处理器中的c a c h e 一致性模型。 s d t a 高性能存储子系统性能优化技术的研究与设计:针对数据密集型应用的数据 负载特征,结合s d t a 体系结构并行处理能力强,总线通信带宽高的特点,设计 并实现s d l a 高性能存储子系统的性能优化技术,包括技术特征、实现细节以及 对s d t a 高性能存储子系统性能改善的评估等相关问题。 s d l a 高性能存储子系统的v l s i 实现与评测:使用硬件描述语言完成s d t a 高性 能存储子系统的行为级描述,在9 0 姗c m o s 工艺库下进行逻辑综合,验证其功能 的正确性,并选取多媒体应用程序和加解密应用程序对其存储性能进行测试与评 估。 通过以上工作,本文设计并实现的s d t a 高性能存储子系统在s d t a 多核处理器中为 高性能计算内核提供了完善的数据通路和指令通路,性能测试的结果表明,该存储子系统 能够满足数据密集型应用程序执行对存储带宽的要求。 本论文的研究受国家自然科学基金项目( n o 6 0 7 7 3 0 2 4 ) 的支持。 第4 页 国防科学技术大学研究生院学位论文 1 4 论文结构 本文共分为五章,其基本结构如下: 第一章为绪论,介绍了本文的研究背景和本领域的研究概况,阐述了应用由计算密集 型过渡到数据密集型的趋势,指出s d t a 高性能存储子系统研究的重要性,并讨论了存储 系统的研究现状,最后对本文的研究内容进行了概述。 第二章介绍了s d t a 体系结构。包括s d t a 体系结构的综述,主处理器体系结构,处 理单元体系结构,片上通信系统结构,存储系统结构和多核同步机制。 第三章深入介绍了s d t a 高性能存储子系统的设计与实现。介绍了d m a 传输引擎、 存储管理单元、指令c a c h e 、局部存储器和外部存储器控制器等各个功能模块的实现方案, 并对实现过程中的关键问题进行了深入探讨。详细介绍了针对s d t a 处理器所设计的几种 存储优化技术及其在实际应用中对存储系统性能的改善作用,包括优先级仲裁机制、访存 中断机制、虚拟队列机制和m m u 中对地址转换过程的优化技术。 第四章介绍了s d t a 高性能存储子系统的v l s i 实现和测试结果。通过设计测试方案 对该存储子系统的各项功能进行了验证,选取了典型的多媒体应用程序集和加解密应用程 序集对其性能进行了评测,测试并评估了不同访存模式下该存储子系统的性能。 第五章为结束语,对本文所做工作进行总结,展望在高性能多核处理器存储系统研制 方面的未来工作。 第5 页 国防科学技术大学研究生院学位论文 第二章同步数据触发处理器介绍 2 1 同步数据触发体系结构 2 1 1 同步数据触发计算模型 同步数据触发( s y n c h r o n o u sd a t ah g g e r e da r c l l i t e c t u r e ,s d l a ) 计算模型是一种能有 效支持线程级、指令级和数据级并行的数据并行计算模型,该模型借鉴数据流驱动的思想, 结合控制流,通过显式指明完成操作所必须进行的数据传输,将数据流和控制流很好的融 合在一起,同时支持指令级和数据级的并行执行,因而能够很好的支持数据密集型应用的 计算需求。 与现有的v l l w 和超标量等处理器计算模型不同【5 6 】,s d l a 计算模型将每个功能单元 封装为一个计算实体,计算实体基于数据传输触发机制执行。每个计算实体具有统一的数 据传输接口,其内部包含一个或者多个操作数寄存器( o ) 、唯一的触发寄存器( t ) 和若 干个结果寄存器( r ) 。当数据被写入触发寄存器时,就会触发该功能单元将操作数寄存器 和触发寄存器中的值作为源操作数,来完成相应的操作,并将结果放入结果寄存器。同一 个计算实体通常可以完成多种操作( 如加法、减法等) ,这需要通过传输到计算实体的不 同数据编码方式来区分。 这意味着在这样的计算模式下,计算模型只需要一条数据传输命令( 指令) 。例如,一 个普通的加法操作在该模型下将被转换为三次数据传输操作: 一 a d dr 3 。r 2 r l = r l - a d d p :r 2 a d d j a d d 上- r 3 首先,r 1 和r 2 的值被写入加法功能单元的操作数寄存器a d d _ o 和触发寄存器a d d - t , 并触发加法操作,经过一段时间( 由加法器完成操作的延迟决定) ,就可以将计算结果从 功能单元中的结果寄存器a d dr 传回r 3 。 。 从上面的描述可以看出,单个功能单元可以看作是一个数据流触发的计算实体。如果 将多个不同的功能单元通过传输网络连接在一起( 如图2 1 所示) ,就可以形成一个基于 s d t a 模型的有效的计算内核。 传输网络 图2 1s d t a 计算内核体系结构示意 第6 页 国防科学技术人学研究生院学位论文 这种计算模型和计算内核体系结构的优点在于: 1 结构简单,设计灵活,体现了计算操作的本质过程; 2 硬件简单,由于整个结构只有一种类型的指令( 数据传输指令) ,而且对功能单元 的控制信息编码在传输的数据中,实现了分布式译码,可以有效降低硬件设计复 杂度,提高内核的工作主频; 3 逻辑上可以同时支持s i m d 和m i m d 。上述结构中不同功能单元可以并行执行, 如果单个功能单元支持s i m d ,那么可以较好的将m i m d 和s i m d 有机的结合在 一起: 4 可以有效的开发更大的并行。和以往的指令并行和数据并行开发不同,该模型从 另一个方向将指令分解为更加基本的操作( 数据传输) 。从指令相关的角度来看, 即使两条指令不能并行,但是在该模型中,完全可以允许以往不能并行的两条指 令中的某些基本数据传输操作能够并行,这样就可以大大提高程序的执行效率。 同时,该模型在最基本的数据传输一级上允许从多个层次开发程序执行的并行性; 5 功能单元包含寄存器,并且统一编址,因此旁路了中间结果的保存,不仅减少了 对通用寄存器的访问,同时也提高了性能。 2 1 2 基于s d t a 计算模型的超高性能多核处理器体系结构 在对国内外相关成果的研究分析结果【2 1 】【捌【2 3 】2 4 1 ,以及对数据密集型应用工作负载和特 点分析结果【2 5 】【2 6 【2 7 】【2 8 1 的基础上,依据上述s d l a 计算模型,我们提出了如图2 2 所示的一 种高性能多核处理器体系结构,目的是有效支持实际应用中某些计算数据密集型的核心应 用程序的高效执行。它主要由五个部分组成: 1 主处理器( g e n e r a lp u 印o s ep r o c e s s o r ,g p p ) :主处理器核采用具有s c 指令集结 构的通用嵌入式微处理器核,主要用于控制型任务的处理。该核运行操作系统, 并且负责处理一些全局的系统级任务,例如中断响应、输入输出处理等。主处理 器核同时负责将不同的与应用相关的计算型任务分配到处理单元上去执行。 2 处理单元( p r o c e s se l e m e n t ,p e ) :p e 主要用于计算型任务的处理,不同的经过精 心优化的小型计算型任务将通过g p p 分配到不同的p e 上运行。模块化的单处理 器核设计以及可重定向编译器的支持,使得p e 具有可裁减特性。用户可以根据具 体需求选择需要使用的p e 数目。 3 高速互连网络( h i g | ls p e e dn e m o r k ,h s n ) :h s n 是s d t a 内部负责节点通信的 高速互连网络,采用了四环双向传输结构,能够同时支持1 2 个点到点的数据传输, 最大可为s d l a 结构提供2 8 8 g b s 的传输带宽。 4 外围设备接口:外围设备接口主要包括片外存储器接口、用于调试的j t a g 接口、 一些i o 设备接口和l c d 控制器等各种接口。 5 外存控制系统:外存控制系统主要负责各处理器核与外存间的数据交互。 国防科学技术人学研究生院学位论文 图2 2s d t a 高性能多核处理器体系结构 在下面几节中,我们将对s d t a 结构中的各主要功能模块分别进行介绍。 2 2g p p 体系结构 图2 3l e o n 3 处理器体系结构 l e o n 系列微处理器【5 l 】由瑞典g a i s l e r 公司遵照i e e e l 7 5 4 ( s p f 6 眦v 8 ) 体系结构标准 【5 2 】设计并实现,具有高性能、低功耗、设计实现复杂度低等优点。目前l e o n 系列微处理 器已广泛应用于国内外的航空航天领域,基于以上这些优势,我们选择l e o n 3 作为s d t a 体系结构的主处理器内核。 l e o n 3 的体系结构如图2 3 所示。它由以下几个部分组成: 1 整数单元:实现了s p 6 眦v 8 体系结构标准中定义的所有整数指令,包括乘法和 除法指令。采用7 级流水线,并提供了独立的指令和数据c a c h e 接口。 2 浮点单元和协处理器:整数单元还提供了与浮点单元( n o a t 洫g p o i n tu i l i t ,f p u ) 和协处理器的接口。f p u 按照i e e e 1 7 5 4 标准设计实现。 3 c a c h e 子系统:采用h a r v a r d 结构【,实现了独立的指令c a c h e 和数据c a c h e 。指 第8 页 国防科学技术大学研究生院学位论文 5 6 7 令数据c a c h e 的相联度、每组c a c h e 块数以及c a c h el i n e 的大小均可配置。数据 c a c h e 还可以扩展局部数据洲以减少对外部存储器的访问。 调试接口:提供了四个硬件断点寄存器,可以设置硬件断点;1 个指令踪迹缓冲器, 保存最近执行的指令序列。在调试模式下,通过调试接口可以读写核内的所有寄 存器和c a c h e 单元。 中断接口:支持s p a i 地v 8 标准定义的中断模型。 a m a 接口。 多处理器接口。 2 3p e 体系结构 2 3 1p e 总体结构 如图2 4 所示,p e 主要由功能单元阵列( c l u s t e r ) 和存储流控制器( m e m o 巧f l o w c o n t r o l l e r ,m f c ) 构成。c l u s t e r 包括功能单元、寄存器文件以及l o a d s t o r e 单元,主要完 成来自g p p 和其他p e 的计算任务。m f c 包括d m a 传输引擎( d m ae n g i n e ) 、存储管理 单元( m e m o r ym a n a g e m e mu l l i t ,m m u ) 、指令c a c h e 和局部存储器( l o c a ls t o r e ,l s ) 等,主要完成p e 与外部存储器间的数据交换,并负责与g p p 及其他p e 进行通信。p e 通 过总线接口单元( b i u ) 连接到系统总线上,b i u 单元为p e 提供满足a m b a 2 0 时序标准 【2 9 】的总线接口信号。 图2 4 p e 体系结构 第9 页 国防科学技术大学研究生院学位论文 2 3 2c l u s t e r 结构 图2 5 是c l u s t e r 的结构示意,若干个功能单元和寄存器文件通过互连总线构成的传输 网络连接在一起组成数据处理单元,称为一个c l u s t e r 【3 5 】【3 6 1 。在目前实现的s d t a 处理器版 本中,每个c l u s t e r 由4 个定点m a c 单元、4 个定点a l u 单元、4 个浮点功能单元、1 个 比较单元( c m p u ) 、1 个l o a d s t o r e 单元( l s u ) ,一个通道单元( c h a i l l l e lu i l i t ) 和1 个 局部寄存器文件( r f ) 组成。f u 和r f 通过8 条1 2 8 位的互连总线接收控制信息并进行数 据传输。l s u 和c h a l l i l e l 除了通过总线传输网络与其它的功能单元相连以外,同时与m f c 相连,完成p e 的数据传输。一 c l u s i 盯 b 峪 图2 5 c l u s c e r 结构示慈 由于多数多媒体应用程序受浮点算术运算复杂性和精度的制约【3 0 】【3 1 】【3 2 】,如果将其转换 为整数运算往往不能满足程序性能和功能的要求。因此,c l u s t e r 在利用定点功能单元以统 一的逻辑结构支持整型算术运算和逻辑运算的同时,还设计采用了浮点功能单元支持所有 的浮点算术运算。同时,使用两个l s u 完成对局部存储器内数据的l o a d 和s t o r e 操作。 另外,为了保存运算的中间结果,每个功能单元阵列内部还设置了寄存器文件,分为 1 6 个体,每个体包含8 个宽度为1 2 8 位的寄存器,并提供1 个读端口和1 个写端口。 与传统的对s c 处理器体系结构不同的剧5 4 1 ,单个c l u s t e r 的操作执行方式是基于传输 触发,而不是基于操作触发的。它将数据的传输和对数据的操作分离开来,数据的传输在 体系结构级是可见的,数据的传输将触发对数据进行的操作。 根据所保存操作数的不同,f u 中的寄存器可分为三类: 1 操作数寄存器( o ) :保存源操作数。每个f u 有且仅有n 一1 个操作数寄存器,这 里n 铀a ) 【 m i l l i 为该f u 支持的操作i 中源操作数的个数) 。 2 触发寄存器( t ) :保存源操作数。源操作数写入该寄存器表明f u 的所有操作数都 已准备好,可以开始操作。从这个意义上讲,数据写入该寄存器将触发f u 的一次 操作,因此将其称为“触发寄存器 。每个f u 有且仅有一个触发寄存器,具体执 行哪个操作由控制信息指定。源操作数被写入操作数寄存器的时间不得晚于触发 寄存器中数据准备好的时间。 3 结果寄存器( r ) :保存结果操作数。每个f u 有若干个结果寄存器。 第l o 页 国防科学技术人学研究生院学位论文 依据操作数的个数,功能单元在物理上存在一个或者多个o 型寄存器,但是仅仅设置 唯一的t 型寄存器。这主要是因为任何数据写入t 型寄存器均意味着触发一次操作,而某 个功能部件不可能同时执行两个不同的操作,因此在功能部件中不可能设置多个t 型寄存 器。虽然只有一个t 型寄存器,但是功能部件还是能够被触发执行不同的操作,这主要是 因为在t 型寄存器被触发的同时,还有来自译码单元的操作码用以指示功能部件的操作类 型或寄存器编号。以加减法功能单元为例,虽然物理上仅有一个t 型寄存器,但是每当t 型寄存器被触发,该部件都会依据操作码选择执行加法操作还是减法操作。需要强调的是, 在同一个时刻,多个数据传输操作不能同时向一个t 型寄存器写数据。 在每个时钟周期内,f u 和l 强从互连总线上获得控制信息,并在控制信息的指示下进 行不同的动作。这些控制信息包括: 一 1 寄存器标示:指明访问寄存器文件中的哪个寄存器。 一 2 操作信息:f u 接收此信息,指明它进行何种操作。 在c l u s t e r 中,所有的操作都被转换为一组数据传输的方式来实现。这种执行方式称为 “传输触发执行 。c l u s t e r 的指令能够指明各个c l u s t e r 的每条总线上所进行的数据传输, 将多个源操作数同时写入不同功能单元的t 寄存器可以触发多个操作来提高i p c o 一 值得一提的是,所有的功能单元都是流水的,不同的功能单元延迟表示其流水级数。 编译器对功能单元的延迟是可见的,因此可以据此对指令进行调度,以消除数据相关和结 构相关。 c l u s t e r 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》能力提升试题打印含答案详解【完整版】
- 教师招聘之《幼儿教师招聘》每日一练附答案详解(轻巧夺冠)
- 2025年教师招聘之《小学教师招聘》通关题库附答案详解【巩固】
- 渔业养殖疾病防控服务创新创业项目商业计划书
- 绿色汽车设计理念推广创新创业项目商业计划书
- 押题宝典教师招聘之《小学教师招聘》题库附参考答案详解(黄金题型)
- 动物保健品数字化营销平台创新创业项目商业计划书
- 教师招聘之《小学教师招聘》能力提升题库附参考答案详解【培优b卷】
- 2025年教师招聘之《小学教师招聘》综合提升测试卷及完整答案详解(典优)
- 2025内蒙古维拉斯托矿业有限公司招聘6名考试备考及答案详解(典优)
- 原油加工承揽合同
- 基于人工智能的药物不良反应预测与预警系统
- QCT268-2023汽车冷冲压加工零件未注公差尺寸的极限偏差
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 队列训练齐步的行进与立定
- 初中九年级英语课件宾语从句 公开课比赛一等奖
- 患者安全和护理质量的关联
- 社区获得性肺炎诊治进展
- 拆除沥青路面基层施工方案
- 公司网络安全培训课件
- (115)-第一章毛泽东思想及其历史地位
评论
0/150
提交评论