计算机组成原理课程设计 江苏大学
- 格式:docx
- 大小:46.20 KB
- 文档页数:11
江苏大学计算机组成原理课程设计报告专业名称:网络工程班级学号:3130610031学生姓名:张杰指导教师:胡广亮设计时间:2013年6月24日—2013年7月2日第一天:熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法2、熟悉利用调试软件运行、调试微程序的方法二、操作提示1、连接实验设备注意:请在断电状态下连接调试电缆。
2、下载FPGA配置数据从课程网站下载CPU.sof等文件,使用Quartus II Programmer 软件将CPU.sof下载到FPGA。
3、输入微程序利用调试软件将微程序写入控存,微程序如下。
取指令微程序取源操作数为立即数的微程序取目的操作数为寄存器寻址的微程序MOV指令的微程序(目的数寄存器寻址)4、输入调机程序今天的将调机程序就是一条指令:“MOV #0001H, R1”。
首先将指令翻译成机器码,根据指令的编码规则,该指令的编码是:0761 0001。
然后利用调试软件将指令码写入主存,地址从主存的0030H开始。
5、调试微程序。
利用调试软件“Step”按钮控制微指令单步执行,执行结果如图2.3所示2.3 例2.1 MOV指令的单步运行跟踪数据6、分析微程序的执行结果,一般方法如下:首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→02E→000,通过调试软件的执行结果图2.3可以看出,该指令微程序的微指令次序是正确的。
如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR 的各个输入信号的值是否正确,如IR、NA等。
然后分析指令的运行结果。
理论上本条测试指令执行完后,R1的值应该是0001。
通过调试软件的执行结果图2.3可以看出,指令执行结果是正确的。
如果结果不对,就需要进一步分析每一条微指令。
计算机组成原理课程设计
计算机组成原理课程设计是计算机科学与技术专业的一门核心课程,其目的是帮助学生更深入地理解计算机的组成原理和工作原理,培养学生分析和设计计算机硬件的能力。
在这个课程设计中,我选择了设计一个简单的单周期CPU。
首先,我会设计CPU的指令集,包括处理器指令的类型、指
令格式、寻址方式等。
然后,根据指令集的要求,设计并实现CPU的控制器,控制指令的执行流程。
接着,我会设计并实
现CPU的数据通路,包括寄存器、ALU、存储器等组件,实
现指令的操作。
在设计过程中,我会遵循计算机组成原理的基本原理和设计原则,如冯·诺伊曼体系结构、指令周期、数据通路和控制单元
的相互协调等。
我会使用硬件描述语言,如VHDL或Verilog,进行设计,通过仿真和验证来测试设计的正确性。
同时,我还会考虑CPU的性能和效率,尽量优化各个部分的设计,以提
高CPU的运行速度和处理能力。
在设计完成后,我还会进行性能测试和功能验证,测试CPU
在不同工作负载下的性能表现,并根据测试结果对设计进行优化。
最后,我会编写报告,详细介绍我的设计思路、实现过程和测试结果,以及可能存在的问题和改进的方向。
通过这个课程设计,我将深入理解计算机组成原理的相关知识,并掌握CPU设计的基本方法和技术。
这对于我今后的学习和
工作都具有重要意义,不仅可以加深我对计算机硬件的理解,
还可以提高我的问题分析和解决能力,为我未来的研究和工作奠定坚实的基础。
计算机组成原理课程设计
报告
姓名:
班级:
学号:
指导老师:
二〇一一年月日
目录
第一章实训任务概述 (1)
1.1实训目的 (1)
1.2 实训任务 (1)
第二章设计内容 (2)
第三章图表格式 (3)
3.1 图表格式 (3)
第四章个人总结 (4)
4.1 主要结论 (4)
4.2 对实训的认识 (4)
参考文献 (5)
致谢 (6)
第一章实训任务概述
1.1实训目的
通过实训,掌握计算机系统软硬件维护的方法,并能利用所学知识,完成实训内容。
1.2 实训任务
第二章设计内容
第三章图表格式3.1 图表格式
图2-1 论文页面设置图
表2-1 高频感应加热的基本参数
第四章个人总结4.1 主要结论
本文主要……
4.2 对实训的认识
通过本次实训,我学到了……
参考文献
[1] 彭革新,谢胜利,张剑.战术Ad Hoc网络研究[J].现代军事通信,1999:751-755
致谢本文需要感谢……。
《计算机组成原理》教案一、课程简介1.1 课程背景计算机组成原理是计算机科学与技术专业的一门核心课程,旨在帮助学生了解和掌握计算机的基本组成、工作原理和性能优化方法。
通过本课程的学习,学生将能够理解计算机硬件系统的整体结构,掌握各种计算机组件的功能和工作原理,为后续学习操作系统、计算机网络等课程打下基础。
1.2 课程目标(1)了解计算机系统的基本组成和各部分功能;(2)掌握计算机指令系统、中央处理器(CPU)的工作原理;(3)熟悉存储器层次结构、输入输出系统及总线系统;(4)学会分析计算机系统的性能和优化方法。
二、教学内容2.1 计算机系统概述(1)计算机的发展历程;(2)计算机系统的层次结构;(3)计算机系统的硬件和软件组成。
2.2 计算机指令系统(1)指令的分类和格式;(2)寻址方式;(3)指令的执行过程。
2.3 中央处理器(CPU)(1)CPU的结构和功能;(2)流水线技术;(3)多核处理器。
2.4 存储器层次结构(1)存储器概述;(2)随机存取存储器(RAM);(3)只读存储器(ROM);(4)缓存(Cache)和虚拟存储器。
2.5 输入输出系统(1)输入输出设备;(2)中断和DMA方式;(3)总线系统。
三、教学方法3.1 讲授法通过讲解、举例、分析等方式,使学生掌握计算机组成原理的基本概念、原理和应用。
3.2 实验法安排实验课程,使学生在实践中了解和验证计算机组成原理的相关知识。
3.3 案例分析法分析实际案例,使学生了解计算机组成原理在实际应用中的作用和意义。
四、教学评价4.1 平时成绩包括课堂表现、作业完成情况、实验报告等。
4.2 期末考试采用闭卷考试方式,测试学生对计算机组成原理知识的掌握程度。
五、教学资源5.1 教材《计算机组成原理》(唐朔飞著,高等教育出版社)。
5.2 辅助资料包括课件、实验指导书、案例分析资料等。
5.3 网络资源推荐学生访问相关学术网站、论坛,了解计算机组成原理的最新研究动态和应用成果。
计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
计算机组成原理课程设计一、设计背景计算机组成原理是计算机科学与技术专业的一门基础课程,旨在培养学生对计算机硬件组成和工作原理的深刻理解。
通过课程设计,学生可以巩固和应用所学的知识,提高解决实际问题的能力。
二、设计目标本次计算机组成原理课程设计的目标是让学生通过实践,加深对计算机硬件组成和工作原理的理解,培养学生的设计和实现能力。
具体目标包括:1. 设计并实现一个简单的计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 熟悉计算机指令系统的设计与实现,包括指令的编码、解码和执行过程。
3. 学会使用硬件描述语言(如VHDL)进行计算机硬件的设计和仿真。
4. 掌握计算机系统的性能评估方法,包括指令周期、时钟频率等。
三、设计内容本次计算机组成原理课程设计的内容为设计并实现一个简单的基于冯·诺依曼结构的计算机系统。
具体设计内容包括以下几个方面:1. 计算机系统的总体设计根据冯·诺依曼结构的原理,设计计算机系统的总体框架。
包括中央处理器(CPU)、存储器、输入输出设备等。
2. 指令系统的设计与实现设计并实现一个简单的指令系统,包括指令的编码、解码和执行过程。
指令集可以包括算术运算、逻辑运算、数据传输等常见指令。
3. 中央处理器(CPU)的设计与实现设计并实现一个简单的中央处理器,包括指令寄存器、程序计数器、算术逻辑单元等。
通过对指令的解码和执行,实现计算机的基本功能。
4. 存储器的设计与实现设计并实现一个简单的存储器模块,包括指令存储器和数据存储器。
通过存储器的读写操作,实现程序的加载和数据的存储。
5. 输入输出设备的设计与实现设计并实现一个简单的输入输出设备,如键盘和显示器。
通过输入输出设备,实现用户与计算机系统的交互。
6. 系统性能评估对设计的计算机系统进行性能评估,包括指令周期、时钟频率等指标的测量和分析。
通过性能评估,优化计算机系统的性能。
四、设计步骤本次计算机组成原理课程设计的步骤如下:1. 确定设计的整体框架和目标,明确设计的内容和要求。
计算机组成原理课程设计计算机组成原理课程设计一、课程背景计算机组成原理是一门涉及计算机硬件设计、结构原理及计算机工作原理的课程,通过本课程的学习,学生们可以掌握计算机系统的功能,掌握计算机系统结构及其各部分的功能特征等,为学习计算机学科的其他课程打下基础。
二、课程教学内容1. 计算机组成原理掌握计算机组成原理,以及不同分类方式下的计算机架构。
2. 计算机硬件系统的基础掌握计算机硬件系统的结构和功能,以及计算机硬件系统的技术特征和性能指标。
3. 掌握计算机组成与控制的基本原理掌握计算机组成原理,以及计算机控制的基本原理,包括计算机控制的思维方式和算法。
4. 计算机性能分析掌握计算机性能分析的基本知识,包括性能分析的概念、原理和方法及性能分析的工具等。
5. 计算机组成原理的实际应用通过课程设计,锻炼学生的计算机组成原理的实际应用能力,帮助学生在计算机设计过程中更好地使用计算机组成原理的技术。
三、课程教学安排1. 学习理论在本课程中,首先通过课堂讲解和实验室实习,学习相关理论知识,掌握计算机组成原理的基本概念、结构及性能分析的原理、计算机控制的基本原理及方法等。
2. 课程设计通过课程设计,锻炼学生的计算机组成原理的实际应用能力。
课程设计的内容包括:设计一个计算机系统结构,确定各部分的功能特点和性能指标;分析计算机性能,比较不同设计方案的优劣;分析计算机控制的基本原理,设计一个计算机控制系统;应用计算机组成原理设计一个系统等。
四、课程考核根据本课程实际教学情况,实行期中考试和期末考试相结合的考核制度,比重分别为50%和50%。
期中考试着重考查学生理论知识,期末考试着重考查学生的应用能力,两次考试比重相当,有助于引导学生良好的学习状态。
江苏大学《计算机组成原理》课程设计报告专业名称:软件工程班级学号:软件1001第一天取操作数微程序的设计和调试一、设计目标设计并调试取操作数的微程序二、取操作数微流程进入取目标操作数三、测试程序、数据及运行结果1、测试内容:立即寻址,直接寻址运行数据:运行结果及分析:从微地址可以看出,先是取指令001->002->003->004,再是取源操作数,004->00B->00F->016->006,是立即数寻址方式,再是取目的操作数,006->-01B>01F->024->025->026->007,是直接寻址方式,最后是执行阶段,007->044->047->072->000,将结果mov到内存里。
2、测试内容:立即寻址,寄存器运行数据:运行结果及分析:从微地址可以看出,先是取指令001->002->003->004,再是取源操作数,004->00B->00F->016->006,是立即数寻址方式,再是取目的操作数,006->018->007,是寄存器寻址方式,最后是执行阶段,007->044->046->000,将结果mov到寄存器里。
由GRS 可以看出最终结果由0000变成了5678。
四、设计中遇到的问题及解决办法才开始的时候,对软件的应用不是很熟悉,遇到一些麻烦,在同学的帮助下,解决了软件应用问题。
第二天运算指令的微程序设计与调试一、设计目标设计并调试运算指令的微程序。
二、运算指令微程序入口地址三、运算类指令微程序四、测试程序、数据及运行结果1、测试内容:ADD运算运行数据:运行结果及分析:从微地址可以看出,第一阶段先是取第一条指令(MOV #5678H,R1)001->002->003->004,再是取源操作数,004->00B->00F->016->006,是立即数寻址方式,再是取目的操作数,006->018->007,是寄存器寻址方式,最后是执行阶段,007->044->046->000,将结果mov 到寄存器里。
计算机组成原理课程设计报告班级:计算机班姓名:学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:1.模型机总体结构COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
计算机组成原理 课程设计一、课程目标知识目标:1. 让学生掌握计算机硬件的基本组成,包括CPU、内存、硬盘、输入输出设备等,并了解各部件的功能和工作原理。
2. 使学生了解并理解计算机的指令系统,包括指令的种类、格式和执行过程。
3. 帮助学生理解计算机的性能指标,如主频、缓存、运算速度等,并学会分析不同硬件配置对计算机性能的影响。
技能目标:1. 培养学生运用所学知识分析和解决实际问题的能力,例如根据需求选择合适的计算机硬件配置。
2. 提高学生的动手实践能力,通过组装和拆解计算机硬件,加深对计算机组成原理的理解。
3. 培养学生查阅资料、自主学习的能力,以便在课后拓展相关知识。
情感态度价值观目标:1. 培养学生对计算机科学的兴趣和热情,激发他们探索计算机技术发展的积极性。
2. 增强学生的团队合作意识,通过小组讨论和实践活动,学会与他人合作共同解决问题。
3. 引导学生关注计算机技术在生活中的应用,认识到科技对社会的推动作用,培养创新精神和责任感。
本课程针对高中年级学生,结合计算机组成原理的教学要求,将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
课程性质为理论联系实践,注重培养学生的实际操作能力和创新思维。
在教学内容上,紧密联系课本知识,突出重点,使学生能够在实践中掌握计算机组成原理的相关知识。
二、教学内容1. 计算机硬件基本组成- 课本第二章:介绍CPU、内存、硬盘、输入输出设备等硬件的基本概念、功能及工作原理。
- 教学大纲:安排2课时,通过讲解、图示和实物展示,使学生了解各硬件部件的作用及相互关系。
2. 计算机指令系统- 课本第三章:讲解指令的种类、格式和执行过程,以及指令系统的发展。
- 教学大纲:安排2课时,通过实例分析、指令执行流程图解,帮助学生理解计算机指令系统的基本原理。
3. 计算机性能指标与硬件配置- 课本第四章:介绍计算机性能指标,分析不同硬件配置对计算机性能的影响。
- 教学大纲:安排2课时,结合实际案例,让学生学会分析硬件配置对计算机性能的影响,并能根据需求选择合适的硬件配置。
计算机组成原理课程设计
计算机组成原理课程设计
一、课程介绍
本课程主要介绍计算机组成原理,包括计算机的结构,功能,性能,介绍CPU,存储器,总线,输入/输出系统,及这些部件之间的工作关系。
二、课程目标
1. 学生能够认识计算机的概念、主要组成部分及功能。
2. 了解计算机基本工作原理,包括CPU,存储器,总线,输入/输出系统,以及这些部件之间的工作关系。
3. 掌握主要软件技术,包括汇编语言,编译语言,操作系统等。
三、内容安排
本课程包括以下主要内容:
1. 计算机基本概念:计算机的构成,计算机系统和计算机网络。
2. CPU:架构、指令集、运算法则和程序控制。
3. 存储器:存储器的类型、特性和性能。
4. 总线:总线的结构、架构及特点。
5. 输入输出系统:计算机系统的输入输出结构、设备接口、通信协议。
6. 汇编语言程序设计:汇编语言基本语法,程序编写及调试。
7. 编译语言程序设计:编译语言程序设计,程序语言、数据结构、程序编写及调试。
8. 操作系统程序设计:操作系统概念、基本功能结构,虚拟存储器,任务调度,工作管理,系统文件管理等。
四、课程评价
课程主要采用学习报告、小组讨论、实验报告等方式进行评价。
计算机组成原理第五版课程设计一. 课程设计简介本次课程设计的主要目的是通过设计一个单周期CPU的过程,来加深学生们对计算机组成原理的理解。
帮助学生们深入了解计算机各个方面的组成,并且通过实际操作提升学生们的实践能力。
二. 课程设计要求1.设计一个单周期CPU,实现ADD、SUB、AND、OR、XOR、SLT、LW、SW、BEQ、J(AL)、JR(AL)等主要指令的功能。
2.根据指定的指令集格式,编写CPU的控制信号表,完成CPU控制单元的设计。
3.根据CPU的控制信号表和指令集不能实现的控制信号,补充编写控制信号的逻辑运算式,实现CPU控制单元的完整设计。
4.写出至少两个汇编程序进行测试,并且能够成功运行。
5.初步完成CPU的时序分析和电路设计,了解并掌握CPU因时序错误等因素产生故障的处理方法。
三. 课程设计具体步骤1.设计指令集。
首先根据要求的指令集格式,设计满足要求的指令集。
需要考虑指令的功能和操作码,同时考虑指令集的扩展性,可以在原有的指令集架构上扩展更多指令。
2.编写控制信号表。
在正确完成指令集设计的基础上,根据指令集的功能和操作码,编写控制信号表。
在表格中列出各个控制信号的代表意义以及对应的运算式。
根据表格进行CPU控制单元的设计。
3.设计数据通路。
在控制单元的基础上,设计数据通路,主要包括寄存器、ALU、存储器等部件,同时考虑数据分离和运算结果写回等问题。
4.补全控制信号逻辑。
在完成CPU的基础功能实现之后,对于一些指令集不包含的信号,需要重新编写逻辑,完善控制信号的设计。
5.写出测试程序。
为了验证CPU的正确性,需要编写测试程序来测试CPU的各个功能。
在编写测试程序时要严格按照调试过程进行,分析程序执行过程中寄存器、存储器中数据的变化。
6.完善时序分析和电路设计。
在测试程序验证CPU的功能之后,还需要对CPU进行时序分析,并对电路进行完善的设计,了解CPU的因时序错误等因素产生故障的处理方法。
目录1 需求分析 (1)1.1课程设计目的 (1)1.2课程设计内容及要求 (1)1.3TDN-CM++计算机组成原理实验教学系统特点 (2)1.4微指令格式分析 (2)1.5指令译码电路分析 (5)1.6寄存器译码电路分析 (6)1.7时序分析 (7)2 总体设计 (9)2.1数据格式和机器指令描述 (9)2.2机器指令设计 (11)3 详细设计 (16)3.1控制台微程序流程的详细设计 (16)3.2运行微程序流程的详细设计 (19)4 实现阶段 (31)4.1所用模型机数据通路图及引脚接线图 (31)4.2 测试程序及结果 (33)心得体会 (35)参考资料 (36)1 需求分析1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性教学环节之一,是在学生学习完《计算机组成原理》课程后进行的一次全面的综合设计。
目的是通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。
1.2 课程设计内容及要求基于TDN-CM++计算机组成原理实验教学系统,设计和实现一个8位指令系统结构(ISA),通过调试和运行,使设计的计算机系统能够完成指定的功能。
设计过程中要求考虑到以下各方面的问题:(1)指令系统风格(寄存器-寄存器,寄存器-存储器,存储器-存储器);(2)数据类型(无符号数,有符号数,整型,浮点型);(3)存储器划分(指令,数据);(4)寻址方式(立即数寻址,寄存器寻址,直接寻址等);(5)指令格式(单字节,双字节,多字节);(6)指令功能类别(算术/逻辑运算,存储器访问,寄存器操作,程序流控制,输入/输出)。
要求学生综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA)。
计算机组成原理A(Computer Organization)课程编号:06310970学分:4.5学时:75(其中:讲课学时:60 实验学时:15 上机学时:0)先修课程:数字逻辑A,电工电子学B适用专业:计算机科学与技术、网络工程教材:《计算机组成原理(第二版)》,肖铁军等,清华出版社,2015年第2版开课学院:计算机科学与通信工程学院一、课程目标《计算机组成原理》是高等学校计算机类专业的一门技术基础必修课。
通过本课程的学习,培养学生掌握计算机各大部件的基本组成、基本原理,各部件间的相互联系,以及各部件在整机中的作用;培养学生具有初步的硬件系统分析、设计和使用的能力;并为学习后继课程、从事科学研究和工程技术工作打下基础。
课程的具体目标如下:1. 知识方面1.1 掌握计算机系统的基本组成,掌握计算机的性能指标。
1.2 掌握计算机中信息的表示方法。
1.3 掌握运算器的基本组成和基本原理。
1.4 掌握存储器的基本组成和基本原理。
1.5 理解指令系统的设计,掌握基本寻址方式,熟悉指令和汇编语言。
1.6 掌握控制器的基本组成和基本原理;掌握计算机主机的工作原理;掌握指令流水线的基本原理。
1.7理解存储系统的层次和作用,掌握高速缓存和虚拟存储的基本组成和基本原理。
1.8 掌握输入输出和系统总线的基本组成和基本原理。
2. 能力与素质方面2.1 掌握计算机硬件系统和各组成模块的基本分析与设计方法。
2.2 能够综合运用计算机组成的基本原理和分析方法,对有关计算机硬件系统中的理论和实际问题进行求解。
2.3能够运用计算机组成原理的基本理论和知识,对计算机的功能部件进行分析、研究,制定实验方案。
2.4 能够熟练使用开发、调试工具实施实验方案,观察实验现象并记录。
2.5 能够对实验结果进行分析、讨论,通过思考与总结得出结论,并能正确表述。
二、课程目标与专业毕业要求指标点的对应关系本课程支持的毕业要求指标点如下:指标点2.4:具备将计算机专业知识用于计算机领域复杂工程问题进行求解的能力。
计算机组成原理课程设计报告JUC2模型机的微程序设计姓名学号专业计算机科学与技术指导教师肖铁军江苏大学计算机学院2014 年 6 月 30 日1熟悉微程序的设计和调试方法1.1 目标要求(1) 掌握微程序的设计方法(2) 熟悉利用调试软件运行、调试微程序的方法1.2 微程序设计1.2.1取指令的微程序设计1.2.2取目的操作数的微程序设计(1) 直接寻址的微程序1.2.3执行阶段的微程序设计(1) INC指令的微程序(2) 保存运算结果的微程序(3)JMP指令的微程序1.3 调机程序设计程序 1-10030: 0460; INC 0040H0031: 0040;0032: 0420; JMP 0030H0033: 0030;程序1-20030: 0460; INC FF02H 0031: FF02;程序1-30030: 0480; DEC R01.4 运行调试运行调试记录表举例:1.5小结通过本次上机试验,我掌握了微指令编码与指令编码的翻译方法,而且对取指令等操作的过程中各个寄存器的变化有了更加清晰的了解。
2双操作数指令的设计与调试2.1 目标要求完成双操作数指令的微程序设计和验证;去源操作数阶段和去目的操作数阶段相关寻址方式的微程序设计和验证,2.2 设计任务2.2.1取源操作数(1) 立即寻址(2) 直接寻址(3) 间接寻址2.2.2取目的操作数(1) 寄存器寻址(2) 寄存器间接寻址2.2.3执行阶段(1) MOV指令的微程序(2) SUB指令的微程序2.3 调机程序设计程序2-1 ,2-20030: 1620; MOV #0101,0040H0031: 0101;0032: 0040;0033: 4620; SUB #FFFF,00400034: FFFF;0035: 0040程序 2-30030: 1801; MOV FF08H,R10031: FF08;0032: 1060; MOV R1,FF02H0033: FF02;程序2-40030: 4A20; SUB (0020H),0040H0031: 0020;0032: 0040;0040:0003程序2-50030: 1608;MOV #0101 (R0)0031: 0101;2.4 调试结果2.5 小结通过本次上机实验,我掌握了mov指令与sub指令的程序设计,并且也初步了解LED灯的相关的知识点。
江苏大学
计算机组成原理课程设计报告
专业名称:网络工程
班级学号:3130610031
学生姓名:张杰
指导教师:胡广亮
设计时间:2013年6月24日—2013年7月2日第一天:熟悉微程序的设计和调试方法
一、设计目标
1、掌握微程序的设计方法
2、熟悉利用调试软件运行、调试微程序的方法
二、操作提示
1、连接实验设备
注意:请在断电状态下连接调试电缆。
2、下载FPGA配置数据
从课程网站下载CPU.sof等文件,使用Quartus II Programmer 软件将CPU.sof下载到
FPGA。
3、输入微程序
利用调试软件将微程序写入控存,微程序如下。
取指令微程序
取源操作数为立即数的微程序
取目的操作数为寄存器寻址的微程序
MOV指令的微程序(目的数寄存器寻址)
4、输入调机程序
今天的将调机程序就是一条指令:“ MOV #0001H, R1”。
首先将指令翻译成机器码,根
据指令的编码规则,该指令的编码是:0761 0001。
然后利用调试软件将指令码写入主存,
地址从主存的0030H开始。
5、调试微程序。
利用调试软件“Step”按钮控制微指令单步执行,执行结果如图 2.3所示
2.3 例2.1 MOV指令的单步运行跟踪数据
6、分析微程序的执行结果,一般方法如下:
首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序
的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→
02E→000,通过调试软件的执行结果图 2.3可以看出,该指令微程序的微指
令次序是正确的。
如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR
的各个输入信号的值是否正确,如IR、NA等。
然后分析指令的运行结果。
理论上本条测试指令执行完后,R1的值应该是0001。
通过
调试软件的执行结果图 2.3可以看出,指令执行结果是正确的。
如果结果不对,就需要进一
步分析每一条微指令。
分析的方法是针对微指令的每一条微命令,查看相应微操作前后相关
模块的数据变化是否与指令微流程一致。
下面举个例子说明如何分析每条微指令的。
图 2.3的微地址为000B(uAR=000B)的控存单元所对应的内容为2008000F,即微指
令为2008000F,所代表的微操作是:PCoe,ARce,即PC的内容送IB、IB 的内容送AR,
理论上的正确结果应该是IB=0031, AR=0031;通过图 2.3的000B单元微指令的执行结果可
以看出,IB 的数据由上一条微指令的结果0000→0031, AR 的数据由上一条微指令的结果
0030→0031,说明本条微指令执行结果是正确。
从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上
正确的结果
是什么。
这就要求实验者对指令的微程序流程非常清楚,从而达到了理解计算机内部信息流
动过程、掌握计算机工作原理的目的。
所以实验者应重视实验数据的分析工作,否则就失去
了实验的意义。
1、测试内容:立即数寻址、寄存器寻址
测试指令(或程序):MOV #0001H, R1
机器码:
运行结果:
第二天取操作数微程序的设计和调试
一、设计目标
设计并调试取操作数的微程序。
二、取操作数微流程
取目的操作数流程:
三、测试程序、数据及运行结果
格式如下:
1、测试内容:间接寻址、寄存器寻址
测试指令(或程序):MOF (0048)R1
机器码:
四、设计中遇到的问题及解决办法
在设计过程中开始对调试程序的运行不熟悉,不是很了解了此程序的运行。
在操作
过程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问题。
我详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。
第三天双操作数指令的微程序设计与调试
一、设计目标
设计并调试运算指令的微程序。
二、双操作数指令微程序入口地址
三、双操作数指令执行微程序
四、测试程序、数据及运行结果
1、测试内容:立即寻址,直接寻址,间接寻址,寄存器寻址,寄存器间接寻址
测试程序:MOV(0048H) R1
TEST 0048H R1
AND #0078H (R0)
ADD R1 R0
机器码:
运行结果:
五、设计中遇到的问题及解决办法
调试双操作数指令执行微程序,先要写出双操作数指令执行微程序的微地址,微命令,然后写微程序,最后上机调试,判断是否正确,检查微程序运行结果是否正确是一项稍繁琐的事情,需要检查每步的寄存器、标志位、总线上的地址和数据。
但经过几天的熟悉,我们已慢慢熟悉掌握。
第四天单操作数运算和移位指令的微程序设计与调试
一、设计目标
完成单操作数运算指令INC、DEC、NOT和7条移位指令微程序的设计。
二、单操作数运算和移位指令微程序入口地址
三、单操作数运算和移位指令微程序的设计
四、测试程序、数据及运行结果
1.测试内容:间接寻址
测试程序:SHL (0010)H
机器码:
运行结果:
微指令的执行次序为:001—>002—>003—>006—01B—>01F—>022—>023—>024—>025—>026—>007—>62—>02F,参照取指令、取操作数和SHL指令执行微流程分析,所执行的微指令的次序是正确的。
2.测试内容:相对寻址
测试程序: DEC (0001)
机器码:
运行结果及分析:
第五天子程序调用、堆栈和转移指令微程序设计与调试一、设计目标
完成CALL、RET、PUSH、POP和9条转移指令的微程序的设计。
二、PUSH、POP、CALL、RET指令微程序的设计
PUSH
POP
CALL
RET
三、测试程序、数据及运行结果
1、测试内容:直接寻址
测试程序:CALL 000AH
机器码:
运行结果及分析:
首先,微指令的执行次序为:001—>002—>003—>006—01B—>01F —>024—>025—>026—>007—>07A—>047—>048—>049—>04A—>000,参照取指令、取操作数和CALL指令执行微流程分析,所执行的微指令的次序是正确的。
2、测试内容:相对寻址
测试程序:JMP +2
机器码:
运行结果及分析:
3.测试程序:PUSH 0010H POP 0012H //0010存放AAAA
机械码:031A 0010 033A 0012
运行结果及分析:
第六天检查指令
一、设计目标
用综合应用程序测试JU-C1十六位微程序控制计算机。
二、测试程序、数据及运行结果
测试程序:
MOV #0031H,0080H 077A 0031 0080
PUSH 0080H 031A 0080
CALL 0060H 035A 0060
SHL 0080H 005A 0080
运行结果及分析:
总结
这次计算机组成原理简单微程序的设计,通过实验将实际问题和课本内容紧密的联系在一起,将知识运用到了实际之中,更加深入地掌握了微程序设计。
课本的知识是死的,只有经过自己的动手实践调试,才能更好的掌握知识
我意识到了上机实践的重要性,因为在进行调试时,因此在对于一些错误的处理还是很生疏,这就暴露了平时不注重实践的弊端。
既然是程序设计,就应该多动手,当然不仅仅是纸上谈兵,还应注重多上机操作。
还有就是,在执行指令的过程中出现的错误,我还不能准确的定位出到底是哪地方面出现了错误,往往需要询问老师或者是思考很久之后才能找到原因。
对于这点,应该是对于整个过程还不够了解的原因,因此在以后的学习中还应该加强对知识的认识程度。
刚开始时,由于下载器件的问题保存微程序时中间会有一部分突然就没了,最开始还没在意,就是总发现验证时总出错,后来才知道是下载的微程序有问题,当时真的是非常的郁闷,后来在经过一翻重新检查后,终于把微程序完整的保存好了。
在完成整个课设后,我对取操作数的过程,MOV指令,运算类指令,CPU硬件的基本设计,转移指令,移位指令,堆栈类指令以及中断系统都有了更加深刻的理解,因为是通过实践的缘故,能够将抽象化的过程更加形象化,便于理解,使我明确了各种指令的执行过程。
我认为整个课设的设计还是很合理的,每天都有每天的任务,任务也很明确,每天
都可以充分利用,后一天的内容与前一天的内容紧密相连,难度也是逐渐加深,这个循序渐进的过程更容易让我们接受。