计算机组成原理课程设计报告 - 图文

更新时间:2024-04-03 03:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成原理课程设计报告

2014计算机组成原理课程设计报告 班级:计科1202 组号2-3

北京化工大学计算机科学与技术专业

计算机组成原理课程设计报告

院 系: 信息科学与技术学院 专 业: 计算机科学与技术 班 级: 计科 组 号: 2-3

序号 组长 组员1 组员2 姓名 尹 杨 李 学号 考试号 成绩

指导教师: 张杰

2015年 1月 8日

计算机组成原理课程设计报告

目录

目录 ............................................................................................................................................................. 2 第1部分 小组报告 ................................................................................................................................... 3

1.1设计任务一 ................................................................................................................................... 3

1.1.1实验要求 ............................................................................................................................ 3 1.1.2实验目的 ............................................................................................................................ 3

1.1.3实验电路 ............................................................................................................................ 3 1.1.4实验结论 ............................................................................................................................ 5 1.2设计任务二 ................................................................................................................................... 6

1.2.0实验目的 ............................................................................................................................ 6 1.2.1实验1:数据传送实验/输入输出实验 ............................................................................ 6 1.2.2实验2:数据运算实验(加/减/与/或) .......................................................................... 7

1.2.3实验3:移位/取反实验 .................................................................................................... 8 1.2.4实验4:转移实验 ............................................................................................................. 9 1.2.5实验5:调用实验 ........................................................................................................... 11 1.2.6实验6:中断实验 ........................................................................................................... 12 1.2.7实验7:中断实验 ........................................................................................................... 13 1.2.8实验8:RISC模型机 ..................................................................................................... 13 1.2.9实验9:用小键盘调试实验 ........................................................................................... 14 1.3设计任务三 ................................................................................................................................. 15

1.3.1实验目的 .......................................................................................................................... 15 1.3.2实验内容 .......................................................................................................................... 15 1.3.2实验结果 .......................................................................................................................... 16 1.4设计任务四 ................................................................................................................................. 18

1.4.1功能说明 .......................................................................................................................... 18

1.4.2源程序代码 ...................................................................................................................... 18 1.4.3程序流程图 ...................................................................................................................... 21 1.4.3测试结果 .......................................................................................................................... 22 综合设计思考题 ............................................................................................................................... 37

实验1.1 数据传送实验/输入输出实验综合思考题 ............................................................ 37 实验1.2 数据运算实验(加/减/与/或)综合思考题 ........................................................ 37 实验1.7 指令流水实验综合思考题 ...................................................................................... 38

第2部分

个人报告 ............................................................................................................. 40

2.1组长个人报告 ............................................................................................................................. 40 2.2组员1个人报告 ......................................................................................................................... 40 2.3组员2个人报告 ......................................................................................................................... 40 参考文献 ................................................................................................................................................... 41 致谢 ........................................................................................................................................................... 41

2 / 41

计算机组成原理课程设计报告

第1部分 小组报告

1.1设计任务一

模型机中断实验

1.1.1实验要求

利用CPTH实验仪器上的开关做控制信号,实现中断功能。

1.1.2实验目的

了解模型机的中断功能的工作原理及终端过程中,申请、响应、处理、返回各阶段时序。

1.1.3实验电路

中断电路有两个D触发器,分别用于保存中断请求信号(IREQ)及中断响应信号(IACK)。INT有上升沿时,IREQ触发器被置为1。当下一条指令取指时(IREN=0),存贮器EM的读信号(EMRDP)被关闭,同时产生读中断指令(ICEN)信号,程序的执行被打断而去执行B8指令响应中断。在取B8的同时置IACK触发器被置为1,禁止新的中断响应。EINT信号置0,IACK,IREQ触发器为0,中断电路可以响应新的中断。

3 / 41

计算机组成原理课程设计报告

中断控制器原理图

图(1)

连接线表

