(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf_第1页
(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf_第2页
(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf_第3页
(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf_第4页
(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机科学与技术专业论文)流体系结构存储访问机制的研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院工学硕士学位论文 摘要 流体系结构用于媒体应用以及科学计算,其在新兴的高性能计算机体系结构 中备受关注。针对媒体应用以及科学计算具有计算密集性、大量并行性与局部性 等特征,流体系结构将计算与访存解耦合,把计算分割成一个个核心,而连接核 心的输入输出则是数据流由同构记录按一定顺序组成的批量数据。计算与访 存解耦合暴露了程序的各种并行性与局部性,使得流体系结构不但符合媒体应用 以及科学计算的程序特征,也符合当今v l s i 工艺的发展趋势。 斯坦福大学开发的i m a g i n e 流处理器是流体系结构中的典型代表。i m a g i n e 在 编程模型、编译架构、硬件结构上采用了“核心级流级”两级模型,较彻底地解 耦合了计算与访存,能广泛深入挖掘程序的各种并行性与局部性。因此,我们把 i m a g i n e 作为主要研究对象来研究流体系结构的具体运行机制。 本文将着重研究流体系结构的存储访问机制。 本文明确了流处理的基本概念,并以i m a g i n e 为例简要介绍流体系结构的软硬 件组成。 本文通过与传统微处理器的比较,从程序设计模式、存储层次、以及编译优 化等角度详细讨论流体系结构存储访问机制的优点。 本文研究了基于数据级并行的流存储系统的设计,并对其进行了改进,进一 步提高了实际d r a m 带宽。 本文将向量处理中的链接思想引入流体系结构,提出“链接”流概念,用于 进一步挖掘存储访问、计算之间的并行,模拟表明“链接”流能对流应用产生一 定加速作用。 主题词:流体系结构流处理存储访问链接 第i 页 国防科学技术大学研究生院工学硕士学位论文 a b s t r a c t s t r e a ma r c h i t e c t u r e sa r eo u t s t a n d i n gi ne m e r g i n gh i g h - p e r f o r m a n c ec o m p u t e r a r c h i t e c t u r e s t h e ya r eu s e dt o a c c e l e r a t et h em e d i aa p p l i c a t i o n sa n ds c i e n t i f i c c o m p u t i n gw h i c hs h a r es e v e r a li m p o r t a n tc h a r a c t e r i s t i c s :c o m p u t ei n t e n s i t y , p a r a l l e l i s m , a n dl o c a l i t y t h eb a s i ci d e ao fs t r e a ma r c h i t e c t u r ei st oe x p r e s sa p p l i c a t i o n sb ea c o l l e c t i o no fd a t as t r e a m sp a s s i n gt h r o u 曲as e r i e so fc o m p u t a t i o nk e r n e l s e a c hs t r e a m i sas e q u e n c eo fh o m o g e n e o u sd a t ar e c o r d sa n de a c hk e r n e li sal o o pb o d yt h a ti s a p p l i e dt oe a c hr e c o r do ft h ei n p u ts t r e a m ( s ) b yd e c o u p l i n gm e m o r ya c c e s sf r o m c o m p u t i n g ,s t r e a ma r c h i t e c t u r e sc a nn o to n l ye x p r e s sm e d i aa p p l i c a t i o n sa n ds c i e n t i f i c c o m p u t i n ge f f e c t i v e l y ,b u ta l s om a k eg o o dn s e o f t h ea d v a n c e so f v l s i t h es t a n f o r di m a g i n es t r e a mp r o c e s s o ri so n eo ft h et y p i c a ls t r e a ma r c h i t e c t u r e s i m a g i n et a k e st w o - l e v e lm o d e li np r o g r a m m i n gl a n g u a g e ,c o m p i l e ra n dh a r d w a r e t h e t w o - l e v e lm o d e ld e c o u p l e sm e m o r ya c c e s sf r o mc o m p u t i n ga n de x p l o i t sa l lk i n d so f p a r a l l e l i s ma n dl o c a l i t yt h o r o u g h l y s ow ef o c u so ni m a g i n ea n ds t u d yh e re x e c u t i o n m e c h a n i s m t 1 1 i sp a p e rw i l ls t i l d yt h em e m o r ya c c e s sm e c h a n i s mo f s t r e a ma r c h i t e c t u r e f i r s t , w ed e f i n et h ec o n c e p to fs t r e a mp r o c e s s i n ga n di n t r o d u c et h es o f t w a r ea n d h a r d w a r es t r u c t u r eo f i m a g i n es t r e a ma r c h i t e c t u r eb r i e f l y s e c o n d , c o m p a r i n gw i t ht r a d h i o n a lm i c r o - p r o c e s s o r ,w ed i s c u s s t h em e m o r y a c c e s sm e c h a n i s mo fs t r e a ma r c h i t e c t u r ef r o mp r o g r a m m i n gm o d e l ,b a n d w i d t h h i e r a r c h ya n dc o m p i l e ro p t i m i z a t i o nr e s p e c t i v e l y n l i r d w es t u d yt h es t r u c t u r eo fs t r e a m i n gm e m o r ys y s t e mw h i c hi sb a s e do n d a t a - l e v e lp a r a l l e l i s ma n di m p r o v ei tt oo p t i m i z ei t sd r a mb a n d w i d t hf u r t h e r f i n a l l y ,w ei m p l e m e n t c h a i n i n g s t r e a m i ns t r e a ma r c h i t e c t u r et o e x p l o i t p a r a l l e l i s mb e t w e e nc o m p u t i n ga n dm e m o r ya c c e s sf u r t h e r s i m u l a t i o nr e s u l t ss h o w t h a t c h a i n m g s t r e a mc a na c c e l e r a t es o m es t r e a ma p p l i c a t i o n s k e yw o r d s :s t r e a ma r c h i t e c t u r e ,s t r e a mp r o c e s s i n g ,m e m o r ya c c e s s c h a i n i n g 第i i 页 国防科学技术大学研究生院工学硕士学位论文 第1 v 页 国防科学技术大学研究生院工学硕士学位论文 图目录 图1 1 深度萃取的流处理过程 图1 2“存储墙”问题( 以1 9 8 0 年的性能为基准值) 图1 3 典型p i m 结构 图1 4n u c a 结构 图2 ,l i m a g i n e 流处理器 图2 2 单个运算簇内部结构 图2 3s r f 与2 2 个流缓冲 图2 4 流存储系统 图2 5 流控制器结构 图2 6f f t 数据流图 图2 7f f t 核心级程序 图2 8f 丌流级程序 图2 9 超长指令字格式 图2 1 0 两级编译架构 图2 1 lf f t 流级编译结果 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 通用微处理器存储层次 i m a g i n e 三级带宽层次 h 2 6 4 应用映射 寄存器文件结构 经典c a c h e 结构 流寄存器文件s r f 资源分配图 图3 7 流虚拟机s v m 图4 1 当代d r a m 的结构 图4 2i m a g i n ed r a m 存储器视图。 5 8 9 1 ( ) 1 3 1 4 1 5 1 8 。2 3 。2 4 。2 5 2 6 2 7 3 0 图4 3 流水化地址计算、访存、数据写回流缓冲3 4 图4 4 流存储系统结构。 图4 5m s h r 结构 图4 6d r a m 访存调度。 图4 7 访存调度逻辑结构图 图4 8 改进后的流存储系统结构。 图4 9 改进后的流存储系统结构 图4 1 0 改进后的存储通道服务顺序 第v 页 他b 弘弘弘 剪” 国防科学技术大学研究生院工学硕士学位论文 图4 1 1 测试结果 图5 1向量机的链接机制 图5 2 延迟隐藏效果示意图 图5 3“链接流”在延迟隐藏中的应用。 图5 4 一种共享s r f 的双核结构 4 2 4 3 4 4 4 5 图5 5 从应用r s 解码抽象出来的数据流图4 5 图5 6 使用“链接”流的两种情况。 图5 7 支持“链接”功能的流缓冲控制器结构示意4 7 图5 8q r 分解使用“链接”流前后运行轨迹片断 图5 9f f t 单核、单核加链接、双核加链接运行轨迹 第v i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:速签丞结拉在值边间狃剑数盈荭 学位论文作者签名:丛日期:2 o 。6 年,月2 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留,使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文题目:速堡丕丝捡壶篮边圈扭劐鲍盟窒 学位论文作者签名:缝日期:2 年户月,妇 作者指导教师签名:酸垒赳日期:剜年f 月议日 国防科学技术大学研究生院工学硕士学位论文 第一章绪论 i i 课题研究背景 媒体应用以及科学计算是当今处理器极为重要的一类负载。如何充分利用当 代v l s i 工艺的进步来加速媒体应用及科学计算对体系结构设计者提出了挑战。新 兴流体系结构针对媒体应用及科学计算的程序特征,扬v l s i 之长,避v l s i 之短, 有效加速了应用。研究流体系结构具有重要意义。 1 1 1 媒体应用与科学计算 应用需求始终是体系结构发展演变的动力之一。随着数字技术的普及,视频 压缩、图形图像处理、数字信号处理等媒体应用在处理器负载中所占比重越来越 大;而同时在传统的高性能科学计算领域,比如流体力学、分子动力学、有限元 方法、气象处理等,人们对计算性能提升的需求是永无止境的。 媒体应用与科学计算往往表现出以下特性【i 】: 1 ) 计算密集性:媒体应用与科学计算对每次从内存中取出的数据都要进行大 量的算术运算。例如,在深度萃取、m _ p e g 、矩阵q r 分解、多边形渲染、时分自 适应处理( s p a c e t i m ea d a p t i v ep r o c e s s i n g ) 等几个应用中,每访存一个字平均需 要做5 7 9 至4 7 3 3 个算术操作【l 】;而针对传统桌面整数应用的s p e c i n t 2 0 0 0 ,运算 与访存之比却小于2 【2 j 。 2 ) 并行性:大多数媒体应用与科学计算中的运算可以并行。其中,以数据级 并行为主,比如,在深度萃取中,像素之间不具有相关性,这样便可以采用s i m d 方式来同时处理多个像素;在开发数据级并行的同时还可以开发指令级并行,比 如矩阵乘法中,点积操作可由并行执行一系列乘法操作与加法操作而得;另外, 还可开发任务级并行,任务级并行是指不同的计算阶段可流水重叠进行,同时处 理不同批次的数据。 3 ) 局部性:媒体应用与科学计算体现出计算阶段内部的局部性与计算阶段之 间的局部性。计算阶段内部的局部性与计算密集性相对应,实质为一种时间局部 性;计算阶段之间的局部性是指前一计算阶段产生的一批数据作为下一计算阶段 的输入,是一种生产者消费者的局部性,更多体现出空间局部性的特征。 4 ) 数据的引用呈现规律性:媒体应用与科学计算往往按照一定规律对数据进 行引用,比如按顺序方式、固定步长方式进行引用,并且引用规律在程序设计时 便能预先确定。 因此,媒体应用与科学计算的程序特征要求体系结构须满足以下几个要求: 第l 页 国防科学技术大学研究生院工学硕士学位论文 拥有大量的运算单元,来完成密集计算; 强有力的通讯机制,最大程度追求并行; 能有效组织存储访问,同时捕获各种局部性。 1 1 2 当代v l s i 工艺 v l s i 工艺的不断进步推动了处理器性能的增长,据i t r s ( i n t e r n a t i o n a l t e c h n o l o g yr o a d m a pf o rs e m i c o n d u c t o r ) 5 0 】预测,到2 0 1 8 年,d r a m 的集成度可 达4 7 1 g b i t s d c m 2 ,芯片晶体管密度可达3 5 0 6 亿个晶体管c m 2 ,主频将达 5 3 2 0 7 g h z 。 但v l s i 工艺在不断提升处理器性能的同时也带来一些问题:一方面随着芯片 集成度与时钟频率的提高,线宽进入深亚微米水平,芯片内走线延迟越来越不容 忽视;另一方面存储器访问速度的增长远远落后于处理器性能的增长,存储越来 越成为提升处理器性能的瓶颈。可见,在当代v l s i 工艺条件下,计算是廉价的, 而通讯、访存代价会越来越昂贵。 v l s i 工艺的进步为体系结构设计提供了广阔的空间,但同时也对体系结构设 计者提出了挑战。要充分利用丰富廉价的计算资源,克服或者更精确的说是缓解 底层v l s i 工艺的局限,便需要体系结构能充分挖掘程序中的各种并行性与局部 性。 1 1 3 流处理思想的提出 针对媒体应用与科学计算的程序特征,结合v l s i 工艺发展现状,基于计算与 访存解耦合的流处理( s t r e a mp r o c e s s i n g ) i 】j 思想应运而生。 计算与访存解耦合的思想由来已久,其目的是让存储访问尽可能不处在关键 路径上,比如l o a d s t o r e 型r i s c 指令集只允许l o a d 、s t o r e 指令对存储器进行操 作,从而把访存指令从计算指令中解耦合出来,利于访存与计算之间的重叠流 处理将在更大程度上解耦合计算与访存。流处理把计算分割成一个个计算阶段, 称为计算核心( k e r n e l ) ,而核心的输入输出则是数据流。所谓流( s t r e a m ) ,就是 由同构记录按一定顺序组成的批量数据,流记录的组成可以简单或复杂。以深度 萃取为例,如图1 1 所示,流处理把计算显式分割成7 7 卷积过滤、3 3 卷积过 滤、求s a d 等核心,而核心之间以数据流进行通讯。 流处理将计算显式分割成多个计算核心,暴露了核心内部的计算密集性,有 利于开发核心内的局部性与并行性;将访存从计算中分离出来,以“流”的形式 组织数据,暴露了核心之间的生产者消费者局部性,有利于挖掘数据级并行与任 务级并行。可见,流处理的模式在较好地描述媒体应用与科学计算的同时,把各 第2 页 国防科学技术大学研究生院工学硕士学位论文 种并行性与局部性较充分地暴露出来。我们把按照流处理思想组织的媒体应用及 科学计算称为流应用( s t r e a ma p p l i c a t i o n ) 。 图1 1 深度萃取的流处理过程 根据流处理的思想,国际上涌现出一大批流体系结构,并且都在不同程度上 已经或者准备投入到媒体应用、高性能计算领域中使用。流处理器极有可能是未 来微处理器、高性能计算机体系结构发展的主流之一,具有极大的研究价值。我 国在流处理器领域的研制正处于起步阶段。跟踪国外先进流体系结构技术,深入 理解典型流体系结构特征、运行机制,有利于在该方面缩短我国与国外差距,为 今后真正开展有自主知识产权的流体系结构与支撑技术的研究打下扎实的基础。 研究流体系结构关键运行机制具有重要意义。 1 2 相关体系结构研究 1 - 2 1 各种新型体系结构 国际上涌现出v i r a m 、r a w 、t r i p s 、c e l l 、i n l a g i n e 等一大批新型体系结构。 u c b e r k e l e y 分校的v i r a “”】体系结构,结合了p i m ( p r o c e s s o ri nm e m o r y ) 3 7 1 与向量技术。p i m 技术使得处理器可以直接对d r a m 行缓冲器中的数据进行操 作,从而提高数据访问带宽;而向量技术则可以充分利用p i m 技术所带来的高带 宽开发数据级并行,从而提高系统性能 m i t 的r a 1 0 i 体系结构是t i l e 体系结构的典型代表,通过把底层物理资源如 门、线、引脚等作为体系结构的实体暴露给软件,使得软件能面对线延迟更好地 安排程序,减少通讯延迟,从而提升性能,因而能较好地解决线延迟问题。在r a w 上实现流应用,编译要把计算核心映射到片内1 6 个t i l e 上,而初始输入数据与计 算核心的输出结果则保存于片外d r a m 存储器中。采用类似脉动阵列 i q 的机制, 第3 页 国防科学技术大学研究生院工学硕士学位论文 输入数据经由通讯网络像流一样通过各个t i l e ,t i l e 内处理器无需执行访存操作, 仅对输入的记录执行计算,将所得结果也像流一样传输给相邻t i l e 。t i l e 间数据传 输开发了指令级并行与核心内部的局部性,而核心之间的生产者消费者局部性则 被片外d r a m 捕获。在r a w 上流调度算法的具体实现请参见文酬5 3 】。 t e x a s 大学提出的t r i p s t 5 1 】系统,是一种面向2 0 1 0 年的通用体系结构,也是 t i l e 体系结构的代表。与现行普通通用机采用的r i s c 指令集不同,t r i p s 采用 e d g e ( e x p l i c i t d a t ag r a p he x e c u t i o n ) 指令集结构,以超块( h y p e r b l o c k ) 作为主要 调度单元,块间顺序执行,块内则以数据流机制点火执行。t r i p s 结合了超标量、 超长指令字、脉动阵列、r a w 、数据流处理器等各种体系结构的优点,同时开发 了数据级、指令级、线程级并行。t r i p s 新型的结构对系统软件提出了全新的要求 c e l l 处理器p 2 j 是由i b m 、s o n y 、t o s h i b a 公司等联合研制,主要瞄准游戏、超 高清晰电视市场以及高性能计算。c e l l 处理器结合了多线程、s i m d 等技术,其结 构由作为主处理器的6 4 位p o w e r 4 4 0 标量处理器和8 个协处理器单元s p e 组成。 s p e 协处理器单元相当于一个简单的c p u 核加上s d 订d 指令集扩展,用于密集型 计算。c e l l 处理器以高于4 g 的频率工作,单精度操作峰值可达2 8 8 g f l o p s ,双 精度操作可达2 6 3 g f l o p s 。c e l l 处理器被用于p l a ys t a t i o n 3 。 s t a n f o r d 大学开发的i m a g i n e 流处理器【l 】专门面向流应用而开发,以向量技术 与超长指令字为基础,充分挖掘流应用中的各种并行性:计算核心内部开发指令 级并行,流数据级开发数据级并行,不同的计算核心之间开发任务级并行;同时, i m a g i n e 体系结构又能充分挖掘各种局域性:计算核心内部的局域性与计算核心之 间的生产者消费者局域性。在i m a g i n e 的基础上,流超级巨型机m e r r i m a c 【4 】正在 研制中,预计2 0 0 7 年将研制成功。m e r r i m a c 单结点峰值性能将达到1 2 8 g f l o p , 1 6 个结点构成一个结点板,3 2 个结点板构成机柜,而最终整个系统由3 2 个机柜 组成,整个系统的峰值性能将达2 p f l o p s 。 i m a g i n e 对流应用有较强的针对性,从编程模型到硬件设计能很好地符合流应 用的程序特征;同时保持了很强的可编程性;并且使用了较成熟的技术。因此, 我们确定以i m a g i n e 为主要研究目标。 1 2 2 缓解存储瓶颈的几种主要手段 在过去几十年对计算机系统的开发中,处理器与存储器的设计采用不同工艺: 处理器的制造工艺总是提供快速晶体管以产生快速的逻辑;而d r a m 的制作工艺 总是以获得高储密度为目的。这种制造方法产生了快速的处理器和廉价的高密度 存储器。工艺的不同导致处理器每年速度提高6 0 ,而存储器的速度每年只提高 7 ,如图1 2 所示。根据a m d a h l 定律,当两者之间的差距达到某一程度,处理器 第4 页 国防科学技术大学研究生院工学硕士学位论文 速度的增长对系统性能的提高将会被慢速的d r a m 所屏蔽。这便是“存储墙”问 题f 3 】o 如何有效缓解“存储墙”问题便成为当前体系结构设计所面临的一个重要问 题。不同体系结构采用不同技术来缓解存储瓶颈。 图1 2“存储墙”问题( 以1 9 8 0 年的性能为基准值) 1 2 2 1p i m 技术 v i r a m 使用p i m ( p r o c e s s o r - i n - m e m o r y ) d 7 i 技术把处理器与d r a m 存储器 紧密耦合到一个芯片中,使得处理器可以直接针对行缓冲器中的数据进行操作。 图1 3 给出了一个典型的p i m 结构。 列地址 i 处理器 l i ( 宽字向量单元) l 图1 3 典型p i m 结构 d r a m 的带宽受限于芯片引脚个数,但p i m 技术从根本上克服了引脚限制, 从而大大提高了存储器带宽( 约是原存储器带宽的l o 到1 0 0 倍) ;同时,由于处 理器和d r a m 位于同块芯片中,无须再将数据经过存储总线搬至片外的处理器, 处理器的访存延迟则主要由实际的d r a m 延迟和存储控制器延迟组成,降低到原 访存延迟的1 4 。另外,p i m 技术还具有降低芯片功耗、减少硅片面积、降低成品 费用等优点。 第5 页 ooc郴uj-12je工 国防科学技术大学研究生院工学硕士学位论文 1 2 2 2n u c a 技术 t r i p s 的存储访问采用了n u c a ( n o n - u n i f o r mc a c h ea r c h i t e c t u r e ) 机制,其 结构见图1 4 。由于片内存储所占面积越来越大,c a c h e 内部走线延迟决定了访存 时间,若采用经典c a c h e 结构,则访存时间等于离处理器最远的存储块的访问延 时。n u c a 暴露存储块之间的线延迟,数据在存储器中的位置决定数据的访存延 迟,即不同位置的数据块访存时间是不一样的( n o n u n i f o r m ) 。通过将经常使用 的数据动态调度到离处理器最近的存储块,从而减少访问时间。同时,n u c a 技 术减少了数据副本的数量。 图1 4n u c a 结构 1 2 2 3 软件控制片内存储 i m a g i n e 让片内存储可见于软件或程序员,让程序员以“流”的方式显式组织 访存,因此能有效利用片内存储,捕获局部性。i m a g i n e 的存储访问机制将是本文 研究的重点。 1 3 课题的主要工作 本文着重研究流体系结构存储访问机制。 本文将从以下三个方面进行研究: 1 ) 编程模型:计算与访存解耦合首先最直观地体现在编程模型上,两级流编 程模型在应用程序级便暴露了各种并行性与局部性。 2 ) 硬件结构:存储层次的设计是存储访问机制的核心问题。 3 ) 编译优化:编译要负责把数据流、指令流映射为体系结构中的存储实体。 存储资源分配算法的好坏将直接影响到存储性能。 本文仅对单片流处理器存储访问机制进行研究,不涉及多片互联 本文的主要贡献为: 1 ) 从编程模型、硬件结构、编译优化等方面较系统地研究了流体系结构的存 第6 页 国防科学技术大学研究生院工学硕士学位论文 储访问机制; 2 ) 改进了流存储系统,既开发了通道之间的并行,也兼顾了负载平衡; 3 ) 在流体系结构上增加并实现了“链接”机制,使应用程序获得一定加速。 1 4 文章内容安排 第一章是绪论部分,在概述应用需求、v l s i 工艺发展现状之后,提出了流处 理的思想,并简要介绍相关体系结构及其存储访问机制,最后明确本文研究目标。 第二章以i m a g i n e 流处理器为例,简要介绍了流体系结构的硬件结构、编程模 型、指令集及编译架构。 第三章通过与传统微处理器的比较,从编程模型、存储层次、编译优化等角 度详细讨论流体系结构存储访问机制的优点。 第四章讨论了基于数据级并行的流存储系统的设计及改进。 第五章介绍“链接”机制在流体系结构上的实现及应用。 第六章是结束语,总结整个课题的研究工作,并对未来工作进行展望。 第7 页 国防科学技术大学研究生院工学硕士学位论文 第二章i m a g i n e 流体系结构 斯坦福大学开发的i m a g i n e 原型体系结构是流体系结构中的典型代表,于 2 0 0 2 年4 月投片成功。i m a g e 在编程模型、编译架构、指令集、硬件结构上皆采 用核心级流级两级模式,其中核心级负责运算,流级负责访存。本章将基于两级 模型对i m a g i n e 系统作概要介绍。 2 1 i m a g i n e 流处理器 i m a g i n e 结构如图2 1 所示,其采用0 1 8 微米的c m o s 工艺,单片集成2 1 0 0 万 个晶体管,频率达5 0 0 m h z ,性能功耗比可以超过5 g o p s w 。 图2 1i m a g i n e 沉处理器 根据计算与访存解耦合的思想,i m a g i n e 流处理器分为核心级功能部件与流级 功能部件。其中,核心级功能部件包括微控制器、8 个运算簇等,而流级功能部件 主要由主机接口、流控制器、流存储系统、流寄存器文件s r f 、网络接口组成。 i m a g i n e 以协处理器方式工作,主处理器发送流指令给流处理器,流指令缓存在流 控制器的指令队列中并伺机执行。流指令类似于向量指令,可以控制流存储系统 进行批量数据也就是流的访存;也可以控制核心级硬件对数据流进行批量处理。 通过执行流指令,流控制器会将计算核心的微代码以流的方式从d r a m 经由流寄 存器文件s r f 加载至微控制器,也将该核心所需的输入流加载至s r f ,然后启动 微控制器执行计算核心。微控制器发射超长指令字,控制g 个运算簇从s r f 取数, 第8 页 国防科学技术大学研究生院工学硕士学位论文 以s i m d 方式经过一系列计算后将结果输出至s r f 。 2 1 1 核心级功能部件 2 111 运算簇( a r i t h m e t i ec l u s t e r ) 运算簇主要用来执行核心密集计算。i m a g i n e 含有8 个运算簇,在微控制器发 射的超长指令字控制下,以s i m d 模式并行执行,运算簇结构如图2 2 所示。每个 运算簇有3 个加法器,2 个乘法器,1 个除法开平方单元,1 个大小为2 5 6 字的用 于保存小数组或查找表的便签寄存器,1 个用于运算簇之间通讯的通信单元,1 个 用于执行条件流【3 l 】的j b n a l 单元。 t o f r o m o t h e r c l u s t e r s l o p o r t s f r o s r n 图2 2 单个运算簇内部结构 加法器,乘法器,便签寄存器,通信单元都是全流水的,每个周期可发射一 个新操作。除法开平方单元有2 个s r t 核,可同时执行一个除法和一个开平方操 作。i m a g i n e4 8 个算术运算单元在5 0 0 m h z 下可提供超过1 6 g f l o p s 的单精度浮点 或2 5 g o p s 整数运算的峰值运算能力。 为了解决部分控制相关问题,i m a g i n e 采用了条件流【3 1 l 机制,主要由j b n a l 单元执行。条件流就是在输入流数据之前或输出流数据之后,依条件值的不同对 流记录进行重组或剔选。条件流实际上是将控制相关转变成了数据路由。条件流 机制大大增强了像i m a g i n e 这样基于数据级并行体系结构的应用范围。 不同于传统的集中式寄存器文件结构,i m a g i n e 运算簇本地寄存器文件l r f 采用分布式结构 2 7 1 。分布式寄存器文件结构大幅降低了寄存器文件的面积、延迟 和功率。l r f 的组织将在3 3 2 中阐述。 2 1 1 2 微控制器( m i e r o c o n t r o l l e r ) 核心指令以5 7 6 位的超长指令字( v l l w ) 形式打包存储在微控制器的微代码 存储器( m i c r o c o d es t o r e ) 中。微控制器主要执行循环控制指令来实现核心程序循 环功能;而通过广播超长指令字到8 个运算簇,控制8 个运算簇以s i m d 方式执 行来实现运算指令及其他类型的指令。 2 1 2 流级功能部件 2 1 2 1 流寄存器文件( s t r e a mr e g i s t e rf i l e :s r f ) 第9 页 国防科学技术大学研究生院工学硕士学位论文 s r f 是i m a g i n e 中最重要的存储结构。s r f 采用单端口1 0 2 4 x 1 0 2 4 b 的s r a m , 大小为1 2 8 k b ,分为8 个体( b a n k ) 。s r f 中数据以流的方式存放,流中相邻记 录在s r f 中的存放是连续的。流通过流描述符( s t r e a m d e s c r i p t o r ) 来引用,流描 述符描述流在s r f 中的基地址、流长度等信息。流描述符保存在流描述符寄存器 文件s d r f ( s t r e a md e s c r i p t o rr e g i s t e rf i l e ) 中,s r f 共有3 2 个流描述符寄存器 s d r 。 s r f 通过对一个物理端口的分时使用来支持2 2 个流客户( s t r e a mc l i e n t ) 的 并行访问。流客户包括运算簇、流存储系统、主机接口,网络接口、微控制器等。 如图2 3 所示,每个流客户通过6 4 字的流缓冲( s t r e a mb u f f e r ) 与s r f 相连。流 缓冲实际上是将单物理端口的s r f 时分为2 2 个可同时访问的逻辑端口 c l i e n t o 的i o 控涮单元c l i e a t 2 1 的i o 控制单元 t o ,f r 皤c n 舶t o 的披据线t o f r o lc u e n t 2 1 的敦据线 图2 3s r f 与2 2 个流缓冲 与s r f 相连的流客户共有2 2 个,这2 2 个流客户的属性如表2 1 。 表2 1 流客户属性 序号 流客户 数据传输方向数据传输率 0 7 运算簇读写8 w c y c l e 8 微控制器 读 1 w c y c l e 9 标量处理器接口读,写1 w c y c l e 1 0 n l l流存储系统( 索引)读 1 w c y c l e 1 2 1 3流存储系统( 数据)读,写i w c y c l e 1 4 2 l网络接口读,写 4 w c y c l e s r f 以核心部件一半的频率工作,其峰值带宽为每周期1 6 字。流缓冲工作在 第1 0 页 国防科学技术大学研究生院工学硕士学位论文 核心部件相同频率下,峰值带宽为每周期8 6 字可见允许流缓冲峰值短时间超过 s r f 带宽。流应用对每次从s r f 中取得的数据往往要进行大量的操作,因此可以 把计算中间结果捕获在l r f 这个层次,从而减少对s r f 带宽的需求。 2 1 2 2 流存储系统( s t r e a m i n gm e m o r ys y s t e m ) 流存储系统实现了类似向量机的g a t h e r - s c a t t e r 功能,负责数据流在s r f 与片 外d r a m 之间的传输。由于i m a g i n e 存储访问是以流的方式而不是单个字,流存 储系统注重的是吞吐率方面的优化而不是单个访问延迟的优化。通过挖掘访存之 间的并行以及采用d r a m 访存调度策略,i m a g i n e 增加了d r m v l 有效带宽。 s 嘛m 妇亭i s f n c a d d | 茸s sg e n 舶觚 r e o r d e r ( m s c r o - 1 ) b u f f e x 5 脚l y 踟:十辛 r 叩。x h 牛年年 i 1 il r+i 畀垦引引 | d r a mli d r a m l id r a m | id r a mi 图2 4 流存储系统 如图2 4 所示,i m a g i n e 存储系统由如下部分组成:一对地址生成器( a d d r e s s g e n e r a t o r ) ,4 个地址交叉存取的存储通道( m e m o r yb a n k ) ,一对重排序缓冲 ( r e o r d e rb u f f e r ) 。 与s r f 中的s d r 类似,片外d r a m 中流的信息由存储器地址寄存器m a r ( m e m o r ya d d r e s sr e g i s t e r ) 给出。m a r 包含了寻址方式、流的基地址、流长度 及其它信息。地址生成器接受流控制器的命令,根据指定的m a r 信息按如下三种 寻址方式之一产生d r a m 访问地址流:固定步长、位取反、索引方式。 地址生成器生成的地址到达存储通道,存储通道采用访存调度策略充分挖掘 d r a m 行访问的局部性从而增加d r a m 实际带宽。访存调度机制将在4 2 3 中讨 论。 读访存操作的数据将送回至重排序缓冲。重排序缓冲实质为连接s r f 与流存 储系统的流缓冲,但由于流存储系统采用多通道结构以及访存调度机制,读访存 操作可能乱序执行,所以在流缓冲之上增加了重排序机制,使读操作的结果能按 地址生成的顺序排列。 第1 1 页 国防科学技术大学研究生院工学硕士学位论文 2 1 2 3 网络接口( n e t w o r ki n t e r f a c e ) 网络接口将s r f 与一个外部网络相连,使得多片i m a g i n e 可以按多种拓扑结 构互联成多机系统。i m a g i n e 采用源路由策略,即路由信息完全由编译决定。根据 源路由信息,数据将以虫孔方式从一片i m a g i n e 传至另一片i m a g i n e ,此外,i o 设 备也能通过网络接口与i m a g i n e 相连。 2 1 2 4 流控制器( s t r e a mc o n t r o l l e r ) 卜器雷嬲一 lm r u c t i o nln 舶s t r u 。e l i o n l 。际蕊羽 i 。 o e e o a e 懂l o g i c | l l u n ”5 “8 “ i _ j lr 图2 5 流控制器结构 流控制器结构如图2 5 所示,在功能上类似于超标量处理器的流出单元。主处 理器发送流指令给流控制器,并存储至指令队列。当指令相关性得到满足时,发 射单元发射该指令给相应功能模块执行。流控制器还有一个通用寄存器文件,称 为流控制器寄存器文件s c t r f ,能够被流级指令所访问,用来在流控制器和其它 模块之间传输标量数据。流指令的发射将在3 2 2 中详细讨论。 2 1 2 5 主机接口( h o s ti n t e r f a c e ) 主处理器与i m a g i n e 之间的所有交互都通过主机接口实现。主机接口将i m a g i n e 的接口映射到主处理器的地址空间,这样主处理器便可以通过访问这些地址空间 来实现流指令的发送、数据流的传送以及与i m a g i n e 之间标量数据的交互。 2 1 2 6 主处理器( h o s tp r o c e s s o r ) 流级程序运行在主处理器上。主处理器负责发送流指令以及传送数据流给 i m a g i n e 。流级程序通过调用r u n - t i m ed i s p a t c h e r l l 7 】【3 9 l 一运

温馨提示

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

评论

0/150

提交评论