博客
关于我
山东大学软件学院计算机组成原理课程设计整机实验(2)
阅读量:733 次
发布时间:2019-03-21

本文共 1233 字,大约阅读时间需要 4 分钟。

文章目录

  • 实验时间
  • 实验任务
  • 对JO指令要求的理解
  • JO指令的实现方法
  • 实验中遇到的其他问题5.1 机器吞咽微指令的问题
  • 一、实验时间2021年5月6日星期四,第10周

    2021年5月14日星期四,第11周

    二、实验任务完成计组整机实验的拓展功能1:JO指令的实现

    (图片描述:关于JO指令的实现步骤图)

    三、对JO指令要求的理解

    开始时,我对拓展功能1的理解存在误区。我原本认为A4地址是通过相对寻址方式加法得来的,随后写入FF。但是真实情况是A4地址是固定的,不会通过相对寻址得到。
    后来向老师求教后,我得知以下正确理解:

  • 加法执行结束后,四个状态位将打入PSW寄存器,并显示在控制台的灯上
  • 如果加法不溢出,则顺序执行,不往A4地址中写数据(A4保持初始值)
  • 如果加法溢出,则根据相对偏移量跳转到STORE指令,并向A4地址中写FF
  • JO指令的第一个字长为操作码+0000,第二个字长为相对寻址的偏移量。老师要求我们根据偏移量寻找的是STORE FF A4指令,而不是操作数。

    STORE FF A4的地址通过相对寻址找到,即STORE的地址=当前PC值+偏移量

    注意:如果不溢出,内存不会改变,不能误认为不溢出要写00,溢出要写FF

    四、JO指令的实现方法

    关于JO指令的实现,有两种理解:

  • 我采用的方法是利用三条指令:
    • CMP指令:用于判断是否溢出,如果不溢出则顺序执行,如果溢出则跳转到JO指令
    • JO指令:当溢出时执行,取出JO第二字长的相对偏移量后,通过ALU作加法,将PC置为STORE指令的RAM地址
    • STORE FF A4指令:将FF存入A4,然后重置PC,跳转至乘法指令
  • 实现JO指令的关键在于条件判断:如何有溢出就跳转,不溢出就顺序执行。我的实现方法是:

    • 如果溢出,将PC置为跳转指令的RAM地址
    • 如果不溢出,则PC+1
    • 通过LOADPC微指令和溢出位V共同决定LD脚的输出
    • 只有LOADPC=1且V=1时,LD脚输出为0,此时PC置数模式
    • 其他情况下,PC+1模式

    另一种理解:

    • JO指令:用于判断溢出,如果溢出则根据相对寻址找到STORE指令并跳转
    • STORE FF A4:将FF存入A4地址中

    我认为这两种方法都可以,第二种实现更为简单。

    关于STORE FF A4指令:

    这是我自己设计的指令格式:

    • 第一字长:OP+低四位
    • 第二字长:A4
    • 第三字长:FF
    • 第四字长:执行后跳转的RAM地址

    五、实验中遇到的其他问题

    5.1 机器吞咽微指令的问题
    在初期微指令较少时,连续脉冲执行正常。但当加入乘法指令和JO后,单脉冲测试无异常,连续脉冲却会在乘法指令执行到一半时显示微指令全0,随后跳转至微指令取指阶段。
    后来向老师求教,老师称可能是机器老化或负载过大导致的。改用以下启动电路后,问题得到解决:

    (图片描述:改装后的二分频启动电路)

    这个问题并非 everyone 会遇到。如果你在单脉冲正常但连续脉冲出现问题时,可以考虑更换启动电路。

    转载地址:http://vpagz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>