计算机组成原理实验初析.docVIP

计算机组成原理实验初析.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理实验初析

计算机组成原理实验初析   文章编号:1672-5913(2013)2179074-05   中图分类号:G642   摘要:根据国内外计算机硬件类实践课程教育的现状,分析传统计算机组成原理实验课程教学中的弊端,介绍南京大学计算机系对此门实验课的教学安排,从知识准备、具体实验内容设置和教学组织形式等方面,全面介绍计算机组成原理实验课程的内容和教学方式,并对教学效果进行总结。   关键词:计算机组成原理;CPU;FPGA;单周期;多周期   1 课程设计初衷   计算机组成原理是计算机专业重要的核心课程,在计算机专业的整个课程体系中起着承上启下的作用。熟练掌握计算机的结构和工作过程,不仅为计算机硬件的学习和研究打下基础,对从事软件工作的人也大有益处。   近年来,南京大学计算机系对国际一流大学计算机专业的相关课程进行了详尽的跟踪调研,调研结果表明,计算机组成原理实验课程设置一般都有两个不同的角度:一个是偏重软件的程序员角度,另一个是偏重硬件的硬件设计人员角度。偏重软件的实验课程一般是用高级语言和模拟器实现CPU,使学生能够更好地理解计算机底层的系统结构,提高程序编写和调试能力。偏重硬件的课程一般要求学生利用硬件描述语言,在FPGA上设计一个处理器系统。   国内传统的计算机组成原理实验的教学方式是做验证性实验,在固定的实验箱上,通过插拔一些连线,拨动部分开关和编制微程序等方式,和固定的硬件系统进行交互,从而了解计算机的内部结构。这一实验形式无法让学生深入理解计算机各个部件的具体硬件结构,也不能使学生很好地理解计算机底层的结构和系统软件之间的关系,更不能培养学生利用现代化的工具设计计算机硬件系统的能力。鉴于这些传统教学的弊端,国内部分高校在课程设置和教学内容上都开始借鉴国外一流大学计算机专业的做法,一部分高校已经率先利用EDA技术在FPGA上进行计算机单元部件的设计、并以系统搭建的形式来组织计算机组成原理的实验教学。南京大学计算机系从2007年开始了这一教学形式的尝试,经过几年的探索,已经形成了相对稳定的计算机组成原理实验课程的教学模式和教学内容。   2 课程知识准备   利用EDA技术在FPGA上实现一个处理器,需要学生有一定的知识准备。首先,计算机系在数字逻辑电路实验课程中,利用EDA技术在FPGA上进行数字逻辑单元电路的设计和简单数字系统的设计。其次,在计算机组成与系统结构课程中,学生深入学习MIPS体系结构的指令系统,单周期、多周期以及流水线结构CPU的数据通路。计算机组成原理实验课程在这些课程的基础上,从设计CPU内部的单元电路开始,逐步进行MIPS体系结构的完整CPU的设计。   3 课程设置   课程内容的安排主要分为3大部分:部件级实验、简单CPU实验和大型作业。   3.1 部件级实验   在CPU的硬件电路设计中,涉及许多简单的单元电路,如选择器、译码器、触发器等,这些内容在数字逻辑电路实验课程中已经很熟悉了,在本实验课程中,主要是安排CPU内部其他重要的功能独立部件的设计,如存储器、寄存器组、桶形移位器和ALU等。   3.1.1 存储器的设计及测试   存储器是计算机系统的重要组成部分,用于存储指令和数据。指令存储器和数据存储器可以分开设计,也可以只设计一个既存储指令又存储数据的存储器。存储器有读和写两个端口,读存储器时,可以使用时钟进行触发,也可以不使用时钟进行触发。写存储器时,一定需要有时钟进行触发才能将数据写入存储器中,时钟的上升沿和下降沿都可以触发存储器的写操作。   存储器实验的主要内容,是让学生掌握存储器的接口及控制信号的功能和使用,学会各种存储器的设计及测试,特别要掌握存储器的工作时序,这在单周期CPU设计时特别重要。单周期CPU需要在一个时钟周期内完成一整条指令的执行,而在这一个时钟周期内,CPU有可能会两次访问存储器——读指令和存储数据,如果存储器设计不合理,在一个时钟周期内是无法完成一条指令的。对于多周期和流水线CPU,一条指令需要多个时钟周期才能完成,对存储器时序的要求相对小一些,这时可以灵活应用方便读写的存储器结构。   3.1.2 寄存器组的设计   寄存器是CPU内部暂存数据的空间,速度最快,使用也最为频繁。MIPS体系结构的CPU内部寄存器,是一组由32个32位的寄存器组成的通用寄存器组。仅从寄存器组的外部特性来看,MIPS结构的寄存器组由无差别的32个32位寄存器组成,任何条件下均可访问寄存器组中的任意寄存器。但是,为了简化CPU的结构,MIPS体系结构寄存器组的0号寄存器的值被设置为恒“0”,只能读出,不能写入。   MIPS指令集中一条指令(R型)最多同时对三个寄存器进行操作:两个源寄存器和一个目的寄存器。R型指令执行过程中,需

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档