计算机组成原理实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输出 T1 14 FFDF9F ALU直通 用户 OUT A输出
T0 15 CBFFFF 存贮器值EM 寄存器W MAR输出 A输出
16 FFFFFF ALU直通 寄存器A 标志位C,Z 加运算
17 FFFFFF 指令寄存器IR PC输出 A输出
跳到* T1 18 C6FFFF 存贮器值EM 寄存器PC PC输出 A输出
dat:
A-W A,#* 10 2
输出 14 1
跳到* 18 2
输入 A,#* 1C 2
5中修改的指令集(流水系统):
mic:源自文库
_FATCH_ T0 00 CBFFFF 指令寄存器IR A输出
01 FFFFFF A输出
02 FFFFFF A输出
03 FFFFFF A输出
04 FFFFFF A输出
05 FFFFFF A输出
asm文件:
L1:
输入 A,#55h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
输入 A,#22h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
输入 A,#55h
A-W A,#22h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
跳到L1
END
4中修改的指令集:
mic:
_FATCH_ T0 00 CBFFFF 指令寄存器IR A输出
2.改造实验十二中自己编制的指令集,使其中至少一条指令成流水方式。
3.在自己编制的两个指令集中运行同一个程序,观测运行情况和效率。程序来源自定。
四、实验步骤
1.在CP226环境中,通过“文件”下拉菜单的“调入指令系统/微程序”操作,把“c:\ program files\CP226计算机组成原理\data\”目录下的insfile2.MIC调入系统,在指令系统窗口逐条观察指令的各微指令码,与指导书103到110页的对应指令的微指令码比较,分析二者的异同。
T0 19 CBFFFF 指令寄存器IR PC输出 A输出
1A FFFFFF A输出
1B FFFFFF A输出
输入 A,#* T1 1C C7FFF7 存贮器值EM 寄存器A PC输出 A输出
T2 1D CBFFFF 指令寄存器IR PC输出 A输出
1E FFFFFF A输出
1F FFFFFF A输出
mac:
_FATCH_ 000000xx 00-03 1
000001xx 04-04 1
000010xx 08-0B 1
000011xx 0C-0F 1
A-W A,#* 000100xx 10-13 II 2
输出 000101xx 14-17 1
跳到* 000110xx 18-1B MM 2
输入 A,#* 000100xx 1C-1F II 2
2.仿照insfile1.MIC和insfile2.MIC的异同改造自己编制的指令集。并在两个指令系统中运行同一个程序。
3.在实验十二中我们已经编制了自己的指令集,稍加修改即可
4.把实验十二中的asm文件中的“延迟”去掉,在其后加上7-8个“输出”;把dat、mic、mac中的“延迟”相关的东西都去掉,保存程序。
5.在4的基础上改动mic中的“A-W”和“输出”的指令,把取指指令改为“FFFFFF”,保存文件。
5.打开CP226,打开调入指令系统,把原来4改过的指令集调入到CP226中,打开asm文件,打开实验箱,编译、全速运行,观察实验箱中OUT现象。
6.打开调入指令系统,调入5中改过的程序,编译、全速运行。观察实验箱中OUT中的现象。
上海大学计算机学院
《计算机组成原理实验》报告十三
实验名称:建立指令流水系统
一、实验目的
1.了解指令流水系统的设计方式。
2.编制一条可以流水方式运行的指令。
二、实验原理
1.硬部件的并行工作。
A+W、把“和”右移一位、把值送OUT。这三个子操作为什么可以同时进行呢?因为这三个子操作使用的硬件(包括总线)互不相同,于是可以同时工作。这一特点表现在微指令编码上,就是这三个子操作的微指令码中为低电平(有效)的都不相同,于是可以将这三个子操作的微指令码合并成一个微指令
0D FFFFFF A输出
0E FFFFFF A输出
0F FFFFFF A输出
A-W A,#* T2 10 C7FFEF 存贮器值EM 寄存器W PC输出 A输出
T1 11 FFFE91 ALU直通 寄存器A标志位C,Z 加运算
T0 12 CBFFFF 指令寄存器IR PC输出 A输出
13 FFFFFF A输出
4.实验箱系统实现指令流水的技巧
一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令。若取指令操作(CBFFFF)与它前面的微操作码没有相同的位为0,则这两个微操作码的“与”就是二者合并后的微指令。在程序中这条指令就会和它的后继指令形成二级流水模式。
三、实验内容
1.分析流水指令集insfile2.MIC。
2.指令流水执行
指令流水模式,每条指令都应该分成几个独立的子操作,当前趋指令的后几个子操作与后继指令的前几个子操作不使用同样的硬件时,系统就可设计成流水线方式。同一时间有多条指令各自在不同的硬件中执行,而对同一条指令而言,不同时间顺序在不同的硬件中执行
3.实验箱系统的指令流水硬件基础
“取指令”的微操作,其微指令码微CBFFFF,与大多数的微操作无关。在厂家给的默认指令系统中这个操作编在了每条指令的最后一个状态,即每条指令的操作完成后就取进下一条指令。这是典型的“取指、执行、取指……”模式。即一条指令先被“取指”,再执行其他微操作,完成后再取下一条指令。如果一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令,于是这个指令的最后一个微操作与取下一条指令并行进行。对下一条指令而言,其“取指”与“其他操作”在不同硬件中顺序执行——指令二级流水。
01 FFFFFF A输出
02 FFFFFF A输出
03 FFFFFF A输出
04 FFFFFF A输出
05 FFFFFF A输出
06 FFFFFF A输出
07 FFFFFF A输出
08 FFFFFF A输出
09 FFFFFF A输出
0A FFFFFF A输出
0B FFFFFF A输出
0C FFFFFF A输出
06 FFFFFF A输出
07 FFFFFF A输出
08 FFFFFF A输出
09 FFFFFF A输出
0A FFFFFF A输出
T0 15 CBFFFF 存贮器值EM 寄存器W MAR输出 A输出
16 FFFFFF ALU直通 寄存器A 标志位C,Z 加运算
17 FFFFFF 指令寄存器IR PC输出 A输出
跳到* T1 18 C6FFFF 存贮器值EM 寄存器PC PC输出 A输出
dat:
A-W A,#* 10 2
输出 14 1
跳到* 18 2
输入 A,#* 1C 2
5中修改的指令集(流水系统):
mic:源自文库
_FATCH_ T0 00 CBFFFF 指令寄存器IR A输出
01 FFFFFF A输出
02 FFFFFF A输出
03 FFFFFF A输出
04 FFFFFF A输出
05 FFFFFF A输出
asm文件:
L1:
输入 A,#55h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
输入 A,#22h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
输入 A,#55h
A-W A,#22h
输出
输出
输出
输出
输出
输出
输出
输出
输出
输出
跳到L1
END
4中修改的指令集:
mic:
_FATCH_ T0 00 CBFFFF 指令寄存器IR A输出
2.改造实验十二中自己编制的指令集,使其中至少一条指令成流水方式。
3.在自己编制的两个指令集中运行同一个程序,观测运行情况和效率。程序来源自定。
四、实验步骤
1.在CP226环境中,通过“文件”下拉菜单的“调入指令系统/微程序”操作,把“c:\ program files\CP226计算机组成原理\data\”目录下的insfile2.MIC调入系统,在指令系统窗口逐条观察指令的各微指令码,与指导书103到110页的对应指令的微指令码比较,分析二者的异同。
T0 19 CBFFFF 指令寄存器IR PC输出 A输出
1A FFFFFF A输出
1B FFFFFF A输出
输入 A,#* T1 1C C7FFF7 存贮器值EM 寄存器A PC输出 A输出
T2 1D CBFFFF 指令寄存器IR PC输出 A输出
1E FFFFFF A输出
1F FFFFFF A输出
mac:
_FATCH_ 000000xx 00-03 1
000001xx 04-04 1
000010xx 08-0B 1
000011xx 0C-0F 1
A-W A,#* 000100xx 10-13 II 2
输出 000101xx 14-17 1
跳到* 000110xx 18-1B MM 2
输入 A,#* 000100xx 1C-1F II 2
2.仿照insfile1.MIC和insfile2.MIC的异同改造自己编制的指令集。并在两个指令系统中运行同一个程序。
3.在实验十二中我们已经编制了自己的指令集,稍加修改即可
4.把实验十二中的asm文件中的“延迟”去掉,在其后加上7-8个“输出”;把dat、mic、mac中的“延迟”相关的东西都去掉,保存程序。
5.在4的基础上改动mic中的“A-W”和“输出”的指令,把取指指令改为“FFFFFF”,保存文件。
5.打开CP226,打开调入指令系统,把原来4改过的指令集调入到CP226中,打开asm文件,打开实验箱,编译、全速运行,观察实验箱中OUT现象。
6.打开调入指令系统,调入5中改过的程序,编译、全速运行。观察实验箱中OUT中的现象。
上海大学计算机学院
《计算机组成原理实验》报告十三
实验名称:建立指令流水系统
一、实验目的
1.了解指令流水系统的设计方式。
2.编制一条可以流水方式运行的指令。
二、实验原理
1.硬部件的并行工作。
A+W、把“和”右移一位、把值送OUT。这三个子操作为什么可以同时进行呢?因为这三个子操作使用的硬件(包括总线)互不相同,于是可以同时工作。这一特点表现在微指令编码上,就是这三个子操作的微指令码中为低电平(有效)的都不相同,于是可以将这三个子操作的微指令码合并成一个微指令
0D FFFFFF A输出
0E FFFFFF A输出
0F FFFFFF A输出
A-W A,#* T2 10 C7FFEF 存贮器值EM 寄存器W PC输出 A输出
T1 11 FFFE91 ALU直通 寄存器A标志位C,Z 加运算
T0 12 CBFFFF 指令寄存器IR PC输出 A输出
13 FFFFFF A输出
4.实验箱系统实现指令流水的技巧
一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令。若取指令操作(CBFFFF)与它前面的微操作码没有相同的位为0,则这两个微操作码的“与”就是二者合并后的微指令。在程序中这条指令就会和它的后继指令形成二级流水模式。
三、实验内容
1.分析流水指令集insfile2.MIC。
2.指令流水执行
指令流水模式,每条指令都应该分成几个独立的子操作,当前趋指令的后几个子操作与后继指令的前几个子操作不使用同样的硬件时,系统就可设计成流水线方式。同一时间有多条指令各自在不同的硬件中执行,而对同一条指令而言,不同时间顺序在不同的硬件中执行
3.实验箱系统的指令流水硬件基础
“取指令”的微操作,其微指令码微CBFFFF,与大多数的微操作无关。在厂家给的默认指令系统中这个操作编在了每条指令的最后一个状态,即每条指令的操作完成后就取进下一条指令。这是典型的“取指、执行、取指……”模式。即一条指令先被“取指”,再执行其他微操作,完成后再取下一条指令。如果一条指令的最后一个微操作与取指无关,就可以把二者合并成一个微指令,于是这个指令的最后一个微操作与取下一条指令并行进行。对下一条指令而言,其“取指”与“其他操作”在不同硬件中顺序执行——指令二级流水。
01 FFFFFF A输出
02 FFFFFF A输出
03 FFFFFF A输出
04 FFFFFF A输出
05 FFFFFF A输出
06 FFFFFF A输出
07 FFFFFF A输出
08 FFFFFF A输出
09 FFFFFF A输出
0A FFFFFF A输出
0B FFFFFF A输出
0C FFFFFF A输出
06 FFFFFF A输出
07 FFFFFF A输出
08 FFFFFF A输出
09 FFFFFF A输出
0A FFFFFF A输出