计算机组成原理课程设计实习报告.doc
时间:2022-10-09 00:30:00
计算机原理课程设计实习报告
题目一
微指令的设计:控制字段是微指令需要有效的开关和无效的01代码排列,即它决定实现什么功能。判别字段就是完成一些特殊的任务,比如P0和P参与选择微程序的分支,P判断是否有中断。下地址字段是给出下个微指令的微指令存储器中位置,一遍顺利执行下一条微指令,因为一条机器指令是由若干条微指令完成的。以下是微指令的具体格式:
微指令格式
简要即:
控制字段
判断测试字段
下地址字段
二. 添加新的指令系统:
指令一:异或指令 XOR RD,RS:(RS)异或(RD)→(RD),微指令框图如下
SW-BUS#,M4=1LDR4,LDPC
SW-BUS#,M4=1
LDR4,LDPC
M3=0,LDAR2,CERLDIR,PC-INC
M3=0,LDAR2,CER
LDIR,PC-INC
M1=0,LDDR1M2=0,LDDR2
M1=0,LDDR1
M2=0,LDDR2
ALU=A@BALU-BUS,LDER
ALU=A@B
ALU-BUS,LDER
WRD
WRD
指令二:寄存器中的数据加1指令:(RS) 1→(RS). 微指令框图如下:
RS-BUS#M4=1
RS-BUS#
M4=1
LDR4
LDPC
PC-INC
LDIARTJ
LDIAR
TJ
IAR-BUS#LDER
IAR-BUS#
LDER
WRD
WRD
0F
三.分析指令系统的特点和寻址方法:
指令系统是计算机所有指令的集合。指令系统的特征通过特定的指令反映出来。一个指令的功能取决于几个微指令。指令可以分为操作码字段和地址码字段,类似于微指令格式。操作代码字段显示了指令的具体功能。该段的机器代码由控制器编译,产生多个微指令一起完成并连续运行,以完成指令的具体功能。地址代码字段是指内存或寄存器中参与指令的数据的地址,可以直接或间接。
有两种方法可以找到指令,搜索和跳跃搜索。操作数量的搜索方式较多,包括隐含搜索、立即搜索、直接搜索、间接搜索、寄存器搜索和寄存器间接搜索、相对搜索、基地搜索、变更搜索、块搜索等。
四、数据通路原理图:
五.十条标准指令的执行步骤以及在执行过程中的运算结果:
微指令功能及其格式
测试程序如下表所示
运行过程如下:
指令(地址)
执行过程的微指令
执行后的结构
LDA R0,[R2](00H)
14 和35微指令
R0=24H
LDA R1[R3](01H)
14和35微指令
R1=83H
ADD R0,R1(02H)
10和3B微指令
R0=107H
JC 5(03H)
19和1F微指令
地址转到09H
JMP[R1](09H)
18微指令
地址转到01H
AND R2,R3(04H)
13和38微指令
SUB R3,R2(05H)
11和3A微指令
STA R3 [R2](06H)
14和35微指令
MUL R0,R1(07H)
12和39微指令
STP(08H)
16微指令
测试结果如下表所示
题目二
1.实验目的:设计程序完成y=a*x*x b*x c求解.
二、微程序设计:
设计思路:要想找到这个代数值,首先要分割。一般分为三部分:先求出a*x*x值,再求出b*x然后加上它们。第一步是将参与计算的数据存储在四个寄存器中a*x继续存储值R1中,再用R1中的值以x,乘积存储在R1中。再将b与x乘坐,乘积放置R2中。然后执行两次加法操作。R1和R存储在2中的数相加存储R1中,然后将其与c相加的即时结果存储在R1中。然后读出R1中值即可。根据这样的设计思路,充分利用四个寄存器,得出以下程序:
Y=ax^2 bx c 令R0=x,R1=a,R2=b,R3=c
Y=a*x*x b*x c 步骤如下:
Mul:
1.a*x->R1MUL R1,R0
2.a*x*x R1*x-> R1MUL R1,R0
3.b*x-> R2 MUL R2,R0
ADD:
1.a*x*x b*x R1 R2—》R1ADD R1,R2
2.a*x*x b*x c ADD R1,R3
将程序翻译成16进制代码,微指令地址及其代码
函数
Y=ax*x b*x c
赋值
R0=x(2)