预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

班级:计算机科学与技术3班 学号:20090810310 姓名:康小雪 日期:2011-12-1 实验7 模型机组成与程序运行实验 预习实验报告 计算机整机模型机的组成和工作原理。 计算机执行机器指令的工作过程。 微指令、微程序的设计及调试。 实验报告 波形图: 参数设置: Endtime:2.0usGridsize:25.0ns 信号设置: Clkjp:控制电路时钟信号,设置周期为100ns占空比为50%。 Clrar:AR寄存器清零信号,用于清除当前AR的状态,二进制输入,低电平有效。 ClrKong:控制电路清零信号,用于清除当前控制电路的状态,二进制输入,低电平有效。 dp:单拍执行信号,用于使状态机输出且仅输出一次脉冲,二进制输入,高电平有效。 qd:启动信号,用于启动状态机,二进制输入,低电平有效。 tj:停机控制信号,用于使状态机保持当前状态,二进制输入,高电平有效。 Scan_pc:查看打当前pc的值,二位十六进制输出。 Scan_ar:查看打当前ar的值,二位十六进制输出。 Scan_result:查看打当前总线上的值,二位十六进制输出。 Jp:t1,t2,t3,t4节拍脉冲信号的组合,四位二进制输出,高电平时有效。 K:输入数据,八位二进制输入。 仿真波形: 运算以(非C^非D)^(非B加A)为例: 其中A=05HB=0AHC=01HD=02H 其中mif文件设置为: 波形: 分析:(由于操作太多,仅分析LDA18H这个操作,后面的操作分析类似) 0-100ns,初始状态:启动控制电路,所有信号均处于初始状态。 100-500ns,sw->pc:此时节拍信号执行一个循环,next_add=00001. 500-1000ns,pc->ar,pc+1->pc:ar被赋予pc的值,pc则从原来的0变为了1,next_add=00010. 1000-1500ns,RAM->IR:此时是读取IR指令的操作,下址先是变为了01000然后读取到指令为20H,下址next_add迅速变为01001。 1500-2000ns,pc->ar,pc+1->pc:ar被赋予pc的值,pc则从原来的1变为了2,next_add=10101. 2000-2500ns,RAM->AR:读取到01H单元中存的地址为18H,RAM将18H传送给AR,下址next_add=10110. 2500-3000ns,RAM->R5:读取到18H中存的数为01H该值应该被传送给R5,LDA操作完成,下址重新恢复为next_add=0001以重新读取操作。 之后的波形图截取如下: 。。。 。。。 这是最后一步的运算结果,将运算得到的F8存入第1EH单元中: 结论: 本实验的设计能正确实现模拟状态机的单步运行功能,并且在一系列的qd模拟机之后,能够从mif文件中准确地读出数据,并且对表达式(非C^非D)^(非B加A)进行相应的运算,最终得到F8的结果,并执行存入1EH单元中,故电路设计正确。 二、实验日志 预习疑问解答: 计算机整机模型机的组成和工作原理。 计算机执行机器指令的工作过程。 根据冯.诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令。执行一条指令又可分为以下五个基本操作: ①取指令:从存储器某个地址单元中取出要执行的指令送到CPU内部的指令寄存器暂存; ②分析指令:或称指令译码,把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作信号,控制各个部件的操作; ③取操作数:如果需要,发出取数据命令,到存储器取出所需的操作数; ④执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作; ⑤保存结果:如果需要保存计算结果,则把结果保存到指定的存储器单元中。 完成一条指令所需的时间称为指令周期。一个指令周期往往包括多个总线周期,而一个总线周期又包含多个时钟周期。时钟周期是计算机中最小的时间单位。 微指令、微程序的设计及调试。 思考题: 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。要求写出七条指令新的指令码并写出复合运算执行mif文件。修改模型机电路调试程序以实现复合运算。 例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。 答:模拟机电路修改如下: 存储器预设指令重设: RAM地址内容00H20H01H1EH02H80H03H40H04H20H存储数据/B(75H)05H20H06H1DH07HC0H08H20H09H40H0AH21H存储数据A+/B(CAH)0BH20H0CH1FH0DH8