研一的高级计算机系统结构课的大作业.....
技术栈:
前端:vue-cli3
后台:spring-boot
记分牌动态调度算法的基本原理:
这个算法主要就是3张表和指令集,以及指令执行过程中三张表按照规则刷新,指令按照规则推进or停顿
表一:指令状态表,用来记录当前指令中各个指令当前周期执行的位置(IS,RO,EX,WR)
表二:功能部件状态表,用来记录各个功能部件在当前周期的状态(Busy,Op,Fi,Fj,Fk,Qj,Qk,Rj,Rk)
表三:结果寄存器状态表,用来记录各个寄存器在当前周期是否被占用
规则:
1.IS:功能部件空闲,目的寄存器没有被占用;
2.RO:源寄存器没有被占用;
3.EX:不同功能部件存在不同的执行周期;
4.WR:不存在WAR相关就可以写回;
演示:
指令输入:
指令跳转:在页面最上方输入需要跳转的周期数
github地址: