(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf_第1页
(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf_第2页
(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf_第3页
(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf_第4页
(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机系统结构专业论文)聚芯soc高性能访存技术研究.pdf.pdf 免费下载

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

文档简介

摘要 随着半导体工艺技术的不断进步,芯片的设计规模越来越大,特别是进入深亚微 米以后,集成电路完全可以将一个完整的电子系统在单块芯片上实现,于是便出现了 片上系统( s y s t e mo nc h i p ) 。s o c 技术已经成为当今超大规模集成电路的发展趋势,也 是2 1 世纪集成电路技术的主流。虽然将多个不同功能的口核集成在同一块芯片中降 低了芯片设计的成本,缩短了设计周期,但是同时也带来很多的挑战,其中之一就是 访存性能。由于同一块芯片上需要访存的口核增多,而出于成本的考虑只能共享主 存,导致访存性能成为系统性能提高的主要瓶颈之一。本文就是以聚芯s o c 为背景, 结合m i b e n c h 中的几个与当前应用相关的测试程序的行为,提出了在聚芯s o c 中优 化访存性能的方法 本文首先分析了聚芯s o c 的高速总线的结构和该总线上各个主设备的访存行为; 然后,结合现代d r a m 存储设备的特点,提出了一种以d d rs d r a m 为存储设备的 新的内存控制器的结构。这种内存控制器结构将聚芯s o c 的高速总线读写接口分开 以独立控制,使其支持总线的读写并发操作,同时在控制器内增加操作队列来记录 对存储设备的各个操作,以支持总线的地址流水。为了提高操作响应速度、提高数据 带宽,在控制器中间设计了一个并行共享缓存区,同时根据操作队列的结构设计出一 种调度算法。 本论文对该内存控制器进行了大量的实验和测试,对实验结果的分析和对比表 明,该内存控制器较前一版本的聚芯s o c 的内存控制器访存性能有较大幅度的提高。 在只有龙芯1 号处理器的测试环境中,平均访存延时下降了6 3 1 0 ,为了发挥l b u s 的性能在总线上又增添了3 个虚拟设备,在新的测试环境中,平均访存延时下降了 8 8 3 1 ,平均带宽提高1 4 8 6 。此外还测试了该内存控制器在不同访存量、读,写阈 值、缓存区容量以及写操作队列深度下的性能对比,为平衡平均读延时、带宽以及设 计成本提供参考的依据。 关键词:聚芯片上系统;片上总线;存储控制系统;缓存区;动态调度 p e r f o r m a n c eo p t i m i z a t i o no fm e m o r yc o n t r o ls y s t e mi nj u x i ns o c p a n j i e ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db yz h a n gz h i m i n w i t ht h es e m i c o n d u c t o rp r o c e s st e c h n o l o g ye v o l v i n g , t h es c a l eo fc h i p d e s i g n b e c o m e s l a r g e ra n dl a r g e r e s p e c i a l l ya f t e rt h ee m e r g e n c e o ft h ed e e ps u b m i c r o n , t h ew h o l e e l e c t r o n i cs y s t e m 伽b ei n t e g r a t e do nas i n g l ec h i pc a l l e ds o c ( s y s t e mo nc h i p ) s o c t e c h n o l o g yh a sb e c o m et h ed e v e l o p m e n tt r e n do fv l s id e s i g n , w h i c hi st h em a i n s t r e a mi n t h e2 1 s tc e n t u r y a l t h o u g hs o cc a nr e d u c et h ed e s i g nc o s ta n ds h o r t e nt h ed e s i g nc y c l e ,t h e t e c h n o l o g yi n t e g r a t i n gal o to f 口c o r e , sw i t hv a r i o u sf u n c t i o n si n t oas i n g l ec h i pi sa l s o c o n f r o n t e dw i t hg r e a tc h a l l e n g e si ni cd e s i g n , o n eo fw h i c hi sm e m o r ya o c c s sp e r f o r m a n c e w i t ht h ei n c r e a s i n gn u m b e ro f 职c o r e si n t e g r a t e do nt h es a m es i n g l ec h i p , w eh a v et o c h o o s es h a r e dm e m o r yt or e d u c et h ec o s t t h e nt h ep e r f o r m a n c eo ft h em e m o r ya c p , e s s b e d ) m e 8o n eo ft h em a j o rb o t t l e n e c k so ft h ep e r f o r m a n c ei m p r o v e m e n tf o rt h es o ct h i s p a p e rw i l lp r e s e n ts e v e r a la p p r o a c h e st oi m p r o v et h ep e r f o r m a n c e o fj u x i ns o c sm e m o r y a o c e s sb a s e do nt h eb e h a v i o ro fs e v e r a lt e s t i n gp r o g r a m so fm i b e n c hr e l a t e dt oc u r r e n t a p p l i c a t i o n s f i r s t , t h i sd i s s e r t a t i o na n a l y z e st h ea r c h i t e c t u r eo ft h eh i g h s p e e do n - c h i p - b u so fj u x i n s o ca n dt h em e m o r yb e h a v i o ro ft h em a s t e r so nt h eb u s a n dt h e ni tp r e s e n t san o v e l m e m o r yc o n t r o l l i n ga r c h i t e c t u r ew i t hd d rs d r a ma c c o r d i n gt ot h ec h a r a c t e r i s t i c so ft h e m o d e r nd r a m s t o r a g ed e v i c e s t h i sn e wa r c h i t e c t u r es e p a r a t e sr e a da n d w r i t ei n t e r f a c e s o ft h eh i g h - s p e e db u si nj u x i ns o cf r o me a c ho t h e ri no r d e rt os u p p o r to v e r l a p p i n go fr e a d a n dw r i t et r a n s f e r s m e a n w h i l e ,i tb r i n g si nab u i l t i no p e r a t i o nq u e u et or e c o r dt h ed d r s d r a mo p e r a t i o n si no r d e rt os u p p o r ta d d r e s sp i p e l i n i n go ft h eb u s f u r t h e r m o r e ,w e i n t r o d u c ea p a r a l l e ls h a r e dm e m o r yb u f f e r t oi n c r e a s et h eo p e r a t i o nr e s p o n s es p e e da n dt h e d a t at h r o u g h p u t a tt h es a m et i m e , w ed e s i g nas c h e d u l i n ga l g o r i t h ma c c o r d i n gt ot h e a r c h i t e c t u r eo ft h eo p e r a t i o nq u e u e a c c o r d i n gt ot h ee x p e r i m e n t a lr e s u l t so nt h e n e wm e m o r yc o n t r o ls y s t e m ,t h e p e r f o r m a n c eo fi t i sm u c hh i g h e rt h a nt h a to ft h eo l do n e f u r t h e r m o r e ,t h en e wo u e r e d u c e st h ea v e r a g el a t e n c yo ft h em e m o r ya c c e s sb y6 3 1 0 w i t ho n l yo n eg o d s o n - 1 p r o c e s s o r t oe x e r tt h eh i g hp e r f o r m a n c eo ft h el + b u s ,w ea d dt h r e em o r ev i r t u a lm a s t e r s t ot h el b u s i nt h ee x p e r i m e n tw i t ht h en e ws y s t e m , i tr e d u c e st h el a t e n c yo ft h em e m o r y a o f f e s sb y8 8 3 1 a n de x p a n d st h eb a n d w i d t hb y1 4 8 6 i na v e r a g e i no r d e rt ot r a d e - o f f s b e t w e e nl a t e n c y , b a n d w i d t ha n dc o s t , an u m b e ro fe x p e r i m e n t sa r cc o n d u c t e du n d e rv a r i o u s c i r c u m s t a n c e s , s u c ha sd i f f e r e n ta m o u n to fa c c e s s , t h r e s h o l d so fr e a d sa n dw r i t e s a n ds i z e s o fb u f f e r sa n d q u e u e s ! 箜堕堡丝丝堡垒垫查竺! ! 壅二! ! ! ! = 苎! ! k e y w o r d s :j u x i ns o c , o n - c h i p - b u s , m e m o r yc o n t r o ls y s t e m ,b u f f e r , m e m o r ya c c e s s s c h e d u l i n g m i:,hp!;k ,fil 图1 1s o c 架构示意图 图目录 图1 2 片上总线交易的地址周期和数据周期 图1 3 多个主设备访问主存设备 图2 1d r a m 功能结构框图 图2 2d r a m c e l l 原理图 图2 3d r a m 体结构示意 图2 4 图2 5 d r a m 发展历程 s d r a m 逻辑结构 图2 6d d r 结构图 1 2 1 2 图2 7 多通道共享主存系统的结构1 5 图2 8 i m p u l s em e m o r yc o n t r o l l e r 原理图 图2 9s m c 结构框图 图3 1 聚芯s o c 逻辑结构图 图3 2 系统启动时处理器访问各种从设备的比例 图3 3l b u s 流水方式背靠背读写 图4 1l b u s 内存控制器结构图 图4 2d d rs d r a m 和s d rs d r a m 的时序差别 图4 3d d rs d r a m 控制器逻辑框图 图4 4c l o s e - p a g e 和o p e np a g e 的比较 图4 5 一个缓冲行的逻辑结构 图4 6 并行共享缓存控制结构 2 1 图4 7l 。b u sp r i m a r y 读操作状态转换图 图4 8 读操作队列中个操作项 孔 砣 弘 弘 鲳 中国科学院硕士学位论文一s o c 访存悍能提高技术的研究 图4 9 图4 1 0 图4 1 1 图4 1 2 图4 1 3 图4 1 4 图4 1 5 图4 1 6 图4 1 7 图4 1 8 图5 1 图5 2 图5 3 图5 4 图5 5 图5 6 图5 7 图5 8 图5 9 图5 1 0 图5 1 1 图5 1 2 图5 1 3 图5 1 4 图5 1 5 写操作队列中一个操作项4 0 存储矩阵结构 现代d r a m 的结构 d d r s d r a m 体交错操作4 2 d d r s d r a m 写操作流水 访存次序的调度对访存性能的优化 b a n k 管理器中状态转换图 b a n k 管理器的工作原理 4 6 4 6 d d rs d r a m 芯片控制中读状态机转换图4 8 调度器的结构图 聚芯s o c 中程序地址划分区间 读延时性能对比 加入虚拟设备后的p r i m a r y 读操作的拒绝率5 7 加入虚拟设备后的读延时5 8 加入虚拟设备后平均延时比较5 9 写拒绝率5 9 带宽对比 读延时随访存设备增加的变化趋势6 l p r i m a r y 写操作拒绝率随访存设备增加变化趋势6 2 实际带宽随随访存设备增加变化趋势6 2 平均读延时随读写阈值变化的规律6 3 平均带宽随写读阈值变化规律 读延时随共享缓存区变化趋势6 5 带宽随共享缓存区变化趋势。 平均读操作延时随写队列增加变化趋势6 6 ! 箜堕童丝墼丝塑垫查塑型壅= 望墨 图5 1 6 带宽随写队列深度增加变化趋势 i x 表目录 表3 1a u t o m o t i v ea n di n d u s t r i a lc o n t r o l 程序集2 5 表3 2n e t w o r k 程序集 表3 3s e c u d t y 程序集 表3 4c o n s u m e rd e v i c e s 程序集 表3 5o f f i c ea u t o m a t i o n 程序集 2 6 2 6 表3 6t e l e c o m m u n i c a t i o n 程序集” 表4 1b u r s t 交易地址变化顺序 表5 1s d r a m 配置参数 表5 2d d r s d r a m 参数配置 表5 3 总线上只有龙芯1 号处理器访存时的读操作拒绝率。 表5 4 虚拟设备表 3 1 5 4 5 4 5 6 5 6 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:锈击 日期:2 彤衍 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 储虢融导师繇汛嗍j 似 第一章引言 自从1 9 5 8 年美国德克萨斯仪器公司发明集成电路( i c ) 后,随着硅平面技术的发 展,二十世纪六十年代先后发明了双极型和m o s 型两种重要的集成电路,它标志着由 电子管和晶体管制造电子整机的时代发生了量和质的变革。近几十年来,在“摩尔定德” 预言的指导下集成电路技术经历了从小规模集成电路到特大规模集成电路的几次飞跃 发展目前,s o c 作为系统级集成电路,能在单一硅芯片上实现信号采集、转换、存储、 处理和i ,o 等功能,将数字电路、存储器、m p u 、m c u 、d s p 等集成在一块芯片上实 现一个完整系统的功能。它的制造主要涉及深亚微米技术、特殊电路的工艺兼容技术、 设计方法的研究、嵌入式m 核设计技术、测试策略和可测性技术、软硬件协同设计技 术和安全保密技术s o c 以i i i 复用为基础,把已有优化的子系统甚至系统级模块纳入 到新的系统设计之中,实现了集成电路设计能力的又一次飞跃。 随着工艺的进步,s o c 中各个部件的工作频率和片上集成的部件的不断增加,使得 片上系统的功能和性能不断得到提高同时也导致了单位时间内内存访问频率不断增 加然而,工艺的进步并没有使内存设备的工作效率得到足够的提高系统访存效率已 经成为片上系统性能提高的瓶颈。因此在s o c 设计中优化内存控制器的性能对提高整 个s o c 的系统性能非常关键。 1 1 提高s o c 访存性能的必要性 目前的系统中,通常用d r a m ( d y n a m i cr a n d o m a c c e s sm e m o r y ) 构成内存设备。 但是可以构成内存设备的存储介质并不只d r a m 一种,如s r a m ( s t a t i cr a n d o m a c c e s s m e m o r y ) 、f r a m ( f e r r o e l e c t r i cm e m o r y ) 、f l a s h 等存储介质也可以用作处理数据的存 储器。c r a y 在其大型机中使用过s r a m 作为内存以提高速度,但是如果也将s r a m 作 为s o c 的存储体,虽然能够提高速度,但是价格将是相当难以令人承受的。而f r a m 、 f l a s h 作为存储体虽然可以在掉电之后能够保护数据,不过其速度比d r a m 设备差很多, 因此从综合角度去考虑,d r a m 成为嵌入式系统作为构建内存系统的首选。 近年来,由于先进的工艺技术,电路设计和体系结构使得处理单元的速度接近几何 级数增长,同时片上集成的处理单元也不断增加,执行的并行度不断增加,使得单位时 间片上s o c 系统中的访存频度在不断增加,导致片上各个部件对访存效率的要求也越 来越高。虽然d r a m 的工作效率也在不断的提高,但数据处理单元和d r a m 设备一直 以来都是独立发展,数据处理单元追求的是高速处理速度,而d i 认m 设备一直以增加 容量为目标,就目前的发展趋势上看,数据处理单元对内存处理效率需求的增加与 d r a m 的工作效率的提高是不成比例的,主要是两个方面造成了它们之间的速度“鸿 沟”:首先,在体系结构上,由于流水线的引入,使得数据处理单元对数据处理在时间 l 中国科学院硕士学位论文一s o c 访存性能提高技术的研究 与空间上叠加起来,因此提高了处理速度,而对于d r a m 设备,启动一次操作,必须 等待外访存地址的延时、行列地址复用的延时、双向数据总线转换方向的延时:其次, 在生产工艺上,数据处理单元生产线主要提供快速的晶体管逻辑以及多个金属层加快通 信速度以及简化热量的扩散,而d r a m 生产线提供多个晶体层,实现更小的d r a m 单 元以及较小的漏电流以减少d r a m 刷新次数,因此导致数据处理单元的速度和d r a m 的容量都按接近几何级数速度增长。正是有这两方面的原因,导致虽然d r 址i 的工作 速度在不断提高,但是远远跟不上数据处理单元的需求,致使d r a m 性能的增长速度 严重滞后,成为系统性能的主要瓶颈之一。因此,如何提高存储系统性能仍然是计算机 体系结构研究的热点。 1 2s o c 互联架构 s o c ( s y s t e mo nc h i p ) ,照字面的意思理解就是把系统集成到芯片上,这里给出一 个定义,那就是将一些模块以及子系统的集合通过片上互联总线连接起来达到特定功能 的一个系统。目前一般常见的s o c 架构,以处理器为中心,加上片上总线( 如图1 1 中 的o c b ( o nc h i pb u s ) ) 、存储体、控制模块、对外接口模块等,配合嵌入式软件和实 时操作系统( r t o s ) 等一起运作。虽然看起来和传统处理机系统好像差不多,不过当 系统整合在单一芯片中,有很多地方的考量就会不太一样,如在芯片中互联各个模块的 片上总线,其连接的模块以及总线本身都在同一块芯片中,而一般的片外总线连接就不 是如此。将系统单一芯片化成为一项趋势,也确实有好处存在,如成本降低、体积减小 等。但是同时带来设计的复杂性,由于设计时要考虑多个模块通过总线集成到一块芯片 中,则总线设计要考虑各模块接口的兼容和日后的扩展,因此总线是系统的骨架,对系 统性能发挥起很大制约作用【z h a n 9 0 5 。 m e m o r yr f m i x e d f ,i c h 姆1 0 f d s p o r s i g n a l e m b e d d e d s l e o i a i f u n o t i o n ;a t 、 ,a r 拳 u n i l ,r a ( ; r t o s o c l j r o b j “,o t u r 尊 i n t o f f h o 掌 c o n f i g u t a b l eh a r d w a r ep e t i p h o r a l a 图1 1s o c 架构示意图 片上总线用来连接系统中各模块以实现各模块之间数据的传送 l e r o y 0 6 。s o c 中的 总线提供了一个定义每个互连模块接口( 输入输出控制等信号) 的方法,以便能把片内所 2 第一章引言 有模块有机地互连到一起。 片上总线的一个普通交易包括一个地址周期和一个数据周期。如图1 2 所示,片上 总线的一个交易起始于一个地址周期,一个地址周期开始于对总线的请求阶段( r e q u e s t p h a s e ) ,这个阶段主设备提出向从设备目标地址进行读写操作的请求,如果该请求得到 应答,也就是该主设备得到了总线的使用权;接着是地址的传送阶段( t r a n s f e rp h a s e ) , 在这个阶段里,目标地址被传送到从设备的总线接口;最后一个是地址应答阶段 ( a d d r e s s - a c k n o w l e d g ep h a s e ) ,在这个阶段里从设备对主设备发出应答信号,标示地址、 读写、数据宽度等操作属性的信号已被有效锁存,该信号也标志地址周期的结束数 据周期开始于一个数据传送阶段( t r a n s f e rp h a s e ) ,在这个传输阶段里,如果是写操作, 数据从主设备写到从设备的目标地址中;如果是读操作,从设备目标地址中的数据传到 主设备中,然后不论是读操作还是写操作,从设备完成该操作后都给一个数据传送应答 信号,这就是数据应答阶段( d a t a - a c k n o w l e d g ep h a s e ) ,也标示了结束数据周期。经过上 述的地址周期和数据周期,一个普通的片上总线交易就算完成了。 由于主设备所处的状态是不断变化的,所以在不同的情况下,一个主设备对总线的 请求类型、目标地址、数据宽度、读写方式都有所不同,这样每次总线交易的类型也 会不同。b 翻蛐 图1 2 片上总线交易的地址周期和数据周期 1 3存储控制结构对s o c 系统性能的影响 s o c 系统继承了计算机的结构,即冯诺依曼结构,该结构的特点是存储程序、芯 片处理的数据和指令均用二进制码以等同地位存放于存储器内,并可按地址寻址现代 计算机从性能和成本两方面考虑选择了d r a m 设备作为其存储介质,s o c 系统同样也 将d r a m 设备作为自己的存储介质。但是对于计算机系统而言,其内存控制器性能优 化主要面向处理器,而对于s o c 系统则必须兼顾芯片上所有访存的主设备。 虽然现代d r a m 设备的速度和容量已经有很大提升,但是还是远远满足不了芯片 上各个主设备的需求,而且在实际系统中,没有一个内存控制器能让内存完全工作在其 峰值速率下。例如,从内存的写入命令转换到读取命令、防止数据丢失的刷新操作都要 求数据总线在一定时间内保持高阻状态,这期间是不能充分利用内存信道的。此外由于 数据总线在使用过程中的有效宽度和内存的数据总线的宽度不一致,经常导致不必要的 大数据量的存储,严重浪费了带宽,对于这种情况,需要内存控制器进行适当转换,使 3 中国科学院硕士学位论文一s o c 访存件能提搿技术的研究 它们保持一致,这样可以很明显提高带宽的利用率。 d r a m 设备必须满足一定的延时,其中数据总线转换、行激活到命令发出延时、 读数据延时构成了系统中大部分延迟。现在考虑两种访存的极端处理情况:第一种情况, 内存控制器发出的每个访存操作命中b a n k 都存在行冲突,控制器必须关闭冲突行,然 后才能打开命中行,这样增加了与行循环相关的最大延迟;第二种情况就是每次访存操 作命中的行都是激活行,则可直接进行访问,极大降低了访存延时。一般而言在s o c 系统,这两种情况都会遇到,内存控制器如果能降低访问操作中访问冲突的概率,提高 访问命中激活行的概率,无疑可以极大地提高访问性能。 对于一个内存控制器的设计应该考虑如何合理利用现有成熟和稳定的内存设备结 构,提高带宽的利用率,降低访问延时,如比较成功的例子就是a m d 的a t h l o n6 4 , 它将内存控制器集成到处理器内部,而不是像传统实现中一样将内存控制设计到北桥芯 片中,这样设计可以极大降低从处理器到内存的延迟。 由上述可知,内存设备的性能发挥主要依靠于内存控制器的设计,因此通过优化内 存控制器的性能来提高系统的访存性能是相当实际的。 1 as o c 中访存延时的构成 在s o c 系统主存通过共享总线与多个主设备通信,各个主设备对总线和主存的占 用存在着竞争,它们串行的进行请求,例如,处理器、p c i 、d m a 以及“如等设备 都可以作为主设备来发起读写操作,而主存系统只能作为从设备,接收来自不同主设 备的读,写请求,完成相应的操作。由于s o c 芯片一般采用总线结构,提高了系统的可 扩展性,通常有几个到十几个主设备,它们都有可能存在访存的需求,而访存的请求是 随机的,因而存在着竞争,如图1 3 所示。这种竞争一般可以通过片上总线的仲裁来实 现。 圈1 3 多个主 殳备访问主存设备 主存系统的读写响应延时分别定义为,读响应延时为主设备发出总线请求一直到 接收到第一个数据为止之间的时间间隔;写响应延时则比较简单,为主设备发出写请求 到主存通道发出响应之间的时间间隔。 在s o c 中,任意一个主设备的访问的延迟( t ) ,可以分为以下几个部分组成:主 设备的请求开销( 1 k ) ,从发出请求到仲裁器可以有效利用;仲裁请求的开销( 1 k ) , 从该请求能被仲裁器仲裁,到主存控制器响应该请求的延时;主存控制器处理请求的开 销,对于读操作,是指请求被响应后,到数据返回总线的延时( 1 b ) ,对于写操作只指 4 第一章引言 从发出数据到主存控制器因接收数据而等待的延时( h 限) ;在读操作过程中,还存在 主存控制器送出的数据通过总线返回主设备所需的延时( 1 h ) 。 因此,一次读操作延时可以表示为: 了:易z z q + 乃曲+ z 肋+ 互让( 1 1 ) 一次写操作的延时可以表示为: 磕。+ + ( 1 2 ) 其中t i 小包含两个部分,仲裁等待的时间和因从设备拒绝接收而重新仲裁等待的时 间 跏o + 1 ) + n + ( 1 3 ) 其中公式中的t a _ r r 表示一次仲裁所需要的时间,而l 妯表示主存控制器因为自身 原因拒绝响应该次请求,丽导致的延时。 在这些延时构成中间,有些延时是系统固有的不可弥补的,如1 聃和1 h 这些有总 线架构和实现决定,单纯依靠主存控制优化不可能降低。而包含主存控制器响应请 求和拒绝请求的延时,t v d 和t w a 包含主存控制器对读,写数据的响应都和主存控制器相& 关,因此通过优化主存控制器的结构可以达到降低这些延时的目的。 1 5s o c 的主存系统带宽 s o c 的系统带宽同样也是衡量主存系统的重要性能指标。带宽这个词在电子学领域 里很常用,它指一个信号的绝大部分能量所集中的频率范围的宽度,但是在数字传输方 面,也常用带宽来衡量传输数据的能力,即单位时间内通过系统总线传输的有效数据的 数量,也称为吞吐率( t h r o u g h p u t ) 。用它来表示单位时间内传输数据量的大小,表示吞吐 数据的能力,它是数据处理单元和内存控制器之间的桥梁。对系统带宽理论值,在系统 确定用何种内存设备和确定其工作频率时就已经确定了,但是在真实系统中不可能达到 这个峰值它与总线的交互协议和主存控制器的管理策略有关。因此为了提高主存的带 宽,必须提高总线的利用率和内存的利用率。 1 6 本文的组织 本文通过对s o c 应用的分析,介绍了一款新的内存控制器设计方案,该方案可比 前一版的内存控制器极大的提高了内存的系统带宽,同时降低了系统延时,并将其在仿 真环境中进行了初步验证,同时对结果做出了分析 第一章,论述了内存控制器的重要性和优化的必要性,提出了内存控制性能优化的 量化指标 第二章,介绍现代内存结构的发展和内存访问优化技术的研究现状,并为聚芯s o c 5 中国科学院硕士学位论文一s o c 访存性能提高技术的研究 的访存优化指明方向。 第三章,介绍聚芯s o c 的体系结构,并介绍性能分析用的仿真环境和程序测试集。 第四章,给出了一个初步优化的,带有一个大型共享缓存和动态调度机制的内存控 制器结构,并给出各部分的实现方案。 第五章,将前面设计的内存控制器整合到仿真环境中,用程序测试集测试,并与旧 版内存控制器进行对比,分析新版内存控制器中各个参数对系统访存性能的影响。 第六章,对整篇论文进行了总结,并进一步论述了今后的研究方向。 6 , 第二章主存控制器优化技术 访存代价已经成为提高系统性能的主要障碍之一,在s o c 系统中,其内部的功能 模块极为丰富,但是在这些丰富的模块背后却是极其有限的管脚资源,所有的功能设备 只能共享主存设备,是否能满足s o c 中每个主设备的需求,决定了s o c 的性能。因此 主存控制器性能直接影响s o c 系统性能,它更加迫切地需要提高主存系统的性能,以 满足s o c 中所有功能和应用的需求,这也逐渐成为s o c 主存控制器设计的主要障碍之 一 在传统的计算机体系结构中,由于工艺和结构的差异,使得内存频率的提高速度远 远低于处理器频率提高的速度,因此访问主存延迟一个周期,处理器内部会等待几十个, 甚至上百个周期 w u l 9 3 ,在这方面s o c 共享存储系统面临的问题与普通的计算机系统 是一样的,但是s o c 系统毕竟有其结构和应用的特殊性,其主存控制器系统的研究内 容和方法,与传统的主存控制器研究有所不同。提高主存控制器的性能,一般从两个方 面入手,降低延时和提高带宽,因此s o c 系统也不会例外。本章从d r a m 的发展过程, 当今的存储介质,总结传统内存控制研究方法等几个方面对国内外的研究和发展,并为 s o c 系统的主存控制器设计提供借鉴和启发。 2 1d r a m 内存架构 集成电路时代的到来也引发了内存技术的革命。1 9 6 7 年,r d c n n a r d 发明一种可作 为内存的逻辑电路技术;d r a m ( 动态随机存取内存) 。d r a m 的基本结构就是一个电 容器和一个场效应管( m o s h 强) 的组合,电容器用于存储电荷,电荷的状态就被作为 二进制数的判定依据。如果电容器被充满电、保持一定量的电荷,那么这种状态就被定 义为逻辑1 ,如果电容器中没有电荷,那么它表示的就是逻辑“o ,而场效应管就作为 开关来决定电子是否应该进入到该电容器中,该基本存储单元也被称为一个“c e l l ”。 d r a m 发明后获得迅速发展,集成电路技术的来i 临让d r a m 芯片制造简单、低成本且 具有很高的存储密度,可谓是作为计算机内存的理想选择。1 9 7 0 年,i n t e l 公司生产了 第一颗d r a m 芯片。著名的摩尔定律也适用于它:每隔1 8 个月,d r a m 芯片的存储 提高一倍,价格则下降一半。 2 1 1d r a m 的结构 图2 1 表示的是d r a m 存储体的功能结构框图,从这里可以看出,地址需要分解 成行列地址送入,由行列地址共同选定一个数据存储单元,当前处理行所在的数据需要 存放在一个缓冲放大器中 7 中国科学院硕士学位论文一s o c 访存件能提高技术的研究 邝:a s c a s d l n w e 图2 1d r a m 功能结构框图 d r a m 存储体由存储单元的矩阵构成( 见图2 1 中c e l lm a t r i x ) ,这些存储单元的 结构如图2 2 所示。d r a m 存储单元由m o s 管t ( 开关) 和电容c ( 存储单元) 组成, 电容的电位决定了存储单元的逻辑是l 还是0 。电容的电位为v c c 时,存储单元的逻 辑是1 ;电容的电位为g n d 时,存储单元的逻辑是0 。因为电容有漏电流,必须周期 性刷新以防止数据丢失,所以该电路被称为动态r a m 。 w o r dl i n o b i tl i n e s en 葺;e a d ii 们e r 堪芝 图2 2d r a m c c 缘理图 d r a m 存储单元读写操作原理如下;在读数的时候存储单元被字线( w o r dl i n e ) 和一对位线( b i tl i n e ) 激活,字线控制m o s 管t 的开关,电容存储的电荷由位线读 出或写入。电容里的电荷及位线上的寄生电容共同形成了一个新电位。在打开m o s 管 8 镕毫ii 第二章主存控制器优化技术 t 之前,位线b l 和b l * 先被预充( p r e c h a r g e ) 到同一电位1 2 v c c 。m o s 管t 打 开后,不论c 的电位是v c c 还是g n d ,混合后都将得到一个新的电位然后敏感放 大器根据b l 和b l * 这对位线上的差分电压来决定c 中存储的逻辑是1 还是o ,位线 b l 上的电平被上拉到v c c 或下拉到g n d ( b p 上的电平被下拉到g n d 或上拉到 v c c ) ,并送到输出端口然而此时存储单元电容里的电位被破坏了。从v c c 或g n d 变成了1 2 v c c + - 0 1 v 当存储单元的数据被敏感放大器截获并锁存后,位线b l 将 作为存储单元的原始状态,如果为1 则b l 将对单元的电容充电,并将其上拉到v c c ; 如果为o 则电容c 将放电,并将其下拉到g n d 。如果对单元进行写操作,将数据放到 两个位线b l 、b l * 上,当位线b l 上的电压达到v 1 0 c 或g n d 时,敏感放大器将1 或 o 写入单元中 r e n e s a s 0 3 。由于电容有漏电流的存在,数据不能长时间的保存在单元中, 需要周期性更新,这一过程称作刷新( r e f r e s h i n g ) 刷新操作与写入操作很相似,打 开字线,敏感放大器对每个单元读出后再写入 存储芯片颗粒里一般有多个地址连续的的存储矩阵,每个矩阵称为一个b a n k ,而 这些b a n k 间可以相互独立的操作,因此提高了d r a m 的访问并发性每个b a n k 里有 一个d r a m 行( r o w ) 大小的s r a mb u f f e r ,用来存放被激活的一行数据,如果地址命中, 这行的数据可以像访问s r a m 一样直接被读出,而不用再被激活。 c l xc nc st 船c “- e 图2 3d r a m 体结构示意 一个完整的i ) r a m 访问分为三个阶段:行选周期( a c t i v ec y c l e ) ,列选周期 ( c o m m a n dc y c l e ) 和预充周期( p r e c h a r g ec y c l e ) 每7 l b a n k 都有一个行缓冲区( r o w b u f f e r ) ,行缓冲区中的数据构成了一 个p a g e 。当b a n k 接收到行地址时,它进入a c t i v e 9 中国科学院硕士学位论文一s a c 访存性能提高技术的研究 周期,锁存行地址并将这一行读出放大到r o wb u f f e r 中;当b a n k 接收到列地址和命令时, 它进入c o m m a n d 周期,根据送来的命令进行相应的操作;操作完成后,d r a m 进入 p r o c h a r g e 周期,它负责将r o wb u f f e r 中的数据写回d r a m 存储体。d r a m 支持o p e np a g e 模式,如果连续访问某个b a n k 的同一行,那么可以在第一个访问结束后将p a g e 保持o p e n 状态,这样做可以省去后续访问的a e t i v e 盾j 期和p r e c h a r g e 周期。 d r a m 支持两种刷新机制:a u t o r e f r e s h 及s e l f - r e f r e s h ,采用哪种刷新机制由信号 c k e 决定。通常情况下d r a m 采用a u t o - r e f r e s h 届l j 新机制,此时c k e 为高且时钟信号c l o c k 有效。a u t o - r e f r e s h 包含一个片内的刷新计数器,其刷新时序与典型的刷新时序相似,不 需要提供外来的刷新地址。当d r a m 处于低功耗模式时( c k e 为低且时钟信号c l o c k 禁 止) ,它采用s e l f - r e f r e s h 届0 新机制,此时只需要4 m a 的电流来维持刷新操作。 2 1 3 主要d r a m 结构介绍 最初,由于生产成本的限制,d r a m 设备在封装时只有少量的f o 管脚。在后来的 生产中,为了沿袭标准化的部分,最开始的有限管脚约束成为了长期制约d r a m 体系结 构发展的障碍。随着d r a m 逐渐成为系统性能的瓶颈,一系列“新”的结构被提出来。但 是大多数这样变革性的结构都只是在接口或访问机制上的改进,对于d r a m 的结构的基 本单元基本保持不变。 传统d i t a m 在众多新的d r a m c u p p u 9 9 结构提出来以后,早期的d r a m 结构的寻址机制仍就 还在使用,基本上没有什么变化,如图2 1 所示。地址总线由行列译码单元复用。复用 的地址总线需要两个控制信号行地址选通( r a s ) 和列地址选通( c a s ) ,用来 通知行列地址译码单元锁存地址。当为行地址译码时,选中行的数据将被送到敏感放大 器中;当为列地址译码时,对于读操作,将敏感放大器中的选中数据送到输出引脚,对 于写操作则将输入引脚的数据送入敏感放大器中。 f a s tp a g em o d ed r a m ( f p md r a m ) f p m d r a m s a m s u n 9 9 8 比传统的d r a m 多提供了一个高速p a g e 结构。虽然在行激 活以后,一次只能随机访问一个数据,但是它可以连续访问同一行的数据,而无需再次 激活 n 9 9 2 1 。其实现方式,在连续访问同一

温馨提示

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

评论

0/150

提交评论