连接 1 2 3 4 置控信号为: 信号孔 IREN EINT INT CK 接入孔 K0 K1 已连 已连 表(1)

作用 状态说明(手动模式) IR,UPC写允许 低电平有效 清中断寄存器 低电平有效 中断输入 上升沿有效 时钟输入 上升沿有效 K1(EINT) 1 表(2)

K0(IREN) 0 短路块选择端JINT指向RG侧,按RG脉冲键,产生中断请求,此时REQ指示灯亮,同时B8输出红色指示灯。

按STEP脉冲键,产生取指脉冲,黄色ACK指示灯亮。 置控信号为: K1(EINT) K0(IREN) 0 1 表(3)

4 / 41

计算机组成原理课程设计报告

REQ,ACK灯灭。

1.1.4实验结论

当EINT为高电平即清中断寄存器无效时,产生中断有效,中断指示灯亮;当EINT为低电平即清中断寄存器有效时,中断请求无效。

5 / 41

计算机组成原理课程设计报告

1.2设计任务二

模型机综合实验(微程序控制器)

1.2.0实验目的

(1)在综合实验中,模型机作为一个整体来工作的,利 用本实验,获得对计算机组成的实际认识,并由此深化计算 机的基本组成原理和结构。

(2)熟练掌握CPTH集成开发环境的使用。

1.2.1实验1:数据传送实验/输入输出实验

1.2.1.1实验内容

在CPTH软件中的源程序窗口输入下列程序

MOV A,#12h

MOV A,R0

MOV A,@R0

MOV A,01H

IN

OUT

END

将程序另存为EX1.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令,详见图(2)。

按快捷键图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作,详见图(2)。

6 / 41

计算机组成原理课程设计报告

图(2)

1.2.1.2实验结论

本实验涉及到三种传送方式:立即寻址,即将立即数12打入累加器A,立即数直接在存储器里面送往A;寄存器直接寻址,即将寄存器里的数据直接送往A;寄存器间接寻址,即先将寄存器的数据送往地址寄存器MAR,在将存储器M的数据送往A。

实验的输入方式IN是将IN端口里面的数据送到A;输出方式OUT是将累加器A的数据送往输出端口OUT。

1.2.2实验2:数据运算实验(加/减/与/或)

1.2.2.1实验内容

在CPTH软件中的源程序窗口输入下列程序

ADDC A,R1

SUB A,@R1

AND A,#55H

OR A,02H

END

将程序另存为EX2.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机

7 / 41

计算机组成原理课程设计报告

器码、反汇编指令,详见图(3)。

按快捷键图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作,详见图(3)。

图(3)

1.2.2.2实验结论

执行ADDC A,R1指令,将R1中的数据送到累加器W中,将A和W中的数据相加结果打入A中,如产生进位,则加的过程中要加上进位。执行SUB A,@R1指令时,R1作间指,首先将R1的数据打入到地址寄存器当中,再讲对应的存储单元的数据打入到W当中,再用累加器A和W中的数据相减,不带进位送到累加器A中。执行AND A,#55h先将立即数从存储器打入累加器W当中,再将A和W中的数据作与运算结果打入到累加器A当中。OR A,02H先将存储器当中的02H打入到地址寄存器MAR当中,再找到对应的存储单元中的数据打入到W当中,最后将A和W中的数据作或运算,结果打入到A中。

1.2.3实验3:移位/取反实验

1.2.3.1实验内容

在CPTH软件中的源程序窗口输入下列程序

MOV A,#55H

RR A

RLC A CPL A END 8 / 41 计算机组成原理课程设计报告

将程序另存为EX3.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令,详见图(4)。

按快捷键图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作,详见图(4)。

图(4)

1.2.3.2实验结论

立即寻址,是直接将存储器当中的数据打入到A中。RR操作对应的是

X2X1X0=111;RLC操作对应的是X2X1X0=110;CPL对应的是S2S1S0=110。

1.2.4实验4:转移实验

