华中科技大学文华学院计算机组成原理课设
计算机组成原理(华中科技大学建设的慕课)

冯丹,华中科技大学计算机科学与技术学院教授,从事大数据存储系统、存算融合技术等领域研究工作。 吴非,华中科技大学计算机科学与技术学院教授,从事新型存储器性能和可靠性优化等领域研究工作。 谢雨来,华中科技大学网络空间安全学院副教授,从事入侵检测、舆情分析、工控安全、网络安全等领域研 究工作。 王芳,华中科技大学计算机科学与技术学院教授。
教学目标
教学目标
通过该课程的学习,使学习者系统地掌握冯·诺依曼结构计算机各组成部件的基本结构、工作原理、内部运 行机制和基本设计方法;加深学习者对计算机软、硬件系统的整体化理解,建立硬件/软件协同的整机概念,并有 效增强学习者的计算机硬件素养和软件协同的系统观,有效增强学习者的计算机系统设计能力。具体目标包括:
计算机组成原理(华中科技大 学建设的慕课)
华中科技大学建设的慕课
01 课程性质
03 课程大纲 05 课程特色
目录
02 课程简介 04 开课信息 06 教学目标
07 学习预备
09 教师简介
目录
08 所获荣誉
基本信息
计算机组成原理课程是华中科技大学建设的慕课、国家精品在线开放课程、国家级一流本科课程。该课程于 2018年10月16日首次在中国大学MOOC开课,授课教师为秦磊华、胡迪青、谭志虎、蒋文斌、冯丹、吴非、谢雨来、 王芳。据2021年10月中国大学MOOC官网显示,该课程已运行7学期。
计算机组成原理课程共八章,包括计算机系统概论、运算方法与运算器、中央处理器、输入输出系统、存储 系统、数据表示等内容。
课程性质
课程定位
适应专业
课程定位
计算机组成原理课程是一门理论性、工程性、技术性和实践性都较强的核心专业基础课程,在计算机学科系 列课程中处于承上启下的作用。
计算机组成原理课程设计任务书

华中科技大学计算机学院计算机组成原理课程设计任务书计算机组成原理是计算机专业的核心专业基础课。
课程设计是学完该课程并进行了多个单元实验后,综合利用所学的理论知识,并结合在单元实验中所积累的计算机部件设计和调试方法,设计出一台支持自有指令系统的简单计算机系统。
所设计的系统能在基于EDA的实验平台上运行一段基于自有指令的程序,通过检查程序结果的正确性来判断所设计计算机系统正确性。
课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行主机系统及底层功能部件电路的设计及实现、系统的故障分析与定位、系统调式等环节的锻炼,进一步提高分析和解决问题的能力。
1.课程设计题目课程设计的主要任务是设计一台简单的计算机系统,并调试通过。
围绕这一主要目标,课程设计的题目可以根据自己的设计内容、实现方式、所设计的计算机系统的结构从下列备选题中选取,也可以自己命题。
1)基于微程序控制器的简单计算机系统设计与实现2)基于硬布线控制器的简单计算机系统设计与实现3)基于微程序控制和硬布线相结合的简单计算机系统设计与实现4)支持流水线的简单计算机系统设计与实现5)基于总线结构的简单计算机系统设计与实现6)基于FPGA的简单计算机系统设计与实现7)支持中断的简单计算机系统设计与实现还可以在上述机器中支持其它功能,如溢出判断功能、浮点运算功能等。
2、简单计算机系统的设计目标计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。
在对该模型机系统中的部件功能利用EDA软件的仿真功能进行仿真分析和功能验证的基础上,将部分电路下载到FPGA,并与适当的外围器件(包括部分芯片、输入/输出开关、LED显示等)相配合,实现模型机的主机系统。
要求所设计的主机系统能支持自动和单步运行方式,能正确地执行存放在主存中程序的功能,对主要的数据流和控制流通过LED适时显示信息。
3.本课程设计的主要技术指标1)支持算术运算、逻辑运算、存储器读写、寄存器间数据传送等几类指令。
计算机组成原理(华科)chap.ppt

