版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学本科实验报告课程名称:计算机组成原理实验学院(系):软件学院专业:软件工程班级:090学号:200992学生姓名:2011年6月18日
大连理工大学实验报告学院(系):软件学院专业:软件工程班级:090姓名:学号:200992实验台:实验时间:2011.实验室:C-108成绩:指导教师签字:实验一:微程序控制计算机实验岸」实验一:微程序控制计算机实验岸」实验目的:了解微程序控制计算机的工作原理及实现方法、初步学会程序的流程图画法及程序的模块化设计、调试方法。实验平台:硬件平台:复旦大学FD-MCES教学平台;软件平台:自己做汇编和Unidebbuger调试软件实验要求:(任务)1)建立指令集文件(*.DEF指令系统)2)建立微程序文件(*.M19)ORG3)编写二位乘法程序,通过调试观察汇编指令在微程序控制计算机中的实施过程,学会程序设计中的流程图,模块化设计及调试方法。
ORGSTRT:JKBSTRTLDA8001HMOVL1:R3,AJKBL1LDA8001HMOVL2:R2,A;输入第一个两位数JKBL2LDA8001HMOVL3:R5,AJKBL3LDA8001HMOVL31:R4,A;输入第二个两位数JPBL31MOVA,#4STAL4:8002H;打印*号JPBL4MOVA,#0AHSTAL5:8002HJPBL5MOVA,R2STAL6:8002HJPBL6MOVA,#10HADDA,R3STAL7:8002H;输出第一个两位数JPBL7MOVA,#9STAL8:8002H;打印=号JPBL8MOVA,#0AHSTAL9:8002HJPBL9MOVA,R4STA8002H;输出第二个两位数L10:JPBL10MOVA,#10HADDA,R5STA8002H;打印两个操作数L11:MOVA,R3ADDA,R2ADDA,R3ADDA,R3ADDA,R3ADDA,R3ADDA,R3ADDA,R3ADDA,R3ADDA,R3ADDA,R3MOVR3,A;将第一个两位数放到一个寄存器中MOVA,R5ADDA,R4ADDA,R5ADDA,R5ADDA,R5ADDA,R5ADDA,R5ADDA,R5ADDA,R5ADDA,R5ADDA,R5MOVR5,A;把第二个两位数放到一个寄存器中,使用的方法是将R5个R3相加等于这两位数相乘MOVR7,#0MOVR6,#0JMPL13R3与R5的相乘,个十位放在R6里,千百位放在R7里L12:MOVR0,#100ADDA,R0MOVR6,AL13:MOVA,R6ADDA,R3MOVR6,AMOVA,R5MOVR0,#1SUBA,R0JCL14;判断R5是否小于0,是则结束循环加MOVR5,AMOVA,R6MOVR0,#100SUBA,R0JCL12;判断R6是否大于100,若大于则R7+1,否则跳到L12,把多减的100还给R6MOVR6,AMOVA,R7MOVR0,#1ADDA,R0MOVR7,AJMPL13;循环操作L14:MOVA,R6SUBA,R3JCOVER1;因为多加了一次R3但是为了防止相减之后借位(该情况有可能发生在实际的最后一次R6为90多再加一个两位数后超过100而把百位数给R7了,代表R7多加1了,需要还给R6用以减去最后一次多减的)MOVR6,A下面是分离并打印部分L15:TOC\o"1-5"\h\zJPBL15MOVA,#0AHSTA8002HL16:JPBL16MOVA,#0AHSTA8002H;相乘,R6为个十位,R7为千百位SPR:MOVA,R6MOVR0,#10MOVR2,#0MOVR3,#1CIRC:SUBA,R0JCOVER;个十位分离,r1用来放十位数字MOVR1,AMOVA,R2ADDA,R3MOVR2,AMOVA,R1JMPCIRCOUT:JPBOUTSTA8002HMOVA,R2L22:JPBL22STA8002HJMPQIANOVER:ADDA,R0MOVR1,AJMPOUT;恢复运算结果,跳转到打印个位QIAN:MOVA,R7MOVR0,#10MOVR2,#0MOVR3,#1CIRC2:SUBA,R0JCOVER2;千百位分离,r1用来放百位数字MOVR1,AMOVA,R2ADDA,R3MOVR2,AMOVA,R1JMPCIRC2OUT2:JPBOUT2MOVA,R2SUBA,R3JCOUT3;判断千位是否为零,不是则继续打印MOVA,R1STA8002HMOVA,R2L33:JPBL33MOVR0,#10HADDA,R0STA8002HJMPSTRT;打印千位OUT3:JPBOUT3MOVA,R1MOVR0,#10HADDA,R0STA8002HJMPSTRTOVER2:ADDA,R0MOVR1,AJMPOUT2OVER1:MOVR0,#100ADDA,R0MOVR6,AMOVA,R7MOVR0,#1SUBA,R0MOVR7,AJMPL15;恢复运算结果,跳转到打印百位4)实验原理图:DB7-0DBCA—•xo—X1—.WRC_SR_WRECIR_Gl—IRCP.cck'AACT—RA—RB—RCco—CG~.FAobT△MPCga^adcaXrhPCKGA1ADRLr\ner\LTLB"IzKRIXC厂MUxPL~2—PL1PLRAM内存1CY▼INPRIXPLDcwCRD~LLPCL.|—PINI%SOSIS2FFFBALUMIR293031RESETGINCPoCYMD2-0=111MD7-3=IR7-3MD10-8=000MPCMD9-0Cl9-0ABRESETMPLDMPCKC031-0MICKMIRAB15-0MIR31-0要求将CPU的各信号加方向标,延伸IR(指令寄存器)下面如何接微程序控制部分以及各部件的控制端口与微指令发出口的联结。5)实验原理:要求通过一条具体汇编指令说明本实验计算机的工作原理及实现方法(从PC=0、MPC=0形成开始说起,为什么程序可以连续执行?)指令:ADDA,RiPC=0,执行ADD命令,PC置为1,将A中数据存入ALU(累加器),当Ri数据到来,ALU把两个数据相加,结果由OB到达数据总线DB,再送回A中。因为此时,PC=1,所以它会继续执行下一条指令。6)实验操作步骤流程图。该流程图应包括以下几个部分:(可以设为不是第一次使用,但要注意操作过程的实际情况而非理想情况)通过自己做汇编建立汇编指令集载入成功后编写汇编程序打开impact下载cpu目标程序bit文件并调试右击生成的cpu图标并program提示成功打开桌面的Unidebugger.exe,启动通用调试器,并修改系统参数下载汇编指令和微程序并调试用试验箱输入数据完成实验7)二位乘法程序流程图:要求分成3个部分(1)数据输入、运算式打印部分(2)乘积运算部分(3)数据位的分离与打印结果部分将四个数分别存入任选的四个寄存器中顼打印*号,空格打印第一操作数的个位十位并换行打印=号打印空格,第二操作数的个位十位并换行进行寄存器运算,处理好进位以及加和关系口打印结果数据3.体会、意见、建议这个实验是一个很有压力的实验,感觉比较难。必须充分的理解并掌握了打印机和汇编工具才能有效的进行实验。另外老师的讲解很不错,很详细,解决了大部分的疑惑。更重要的一点是这是一个题量不小的程序,将我们分为几个人一组是一个很有创新的举动(日前来讲),不仅仅使我们能够减轻负担,还参与了集体分工的活动,也着实认识到了编程规范和注解的重要性,和自己在实际运作中的不足。大连理工大学实验报告学院(系):软件学院专业:软件工程班级:姓名:学号:200992实验台:实验时间:2011.实验室:C-108成绩:指导教师签字:实验二:监控程序与汇编实验实验目的:(1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。(2)了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作用,学习用汇编语言设计程序的过程和方法。(3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。实验平台硬件平台:清华大学TEC-XP实验箱的MACH部分软件平台:监控程序pec16.exe实验要求:(任务)(1)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;1)R/;显示寄存器的内容2)RR0/;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示:寄存器原值:在该提示符下输入新的值0036再用R命令显示寄存器内容,则R0的内容变为0036。3)D2000/会显示从2000H地址开始的连续128个字的内容;连续使用不带参数的D命令,起始地址会自动加128(即80H)。4)E2000/:屏幕将显示2000H地址单元原有的内容,然后输入你将要修改的内容(如输入2000,将依次改变地址单元2001-2005的内容为:1111,2222,3333,4444,5555)。(2)使用A命令写一小段汇编程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况;1)在命令行提示符状态下输入:A2000/;表示程序从2000H(内存RAM起始地址)开始屏幕将显示:2000:输入如下形式的程序:2000:MVRDR0,AAAA;MVRD与R0之间有且只有一个空格2002:MVRDR1,55552004:ADDR0,R12005:ANDR0,R12006:RET;程序的最后一个语句,必须为RET指令2007:(直接敲回车键,结束A命令输入程序的操作过程)G2000/程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。用P或T命令,单步执行这段程序,观察指令执行果在命令行提示符状态下输入:T2000/寄存器R0被赋值为AAAAHT/寄存器R1被赋值为5555HT/做加法运算,和放在R0,R0的值变为FFFFHT/做与运算,结果放在R0,R0的值变为5555H用P命令执行过程同上。其中T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。要求根据所学知识编写:从键盘输入一个数字,并对其检测是否是0-9的数字,如果是则计算该值到10的累加和,如果不是则重新输入。(2040)MVRDR2,0030MVRDR3,0039(2044)IN81SHRR0SHRR0JRNC2044IN80MVRDR1,00FFANDR0,R1CMPR0,R2JRNC2053DECR0,R2MVRRR1,R0MVRDR2,0009MVRRR3,R0(2066)INCR3ADDR1,R3CMPR3,R2JRNZ2066RET4.体会、意见、建议这次实验是相对简单一点的,我感觉重点在于程序设计的步骤以及对指令jrnz的理解程度。但是感觉是实验之间的间隔实在太长,忘却的东西太多,希望教务能好好考虑安排。大连理工大学实验报告学院(系):软件学院专业:软件工程班级:09姓名:学号:实验台:实验时间:2011.实验室:成绩:指导教师签字:实验三:脱机运算器实验实验目的:(1)理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;(2)理解4片Am2901构成16位运算器的具体方案,各数据位信号、各控制位信号的连接关系;(3)使用24位微型开关中的23位控制信号确定运算与处理功能。实验平台硬件平台:清华大学TEC-XP实验箱的MACH部分实验要求:(任务)(1)了解TEC-XP运算器基本组件2901的工作原理;
4位的算逻运算部件ALU,输出为F,两路输入R和S,最低位进位信号Cn。实现R+S、S-R、R-S;三种算术运算,RVS、RAS、RAS、R㊉S、R㊉S五种逻辑运算。16个4位通用寄存器组成的寄存器组。双端口(A和助控制读出、单端口(B)控制写入。通过A和B指定被读写的寄存器;4位的Q寄存器,实现硬件乘除法指令和对本身内容完成左右移位,能接收ALU输出。输出送到ALU的S输入端。.4^/输入广4少输出RpB地址尸16个驴⑵了解3验箱是辰财KAAI34MW片2地构成J6位运算器
SSTSCIi1(3)了解并掌握24位控制开关相应的序列所实现的控制功能;.4^/输入广4少输出RpB地址尸16个驴⑵了解3验箱是辰财KAAI34MW片2地构成J6位运算器SSTSCIi1编码I8~I6I5~I3I2~I0REGQY功能RS000FFR+SAQ001FS-RAB010F—BAR-S0Q011F—BFRUS0B100F/2—BQ/2FRHS0A101F/2—BF/RHSDA1102F—B2QFR㊉SDQ1112F—BF/(R㊉S)D0A/B口地址:源与目的操作数的寄存器编号I8-I0:3组3位分别选择操作数来源、操作功能、操作数处理结果和运算器输出内容;SSTCZVSSSH/SCICin/Shift000CZVS000Cin=0001CYF=0OVRF15001Cin=1
010内部总线010Cin=C0110ZVS1001ZVS100逻辑移位101RAM0ZVS101循环移位110RQM15ZVS111Q0ZVSSCi、SSH和SST:确定运算器最低位进位输入、移位信号入/出和状态标志位。(4)基于以上所学完成ppt最后要求的实验内容(控制信号表格)。预期功能控制信号18-615-312-0SSTAifi址B地址SCISSHRO^-1234011000111001不用00000000R9—7S9F01100011104)1不用10010000R9—E9-E0011001001001000010010100011000101001000000000000R10*-R0011000100001000010100000R9^-K9AE00111。。00100100001001000000000001104)1000010010000控制作用Y的输出通用寄存器接收Q寄存器接收运算功能选择数据组合选择状态寄存器接收域口地址B端口地址移位(当时复制的)体会、意见、建议没能够自己连接实验设备是个遗憾,Am2901芯片的工作原理理解的也不是很彻底。仅仅对表进行了实验,老师讲解后有所加深,但是我认为只有一次实验是绝对不够的。
大连理工大学实验报告学院(系):软件学院专业:软件工程班级:090姓名:学号:200992实验台:实验时间:2011.实验室:成绩:指导教师签字:实验存储器扩展实验实验日的:实验存储器扩展实验(1)深入理解计算机内存储器的功能、组成知识;(2)深入地学懂静态存储器芯片的读写原理和用他们组成教学计算机存储器系统的方法(即字、位扩展技术),控制其运行的方式;思考并对比静态和动态存储器芯片在特性和使用场合等方面的同异之处。静态存储器:依靠双稳态触发器的两个稳定状态保存信息,每个双稳态电路存储一位二进制代码,一块存储芯片上包含许多这样的双稳态电路,双稳态电路是有源器件,需要通电才能工作,且只要电源正常,就能长期稳定的保存信息,故称静态存储器。但如果断电,则会丢失信息,故有易失性。动态存储器:是采用超大容量的存储技术,但是要求由处理器控制刷新周期,故相比之下,更耗电,但是其价格较低。实验平台硬件平台:清华大学TEC-XP实验箱的MACH部分部件:HN58c65p-25两片3.实验要求:(任务)(1)完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁中医药大学杏林学院《矿山运输》2023-2024学年第一学期期末试卷
- 兰州职业技术学院《分析化学及实验》2023-2024学年第一学期期末试卷
- 江西软件职业技术大学《不动产测绘》2023-2024学年第一学期期末试卷
- 湖南应用技术学院《数据库原理与应用实验》2023-2024学年第一学期期末试卷
- 湖南工学院《产品开发与服务设计》2023-2024学年第一学期期末试卷
- 衡水职业技术学院《J》2023-2024学年第一学期期末试卷
- 重庆资源与环境保护职业学院《大气科学概论》2023-2024学年第一学期期末试卷
- 重庆交通职业学院《计算机辅助实验》2023-2024学年第一学期期末试卷
- 仲恺农业工程学院《虚拟仪器应用及项目开发》2023-2024学年第一学期期末试卷
- 浙江商业职业技术学院《压缩机原理与结构》2023-2024学年第一学期期末试卷
- ECE-R90-欧盟第3版-中文版(R090r3e-01)
- 2024-2025学年重庆市北碚区三上数学期末监测试题含解析
- 大宗贸易居间协议2024年
- 第2课《济南的冬天》课件-2024-2025学年统编版语文七年级上册
- 2024年水利工程高级工程师理论考试题库(浓缩400题)
- 增强现实技术在艺术教育中的应用
- TD/T 1060-2021 自然资源分等定级通则(正式版)
- 《创伤失血性休克中国急诊专家共识(2023)》解读
- 仓库智能化建设方案
- 海外市场开拓计划
- 供应链组织架构与职能设置
评论
0/150
提交评论