1.2.4.1实验内容

在CPTH软件中的源程序窗口输入下列程序

9 / 41

计算机组成原理课程设计报告

LO:MOV A,#01 LOOP: SUB A,#01 JC LOOP JZ LOOP JMP LO END

将程序另存为EX4.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令,详见图(5)。

按快捷键图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作,详见图(5)。

图(5)

1.2.4.2实验结论

转移指令判断标志寄存器的值是否为1,若为1,则将跳转地址送往PC;若不为1,则执行下一条指令;JMP指令无须判断直接跳转。

10 / 41

计算机组成原理课程设计报告

1.2.5实验5:调用实验

1.2.5.1实验内容

在CPTH软件中的源程序窗口输入下列程序

MOV A,#00H

LOOP:

CALL INCA

JMP LOOP

INCA:

ADD A,#01

RET

END

将程序另存为EX5.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令,详见图(6)。

按快捷键图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作,详见图(6)。

图(6)

1.2.5.2实验结论

11 / 41

计算机组成原理课程设计报告

CALL指令执行时先将当前地址写入堆栈,然后跳转到子程序地址,子程序执行完后,再将堆栈中的地址打入PC,继续执行原来的指令。

1.2.6实验6:中断实验

1.2.6.1实验内容

在CPTH软件中的源程序窗口输入下列程序

MOV A,#00

LOOP:

JMP LOOP

ORG 0E0H

ADD A,#01

RETI

END

将程序另存为EX6.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令,详见图(7)。

在IA单元模块中,将拨码开关设置为“11100000”,短路块选择端JINT指向RG侧,按快捷键图标的F7,执行“单微指令运行”功能,在跟踪程序时,按下实验仪上中断请求按键[RG],中断请求灯亮,在每个指令的最后一条微指令执行完,就会响应中断,中断响应灯亮。

12 / 41

计算机组成原理课程设计报告

图(7)

1.2.6.2实验结论

中断信号产生后,将当前地址存到堆栈当中,转而执行中断,中段程序完成以后,在取堆栈段中的地址执行原指令。

1.2.7实验7:中断实验

1.2.7.1实验内容

在CPTH软件中,用菜单的[文件|调入指令系统/微程序]功能,打开CPTH下的“INSFILE2.MIC”。

在CPTH软件中,用菜单的[文件|打开文件]功能,打开CPTH下的“EX1.ASM”源程序。

按快捷图标的F7,执行“单微指令运行”功能,观察。 1.2.7.2实验结论

并行流水可以使多条微命令同时进行,但这些微命令不能占用同一条总线。

1.2.8实验8:RISC模型机

1.2.8.1实验内容

在CPTH软件中,用菜单的[文件|调入指令系统/微程序]功能,打开CPTH下的

13 / 41

计算机组成原理课程设计报告

“RISCFILE.MIC”。

在CPTH软件中,用菜单的[文件|打开文件]功能,打开CPTH下的“EX7.ASM”源程序。

按快捷图标的F7,执行“单微指令运行”功能,观察。 1.2.8.2实验结论

比较非RICS指令系统,可以看出RISC指令系统简单很多。

1.2.9实验9:用小键盘调试实验

1.2.9.1实验内容

按TV键选择EM,顺序输入机器码:7C 12 70 74 78 01 V0 C4,输完按RST复位。 按七次STEP键,分别完成七个时钟,执行七条微指令。 1.2.9.2实验结论

程序装入模型机后,按step可以顺序执行;按TV可以查找不同单元内的内容。

14 / 41

计算机组成原理课程设计报告

1.3设计任务三

设计指令/微指令系统

1.3.1实验目的

了解指令/微指令系统的设计。

1.3.2实验内容

LD A,#00 LOOP: ADD A,#01 OUT A GOTO LOOP (1)创建指令系统(助记符、机器码)。 (2)根据指令的功能设计相应微程序。

15 / 41

