(电路与系统专业论文)soc存储系统的性能评估与优化.pdf_第1页
(电路与系统专业论文)soc存储系统的性能评估与优化.pdf_第2页
(电路与系统专业论文)soc存储系统的性能评估与优化.pdf_第3页
(电路与系统专业论文)soc存储系统的性能评估与优化.pdf_第4页
(电路与系统专业论文)soc存储系统的性能评估与优化.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(电路与系统专业论文)soc存储系统的性能评估与优化.pdf.pdf 免费下载

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

文档简介

摘要 摘要 当前s e e 设计的最大难题就在于嵌入式微处理器的高主频速度与片外存储器的低读取速度极 不相配,很大程度上限制了微处理器的性能效率。尤其在最近几年,两者之间的速度差距还在不 断拉大,业界将这种速度差距称为存储器间距( m e m o r yg a p ) 。在这种情况下,即使处理器因微 电子工艺的巨大投资而获得速度上的提高,存储器间距的存在和日益扩大也会使处理器因无法达 到其峰值速度而浪费掉很多性能资源。 从系统角度分析,微处理器在访问存储器时需要与其他主设备抢占系统总线,在一般的s o c 系统总线仲裁机制中,为保证其他主设备的正常工作,都将微处理器的占用优先级排在最后,这 又更加降低了存取数据时微处理器的性能效率。而微处理器性能的限制又将会迸一步制约嵌入式 系统的其他功能,如m p 3 的播放等等。 鉴于以上存在的问题,人们采用了如下方法对s o e 存储系统进行改进:其一是发明各种新技 术来提高存储体的访问速度,比如研制片上s r a m 存储体;其二是对一些存储器接口电路进行一些 优化设计;其三就是对整个存储系统进行结构上的优化,例如通过在主存储器和处理器之间加入 c a c h e 来暂存一些数据供处理器快速访问等等。总之,如何建立一套高效的存储系统,使其能够最 大程度的提升微处理器的性能效率,已经越来越成为s o c 设计者关注的热点。 本文将以东南大学a s i c 中心自主研发的一款s o c 芯片g a r f i e l d 为研究对象,通过 综合对比g a r f i e l d 两个版本中存储系统的性能优劣来对s o c 存储系统的设计进行总结分析。 文章整体上分为四大部分,第一部分先介绍针对s o c 存储系统采用的评估机制。第二部分用 这套评估机制对第1 版g a r f i e l d 芯片中的存储系统进行性能评估。第三部分将对第1 版中的存储 系统接口电路作些优化设计,并对改进后的第1 i 版g a r f i e l d 存储系统进行性能评估。第四部分则 是在前面评估的基础上引入一种可靠的c a c h e 设计来对存储系统进行结构上的优化,并对c a c h e 的引入进行评估。 关键词: 评估机制,s o c 存储系统,执行效率,c a c h e 查妻查堂堡主丝塞一 a b s t r a c t t h em o s td i f f i c u l t yo ft o d a y ss o cd e s i g ni st h el a r g ed i f f e r e n c eb e t w e e nt h e1 0 ws p e e d o fe x t e r n a lm e m o r y sa c c e s sa n dt h eh i g hs p e e do ft h ee m b e d d e dp r o c e s s o r t h ed i f f e r e n c e l i m i t st h ep e r f o r m a n c eo ft h ee m b e d d e dp r o c e s s o r i nt h er e c e n ty e a r s ,t h ed i f f e r e n c e i s b e c o m i n gl a r g e ra n dl a r g e r ,a s i t i sc a l l e d “m e m o r yg a p ”b yt h ee n g i n e e r u n d e rt h i s c i r c u m s t a n c e ,a i t h o u g ht h es p e e do fc p ui si m p r o v e dw i t ht h ep r o g r e s so ft h et e c h n o l o g y o fm i c r o e l e c t r o n i c s ,t h ep e r f o r m a n c eo fc p uw i l la l s ob el i m i t e db e c a u s ei t ss p e e d c a n t r e a c ht h ep e a kv a l u ew i t ht h ee x i s t e n c eo ft h e “m e m o r yg a p ” a n a l y z i n gf r o mt h ea n g l eo ft h ew h o l es o cs y s t e m ,w h e nt h ec p ur e a d w r i t e t h em e m o r y , i tm o s tc o n t e s tw i t ho t h e rb u sm a s t e r st oo c c u p yt h eb u s t oe n s u r eo t h e rb u sm a s t e r st o w o r kn o r m a l l y ,t h ec p uw i l lr e l e a s et h eb u sw h e no t h e rb u sm a s t e r sw a n tt oo c c u p yi ti n m o s ts o cs y s t e m ,t h i sr e g u l a t i o nw i l ll e tt h ep e r f o r m a n c eo ft h ec p ub e c o m ee v e nl o w e r h o w e v e r ,t h e1 i m i t a t i o no ft h ec p u sp e r f o r m a n c ew i l la f f e c to t h e rf u n c t i o n so ft h es o c s y s t e m ,f o re x a m p l e ,t h ef u n e a t i o no fm p 3 w i t ht h ep r o b l e m se x i s t e n c e ,p e o p l et h o u g h tm a n ym e t h o d st oo p t i m i z et h em e m o r ys y s t e m t h ef i r s tm e t h o di st oi m p r o v et h ea c c e s ss p e e do ft h em e m o r y ,f o re x a m p l e ,t h e yi n v e n t e d t h ee m b e d d e ds p a m :t h es e c o n do n ei st oo p t i m i z et h ed e s i g no ft h em e m o r y si n t e r f a c e : a n dt h et h i r do n ei st oo p t i m i z et h ew h o l em e m o r ys y s t e m ,f o ri n s t a n c e ,w ec a na d dt h ec a c h e b e t w e e nt h ec p ua n dt h em e m o r yt os t o r es o m ed a t at oi m p r o v et h ea c c e s ss p e e d i naw o r d h o wt od e s i g nah i g h p e r f o r m a n c em e m o r ys y s t e mt oi m p r o v et h ep e r f o r m a n c eo ft h ec p uh a s b e e no n eo ft h ep r o b l e m si nt h es o cd e s i g ni nr e c e n ty e a r s a n dt h ep r o b l e mw i l ia t t r a c t m o r ea n dm o r ea t t e n t i o n t h er e s e a r c ho b j e c to ft h i sa r t i c l ei st h eg a r f i e l dc h i p as o cd e s i g n e db yt h ea s i c c e n t e ro fs o u t he a s tu n i v e r s i t y w ew i l lc o n c l u d es o m ee x p e r i e n c e sa b o u tt h em e r r ys y s t e m d e s i g nt h r o u g ht h ec o m p a r i s o no ft h em e m o r ys y s t e mi n t h eg a r f i e l dia n dg a r f i e l d i i t h i sa r t i c l ew i i ib ed i v i d e di n t of o u rp a r t sa p p r o x i m a t e l y i nt h ef i r s tp a r t ,w e w i l li n t r o d u c et h em e t h o dw e u s et oe v a l u a t et h em e r r ys y s t e m t h ee v a l u a t i o nw i l le m p h a s i z e t h es y s t m e si m p a c to l lt h ep e r f o r m a n c eo fc p u i nt h es e c o n dp a r t ,w ew i l lu s et h em e t h o d t oe v a l u a t et h em e m o r ys y s t e mo fg a r f i e l di i nt h et h i r dp a r t ,w ew i l l o p t i m i z et h e i n t e r f a c ec i r c u i to ft h em e m o r yt oi m p r o v et h ep e r f o r i l l a n c eo ft h em e m o r ys y s t e mb a s e do n t h ec o n c l u s i o no ft h es e c o n dp a r t ,a n de v a l u a t et h eo p t i m i z a t i o n t h el a s tp a r ti sa b o u t t h ec a c h ed e s i g n :b a s e do nt h ee v a l u a t i o nr e s u l ta b e v e 。w ew i l ld e s i g nac a c h et oo p t i m i z e t h ew h 0 1 em e m o r ys y s t e m ,a n dg e tt h er e s u l to fo p t i m i z a t i o n k e yw o r d s e v a l u a t i o nm e t h o d :s o cm e m o r ys y s t e m :p e r f o r m a n c e :c a c h e 学位论文独创性声明 本人声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我 所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得东南大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 躲遗篮日期 关于学位论文使用授权的说明 力,甲;1 7 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交的学位论文 的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的 内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查询和借阅, 可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学 研究生院办理。 签名 翩躲位吼业 ,l_i 翌二童堑堡 一 一 1 1 问题的提出 第一章绪论 s o c 中的存储系统非常蘑要,它的性能直接决定着嵌入式微处理器对存储器的访问速度,进而 也影响着整个嵌入式系统的处理速度。随着s o c 技术的迅速发展。s o c 的设计越来越强烈的要求其 存储系统有着较快的存取速度。 然而,研究调查表明嵌入式微处理器的速度在最近几年一直以每年5 5 的速度持续增长,而存 储系统的存取速度增长相对则要缓慢的多“。,这也越来越成为s o c 处理速度的瓶颈。下图为近2 0 年来存储器与处理器的速度差距的增长趋势: p o r f o r m m e e i 0 5 埔4 8 0 b i 啦昭8 4 聒肿盯髓船9 0m9 29 39 4 钟盯钟0 0 m l = = f _ 二一1 _ 图1 1 近2 0 年处理器与存储器的性能差距趋势 以a 跏为例,a r m 的处理器的主频为几十m h z ,有的已经达到2 0 0 i t 肼l z 。而一般的主存储器所用 的动态存储器( d r a m ) ,其存储周期仅为l o o n s - - 2 0 0 n s ”。 如果从系统角度分析,在s o c 中,处理器的存取需要占用系统总线。但系统总线又同时要被 s o c 中其它主设备占用( 如l c d c ,d m a c 等) ,在一般系统总线仲裁机制中,为了保证这些主设各 的正常工作不被打断,通常都将处理器的占用优先级排在最后。这又更加降低了处理器存取数据时 的使用效率。 综上所述,s o c 存储系统性能的优劣不但制约着c p u 性能的发挥,还直接影响着整个s o c 系统 的处理速度。所以对存储系统进行一系列的评估和优化工作就显得非常必要了,对于存储系统的优 化有很多方案,大体上可分为设计优化和结构优化两类: 设计优化主要是指根据各种不同存储器的不同工作特性,在接口电路做一些有针对性的优化处 理。比方说,本文中s d r a i i f 的存取具有一定的“流水特性”,利用该特性就可以通过在s d r a m 与 a h b 总线的接口电路中引入指令f i f o 的设计来提升s d r a m 的存取速度。 结构优化主要是从整个存储系统大的格局进行分析考虑。适当的引入一些快速、小容量的存储 器或是调整一些存储器的位置结构,使之能够更好的提升存储系统的性能。在本文中,我们将通过 】 东南大学硕士论文 引入片上s r a m 和片上c a c h e 来对存储系统进行结构上的优化处理。片上s r a m 由于采用特殊的s r a m 存储体结构,存取速度非常快,因而在一定场合能够支持c p u 的0 周期等待访问速度,但是它的引 入会大大增加芯片面积,所以其容量也是非常有限的。引入片上c a c h e 是另一种很好的结构优化方 案,c a c h e 存储器是一个容量小但非常快的从属存储器,它能够自动决定如何保存最近用到的存储 器数据的拷贝,具有很大的灵活性。但是现在的c a c h e 通常与嵌入式处理器做在同一块芯片上。所 以它也面临着容量不能过大的尴尬。同时它也会带来功耗过大及读取数据不致等一些问题。上述 这些都将对s o c 的存储系统的优化设计带来很大的挑战“1 。 1 。2 论文的工作 本文以东南大学a s i c 中心自主研发的一款s o c 芯片g a r f i e l d 为研究对象,通过综合对比 g a r f i e l d 两个版本中的存储系统性能优劣来对s o c 中存储系统的设计提出总结性的分析报告。 论文的工作主要分为四大部分: i 针对s o c 中存储系统对嵌入式徽处理器执行效率的影响,建立一套评估机制,该机制把c p u 访存时性能效率的变化作为衡量指标来进行评估,同时采用目前业界较为流行的d h r y s t o n e 作为测 试程序。 2 用搭建好的测试平台对第1 版g a r f i e l d 中的存储系统进行性能评估,该存储系统包括如下 存储器:片外s r a m 、片外s d r a m 以及片上s r a m 。评估中通过改变不同参量( 如频率、等待周期或 是工作时钟) 来得到较为全面的评估数据以供分析。在文章该部分中,我们根据s d r a m 的特性,将 对其存储器接口作了一些设计优化 如采用i a m 格式映射等) ,并对优化前后的性能进行分析对比: 通过评估不同频率和不同存取时间下片外s r a m 的性能得到较为详尽的数据资料。同时,该版的片 上s r a m 采用单边沿时钟工作,评估的结果也将显示出该种工作模式的不足。 3 在第1 版存储系统评估的基础上,文章的第3 部分将在第1 i 版g a r f i e l d 中对片内和片外存 储器接口电路进行一些设计上的优化:根据s d r a m 的“流水特性”,在s d r a m 的接口电路中引入指 令f i f o ,通过评估分析得到优化后的性能参数;片上s r 6 1 将由单时钟沿工作改为双时钟沿工作, 并对该工作模式作出评估。 4 在对两版g a r f i e l d 存储系统评估对比的基础上,文章的第4 部分将通过引入c a c h e 设计来 对存储系统进行结构上的优化。我们利用a r t i s o n 公司的m e m o r yc o m p i l e r 工具生成的s r a m 模型 作为存储体,完成一种可靠的c a c h e 软核设计,并对引入c a c h e 后的存储系统进行重新的评估。文 章的最后还将对c a c h e 和片上s r a m 的作一次综合比较。 1 3 论文的结构 文章分为6 个章节:第一章为绪论;第二章介绍一下与论文相关的知识;包括如何评估s o c 存 储系统,s r a m ,s d r m 的存储体结构等;第三章是关于评估平台的搭建及对第1 版g a r f i e l d 存储系 统的评估分析;第四章将在第1 版评估基础上对相应存储器的接口电路进行优化设计,并对优化后 的结果进行评估;第五章介绍一下c a c h e 的基本原理,并讨论分析基于a p s i t t d m i 的c a c h e 控制电路 设计方案,其中包括c a c h e 设计要素的选取和逻辑设计两部分,第六章将对引入c a c h e 后的存储系 统进行重新评估,其中包括c a c h e 的面积和性能。并对引入c a c h e 与引入片上s r a m 后存储系统的性 能优劣进行一下对比,分析它们的优缺点;最后是总结和展望。 2 兰三兰壹堕墨堑箜翌堕王鱼 一 第二章存储系统的评估平台 2 1 存储系统评估机制 2 1 1 如何评估 一般的s o c 存储系统包括如下三个等级:微处理器内的寄存器、片上s r a m 、片外存储器 ( s r a m ,s d r a m ) ,它们构成了一个存储系统金字塔: ”外存储器 图2 ,1 存储系统结构图 越位于顶端的存储器,越靠近处理器,它的存取速度越快,价格越为昂贵,面积也越大。 由于s o c 的存储系统对嵌入式微处理器的执行效率有着决定性的影响,所以有些研究者将两者 之问的制约关系称为“冯诺依曼瓶颈”。通常存储系统也是s o c 设计的起始点,它的主要问题包 括: 1 如何从处理器将数据存入存储器。 2 如何将存储器的值装载进微处理器。 3 如何将数据在未送到处理器之前暂存在存储器中。 4 如何保证存储器与外界的传输。 存储器的带宽决定了外界获得输入数据和发送数据的速度。而整个存储系统则限制着处理器从 存储系统取得指令和数据的速度,从而使得处理器的执行效率大打折扣”1 。 所以s o c 设计者必须使存储器满足数据处理、指令执行以及存储器与外界的输入输出传送 操作的并发要求。而处理器在访问存储系统时的执行效率也成为衡量存储系统性能的重要指标,本 文将用处理器的执行效率来评估s o c 存储系统的性能。 评估微处理器的执行效率目前有三个主要的标准“1 : 1 ) 系统c p u 的执行时间: c p u 的执行时间1 确取决于三个特征:时钟周期t c ( 或速率) ,每条指令所需时钟周期数c p i 及程 序中总的指令数i “。 t c p u = t c c p i i n( 1 ) 其中c p i = 执行整个程序所需的c p u 时钟周期数程序中指令总数。 2 ) m f i d p s : i v i m p s 即每秒百万次浮点运算。m f i , o p s = i f n i c f 8 x 1 0 6 ) ,要注意的是m i p s 只适宜于评估标 量机,不能用于评估向量机。而m f l o p s 则比较适用于衡量向量机的性能。为了正确反映系统的性 能,每一种浮点操作要乘以一个正则化的值然后再求m f l o p s 的值。 3 ) m i p s m i p s 是每秒百万次指令,对于给定的一个程序,m i p s 可表示成: 3 m i p s = i 。( t c 1 0 6 ) = i ( i 。x c p i x t x l 0 6 ) = r c ( c p i 1 0 6 ) ( 2 ) r c 表示时钟速率,它是t c 的倒数。目前业界普遍采用该种指标来评估存储系统对c p i j 的执行 效率的影响。 结论:本文将跌第3 种指标m p s 捧淹系统谔锆标准。 2 1 2 关于测试程序 测试程序就是为评估系统的性能而编写的能够代表系统实际工作环境的代码。对于s o c 微处理 器的测试程序目前分为基于核心程序的基准测试程序和基于合成程序的基准测试程序两类。评估方 法是用核心程序和合成程序来代表系统的典型负载。核心程序是从极富代表性的实际应用程序( 如 矩阵求逆及树搜索) 中提取的代码,合成程序则是人为编写的测试组,它们执行s o c 系统提供的且 真实计算所需要的功能。常见的基准测试程序有d h r y s t o n e 和w h e t s t o n e 。现将两者作一下比较”1 : 表1w h e t s t o n e 与d h r y s t o n e 测试程序的比较 捌试程序设计人设计时圆嗣试对囊映路 浮点运算、羲组运算、子程序调内容古有大量过时的操作 t s t o a ec u 和l m i c m a a1 9 7 6 年 用、函数调用、条件转移组合 无法铡试浮点操作和系统 d h r y s t o n er e i n h o l d年代定点运算、整数运算、字符串撮柞 调用 一般的s o c 存储系统都无需浮点运算,所以权衡下来,d h r y s t o n e 程序比较适用于以整数运算 为主的s o c 系统,文中将用d b r y s t o n e 作为评估的测试程序。 d h r y s t o n e 的测试结果受到如下因素的影响:i ) 系统中的存储器存取速度;2 ) c p u 简单的整数 运算操作能力:3 ) c p u 的字符串操作能力;4 ) c p u 的逻辑判断能力。其中影响最大的就是第1 ) 点。 d h r y s t o n e 的主体部分是一个由固定顺序指令构成的循环体,d h r y s t o n e 的结果表现形式就是微 处理器执行固定次数的该循环体所用的时间,在这里我们用“n i p s ”来表示,或是用这个值除以处 理器的运行频率来表示,即“d m i p s 删z ”。 d h r y s t o n e 测试程序将被测处理器的性能与一个参考机的性能进行对比,这样做与直接引入 “n i p s ”( 也就是每秒执行的百万指令数) 相比的一个最大优点就是能够有效的弥补指令集的复杂 程度不同所引起的评估不确定性。举一个例子,r i s c 是精简指令集,c i s c 是复杂指令集。在编译同 一段程序的时候,c i s c 的指令数比r i s c 要多的多,在这种情况下,要单纯的去比较r i s c 处理器与 c i s c 处理器的“每秒执行的百万指令数”显然是毫无意义。 业界目前比较流行的是采用v a x1 l 7 8 0 作为im i p s 的参考机。经过评测,v a x1 1 7 8 0 的性能 能够达到每秒执行1 1 5 7 个d h r y s t o n e 循环体。所以n i p s 的概念就是被测系统每秒执行的d h r y s t o n e 循环体的次数除以1 7 5 7 。例如如果一个系统的评测性能为“8 0n i p s ”就是指该系统的速度比v a x 1 1 7 8 0 快8 0 倍 2 2 被测存储系统的存储单元 存储器可分为只读存储器( r o m ) 和随机存储器( r a m ) ,随机读写存储器包括s r a m 、d r a m 、 s d r a m 等。另外,f l a s h 也是种可读写的,非挥发性存储器,也即切断电源后,仍能保存已经 写入存储器中的数据,而其他随机读写存储器不具备这一特点,即断电后所保存的数据就丢失了。 d 第二章存储系统的评估平台 2 2 1s r a m 的存储单元 s r a m 也就是静态s r a m ,是一种挥发性存储器,切断电源后写入的数据也将丢失。一般s r a m 分为4 管和6 管结构,我们采用6 管结构,下图为其单元结构: 图2 2s r a m 存储单元结构图 图中c m o s 反向器t l 、他和c m o s 反向器t 3 、t 4 交叉反馈构成基本r s 触发器,用以存储 一位二进制信息。t 5 、t 6 管是由行线x 控制的门控管。上述六只m o s 管构成一个静态存储单元。 若要把数据d = o 写入本单元,必须使本单元的行线和列线都为1 ,即令x = y = i ,使4 个n m o s 管 t 5 、t 6 、1 7 、t 8 都导通,数据d = o 通过右边的髓、位线、t 6 管送入o 完成了信息的写入。读出 时也要使x = y = i 选中此单元,原写入的q = o 经过t 5 、位线、r 读出到d 端。实现了信息的读出。 读出后,此单元内的数据并不丢失,所以“读”是非破坏性的,而“写”则是因为取代了原数据而 成为破坏性的5 1 。 2 2 2 s i ) p 砌的存储单元 如果能够通过周期性的向存储单元中写入数据,也即通过刷新操作来弥补丢失的电荷,那么这 部分负载电路就可以去掉。为了实现刷新操作而增加的那部分电路规模如果远小于去掉的负载电路, 那么就可以大大减小存储器电路的复杂性,从而减小存储器单个存储单元的面积,进而提高存储器 的存储容量。这就是动态存储器( s d r a m ) 的原理。下面两图为动态存储器的两种存储单元结构。 啊 _ r i r a c s a 。= 1 l 图2 3 三管动态存储器单元 图2 ,4 单管动态存储器单元 5 东南大学硕十论文 以三管s d r a m 存储单元为例,作写操作时,字写控制线w w l 有效,数据线b l l 上的数据被 写入存储单元,写入的数据是通过电容c se 的电荷来保存的。作读操作时,字读控制线r w l 有效, 晶体管m 2 是否导通取决于所保存的数据值,数据线b l 2 被提前预充电,使其电平被拉升至v d d 。 因此,当所保存的数据为1 时,m 2 、m 3 导通,b l 2 为低,当所保存的数据为0 时,b l 2 保持为高, 即b l 2 上输出的数据为存储单元所保存的数据的反相,这个数据再经过一次反相后输出至存储器片 外即可。实现刷新的方法是周期性的读出所保存的数据,再写回存储单元以弥补电荷的泄漏。 可以将三管结构中的w w l 线和r w l 线合并,这样在读出数据的同时,就完成了刷新操作。 单管s d r a m 存储单元是最普遍使用的s d r a m 结构它更大程度的减小了电路的复杂性,从 而使单片s d r a m 存储器的存储容量更大。以图2 3 中的单管存储单元为例,当字线w l 为高时, 根据b l 线上的数据,电容c s 被充电或放电,从而写入1 或0 。作读操作之前,位线b l 被预充电 至电平v p e 。作读操作时,字线被置为有效,从而导致位线b l 和存储电容c s 之间发生电荷重新分 配,进而导致位线上的电平的改变。电平改变的大小由下式决定”j ; v = v a l v p 肛= ( v a n v r r , z ) 4c s ( c s + c b l )( 3 ) t 式中,v a l 是电荷重新分配后位线b l 上的电平,v n ”是读操作之前电容c s 上的电平。由于 c s 较之c b l 小的多,因此这一电平的改变值并不大,必须通过差分敏感放大器放大至v d o 。下图为 一个示意图。 作读操作时,位线b l 上的电平变化经差分敏感放大器放大后,被读出,同时又写回存储单元。 以防止存储单元内的数据丢失”。 2 2 3 片上s r a m 的存储单元 片上s r a m 的存储体结构与目前普通的s p , a m 结构相似,也是采用c m o s 六管工艺“”。但其之所以 比普通的s r a m 快是因为它的每个存储单元都有一个预充电逻辑。如图1 所示,虚线将内存单元分为 存储部分和预充电逻辑部分。存储单元中,b h 和b l 是读写数据端,它们的值是相反的,一个为高 电平,则另一个就为低电平。当b h 和b l 的数据稳定后,地址译码选通字线w l ,把数据写入内存单 元。当读数据的时候,通过选通n 3 和n 4 把数据传送到b h 和b l 。为了加快内存单元的存取速度, 用预充电逻辑对位线进行预充电。当读、写信号均无效时。控制信号c r r l 为低电平,p o 、p 1 导通, 开关管p 2 导通,删和b l 等电位。电源对b h 和b l 充电,通过控制c t r l 低电平的时间,来决定时 间的长短和朋和b l 电平的高低,为了得到最快的存取速度,一般将阴和b l 预充电到1 2 v c c ,这 样能使存取速度比一般的外部s r a i l 的存取速度快很多“。 图2 5 片上s r a m 存储单元 6 兰三兰型! 竺! i ! ! ! ! 鱼堕墨竺竺堡笪兰坌塑 第三章对g a r f i e l di 存储系统的评估与分析 3 。l 评估流程的建立 测试程序d h r y s t o n e 包含3 个子文件:库文件d h r y h 、主文件d h r y l c 和函数文件d h r y 2 e , 评估流程如下: 1 ) 首先需要在主文件d h r y i c 中设立好主程序循环体的执行次数。循环次数越高,评估的结 果越准。d h r y s t o n e 测试程序规定,一段d h r y s t o n e 测试程序的执行时间应当大于2 s ,根 据该测试结果来判断,运行次数应当至少大于1 0 0 0 。 2 ) 利用a r m 的编译器a r m u l a t o r 对铡试程序进行编译。 3 ) 连接时将测试程序加载到被测存储区域。 4 ) 在进入测试程序的循环体之前打开g p t ,开始统计运行时间。 5 ) 程序运行结束之后关闭g p t ,记录下g p t 的运行时问。 6 ) 计算评估值d m i p s ,这里应注意的是g p t 的时间单位为微秒( m s ) 。 在d h m y l c 文件中设置测 试程序的执行次数 1 i x 之夕 利用a p m u l a t o r 编译嚣对 测试程序进行编译 l i i 【 、之夕 将涮试程序连接到被铽 存储区域 x 乇夕 运行测试程序前打开g p t 准备记录时问 ll il 弋夕 上 统计d m i p $ 图3 1 评估流程图 在以上的评估流程中,我们需要着重强调以下几点: 1 编译选项的设置:由于测试程序短小,所以测试结果在编译时极易受到编译命令的干扰。 为了检测存储系统的最佳性能,编译时我们在a r m 提供的3 种生成目标( d e b u g 、r e l e a s e 、d e b u g r e l ) 中采用r e l e a s e ,这样就避免了映像文件中所包含的调试信息对测试结果的影响,采用如下的一组 7 东南大学硕士论文 编译选项:一0 2 一o t i m e ,一0 2 是指定代码的优化级别为最高,编译器在此参数下将提供所有的优化 功能;一o t i m e 是为了追求目标代码的执行性能。该选项非常适合于我们这种对目标代码执行时间要 求非常苛刻的测试平台,所以采用该编译选项。 2 利用映象文件进行测试程序的加载:如何将测试程序加载到被测存储区域? 我们将利用 h r m u l a t o r 的s c a t t e r 定义映象文件在程序连接时进行重新的地址映射,这样就不需要人为地编辑 数据搬移代码。细节如下:根据a r m u l a t o r 的特点,一个映象文件可以包含多个域,每个域在加载 时和运行时可以有不同的地址,这样我们可以先将初始化文件和测试文件加载到0 地址处,以便系 统复位时调用,在执行映象文件时,再将测试程序编辑后的目标文件连接到运行区域,此处的运行 区域就是指被测存储区域,下面就是s c a t t e r 文件的内容,该文件负责将测试程序连接到e s r a m 中: f l a s ho x 0 0 0 0 0 f l a s ho x 0 0 0 0 0 i n i ti c e o ( i n i t ,+ f i r s t ) 女( + r o ,+ r w ) ) e s r a mo x l f f f 0 0 0 0 ( 测试程序o ( + r o 。+ r w ,+ z i ) ( + z i ) ) h e a p + ou n i n i t h e a p o ( + z i ) ) s t a c k so x l f f f 5 0 0 0u n i n i t fs t a c k o ( + z 1 ) j ) 其中e s r a m 的起始地址为0 x l f f f 0 0 0 0 ,测试程序o 为测试程序编译后的目标文件i n i t i c e o 为初始程序编译后的目标文件。 3 用于评估比较的理想值测定方法:为了对评估的结果有一个感性的认识,我们将找到一个 理想的值作为参考,该值就代表c p u 在访问0 周期等待存储器时的d m i p s 数值。如何得到该理想值? 我们利用a r m u l a t o r 中的a r m s d m a p 文件,该文件是一个存储器模型文件,它的作用是当程序在 h r m u l a t o r 上运行时用来模仿存储器的存在,比方说我们假设测试程序在地址为 f f f 0 0 0 q 到 l f f f 5 0 0 0 的存储区域内,并且该存储区域的读取时间为2 0 n s ,则在a r m s d m a p 文件中我们进行如下 设置: i f f f 0 0 0 0l f f f 5 0 0 0r a m4w2 0 2 0 2 0 2 0 r a m 为存储器名称,4 代表存储器的总线宽度为3 2 位,r w 表示可读可写。前一个2 0 2 0 表示非 连续操作的读写等待时间为2 0 n s ,后个2 0 2 0 表示连续操作的读写等待时间也为2 0 n s 。我们评测 的系统基本运行在5 0 m h z ( 2 0 n s ) 的频率下,所以测试中读写等待时间就设为2 0 n s ,总线宽度也设 为3 2 位。a r m u l a t o r 上的运行结果显示理想的d i m p s 值为4 6 。 4 姗指令的评溯问题:在a r m 体系结构中,a r m 指令集中的指令是3 2 位指令,其执行效 率很高。但对于存储系统数据总线为1 6 位的应用系统,a r m 体系还专门提供了t h u m b 指令集。t h u m b 指令集是对a r m 指令集的一个子集进行重新编码而得到的,其指令长度为1 6 位。在a r m 体系的t 变 种版本中( 如a r m 7 t d m i ) ,同时支持a r m 指令集和t h u m b 指令集,当处理器在执行a r m 程序时,称 处理器处于a 蠲状态,在处理执行t h u 鼯程序时,称处理器处于t h u m i b 状态。并且当编译环境遵守 一定的调用规则时,t h u n b 子程序和a r m 子程序可以相互调用。 为了检测g a r f i e l d 存储系统对t h u m b 指令系统以及t h m j b a 删指令系统相互调用的支持程度, 我们在评估的过程中除了按照上面的流程将测试文件编译成a r m 指令外,还特别将测试文件中的核 r 兰三皇型! ! ! ! ! ! ! ! ! 至堡墨堑塑堡笪兰坌堑 心部分函数文件( d h i ,y 2 c ) 编译成了t b u m b 指令,对每一部分存储区域分剐作了a r m - t e 啪混 合指令的评估测试。 a r m - t h u m b 混合指令集的评估流程与上述基本一样,唯一不同之处就在于第2 步,也就是编译部 分,混合指令的编译需要在原有选项上多加一个一a p c s i n t e r w o r k 选项,当a r m u l a t o r 编译时,该 选项负责完成如下工作: 编译器或者汇编器将i n t e r w o r k 的属性写入到目标文件中a 连接器在子程序入口处提供了用于a r m 状态与t h u m b 状态切换的小程序( 称为v e n e e r s ) 。 在c 子程序中,编译器生成合适的返回代码,使得程序返回到和调用者相同的状态。 总而言之,我们的评估系统针对每一存储区域建立了a r m 指令和a l j 一t h u 佃混合指令两套评估 方案“。为下面的工作作好了准备。 3 2g a r f i e l di 中被测存储系统的架构 被评估的存储系统与微处理器在g a r f i e l ds o c 中的位置如下图所示: 【w r c l , m u r l ch m 卜i x il h r w t t l w i i ( :j 叮“) 。pl 了f _ j 。 ( : 门,删( 2 ) 卅| |ii| |卜 p b u s | 【s p l 刍 刮:譬腻 7 m u j 、 a r b i w 1 0 【 , u a r t ( 2 ) 【r d a 一lj l u s b c s r mi 嘲l c 【l i h l l m 眦 c 9 7 图3 2 被测存储系统架构 图中的黑线区域为需要进行评估的存储器部分,其中的e m i ( e x t e r n a lm e m o r yi n t e r f a c e ) 包 含片外的s r 瑚与s d r a m 的接口电路。e s r a m 为嵌入在a h b 总线上的片上s r 枷。 e m i 模块的内部框图如下所示: 9 东南大学硕士论文 s n l 她尹、f 信 i i瑚 。 f 地址 信号 a h 8 总拽 厂赢 s d 础 信 信号 八 l ,一 y i晔r nl s 喇控制器予梗块 n 拽接i | 楼挑 数据 信号 髓i 模城( 不包古c f 卡控制嚣) 图3 3g a r f i e l d i 中e m i 模块结构 整个e m i 接口模块分为总线接口模块、总线地址译码模块、s r a m 和s d r a m 控制器模块。 总线接口模块主要是实现对a h b 总线信号的锁存,根据a h b 总线的规范要求,i - i r e a d y 信号为高 时,a h b 从设备在h c l k 的上升沿锁存总线信号,并对锁存后的信号进行译码。要注意此处控制锁存 动作是否发生的h r e a d y 信号是由从设备( 此处是存储控制器) 产生的“。其实需要锁存的也只是地 址信号和控制信号,数据信号不需要锁存。这是因为a i - i b 总线采用了流水线结构,在前个总线周 期的上升沿发出地址和控制信号,后一个节拍发出数据信号。在该模块中,包含2 个f i f o 模块,分 别担任下面两个任务: 锁存作用:a f i f 0 用于锁存控制信号和地址信号,e m i 模块在收到请求后,即h s e l 为高,同时 h t r a n s 为n o n s e q 或者s e q 的情况下,e m i 模块认为主设备耍对e m i 模块进行操作。判断h t r a n s , h b u r s t 信号决定是否要把当前的总线信息锁存入a f i f o 。当h b u r s t 为i n c r e m e n t 、h t r a n s 为n o n s e q 或者s e q 时将地址和控制信号锁存送入a f i f o ,而当h b u r s t b t 为定长传输时,只有在h t r a n s 为n o n s e q 的情况下才锁存当前的总线信息原因如下:当为定长传输时,由于本系统不支持s p l i t 传输,所以可 以判断出下几次总线传输要求。没有必要将下几次h t r m s 为s e q 的情况也锁存。而当总线是 i n c r e m e n t 传输的时候,e m i 不能作出准确的预判,因为不知道主设备要传输几拍数据所以需要锁存 接着的h t r a n s 为s e q 的情况。当锁存了当前

温馨提示

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

最新文档

评论

0/150

提交评论