




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)cpu虚拟实验平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 c p u 设计实验是计算机组成原理等硬件课程的核心实验,但是由 于硬件实验的种种缺陷,造成了实验效果不理想,加之目前c p u 虚拟 实验平台还比较缺乏。针对这种现状,本文构建了一个c p u 虚拟实验 平台。它能弥补硬件实验的缺点,对于提高微机教育教学和实验水平, 以及开展c p u 和微机系统研究和应用开发,均具有实际意义。 在对c p u 实验的特点和基本原理进行深入分析的基础上,本文提 出了一种基于组件的中央处理器虚拟实验平台( c p uv “蛆) 的设计 模型和实现方法。c p uv l a b 采用j a v a 语言实现,具有良好的平台无 关性;以j a v a b e a n 组件技术开发c p u 的芯片设备,并提出了基于真值 表填充算法的组件自动生成策略来扩展组件库,极大地提高了软件的 重用性和扩展性;结合多线程技术的w a i t 、n o t i f y 机制,以及锁的同步 控制技术,提出一种组件分类触发调度机制,有效的解决了具有复杂 关系的组件之间的调度运行问题,保证了微命令的有序执行;最后, 采用j a v as w i n g 技术和双缓冲技术将实验数据无闪烁地实时展现,提 高了实验的成功率。与已有的c p uv l a b 相比,该实验平台不仅在通 用性、自主性和可重用性等方面都有较大的提高,而且具有良好的可 交互性,同时c p uv l a b 的组件调度机制为开发计算机硬件类课程虚 拟实验平台提供了参考。实验应用结果表明:在此平台上,学生能够 设计出c p u 的结构,并能自行设计微程序系统进行验证,进而巩固对 c p u 工作原理的深入理解,大大提高了学生的实践动手能力和创新能 力。 本文最后对平台实现过程中的研究与开发工作进行了总结,并阐 述了将来进一步对该系统进行扩充与完善的一些工作。 关键词c p u ,虚拟实验平台,组件,多线程,分类触发 a b s t r a c t t h ee x p e r i m e n tf o rc p ud e s i g ni sak e ye x p e r t m e n ti nt h eh a r d w a r e c o u r s e ,s u c ha sp r i n c i p l e so fc o m p u t e ro r g a n i z a t i o nc o u r s e a sar e s u l to f t h ew e a k n e s so f 也eh a r d w a r ee x p e r i m e n t t h ee x p e r i m e n te f f e c ti sn o ts o g o o d f u r t h e rm o r e t h e r ew a sl i t t l ev i r t u a ll a bf o rc p ue x p e r i m e n t i n o r d e rt or e s o l v et h i sp r o b l e m , v i r t u a l l a bp l a t f o r mf o rc p u ( c p uv l a b ) w a sd e v e l o p e di nt h i sp a p e r c p uv l 蛆o v e r c o m e st h ed e f e c to ft h e h a r d w a r ee x p e r i m e n t ,a n dp l a y sas i g n i f i c a n tr o l ei ni m p r o v i n gt h el e v e lo f t h ee x p e r i m e n ta n dc a r r y i n go u tt h er e s e a r c hi nm i c r o c o m p u t e rs y s t e m i nt h i sp a p e r , w ef i r s t l ys t u d yt h ec h a r a c t e r i s t i e sa n dt h e o r i e so fc p u e x p e r i m e n t s t h e n a d e s i g n m o d e la n di m p l e m e n t i n gm e t h o do f c p u - y l 蛆w a sp r o p o s e db a s e do nc o m p o n e n tt e c h n i q u e s t l l i ss y s t e m w a si m p l e m e n t e dw i t hj a v al a n g u a g e ,w h i c hm a k e si t i n d e p e n d e n to f o p e r a t i n gs y s t e m i nt h ec p u - v l a b ,v i r t u a lc h i p i n s t r u m e n t sw e r e d e v e l o p e dw i t hj a v a b e a nc o m p o n e n tt e c h n i q u e s ,a n dt h ec o m p o n e n t l i b r a r yw a se x t e n d e da u t o m a t i c a l l yb a s e do nf i l l i n gt r u t ht a b l ew h i c hm a k e t h es o f t w a r em o r er e u s a b l e c o m b i n i n gb yw a i t n o t i f y o fj a v a m u l t i t h r e a d i n gs c h e m e s a n dt h el o c kt e c h n i q u et oc o n t r o lm u l t i t h r e a d i n g s s y n c h r o n i z a t i o n ,at r i g g e r - d i s p a t c h i n gm e c h a n i s mb a s e do nc l a s s i f i c a t i o n o fc o m p o n e n tw a sp r e s e n t e dt oe f f e c t i v e l ys o l v ep r o b l e m so fc o m p o n e n t d i s p a t c hb e t w e e nc o m p o n e n t sw i t hc o m p l e xr e l a t i o n s h i p t h i sm e c h a n i s m a l s om a k e st h em i c r o i n s t r u c t i o ne x e c u t eo r d e r l y f i n a l l y , c o m b i n i n gw i t h t e c h n o l o g i e so fs w i n ga n dd o u b l eb u f f e r i n gt e c h n i q u e ,t h ed a t ao f e x p e r i m e n tw a sd i s p l a y e di nr e a l t i m ew i t h o u tp h e n o m e n ao ft w i n k l e c o m p a r e dw i t ht h e0 血e rc p u o fv i r t u a ll a b ,t h eu n i v e r s a l i t y , a u t o n o m y a n dr e u s a b i l i t yo fc p uv l a ba r ei n c r e a s e d a n dt h ec p u ,a bi s i n t e r a c t i v e i na d d i t i o n ,t h et r i g g e r - d i s p a t c h i n gm e c h a n i s mo fc p u j l a b p r o v i d e sr e f e r e n c e sf o rd e v e l o p i n gv i r t u a l l a bo fc o m p u t e rh a r d w a r e c o u r s e s t h er e s u l to fp r a c t i c a la p p l i c a t i o ns h o w st h a tc p u a bc a n h e l ps t u d e n t su n d e r s t a n dt h ep r i n c i p l e so fc p u ,a n di m p r o v et h e i ra b i l i t i e s o fp r a c t i c ea n dd e s i g nb ym a k i n gt h ec p u e x p e r i m e n t f i n a l l y , t h ep a p e r s u m su po u rw o r k sd u r i n gt h ed e s i g na n dd e v e l o p - m e n t ,a n dd i s c u s s e sh o wt oi m p r o v et h ep l a t f o r mi nt h ef u t u r e 1 1 k e yw o r d s c p u ,v i r t u a ll a b ,c o m p o n e n t ,m u l t i t h r e a d i n g , c l a s s i f i c a t i o n m 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的 地方外,论文中不包含其它人已经发表或撰写过的研究成果,也不包 含为获得中南大学或其它单位的学位或证书而使用过的材料。与我共 同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:童墨! ;- 兰至 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校有 权保留学位论文并根据国家或湖南省有关部门规定送交学位论文,允 许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容, 可以采用复印、缩印或其它手段保存学位论文。同时授权中国科学技 术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 作者签名:必芏茎! 翌垒导师签名期:型生年旦月竺日 硕士学位论文第一章绪论 第一章绪论 随着i n t e m e t 的迅速发展,远程教学越来越受到国内外的关注。而实验是教 学过程中的一个重要环节,尤其对于理工科类院校,教育水平的高低与实验开展 的好坏有直接的关系。特别是近年来,随着学校规模的扩大,学生数量不断增加, 传统的实验模式已经越来越不能满足要求,主要表现在:学校实验经费不足,实 验设备严重缺乏:学校实验场地空间有限,不能满足所有学生在实验室进行实验 的要求;远程教育的不断发展,随之而来的远程教育中的实验已经成为我们面l 临 的一个难题【1 1 。改变传统实验教学模式已迫在眉睫,采用计算机技术构建的各种 虚拟实验室【2 】,为实验教学提供了一种新的教学手段。 1 1 课题的研究背景 现代远程教育是随着现代信息技术发展而产生的一种新型的远程教育形式, 它的特征是把电脑技术、多媒体技术、通讯技术等高新技术应用于远程教育中, 兼容多种教学形式,优化和有机组合不同媒体【3 】。当前,无论是传统大学,还是 电视大学,都纷纷采用和发展现代远程教育模式,网上教学尤其受到青睐。远程 教育是构筑知识时代人们终身学习体系的主要手段,它借助先进的通讯技术传递 信息,能够使人们实现不同地点的实时交互或者有选择的学习。因此,远程教育 为不同行业、不同教育背景的人们随时随地的自主学习创造了优越条件,为教育 的终身化、大众化开辟了广阔的前景。同时,高校开展远程教育也可以更好的利 用各种教学资源,使得有限的教育资源得到充分利用和共享,提高了教学质量。 目前,世界各国都在大力推广远程教育,教育的终身化、全球化和高效化更加促 使远程教育在全世界范围内迅速展开。随着网络和通讯技术以及信息技术的不断 发展,远程教育必将为知识经济时代的人们构筑一个理想的终生学习体系。 虚拟实验室作为远程教育一种重要的手段,它最早在1 9 8 9 年由美国弗吉尼 亚大学( u n i v e r s i t yo f v i r g i n i a ) 的威廉沃尔夫( w i l l i a mw u l f ) 教授提出【4 1 ,用来描述 一个计算机网络化的虚拟实验室环境。1 9 9 5 年5 月,联合国教科文组织将虚拟 实验室定义为:利用分散的信息和通信技术以创造及获取成果为目的,在科研与 其他创造性活动中进行远距离合作和实验的一种电子协作纠5 1 。它与传统实验教 学相比,具有如下特点: 1 可降低科研成本和节省研究经费,并能够充分发挥现有科学仪器的作用, 提高使用效率,尤其是通过联网后能实现大型科学仪器的资源共享,避免了大型 硕士学位论文第一章绪论 仪器设备的重复添置、购买和浪费。 2 突破了传统教学模式受时间、地点的限制,并且可以利用网络教育提高教 学效率;虚拟实验平台无需教师指导,学生便可以自主开展实验,避免了教育资 源的浪费。 3 不受客观条件的影响,可实现“实物实验”难于进行的实验项目。如提供大 量的仪器和器件进行毁坏性实验和综合性实验、避免硬件中接触不良及仪器故障 造成的影响;在虚拟仪器上展示各种数据,极大提高实验成功率等。 4 实验系统以计算机网络为信息载体,具有开放性、易于连接、适应性好及 受益面广等特点。 因此,用现代计算机网络技术研究虚拟实验室及其在远程教学中的应用,是 近几年国内外实验教学和远程教学的研究热点。它具有的透明性、资源共享性、 互操作性、用户自主性、扩展性以及安全性等特点是传统实验室无法比拟的【6 】。 随着科学技术的发展,核心技术已经越来越集中在集成电路芯片和软件这两 项技术之中,其中c p u 和o s 设计技术是最核心的两项技术。特别是高性能计 算机技术一直是衡量国家实力的一个重要标志,因此美国,日本,西欧等西方发 达国家加大了在这方面的资助力度,在高校开设了c p u 设计方面的实验课程和 内容。我国在c p u 和计算机系统设计方面还十分落后,具有成熟的自主知识产 权的8 付1 6 位c p u 产品基本没有,高端的3 2 位到6 4 位高性能计算机更是空白。 但是我国高校在这方面的教学也同样不容乐观,调研表明,国内除了中国科技大 学、北京大学等少数几个高校将计算机组成原理和计算机体系结构课的实验明确 为c p u 设计外,大多数高校却将c p u 设计列为计算机教学实验之外,仅仅停留 在认知程度上【7 1 。造成这种局面主要是c p u 本身的复杂性,硬件无法满足实验 的要求。目前我国计算机组成原理实验用的t e c 2 0 0 0 、t e c 2 、x s 4 0 等教学实 验装置,都是在微指令系统,硬件组合相对确定的情况下进行实验,学生主要进 行功能性实现和验证。采用这种相对固定的计算机系统结构,实现上直接通过不 同的功能部件组成整个系统,这对实验人员自己动手设计c p u 造成一定限制。 例如t e c 2 0 0 0 教学计算机由运算器a m 2 9 0 1 、微程序定序器a m 2 9 1 0 、存储器、 以及m a c h 、g a l 可编程芯片等构成【8 】。这样在传统实验装置上学生进行设计 和研究的空间很小,其根本原因是要在同一个c p u 上运行已经设计好的监控程 序和测试程序,学生不能自主实验,无法调度学生实验的积极性和创新性。传统 c p u 实验需要近2 0 0 余根的导线连接,加上学生插接导线时接触不够可靠,实 验的成功率是很低的,尽管学生花了许多的时间做实验,却收获甚微,这种方法 的缺点是学生所做实验难以突破实验箱上硬件的限制。因此,迫切需要一个能自 主设计、易于操作、功能完善、交互性强、高度仿真的c p u 虚拟实验平台。 2 硕士学位论文 第一章绪论 1 2 课题的研究现状 虚拟实验室概念的提出至今仅为十多年的时间,但因其广阔的应用前景,国 内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特别是在国外一 些著名的大学,已有较多建好并投入使用的虚拟实验系统,涵盖了计算机网络【9 】、 人工智甜1 0 l 、生命科掣1 1 1 、化掣1 2 1 、物型1 3 1 、生物工程【1 4 】f 1 5 】【1 6 1 、图形图像、农 业科学等教学、科研领域。 v s l ( v m u a ls y s t e m sl a b o r a t o r y ,简称v s l ) 虚拟系统实验室,始建于1 9 8 9 年,由g c n t r a lf l o r i d a 大学教育训练研究院建立,其目标旨在提高计算机图形的 艺术表现力以及改进仿真过程中的人机接口设计【1 7 1 :美国巴尔的摩( b a l t i m o r e ) 约翰霍普金斯大学( j o h n sh o p k i n su n i v e r s i t y ) 的化学工程系的卡尔威教授 ( p r o f e s s o r m i c h a e lk a r w e i t ) 在网络上建立了一个“虚拟实验室”,在计算机上模 拟各种实验,让化学工程系的学生可以通过网络来做实验,尝试解决工程上遇到 的各种问题【1 8 】;德国的汉诺威大学建立了虚拟自动化实验室【1 9 】;西班牙大学电 子系开发了电子仪器虚拟工作平台【2 0 】;意大利帕瓦多大学建立了远程虚拟教育 实验室【2 1 1 ;新加坡国立大学开发了远程示波器实验和压力容器实验【2 2 1 。此外, 虚拟实验室还在诸多领域上得到应用,如美国实施的v i s i b l eh u m a n 计划,就是 通过将一具尸体进行固化处理,再用特制的机器将其切成极薄的薄片,然后将这 些薄片通过扫描仪输入计算机,再通过三维重建算法构成三维人体图像,这样就 将一个真正的人体显示在计算机屏幕上,并且可以在屏幕上进行旋转、剖切等操 作,医学人员就可以在计算机上进行人体解剖教学、虚拟手术【2 3 l 等。 与西方发达国家相比,国内在虚拟实验方面开展的工作还不多,但目前虚拟 实验室的建设也得到了应有的重视,己有部分高校初步建立了虚拟实验室。例如: 文献2 4 提出了一种基于因特网的远程检定方案,并利用虚拟仪器开发工具语言 l a b v i e w 构建了一个以标准源远程检定数字多用表的系统;文献2 5 于2 0 0 4 年1 1 月成立了开放系统实验室( o p e ns y s t e ml a b ,简称o s l ) ,并构建了国内第一个可 远程访问的在线虚拟l i n u x 实验室;文献2 6 开发了一个基于网络交互式的m a t l a b 虚拟实验仿真平台系统,并初步建立了一个通信网络虚拟实验室;文献2 7 于2 0 0 4 年8 月1 5 日正式成立了“计算化学虚拟实验室”,大大促进了我国计算化学研究的 发展;文献2 8 3 2 先后成功地开发了基于组件技术的数字图象处理、数字信号处 理、数字通信原理、计算机网络、入侵检测系统等虚拟实验室。 c p u 虚拟实验室同样受到国内外许多组织的关注和研究,并取得了一定的成 果。如b r i g h a my 0 姐g 大学构建了一个有关计算机结构【3 3 】的网上课程,通过利用 电路交互设计软l 0 西c w b r l ( s 3 提供的图形化接1 2 1 和现有的c a d 包来设计和实现虚 拟c p u ;美国加州伯克利分校的“计算机结构( m a c h i n es t r u c t u r e s ) 课程实验是 3 硕士学位论文第一章绪论 通过v h d l 硬件描述语言来进行计算机功能部件的设计,通过仿真验证结果】; 美国西北大学的“计算机结构和工程( c o m p u t e ra r c h i t e c t u r ea n de n g i n e e r i n g ) 课程实验是使用流行的e d a t 具设计一个简单的3 2 位m i p s 处理器【蚓;加州大学 的“计算机结构和设计( d e s i g na n da r c h i t e c t u r eo f c o m p u t e rs y s t e m ) ”采用佃i l 语言进行c p u 功能部件的设计和分析【3 6 1 。通过各种硬件设计工具来设计c p u ,前 提是实验者必须熟练掌握工具的使用,增加了实验的难度。国内一些大学应用 e d a 技术【3 7 1 3 舯,采用仿真软件对计算机系统提供芯片级的设计和仿真。但是仿 真应用软件所建立的模型主要是以各种文件形式存在,不利于学习者对模型的理 解和重用,而且这些软件仿真平台并没有提供一个灵活,完全开放的实验平台来 帮助实验人员自由的设计c p u 。其他一些机构利用f l a s h 3 9 】【柏】或v b 4 1 j 【4 2 】技术来 演示c p u 实验的数据流动过程,交互能力差,设计的芯片不具有逻辑功能,学生 无法进行自主实验。其次,国内外一些研究机构还开发了专业模拟c p u 的软件产 品,包括性能模拟器( 如s i m p l e s c a l a r 4 3 1 ,s i m p l e p o w e r 4 4 1 ) 和功能模拟器( 如 b o c h s 4 5 1 ,t rf o rd o s 4 6 】) 。但它们模拟的是真实而又复杂的c p u 系统,面向的是 计算机专业人员,初学者难以理解,不适合作为学习的实验平台。随着i n t e m e t 和计算机c p u 的发展,需要一个通用的在线c p u 虚拟实验平台为计算机学习人员 进行学习和实验创造条件。 1 3 课题的研究目标 c p u 实验是计算机硬件教学当中最重要最复杂的实验内容,学习者通过此 实验理解计算机中微程序控制器的工作原理,体会机器指令和微指令之间的 关系,了解计算机当中的时空概念,熟悉c p u t 作的整个过程,并掌握计算机 硬件组成与设计、制造、调试和运行维护等多方面的技能,为今后学习操作 系统等计算机后继课程打下坚实的基础。但是在传统硬件实验过程中由于硬 件动作的不可见性,学生做实验时,不清楚硬件动作的执行流程和单元间的 数据流动,不能检测并查看单元的选通信号和读写时序,实验透明度不高, 成功率低;实验仪器元器件易于老化和损坏,实验成本和费用高,导致实验 环境十分缺少;计算机芯片发展快速,但硬件实验条件有限,不能及时提供 最新的芯片组件,教学与技术的发展脱节;再加上大部分学校开设的c p u 实验, 实验装置相对固定,学生无法进行自主设计,只是扮演一个观察者的角色。 因此为了加强学生的实践动手能力,在教学过程中增加学生参与设计,培养 学生的创新精神和能力,切实掌握c p u 的工作原理,本文提出了以组件技术为 架构的基于i n t e m e t 的c p u 虚拟实验平台的设计模型。 基本的设计目标是:学习者可以先在c p u 虚拟实验平台上单独选取组件来 4 硕士学位论文 第一章绪论 搭建c p u 中的功能部件( 如运算器、微控制器等) 实验,并验证其功能,并在 此基础上逐步开展c p u 实验,因此必须开发出c p u 实验所需的芯片组件,使学 习者能够自己设计搭建c p u 实验,微程序控制器与内存组件在设计上要留有接 口,使学习者能设计出自己的微程序系统来替换系统原有的微程序系统,并 能输入相应的机器指令来予以验证;平台必须提供良好的运行机制,确保指 令在执行过程中的正确性;为了巩固用户对c p u 理论知识的理解,增加了软件 的可重用性,必须允许用户动态增加实验芯片,丰富实验组件库;在实验运 行过程中,用户可以实时地查看各个芯片的状态,清楚数据的流动过程,必 须具有较强的可视化效果来提高实验的成功率。平台总的设计目标:设计一 个这样的所见即所得、直观易用、真实感强、透明度高、自主实验能力强的 c p u 仿真实验平台,这对于开展c p u 技术和微机系统的研究,对微机系统的应 用开发和教育教学实验都具有重要价值。 1 4 论文的组织结构 论文共分为六章。 第一章绪论。这一章主要介绍虚拟实验室的研究背景和我国c p u 设计实 验的开设情况,并结合虚拟实验室发展现状,介绍了c p u 虚拟实验平台的发 展现状,并提出基于组件的c p u 虚拟实验平台的研究目标。 第二章c p uv l a b 的需求分析和总体设计。这一章主要在分析c p u 实验 特点的基础上,拟定了c p u 虚拟实验平台的总体设计方案,提出系统的架构和 功能模块划分,最后对开发过程中的运行环境进行了简单介绍。 第三章c p uv l a b 主要模块的设计与实现。这一章主要介绍c p uv l a b 主要功能模块在开发过程中的详细设计和实现方法。分别从实验架构模块, 实验组件模块,调度模块,组件注册模块四个方面对系统的开发实现做重点 阐述。 第四章c p uv l a b 的关键技术。这一章对实现过程中使用的关键技术进行 了详细的介绍。 第五章c p uv l a b 运行实例。这一章给出了一个基本c p u 实验。 第六章结束语。对所做c p uv l a b 的设计与开发工作进行了总结,并阐 述了将来进一步的扩展与完善工作。 5 硕士学位论文第二章c p u v l a b 的需求分析与总体设计 第二章c p uv l a b 的需求分析与总体设计 在今天,社会上大量需求的是全能型的人才,尤其强调综合素质和动手能力 的培养。c p u 作为计算机里面最核心的功能部件,它要求学生在懂得其工作原 理的基础上通过亲自动手创新实践,不仅可以加深对课本知识的理解,锻炼动手 能力,也为将来分析、设计、开发以及使用计算机打下坚实的基础。由于硬件实 验的种种缺陷,因此基于组件的c p u 虚拟实验平台的研究对远程教育中的实验 环节的发展具有重要意义。 2 1c p u 的基础架构 2 1 1c p u 的结构 c p u 是计算机系统的核心部件,它由运算器、微程序控制器、指令计数器 以及寄存器等组成【4 7 1 。本平台能够使学生设计出8 位地址总线的c p u 系统,其 基础架构如图2 1 所示。 图2 - 1c p u 组织结构图 c p u 结构从功能上基本可以划分为6 大部分,1 、运算器( a l u ) 是计算机 的核心部件之一,它能执行加法和减法等算术运算,也能执行“与 、“或”、“非修 等逻辑运算。算术逻辑单元的功能由7 4 l s l 8 1 芯片来完成。2 、控制器是c p u 6 硕士学位论文第二章c p u v l a b 的需求分析与总体设计 中最重要的部件,它里面存放了指令系统对应的全部微程序,在计算机的执行过 程中,由它来控制其它各个部分的工作。3 、时序产生器能连续产生节拍信号, 对各种操作信号在时间上施加严格的控制。4 、程序计数器的功能就是确定下一 条指令在内存中的地址。5 、内存主要用来存储用户程序和数据的。6 、输入和输 出部件。后面两个部分虽然不属于c p u 结构,但出于对c p u 实验的验证考虑, 因此必须提供。由于c p u 实验无论从结构上,还是在原理上,都是极为复杂的。 在教学上,采取循序渐进的办法,可以达到很好的教学效果。因此,要求实验芯 片组件化,实验过程模块化:先分别选取芯片设备搭建这六大功能部件实验,然 后才统一集成到c p u 实验中来。 2 1 2c p u 的工作过程 c p u 的工作过程可以归纳如下:( 1 ) 控制器把p c 中的指令地址送往地址寄 存器m a r ,并发出读命令。存储器按给定的地址读出指令,经由存储器数据寄 存器m d r 送往控制器,保存在指令寄存器m 中。( 2 ) 指令译码器d 对指令寄 存器瓜中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运 算器等有关部件发出指令所需要的微命令。( 3 ) 当需要由存储器向运算器提供数 据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址 寄存器m a r ,然后向存储器发出读命令,从存储器中读出的数据经由存储器数 据寄存器m d r 送往运算器。( 4 ) 当需要由运算器向存储器写入数据时,控制器 根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器 m a r ,再将欲写的数据存入存储器数据寄存器m d r ,最后向存储器发出写命令, m d r 中的数据即被写入由m a r 指示地址的存储单元中。( 5 ) 一条指令执行完毕 后,控制器就要接着执行下一条指令。为了把下一条指令从存储器中取出,通常 控制器把p c 的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指 令时,控制器则把“转移地址”送入p c 。控制器不断重复上述过程的( 1 ) 到( 5 ) ,每 重复一次,就执行了一条指令,直到整个程序执行完毕。 从c p u 的工作过程中可以知道:有大量的数据在不同的芯片设备上反复传 输和交换,因此平台不仅要提供丰富的组件库,而且还要提供良好的调度机制, 确保组件间数据传递的正确性。 2 2c p uv l a b 的实验流程 图2 2 给出用户在虚拟实验平台上进行一个实验的操作流程,用流程图来描 述,展示了平台的主要功能;从中可初步分析得到本平台的功能性需求。 用户在登录界面输入用户名和口令,由系统确定使用者的权限,验证通过后 7 硕士学位论文 第二章c p u v l a b 的需求分析与总体设计 进入虚拟实验平台。使用者从实验组件栏中选择芯片组件,按照实验电路图连接 线路并设置相关的初始值,检查无误后接通电源,如不需要编写程序则可马上运 行实验,用户可以在实验面板上清楚的观察到实验过程和实验结果。 开始 否登录蘸n 功? 夕一 yi 丛童 保存实验 冬垆 荽 ( 竺查 ) 图2 - 2 平台实验流程图 2 3c p uv l a b 的架构与功能 y c p u v l a b 系统架构如图2 3 所示,采用b s 方式提供网上虚拟实验服务, 使多个用户在同一网络环境下完成各自不同的虚拟实验。 由于平台是基于b s 体系架构,而且实验时需要很强的图形交互能力,j a v a 8 硕士学位论文第二章c p i i v l a b 的需求分析与总体设计 a p p l e t 正好满足了平台的需求。所以c p uv l a b 的客户端采用支持j v m 的浏 览器中嵌入j a v aa p p l e t 的方式,使得虚拟实验平台的客户端具有j a v a 语言平台 的安全性和动态执行能力等特点。客户端主要提供虚拟实验室组件的实现、实验 的运行和结果的生成。用户可以通过客户端提供的菜单栏、工具条、组件注册栏、 设计运行面板、组件描述栏等,动态地组装实验、实时地保存实验、随机地运行 实验和查看图形化的实验结果,使得平台具有良好的交互性、实时性和灵活性。 图2 3c p i j v l a b 系统架构 c p uv l a b 的服务器端提供编译好的j a v a 类文件以及资源文件,并根据用 户的请求将j a v a 类文件和资源文件传给客户端。在服务器端,提供了用户登录 验证的s e r v l e t 程序和相应的数据库;实验所需的芯片设备以j a v ab e a n 组件的方 式封装,存于服务器端的实验组件库中;服务器端提供了经典实验库( l a b 文 件) 以及组件注册配置文件库( x m l 文件) 。除此之外,在服务器端部署了组件 注册和自动发布程序。 c p uv l a b 按照功能可划分为四个模块,如图2 4 所示。c p uv l a b 的平 台操作模块主要用来完成用户登录,实验的搭建及保存,打开实验以及微程序和 机器指令的装载等操作功能;c p uv l a b 的实验组件模块完成c p u 所需实验芯 片的设计;组件调度模块是平台的调度管理中心,它将根据用户定制的实验流程, 调度控制实验组件的执行次序,保证实验结果的正确性。该模块是c p uv l a b 的核心部分,主要解决组件的连接关系和组件的调度问题;组件注册模块主要用 于动态丰富组件库及自动完成a p p l e t 发布时的数字签名。 9 硕士学位论文第二章c p u v l a b 的需求分析与总体设计 图2 - 4c p u v l a b 系统功能模块 2 4c p uv l a b 设计的难点 在充分分析了c p uv l a b 的功能需求,并进行总体设计后,要搭建出一个 完善易用的c p u 虚拟实验平台,必须要突破以下几个难点: ( 1 ) 在设计过程中,一方面c p u 工作原理抽象难懂,实验过程复杂度极高, 必须允许学生先做如运算器等子实验,循序渐进的开展c p u 实验;另一方面是 为了提高实验的自主性,发挥学生的创新能力,c p uv l a b 应该允许学生自己 选择芯片设计除c p u 以外的实验,扩大平台的使用功能。基于上述两点理由, 平台提出了基于组件的架构体系,即在软件设计过程中,将实验中的每一个芯片 设备抽象出为一个组件模型。但是如何设计好的芯片模型,是平台首先要考虑的 难点问题。在c p u 中,芯片引脚类型多样,引脚的个数也不一样,功能逻辑又 各不相同,再加上有的芯片内部逻辑及其复杂,因此如何来统一建立芯片的模型 来加快软件的开发速度以及适当抽象出复杂芯片来减少c p u 实验的难度,并为 动态扩展组件库打下基础,是虚拟芯片模型设计的难点。 ( 2 ) 在所有组成c p u 的芯片组件当中,微程序控制芯片组件最为复杂也最为 重要,它设计的成败关乎到c p u 能否搭建成功。微程序控制器不仅原理羞涩, 而且组成它的电路及其复杂,输入引脚多,输入与输出的关系也相当的复杂,如 何减少学生实验时的复杂度,并对其进行适当抽象,是组件设计过程中的难点问 题。 ( 3 ) 学生在选择完芯片后,进行实验的过程中,由于大多数芯片设备都是多 输入多输出接口,设备之间通过引线相互连接,一个设备的同一输出引脚可能连 接到不同设备的输入引脚上,或者同一设备的多个输入引脚数据来自不同的设备 输出端。由此可见,设备之间的连接关系非常复杂,呈现网状布局。芯片通过引 i o 硕士学位论文 第二章c p u v l a b 的需求分析与总体设计 线在设备之间建立连接关系。网状的连接关系,导致实验流程的处理变得异常复 杂,设备之间的数据传递不能简单的概括为并行处理或串行处理,很难明确它们 的执行次序。采用何种数据结构来表示设备之间的连接关系,以及如何实现数据 的正确传递需要重点考虑。 ( 4 ) 虚拟芯片的连接关系建立后,如何来调度也是平台要考虑的难点和重点 问题。由于学生在实验过程中存在大量功能迥异,带有多输入多输出引脚的芯片 设备,芯片之间存在驱动、反馈、循环等连接关系,它们的依赖性强并且相互影 响和制约。一个设备的输出将引起其他多个设备状态的改变。设备在实验运行的 过程中,用户可能动态的修改设备的当前状态,导致实验过程具有很强的随机性 和不可预测性。同时,硬件实验要求设备具有一定的并行性和实时性。为了保证 实验流程的高度仿真性和实验结果的正确性,设备之间采用何种通信方式,系统 采用怎样的调度机制来协调和控制各个设备的执行次序,使得设备按照实验流程 的要求逐个执行,最终得到正确的仿真结果。另外,在实验运行过程中,系统还 应该能够实时响应用户的需求,适应外界环境的变化。 ( 5 ) 为了增强平台的可扩展性,增加实验的灵活性,要求能动态增加虚拟芯 片组件。由于老师或学生有可能不懂j a v a 语言以及芯片组件代码的编写规范, 如何来找到一个很好的策略,使其丰富芯片组件更加方便透明是平台需要考虑的 问题。 ( 6 ) c p u 实验由大量的芯片组件构成,为了增加实验的可理解性,提高实验 的成功率,克服硬件实验数据流动不可见的缺点,如何将实验数据的流动情况展 示给用户,同时又不造成画面的闪烁,也是需要考虑的问题。 2 5 本章小结 本章首先对要设计的c p u 结构和工作原理进行了简单介绍,在分析了c p u 实验特点和流程的基础上,提出了c p u v l a b 设计的难点,并对其进行了总体 设计和功能划分。 硕士学位论文 第三章c p u v l a b 的主要模块设计与实现 第三章c p u v l a b 的主要模块设计与实现 c p u 虚拟实验平台旨在提供一个基于i n t g 理 n e t 的虚拟实验环境,在该环境下 学生可以进行与c p u 相关的实验设计和验证。c p uv l a b 提供了良好的可视化 界面,使得平台具有很好的交互性和可见性;提供了丰富多样的组件,使得学生 可以自由选择组件设计实验;提出的多线程调度方式,成功解决了复杂组件的调 度问题;还提供了动态扩展组件库的功能。本章将针对平台提供的主要模块一 平台操作、芯片组件设计、组件调度、组件注册进行详细的介绍。 3 1 平台操作模块的设计与实现 如何使平台操作更加的简单易用,而且功能完整是平台操作模块需要考虑的 问题。该模块主要完成用户登录,保存打开实验,搭建实验,程序录入,帮助 文档的显示等工作,如图3 1 所示。 图3 1 平台架构模块图 ( 1 ) 用户登录:一方面本平台针对远程教学实验,考虑到服务器的负载和安 全,只对特定的用户群开放;另一方面为了对不同的用户进行管理,需要用户通 过互联网或校园网登录系统或注册用户。当用户进入平台网址后,首先会弹出一 个窗口界面,要求用户输入用户名,密码。该界面为a p p l e t 程序,目的是为了 统一整个系统的界面风格,能够方便得到用户的验证信息进行不同的权限控制和 管理。登录成功后,如果用户具有教师或管理者权限,可以在主界面中注册或删 除学生用户。 在服务器端,使用m y s q l 数据库来保存用户的注册信息以便用户登录时进 1 2 硕士学位论文第三章c p u v l a b 的主要模块设计与实现 行验证。同时,服务器部署了多个s e r v l e t 程序。其中l o g i n s e r v l e t 主要用来接收 从客户端的登录信息,使用j d b c 数据库技术对登录信息进行验证,并根据用户 名在数据库中查找用户在实验中所扮演的角色,以便分配实验权限和教学管理; r e g i s t e r s e r v l e t 和d e l e t e s e r v l e t 分别用来对学生用户的注册和删除。为了保证实 验过程中大量用户登录系统的实时性,数据库连接上采用了数据池技术,提高了 平台登录的响应速度。 ( 2 ) 实验流程界面:该界面是平台的主窗1 :3 ,主要完成以下工作:连线搭 建实验。用户在组件列表栏中选取实验要求的芯片组件,拖动鼠标连线完成实验 电路。在连线的过程中,程序后台建立起组件的连接关系记录,为组件调度提供 根据。保存打开实验文件。c p uv l a b 采用j a v a 的序列化反序列化的技术 来保存打开实验,这样可以使学生可以随时随地的保存,或者打开已经设计好 的实验,使实验的自主性更好。界面的放大缩小功能。由于c p u 实验电路图 庞大,为了使学生更加清晰的观察到c p u 的结构和工作过程,c p uv l a b 提供 了界面的放大缩小功能。芯片数据的实时显示。由于硬件c p u 实验中,指令 流和数据流无法在芯片上直观的显示出来,学生不清楚机器指令的执行过程,也 就不清楚机器指令和微指令的对应关系,由此造成了实验效果不理想。要克服这 个缺陷,必须实时的展示出芯片的状态。为了逼真的显示芯片,c p uv l a b 利 用j a v a 2 d 技术以一个矩形的形状来表示一个芯片,并且矩形上下为输入,输出 引脚。在开始实验前,引脚上面有引脚标号,与真实芯片引脚一一对应,便于学 生理解和连线。在实验运行的过程中,为了能实时展示芯片的状态信息,将各个 引脚的输入输出信息重绘到芯片的引脚处。这样就能直观的看到指令的流动过 程,加深对实验的理解。 ( 3 ) 程序录入界面:c p u 实验的目的之一就是要求学生掌握机器指令和微指 令之间的执行对应关系,并在此基础上能设计出自己的微指令系统。c p uv l a b 在设计内存芯片和微程序控制器组件时,都留下了相应的接口用来装载相应的程 序指令。程序录入界面提供了一个友好的环境使用户可以方便的替换平台已有的 微指令系统,并且可以向内存中写入自己的机器指令,在指令的执行过程中,实 时的采集微控制存储器产生的微指令,将其显示在界面上,使整个过程可见又可 存,方便进行一一验证。另外,为了方便用户编制和理解微程序,c p uv l a b 提供了单条微指令测试界面。通过它,用户可以很方便的输入单条微指令到微控 制存储器中,并在用户设计好的c p u 实验中进行测试。 ( 4 ) 平台帮助文档:学生在i n t e m e t 上开展实验时,有些实验难度确实比较大, 而在这时又得不到老师的帮助,为此平台提供了帮助文档,该帮助文档将c p u 相关的几个子实验及c p u 实验进行了详细的介绍,对已有的芯片也有具体描述, 1 3 硕士学位论文 第三章c p u v l a b 的主要模块设计与实现 可以方便学生查阅,增强了平台的易用性。 3 2 实验组件模块设计与实现 c p u 虚拟实验平台是一个仿真计算机硬件实验的虚拟实验平台,它将虚拟集 成电路芯片通过虚拟线路组成相关的实验,具有可视化、全交互、仿真程度高等 特点。其中每一个可视化的二维物体代表一个实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自主创新战略合作协议的重心
- 2025国家电网电力安全事故警示教育考试及答案
- 2026年中考语文热点备考方向 新国潮新中式(含答案)
- 2024河南省偃师市中考数学题库及参考答案详解(综合题)
- 2024自考专业(工商企业管理)真题标准卷附答案详解
- 2024-2025学年度社区工作人员试题附完整答案详解(典优)
- 医师定期考核考试彩蛋押题含答案详解(A卷)
- 2024临床执业医师模考模拟试题及完整答案详解【历年真题】
- 2024年注册公用设备工程师模考模拟试题及参考答案详解【夺分金卷】
- 注册公用设备工程师考前冲刺测试卷含答案详解【黄金题型】
- 中华人民共和国统计法
- 形成性评价指导性规范:SOAP病例汇报评价
- 《召公谏厉王弭谤》详细课件
- 高等数学教材(文科)
- 歌词:半生雪(学生版)
- 3.2 参与民主生活 课件-2024-2025学年统编版道德与法治九年级上册
- 人教版九年级数学下册相似《相似三角形(第2课时)》示范教学设计
- JBT 6064-2015 无损检测 渗透试块通.用规范
- 中考数学计算题练习100道(2024年中考真题)
- JT-T-747.1-2020交通运输信息资源目录体系第1部分:总体框架
- 【手术室护士配合在外科手术护理中的应用进展3800字(论文)】
评论
0/150
提交评论