计算机组成原理课程设计报告

1.3.2实验结果

图(8)

16 / 41

计算机组成原理课程设计报告

图(9)

17 / 41

计算机组成原理课程设计报告

1.4设计任务四

基于CPTH模型机的冒泡排序实验

1.4.1功能说明

输入4个16进制数据,临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似。经程序处理,进行冒泡排序,最后由小到大依次输出。

1.4.2源程序代码

MOV R0,#0F0H ;将首地址存入到R0中

IN ;读入数据,读入的数据为排序的总共的数据,在试验中我们用的是4个数据 MOV @R0,A ;将累加器A的值即4存到R0的间址存储器中 MOV R1,A ;将累加器A的值送到R1中

AGAIN: ;汇编的标识符,到时候的循环好跳回来 MOV A,#01; 将01送到累加器A中

ADD A,R0 将寄存器R0的值送到累加器A中A=A+1,地址加一 MOV R0,A

IN ;输入要排序的数据 MOV @R0,A MOV A,R1

SUB A,#01H ;将A中的值剪一后送到A中即A=A-1,地址减一 MOV R1,A

JZ AGAIN1 ;若零标志位置为1,则跳转到AGAIN1 JMP AGAIN ;跳转到AGAIN AGAIN1:

;以上是数据的输入,下面开始排序

MOV R0,#0F0H MOV A,#1 ADD A,R0 MOV R3,A MOV A,0F0H

MOV R1,A ;把累加器A的值给R1;即把第一层的循环的次数给R1

18 / 41

计算机组成原理课程设计报告

LOOP1: ;汇编中的循环标识,开始执行第一层循环 MOV A,R1 SUB A,#01H

MOV R2,A ;把累加器A的值给R2;即把第二层的循环的次数给R2 MOV A,R1

SUB A,#01H ;将A中的值剪一后送到A中即 MOV R1,A ;A=A-1,地址减一

MOV A,#0F1H ;把0F1H的地址送给累加器A

MOV R3,A ;在第二层循环之前把累加器A的第一个数的首地址给R3 JZ END ;第一层的循环结束,

LOOP2: ;汇编中的标识符,标识开始执行第二层循环 CMP:

MOV A,#01H ;给A赋地址 ADD A,R3 ;A的地址加一 MOV R3,A MOV A,@R3

MOV 0EEH,A ;将累加器A的值送到存储器)0EEH MOV A,R3

SUB A,#1 ;A的地址减一 MOV R3,A MOV A,0EEH

SUB A,@R3 ;比较相邻两个数的大小,在这里即是R3和R3+1

JC NEXT1 ;若进位标识为1,则跳转到NEXT1,即若R3>R3+1,则交换 JMP NEXT2 ;跳转到NEXT2,即不执行交换 END:

JMP NEXT3 NEXT2:

;一次比较结束R3=R3+1,R2=R2-1 MOV A,#01H ADD A,R3 MOV R3,A MOV A,R2 SUB A,#01H MOV R2,A

JZ LOOP1 ;若零标志为1,则跳到LOOP1,即若第二层循环结束,则跳到第一层循环 JMP LOOP2 ;跳到LOOP2,继续第二层的循环 NEXT3: JMP NEXT NEXT1:

;执行交换的代码 MOV A,#01H

19 / 41

计算机组成原理课程设计报告

ADD A,R3 MOV R3,A MOV A,@R3 MOV 0E0H,A MOV A,R3 SUB A,#01H MOV R3,A MOV A,@R3 MOV 0E1H,A MOV A,0E0H MOV @R3,A MOV A,#01H

ADD A,R3 ;A=A+1地址加一 MOV R3,A MOV A,0E1H MOV @R3,A MOV A,R3 SUB A,#01

MOV R3,A ;A=A-1地址减一 JMP NEXT2 NEXT:

;执行输出的代码 MOV A,0F0H MOV R1,A

