组成原理课程设计(复杂模型机设计实验)_第1页
组成原理课程设计(复杂模型机设计实验)_第2页
组成原理课程设计(复杂模型机设计实验)_第3页
组成原理课程设计(复杂模型机设计实验)_第4页
组成原理课程设计(复杂模型机设计实验)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、复杂模型机设计实验一、 实验目的综合运用所学计算机原理知识,设计并实现较为完整的计算机。二、 实验设备TDNCM计算机组成原理教学实验系统。三、 数据格式及指令系统1. 数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:D7D6 D5 D4 D3 D2 D1 D0符号尾 数2. 指令格式模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。1) 算术逻辑指令设计7条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:D7 D6 D5 D4 D3 D2D1 D0OPCODErsrd其中,OPCODE为操作码,rs为源寄存器

2、,rd为目的寄存器,并规定:rs或rd选定的寄存器000110R0R1R27条算术逻辑指令的名称、功能和具体格式见表2) 访存指令及转移指令模型机设计2条访存指令存数(STA)和取数(LDA),2条转移指令无条件转移(JMP)和结果为零或有进位转移指令(BZC),这4条指令长度为2个字节,其指令格式为:D7 D6D5 D4D3 D2D1 D00 0MOPCODErdD其中,OPCODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为偏移量(正负均可),M为寻址模式,其定义如下:寻址模式M有效地址E说明00011011EDE(D)E(RI)DE(PC)D直接寻址间接寻址RI变址寻址

3、相对寻址本模型机规定变址寄存器RI指定为寄存器R2。3) I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:D7 D6 D5 D4 D3 D2D1 D0OPCODEaddrrd其中,addr01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr10时,选中“OUTPUT DEVICE”中的数码块作为输出设备。4) 停机指令指令格式如下:D7 D6 D5 D4 D3 D2D1 D0OPCODE0000HALT指令用于实现停机操作。3. 指令系统本模型机共有16条基本指令,其中算术逻辑指令7条,访存指令和程序控制指令4条,输入输出指令2条,其它指令1条,表列出

4、了各条指令的格式、汇编符号、指令功能。表1助记符号指令格式功能CLR rdMOV rs,rdADC rs,rdSBC rs,rdINC rdAND rs,rdCOM rdRRC rs,rdRLC rs,rd011100rd1000rsrd1001rsrd1010rsrd1011rd1100rsrd1101rd1110rsrd1111rsrd0rdrsrdrs+rd+cyrdrs-rd-cyrdrd+1rdrsrdrdrdrsrdrsrdLDA M, D, rdSTA M, D, rdJMP M, DBZC M, D00M00rdD00M01rd00M00rdD00M00rdDErsrdEEPC

5、当CY1或Z1,EPCIN addr, rdOUT addr, rd010001rd010101rdaddrrdrdaddrHALT010001rd停机四、 总体设计本模型机的数据通路框图如图所示。图1: 数据通路图根据机器指令系统的要求,设计微程序流程图及确定微地址如下:图2:微程序流程图根据流程图,确定如下微程序:微程序:$M00018108 $M2205DB81$M0101ED82 $M230180E4$M0200C050 $M24018001$M0300A004 $M2595AAA0$M0400E0A0 $M2600A027$M0500E006 $M2701BC28$M0600A007

6、 $M2895EA29$M0700E0A0 $M2995AAA0$M0801ED8A $M2A01B42B$M0901ED8C $M2B959B41$M0A00A03B $M2C01A42D$M0B018001 $M2D65AB6E$M0C00203C $M2E0D9A01$M0D00A00E $M2F01AA30$M0E01B60F $M300D8171$M0F95EA25 $M31959B41$M1001ED83 $M32019A01$M1101ED85 $M3301B435$M1201ED8D $M3405DB81$M1301EDA6 $M35B99B41$M14001001 $M360

7、D9A01$M15030401 $M37298838$M16018016 $M38019801$M173D9A01 $M3919883A$M18019201 $M3A019801$M1901A22A $M3B070A08$M1A01B22C $M3C068A09$M1B01A232$M1C01A233$M1D01A236$M1E318237$M1F318239$M20009001$M21028401验证程序:助记符 机器码IN 01, R0 $P0044IN 01, R2 $P0146SBC R2,R0 $P02A8MOV R0, R1 $P0381RLC R1, R1 $P04F5OUT R

8、1,R1 $P0559HALT $P0600指令功能:在实验板的数据开关手动输入一个数存到R0寄存器里,在输入另一个数到R2寄存器里,然后用R2-R0存到R0寄存器里,接着把R0里的数转存到R1寄存器,然后再把R1的数左移一位存到R1,接着在数码管显示输出当前R1寄存器里的数,最后停止。五、 实验步骤1. 按图连接实验线路2. 写入程序1) 手动写入A. 按如下步骤讲微代码写入微控器中的存储器2816中: 将编程开关置为PROM(编程)状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 用二进制模拟开关置微地址MA5MA0。 在MK24

9、MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。 启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。 重复步骤,将所有的微代码写入2816中。B. 按如下步骤校验微代码 将编程开关置为READ(校验)状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 用二进制模拟开关置微地址MA5MA0。 启动时序电路(按动启动按钮“START”),读出微代码。观察显示灯MD24MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,

10、则将开关置于PROM编程状态,重新执行)即可。C. 按如下步骤使用KWE微程序进行机器指令程序的装入。 使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“0 1”,并按动一次START,微地址显示灯显示“010001”。 再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令。再按动两次START键后,即完成该条指令的写入,并且微地址显示灯显示“010001”。(注:由KWE的流程图可知,该流程每执行一次,将向PC寄存器所指向的

11、存储器单元中写入一个字节的数据,并且将PC加1。) 如果还需要向存储器中输入数据,则需重复重新执行。D. 按如下步骤使用KRD微程序进行机器指令程序的检查。 使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“0 0”, 并按动一次启动开关START,微地址显示灯显示“010000”。 再按动一次START,微地址灯显示“010010”,第三次按动STRAT,微地址灯显示为“010111”,再按动STRAT后此时输出单元的数码管显示为PC寄存器所指单元的内容。(注:

12、由KRD的流程图可知,该流程每执行一次,将显示PC寄存器所指向的存储器单元中一个字节的数据,并且将PC加1。) 如果还需要检查存储器中其他单元的数据,则需重复重新执行。2) 联机读/写程序将微代码写入文本文件中,通过联机软件载入实验系统。3. 运行程序1) 本机运行A. 单步运行程序 使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零。 单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否与流程一致。 当运行结束后,可检查存数单元(0BH)中的结

13、果是否和理论计算结果一致。B. 连续运行程序 使编程开关处于“RUN”状态,STEP为“EXEC”状态,STOP为“RUN”状态。 拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零。 按动START键,系统将连续运行程序,直至将STOP拨至“STOP”状态。 当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。2) 联机运行联机运行程序时,进入软件界面,装载机器指令及微指令后,运行即可。图3:实验连接图六、实验总结:这次课程设计中,基于前几次实验中,对计算机的大致组成以及运行原理有了初步的了解,并且对实验板也比较熟悉了,所以按照实验连接图连线也比较上手了,经过那么多次实验,觉得连线最重要的就是认真,如果一开小差就会出错,每连完一条线之后,都要检查一遍,看是否连错,这告诉我们,做每一件事都要认认真真的完成,容不得一丝马虎,否则只会落得个事倍功半的效果。这次课程设计最重要的就是编写程序了,要想编写程序首次要对程序了解,知道每个助记符对应的机器码是什么意思,

温馨提示

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

评论

0/150

提交评论