5)系统总线
计算机内各大部件之间的连接部件。
2. 冯诺依曼计算机的体系结构
由五大部分组成; 基本原理:存储程序和程序控制;
④
①
③
②
③ ③
⑤ ③
计算机的大体工作过程可描述如下: ① 通过输入设备将解题程序和数据送入主存。(存储程序)
② 控制器从主存中逐条取出程序的指令,并控制实现指令功能。 ③ 在指令功能实现过程中,由运算器完成对数据的运算处理。 ④ 将运算结果送主存。 ⑤ 通过输出设备反馈程序运行结果。
四、计算机系统的层次结构
1、五级结构,不同的级面向不同的用户对象, 采用不同的 方法和不同的设计工具进行各级程序设计。
2、分级的好处:有利于系统结构的优化,单级的修改只 需 要修改相邻级的接口或相邻级,不会影响其它级。
3、各级的说明:
5 4 3 2 1
高级语言级
编译程序
•第1、2级由硬件实现,3~5级由软件实
第一章
计算机系统概论
本章主要知识点:
•计算机硬件系统由哪几部分构成、各有何作用?
•冯诺依曼计算机的工作原理
•计算机系统的层次结构
•透明性概念
•固件
•计算机系统的性能评价
一、计算机系统的概念
1、计算机系统的构成:硬件+软件构成的复杂的自动化设备,由 多层次结构构成。 •硬件:由有形的电子器件构成,如运算器、控制器、存储器等 •软件:为了方便用户使用计算机而编制的各种程序。
现,称为虚拟机。
•第1微程序设计级,用户只能用微指令 编写程序,并由计算机硬件直接执行。
汇编语言级
汇编程序
采用硬布线的计算机没有该级。
•第2级一般机器级,(称传统机器级)用机
计算机组成原理华科版第二章运算方法与运算器课件

4
计算机组成原理
⑵补码表示法
第二章 运算方法与运算器
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。
• 补码运算中,可以用加法代替减法,节省元件, 降低成本。
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1
第二种浮点表示的格式为
1,10001001,01111111110000000000000
17
计算机组成原理
⑶ 浮点数的表示举例
第二章 运算方法与运算器
某机用32b表示一个数,阶码部分占8b(含一位符号 位2格5式6).。5,,尾x数2=1部27分/2占56,2 4试b(写含出一x1和位x符2的号两位种)浮。点数设表x1示=-
最小负数 最大负数
最小正数
最大正数
1.0000000 1.1111111
0.0000001
0.1111111
-1
-2-7
2-7
1-2-7
11
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下:
最小负数 最大负数 最小正数 最大正数
11111111 10000001 00000001 01111111
计算机组成原理
1.真值与机器数
第二章 运算方法与运算器
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。
将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
1
计算机组成原理
计算机组成原理课程设计

