(电路与系统专业论文)一种基于amba总线的java+soc.pdf_第1页
(电路与系统专业论文)一种基于amba总线的java+soc.pdf_第2页
(电路与系统专业论文)一种基于amba总线的java+soc.pdf_第3页
(电路与系统专业论文)一种基于amba总线的java+soc.pdf_第4页
(电路与系统专业论文)一种基于amba总线的java+soc.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

摘要 一种基于a mb a 总线的j a v as o c 专 业:电路与系统 硕士生:代巍巍 指导教师:谭洪舟教授 摘要 随着j a v a 语言在嵌入式领域中的广泛应用,j a v a 专用处理器凭借执行速度快、 内存消耗小的优势备受系统开发者的青睐。然而现有的j a v a 处理器,往往只关注 内部结构的优化和性能的提高,忽略了嵌入式系统的应用要求,不支持多种外围 设备,尚未真正实现j a v a 语言的跨平台特性。 针对上述问题,在详细分析了开源j a v a 处理器j o p 的结构和运行过程的基础 上,本文提出了更适合嵌入式系统应用的j a v as o c 设计方案。它采用j o p 核作为 中央处理器,利用a m b a 片上总线技术集成各种存储器和外设接口,功能十分强 大,应用范围广阔。 与其它j a v a 处理器相比,本文设计的j a v as o c 具有以下创新之处:它采用双 层a h b + a p b 总线架构,在保证总线速度的同时,减少了功耗,提高了系统性能; 它对存储器和外设进行统一编址,减少2 条外设访问微码指令,简化了硬件电路 结构;它提出了微码表动态载入技术,能够在系统复位后将包含引导代码和微码 子程序等信息的微码表,从片外动态载入到处理器核中,避免软件固化,方便系 统升级;它实现了动态类装载技术,在目标板上运行类装载器,动态载入j a v a 类 文件,真正实现j a v a 语言的平台独立性。 系统仿真和f p g a 原型板验证结果均表明,j a v as o c 的设计具有可行性和正 确性,可以交付后端设计、准备流片。 关键词:j a v as o c ;j o p 处理器;a m b a 总线;f p g a a b s t r a c t a m b ab u s - - b a s e dj a v a s y s t e m - - o n c h i p m a j o r : n a m e : c i r c u i t sa n ds y s t e m s w _ e i w e id a i s u p e r v i s o r :p r o f e s s o rh o n g z h o ut a n a b s t r a c t a sj a v ai sb e c o m i n gm o r ea n dm o r ew i d e l yu s e di ne m b e d d e ds y s t e m st o d a y , j a v ap r o c e s s o r sa r ep r e f e r r e db yd e v e l o p e r sf o rt h e i ra d v a n t a g e so fe f f i c i e n tb y t e c o d e s e x e c u t i n ga n dl o wm e m o r yc o n s u m i n g h o w e v e r , m o s to ft h ee x i s t i n gj a v ap r o c e s s o r s a r ed e d i c a t e dt oi m p r o v et h ep e r f o r m a n c eo fc p uc o r eo nr e s o u r c e c o n s t r a i n e d d e v i c e s ,b u t l a c kt h e c o m p a t i b i l i t yw i t ho t h e rp o p u l a rp e r i p h e r a l sw h i c ha l e i n d i s p e n s a b l et os a t i s f yt h ed i v e r s i t yo f j a v aa p p l i c a t i o n s i nt h i st h e s i s ,aj a v as o ci sp r o p o s e dt or e a l i z eac o m p l e t ej a v av i r t u a lm a c h i n e ( j v m li nh a r d w a r ef o rt h es a k eo fe x t e n d i n gj a v aa p p l i c a t i o n sa n ds u p p o r t i n gj a v a s c r o s s - p l a t f o r mf e a t u r e t h ei d e ai st oi n t e g r a t ea no p e ns o u r c ej a v ac o r ec a l l e dj o p a n dv a r i o u sm e m o r i e s 嬲w e l la sp o p u l a rp e r i p h e r a l so na d v a n c e dm i c r o c o n t r o l l e r b u sa r c h i t e c t u r e ( a m b a ) o nas i n g l ec h i p c o m p a r e d 谢mo t h e rj a v ap r o c e s s o r s ,t h ep r o p o s e dj a v as o ch a sm a d et h e f o l l o w i n gc o n t r i b u t i o n s f i r s t l y , am u l t i - h i e r a r c h ya m b a b u si sb r o u g h tf o r w a r dt o d e c r e a s es l a v e s p o w e rc o n s u m i n ga n da c h i e v em a s t e r s h i g hp e r f o r m a n c e s e c o n d l y , au n i t e da d d r e s sm a p p i n gm e t h o df o rm e m o r ya n di 0i sa d o p t e da n dt h u st w o r e d u n d a n tm o c r o c o d ei n s t r u c t i o n sa r er e m o v e d t h i r d l y , am i c r o c o d et a b l ew h i c h c o n t a i n sb o o t i n gc o d e sa n dm i c r o c o d es u b r o u t i n e si sd y n a m i c l yl o a d e df r o mt h e e x t e r i o ro ft h ec h i pi n t oj o pc o r ea f t e rr e s e t a sar e s u l t ,t h et a b l ed o e sn o tn e e df i x i n g o nt h ec h i pa n dc a nb em o d i f i e da tr a n d o m f i n a l l y , ac l a s s l o a d e ri sl o c a t e do nt a r g e t b o a r da n dd y n a m i c l yl o a d sj a v ac l a s sf i l e s ,i nw h i c hw a yj a v a sc r o s s p l a t f o r m f e a t u r ei sa c h i e v e d t h ed e m o n s t r a t i o np r o t o t y p ei sb u i l to na l t e r af p g ab o a r da n dt h ew h o l ej a v a s o cw o r k s ,w h i c hm e a n st h ep r o j e c tc a l ls t e pi n t ob a c k e n dd e s i g ns t a g e k e y w o r d s :j a v as o c ;j o p ;a m b a ;f p g a i i 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名 日期 :代黼 :2 宠廿年,月7日 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学校有权保留 学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版,有权将学 位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。 学位论文作者签名 日期 :懒 :力砑年,月7 日 新崎 咝冉 , 日期:2 现沪年,月7 日 第l 章引言 1 1 研究背景及意义 第1 章引言 近年来,j a v a 语言凭借简单、平台无关、面向对象、分布式、健壮、安全、 体系结构中立、可移植、解释性、高性能、多线程、动态等特点【1 】在网络上大获 成功之后,又开始在网络家科2 1 、智能卡【3 1 、移动电话 4 1 等嵌入式系统的应用领 域中得到推广。然而,j a v a 为了保证跨平台运行特性所采用的虚拟机技术5 1 ,使 得程序运行速度缓慢、存储器资源消耗过多,成为制约有实时性要求并且资源有 限的嵌入式系统性能提高的瓶颈。如何提高j a v a 程序的运行效率,是在嵌入式 领域引入j a v a 技术时亟待解决的关键问题。 j a v a 虚拟机( j a v av i r t u a lm a c h i n e ,简称m ) 是指能够运行经过编译的j a v a 目标代码( 即字节码) 的计算机的实现【6 1 ,它采用特殊的堆栈型体系结构,位于 j a v a 应用平台和系统平台之间。在嵌入式系统中运行j a v a 程序的关键是通过软 件或者硬件的方式实现j a v a 虚拟机【7 】: 1 软件实现方法 解释执行【8 l :用以软件方式实现的j a v a 虚拟机来解释执行字节码,一条 简单的j a v a 指令被解释成多条指令实现,执行速度较低。但该种解释执行虚拟 机实现程序简单,较为常见。 即时编译 9 1 :将频繁使用的字节码编译成机器码存储在内存中,直接调 用执行。即时编译器提高了速度,但消耗大量的存储器资源并带有不确定的编译 时间延迟,这对于资源有限并且有实时性要求的嵌入式系统来说并不适用。 本地编译【l o 】:直接将j a v a 原程序在下载运行之前编译成为本地机器码, 只能在本地平台上执行,失去了j a v a 最显著的平台无关的特点,没有得到广泛 应用。 2 硬件解决方案 j a v a 专用处理器:如s u n 公司的p i c o j a v a 系列【1 1 】、a j i l e 公司的j e m 1 2 1 、 中山大学硕士学位论文 v u l c a na s i c 公司的m o o n 处理器【1 3 j 、m a r t i ns c h o b e r l 研制的j o p 1 4 j 等,都直接 仿照j v m 的堆栈型结构设计,以j a v a 字节码作为处理器的指令集合,极大地提 高了程序运行速度。值得注意的是,为了进一步推广j a v a 虚拟机的硬件实现, 开源网站提供j o p 处理器源码的免费下载i l 引,极具参考价值。由于j a v a 是一种 高级语言,“全j a v a 处理器实现难度极大,也缺少成熟的j a v a 操作系统支持, j a v a 专用处理器仍存在很大的发展空间。 j a v a 协处理器:如j e d it e c h n o l o g i e s 公司的j s t a r t l 6 】,亦称j a v a 硬件解 释器,将字节码对瘟的本地r s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t i n g ) 指令固化 在存储器中,协处理器读入字节码,将其翻译成本地r i s c 指令,再送到处理器 执行。然焉由于j a v a 字节玛基予堆栈结构,r i s c 指令基于寄存器体系,执行指 令所需要的操作数需要先写入内存蒋读入到寄存器,导致执行效率降低,限制了 处理器性能的提离。 j a v a 并行微处理器:1 9 9 9 年,s u n 公司针对j a v ac o m p u t i n g 推出m a j c 簸理器嘲,采用超长指令字技术设计,内部采用r i s c 结构,支持j a v a 程序的线 程级并行。该处理器的缺陷是对已有软件目标代码兼容性较差,缺少有效的编译 器,露蘸只限应麓予专用媒体数据处理器。 由上述分析可见,采用软件方法提高j a v a 运行速度已不熊从本质上解决闯 题,要大幅度提离j a v a 运行速度,只能采用硬件实现j a v a 虚拟机。由硬件直接 执行j a v a 字节码,执行速度更快,内存消耗更少,更适合嵌入式系统的应用要 求。目前已有的j a v a 处理器,大多采用的是堆栈结构,更关注的是处理器内部 性能的提离,嚣忽略了实际应用,具体表现在:未真正实现j a v a 语言的跨平台 特性;缺少成熟的j a v a 操作系统支持;不能支持多种外围设备。 近年来s o c ( s y s t e m o n - c h i p ) 技术器司的发展为解决上述问题提供了可行性 方案:以j a v a 微处理器为核心,利用片上总线技术集成各种存储器、控制电路、 时钟电路,乃至i o 功能于个芯片上,不但大大提离了系统性能,而且通过在 系统启动时将j a v a 类装载器导入至因标电路板上,能真正用硬件实现j a v a 的跨 平台特性。这一s o c 解决方案为j a v a 处理器的研究提供了新思路,兼容多种外 设且j a v a 程序能够脱离p c 机而独立运行于嵌入式系统中,极具应用前景。因此, 2 第1 章引言 应用先进的s o c 设计方法和理论,研究开发j a v a 专用s o c 及配套开发环境具有 相当大的理论意义和实际价值。 1 2 论文选题及贡献 1 2 。1 课题介绍 嵌入式j a v a 处理器s o c 芯片v p 6 0 0 0 的研制是本人导师谭洪舟教授主 持的广州市科技局2 0 0 7 年科技攻关项目,目的是针对嵌入式实时应用领域开发 一款能够直接运行j a v a 程序的处理器芯片和一套方便用户使用该芯片进行二次 开发的j a v a 系统开发平台,使得程序员只需懂得通用p c 机的j a v a 编程知识, 即可高效地开发嵌入式j a v a 应用软件。v p 6 0 0 0 最大的特色是真正实现了j a v a 语言的跨平台特性,j a v a 程序一经编译,便可直接在v p 6 0 0 0 上运行。此外,灵 活多样的存储器和外设接嚣设计,以及对音频和以太网的支持,大大拓展了 v p 6 0 0 0 的应用领域。s o c 芯片v p 6 0 0 0 代表着j a v a 虚拟机硬件实现技术的又一 新方向。 本人在该项目的开发过程中负责v p 6 0 0 0 的前端设计工作,为研制该j a v a s o c 类装载器及配套开发环境提供一个硬件平台。 1 2 。2 主要贡献 本文根据j a v as o cv p 6 0 0 0 的系统结构和软硬件功能划分,开发了一个能够 直接运行j a v a 程序的嵌入式硬件平台,主要贡献如下: 实现动态类装载技术:在系统窟动时将j a v a 类装载器导入至嚣标电路板 上,在板上运行类装载器,动态载入j a v a 类文件,真正实现j a v a 语言的平台独 立性。 改进j a v a 处理器:v p 6 0 0 0 采用开源的j o p 作为微处理器。本文研制出 一种基于s o c 的微码表动态载入技术,能够在系统复位后将包含引导代码和微 码子程序等信息的微码表,从片外动态载入到处理器核中进行内存初始化,改进 中山大学硕士学位论文 了基于f p g a 而设计的j o p 将微码表固定在片上的不足,避免软件固化,方便 系统升级;此外,本文还为j o p 设计了专门的片上总线接口。 设计多层次片上总线:本文采用a r m 公司的a m b a 总线【1 9 1 ,设计了一 个三层总线系统,包含高速系统总线、低速系统总线以及外设总线,不但具有很 高的性能,而且接口简单、功耗低,对整个s o c 系统结构优化具有重要意义。 此外,总线译码器对存储器和外设进行统一编址,减少2 条外设访问微码指令, 简化了硬件电路结构。 设计存储器系统:本文设计了一个灵活的存储器控制器,能够支持不同 类型及多种位宽的存储器,包括s r a m ( 8 位1 6 位3 2 位) 、s d r a m ( 8 位1 6 位3 2 位) 以及n o rf l a s h ( 8 位) ,为s o c 的应用提供方便。 设计多种外设:本文还设计了基于a m b a 总线的计时器及看门狗电路、 中断控制器、通用输入输出端口以及串口,积累了自主知识产权。 1 3 论文结构 本文共分7 章。第l 章是引言,介绍论文的研究背景、研究意义和论文的选 题及贡献;第2 章是s o c 及a m b a 片上总线概述,深入研究a m b a 总线的设 计基础和要求规范:第3 章是j o p 微处理器分析,主要分析j o p 的设计架构、 系统运行过程及不足之处;第4 章是j a v as o c 系统总体设计,提出本文所要设 计的j a v as o c 系统总体结构,着重分析系统运行过程和平台独立性;第5 章是 j a v as o c 硬件设计,详述了微处理器、片上总线、存储器系统及几种外设的改进 和设计方法;第6 章是系统验证,阐述了验证流程,并对j a v as o c 进行软件仿 真和硬件测试;最后,第7 章总结与展望,总结全文并提出进一步完善j a v as o c 系统设计的方向。 4 第2 章s o c 及a m b a 片上总线概述 第2 章s o c 及a m b a 片上总线概述 2 1s o c 概述 随着微电子技术的迅速发展,集成电路芯片的集成度越来越离,露前可以在 单芯片上集成上百万到数亿只晶体管,构成片上系统( s y s t e m o n - c h i p ,简称 s o c ) :在一小块芯片上集成处理器、存储器及片上逻辑,由单片集成电路构成 功能强大的完整系统【2 0 】。 s o c 逐渐成为嵌入式系统发展的主流,这是因为它具有诸多优点2 l : 充分利用i p ( i n t e l l e c t u a lp r o p e r t y ) 技术,减少产品设计复杂性和开发成 本,缩短产品开发时间; 减少乡 围驱动接口单元和电路板之间的信号传递,加快了数据传输和处 理的速度; 单芯片集成电路可以有效地降低系统功耗和蘧积; 客户定制或面向特定用途的标准产品,其灵活性能最大满足嵌入式系统 的要求,提高系统整机性能; 在现场可编程芯片上提供系统级集成的s o c ,不但具有a s i c 高集成度 的特性,面量具有f p g a 的低风险、灵活和上市快的优势。 s o c 芯片集成度的增加以及工作频率的加快,使得芯片设计的复杂性迅速增 加,而市场竞争的愿力追使设计者应最大限度地缩短设计周嬲,这就要求设计者 能够重复使用已经设计并经过验证的知识产权模块,即选择所需功能的i p 核, 集成到一个芯片中。由于l p 核的设计千差万别,i p 核的互连就成为s o c 设计的 关键。 片上总线( o n c h i pb u s ,简称o c b ) 是实现s o c 中i p 核互连最常见的技 术手段,它以总线方式实现l p 核之闻的数据通信【2 2 1 。般要求片上总线的设计 要尽可能简单、具有较大的灵活性以及低功耗,以满足嵌入式系统的性能要求。 飚前,国际上比较成熟的标准化、开放化的片上总线标准有a r m 公司的a m b a 5 中山大学硕士学位论文 总线【1 9 1 、s i l i c o r e 公司的w i s h b o n e 总线【2 3 1 以及a l t e r a 设计的a v a l o n 总线等。 其中,a m b a ( a d v a n c e dm i c r o c o n t r o l l e rb u sa r c h i t e c t u r e ) 总线是专门为嵌入式 系统而设计的标准协议,由于其自身的高性能和完全开放性以及a r m 处理器的 广泛应用,已经成为s o c 设计中使用最广泛的总线互连标准。本文设计的j a v a s o c 亦采用a m b a 总线作为片上i p 核之间的互连通信协议。 2 2 a m b a 总线规范 1 9 , 2 5 - 2 7 l a m b a 总线规范定义了三种不同层次的总线标准:a h b ( a d v a n c e d h i g h - p e r f o r m a n c eb u s ) 、a s b ( a d v a n c e ds y s t e mb u s ) 和a p b ( a d v a n c e dp e r i p h e r a l b u s ) 。基于a m b a 总线的典型s o c 系统如图2 1 所示。其中,高性能系统总线 a h b a s b 用来连接c p u 、片上存储器和其他的高性能i p 模块,如d m a ( d i r e c t m e m o r y a c c e s s ) 等;低带宽外设总线a p b 用来连接系统的大部分低速外部设备。 系统总线和外设总线之间用一个桥接器进行连接,以减少低性能总线对高性能总 线造成的延迟。需要注意的是,a s b 总线是a r m 的第一代系统总线,由于a h b 可以实现更高性能的连接,a r m 建议在新的设计中使用a h b 总线。 图2 1 典型的a m b a 总线系统 2 2 1a m b aa h b 总线 a m b a 的a h b 总线作为高性能系统的骨干总线,主要用于连接高性能、高时 钟频率和高吞吐量的系统模块,女i c p u 、片上存储器、d m a 设备及其它协处理 器等。其主要特性如下: 6 第2 章s o c 及a m b a 片上总线概述 数据总线:支持3 2 位、6 4 位、1 2 8 位和2 5 6 位宽,读写数据线分离 地址总线:3 2 位宽,流水作业 主要性能:工作频率高,非三态实现,支持多主设备操作、流水线操作、 突发传输以及分裂传输 l - a h b 总线曩连 a h b 总线协议是基于中央复用器的互连结构,如图2 - 2 所示。 图2 - 2a h b 总线互连结构图 一个典型的a m b aa h b 总线设计包含以下单元: a h b 主设备:有权请求总线,发起读写操作并提供地址和控制信息; a h b 从设备:响应读写操作,并将数据传输状态反馈给当前主设备; a h b 仲裁器:授予主设备总线使用权; a h b 译码器:译码主设备发出的地址信息,选择相应的从设备。 2 a m b aa h b 信号列表 表2 1 列出了烈v l b aa h b 总线信号描述,表2 。2 列出了支持多主设备操作的仲 7 中山大学硕七学位论文 裁信号描述。 表2 1a m b aa h b 信号 信号名信号描述信号源信号作用 h c l k 总线时钟时钟源所有总线传输的时钟信号,上升沿有效 飘r e s e t 狂复位复位控制器总线复位信号,低电平有效 h a d d r 3 1 :0 i 地址总线 主设备 3 2 位地址总线 h t r a n s i :0 l 传输类型主设蚕 指示当前传输类型:n o n s e q 、s e q 、i d l e 或b u s y h w r i t e 传输方向主设备高电平为写传输,低电平为读传输 h s i z e 2 :0 l 传输宽度主设备 搬示传输的数据宽度:字节( 8 位) 、半字( 1 6 饿) 或字( 3 2 饪) ,最大可达1 0 2 4 位 h b u r s t 2 :0 l 突发类型主设备指示突发传输类型,支持线性或循环传输方式 的辱、8 或1 6 攘突发传输 h p r o t 【3 :0 1 保护控制主设备指示当前传输是取操作码还是访问数据,是优 先模式访问还是用户模式访问 h w d a t a 3 1 :0 l写数据总线 主设备i 设蚤自从竣备传输数据酶写数据总线 h s e l x 从设备选择 译码器指示当前传输所针对的从设备 h r d a t a 3 1 :o l 读数据总线从设备从设备向主设备传输数据的读数据总线 鬏r e 轰d v 传输结束麸设备高电平箍示总线传输缭东,低电平表示黄输需 等待,该信号在从设备上既是输入也是输出 h r e s p i :0 l 传输响应从设备提供传输状态的附加信息:o k a y 、e r r o r 、 爻嚣零瑟¥秘s p l i t 表2 - 2a h b 仲裁信号 信号名信号描述信号源信号作用 h b u s r e q x 总线请求主设备主设备x 用该信号向总线 申裁器请求总线 h l o c k x锁定传输主设备高电平表示圭设备获得了对总线的锁定访阀, 其它主设备无法获得总线直到该信号变低 l l g n t x总线授予仲裁器h r e a d y 和h g r a n t x 均为高时,l 孛裁器授予主 设备x 总线访润权 h m a s t e r 3 :0 l 主设备号仲裁器指示当前正占用总线的主设备号 鬏醒a s t e r l o c k 锬定序列 枣 裁爨指示当前主设备正在进行镤定序列的铸输 h s p l i t x 1 5 :0 1 分裂完成从设备从设备x 用该信号向仲裁器指示哪个主设备应 请求被允许再发起一次分裂传输 8 3 基本数据传输 如圈2 。3 所示,每个a h b 数据传输包括两个分离的部分: 地址和控制信息:传输一个周期 数据:传输一个或多个周期,受从设备发出的h r e a d y 信号控制 第2 章s o c 及a m b a 片上总线概述 毒毒粕茸l - 一o 埘一 ll ll 1 一 1 一l _ _ _ _ _ _ _ - 一 l i 一 慰txx舡 慰一 k 胍 慰 xx 0 艇 辩 州| |八| ln 慰慰麟 案匝 图2 3a h b 总线基本数据传输时序图 在图2 3 中,当h c l k 上升沿到达后,主设备将地址和控制信息发到总线上; 在下一个时钟上升沿,从设备对地址和控制信息采样,根据数据传输完成情况将 h r e a d y 信号拉低,插入“等待状态;主设备在接下来的时钟上升沿采样 h r e a d y 信号,直到h r e a d y 为高,数据才被写入读回。虽然在单个数据传输 时,地址与数据在时序上是分开的,但在连续的数据传输时,地址和数据在时间 上是可以重叠的,构成流水线操作。 4 突发传输 a m b aa h b 总线规范中定义了4 、8 和1 6 拍以及无定义长度的突发传输,可 王作在线性地址或循环地址传输模式下。在线性突发传输模式下,每一次数据传 输的地址等于前一次传输地址加上传输数据宽度( 由h s i z e 信号给出,以字节为 单位) ;在循环突发传输模式下,嵩传输地址线性增长到高地址边界时便跳回到 低地址边界,构成循环。边界地址计算方法如下: 蓄先计算出待传输的数据段所包含的全部字节数,等于传输数据宽度与突发 传输拍数的乘积,其中,数据宽度由h s i z e 信号给出( 以字节为单位) ,拍数由 h b u r s t 信号给出;然薏将起始地址( 1 6 进制) 最低位置0 ,倒数第二位加l ,可 得高边界地址;最后将高边界地址减去全部字节数,得到低边界地址。旦传输 地址增长到高边界,立即跳回低边赛地址,构成循环。例如,对于一个四拍字循 环突发传输,若起始地址为0 x 3 8 ,则先后传输的4 个数据所在的地址分别为:0 x 3 8 , 0 x 3 c ,0 x 3 0 ,0 x 3 4 ,如图2 4 所示。 此外,突发式传输还需数据传输状态信号h t r a n s 1 :0 1 配合操作:i d l e 态 9 中山大学硕士学位论文 表示主设备占用总线,但没有进行数据传输;b u s y 态表示主设备正在进行突发 式数据传输,但下一次传输不能立即进行:n o n s e q 态表示单次传输或突发传输 的第一个数据传输,地址和控制信号与前一个传输无关;s e q 态表示突发传输第 二个以后的数据传输,地址与前一个数据传输有关,控制信号与前一个数据传输 相同。 5 a h b 译码器 - 77 1_ _ - z7 ) ( ) ( n 渊e 。) ( ) ( s 0 ) ( ) ( s e gx x s 。 x x) o i x 3 n 8 h 0 1 3 c x x 量 x x 。幽) ( ) ( ) o c ) ( ) ( 坩r p ; x x ) o x x c 0 n b - o t f 。f 乱啦 ) o () 。 s i z e 一冉o ) 。( x x d a t a 避避) o c l 疆3 b i v | | |vvv x x x础 艘) c熠) c垤) o 图2 4 四拍字循环突发传输模式时序图 a h b 译码器对总线地址进行译码,为总线上所有的从设备提供选择信号 h s l e x ,如图2 5 所示。地址译码器的设计要求快速、组合逻辑延时少,以适应 高性能总线的要求。 图2 5a h b 总线译码器 若片上从设备不能覆盖所有可能的地址空间,需引入一个缺省从设备,当地 址落到不存在的片上地址空间时,该从设备被选中。如果对其进行n o n s e q 或 s e q 的数据传输,该从设备给出“e r r o r ”响应;如果传输状态为i d l e 或b u s y , l o k 町 町哐町川 w 町 眦 一 一 一一一一 一 一 , f h 一 一一一一一 一 第2 章s o c 及a m b a 片上总线概述 则该从设备给出“o k e y ”响应。 6 a h b 仲裁器 总线仲裁器用来控制与分配总线。它接收所有主设备发出的总线请求,通过 总线仲裁确定哪个主设备使用总线,并保证在任何时刻,只有一个主设备访问总 线。同时,总线仲裁器也接受来自从设备的要求完成s p l i t 传输的请求。 a h b 总线仲裁器工作原理如图2 6 所示。总线仲裁器生成所有主设备的总线 使能信号h g r a n t x ,著在下一个愿期给出h m a s t e r 信号表明当翦获得总线的 主设备。所有主设备的地址、数据与a h b 总线的地址、数据相连接,由h m a s t e r 信号控剩选透。在时铮上升沿,主设备对h g r a n t x 进行采样,当某个主设备被 使能时,就会在下一个时钟上升沿之后给出数据传输的地址和控制信息。 搠国料憋攫 图2 - 6 仲裁器选择主设备示意图 仲裁器通常在一个突发过程结束后,才允许另外一个主设备访问总线;但如 果有更高优先级的主设备访阆总线,仲裁器可以提前终止一个突发过程。如果主 设备在一个突发过程中失去了总线访问权,必须重新使h b u s r e q x 信号有效, 嚣次申请访问总线。 当某个主设备获得总线并发起一个固定长度突发传输时,不必连续请求总 线,姊裁器通过h b u r s t 信号决定主设备需要多少个传输;对于不定长突发传 输,主设备需要不断发起请求,直到最后一个传输完成。如果主设备希望在当前 突发传输薏继续另一个突发传输,则需在当前突发结束后重新发起总线请求。 当发生总线移交时,数据总线的移交滞后于地址总线移交。当h r e a d y 和 中山大学硕士学位论文 h g r a n t x 均为高的时候,主设备获得地址总线的访问权,但只有当上一主设备 数据传输结束后,当前主设备才能获得数据总线的访问权,如图2 7 所示。 h c l k h g r a n t l h g r a n t 一- 口 h 嘲l s t 职 h t r a n $ p :明 h a 0 0 1 啦i :0 h r e o y h w o a t a 3 1 :0 ”谨n 葡玎蔼为 ii ll | l | 1 x x w 2 ,蚺1 a 嘲4 ,州( :吲”i 2 a 蜩t 一崩m ,a r dc 加嘲 x x e o ) ( ) c ;b 口 x x 域n 3 e o ( x 鼬 ) o x x l l x j2 x x 暑 x x 鲁 x v m m d u t 2l | | l| | | l | | l xxxxxx x x x r 图2 7 总线访问权的移交 2 2 2a m b aa p b 总线 a p b 外设总线是局部的二级总线,为减少功耗和降低接口复杂度而设计, 它在整体上可看作一个a h b 从设备。a p b 数据传输协议比a h b 协议简单,仅 支持一个主设备( a p b 桥接器) 与多个从设备之间的数据通信,具体特点如下: 总线宽度:数据总线支持8 位、1 6 位和3 2 位宽,地址总线3 2 位宽 静态特性:当外设总线不使用时,接口功耗为零 非流水特性:地址和控制信号在整个数据访问期间保持不变 1 a m b a a p b 信号列表 表2 3 列出了a m b a a p b 总线信号描述。 表2 - 3 a m b a a p b 信号 信号名信号描述信号作用 p c l k a p b 总线时钟a p b 总线上的时钟信号,上升沿有效 p r e s e t n a p b 复位a p b 总线复位信号,低电平有效 p a d d r 3 1 :0 ia p b 地址总线 a p b 地址总线,最多3 2 位 p s e l x a p b 从设备选择 指示从设备被选中,数据传输即将开始 p e n a b l e a p b 选通 指示a p b 传输的第二个周期 p w r i t e a p b 传输方向高电平为a p b 写访问,低电平为读访问 p r d a t a a p b 读数据总线被从设备驱动的读数据总线 p w d a 翻 a p b 写数据总线被a p b 桥驱动的写数据总线 第2 章s o c 及a m b a 片上总线概述 2 a p b 传输规范 图2 8 给出了外设总线a p b 传输状态图,共含如下三个状态: i d l e :a p b 总线缺省状态。 s e t u p :一次数据传输开始,p s e l x 有效,总线进入s e t u p 状态,将 地址和数据驱动到a p b 总线上。该状态只保持一个时钟周期,在下一个时钟的 上升沿进入e n a b l e 状态。 e n a b l e :在e n a b l e 状态,p e n a b l e 信号有效,完成数据传输。在 s e t u p 状态向e n a b l e 状态转换的过程中,地址、读写控制、选择信号和写数 据总线均保持不变。e n a b l e 状态也只保持一个时钟周期,若无其他传输请求, 总线将返回i d l e 态;如果其后还跟随其它传输,总线将直接进入s e t u p 状态。 i 、i o 舡钥s l - 盱t r n n s = ;e t 网2 - 8a p b 总线传输状态图 图2 - 9 ( a ) 为a p b 总线写传输时序图,图2 - 9 ( b ) 为a p b 总线读传输时序图。 为减少功耗,一次传输结束后地址和读写信号将保持不变,直到下一次传输开始。 t t让t 3钳m t l投 诏 秘 巧 i l l rl f i l l 鲻盘 ; | | l| | l l l、 i i i 姊旧 l i 厂 h 几 x l 埘静 l l ll 。 | ,氏l i i d a t a l l ( a ) a p b 总线写传输时序圈; a p b 总线读传输时序图 豳2 - 9a p b 总线传输时序图 中山大学硕士学位论文 3 a p b 桥接器 a p b 桥是a p b 总线上唯一的主设备,又是a h b 总线上的一个从设备。其作用 是将a h b 总线上的传输转换为a p b 总线上的传输,具有如下功能: 锁存地址信号并在整个传输过程中保持不变; 译码系统总线地址信息,生成外设选择信号p s e l x ,一次传输过程中只 有一个选择信号有效; 在写传输过程中将a h b 上的数据驱动至i j a p b 总线上; 在读传输过程中将a p b 上的数据驱动至t j a h b 总线上; 生成传输选通信号p e n b a l e 。 图2 - 1 0 ( a ) 为a p b 桥在读传输时进行信号转换的时序图。a h b 总线上的地址被 a p b 桥采样后,生成外设选择信号。若外设数据准备好,a p b 总线便依次进入 s e t u p 周期和e n a b l e 周期,读回数据,并传回至i j a h b 总线。在此过程中,a p b 桥拉低h r e a d y 信号使a h b 总线等待数据读回。图2 1 0 ( b ) 为a p b 桥在写传输时 进行信号转换的时序图。a p b 单个数据写传输是零等待态的,桥接器负责采样 a h b 总线上的地址和数据,并使它们在a p b 传输期内保持不变。 h r e a o y p a d d r 1 4 t 1t 2t 3 t 4t 5t t 2 偈 t 4t s 稿 | l | | | , t ii o n , - f 堪i h r 邑 现7 p a d o r 刚r i t e p s e l p 毫m l i k e p 1 m ) a t a 乎1 p严黟产 出m:x 1 【j (! l x 辣x xd a t a li ¥ | l l 乜v | | 驱般 u a妇1 | i | 曰 t l 强 d 即1 ( a ) a p b 桥读数据至i j a h b : ( b ) a p b 桥写数据到a p b 图2 - 1 0a p b 桥传输时序图 = 一 i | | | l | | | l| | | l = p 第3 牵j o p 微处理器分析 第3 章d o p 微处理器分析 3 1j o p 微处理器架构l 秘i j o p 是专门针对嵌入式实时应震颁域开发的一款j a v a 处理器,宅基予m 堆 栈型结构设计,在p c 机的配合下,能够在f p g a 上执行j a v a 程序,极大地提高了 程序运行速度。j o p 处理器架构如图3 。l 所示,其核心部分包括了处理器核、存储 器接口、i o 接口及扩展模块。 图3 - 1j o p 处理器架构图 处理器核内含瑟个流水级取字节码、取微码、译码和执行。除了通过取 字节码的地址总线和数据总线、栈顶元素a 和次栈顶元素b 、栈顶数据输入寄 存器( d a t a ) 和一鍪控制信号与其它模块相连外,处理器核与外部世界无直接联 系。因为j o p 是面向堆栈的处理器,其指令只对栈顶元素操作,所以寄存器a 是处理器核与所有其它模块之间的数据通道。 存储器接口内含字节码c a c h e ,用于连接主存和处理器核,其读写由扩展模 块控制。b u s y 信号用于使处理器核和主存保持同步。处理器核通过特定总线( b c a d d r e s s 和b cd a t a ) 从字节码c a c h e 中读取字节码指令。字节码c a c h e 中方法更 中山大学硕士学位论文 替的请求由处理器核通过扩展模块发出,但c a c h e 命中检测和装载则由存储器接 瞬独立完成。j a v a 虚拟机所需的运行时( r u n t i m e ) 堆和方法送置于外部存储器 空间中。 i o 接口连接一些外黉设备,如计时器和审疆。该模块的读写操作也壶处理 器核通过扩展模块控制。i o 端口和存储器的访问采用独立编址的方式。 扩展模块用于连接处理器核和存储器接豳及i o 设备,具有三项功能:( a ) 含 硬件加速器( 即乘法器) ;( b ) 控制存储器接口和v o 模块的读写操作;( c ) 包含一 个多路选择器,用来从读回的存储器数据、字节码c a c h e 中方法的起始地址、v o 设备输入数据和乘法器输出结果中选择一个,作为栈顶数据输入寄存器的值。 3 2 微码指令系统1 1 4 , 2 8 , 2 9 l 字节码( b y t e c o d e ) 是j a v a 虚拟机的指令集,编译后的j a v a 程序幽字节码 组成,可直接由j a v a 虚拟机执行。两微码( m i c r o c o d e ) 是j o p 的本地指令集, 在执行过程中j v m 字节码被翻译成j o p 微码。 标准的j a v a 虚拟机定义了2 0 1 条字节码指令,有一些具有高级语言特性的 指令( 例如n e w ) 难以用全硬件实现。在j o p 处理器中,有一些字节码

温馨提示

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

评论

0/150

提交评论