上海大学 计算机学院 《计算机组成原理实验》报告 十
姓名 XXX 学号 XXXXXX 教师 王雪娟 时间 三 11-13 地点 行健楼 6楼 机位 4
建立指令流水系统(研究实验)
一. 实验目的:
1.了解指令流水操作的基本概念和工作原理。 2.了解指令流水系统的设计方式。 3。编制一条可以流水方式运行的指令。
二. 实验原理:
1.硬部件的并行工作:
在微指令编码上,当几个子操作的微指令码中为低电平(有效)的都不相同时,可以将这三个子操作的微指令码合并成一个微指令,这个微指令控制三部分硬件并行工作。
2.指令流水执行:
把 “使用不同硬件的操作可以同时工作”的概念推广到相继的两条指令之间,就形成“指令的流水线执行模式”。
这个模式下,同一时间有多条指令各自在不同的硬件中执行,而对同一条指令而言,不同时间顺序在不同的硬件中执行,这就是指令流水模式的名称来源。
要形成指令流水模式,每条指令都应该分成几个独立的子操作,当前趋指令的后几个子操作与后继指令的前几个子操作不使用同样的硬件时,系统就可设计成流水线方式。
3.实验箱系统的指令流水硬件基础:
如果一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令,这个指令的最后一个微操作与取下一条指令并行进行。对下一条指令而言,其“取指”与“其他操作”在不同硬件中顺序执行——指令二级流水。
4.实验箱系统实现指令流水的技巧:
一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令。这个原则用微操作码表述就是:
若取指令操作(CBFFFF)与它前面的微操作码没有相同的位为0,则这两个微操作码的“与”就是二者合并后的微指令。在程序中这条指令就会和它的后继指令形成二级流水模式。
三. 实验步骤:
1. 改造实验九中自己编制的指令集,使其中至少一条指令成流水方式: (1)打开自己编制的MIC文件
(2)将部分可以合并的指令修改成如下: A+W #* T2 10 C7FFEF T1 11 CBFE90 12 FFFFFF 13 FFFFFF OUTA T1 14 CBDF9F 15 FFFFFF 16 FFFFFF 17 FFFFFF
以上都将原先的T0,T1指令合并,形成了指令流水。
2. 在自己编制的两个指令集中运行同一个程序,观测运行情况和效率: (1)在CP266中分别调用实验9和本次实验的MIC文件
(2)分别下载编译
四. 实验数据:
(1) 改造实验九中自己编制的指令集,使其中至少一条指令成流水方式: A+W #* T2 10 C7FFEF T1 11 CBFE90 12 FFFFFF 13 FFFFFF OUTA T1 14 CBDF9F 15 FFFFFF 16 FFFFFF 17 FFFFFF 跳转 * T1 18 C6FFFF T0 19 CBFFFF 1A FFFFFF 1B FFFFFF LD #* T1 1C C7FFF7 T0 1D CBFFFF 1E FFFFFF 1F FFFFFF (2)
在自己编制的两个指令集中运行同一个程序,观测运行情况和效率:在自
己编制的两个指令集中运行同一个程序,观测运行情况和效率:
源程序: L0:LD #55h OUTA OUTA
OUTA OUTA OUTA OUTA OUTA OUTA LD #22h OUTA OUTA OUTA OUTA OUTA OUTA OUTA OUTA A+W #55h OUTA OUTA OUTA OUTA OUTA OUTA OUTA OUTA 跳转 L0 END
五. 实验现象:
依次出现22,55 77,但是用本次实验的MIC文件执行的速度比用实验9的MIC文件执行速度快。 六. 体会:
这是本学期最后一次的机组实验课,实验目的是解指令流水操作的基本概念和工作原理,了解指令流水系统的设计方式以及编制一条可以流水方式运行的指令。
这次实验的代码和上次基本一样,只要将上次实验的MIC文件中的几条指令进行合并,以此达到流水指令操作的效果,调入运行后,可以感觉到程序运行的速度有所提升,这对我以后学习中有很多启发和帮助。
因篇幅问题不能全部显示,请点此查看更多更全内容