




已阅读5页,还剩61页未读, 继续免费阅读
(微电子学与固体电子学专业论文)基于nios+Ⅱ的双核处理器系统研发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 可编程片上系统( s o p c ) 是基于可编程逻辑器件的可重构片上系统,作为片上 系统( s o c ) 和现场可编程门阵列( f p g a ) 相结合的一项综合技术,它利用软核处理器 在f p g a 开发板上方便地实现针对具体应用的系统设计方案,能够获得系统设计的 可编程性和低风险性,应用的灵活性及价格优势,被称为“半导体产业的未来”。 本文基于系统可重配置的思想,及面向用户,面向应用的s o p c 技术设计思想, 研究了n i o s i i 软核处理器的结构、性能和总线规范;构建了单核n i o s i i 处理器系 统,并在f p g a 芯片上实现,通过运算密集型的j p e g 解码任务验证了系统的具体应 用和正确性;提出基于n i o s i l 软核处理器的嵌入式多核系统设计思想,设计了双 核n i o s i i 处理器系统,实现了双核系统对j p e g 解码的并行处理;开发了j p e g 解码 中y u v 至u r g b 转换的自定义功能模块,并成功将此模块集成入n i o s l i 处理器系统中, 实现了浮点运算和乘法运算硬件加速处理,提高了系统的整体性能。 论文对系统功耗和性能进行了优化,利用逻辑映射重构,存储器优化和存储 器平衡等系统优化手段,使双核处理器系统功耗降低5 5 m w ,减少幅度达到总体功 耗的7 0 3 。通过将自定义功能模块集成入系统中,减小处理器运算开销,增大系 统处理并行度,单核处理器系统和双核处理器系统的性能分别被提高了约1 7 和 1 5 。 本文应用与n i o s u 相关的集成开发平台和f p g a 开发板,加快了s o p c 系统的 设计与验证环节的开发速度,对于嵌入式系统,特别是多处理器系统的开发和应 用,具有广泛的价值和积极的意义。 关键词:n i o s | l 软核处理器,可编程片上系统,多核处理器系统,低功耗设计, 自定义功能模块 a b s t r a c t s o p c ( s y s t e m o np r o g r a m m a b l ec h i p ) i sr e c o n f i g u r a b l es y s t e m o n p r 0 盯a m m a b l ed e v i c e a sac o m b i n a t i o no fs o c ( s y s t e mo nc h i p ) a n df p g a ( f i e l d p r o g r a m m a b l eg a t ea r r a y ) ,s o p cu t i l i z e ss o f t c o r ep r o c e s s o r t of a c i l i t a t et h es p e c i f i c a p p l i c a t i o n sd e s i g nw h i c hi m p l e m e n t so nf p g a t of u l f i l ls y s t e md e v e l o p i n g b e n e f i t i n g f r o ml o wr i s ka n dr e c o n f i g u r a b i l i t yi ns y s t e md e v e l o p i n g ,a sw e l l a sa p p l i c a t i o n f l e x i b i l i t ya n dp r i c ea d v a n t a g e ,s o p ch a se a r n e dr e p u t a t i o n a s “t h ef u t u r eo ft h e s e m i c o n d u c t o ri n d u s t r y t h i sp a p e re m b o d i e st h er e c o n f i g u r a b i l i t y ,u s e r - o r i e n t e da n da p p l i c a t i o n 。o r i e n t e d s o p cd e s i g ni d e a sw i t h i ne n t i r en i o si p r o c e s s o rs y s t e md e v e l o p i n g b a s e du p o n s t u d i e so nt h es t r u c t l 】r eo fn i o si is o r - c o r ep r o c e s s o ra n da v a l o nb u ss p e c i f i c a t i o n ,t h i s p a p e rc o n s t r u c t sau n i c o r en i o si ip r o c e s s o rs y s t e m ,i m p l e m e n t st h ed e s i g no nf p g a , a n dv e r i f i e st h e v a l i d i t y a n d p r a c t i c a b i l i t y o fu n i - c o r es y s t e mb ye x e c u t i n ga c o m p u t i n g i n t e n s i v ej p e gd e c o d i n gt a s k ad u a l c o r en i o si ip r o c e s s o rs y s t e md e s i g n i sp r o p o s e db a s e do nu n i c o r es y s t e m ,a n dt h ed u a l c o r es y s t e ma c h i e v e sp a r a l l e l p r o c e s s i n gf o rj p e gd e c o d i n go nf p g as u c c e s s f u l l y i nt h i sp a p e r ,y u v t or g b c o n v e r s i o nc u s t o mf u n c t i o nm o d u l ei sd e v e l o p e da n di n t e g r a t e di n t on i o si ip r o c e s s o r s v s t e r n ,b yw h i c ht of u l f i l lh a r d w a r ea c c e l e r a t i o nf o rf l o a t i n g 。p o i n ta n dm u l t i p l i c a t i o n c a l c u l a t i o n ,t h e r e b yt oi m p r o v et h es y s t e m so v e r a l lp e r f o r m a n c e t h i sr e s e a r c ht r i e s t oo p t i m i z e ds y s t e mp o w e rc o n s u m p t i o na n dp e r f o r m a n c e e m p l o y i n gl o g i cm a p p i n gr e c o n f i g u r a t i o n a n dm e m o r yo p t i m i z a t i o na l l dm 锄。巧 b a l a n c i n g ,m ep o w e rc o n s u m p t i o no fd u a l - c o r en i o si ip r o c e s s o rs y s t e m i sr e d u c e db y 5 5 m w ,笛m u c ha s7 0 3 o fo v e r a l lp o w e r b e n e f i t i n g 丘d mt h ei n t e g r a t i o no fy u v t o r g bc o n v e r s i o nm o d u l ew h i c hr e d u c e sc o m p u t i n go v e r h e a do fp r o c e s s o ra n di n c r e a s e s d e g r e eo fp a r a l l e l i s m ,t h es y s t e mp e r f o r m a n c ei si m p r o v e da b o u t1 7 a n d15 f o r u n i c o r ea n dd u a l c o r es y s t e mr e s p e c t i v e l y 。 t h i s p a p e r ,u t i l i z i n g n i o si i a p p l i c a t i o n s d e v e l o p i n gp l a t f o r m s a n df p g a d e v e l o p i n gb o a r d ,a c c e l e r a t e s t h es p e e do fs o p cs y s t e md e s i g na n dv e r i f i c a t i o n t h e r e f o r e ,f o re m b e d d e ds y s t e m sa n de s p e c i a l l yt h em u l t i 。p r o c e s s o rs y s t e m d e v e l o p i n g , t h i sp a p e rh a saw i d er a n g eo fv a l u e sa n dp o s i t i v es i g n i f i c a n c e - k e y w o r d :n i o si i s o f t - c r o ep r o c e s s o r ,s o p c ,m u l t i 。p r o c e s s o rs y s t e m ,l o wp o w e r d e s i g n ,c u s t o m i z e df u n c t i o nm o d u l e 创新性声明 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 关于使用授权的声明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本人签名:孑啦 导师签名:p 也华 日期 日期: 第一章绪论 第一章绪论 本章介绍了本研究的目的和意义,研究所采用的开发环境和设计工具,并简 要介绍了本研究中的主要工作。 1 1 研究的目的和意义 随着大规模集成电路设计技术和半导体生产工艺技术的发展,越来越多的器 件可以被集成在一块芯片上。然而,伴随着金属氧化物场效应管的特征尺寸的不 断减小,由于器件漏电流引起的功耗给大规模电路系统的设计构成了严峻的挑战; 此外,加之越来越高的系统时钟频率,系统的散热变得更加难以处理,因而加剧 了电路系统的泄漏电流功率消耗。摩尔定律的应用受到了挑战:改善c p u 的运算 速度不能再单纯依靠越来越多的晶体管数量和不断提高的系统时钟频率。为了适 应不断提高的系统要求,必须研究新的系统结构。 一个可行的解决方案是采用多处理器系统。其基本思想是系统运算任务将由 多处理器系统中的处理器核来并行处理。多处理器系统以较少的晶体管数量和较 低系统时钟频率,为每个处理器提供了可接受的计算能力。因此,多处理器系统 能够在降低系统功耗的基础上提供相对较高的系统性能。多处理器系统为解决当 前超大规模集成电路设计瓶颈问题提供了有效的解决方案。更重要的是,伴随设 计技术的快速进步,在系统设计中采用p 核已成为广泛接受的设计方案。由于d 核已经过精心设计,验证和测试,它们可以直接为新的系统设计所采用,而无需 更多的测试和验证。这在相当大的程度上为现代的超大规模集成电路系统开发提 供了有效和高效率的手段。 在系统开发的硬件设计方面,专用集成电路芯片的设计中,传统的开发过程 需要更长的设计时间和更高的开发成本,尤其是它包括非回收性工程成本。因为 传统的开发过程在设计的芯片没有从生产线上制造出来以前,将无法测试系统的 实际功能和性能。对于现代大型复杂系统的设计与较短的市场需求时间,这是无 法接受的。f p g a 技术的出现提供了有效的方法来解决这一挑战。应用f p g a 技术, 整个系统可以用硬件描述语言来设计和描述。系统设计功能经过仿真和验证之后, 整个硬件系统被“写入”至u f p g a 芯片中。被写入系统功能的f p g a 芯片如同由半 导体生产线制造出来的一样,能够正常实现系统设计所描述的硬件功能。基于 f p g a 技术,实现硬件系统的可编程芯片就能够实现无非回收性工程成本。更重要 的是f p g a 芯片可以“擦写”亦即硬件配置数千次而不失效。因此,结合p 核 技术和f p g a 技术,现在的大规模集成电路系统设计可以以s o p c 的方式进行,这 2基于n i o si i 的双核处理器系统研发 无疑将有利于快速和复杂的系统设计。 a l t e r a 公司开发的n i o si i 是基于s o p c 技术的3 2 位嵌入式处理器软核。与同类型 产品相比,n i o si i 软核处理器可以根据应用的具体要求对其实现的功能、处理性能 和硬件资源占用进行有针对性的配置,更能体现s o p c 技术思想。作为一种系统设 计新技术,在国外己经有了广泛的应用。但是在国内使用n i o si i 处理器的嵌入式设 计和开发还是处于起步阶段。开发者大多是使用已经得到市场验证比较稳定的处 理器产品,对于利用n i o si i 软核进行多核处理器的s o p c 系统开发,目前国内相关 的研究工作进展还比较少。因此,对于n i o si i 应用开发和研究还有大量工作需要开 展。基于上述观点,从学习新技术应用和实验开发的角度入手,本研究设计了基 于n i o si i 的双核处理器系统,实现在f p g a 开发板上,并以运算密集型的j p e g 解码 任务进行系统的功能验证。 在本文进行的研究中,将探讨如何建立一个基于n i o si i 软核处理器和f p g a 芯片实现的多处理器系统,以此实现多核处理器的s o p c 系统开发并研究如何优化 多处理器系统,以实现更好的系统性能和更低的系统功耗。概括如下: 1 研究设计一种可以基于f p g a 芯片实现的,实用的多处理器系统; 2 研究如何进行有效的软件和硬件协同设计和系统的实现; 3 研究如何在硬件电路板上实施该系统并进行系统性能的估计; 4 优化系统设计( 包括硬件和软件设计) ,以实现更优的系统性能和功耗。 1 2 开发环境和工具 本研究的目标是设计和实现一个基于n i o si i 处理器核的双核处理器系统,并在 a l t e r af p g a 芯片s t r a t i c se p l s 2 5 f 1 0 2 0 f 7 上执行此双核系统,以运算密集型的口e g 解码进行系统的功能验证。基于现有的实验条件和硬件设备,本研究将在认真分 析n i o si i 软核处理器的结构、性能和总线规范的基础上,进行n i o si i 单核和双核处 理器系统的开发,实验和系统优化。在研究中系统的实验的设计与仿真应用了以 下的e d a 工具和开发环境,包括: 1 s o p cb u i l d e r :用于设计,配置和生成n i o si i 处理器系统; 2 q u a r t u si h 用于进行编译、综合、验证、布局和下载整个硬件系统设计; 3 i d e :用来开发j p e g 解码应用。应用程序的调试也将在此开发环境中进行。 第一章绪论 图1l 系统开发工具和环境 在系统开发过程中,将对系统要求作分析仔细以使系统的软件和硬件分划分 能够趋于合理。本文除了研究系统开发,也将对系统的硬件和软件协同设计做出 探索和实践。最后,嵌入式多处理器系统将在目标f p g a 芯片中进行实现和验证, 并在系统实现的基础上对此系统进行性能和功耗的评估。在本研究中,处理器系 统将采用由日本三菱微电子公司生产的f p g a 开发板m u 2 0 0 一s x c w 2 5 来实现。如下 图所示。 图1 2f p g a 系统开发板 此开发板设置有f p g a 芯片s t r a t i xe p l s 2 5 f 1 0 2 0 c 7 ,两块s r a m 存储芯片 i d t 7 1 v 4 2 4 s 1 0 p h ,u s b 20 接口,标准r s 2 3 2 接1 2 ,j t a g 接口等,能够为系统开 发提供实现的硬件条件,方便系统的功能调试和验证。 i3 在本研究中的工作 本研究以增加系统集成度( 应用片上系统) 、缩短系统开发周期、降低功耗和成 本f 应用可编程技术1 ,同时保证系统性能为主要目标,基于一个嵌入式3 2 位k i s c 4 基于n i o si i 的双核处理器系统研发 软核处理器n i o s ,自主研究开发了一款基于s o p c 技术的嵌入式双核处理器系统。 本文从n i o si i 软核处理器着手,以多处理器可编程片上系统的设计开发和实现为主 要工作,不失一般性地研究基于嵌入式处理器的s o p c 软硬件协同开发开发过程及 方法,最终实现基于n i o s1 1 的双核处理器系统,并以j p e g 解码进行系统的功能验 证。 本研究工作包括设计和实现单核n i o si i 处理器系统和双核n i o si i 处理器系统。 在保证双核n i o su 系统能在f p g a 芯片上正确实现对j p e g 解码任务的并行处理后, 本研究将进行双处理器核n i o si i 处理系统的优化,研究如何提高性能和降低功耗。 在基于对软硬件协同开发的实现和分析的基础上,由于在j p e g 解码中到r g b 转换占用了相当大部分的处理器运算和系统功耗,因此y u v 到r g b 转换的自定义 模块被开发出来,并作为一个单独的功能模块被嵌入系统中。作为对处理器系统 的优化,y u v 到r g b 转换自定义模块不仅可以减少处理器工运算量,而且能够降 低系统的动态功率消耗。 针对论文和设计工作,本文包括以下几章内容: 第一章,简要介绍了本研究的目的,研究所采用的开发环境和设计工具,及 关于多核处理器系统开发和优化的主要工作。 第二章,对本研究中所要涉及的可编程器件,n i o s1 1 软核处理器,a v a l o n 总线 结构,s o p c 技术等技术背景和概念作简要分析介绍。 第三章,本章内容给出单核n i o si i 处理器系统的设计细节,其中包括系统各 组成部件的功能分析和在s o p cb u i l d e r 中的配置。在q u a r t u si i 中对单核系统进行编 译仿真之后,通过在f p g a 开发板上正确完成j p e g 解码任务,来验证单核n i o si i 处理器系统功能的正确性。最后进行了系统的功耗分析。 第四章,本章将讨论双核n i o s1 i 处理器系统的设计开发。为了实现任务的并行 处理,需要仔细分析双核n i o si i 处理器系统的构建和配置。关于如何在f p g a 目标 板上实现j p e g 解码任务来验证双核n i o si i 系统的正确运行也将详细讨论。本章也 将分析双核n i o si i 处理器系统的功耗评测,包括基于p o w e r - d r i v e n 编译的功耗仿真 和比较。 第五章,本章以对n i o si i 处理器系统的优化为目标,首先提出设计自定义模块 的目的,讨论了设计自定义模块的构建技术;在已经设计完成的n i o si i 处理器系统 中,本章设计完成了j p e g 解码中到r g b 转换的自定义模块,并集成入n i o si i 处理器系统;本章也将讨论集成自定义模块后系统的功耗评测。 第六章,对论文和开发工作做出简要总结,提出今后系统完善的方向。 第二章s o p c 设计技术 5 第二章s o p ;设计技术 a l t e r a 公司的n i o si i 软核处理器提出的s o p c 软硬件综合解决方案,彻底颠覆了 传统的嵌入式系统的设计理念,从硬件和软件设计上将嵌入式系统设计进行了极 大的推动,使得嵌入式系统的硬件电路更加简单、有效,易于理解;软件设计变 得轻松,移植性更强。与传统的采用基于微处理器的软件设计或者采用a s i c f p g a 的硬件实现相比,s o p c 的软硬件协同设计方法完全不同。它可根据应用系统的不 同需求,适当地划分软硬件的功能,以求得最佳的性能价格比。另夕b s o p c 技术使 开发者在软硬件系统的综合与构建方面可以充分发挥自己的创造性和想像力,对 系统的配置和功能进行优化。本章将对本研究中所要涉及的可编程器件技术,n i o s 软核处理器,a v a l o n 总线结构,s o p c 技术等技术背景和概念作简要分析介绍。 2 1 可编程器件技术 随着电子产品设计和工艺技术的发展,数字集成电路的发展已从真空管,晶 体管,中小规模集成电路,超大规模集成电路,直到专用集成电路( a p p l i c a t i o n s p e c i f i e di n t e g r a t e dc i r c u i t ,a s i c ) 。专用集成电路提供了许多优点,包括:降低产 品的成本,提高系统的性能,减少芯片尺寸,以及加速了技术革命中电子化演变 的进程【l 】。然而,当a s i c 在享有这些优势的同时,也有其自身的缺陷。通常a s i c 设计需要较长的设计周期,较高的人力资源和开发成本的投入。对于专用集成电 路的开发,其致命的弱点是,当设计需要有改动,即使很小的一部分,也需要很 大的代价来实现系统的重构。有时,它甚至会导致整个设计进行重新启动。为了 有效应对这一挑战,设计者需要有一定灵活性的设计方法,设计可以轻松地在实 验室环境中进行配置和验证。这便是原始的开发可编程逻辑器件( p r o g r a m m a b l e l o g i cd e v i c e ,p l d ) 的动机。 目前,随着微电子工艺技术的进步可编程逻辑器件已经获得巨大的发展。在 初期阶段,可编程逻辑器件只能储存少量的数据和执行相对简单的逻辑功能,如 可编程只读存储器( p r o g r a m m a b l er e a do n l ym e m o r y ,p r o m ) ,可擦除可编程只读 存储器( e r a s a b l ep r o g r a m m a b l er e a do n l ym e m o r y ,e p r o m ) ,和电可擦除可编程只 读存储器( e l e c t r i c a le r a s a b l ep r o g r a m m a b l er e a do n l ym e m o r y ,e 2 p r o m ) 。 如今可编程逻辑器件已发展成为一个全新阶段,它们能够实现非常大规模的 复杂的组合逻辑和时序逻辑。他们是复杂可编程逻辑器件( c o m p l e xp r o g r a m m a b l e l o g i cd e v i c e ,c p l d ) 和现场可编程门阵y u f p g a 。新一代的f p g a 中甚至出现内嵌 有c p u 或d s p 核的功能强大的芯片。因此,利用功能强大的f p g a 芯片可以有效地 实现系统的软硬件协同设计,为实现片上可编程系统s o p c 提供有力支持pj 。一般 基十n i o s i i 的日核处g # 系统研发 而言,可编程逻辑器件是内部连线和逻辑链路功能可用软件手段重构的数字集成 电路。通用的可编程逻辑器件在现阶段主要包括3 类:简单的逻辑阵yr j ( p a l g a l ) r 复杂可编程逻辑器件( c p l d ) ,和现场可编程门阵列( f p g a ) 。 与简单的逻辑阵列和c p l d 相比较,f p g a 可以执行外部或内置的r a m 或存储 器编程,设备功能的配置,现场编程和在线实时重新配置的模式。囡此,对于科 学实验,原型开发或小批量生产。f p g a 都是最适合的选择。以下内容揭示t f p g a 的内在结构,这正是其具有强大功能和优异性能的原因。 p r o g r a m m a b l e l “ 一, e m b e d 自d ! i _ 一b p i h a r d 一b a b i c d r m e u n i t 图21 现场可编程门阵列( f p g a ) 内部结构 f p g a 中各单元的功能介绍如下: ( 1 ) 可编程输入输出单元( v o 模块1 大多数f p g a 的i o 模块被设计成为可编程模式。通过灵活的配置软件,它们能 够适应不同的电气标准和物理输入输出接口的特点。不仅是对于上拉和下拉电阻, 而且输出驱动电流和阻抗匹配特性也可以调整。 ( 2 ) 可编程逻辑基本单元 f p g a 的基本可编程逻辑是由查找表( l o o k u p t a b l e ,l u t ) 和寄存器组构成的, 其中l u t 执行组合逻辑功能。f p g a 的寄存器组可以配置为由时钟引发的同步 异步设置或重置,或可以被配置为锁存器。通常,f p g a 依靠寄存嚣组来实现同步 时序逻辑设计。 ( 3 ) 嵌入式r a m 块 目前f p g a 通常有嵌入的r a m 块芯片。嵌入的r a m 块可灵活配置为单i r a m , 双 3 r a m ,伪取端口r a m ,c a m ,f i f o ,和其他存储结构。在f p g a 中没有r o m 的硬件资源,r o m 是通过分配初始值l u g a m 和保持此初始值来实现的。a l t e r a 的 设备包括三种类型的r a m 内存:m 5 1 2 r a m ( 5 1 2b i t ) ,m 4 k 存储器( 4k b i t ) 和 m - r a m ( 5 1 2k b i t ) 。 第二章s o p c 设计技术 ( 4 ) 丰富的连线资源 连线资源用于连接所有片内单元,组件和模块。连线的长度和工艺技术是决 定驱动能力和传输速度的关键因素。通常情况下,连线资源可分为: 全局特定连线资源:为整个芯片完成全局时钟和全局设置重置线路; 长线连线资源:提供器件组之间的高速信号连线,或用于次要的全局连接; 短线连线资源:用来完成基本逻辑单元之间的逻辑连接; 其他连线资源:还有逻辑单元内部的布线资源,以及某些特定的时钟和复位 信号线。 ( 5 ) 底部嵌入功能单元 这些功能单元是通用性比较高的模块,如锁相环( p h a s el o c kl o o p ,p l l ) ,延 时锁定回路( d e l a yl o c kl o o p ,d l l ) 和数字信号处理( d i g i t a ls i g n a lp r o c e s s ,d s p ) 等。在要求越来越复杂的现代f p g a 芯片中,越来越多的这类模块被嵌入芯片,以 满足各种用途的f p g a 应用。 ( 6 ) 特别的嵌入式硬核 特别的嵌入式硬核不同于底部嵌入式功能单元作为低层次的普通用途。亦即并 非所有的f p g a 器件都包括特殊的硬核。例如,3 1 8 7 6 g b i t s 的并串行与串并行转换 器模块只是嵌入在那些有明确市场目标的,价格比较昂贵的f p g a 芯片中,比如 a l t e r a 生产的s t r a t i xg x 系列f p g a 。 2 2n i o si i 软核处理器 n i o si i 软核处理器是a l t e r a 公司的第二代可编程逻辑优化的可配置处理器,其 性能超过2 0 0 m i p s 。利用a l t e r a 公司最新的n i o si i 软核处理器技术,将包括3 2 位高 性能处理器在内的多种应用模块嵌入到一个通用的f p g a c p l d 内,功能实现一 个完全可重置的嵌入式系统。在第一代的1 6 位n i o s 处理器已成为可编程逻辑设计中 软核嵌入式处理器标准的基础上,3 2 位的n i o s 嵌入式处理器不仅提供更高的性 能、更低的成本( 即更少的逻辑资源占用率) ,还提供了齐全的软件开发工具以及更 高的系统灵活性。 目前n i o si i 系列包括三种c p u 软核。一种是高性能软核,处理能力超过 2 0 0 m i p s ;种是精简软核,利用这种精简软核来构架一个完整的c p u 系统只需要 占用7 0 0 个逻辑单元;还有一种是标准软核,性能和逻辑资源需求界于两种之间。 这3 种产品具有3 2 位处理器的基本结构单元3 2 位指令大小,3 2 位数据和地址总 线,3 2 位通用寄存器和3 2 个外部中断源;使用同样的指令集架构( i s a ) ,1 0 0 进制 代码兼容,设计者可以根据系统需求的变化更改c p u ,选择满足性能和成本的最 佳方案,而不会影响已有的软件投入。、 8 基于n i o si i 的双核处理器系统研发 表2 1 三种类型n i o si i 处理器主要性能比较 特性 n i o si | f ( 快速) n i o si l s ( 标准) n i o s | | e ( 经济) 针对最少逻辑资源占 说明针对最佳性能优化 性能和资源占用折中 用优化 流水线 6 级 5 级无 乘法器1 周期3 周期软件仿真实现 支路预测动态静态无 指令缓冲可设置可设置无 数据缓冲可设置 无无 定制指令 2 5 62 5 62 5 6 n i o si i 处理器的主要结构特点: ( 1 ) 指令总线主端口 n i o si i 指令总线主端 ( i n s t r u c t i o nb u sm a s t e r ) 是3 2 位宽的端口,支持延时操 作,能够适用于各种不同速度的存储器。指令主端口可以在上一条指令返回之前 发出新的取指请求。n i o si i 采用“假设无分支( b r a n c h n o t t a k e n ) ”的预测方法来 生成预取指的地址。由于支持具有操作延时的存储器,因此使得在使用慢速存储 器时对c p u 的影响减少到最小,并能在整体上提高系统的最高频率。当访问慢速 存储器时,用户还可以选用片内缓存机制来提高读取指令的平均速度。由s o p c b u i l d e r 自动产生的a v a l o n 总线具有动态总线宽度的逻辑功能。因此,在n i o s 指令总 线主端口上可以连接8 ,1 6 和3 2 位宽的存储器,以满足不同的应用场合的需要。 ( 2 ) 数据总线主端口 对于3 2 位的体系结构,n i o si i 数据总线主端口( d a t a b u s m a s t e r ) 的宽度为3 2 位; 对于1 6 位的体系结构,则宽度为1 6 位。数据主端口有以下三种用途: 1 ) 当c p u 执行一个数据加载指令( l d ,l d p ,l d s ) 时,从存储器中读取数据。 2 ) 当c p u 执行一个数据存储指令( s t ,s t p ,s t s ,s t s s ,s t s d ,s t l 6 s ,s t l 6 d , s t s b s ,s t s l 6 s ) 时,向存储器写入数据。 3 ) 当c p u 执行t r a p 指令或者处理内,外部异常时从中断向量表中取出中断向量。 n i o s 数据总线主端口不支持延迟操作( 因为预测地址没有意义) ,因为数据主 端口把来自从端口的延迟看作是等待周期。当n i o si i 数据总线主端口被连接到具有 零等待周期的存储器上时,数据加载和数据存储操作都能在一个时钟周期内完成。 在数据总线主端口和指令总线主端口共享的从端口上,必须使得数据总线主端口 的优先级别最高,才能获得最高的工作性能。 ( 3 ) 高速缓存 n i o si i 中的指令和数据主端口各包含一个可选的高速缓存机制。通过s o p c b u i l d e r 中的n i o s 处理器配置向导,用户可以通过适当的适配来选择是否使用指令和 数据的缓存功能。缓存位于芯片内部,大小可以配置。 指令缓存和数据缓存都采用最简单的直接映射方式。在系统运行时,用户可 第二章s o p c 设计技术 9 一 以对n i o s 内的控制寄存器进行配置,来决定指令、数据的缓存功能是否有效。在 启用缓存功能的情况下,n i o si i 在执行程序时,如果缓存中具有下一条要执行的指 令或者具有当前指令所使用的数据,那么n i o si i 就可以直接使用,从而省去从外部 的存储器中获取指令或者数据的时间。当缓存有效时,缓存命中就会使得存储器 的加载操作在单个时钟周期内完成;当缓存不命中时,就会引起额外的延迟。当 禁止缓存时( 暂时以软件的方式禁止缓存功能) ,访问存储器就会引起额外的延迟。 但当重新启用缓存机制时,如果对存储器进行读写操作,则将导致一个或者两个 额外的延迟周期( 同样情况下,对使用缓存机制的存储器,写操作也将导致一个或 者两个额外的延迟周期) 。值得注意的是,高速缓存仅仅在3 2 位n i o si i 系统中才能 实现。 ( 4 ) 乘法支持 n i o si i 有三种不同的方法来实现整数乘法,分别介绍如下: 1 ) m u l 指令 3 2 位的n i o s cp u 可以选择配置成1 6 x 1 6 3 2 的整数硬件乘法器,m u l 指令可以 在3 个或者更短的时钟周期内计算出一个3 2 位的结果。m u l 选项被选中后,m u l 指令将利用由s d k ( 软件开发包) 自动产生的c 语言运行支持库( c r u n t i m e 库) 来实现 乘法运算。这里要注意的是,1 6 位的n i o s 指令系统不支持此项。 2 ) m s t e p 指令 3 2 位的n i o s cp u 可以配置成执行单步1 6 x 1 6 的乘法运算器,硬件乘法器将在2 个时钟周期内完成部分( 其余部分在软件辅助下完成) 乘法运算。m s t e p 选项被选中 后,s d k 生成的c 语言运行支持库就会支持相应的乘法操作,通过使用m s t e p $ 旨令, 可以连续实现乘法操作。由于使用m s t e p 所占用的c p u 硬件资源还不到5 ,很多 情况下利用如此小的硬件开销换得了对硬件乘法的支持,这无疑给软件设计带来 很大的方便。因此系统将m s t e p 设置为默认项。同样1 6 位的n i o s 指令系统不支 持此项。 3 ) 软件乘法器 当禁止m s t e p 和m u l 两种选项而需要完成乘法运算时,则由s d k 中的c 语言 运行支持库利用移位和加法指令来实现整数乘法运算。软件乘法器虽然占用了很 少的c p u 硬件逻辑,但是比起硬件实现的乘法运算,其执行速度要慢的多。 ( 6 ) 中断支持 n i o si i 允许用户取消对t r a p $ 旨令、硬件中断或内部异常的事件处理,这种选 择仅仅适用于非常简单的系统。在这种配置下,n i o si i 将具有以下特征: 1 ) 不包括岫输入引脚。 2 ) 无异常处理( t 凡心指令未定义) 。 3 ) 在执行s a v e 和r e s t o r e 指令使寄存器上溢1 下溢时,不产生异常中断。仅当 1 0基于n i o si i 的双核处理器系统研发 有如下要求时才能取消陷阱指令,硬件中断或者内部异常:需要最小化的 n i o s c p u 核;确定应用程序不会产生寄存器窗口溢出异常,即子程序的调用深 度小于寄存器窗口数。 4 ) 系统没有任何硬件中断源。 5 ) 汇编代码不包含陷阱指令。n i o si i 的s d k 在编译过的代码中不会产生陷阱指 令。缺省情况下,中断支持开启功能。 ( 7 ) n i o s 片上调试模块( o c i 模式) n i o si i 有个可选的片上j t a g 调试模块,它通过标准的j t a g 接口实现与c p u 的 通信。此模块是f i r s ts i l i c o ns o l u t i o n s ( f s 2 ) 公司开发的d 核,被称为n i o s o c i ( o n c h i pi n s t r u m e n t a t i o n ) 调试模块。在调试应用程序时,n i o si io c i 调试模块 支持用户设置硬件断点,还可以实现软件跟踪。所跟踪的数据保存在片上的存储 器或者外部的系统分析器 ( 女i i f s 2 公司的i s a n i o si n s y s t e ma n a l y z e r ) 。该模块还 可以向寄存器和存储器读写数据,允许在程序运行过程期间向存储器下载软件程 序和检查寄存器。n i o so c i 调试模块可以控铝i j c p u 的运行,无论何时,用户都可以 对正在执行的程序进行控制。 j 1 - a g i n l e t r a c e t os o f t w a r e d e b u g g e r c u 戚o m i 0 s i g n a l s 图2 2n i o si i 处理器系统结构示例 第二章s o p c 设计技术 2 3a v a l o n 总线结构 a v a l o n 总线是一种相对简单的总线结构,主要用于连接片内处理器与外部设 备,以构成可编程片上系统( s o p c ) 。它描述了主从组件间的端1 :3 连接关系,以及 组件间通信的时序关系。 利用a v a l o n 总线的主要优点是: 1 简单性提供一套容易学习、易于理解的协议; 2 总线逻辑资源使用的优化减少对可编程逻辑器件( p l d ) 中逻辑单元 ( l e ) 的占用; 3 同步操作这种方式能够与片上的用户自定义逻辑更好地集成,避免 了复杂的时序分析问题。 a v a l o n 总线拥有多种传输模式,以适应不同外设的要求。a v a l o n 总线的基本 传输模式是在一个主外设和一个从外设之间进行单字节、半字或字( 8 、1 6 或3 2 位) 的传输。当一次传输结束后,不论新的传输过程是否还是在同样的外设之间进行, a v a l o n 总线总可以在下一个时钟周期立即开始另一次传输。a v a l o n 总线还支持一 些高级传输模式和特性,例如支持需要延迟操作的外设、支持需要流传输操作的 外设以及支持多个总线主设备并发访问。a v a l o n 总线支持多个总线主外设,允许 单个总线事务中在外设之问传输多个数据单元。这一多主设备结构为构建s o p c 系统提供了极大的灵活性,并且能适应高带宽的外设。例如,一个主外设可以进 行直接存储器访问( d m a ) 传输,从外设到存储器传输数据时不需要处理器干预。 a v a l o n 主从外设之间的交互是构建在从端口仲裁技术上的:当多个主外设同 时要求访问同一个从端口时,从端口仲裁决定哪一个主外设取得访问权。从端口 仲裁具有以下两个优点: 1 仲裁的细节被封装在a v a l o n 总线内部。因而,主从外设的接口是一致的,与 总线上的主从外设的数量无关。每个主外设到总线的接口都与总线上是否还有 其他主外设无关; 2 多个主外设只要不是在同一总线周期访问同一个从端口,便可同时执行多个总 线传输。 a v a l o n 总线是为s o p c 开发环境而设计的,互连逻辑由p l d 内部的逻辑单元构 成。因而a v a l o n 总线具有以下基本特点: 1 所有外设的接口与a v a l o n 总线时钟同步,不需要复杂的握手应答机制。这样 就简化了a v a l o n 总线的时序行为,而且便于集成高速外设。a v a l o n 总线以及 整个系统的性能可以采用标准的同步时序分析技术来评估: 基十n i o si i 双核处日# 系统研发 “5 ”5 圈叠墨曩圈 1 :n v 。- 。r - s w t c “r 。s “c1 :1 : i 孥洲烈i “5 m 瓣;。, m 24s o p c 技术 s o p c 设计技术是现代计算机辅助设计技术,e d a 技术和大规模集成电路的发 展的成果。利用嵌入式处理器系统,接口系统,硬件协处理器,d s p 系统,数字 第= 章s o p c 设计技术 通信系统,存储电路,以及普通的数字系统,s o p c 拄术能够将整个系统实现在 块f p g a 芯片上。 m 嘶e b 师 8 y n 晰, d s p b o l h e r l u t 、r e 口g 时 p r o g a m m a b l e 、 一潭二缓 型 舞镕匿 穗 舵4 三种技术结合实现觥 e d a 技术,口核技术和f p g a 三种技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公文写作的系统化经验试题及答案
- 公司短期租车合同范例
- 净水销售合同范例
- 行政管理中创新管理的成功案例试题及答案
- 出售酒店装修合同范例
- 2025年实习考试试题及答案
- 冷库加班入货合同范例
- 充电器定制生产合同范例
- 养鱼工厂租赁合同范例
- 农场品购销合同范例
- 人教版一年级数学下册第六单元 数量间的加减关系标准检测卷(含答案)
- 2024年扬州大学辅导员考试真题
- 医疗设备档案管理制度
- 2025年上半年广州市海珠区海幢街道招考康园工疗站工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 预设理论在人工智能中的应用-深度研究
- 网络安全概述
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 工业机器人在建筑行业的应用考核试卷
- 人体发育学 第十章 婴幼儿情绪情感的发育
- 小学安全知识家长进课堂
- 文化交流及艺术展览合作合同
评论
0/150
提交评论