NEXT4:;汇编标识符 MOV A,#01H ADD A,R0 MOV R0,A MOV A,@R0 OUT;输出 MOV A,R1 SUB A,#01H MOV R1,A JZ OVER

JMP NEXT4;循环跳到NEXT4直到输出所有的排好序的数据 OVER: JMP OVER END

20 / 41

计算机组成原理课程设计报告

1.4.3程序流程图

start 设置初始地址0f0h给R0 , , 设置存储排序数的首地址0f0h 输入要排序的个数为4 输入参加排序的数

把数据个数n=4送给R0,第一个数首地址0f0h给R3 YES If(n==0) NO R1的地址减一 给R2送入R1的地址 R3的地址加一 R3中两个相邻的数相比较 if R3R3+1 Change(R3,R3+1) R2的地址减一 NO If(R2==0) output 21 / 41

YES END 计算机组成原理课程设计报告

1.4.3测试结果

指令集

图(10)

22 / 41

计算机组成原理课程设计报告

图(11)

23 / 41

计算机组成原理课程设计报告

图(12)

未输入数据

24 / 41

计算机组成原理课程设计报告

图(13)

输入数据4,表示有四个要排序的数

25 / 41

计算机组成原理课程设计报告

图(14)

输入第一个要排序的数5

26 / 41

计算机组成原理课程设计报告

图(15)

输入第二个要排的数8

27 / 41

计算机组成原理课程设计报告

图(16)

输入第三个数1

28 / 41

计算机组成原理课程设计报告

图(17)

输入第四个数据3

29 / 41

计算机组成原理课程设计报告

图(18)

实验结束时箭头指在了over

30 / 41

计算机组成原理课程设计报告

图(22)

36 / 41

计算机组成原理课程设计报告

综合设计思考题

实验1.1 数据传送实验/输入输出实验综合思考题

1)控制位EMRD、PCOE、IREN的功能是什么? 答:EMRD:程序存储器EM读信号。

PCOE:将程序计数器PC的值送到地址总线ABUS上。

IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。

2)实验中IN指令的功能是将数据输入到哪个寄存器?输入的数据是什么?本实验的输出是如何实现的?

答:IN指令是将端口IN内容送入A寄存器; 输入的数据是从01H存储单元取出的数据; 输出是将A寄存器中的内容送到OUT端口。

3)在微程序控制方式中,uM的主要功能是什么?结合本实验简述其工作原理。

答:uM是微程序存储器,用来存储微程序内容,使能端标识符1为无效,0为有效,总共有24个控制信号来确定微指令的内容,实现微程序的操作功能。

4)在微程序执行过程中,PC和uPC的功能是什么?它们是怎样工作的?

答:PC为程序计数器,uPC微程序计数器。PC指出下一条机器指令的地址,uPC指出下一条微指令的地址。PC的地址送EM中,找到EM中对应地址的内容,EM的内容送到uPC,找到第一条微指令的地址。

实验1.2 数据运算实验(加/减/与/或)综合思考题

1)什么是直通运算?在本实验中,哪些地方用到了直通运算?

答:直通运算是将累加器A中的数据直接输出,不经过运算和移位。在本实验中,将运算结果传回A的过程是直通的 。

2)MAR在本实验中的功能是什么?如何测试?

答:MAR的功能是存储存储单元的地址,实验中用到间接寻址的地方都是先将地址打入到地址寄存器中,然后找到存储器中相应的存储单元。通过单微指令的操作进行可以看到数据的流向。

3)执行运算指令ADDC、SUB、AND、OR是否会影响标志位?各影响了哪些标志位? 答:ADDC、SUB会影响标志位,影响了进位标志位。 4)结合本实验说明PC和uPC的功能和工作原理。

37 / 41

计算机组成原理课程设计报告

答:PC是程序计数器,指出下一条指令的地址;uPC是微程序计数器,指出下一条微指令的地址;在程序的取址阶段,PC通过增量或断定方式得到,第一条微指令的地址由指令的内容决定。

