大连理工大学
本科实验报告
课程名称:计算机组成原理实验
学院(系):
专 业: 软件工程
班 级:
学 号:
学生姓名:
年 月 日
大连理工大学实验报告
学院(系): 专业: 班级:
姓 名: 学号: 实验台:
实验时间: 实验室: 成绩:
指导教师签字:
实验一:微程序控制计算机实验
1. 实验目的:
了解微程序控制计算机的工作原理及实现方法、初步学会程序的流程图画法及程序的模块化设计、调试方法。
2. 实验平台:
硬件平台:复旦大学FD-MCES教学平台;
软件平台:自己做汇编和Unidebbuger调试软件
3. 实验要求:(任务)
1) 建立指令集文件(*.DEF 指令系统)
使用的是老师提供的指令集“zzkdef.def”
2) 建立微程序文件(*.M19)
3) 编写二位乘法程序,通过调试观察汇编指令在微程序控制计算机中的实施过程,学会程序设计中的流程图,模块化设计及调试方法。
4) 实验原理图:(P46)
要求将CPU的各信号加方向标,延伸IR(指令寄存器)下面如何接微程序控制部分以及各部件的控制端口与微指令发出口的联结 。
5) 实验原理:
要求通过一条具体汇编指令说明本实验计算机的工作原理及实现方法(从PC=0、MPC=0 形成开始说起,为什么程序可以连续执行?)
计算机在出现MPC=0后,执行取指令,接着计算机开始执行第一条指令,先译码然后执行其动作,紧接着取第二条指令,然后重复上面的动作,指令地址均存放在内存中。
如SUB A,R0指令,其动作是在将累加器中数据A减去寄存器R0中的数据后,将结果存放在累加器A中.每一条指令的最后一组命令都是取下一条指令,因此CPU每执行完一条指令都会取下一条指令,然后执行。从而使CPU如此循环往复地执行所要求的指令。
6)实验操作步骤流程图。
该流程图应包括以下几个部分:(可以设为不是第一次使用,但要注意操作过程的实际情况而非理想情况)
7)二位乘法程序流程图:
要求分成3个部分 (1)数据输入、运算式打印部分
(2)乘积运算部分(3)数据位的分离与打印结果部分
代码:(注:我实现的是第二部分,乘积运算)
L30:
MOV R0,#1H
MOV R1,#0H
MOV R2,#0H
MOV R3,#0H
L31:
MOV A,R4
SUB A,R0
MOV R4,A
JC L32
MOV A,R1
ADD A,R6
MOV R1,A
MOV A,R2
ADD A,R7
MOV R2,A
JMP L31
L32:
MOV A,R5
SUB A,R0
MOV R5,A
JC L33
MOV A,R2
ADD A,R6
MOV R2,A
MOV A,R3
ADD A,R7
MOV R3,A
JMP L32
L33:
MOV R4,#0H
MOV R5,#0H
MOV R6,#0H
MOV R7,#0AH
L34:
MOV A,R1
SUB A,R7
MOV R1,A
JC L35
MOV A,R2
ADD A,R0
MOV R2,A
JMP L34
L35:
MOV A,R1
ADD A,R7
MOV R1,A
L36:
MOV A,R2
SUB A,R7
MOV R2,A
JC L37
MOV A,R3
ADD A,R0
MOV R3,A
JMP L36
L37:
MOV A,R2
ADD A,R7
MOV R2,A
L38:
MOV A,R3
SUB A,R7
MOV R3,A
JC L39
MOV A,R4
ADD A,R0
MOV R4,A
JMP L38
L39:
MOV A,R3
ADD A,R7
MOV R3,A
3.体会、意见、建议
实验体会,除写个人实验课程理解之外,还应对实验课时数实验仪器设备、实验讲义、实验内容安排、时间分配及教师授课方式提出意见和建议。
学会了应用微程序来控制计算机,并且学到了很多微指令。通过完成实验报告学会了流程图的画法和office visio这个画流程图软件操作方法。实验中,有的小组有四个人,二位乘法程序的步骤硬性划分成3个部分不是太好,希望以后能更灵活。
大连理工大学实验报告
实验二:监控程序与汇编实验
4. 实验目的:
(1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。
(2)了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作用,学习用汇编语言设计程序的过程和方法。
(3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。
2. 实验平台
硬件平台:清华大学TEC-XP实验箱的MACH部分
软件平台:监控程序pec16.exe
3. 实验要求:(任务)
(1)使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;
(2)使用A 命令写一小段汇编程序,用G 命令连续运行该程序,用T、P 命令单步运行并观察程序单步执行情况;
(3)要求根据所学知识编写:从键盘输入一个数字,并对其检测是否是0-9的数字,如果是则计算该值到10的累加和,如果不是则重新输入。
代码:
20##: IN 80
2001: SHR R0
2002: SHR R0
2003: JRNC 2000
2004: IN 80
2005: OUT 80
2006: MVRD R7,FF31
2008: SUB R0,R7
2009: MVRD R2,0100
200B: MVRD R1,0000
200D: INC R0
200E: ADD R1,R0
200F: CMP R0,R2
2010: JRNZ 200D
2011: RET
4. 体会、意见、建议
实验体会,除写个人实验课程理解之外,还应对实验课时数实验仪器设备、实验讲义、实验内容安排、时间分配及教师授课方式提出意见和建议。
通过本次实验我学到了计算机的指令格式、指令编码、选择的寻址方式和具体功能,加强了我对机器指令的认知和掌握
大连理工大学实验报告
实验二:脱机运算器实验
1. 实验目的:
(1)理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;
(2)理解4片Am2901构成16位运算器的具体方案,各数据位信号、各控制位信号的连接关系;
(3)使用24位微型开关中的23位控制信号确定运算与处理功能。
2. 实验平台
硬件平台:清华大学TEC-XP实验箱的MACH部分
3. 实验要求:(任务)
(1)了解TEC-XP运算器基本组件2901的工作原理;
(2)了解TEC-XP实验箱是如何使用4片2901构成16位运算器;
(3)了解并掌握24位控制开关相应的序列所实现的控制功能;
(4)基于以上所学完成ppt最后要求的实验内容(控制信号表格)。
运算器的运行结果状态信息表
运算器功能与所用的控制信号表
4. 体会、意见、建议
实验体会,除写个人实验课程理解之外,还应对实验课时数实验仪器设备、实验讲义、实验内容安排、时间分配及教师授课方式提出意见和建议。
很多同学都根本不理解进行这些操作的原理,只是一味的按照老师和PPT上讲解的步骤来操作,这样起不到实验的效果。而且这个实验要做完所有的操作并填完表格的话时间比较紧,因为一不小心出错就得从头再来,希望能延长这个实验的时间。
大连理工大学实验报告
实验三:存储器扩展实验
1. 实验目的:
(1)深入理解计算机内存储器的功能、组成知识;
(2)深入地学懂静态存储器芯片的读写原理和用他们组成教学计算机存储器系统的方法(即字、位扩展技术),控制其运行的方式;
思考并对比静态和动态存储器芯片在特性和使用场合等方面的同异之处。
2. 实验平台
硬件平台:清华大学TEC-XP实验箱的MACH部分
部件:HN58c65p-25两片
3. 实验要求:(任务)
(1)完成HN58c65p-25两片EEPROM的物理扩展;
(2)完成必要的跳线设置;
检查 FPGA下方的插针要按下列要求短接:标有“/MWR”“RD”的插针左边两个短接,标有“/MRD”“GND”的插针右边两个短接,标有 ROMLCS和 RAMLCS的插针短接。
将扩展芯片右边的插针按下列方式短接:将 EXTROML 芯片右上方的标有“WE”和“A11”的插针下面两个短接,将它右边标有“TEC”“/CS”“FPGA”的三个插针左边两个短接,标有XTROMLCS的插针短接,标有“TEC”“OE”“GND”“ FPGA”的四个插针上边一排左边的两个短接;
在第四步中用户可以将右侧标有“TEC”“/CS”“FPGA”的三个插针左边两个短接这表示扩展的 ROM 的内存地址是从4000H开始,可用空间是4000H~5FFFH,用户可在这个范围内输入程序或改变内存单元的值。也可以将这个插针断开,将标有/CS 的圆孔针与标有 MEM /CS 的一排圆孔针中的任意一个用导线相连;注意连接的地址范围是多少,用户可用的地址空间就是多少。
将标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯下方的插针短接;
将标有“AdressBus 15-8”和“AdressBus 7-0”的地址总线的指示灯下方的插针短接;
(3)验证RAM和EEPROM在存储上的区别(使用A命令和E命令);
通过实验知道,实验EEPROM的内容断电后可保存,但RAM不行
(4)基于以上所学完成:从键盘上输入一个0-9的数字,将从该数字开始到F的所有数据存储到扩展之后的5000开始的EEPROM存储器单元中。
代码:
2000: IN 81
2001: SHR R0
2002: SHR R0
2003: JRNC 20##
2004: IN 80
2005: OUT 80
2006: MVRD R1,FF30 //将ACSII码转为数字
2008: SUB R0,R1
2009: MVRD,R2,5000 //R2是我们用到的EEPROM的起始地址
200B: STRR[R2],R0
200C: MVRD R3,0000 //写操作需要大约1ms,我们得设计延迟
200E: MVRD R7,0500
20##: INC R3
20##: CMP R3,R7
2012: JRNC 2010
2013: MVRD R1,0010
2015: INC R0
2016: INC R2
2017: CMP R0,R1
2018: JRNC 200B
2019: RET
4. 体会、意见、建议
实验体会,除写个人实验课程理解之外,还应对实验课时数实验仪器设备、实验讲义、实验内容安排、时间分配及教师授课方式提出意见和建议。
通过本次实验我学到了EEPROM的相关知识和用法,比如EEPROM是断电后数据不丢失的存储芯片,了解到了程序中设计延迟的必要性和设置延迟的方法,并且进行了实际练习。这次实验的内容也比较简单,很多人很早就完成了实验,本实验可以适当增加一些内容。
第二篇:第四次机组实验报告
南昌航空大学实验报告
课题名称: 计算机组成原理 实验名称: 算术运算器设计 班级: 130451 姓名: 吴牧云 学号: 13045133 指导教师评定: 签名:
一、 实验目的
掌握FPGA中LPM_ROM的设置:
作为只读存储器ROM的工作特性和配置方法;
学习将程序代码或数据以MIF格式文件加载于LPM_ROM中;
掌握lpm_ram_dq的参数设置和使用方法:
掌握lpm_ram_dq作为随机存储器RAM的设置;
掌握lpm_ram_dq的工作特性和读写方式;
二、 实验任务
1. LPM_ROM定制和测试:LPM_ROM的参数设置;LPM_ROM中的数据的写入,即初始化文件的编写,LPM_ROM的实际应用,在GW48实验台上用NO.0电路模式测试。
2. LPM_RAM定制和测试:LPM_RAM的参数设置;LPM_RAM的实际应用,在GW48实验台上用NO.0电路模式测试。
三、 实验步骤与内容
(一)LPM_ROM定制和测试
1. 建立实验项目文件夹D:\lpmrom。
2. 选择New->Other Filees->Memory Iniitlization File,新建一个存储器文件,即MIF文件或hex文件,字长、字数分别选24、64。
3. 按照表3.7文件的数据内容输入数据。编译后保存。
4. 创建一个新的工程LPM_ROM,新建一个电路设计文件New->Device Design
Files->Block Diagram/Schematic File。添加lpm_rom在插件管理器引导下,进行器件的定制,选择数据位宽24,字数64。然后添加输入输出,结果如下:
5. 对上一步的设计文件进行编译,并进行输入输出引脚的锁定,参照表3.8。再次编
译进行引脚的锁定。
6. 下载至芯片进行测试。
7. 测试:8键为地址锁存时钟;由1、2键输入地址,2键表示高4位,1键表示低4
位,表示16进制;数码管8-3将显示ROM中输出的数据。显示与输入的数据相同即可。
(三)LPM_ROM定制和测试
1.建立实验项目文件夹D:\lpmram。
2.创建工程,调用参数化模块库LPM,输入设计文件,进行定制设置。与rom定制的方 法相同,将数据位宽该成8,字数改成256,添加输入输出,保存后编译。
3.完成设计文件后进行引脚的锁定,参照表3.9。
4.下载至芯片进行测试:4,3键输入8位存储器单元地址;
7键为地址锁存脉冲,对lpm_ram_dq进行读写操作; 8键控制读写,低电平读,高电平写;
2,1键输入RAM的8位数据;
数码管8,7显示读出的数据。
四、 实验小结
本次实验并非特别难,是ROM的读数据和RAM 的读写数据。应该在完成实验的基础上掌握实验的原理。在RAM测试时应注意要先将数据存储后才能读写,否侧会误以为实验出错。