计算机组成原理课程设计.doc_第1页
计算机组成原理课程设计.doc_第2页
计算机组成原理课程设计.doc_第3页
计算机组成原理课程设计.doc_第4页
计算机组成原理课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录目 录1一、实验目的2二、实验装置组成22.1 硬件部分22.2 软件部分2三、软件使用说明33.1 界面说明(如图 1-1)33.2 编辑程序43.3 汇编程序43.4 运行方式43.5 跟踪调试5四、实验操作流程5五、指令系统汇编55.1 模型机指令系统55.2 模型机指令码75.2.1 指令码75.2.2 寄存器和状态位说明85.2.3 数据格式8六、程序设计内容及实验结果9七、设计心得13微程序实验一、实验目的熟悉微程序模拟实验软件的界面操作掌握和进一步了解汇编语言编程掌握利用汇编语言程序实现在寄存器中基本运算掌握使用汇编语言实现存储器中的数据存储二、实验装置组成2.1 硬件部分设计装置是为计算机组成原理的工作流程专门设计的。它能够让学生通过手动和自动的操作弄清和掌握计算机工作的基本原理。设计模块由手动设计部分和程序设计部分组成的,手动设计主要是完成计算机各个组成部分的原理设计,包括数据流程,运算器执行,存储器和外设之间的数据交换等部分,通过组合变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动设计室在本指导书的前面部分已经作了详细的介绍。程序设计主要完成的是指令系统中每条指令的具体执行,包括取指,译码,执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。操作过程在计算机上进行,可实现单拍,单步和连续执行,每个执行过程可以在计算机上显示,其执行结果和过程也可同步在设计板上显示,进一步观察对应指令在执行过程中的每个控制信号和数据流向。程序设计主要包括:数据传输程序各种运算程序控制转移程序数码转换程序2.2 软件部分软件系统由编辑程序,编译程序,程序执行,调试程序几个部分组成,完成由源程序输入,语法分析排错,指令汇编,应用程序调试的全过程。软件系统采用集成化的窗口,各种软件功能分类设置在程序中,可以根据程序设计过程的需要随意组合使用,系统的主窗口如图所示:图 1-1 软件系统主窗口界面三、软件使用说明3.1 界面说明(如图 1-1)软件系统采用集成化的窗口,各种软件功能分类设置在程序中,软件系统的主窗口界面如上图所示,现将界面各个组成部位说明如下:1 寄存器 在程序执行过程中,观察各寄存器的值2 存储器 在程序执行过程中,观察各存储器的值3 信息 显示当前指令对应的微程序4 编辑源程序 从汇编状态或运行状态返回到编辑源程序状态5 汇编 对编辑好的源程序进行汇编连接6 程序复位 让程序指针指向程序的第一条指令7 运行 运行已通过汇编连接的程序8 停止 停止程序的运行9 单步 单步运行程序10 单拍 单拍运行程序11 设置/取消断点 设置/取消断点,调试程序是使用12 连接/断开串行口 连接/断开串行口,连通/断开程序和模型机通信13 源程序编辑区 在该区域内编辑源程序14 寄存器/存储器显示区 显示各寄存器/存储器的值15 微程序显示区 显示当前指令对应的微程序3.2 编辑程序编辑源程序采用文本的编辑方式,按照给定的模型机指令系统,用汇编语言格式编辑程序,对所编辑的策划年供需进行语法分析,纠错处理。编辑程序主要实现如下的操作流程是:编辑流程掌握模型机汇编指令输入程序源文件保存源程序静态检查程序修改源文件Y图 1-2 编辑源程序流程3.3 汇编程序汇编程序先对源程序进行语法检查,排除源程序中的语法错误,再将源程序编译为机器码,在调试的窗口中显示指令行,机器码,助记符等信息。3.4 运行方式程序的运行有单拍,单步和连续执行三种方式。单拍方式是逐条执行微程序中的微指令,屏幕显示信息(微指令,积存器和存储器状态)与设计板显示信息(微指令对应的数据流向以及相应的控制信号)互相配合,可以将单拍微指令执行的结果从不同的监督显示出来,以便观察。单步方式是一条一条指令执行的过程,每条指令执行后,将内存和寄存器中的变化显示出来。连续执行将一段程序执行的功能表现出来,在连续执行的调试中可以采用设置断点的方法,分模块或分段地的进行程序调试。3.5 跟踪调试程序执行的调试方法可按调试的目的考虑,一般有以下几种情况:(1)为了掌握一般指令执行的过程。采用单拍和单步,结合设计板观察有关的变化。(2)为观察寄存器的变化。采用单步和连续执行,打开寄存器窗口观察寄存器的变化。(3)为了观察内存的变化。采用单步和连续执行,打开内存的窗口观察内存变化。(4)为了调试一段条件转移程序,可以在不同转移目标点设置断点,观察其转移情况。四、实验操作流程1.熟悉本模型机的指令系统,理解各条指令的功能和用途。2.打开设计例程,熟悉软件操作,根基程序执行流程观察寄存器和存储器单元的变化情况,连接串行口连通模型机,观察模型机中数据流向和程序执行的同步情况。3.利用本模型机的指令系统,完成指定设计任务。五、指令系统汇编5.1 模型机指令系统序号类型汇编助记符指令格式指令长度状态位注释操作码源目第二字节1算术运算一类ADD RD, RS0001RSRD1Z,C,E,V,NRD-(RD)+(RS)2ADC RD, RS0010RSRD1Z,C,E,V,NRD-(RD)+(RS)+CY3SUB RD, RS0011RSRD1Z,C,E,V,NRD-(RD)-(RS)4SBC RD, RS0100RSRD1Z,C,E,V,NRD-(RD)-(RS)-CY5MUL RD, RS0101RSRD1Z,C,E,V,NRD-(RD)*(RS)6AND RD, RS0110RSRD1ZRD-(RD)AND(RS)7OR RD, RS0111RSRD1ZRD-(RD)OR(RS)89算术运算二类ADD RD, #IMM101000#IMMRD#IMM2Z,C,E,V,NRD-(RD)+#IMM10ADC RD, #IMM101001#IMMRD#IMM2Z,C,E,V,NRD-(RD)+#IMM+CY11SUB RD, #IMM101010#IMMRD#IMM2Z,C,E,V,NRD-(RD)-#IMM12SBC RD, #IMM101011#IMMRD#IMM2Z,C,E,V,NRD-(RD)-#IMM-CY13CMP RD, #IMM101100#IMMRD#IMM2Z,C,E,V,NPWS-(RD)-#IMM,比较不改变寄存器14AND RD, #IMM101101#IMMRD#IMM2ZRD-(RD)AND#IMM15OR RD, #IMM101110#IMMRD#IMM2ZRD-(RD)OR#IMM16MOV RD, #IMM101111#IMMRD#IMM2ZRD-#IMM1718移位循环三类SRR RD100000RD1Z,C右一位,带进位位循环19SRL RD100001RD1Z,C左一位,带进位位20CLR RD100010RD1Z清零21COM RD100011RD1Z,C取反操作22INC RD100100RD1ZRD-RD+123DEC RD100101RD1ZRD-RD-1242526传数类指令四类LD RD,MEM110000RDMEM2直接寻址,RD-MEM27ST MEM,RS110010RSMEM1直接寻址,MEM-RS28LD RD,(MEM)110001RD(MEM)2间接寻址,RD-(MEM)29ST (MEM),RS110011RS(MEM)2间接寻址,(MEM)-RS30IN RD,PORT110100RDPORT2将数据输入接口输入到RD31OUT PORT,RS110101RSPORT2将RS数据输出到数据接口32MOV RD,RS110110RDR01寄存器寻址,RD-(R0)3334转移类指令四类JNZ ADDR11101000ADDR2结果不为零,转移35JZ ADDR11101001ADDR2结果为零,转移36JNC ADDR11101010ADDR2进位不为零,转移37JC ADDR11101011ADDR2进位为零,转移38JNE ADDR11101100ADDR2不等,转移39JE ADDR11101101ADDR2相等,转移40JO ADDR11100110ADDR2溢出,转移41JNO ADDR11100111ADDR2不溢出,转移4243JMP ADDR11100111ADDR2转移44其他45NOP11110001空操作464748HALT11111111停机操作5.2 模型机指令码5.2.1 指令码一类76543210双寄存器运算操作码元寄存器目寄存器ADDADCSUBSBC0XXXRSRDMULANDMULMOV二类其他指令76543210操作码目寄存器SHRSHLROLRCR100XXXRDDECINCPUSHPOP三类寄存器与立即数运算76543210操作码目寄存器ADDADCSUBSBC101XXXRDCMPANDMULMOVIMM四类传数类指令76543210操作码目寄存器MOVMOVMOVMOV110XXXRDINOUT(MEM)/(MEM)五类转移类指令76543210操作码JNZJNCJNEJNVDISP111XXXXXJZJCJEJVADDRDISP/ADDRCALLJMPJMPHALTNOP5.2.2 寄存器和状态位说明序号RD,RS寄存器名100R0201R1310R2411R3状态位(PWS)7654210NEVCZ负数等溢出进位零5.2.3 数据格式#IMM,DISP 相对转移 76543210符号尾数六、程序设计内容及实验结果6.1给R0、R1、R2、R3各赋一初值,然后对它们进行一序列的算术、逻辑运算,观察各寄存器的变化情况。(结果如 图1-3)MOV R0,#05HMOV R1,#06HMOV R2,#07HMOV R3,#08HADD R1,R0SUB R1,R2MUL R2,R3AND R3,R1OR R2,R0L1:JMP L1图 1-36.2给R0,R1,R2,R3各赋一初值,然后对它们同立即数进行一序列的算术/逻辑运算,观察各寄存器的变化情况。(结果如 图1-4)MOV R0,#0FEHMOV R1,#06HMOV R2,#07HMOV R3,#08HADD R0,#05HADC R3,R2SUB R3,#02HAND R3,#66HOR R1,#0F9HL1:JMP L1图 1-46.3 实现1到20的奇数相加 (结果 如图 1-5)R1 寄存器放的是最终结果,注意:这是十六进制!MOV R0,#01HMOV R1,#00HL1:ADC R1,R0INC R0INC R0CMP R0,#015HJNE L1L2:JMP L2图 1-56.4实现数字35和67之间的高低位组合(结果如图 1-6)MOV R0,#35H MOV R1,#67H AND R0,#0FH AND R1,#0F0H ADD R0,R1 ST 00000H,R0 MOV R0,#35H MOV R1,#67H AND R0,#0F0H AND R1,#0FH ADD R0,R1 ST 00001H,R0 MOV R2,#35HMOV R3,#10HMUL R2,R3MOV R3,#67HAND R3,#0FHADD R2,R3ST 00002H,R2MOV R2,#67HMOV R3,#10HMUL R2,R3MOV R3,#35HAND R3,#0FHADD R2,R3ST 00003H,R2L1:JMP L1图 1-66.5将21H,22H.2AH等数存入从21H到2AH的储存空间,然后将这10个数字按相反的顺序搬迁到31H开始到3AH的连续空间中。(图 1-7)MOV R0,#21HMOV R1,#0HNEXT: ST 20H,R0ST (20H),R0INC R0INC R1CMP R1,#0AHJNE NEXTMOV R1,#0HMOV R2,#02AHMOV R3,#031HNEXT1:ST 20H,R2ST 30H,R3LD R0,(20H)ST (30H),R0DEC R2INC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论