(计算机科学与技术专业论文)通用存储器控制器vlsi设计关键技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)通用存储器控制器vlsi设计关键技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)通用存储器控制器vlsi设计关键技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)通用存储器控制器vlsi设计关键技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)通用存储器控制器vlsi设计关键技术的研究与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

国防科学技术大学研究生院! 学位论文 摘要 随着电子科学和计算机科学的飞速发展,大规模集成电路在军事、经济和 社会生活中的应用越来越广泛。存储器是大规模集成电路芯片中的重要组成部 分。不同类型的存储器,其特点差别很大,因此控制要求也不同。如何实现一 种通用存储器控制器,一方面使其具有较好的通用性,能够正确的控制多种不 同类型的存储器;一方面使其具有较好的性能,能够充分利用不同类型存储器 的读写带宽,具有重要的理论意义和实用价值。 本文对存储器技术以及存储器控制器技术进行了深入研究,主要包括:高 性能嵌入式s o c 芯片中常用几种存储器的内部结构、编址方式、数据存储方式、 时序控制方式等,这些存储器主要有异步s i h m 存储器、f l a s h 存储器和各 种动态存储器;几种典型存储器控制器的体系结构和实现技术。以这些研究为 基础,提出了一种通用存储器控制器i p 核的体系结构,并围绕着提高存储器带 宽利用率这个核心,进行了体系结构和性能优化;最后基于w r i i o g 硬件描述语 言实现了该通用存储器控制器i p 核,对其进行了模拟测试和逻辑综合。 该通用存储器控制器i p 核已经被成功的应用于一款3 2 位高性能s o c 芯片 中,并通过了功能验证。 关键词:通用存储器控制器;i p 核;微处理器 里堕型堂垫垄奎兰旦塞生堕堂堡笙苎 a b s t r a c t a l o n gw i t ht h eg r e a td e v e l o p m e n to fe l e c t r o n i cs c i e n c ea n dc o m p u t e rs c i e n c e , l a r g es c a e l ei n t e r g r a t e dc i r c u i t si sa p p f i e dm o r ea n dm o l ea b r o a di nm i l i t a r ya f f a i r s , e c o n o m ya n do t h e ra r e a so fs o c i e t a ll i v e s m e m o r yi sa l li m p o r t a n tp a no fla r g e s c a c l ei m e r g r a t e x lc i r c u i t s t h e ma l ed i f f e r e n tc h a r a c t e r i s t i c sa n dc o n t r o l r e q u e s t s a m o n gd i f f e r e n tt y p e so fm e m o r y t h e r e f o r e ,i ti sav a l u a b l er e s e a r c ht om a k ea m e m o r yc o n t r o l l e r , w h i c hh a sb r o a df o r e g r o u n do fa p p l i c a t i o n t h em e m o r yc o n t r o l l e r i sr e q u e s t e dt or e l i a b l yc o n t r o ld i f f e r e n tt y p e so fm e m o r ys ot h a ti tc a nb ep r e f e r a b l y f i tf o rg e n e r a l p u r p o s ea p p l i c a t i o n a n di ts h o u l dt a k ef u l la d v a n t a g eo ft h ew r i t e r e a d b a n d w i d t ho fd i f f e r e n tt y p e so f m e m o r yt oa c h i e v ep r e f e r a b l ep e r f o r m a n c e t h i sp a p e rh a dad e e pr e s e a r c h o ft h er e l a t i v et e c h n o l o g yo fm e m o r ya n d m e m o r yc o n t r o l l e r f i r s t l y , t h ea r c h i t e c t u r e 、a d d r e s s i n g 、d a t as t o r a g ea n dt i m i n gc o n t r o l o fs o m et y p e so fm e m o r yw e r ed i s c u s s e d ,w h i c ha l eu s e da b r o a di nh i 曲- p e r f o r m a n c e e m b e d d e dc i r c u i t sa n dr a a i l yi n c l u d ea s y n c h r o n i s ms r a m 、a s y n c h r o n i s mf l a s h m e m o r ya n ds o m et y p e so fd y n a m i cm e m o r y t h e nt h ea r c h i t e c t u r ea n dt e c h n o l o g yo f s o m et y p i c a lm e m o r yc o n t r o l l e rw e r ed i s s c u s s e d b a s e do i lt h i s , an e wa r c h i t e c t u r eo f g e n e r a l p u r p o s em e m o r yc o n t r o l l e rw a sp r e s e n t e d t oe n h a n c et h eu s i n gr a t e o f m e m o r yb a n d w i d t h ,a r c h i t e c t u r ea n dp e r f o r m a n c eo p t i m i z a t i o nw a sd o n e f i n a l l y ,t h e m e m o r yc o n t r o l l e r 口c o r ew a si m p l e m e n t e dw i t hv e r i l o gh a r d w a r ed e s c r i p t i o n l a n g u a g e ,t h es i m u l a t i o na n dl o g i c a ls y n t h e s i so f w h i c hw e r ed o n ea l s o t h em e m o r yc o n t r o l l e ri ph a sb e e ni n t e g r a t e di nah i g h - p e r f o r m a n c e3 2 - b i ts o c c i r c u i ta n dp a s s e dt h ef u n c t i o nv e r i f i c a t i o n k e yw o r d s :g e n e r a l - p u r p o s em e m o r yc o n t r o l l e r , i pc o r e ,m i c r o p r o c e s s o r i l 国防科学技术大学研究生院学位论文 图目录 图1 13 2 位高性自& 嵌入式微处理器系统4 图2 1 最基本的a h b 传输7 图2 - 2 多个舭 b 传输流水操作示意图8 图2 3 异步s r a m 存储器读时序图_ 9 图2 4f i a s h 存储器写操作流程曙1 0 图2 - 5 f l a s h 存储器写操作基本时序图1 l 图2 - 6s d r - s d r a m 存储器读时序示意图1 3 图2 7 二r u d t 通用存储器控制器的基本体系结构1 4 图2 8p r m m c m i 通用存储器控制器的基本体系结构l5 图3 - 1 通用存储器控制器的体系结构1 6 图3 2 分离外部存储器控制逻辑示意图l8 图3 - 3a h b 总线接口单元模块图2 0 图3 - 4 存储器接口单元模块图。2 1 图3 - 5 地址掩码寄存器( s m s 髓埘) 格式2 2 图3 - 6 片选基地址寄存器( s c s l r n ) 格式2 2 图3 7 静态存储器时序寄存器( s m t m g rs e t n ) 格式2 3 图3 - 8 静态存储器控制寄存器( s m c r l r ) 格式2 4 图3 - 9 静态存储器控制寄存器写时序图2 4 图3 - 1 0 动态存储器配置寄存器( s c o n r ) 格式2 5 图3 - 1 l动态存储器控制寄存器( s c l r i 且) 格式2 6 图3 1 2 动态存储器刷新间隔寄存器( s r e f r ) 格式2 6 圈3 1 3 动态存储器时序寄存器0 的格式2 6 图3 一1 4 动态存储器时序寄存器l 的格式2 7 图4 1 地址f 礤o 示意图2 8 图4 2 写数据f i f o 示意图2 9 图4 3 不同写数据f i f o 深度下存储器控制器峰值带宽示意图3 0 图4 - 4 动态存储器控制逻辑执行的动态存储器初始化流程图3 4 图4 5 典型的动态存储器模式寄存器格式3 4 图4 6 动态存储器控制逻辑在刷新操作时执行的命令序列3 6 图4 7 动态存储器刷新操作时序图3 6 图4 8 动态存储器控制逻辑执行自我刷新时的命令序列3 7 图4 9 动态存储器控制逻辑控制休眠模式的命令序列3 8 图5 1 基于标准单元库的通用存储器控制器设计流程4 0 图5 2 通用存储器控制器口核的模块层次图。4 2 图5 3 通用存储器控制器口核的模块关系和分布图。4 2 图5 - 4 顶层模块m e m c t l 和a i m 总线及外部存储器之间的接口信号4 3 图5 5 通用存储器控制器口核第二层模块间的详细接口信号图4 5 图5 - 6h i u 内部第三层模块之间的接口信号简图4 6 图5 7m i u 模块内部第三层模块之间的接口信号简图4 7 图5 - 8 通用存储器控制器的地址通路5 l 图5 - 9 通用存储器控制写数据通路5 1 图5 1 0 通用存储器控制器读数据通路5 2 国防科学技术人学研究生院学位论文 图5 1 1 图5 1 2 图5 1 3 图5 1 4 图5 1 5 s d r s d r a m 存储器控制逻辑中的o p e r a t o n f s m 有限状态机一5 3 s d r s d r a m 存储器a c c e s s f s m 有限状态机5 5 3 2 位s r a m 存储器写操作时序图5 9 1 6 位f l a s h 存储器读操作时序图6 0 s d r - s d r a m 存储器i n c r 8 猝发写操作时序图6 0 国防科学技术大学研究生院学位论文 表巨录 表2 ,1h r e s p 信号状态及释义7 表2 2f l a s h 存储器各种操作的命令序列1 1 表5 - 1 通用存储器控制器面向s d r s d r a m 存储器的服务和操作4 9 表5 2 通用存储器控制器坤核代码实现层次5 8 表5 3 通用存储器控制器控制三种常见存储器所能达到的传输带宽值6 0 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意 学位论文题目: 通用盔缱墨整盟墨! 竖篮j 士差鳇遮盔曲堑童生塞塑 学位论文作者签名:盔& 篷! 左日期:j 。尹年月,声日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本援权书) 学位论文题目: 通用盘篮墨撞剑墨! 竖! 堡盐差毽撞盔曲婴定生塞堡 学位论文作者签名 作者指导教师签名 日期:2 口蹄年i 月妇 日期:加4 年7 月,f 日 国防科学技术大学研究生院学位论文 第1 章绪论 1 1 课题背景 随着电子科学和计算机科学的飞速发展,大规模集成电路在经济、军事和 社会生活各个领域应用越来越广泛:大到神舟5 号的中心控制系统,小到一个 电视遥控器,一张i c 卡,都需要使用不同性能和不同规格的集成电路芯片。大 规模集成电路已经成为当代人类社会生活中不可或缺的一个重要部分t 2 6 1 1 3 3 1 。 在大规模集成电路系统中,存储器的地位举足轻重i ”。绝大多数高性能s o c 芯片,都要根据其功能要求和性价比,集成各种不同类型存储器,包括:r o m 、 s r a m 、s s r a m 、f l a s h 、s d r s d r a m 、d d r s d r a m 等等。不同类型存储 器的内部结构、数据存储方式、时序控制方式、编址方法、读写数据总线宽度、 访问延迟等方面差别很大。高性能s o c 芯片中常用的几种存储器,主要有: ( 1 ) s r a m 存储器读写时序控制方式和编址方式很简单,访问速度非常 快,目前最快的s i 渔m ,其访问时间只有4 5 n s ;但是容量不是太大, 容量最大的超高速e c ls r a m 也只有8 m b ”】【“l 。 ( 2 3s d r a m 存储器采用地址复用技术,容量很大;但是内部结构复杂, 读写时序控制方式繁琐,而且需要定时刷新,所以其访问速度相对 s r a m 来说要慢一些,一般的s d r a m 存储器访问时间为几十个n s 【“l 。 ( 3 ) f l a s h 存储器采用非挥发性存储技术,访问速度非常慢;较快的 f l a s h 存储器,其读数据周期也需要几十个n s ,写周期则长得惊人, 一般达到u s 级别【8 l 【1 3 】【。 近年来,新的存储器产品层出不穷,像s d r a m i i ( d d r s d r a m ) 、r a m b u s 同步动态随机储存器( r a m b u sd r a m ) 、同步f l a s h 存储器( s y n c f l a s h ) 、 并行型r d r a m ( c o n c u r r e n tr d 洲) 、多体动态随机存储器( m u l t i b a n d d r a m ) 、同步图形随机存储器( s y n c h r o n o u sg r a p h i c sr a m ) 等等;这些新 类型的存储器,适合新的应用( 如高速图形加速芯片) ,在性能上具有优势,因 而得到了越来越广泛的应用:但是,它们也提出了很多与旧的存储器不同的控 制要求。在高性能s o c 芯片中,怎样对这些千差万别的存储器进行统一的高效 的控制,即怎样实现一种高性能的通用的存储器控制器,是一个很关键的问题。 按照所控制的存储器类型,存储器控制器一般分为两种:专用存储器控制 器和通用存储器控制器。专用存储器控制器用来控制某种特定类型的存储器, 针对性非常强,实现相对比较容易,但是可重用性不好。大多数高性能s o c 芯 第1 页 国防科学技术大学研究生院学位论文 片,其内部的存储器控制器,使用的都是通用存储器控制器:它可以用来控制 多种不同类型的存储器,具有良好的可重用性:通过i p 核重用的方式,通用存 储器控制器可以适用于不同要求的高性能s o c 系统,从而减少系统开发时间, 节省成本,加快芯片投入市场的速度【3 】口 通用存储器控制器的适用性强,性能同样重要。自2 0 世纪8 0 年代开始, 微处理器性能以每年6 0 的速率发展,而存储器访问时间的改善速率每年大约 只有7 ,计算机体系结构工作者正面临着一个处理器存储器性能差距日益扩 大的问题,存储器访问是系统性能的最大瓶颈,这也是提升计算机整体性能的 最大障碍1 2 】。而根据统计,6 0 的访存延迟来自存储器控制器耗费 4 1 。因此, 如果过于注重存储器控制器的通用性,导致其内部逻辑越来越复杂,毫无疑问 会使得访存延迟中的存储器控制器耗费所占比率进一步加大。此外,如果存储 器控制器过多的注重于各种存储器的共性而忽视它们的个性,有可能在某种程 度上削弱对某些具体存储器的控制能力,也就是说,在提高通用程度的同时降 低了对某些具体类型存储器的带宽利用率f 1 9 】,从而加剧存储器访问瓶颈效应。 所以,如何在通用性和性能之间进行折衷,设计出一种有效的存储器控制 器口核,一方面具有较好的通用性,能够对多种不同类型的存储器进行正确控 制,另一方面能够尽量减少访存延迟中的存储器控制器耗费,最大限度利用各 种不同类型存储器的读写带宽,从而减少无用的访存延迟,充分发挥嵌入式微 处理器工作潜力,提高嵌入式系统的总体性能,是一个很有价值的课题。 1 2 通用存储器控制器发展现状 目前,国际上知名的大规模集成电路设计公司,象i n t e l ,s u m s u n g ,a r m , s y n o p s y s ,c a d e n c e ,a m d ,m i c r o n ,t o s h i b a 等,都在通用存储器控制器研发 领域取得了很大的成功;未来数年内,这些公司仍仍将占据通用存储器控制器 的市场主导地位。它们开发出了许多成熟的产品,其中比较有影响力的通用存 储器控制器p 核有s y n o p s y s 公司的d e s i g n w a r e 存储器控制器、a r m 公司的 p r i m e c e l l 静态存储器控制器和p r i m e c e l l 多端口存储器控制器、i n t e l 公司的通 用静态存储器控制器、c a n d e n c e 公司的静态存储器控制器和g l o b a lu n i c h i p ( 台 湾创意电子) 的u a p c 5 4 0 0 等等。 1 2 1 s y n o p s y sd e s i g n w a r e 存储器控制器 d e s i g n w a r em e m o r yc o n t r o l l e r 是s y n o p s y s 公司在1 9 9 9 年推出的通用存储 器控制器i p 核,近年来不断进行版本更新,功能越来越趋于完善,性能也不断 优化。这个系列通用存储器控制器i p 核的最大特点就是可编程功能非常好,通 用性非常强不同的用户可以按照千差万别的存储器需要,自由的对它进行配 第2 页 国防科学技术大学研究生院学位论文 置、模拟和综合,从而满足不同s o c 芯片的应用要求。这个系列通用存储器控 制器i p 核可以用来单独控制种动态存储器( 包括s d r s d r a m , d d r s d r a m 和m i c r o n 公司的同步f 乙峪h 存储器) 或者一种静态存储器( 包 括s r a m ,f l a s h 和r o m ) ;或者同时控制两种不同类型的动态存储器:或 者同时控制3 种不同时序参数、不同类型的静态存储器;也可以同时控制动态 存储器和静态存储器【9 1 。 1 2 ,2 删p r i m e c e ! 存储器控制器 p r i m e c e us t a t i cm e m o r yc o n t r o l l e r 是个和a d v a n c e dm i c r o c o n t r o u c rb u s a r c h i t e c t u r e ( a m b a ) 总线协议兼容的通用静态存储器控制器,2 0 0 0 年由a r m 公司推出。它作为a m b a a h b 总线的从设备,在各种静态存储器( 包括r a m , r o m ,f l a s h 和b u r s tr o m ) 和p r i m e c e l l 微控制系统之间提供接口功能,但是 不能用于控制动态存储器【”。它的内部控制逻辑非常精简有效,能够充分的利 用存储器的读写带宽,但是通用性不强( 不能用于控制动态存储器) 限制了其 使用。 2 0 0 2 年,a r m 公司推出了p r i m e c c l lm u l t i p o r tm c m o r yc o n t r o l l e r ,这是一 种真正意义上的通用存储器控制器,可以用来控制各种静态存储器和各种动态 存储器;而且因为采用了多个端口连接到a h b 总线,在内部设置了4 个1 6 字 高效缓冲器,访存延迟中的存储器控制器耗费小,存储器带宽利用率也很高【6 1 。 但是编程不够灵活,对各个片选可以外接的存储器类型和参数指标有所限制, 而且编程过程太过于繁琐。 1 2 3r u d i 通用存储器控制器 该存储器控制器发布于著名的自由软核网站w w w o p e n c o r e s o r g ,由西萨摩 亚大规模集成电路设计专家r u d o l f u s s e l m a n n 费时2 年设计成功。这是一种通 用的存储器控制器口核,适用于多种静态存储器和多种动态存储器,用户编程 简易,通用性强【1 1 】;但是只能通过w i s h b o n e 总线连接到微处理器,和a m b a 总线并不兼容,所以在当前大多数高性能s o c 芯片郝使用a m b a 总线的情况 下,应用不是很广。由于r u d i 通用存储器控制器口核是完全公开和免费的, 用户可以对其功能进行自由的改进,所以它仍然具有一定的应用价值和研究价 值。 除了上述的几种通用存储器控制器i p 核之外,目前应用比较广泛的存储器 控制器i p 核还有:i n t c l 公司的通用静态存储器控制器、c a n d e n c e 静态存储器 控制器、g l o b a lu n i c h i p ( 台湾创意电子) 的u a p c 5 4 0 0 等等。这些存储器控制 器碑核都各具特色,在当前应用也比较广泛。 第3 页 国防科学技术大学研究生院学位论文 1 3 课题简介 本课题来源于国家自然科学基金项目( n o 6 0 1 7 3 0 4 0 ) ,其主要任务是根据 一款3 2 位高性能嵌入式微处理器系统的需要,实现一种通用存储器控制器,作 为系统的存储器接口。该3 2 位高性能嵌入式微处理器系统的框架结构如图1 1 所示。通用存储器控制器集成在芯片内,通过a m b aa h b 系统总线和嵌入式 微处理器内核以及系统的其它部分连接;在芯片外,系统通过通用存储器控制 器外接各种类型的存储器,包括r o m 存储器、s r a m 存储器、f l a s h 存储器、 各种动态存储器( s d r - s d r a m 存储器、d d r s d r a m 存储器等) 以及同步 f l a s h 存储器。 图1 - 13 2 位高性能嵌入式微处理器系统 具体来说,本课题的研究目标是:在充分了解各种类型存储器的内部结构、 数据存储方式、时序控制方式、地址控制方式等特点的基础上,对比当前应用 比较广泛的各种存储器控制器i p 核的优点和缺点,针对3 2 位高性能嵌入式微 处理器系统设计的具体需要,设计并实现一种通用存储器控制器i p 核,然后进 行模拟测试和性能综合,最后集成到3 2 位微处理器芯片系统中。 该通用存储器控制器符合a m b aa h b2 0 总线标准,可外接r o m 存储 器、s r a m 存储器、f l a s h 存储器、各种动态存储器( s d r s d r a m 存储器、 d d r s d r a m 存储器等) 以及同步f l a s h 存储器,能通过寄存器编程来适应 不同类型的存储器;具有较好的性能,存储器控截器耗费小,并且能够较好的 利用不同类型存储器的读写带宽,从而在某种程度上缓解存储器的瓶颈作用, 提高该嵌入式微处理器系统的整体性能。 第4 页 国防科学技术大学研究生院学位论文 1 4 研究成果 本文的研究工作主要取得了如下成果: 1 、充分了解了几种常见类型存储器的内部结构、工作原理、数据存储方式、 时序控制方式等功能特点,对比较有影响力的多种通用存储器控制器进 行了分析和研究,指出了这些存储器控制器的优点和存在的不足。 2 、提出了一种通用存储器控制器坪核体系结构。 3 。在该通用存储器控制器球核实现过程中,充分围绕提高存储器带宽利 用率和存储系统性能的需要,在许多环节进行了性能优化。 4 、用v e f i l o g 硬件描述语言实现了该通用存储器控制器i p 核,进行了模拟 测试和逻辑综合,并对结果进行了分析;将该i p 核集成到一款3 2 位高 性能微处理器芯片系统中,并通过了功能验证。 1 5 文章的组织结构 本文的组织结构安排如下: 第一章为绪论,介绍了谋题背景,研究目标和初步研究成果。 第二章为工程环境及相关准备工作,对a m b aa h b 总线协议、常见的几 种存储器和两种典型通用存储器控制器的体系结构进行了简单介绍。 第三章为通用存储器控制器口核体系结构,包括体系结构设计思路,以及 体系结构简介。 第四章为通用存储器控制器口核设计和实现过程中的关键技术问题。包括 地址f i f o 和写数据f i f o 设计问题、静态存赡器控制逻辑设计问题,以及动态 存储器控制逻辑设计问题。 第五章为通用存储器控制器妒核的v l s i 实现及评测。 第六章为结束语,对全文工作进行总结,指出课题研究取得的成果和不足 的地方,以及在进一步工作的侧重方向。 第5 页 国防科学技术大学研究生院学位论文 第2 章通用存储器控制器设计需求分析 要实现一种较好的通用存储器控制器,必须对它的应用环境有细致的了解, 还必须借鉴已有的各种通用存储器控制器体系结构,本章从这两个方面论述设 计通用存储器控制器的相关工作,并对通用存储器控制器的设计与实现进行了 详细的需求分析。首先对通用存储器控制器的应用环境进行简介,第一节介绍 a h b 总线协议,第二节介绍高性能s o c 系统中经常使用的几种存储器,第三 节介绍两种应用广泛的通用存储器控制器体系结构。 2 1a 耶总线协议 在图1 - 1 所示的高性能s o c 芯片系统中,通用存储器控制器是通过a h b 系统总线和微处理器以及系统的其它部分进行数据传输的,它必须和a h b 总 线协议兼容。要实现该通用存储器控制器m 核,必须充分了解a h b 总线协议 的相关信号及其操作规范。 a m b a 总线协议是a 蹦公司为高性能片上微控制器定义的套总线标准, 它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统宏单元的可 重用性;它主要包括三类总线: 1 、t h ea d v a n c e dh i g h p e r f o r m a n c eb u s ,b p a h b 总线; 2 、t h ea d v a n c e ds y s t e mb u s ,即a s b 总线; 3 、t h ea d v a n c e dp e r i p h e r a lb u s ,即a p b 总线。 其中a h b 总线主要适用于高性能、高时钟频率的可综合设计,支持处理 器、各种片内存储器、片外存储器和低功耗外设,a h b 总线协议具有如下特征 【5 1 : 1 、猝发传输; 2 、流水线操作; 3 、分离总线处理; 4 、总线所有权移交在单周期内完成; 5 、单周期时钟边沿操作; 6 、非三态实现; 7 、比其它总线更宽的数据总线配置( 可以达到6 4 甚至1 2 8 位) 。 a h b 总线协议规定:从设备被动的对主设备发起的传输作出响应,它通过 一个从译码器传来的选择信号来决定何时对主设各发起的传输作出响应:对于 第6 页 国防科学技术大学研究生院学位论文 通用存储器控制器来说,这个选择信号是由系统译码器生成的 h s e l m e m h s e l r e g 信号。其它信号,像地址信号、数据信号和控制信号,都 由主设备生成,并发送到从设备。 在启动个传输之前,a h b 总线主设备必须获得总线占有权。主设备向 a h b 总线仲裁器发出一个总线需求信号,然后由仲裁器来决定什么时候这个主 设备可以得到总线占有权。主设备得到总线占有权之后,通过驱动地址和控制 信号来启动个a h b 总线传输。这些信号提供传输地址、传输方向和传输数 据宽度等等信息,并说明该传输是否为个猝发传输的组成部分。写数据传输用 来将数据从主设备传送到从设备,相反地,读数据传输用来将数据从从设备传 送到主设备。 每个传输包括一个地址和控制信号时钟周期,一个或者多个数据信号时钟 周期。地址和控制信号周期是不能延长的,因此,从设备必须在该时钟周期内 对地址和控制信号进行正确采样。数据周期可以延长,把h r c a d y 信号设置为高 电平即可;在延长的数据周期中,从设备有足够的时间对写数据进行采样( 或 者提供读数据) 。 在传输过程中,从设备通过h r e s p 1 :o l 信号来把自己的状态告知主设备, h r e s p 1 :0 】信号各状态及解释如表2 - 1 所示: 表2 - 1h r e s p 信号状态及释义 h r e s p 1 :o l 状态 含义 0 0 o k a y 表示当前传输正在正常进行;如果h r c a d y 信号为 高,则表示当前传输已经完成。 0 1e r r o r表示当前传输出错。 1 0 、1 1r e t r y 和s p u t表示当前传输不能立即完成,必须菱试。 图2 - 1 表示一个最基本的a h b 总线传输,它包括两个部分:地址阶段, 仅仅持续一个时钟周期:数据阶段,需要一个或者多个时钟周期,只要主设备 把h r c a d y 信号设置为高,就可以让数据阶段持续多个时钟周期。 地址数据 ; ;阶段;阶段f h c l k 、卢_ 厂弋厂 h a d d 垣3 1 :0 = 二二挺二 二二 c o n t r o l 二二二 ( 互画d c 二工 h w d a t a 3 1 :0 二二二k 二二) 画西配 h r e a d y 卢弋 h r d a t a 3 1 :0 = 二二艇二二) 五殛配 图2 - 1 晟基本的a h b 传输 第7 页 国防科学技术大学研究生院学位论文 在这个基本a h b 传输中,a h b 总线主设备在时钟信号h c l k 的上升沿驱动 传输地址和控制信号,然后,a h b 总线从设备在下一个时钟周期上升沿对地址 和控制信号进行采样;采样完成之后,从设备发出响应信号,主设备在第三个 时钟周期上升沿对响应信号进行采样。 由图2 - 1 可知,地址阶段和数据阶段分别占据不同的时钟周期,两者是分 离的。事实上,在连续的a h b 传输中,往往是后一个传输的地址阶段和前一 个传输的数据阶段重叠在一起,两者同时进行。这种流水化操作方式,给从设 备提供了足够的响应时间,同时也带来了高性能。关于多个a h b 传输流水化 操作的情况如图2 - 2 所示。 h c l k 、卢- 卢_ 、- - 、厂 h a d d r 【3 1 :o 】= 二二k 二 c 至二 ( 二 ) c 二二义二 c o n t r o l h w d a t a 3 t :o 】= 二二x 二二 面巫 ( 亟砸d 画王二 h r e a a , 弋 h r d a t a 3 1 :0 a a a d a t ab :d a , a c 图2 - 2 多个a h b 传输流水操作示意图 2 2 高性能s o c 系统中常用的存储器 不同类型存储器的内部结构、编址方式、数据存储方式、时序控制方式、 性能参数等差异很大,因而对通用存储器控制器提出了不同的控制要求。要设 计并正确的实现一种通用存储器控制器球核,必须对各种不同类型存储器的特 性进行细致深入的了解。限于篇幅,这里只对高性能s o c 系统中常用的三种存 储器作一个简单介绍。主要是它们的时序控制原理。这三种存储器是:异步 s r a m 存储器、f l a s h 存储器( 注:区别于m i c r o n 公司推出的同步f l a s h 存储器) 和以s d r s d r a m 存储器为代表的动态存储器。 2 2 1 异步s r a m 存储器 异步s r a m 是一种高速静态随机存储器。静态随机存储器是靠双稳态触发 器来进行信息存储,只能用于暂时存放程序和数据,一旦关闭电源或发生断电, 其中的数据就会丢失。但是存取速度非常快,访问时间甚至达到4 5 n s - - 8 n s 。 异步s r a m 即a s y n c s r a m ( a s y n c h r o m o u s s t a t i c r a m ) ,其访问依赖c p u 时钟, 存取速度较动态存储器快,常见的异步s r a m 存储器访问时间有2 0 n s 、1 5 n s 和1 2 n s 几种。但在存取数据时,不能够与c p u 保持同步【1 2 1 【1 6 】。 第8 页 国防科学技术大学研究生院学位论文 由于访问速度快而容量小,所以异步s r a m 存储器主要集成在高性能s o c 芯片的片内,用来存放各种现场的输入、输出数据,中间计算结果,以及与外 部存储器交换信息和作为堆栈使用【切。 图2 3 是一个典型的异步s r a m 存储器读时序图。异步s r a m 存储器的 读、写过程很简单,不需要附加的命令( 像f l a s h 存储器、动态存储器的读、 写操作都需要多段命令序列来完成) 。但是,读、写操作要遵守存储器本身的时 序要求,也就是说,图中的各个时序参数都必须被满足,才能保证操作结果正 确。 : 盖 x l 眦c t o n t c o i 一 ik 型 t o e 。 ,t n n f i 。 、l t b a 【 r r 旧 l堂 一t o e e l ;咖i 圆 :霖对 图2 - 3 异步s r a m 存储器读时序图 2 2 2f l a s h 存储器 f l a s h 存储器由i n t e l 公司首先推出,目前广泛应用于便携式计算机的p c 卡内存领域和移动存储领域。f l a s h 存储器使用的是非挥发性存储技术,除非 对它施加一个高电压( 1 2 v ) 进行擦除,否则一直可以保持原状态不变。保存 数据不需电池的支持( 不加电的情况下,信息可储存长达数十年之久) 、可再写 ( 一般可以写1 0 万次以上) 、大容量( 目前已经达到2 5 6 m b ) 是它的显著特点。 它的访问时间可低至3 0 n s ,比硬盘驱动器快1 0 0 一1 0 0 0 倍、抗震能力比硬盘驱 动器强1 0 倍,并且功耗很小。 这些特点,对于高性能s o c 系统来说,非常具有吸引力,因此它也是高性 能s o c 系统中常用的存储器之一。在高性能s o c 系统中,f 乙峪h 存储器主要 用来存储器大容量程序和数据,或者用作启动( b o o t ) 程序的存储介质。 下面以l u t e l 公司的2 8 f 1 6 0 6 3 系列f l a s h 存储器为例,来简单介绍f 乙峪h 存 储器的时序控制方式,注意,下文中并不特别指明这一点。 f l a s h 存储器的操作类型很多:读、写、擦除、加锁、解锁、死锁和保护 寄存器编程等等,有1 3 种之多。和s r a m 存储器不同的是,这些操作一般采 用多段命令序列的时序控制方式来进行。比如,要完成一个写操作,首先要向 第9 页 国防科学技术大学研究生院学位论文 f l a s h 存储器的状态机写入编程建立命令( p r o g r a ms e t u pc o m m a n d ) ,然后写 入地址和数据,再不停地检测f l a s h 存储器内部的状态寄存器,直到状态寄 存器的内容表示写操作已经成功执行完毕,才能进入后续操作【1 3 1 1 14 1 。该流程如 强2 - 4 所示: 圈2 4f l a s h 存储器写操作流程图 在写操作过程中,首先片选信号c e # 和写使能信号w e # 低电平有效,编 程建立命令( 4 0 h ) 被送入写状态机;在片选信号c e # 和写使能信号w e # 的 第二个上升沿。对应于写操作的地址和数据被送到状态机;然后,状态机开始 不停的读取状态寄存器信息,直到状态寄存器信息表明写操作已经成功完成( 失 败) ,这个过程一般要持续很长时间,通常会达到几十微秒:最后,不管写操作 成功还是失败,都要向状态机写入读存储阵列命令( f f h ) ,回到默认的读存储阵 列模式。在默认读存储阵列模式下,后续操作才能启动:否则,启动后续操作 是非法的,会产生错误。f l a s h 存储器写操作时序的简单示意图如图2 5 所示。 第1 0 页 国防科学技术大学研究生院学位论文 片选c e # _ 八厂 八厂 输出使能o e # 、厂一 写入使能w e # 、厂_ 厂弋厂一 数据雹匠卜_ 函争 殛卜 复恸休眠使能r p # - 写保护w p # 厂弋 注:a 稳定态;b 写入编程建立命令4 0 h : 寄存器,检测写状态:f 写入f f h c 写入地址和数据:d 写延迟;e 读状态 回到默认的读存储阵列模式 图2 - 5f l a s h 存储器写操作基本时序图 前面只是以f l a s h 存储器的写操作为例,来说明它的时序控制方式。其 它的各种操作基本类似,都是采用多段命令的时序控制方式,至于采用什么命 令以及各种命令的顺序参考表2 - 2 。 表2 - 2f l a s h 存储器各种操作的命令序列 操作 第一个时钟周期流入的 第二个时钟周期流入的命令或者 命令f l a s h 的相关操作 命令地址数据命令地址数据 读存储阵列写任意f f h 读配置信息 写任意9 0 h 读 标识符地址标识符 读质询信息 写任意9 8 h 读质询地址质询信息 读状态寄存器写任意7 0 h读任意 状态信息 清除状态寄存器 写任意9 0 h 写存储阵列 写任意4 0 h写写地址 写数据 存储块擦除写任意2 0 h写 存储块地址 d o h 写存储阵列, 察除挂起写任意b o h 写存储阵列艨除恢复 写任意d o h 存储块加锁 写 任意 6 0 h 写存储块地址0 1 h 存储块解锁 写 任意 6 0 h 写存储块地址d o h 存储块死锁写任意6 0 h写存储块地址2 f h 保护寄存器编程写任意c o h写编程地址 编程数据 2 2 3以s d r - s d r a m 存储器为代表的动态存储器 动态存储器是靠m o s 电路中的栅极电容来进行信息存储。由于电容上的 第1 l 页 国防科学技术大学研究生院学位论文 电荷会泄漏,需要定时补充,所以动态存储器需要设置刷新电路。但动态存储 器比静态存储器集成度高、功耗低,因而成本也低,适于作大容量存储器1 2 l l 。 动态存储器按制造工艺的不同,可分为动态随机存储器( d y n a m i cr a m ) 、 扩展数据输出随机存储器( e x t e n d e dd a t ao mr a m ) 和同步动态随机存储器 ( s y n c h r o m i z e dd y n a m i cr a m ) 。 d r a m 需要恒电流以保存信息,一旦断电,信息印丢失。它的刷新频率每 秒钟可达几百次,但由于d r a m 使用同一电路来存取数据,所以d r a m 的存 取时间有一定的时间间隔,这导致了它的存取速度并不是很快。另外,在d r a m 中,由于存储地址空间是按页排列的,所以当访问某一页面时,切换到另一页 面会占用c p u 额外的时钟周期。 e d o r a m 同d r a m 相似,它取消了扩展数据输出内存与传输内存两个存 储周期之间的时间间隔,在把数据

温馨提示

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

评论

0/150

提交评论