目录1课程设计目的 (2)2课程设计设备 (2)3课程设计内容 (2)3.1课程设计原理 (2)3.1.1开关SWA和SWB的定义及数据通路框图 (3)3.1.1.1开关SWA和SWB的定义 (3)3.1.1.2数据通路框图 (3)3.1.2. 微指令格式表及微程序流程图 (3)3.1.3微指令二进制代码表 (6)3.2 实验步骤 (7)3.2.1实验接线图 (7)3.2.2 实验步骤: (8)4课程设计总结 (9)4.1每条机器指令的微程序: (9)4.2 课程设计心得、经验教训及注意事项 (10)4.2.1课程设计心得 (10)4.2.2 经验教训 (10)4.2.3注意事项 (10)5实验结果截图 (11)基本模型计算机设计1课程设计目的掌握计算机功能模块的原理和关系,建立计算机整机概念2课程设计设备TDN-CM+计算机组成原理实验系统,排线若干3课程设计内容3.1课程设计原理3.1.1开关SWA和SWB的定义及数据通路框图3.1.1.1开关SWA和SWB的定义在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
其中,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成。
本试验中设计了三个控制台操作微程序:存储器读写操作(KRD),拨动总清开关CLR后,控制台开关SWB,SWA 为“0,0”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE),拨动总清开关CLR后,控制台开关SWB,SWA 置为“0,1”时,按START微动开关可对RAM进行连续手动写入。
启动程序,拨动总清开关CLR后,控制开关SWB,SWA置为“1,1”时,按动START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB,SWA的状态来设置,3.1.1.2数据通路框图3.1.2.微指令格式表及微程序流程图3.1.2.1微指令格式表3.1.2.2微程序流程图系统涉及到微程序流程图,当拟定”取指”微指令时,该微指令的判别测试字段为P(1)测试. 由于”取指”微指令是所有微程序都使用的公用微指令, 因此P(1)的测试结果出现多路分支.控制台操作为P(4)测试, 它以控制台开关SWB, SWA作为测试条件, 出现了3路分支, 占用3 个固定微地址单元.当全部微程序设计完毕后, 应将每条微指令代码化, 微指令二进制代码表, 加入TRY指令的微指令代码内容,流程如下:3.1.3微指令二进制代码表微指令代码表微地址S3S2S1S0M Cn W E A9A8 A B C μA5 ~μA0联机微地址微指令内容00Q 0 0 0 0 0 0 0 1 1 000 000 100 0 1 0 0 0 0 00H 018110H 01Q 0 0 0 0 0 0 0 1 1 110 110 110 0 0 0 0 1 0 01H 01ED82H 02Q 0 0 0 0 0 0 0 0 1 100 000 001 0 0 1 0 0 0 02H 00C048H 03Q 0 0 0 0 0 0 0 0 1 110 000 000 0 0 0 1 0 0 03H 00E004H 04Q 0 0 0 0 0 0 0 0 1 011 000 000 0 0 0 1 0 1 04H 00B005H 05Q 0 0 0 0 0 0 0 1 1 010 001 000 0 0 0 1 1 0 05H 01A206H 06Q 1 0 0 1 0 1 0 1 1 001 101 000 0 0 0 0 0 1 06H 959A01H 07Q 0 0 0 0 0 0 0 0 1 110 000 000 0 1 1 1 1 0 07H 00E01EH 10Q 0 0 0 0 0 0 0 0 0 001 000 000 0 0 0 0 0 1 08H 001001H 11Q 0 0 0 0 0 0 0 1 1 110 110 110 0 0 0 0 1 1 09H 01ED83H 12Q 0 0 0 0 0 0 0 1 1 110 110 110 0 0 0 1 1 1 0AH 01ED87H 13Q 0 0 0 0 0 0 0 1 1 110 110 110 0 0 1 1 1 0 0BH 01ED8EH 14Q 0 0 0 0 0 0 0 1 1 110 110 110 0 1 1 0 1 0 0CH 01ED9AH 15Q 0 0 0 0 0 0 0 1 1 110 110 110 0 1 0 1 1 0 0DH 01ED96H 16Q 0 0 0 0 0 0 0 0 1 110 000 000 0 0 1 1 1 1 0EH 00E00FH 17Q 0 0 0 0 0 0 0 0 1 010 000 000 0 1 0 1 0 1 0FH 00A015H 20Q 0 0 0 0 0 0 0 1 1 110 110 110 0 1 0 0 1 0 10H 01ED92H 21Q 0 0 0 0 0 0 0 1 1 110 110 110 0 1 0 1 0 0 11H 01ED94H 22Q 0 0 0 0 0 0 0 0 1 010 000 100 0 1 0 1 1 1 12H 00A117H 23Q 0 0 0 0 0 0 0 1 1 000 000 000 0 0 0 0 0 1 13H 018001H 24Q 0 0 0 0 0 0 0 0 0 010 000 000 0 1 1 0 0 0 14H 002018H 25Q 0 0 0 0 0 1 1 1 0 000 101 000 0 0 0 0 0 1 15H 070A10H 26Q 0 0 0 0 0 0 0 0 1 101 000 110 0 0 0 0 0 1 16H 00D181H 27Q 0 0 0 0 0 1 1 1 0 000 101 000 0 1 0 0 0 0 17H 070A10H 30Q 0 0 0 0 0 1 1 0 1 000 101 100 0 1 0 0 0 1 18H 068B11H 31Q 0 0 0 0 0 0 0 0 0 000 000 000 0 0 0 0 0 0 19H 000000H 32Q 0 0 0 0 0 0 0 0 1 110 000 000 0 1 1 0 1 1 1AH 00E01BH 33Q 0 0 0 0 0 0 0 0 1 011 000 000 0 1 1 1 0 0 1BH 00B01CH 34Q 0 0 0 0 0 0 0 1 1 010 001 000 0 1 1 1 0 1 1CH 01A21DH 35Q 0 1 0 1 0 0 0 1 1 001 101 000 0 0 0 0 0 1 1DH 519A01H 36Q 0 0 0 0 0 0 1 0 1 000 001 000 0 0 0 0 0 1 1EH 028201H3.2实验步骤3.2.1实验接线图3.2.2 实验步骤:3.2.2.1输入并检验微指令代码表⑴.编程①. 将编程开关置为PROM(编程)状态。
华中科技大学文华学院学部专业设置

