模型计算机的设计论文讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1模型机设计方案及步骤 (2)
1.1设计方案 (2)
2指令格式 (4)
2.1指令格式 (4)
2.2指令集 (5)
3数据通路 (6)
4指令操作流程 (6)
5微操作控制信号的逻辑表达式 (14)
6微信号简化 (18)
7微信号电路图 (18)
8模型机微控制信号连线图 (19)
9总结与体会 (20)
10附录 (21)
模型计算机的设计
1模型机设计方案及步骤
1.1设计方案
本次课程设计主要任务是设计一模型计算机并利用组合逻辑控制器或微程序进行设计,且至少实现4条CPU指令(从ADD,SUB,XOR,AND,OR中选择)。
在此我选择使用组合逻辑控制器(硬连线)方式设计,并实现ADD,SUB,AND,OR四条指令。
四条指令意义如下:
ADD数学计算两个数的和
SUB数学计算两个数的差
AND逻辑运算两个数的并
OR逻辑运算两个数的或
对于以上设计的理由如下:
1.对于方式的选取我们选取硬连线实现,因为此次我们设计的模
型机较为简单,而且采用元件较少,我们采用硬连线可以使用最少的元件从而取得较高的操作速度。
2.对于字长的选取,多方面考虑后,基于资源和设计的需要可以采用八位字长。由于共有四条指令,为了满足选取所以选取其中2位作为OP操作,由于在对数的操作中不仅涉及到对数据的存储还会牵连到指令的操作,在此指令的操作有四条指令所以必须有四个储存单元,加上存储数据的一个单元,一共需要五个单元,再由于计算机存储字长值的限制,选不出5个存储单元的字长。所以至少为3位,其中给出的是8个存储单元,对于寄存器,只有一个数据需要存储,所以1位就行了,但是考虑到计算机存储的限制,所以我们可以把后3位扩展给它。所以共有8位。其中3位表示内存单元地址,用3位表示寄存器编号。加上两个必须的寄存器,其中寄存器有R0、R1、PC、IR。
3.对于内存的选取我们在实际过程中买不到这么小的内存,所以实际操作中可以将前几位置零(接地),用后几位表示即可。
最终根据以上理由我们规定它有8位的数据线D[7:0],执行4条指令,每条指令的长度为1byte,因而它有6位的地址线A[5:0] 。它可以存取的存储器为64byte(1byte=8bits)
我们为该CPU定义以下寄存器:
➢地址寄存器 AR[5:0],保存6位地址。
➢程序计数器 PC[5:0],保存下一条指令的地址。
➢数据寄存器 DR[7:0],接受指令和存储器来的数据。
➢指令寄存器 IR[1:0],存储指令操作码。
1.2设计步骤
1)定义指令集以及指令格式;
2) 构造数据通路(含控制门和微操作);
3) 根据CPU的结构,画出指令操作流程图;
4) 编排指令操作时间表,即把指令操作流程图中的微操作落实到不同的CPU周期和节拍中;
5) 根据全部指令的指令操作流程,写出每个微操作控制信号的逻辑表达式;
6) 综合、化简微操作逻辑式;
7) 用与、或、非等门电路画出产生微控制信号的逻辑控制电路。【2】2指令格式
2.1指令格式
由以上分析可知由于指令总数为4 ,所以用2位可以表示所有指令,
采用二地址指令,指令格式为:
7 6 5 3 2 0
OP(2位)A1(3位)A2(3位)
2.2指令集
具体详解如下:
7 6 5 3 2 0
OP(2位)A1(3位)A2(3位)
00----ADD
01----SUB
IR7-IR6
10----AND
11----OR
用指令中的3位表示内存单元地址,用3位表示寄存器编号,000表示R0,001表示R1。
其中A S为储存器地址,A R为寄存器地址。
其中ADD的指令格式为:
00 A S(3位)A R(3位)
SUB的指令格式为:
01 A S(3位)A R(3位)
AND的指令格式为:
10 A S(3位)A R(3位)
OR的指令格式为:
11 A S(3位)A R(3位)
由上可知其助记,功能如下:
ADD A S A R A S+A R——>A S
SUB A S A R A S-A R——>A S
AND A S A R A S&A R——>A S
OR A S A R A S | A R——>A S
3数据通路
4指令操作流程
时序控制:
采用同步控制方式,用定长指令周期方案。采用3个CPU周期分别是IF、
DOF、EXE,每CPU周期有4个等宽度的节拍电位,每个节拍电位有1个节拍脉冲
指令执行流程:
(A).指令ADD R0,(R1)指令(RS型指令)的执行流程
•指令功能:(R0)+((R1))→((R1))
•即把R0 的内容为地址的数据和R1的内容为地址的地址的单元的数据相加,结果放在(R1)所指向的内存单元中
1) 取指周期IF的执行流程
START
IF
T0:PC→BUS,BUS→AR,Clear,BUS→LA,1→C0,Add T1:READ, ALU→BUS, BUS→PC
T2:DR→BUS, BUS→IR
T3:1→DOF
2) 取目的操作数周期DOF 的执行流程
DOF
T0:RI->BUS,BUS->LA
T1:IR_Addr->BUS,BUS->AR
T2:READ
T3:DR->BUS,BUS->LB,1->EXE
3) 执行周期EXE 的执行流程
EXE
T0:Add
T1:ALU->BUS,BUS->Ri
T2:NOP(空操作)