5)总结本实验中所使用的模型机寻址方式。是否可以自行设计一个实验完成一些简单的数据传送、赋值、运算、数据传送、赋值、再运算??

答 :本实验依次用到了寄存器直接寻址,寄存器间接寻址,立即寻址,存储器直接寻址。实验代码如下: AGAIN:

MOV A,#01 //赋值

MOV R0,A //数据传送 SUB A,R0 //运算 JMP AGAIN END

实验1.7 指令流水实验综合思考题

1)什么是指令流水?指令流水有什么特点?

答:流水指令是指指令并行执行,指令流水的特点是速度快,效率高。

2)指令流水的理论和实验基础是什么?结合本实验说明。

答:实验中的指令流水操作,就是在微指令执行的过程中,在T1状态,如果ABUS和IBUS空闲,则可以利用这个空闲来进行预取指令,让ABUS、IBUS和DBUS并行工作。

3)在本实验中是如何实现指令流水的?你通过什么方法来测试?

答:本实验是将取址指令和其他指令并行执行来实现指令流水的,通过下面的单微指令操作的数据通路图可以看到。

助记符 状态 微地址 微程序 数据输出 数据输入 地址输出 uPC PC T0 00 CBFFFF 指令寄存器IR PC输出 写入 1

MOV A,#12 T1 7C C7FFF7 存储器值EM 寄存器A PC输出 1 1 T0 7D CBFFFF 指令寄存器IR PC输出 写入 1

MOV A,R0 T0 70 CBF7F7 寄存器值R? 寄存器A,指令寄存器IR PC输出 写入 1 MOV A,@R0 T2 74 FF77FF 寄存器值R? 地址寄存器MAR 1 T1 75 D7BFF7 存储器值EM 寄存器A MAR输出 1 T0 76 CBFFFF 指令寄存器IR PC输出 写入 1

MOV A,01 T2 78 C77FFF 存储器值EM 地址寄存器MAR PC输出 1 1 T1 79 D7BFF7 存储器值EM 寄存器A MAR输出 1 T0 7A CBFFFF 指令寄存器IR PC输出 写入 1

IN T0 C0 CBFF17 用户IN 寄存器A,指令寄存器IR PC输出 写入 1

38 / 41

计算机组成原理课程设计报告

OUT T0 C4 CBDF9F ALU连通 指令寄存器IR PC输出 写入 1

4)本实验中控制信号OUTEN、X2X1X0、S2S1S0起到了怎样的控制作用?本实验中系统是如何实现取指令及取下条指令的?

答:OUTEN控制是将累加器A的数打入到OUT端口中; X2X1X0确定数据是否移位还是直通输出; S2S1S0确定ALU执行哪种运算;

通过PC自增的方式取址和确定下一条指令。

5)你认为本实验中的指令流水效率怎样?如何评价?

答:本实验的指令之间要求用到的总线不同再能并行操作,还不是很好。

6)结合本实验,你认为一个指令流水线的效率与哪些因素有关?通常可以通过哪些方法优化?

答:资源相关,和控制相关。可以使用多处理器,还有就是多条共享的总线。

39 / 41

计算机组成原理课程设计报告

第2部分 个人报告

1.实验1.1思考题 2.设计任务一

3.设计任务二 实验7-9 4.参与设计任务四

1.完成ppt

2.完成1.2思考题

3.设计任务二 实验1-3 4.设计任务三

5.参与设计任务四

1.完成报告

2.完成1.7思考题

3.设计任务二 实验4-6 4.参与设计任务四

2.1组长个人报告

2.2组员1个人报告

2.3组员2个人报告

40 / 41

计算机组成原理课程设计报告

参考文献

[1]白中英.计算机组成原理(第五版 立体化教材).北京:科学出版社,2008

致谢

41 / 41

本文来源:https://www.bwwdw.com/article/defr.html

Top