华中科技大学文华学院下设机电学部信息学部经管学部城建学部人文学部外语学部机械与电气工程学部机械设计与制造(现代制造技术)理工类专科学制3年专业特色:本专业培养掌握现代制造技术基础理论知识,具有较强的现代机械设备操作维护能力,并能进行一定生产组织管理,可适应现代制造技术快速发展的大学专科层次实用型技术人才。
主干课程:画法几何与机械制图、工程力学、机械设计基础、工程材料、材料成型工艺基础、电工技术、电子技术、机械制造技术基础、微机原理、数控技术、模具设计方法。
就业领域:制造、电子、计算机应用、金融和服务等众多行业。
电气工程及自动化理工类本科学制4年专业特色:本专业的特点是电气与电子并重,电力电子与信息电子相融,软件与硬件兼备,装置与系统结合。
培养从事电力系统、电气工程、电力电子有关的系统控制、信息处理、管理维护、技术开发以及电子与计算机应用等领域工作的宽口径、应用型高级工程技术人才。
主干课程:电路理论、电子技术、计算机语言、软件技术基础、网络与通讯、单片机原理及应用、自动控制理论、电机学、电力电子学、电气工程基础、高电压技术、电力系统继电保护。
就业领域:发电厂、供电局、电力设备制造工厂、电力设计院以及相关的企业与公司,邮电与通讯部门,环保,电子、电工等高科技企业。
热能与动力工程理工类本科学制4年专业特色:根据国民经济建设的需要,本专业分能源与动力工程方向和制冷与空调方向。
为电力工业,制冷、空调设备工业,船舶、汽车工业以及钢铁、化工、轻工纺织等工业培养生产运行、检修试验、设计与建设诸方面的应用型人才。
在考研方面,2009年为本校热能与动力工程专业第一届毕业生,其中考研录取率达20.1%,2010届毕业生考研形势会好于上一届。
主干课程:工程流体力学、工程热力学、传热学、电厂能源与动力装置、制冷原理与装置、热力发动机、供热工程、计算机自动控制系统、现代测试技术、电工电机技术等。
就业领域:电力部门(火电厂、核电厂、电力建设公司、电力试验所、电力设计院、大型企业自备电厂);制冷、空调设生产与运行管理;船舶与汽车动力装置的生产运行管理;大型企业(钢铁、机械制造、轻工、纺织、化工、食品加工、冷藏冷冻)动力设备及供热涉及运行管理。
计算机组成原理(华科)chap5
寄存器间接寻址、相对寻址、基址寻址、变址寻址
2)不需要计算有效地址的寻址方式:
•隐含寻址
操作数不存放在内存,而是隐含在某寄存器中 •立即数寻址 操作数由指令本身携带,获得操作数不需访问内存。 •寄存器寻址
操作数存放在寄存器中,获得操作数不需访问内存。
3)需要访问内存(即需要计算有效地址)的寻址方式 a)寻址方式种类汇总:
二、指令格式
1、指令格式的一般形式:
操作码(OP)
地址码字段(A)
•操作码:表明指令的操作特性与功能。
•地址码:用来协助表示操作数或操作数的地址。
1)操作码: •不同功能的指令,操作码字段的编码不同。 •操作码的长度取决于计算机的指令的数量,即
LOP= log 2 n
2)地址码字段 • 由于一条指令可能需要多个操作数,因此,一条指令中可 能
4、指令格式举例
例4.1 指令格式如下,其中OP为操作码,试分析指令格式的特点.
15
OP
分析:
9
-------
7
4 3
0
源寄存器 目标寄存器
•单字长二地址指令
•OP为7位,可以表示128条指令 •源操作数和目的操作数都是通用寄存器(可分别使用16个), 故是RR型指令. •适合于算术运算和逻辑运算指令
4)寻址方式举例2
•操作数在寄存器中的寻址方式是: •操作数地址在寄存器中的寻址方式是: •操作数在指令中的寻址方式是: •操作数地址在指令中的寻址方式是: 寄存器寻址 寄存器间接寻址 立即数寻址 直接寻址
•操作数地址为某一寄存器与位移量之
和的寻址方式可能有: •不改变指令本身,可以改变寻址范围 的寻址方式是:
增加了访问内存的次数,降低了指令执行速度
华科组原课设报告
华科组原课设报告题目:5段流水CPU设计专业:计算机科学与技术班级:学号:姓名:电话:邮件:完成日期:2017-03-10 周五下午2017计算机组成原理课程设计报告目录1课程设计概述 (2)1.1课设目的 (2)1.2设计任务 (2)1.3设计要求 (2)1.4技术指标 (3)2总体方案设计 (7)2.1扩展指令的设计 (7)2.2中断机制设计 (10)2.3流水CPU设计 (11)3详细设计与实现 (14)3.1扩展指令的实现 (14)3.2中断机制实现 (20)3.3流水CPU实现 (24)4实验过程与调试 (30)4.1测试用例和功能测试 (30)4.2主要故障与调试 (37)4.3实验进度 (38)5设计总结与心得 (40)5.1课设总结 (40)5.2课设心得 (40)参考文献 (42)1 课程设计概述1.1 课设目的计算机组成原理是计算机专业的核心基础课。
该课程力图以“培养学生现代计算机系统设计能力”为目标,贯彻“强调软/硬件关联与协同、以CPU设计为核心/层次化系统设计的组织思路,有效地增强对学生的计算机系统设计与实现能力的培养”。
课程设计是完成该课程并进行了多个单元实验后,综合利用所学的理论知识,并结合在单元实验中所积累的计算机部件设计和调试方法,设计出一台具有一定规模的指令系统的简单计算机系统。
所设计的系统能在LOGISIM仿真平台和FPGA实验平台上正确运行,通过检查程序结果的正确性来判断所设计计算机系统正确性。
课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行中央处理器底层电路的实现、故障分析与定位、系统调试等环节的综合锻炼,进一步提高学生分析和解决问题的能力。
1.2 设计任务本课程设计的总体目标是利用FPGA以及相关外围器件,设计五段流水CPU,要求所设计的流水CPU系统能支持自动和单步运行方式,能正确地执行存放在主存中的程序的功能,对主要的数据流和控制流通过LED、数码管等适时的进行显示,方便监控和调试。
计算机组成原理课程设计报告
计算机组成原理课程设计报告一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现(1)该模型机指令系统的特点:①指令系统设计模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
模型机的缺省的指令集分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令、用户还可以自行设计自己的指令系统。
②模型机寻址方式③指令格式(2)该模型机微指令系统的特点(包括其微指令格式的说明等):①设计思想该模型机的微命令是以直接表示法进行编码的,其特点是操作控制字段中的每一位代表一个微命令。
这种方法的优点是简单直观,其输出直接用于控制。
文华学院FPGA课课程设计
文华学院FPGA课课程设计一、教学目标本课程的教学目标是使学生掌握FPGA的基本原理、设计和应用方法。
通过本课程的学习,学生将能够:1.理解FPGA的基本概念、结构和特点。
2.掌握FPGA的设计流程,包括硬件描述语言的编写、逻辑综合、布局布线和编程下载等。
3.熟悉FPGA的应用领域,如数字信号处理、嵌入式系统、网络通信等。
4.培养学生动手实践能力和团队协作精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.FPGA的基本原理:介绍FPGA的起源、发展历程、工作原理和主要性能指标。
2.FPGA的结构与特点:讲解FPGA的内部结构、编程方式及其与ASIC、ASIP的区别。
3.硬件描述语言(HDL):学习Verilog和VHDL两种常用硬件描述语言的基本语法和编程技巧。
4.FPGA设计流程:熟悉FPGA的设计流程,包括需求分析、硬件描述语言编写、逻辑综合、布局布线和编程下载等。
5.FPGA应用案例:分析数字信号处理、嵌入式系统、网络通信等领域的FPGA应用实例。
6.实践环节:进行FPGA实验,锻炼学生的动手实践能力和实际问题解决能力。
三、教学方法为了达到本课程的教学目标,将采用以下几种教学方法:1.讲授法:讲解FPGA的基本原理、结构和设计方法。
2.案例分析法:分析具体的FPGA应用案例,让学生了解FPGA在实际工程中的应用。
3.实验法:安排FPGA实验,让学生动手实践,巩固所学知识。
4.讨论法:学生进行小组讨论,培养团队协作精神和沟通能力。
四、教学资源为了支持本课程的教学,将准备以下教学资源:1.教材:选用权威、实用的教材,如《FPGA原理与应用》。
2.参考书:提供相关的参考书籍,以便学生深入研究。
3.多媒体资料:制作PPT、视频等多媒体教学资料,丰富教学手段。
4.实验设备:准备FPGA开发板、编程器等实验设备,确保学生能够动手实践。
5.在线资源:推荐一些在线教程、论坛和学术资源,方便学生自主学习。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学文华学院计算机组成原理课程设计学部:信息科学与技术学部专业:软件工程班级:1班学号:1001070111姓名:彭指导老师:袁目录一、课设目的 (3)二、课设任务 (3)三、使用的设备及软件 (3)设备 (3)软件 (3)四、设备连接 (4)五、编程题目 (4)六、程序流程图 (5)七、程序 (5)八、对应的微指令 (7)九、调试过程 (8)十、结果 (11)十一、总结 (11)一、课设目的通过课程设计更清楚地理解下列基本概念:1、计算机的硬件基本组成;2、计算机中机器指令的设计;3、计算机中机器指令的执行过程;4、微程序控制器的工作原理;5、微指令的格式设计原理。
6、通过使用软件HKCPT,了解程序编译、加载的过程。
7、通过微单步、单拍调试,理解模型机中的数据流向。
二、课设任务1、在掌握各模块功能的基础上,构成模型机;2、熟悉模型机的通路、微指令系统、与汇编指令的关系;3、使用微机与模型机连接调试的应用程序HKCPT;4、编辑程序,了解程序编译、加载及运行的过程。
三、使用的设备及软件设备此次课设使用HK-CPT-IV型计算机组成原理实验平台,实验平台简介如下:1.基本功能模块:运算器模块、指令部件模块、堆栈寄存器模块、存储器模块、总线传输模块、微程序模块、启停和时序模块,以及用于调试和观察数据的监控模块。
2.组成结构:采用总线结构。
总线分为:内部、外部地址总线,内部、外部数据总线。
3.监控模块:为实验调试和程序设计带来了相当的便利。
实验者可以通过监控模块来修改微程序和内存中的程序。
4.操作方式:单机方式——整个系统可单独使用;联机方式——系统可与PC机相连。
软件此次课设使用的软件为HKCPT,其使用介绍如下:1.启动HKCPT:第一次启动HKCPT,用户需设置实验平台通讯端口。
退出HKCPT 时,会自动保存用户最后一次的设置。
用户选择“设置——实验平台”菜单项,在弹出的对话框中,选择相应的通讯串口、通讯波特率和延时因子。
点击确定按钮,即可使用。
2.程序编写:选择“文件—新文件”菜单项,将新建一个空的编辑窗口。
用户在编辑窗口中输入以下程序。
输入完毕,选择“文件—另存为”菜单项,把该文件保存为demo.asm。
因为编译器支持长文件名,用户也可以把该文件保存在如“我的文档”之类的目录夹中。
用户可以直接选择“文件—打开”菜单项打开该文件。
3.程序编译:编译是检查源文件的语法错误,如果源文件没有语法错误,编译器将生成源文件的目标代码,由于是单汇编文件,编译产生的目标代码可以直接加载调试。
用户选择“编译——编译当前文件”菜单项,将编译当前活动窗口中的源文件,编译结果的信息显示在输出窗口中。
用户可以根据输出窗口中错误信息直接定位到源文件的相应位置。
4.程序运行:加载后,可以运行程序,有三种运行方式:①微单步:每执行一条微程序,PC指针加1,微指令向后移动一步,同时结构图中绘出执行步及上一步的数据流向,各个寄存器和控制线状态会相应改变。
②程序单步:从当前PC指针行执行源文件的一行语句,然后又停止。
结构图中显示的寄存器值和控制线都会随之刷新,但不显示数据流。
③全速运行:全速运行程序,遇到用户断点或按暂停键或执行到halt指令停止。
四、设备连接实验过程中的设备连接包括3部分的内容:1.数据总线的连接:接口1 DJ1 DJ2 DJ3 DJ4 DJ5 DJ6 DJ7 PC_OUT 接口2 ALU_IN ALU_OUT R_IN R_OUT RA_IN RA_OUT PC_IN AJ1 2.各模块的连线:由于实验平台提供了连线板,在实验时,只要将连线板插在指定的地方,这样,各个模块就成功的连接了。
3.与计算机的连线:实验平台提供的连接线将实验平台与计算机相连,这样,计算机通过软件可以和平台相互通讯。
五、编程题目从1加到10,再带进位右移一位,最后,再加上自已学号的后三位,结果存放到RAM 的40H号字节单元中。
六、程序流程图开始A=0R0=10A=A+R0R0--NR0>0 ?YA>>1A=A+70将A存入内存结束七、程序根据程序流程图所示,可以进行代码的编写:MOV R0,#0AMOV A,#0MOV R3,#1MOV R1,#1ADD A,R3MOV R2,AMOV A,R3SUB A,R0JZ 14MOV A,R3ADD A,R1 MOV R3,A MOV A,R2 JMP 08 MOV A,R2 STA 20 RRC ASTA 30 MOV R0,#70 ADD A,R0 STA 40 HALT八、程序每条指令对应的机器代码和对应的微指令指令机器代码微指令微代码MOV R0,#0A 6E 0A 取指指令Dbus->Ri DDBFFF 4DFFFFMOV A,#0 5F 00 取指指令Dbus->Ri DDFBFF 4DFFFFMOV R3,#1 6C 01 取指指令Dbus->Ri DDBFFF 4DFFFFADD A,R3 0C 取指指令A->Dbus->DR1Ri->Dbus->DR1ALU->Dbus->A FFFCF9 FF7F79 FFFBA9 4DFFFFMOV R2,A 4D 取指指令A->Dbus->DR1Ri->Dbus->DR1ALU->Dbus->A 7FBDFF 4DFFFFMOV A,R3 3C 取指指令Dbus->A FF7BFF 4DFFFFSUB A,R0 1E 取指指令A->Dbus->Ri取指指令Ri->Dbus->IR2(IR2)->Abus,Dbus->A FFFCD6 FE7F56 FFFB86 4DFFFFJZ 14 B3 14 D4FFFFMOV R3,A 4C 取指指令A->Dbus->DR1Ri->Dbus->DR1ALU->Dbus->A 7FBDFF 4DFFFFMOV A,R2 3D 取指指令A->Dbus->DR1Ri->Dbus->DR1ALU->Dbus->A FF7BFF 4DFFFFJMP 08 BF 06 取指指令MOV A,R2 3D 取指指令A->Dbus->DR1Ri->Dbus->DR1ALU->Dbus->A FF7BFF 4DFFFFRRC A 9F 取指指令A>>1 FFFEF1 4DFFFFMOV R0,#73 6C 73 取指指令DDBFFF4DFFFFADD A,R0 0C 8F取指指令A->Dbus->DR1 Ri->Dbus->DR1 ALU->Dbus->A FFFCF9 FF7F79 FFFBA9 4DFFFF STA 400C 8F取指指令A->Dbus->DR1 Ri->Dbus->DR1 ALU->Dbus->AD5FFFF BBFDFF 4DFFFF九、调试过程1.全速执行:全速执行可以一次性使所有的代码执行完毕,从而得出最终的结果。
此过程一般用于代码准确无误之后的执行,其步骤为:单击菜单“调试”项,选择“全速执行”,最后可以看到最终的结果。
在执行的过程中,实验平台上的指示灯不断地闪烁,是由于每一条微指令都对应着不同的指示灯的明暗情况。
2.程序单步:程序单步用于调试使用,每一次执行一条指令,其步骤为:单击菜单“调试”项,选择“程序单步”,可以看到指令序列上的亮条纹移动了一条指令。
在执行的过程中,实验平台上的指示灯不断地闪烁,是由于一条指令对应着多条微指令,每一条微指令都对应着不同的指示灯的明暗情况。
3.微单步:微单步可以将每一条指令包含的微指令分步执行,其步骤为:单击菜单“调试”项,选择“微单步”,可以从结构图窗口中看到每一条微指令执行的操作。
在实验平台上,可以看到指示灯的对应不同微指令的不同明暗变化。
例如:“SUB A,R2”对应的微指令序列为:①取指令②A->BUS->DR1③R2->BUS->DR2④ALU->BUS->A微单步:十、结果1.应得结果:1+2+3+4+5+6+7+8+9+10=55=(00110111)B移位后得(00011011)B=(1B)H我学号的末3位为112=(70)H则结果为(1B)H+(70)H=(8c)H。
2.查看方法:在“程序代码窗口”范围内单击鼠标右键,选择“读出”项,在相应的内存区间可以看到内存中的结果:在本例中,数据显示在第4行、第1列(第40H号字节单元内存中)。
3.实际结果:用读出命令,在程序代码窗口中读出结果——8CH,与计算结果一致。
十一、总结总的来说,这个课设的完成确实是让我最有成就感的一件事,对于在一定的时间内完成到这种程度,我也确实感到惊讶,也对自己的成长感到自豪!虽然在这次实验中,我们并没有什么太大的亮点,也没有做出来高级功能的扩展,但是我们还是靠着自己的努力一步步实现了任务目标,靠自己的力量解决一系列难题,这也是一件很让人愉快的事。
同时也很感谢老师们一直陪伴我们,给与我们指导与帮助,让我们能更有效率的完成这个实验。
最后也是对这次试验的一个感慨,这次试验确实让我有了很大的提高,不只是知识层面,精神层面也有着飞跃,思考能力,发现错误能力,排错纠错能力,这才是我觉得学到的最宝贵的东西,希望在以后的学习生活中还能再接触到相关的有趣知识,让我能有更大的提高!11。