16位CPU综合设计 计算机组成原理课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16位CPU综合设计计算机组成原理课程设计
西安科技大学高新学院
计算机组成原理课程设计
题目16位CPU综合设计
专业及班级计算机科学与技术06级
组长卢燕妮
成员赵雯、徐静蕾、刘佳、王大伟、焦
彤
指导教师温乃宁日期 2009年1月
目录
1 教学目的、任务与实验设备 (1)
1.1 学习目的 (1)
1.2 学习任务 (1)
2 CPU指令系统的设计 (1)
2.1 指令格式 (1)
2.2 寻址方式 (2)
2.3 指令类型 (4)
3 运算器的设计 (8)
3.1 SN74181概述 (8)
3.2 ALU的组成 (10)
4 数据通路结构的建立 (11)
4.1 部件设置 (12)
4.2 总线与数据通路结构 (12)
4.3 各类信息的传送路径 (12)
4.4 微命令的设置 (14)
5 组合逻辑控制器的设计 (15)
5.1 功能描述和结构 (15)
5.2 输入和输出端口定义 (15)
5.3 指令译码器 (16)
5.4 时序发生器 (20)
5.5 编码器 (21)
5.6 微操作信号发生器 (24)
6 下载调试和验证 (24)
6.1 实验接线 (24)
6.2 连接实验线路,仔细查线无误后接通电源。
(25)
6.3 写微程序和程序 (25)
6.4 运行程序 (28)
7 设计总结及体会 (29)
8 参考文献 (29)
1 教学目的、任务与实验设备
1.1 学习目的
从计算机的基本概念、基本组成及基本功能着手,对计算机的各个基本组成部件及控制单元的工作原理进行学习,掌握有关软、硬件的基本知识,尤其是各基本组成部件有机连接构成整机系统的方法,为培养自身对计算机系统的分析、设计、开发和使用能力打下基础。
通过本门课程的学习,能在自己的脑中建立计算机的整机概念。
1.2 学习任务
掌握数字化信息编码及运算方法,运算器的逻辑构成;熟悉半导体存储器、磁表面存储器基本原理,掌握存储体系构成;掌握寻址和指令系统;熟悉中央处理器组成、时序控制方法,掌握控制器设计技术;熟悉系统总线和I/O系统。
⑴设计
根据课程设计要求,分别建立CPU的指令系统,利用运算器设计实验结果,设计组合逻辑控制器,设计数据通路结果框图等。
⑵调试
把设计结果下载到实验版上,通过执行指令对设计进行验证
⑶实验设备
① PC机一台
② DVCC试验箱
③各种实验多需要的跳线,连接线等
2 CPU指令系统的设计
2.1 指令格式
模型机采用定长的指令格式,每条指令16位字长,占据一个存储单元。
由于指令字长有限,采用寄存器寻址,即指令格式给出寄存器号,根据不同的寻址方式形成相应的地址。
模型机的指令格式有三类:
(1)双操作数值令格式
15 12 11 9 8
6 5 3 2 0
目的寄存器源寄存器
四位操作码可以表示16种操作。
(2)单操作指令格式
15 12 11 6 5
3 2
目的
(3)转移指令格式
15 12 11 9 8 6 5
4 3 2 1 0
转移地址转移条件
2.2 寻址方式
模型机的特点是指令中直接给出寄存器编号,供CPU访问。
可编程的寄存器包括寄存器R0 ~ R3,堆栈指针SP,程序计数器PC,程序状态字PSW,针对同一种寻址防护四编码,指定不同的寄存器,派生出多种不同的寻址方式。
模型机的常用的寻址方式:
表1
在正式编码中就可以用该表中的类型来指定相应的寻址方式。
2.3 指令类型
根据模型机的指令格式,操作码有4位,线设置了15种指令(其中两种指令共用一个操作码),余下的两种操作码组合可以供扩展。
按操作数的多少,把模型机的指令分为双操作数指令和单操作数指令两大类;按指令本身的功能,把这些指令分为传送,运算,转移等3类。
模型机的指令类型如下表:
表2
⑴传送指令
MOV可以采用不同的寻址方式来预置寄存器或者存储单元,实现见存期和寄存器之间,寄存器与存储单元,各存储单元之间的信息传送,还可以实现堆栈操作POP、PUSH。
⑵双操作数指令
ADD、SUB、AND、OR、EOR是带进位的加和减。
其他的是逻辑运算指令,可用来实现位检测,位清除,位设置,位修正等操作。
⑶单操作数指令
有COM、NEG、INC、DC、SL、SR他们都是单操作数指令,可以实现对操作数的加1减1等操作。
⑷程序控制指令
①转移指令JMP
JMP是用来实现无条件转移和条件转移的。
②返回指令RST
RST指令是JMP指令的一个特例,但是RST只能采用自增性寄存器间接寻址表明转移地址,并且指定寄存器为SP,即寻址方式(SP)+,则从堆栈中取出返回地址,然后SP+1。
③转子指令JSP
执行JSP指令时,首先将返回地址压栈,然后按照寻址方式找到转移地址,把t它送
PC中。
综上,得到我们的设计指令为:
⑴LDR Ri,D
格式7 4 3 2 1 0
功能:Ri←M(D)
(2)STR Ri,D
格式7 4 3 2 1 0
功能:M(D)←(Ri)
(3)ADD Ri,Rj
3 2 1 0
格式7 4
(4)SUB Ri,Rj
3 2 1 0
格式7 4
(5)AND Ri,Rj
功能:Ri ←(Ri)∧(Rj)
(6)OR Ri,Rj
格式7 4 3 2 1 0
功能:Ri ←(Ri)∨(Rj)
(7)MUL Ri,Rj
格式7 4 3 2 1
(8)转移指令
格式7 4 3 2 1 0
功能:条件码00 无条件转移PC ← D
01 有进位转移PC ←
D
10结果为0转移PC ←D
11结果为负转移PC ←D
⑼IN R i,M j
其中M j为设备地址,可以指定四种外围设备,当M j=01时,选中实验箱的二进制代码开关。
功能:R i←(M j)
⑽OUT R i,M j
格式7 4 3 2 1
功能:(M j)←R i
⑾HALT(停机指令)
格式7 4 3 2 1 0
功能:用于实现停机。
3 运算器的设计
运算部件是CPU内部的重要组成部分,它起到至关重要的作用。
在此,我们暂不涉及运算器的具体设计,仅是利用以往实验所得到的结果,利用已有的芯片来完成我们需要的运算功能。
在此我们借用SN74181,利用它来完成我们需要的功能。
3.1 SN74181概述
1、如下所示。
图1SN74181的引脚框图
2.引脚功能:
1)A0~A3:4位二进制数A
2)B0~B3:4位二进制数B
3)F0~F3:运算结果
4)S0~S3:状态控制信号,控制运算类型,控制16中运算。
5)M:运算选择M=1 逻辑运算;M=0 算术运算。
3、SN74181功能表
表3
逻辑运算M=1 算术运算M=0 工作方式选择
S3S2S1S0
0000 A’A减1
0001 (AB)’AB减1
0010 A’+B AB’减1
0011 逻辑1 全1
0100 (A+B)’A加(A+B’)
0101 B’AB加(A+B’)
0110 (A○+B)’A加B’
0111 A+B’A+B’
1000 A’B A加(A+B)
1001 A○+B A加B
1010 B AB’加(A+B)
1011 A+B A+B
1100 逻辑0 0
1101 AB’AB加A
1110 AB AB’加A
1111 A A
3.2 ALU的组成
通过74181可以形成相应的进位逻辑,组成相应的ALU。
(1) 组间串行进位的ALU
图1
(2) 组间并行进位的ALU
图2
运算器的组织如图:
图3
4 数据通路结构的建立
综合以上的相关知识,我们知道,总体结构的设计的内容包含确定各种不见的设置以及它们之间的数据通路结构。
在此基础上,就可以拟出各种信息传送路径,以及为实现这些传送所需要的命令。
数据通路结构了如图:
图4
4.1 部件设置
⑴寄存器
①可编程寄存器
R0(000),R1(001),R2(010),R3(011),PSW(101),SP(100),PC(111)。
它们都设置3位编号,供CPU变成访问。
②暂存器C,D
取源操作数地址或者源操作数时,使用寄存器C,读目的操作数地址或着谜底操作数时,使用寄存器D。
③指令寄存器IR
为了提高取指令的速度,把指令从主存读出以后,经数据总线直接置入IR。
④与主存的借口寄存器MAR,MDR
CPU访问主存的地址由地址寄存器MAR提供,而MDR则用来暂存CPU与主存之间要交换的数据,其实就是一个中转效果。
⑵运算部件
① ALU部件
ALU部件采用SN74181。
②输入逻辑
输入有两个选择器A,B,它们都有八选一功能。
通用寄存器和暂存器既可以送往A,也可以送往B,但是PC和SP只能送往A,PSW和MDR只能送往B。
ALU输出设置一个移位器,
③输出逻辑
ALU输出设置一个移位器,利用对应位的连接关系实现直传,左移,右移。
4.2 总线与数据通路结构
⑴内总线
单向内总线实现数据分配,寄存器在逻辑上分立。
⑵系统总线
CPU通过系统总线也外界相连,但是为了简化,让CPU直接连到总线上,不考虑信号的转换和扩展。
4.3 各类信息的传送路径
⑴指令信息的传送
指令由主存读出,送人指令寄存器IR:M → 数据总线→ IR。
⑵地址信息的传送
地址信息包还指令地址,顺序执行的后继指令地址,转移地址和操作数地址等四类。
①指令地址
指令地址从PC取出,送人MAR:PC →选择器→ A → ALU → 移位器→ 内总线→ MAR。
②顺序执行的后继指令地址
现行指令地址PC + 1,得到后继指令地址:PC → A → 移位器内总线→ PC。
③转移地址
按寻址方式形成转移地址。
并送入MAR。
同样,传送路径也因寻址方式而异。
如:
寄存器寻址:R i → A/B → ALU → 移位器→ 内总线→ PC
寄存器间址:Ri → A/B→ ALU→ 移位器→ 内总线→ MAR → 地址总线→ M;
M → 数据总线→ MDR→ B→ ALU → 移位器→ 内总线→ PC。
④操作数地址
按寻址方式形成转移地址。
并送入MAR。
同样,传送路径也因寻址方式而异。
如:
寄存器间址:R i → A/B → ALU → 移位器→ 内总线→ MAR
变址:由于形式地址放在紧跟现行指令的下一存储单元中,并由PC指示,所以先访问存取出形式地址,暂存于C,在进行变址计算。
取形式地址:PC → A → ALU →移位器→ 内总线→MAR → 地址总线→ M;
M →数据总线→ MDR → B → ALU → 移位器→ 内总线→ C。
做变址计算:变址寄存器→ A → ALU → 移位器→ 内总线→ MAR。
⑶数据信息的传送
①寄存器→寄存器
Ri → A/B → ALU → 移位器→ 内总线→ Rj。
②寄存器→主存
Ri → A/B→ ALU → 移位器→ 内总线→ MDR → 数据总线→ M。
③主存→寄存器
M → 数据总线→ MDR → B → ALU → 移位器→ 内总线→ Rj。
④寄存器→外设
R i → A/B → ALU → 移位器→ 内总线→ MDR → 数据总线→ I/O
⑤外设→寄存器
I/O接口→ 数据总线→ MDR → B → ALU → 移位器→ 内总线→Rj.
⑥主存→主存
主存单元的内容搬迁似乎只需要通过MDR作为中间缓冲即可,但在寻找目的单元地址时有可能采取间址方式或其他更复杂的寻址方式,即需要从主存单元中读取目的地址,且将读得的目的地址经MDR传送到MAR,所以,一般需分成两个阶段实现主存各单元间的传送,先将读出数据暂存于C中,形成目的地址后再将C内容MDR写入目的单元。
M(源单元) → 数据总线→ MDR → B → ALU → 移位器→ 内总线→ C; C → A/B → ALU → 移位器→ 内总线→ MDR → 数据总线→ M。
⑦主存←→外设
有两种方式实现主存与外围设备间的数据传送。
一种方式是由CPU执行通用传送指令,以某种寻址方式指明主存单元与外围接口寄存器的地址,从而实现主存与外围设备间的传送。
这样的传送一般以MDR为中间缓冲,以便与其他传送指令的执行流程相吻合。
即:
M ←→ 数据总线←→ MDR
MDR ←→ 数据总线←→ I/O接口
另一种是DMA方式,即CPU放弃系统总线,由DMA控制器控制,通过数据总线实现主存与I/O设备之间的直接传送,不动用CPU中的寄存器与暂存器。
即:M ←→ 数据总线←→ I/O接口
4.4 微命令的设置
在全面分析了各类信息的传送路径之后,对指令将如何执行就有了进一步的了解,且为时序的安排与相应微命令的设置打下了基础。
以上传送过程包含了两大类操作:内部数据通路操作和外部访存操作。
⑴数据通路操作
① ALU输入选择
如:R0→ A
② ALU功能选择
如:微命令S3~S0、M、C0。
根据它们的组合选择ALU的运算功能。
③移位器功能选择
如:微命令DM,左移,右移
④结果分配
如:打入脉冲CPR0、CPMAR……
⑵访存操作
所需要的命令如下:
EMAR、R、W、SMDR、SIR
5 组合逻辑控制器的设计
5.1 功能描述和结构
⑴功能描述
根据现行指令、PSW、控制台命令、IO设备接口状态、中断请求、时序系统等产生所需微命令;控制整个CPU的运行。
⑵结构
-指令译码器
-时序发生器
-编码器
-微操作信号发生器
5.2 输入和输出端口定义
⑴输入
RST /*复位信号
CONSOL /*控制台输入(键盘);
IO /*IO设备接口;
PSW /*寄存器PSW;
TIM_QUE /*时序系统(三级时序);
IR_CODE /*指令输入(16 位);
⑵输出
READ /*读存储器;
WRITE /*写存储器;
CPR0 /*寄存器R0的打入脉冲
CPR1 /*寄存器R1的打入脉冲
CPR2 /*寄存器R2的打入脉冲
CPR3 /*寄存器R3的打入脉冲
CPC /*寄存器C的打入脉冲
CPD /*寄存器D的打入脉冲
CPPC /*寄存器PC的打入脉冲
CPSP /*寄存器SP的打入脉冲
CPMBR /*寄存器MBR的打入脉冲
CPMAR /*寄存器MAR的打入脉冲
CPPSW /*寄存器PSW的打入脉冲
SMBR /*寄存器MBR的置入端;
SIR /*寄存器R1的置入端;
EMAR /*寄存器MAR的使能端;
SELA3 /*选择器A的选择控制(3位)
SELB3 /*选择器B的选择控制(3位)
CON_ALU6 /*ALU的功能控制(6位)
SHIFT_REG2 /*移位器的控制(2位)—左移、右移、直传(DM);
5.3 指令译码器
⑴说明
由于译码后输出较多,所以按操作类型(IR15—IR12),源寄存器号(IR11—IR9),源寻址方式(IR8--IR6),目的寄存器号(IR5—IR3),目的寻址方式(IR2—IR0)分为五个译码器。
⑵操作类型码
输入:IR15,IR14,IR13,IR12
输出:MOV,ADD,SUB,AND,OR,EOR,COM,NEG,INC,DEG,SL,SR,JMP_RST,JSR
功能表:
表4
⑶源寄存器号译码 U_SREG_DECOD
输入:IR11,IR10,IR9
输出:S_R0,S_R1,S_R2 ,S_R3,S_SP,S_PSW ,S_PC
功能表:
表5
⑷源寄存器寻址方式译码 U_SADDR_DECOD
输入:IR8,IR7,IR6
输出:S_ADDR_REG , S_ADDR_INDI , S_ADDR_DECR , S_ADDR_INCR , S_DOUB_INDI , S_ADDR_V ARI , S_ADDR_SKP
功能描述表:
表6
⑸目的寄存器号译码
输入:IR11,IR10,IR9
输出:S_R0,S_R1,S_R2 ,S_R3,S_SP,S_PSW ,S_PC 功能表:
表7
⑹目的寄存器寻址译码
输入:IR8,IR7,IR6
输出:S_ADDR_REG , S_ADDR_INDI , S_ADDR_DECR , S_ADDR_INCR , S_DOUB_INDI , S_ADDR_V ARI , S_ADDR_SKP
功能描述表:
表8
5.4 时序发生器
⑴说明:
模型机的时序系统采取三级时序(工作周期,时钟周期,工作脉冲)
⑵工作周期
模型机设置六种工作周期状态,用六个周期状态触发器作为它们的标志。
某一时期内只有其中一个周期状态触发器为1,指明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据。
由于暂时不考虑DMA,所以只设置五个工作周期。
○1取指周期FT
○2源周期ST
○3目的周期DT
○4执行周期ET
○5中断周期IT
不同类型指令所需的工作周期可能不同。
在每一工作周期结束前,判断下一个周期状态是什么,并为此准备好进入该周期的条件,如发出电位信号ST4->DT0等,到本周期结束的时刻,实现周期状态的定时切换。
⑶时钟周期(节拍)
以主存访问周期所需时间为时间周期的宽度。
一个工作周期包含若干节拍,根据不同指令的需要,节拍数可变。
设计一个时钟周期计数器T,从T=0开始进入一个计数循环,表示进入新的工作周期。
如果本工作周期还需延长,则发T+1,计数器T将继续计数,开始新的节拍。
如果本工作周期应当结束,则发命令T=0。
计数器T的状态进经译码产生节拍状态,如:T0,T1,T2…等。
作为分步操作的时间标志。
⑷工作脉冲
模型机在每个时钟周期的末尾发一个工作脉冲P,作为各种同步脉冲的来源。
工作脉冲P的前沿作为打入寄存器的定时,标志一个数据通路操作的完成。
P的后沿作为周期切换的定时,在次时刻对时钟周期计数器T计数、打入新的工作周期状态。
5.5 编码器
⑴输入选择器A的控制信号的编码
输入:R0_TO_A , R1_TO_A , R2_TO_A ,R3_TO_A , C_TO_A , D_TO_A , PC_TO_A , SP_TO_A;
输出:SEL_A
功能描述表:
表9
⑵输入选择器B的控制信号的编码
输入:R0_TO_B , R1_TO_B , R2_TO_B , R3_TO_B , C_TO_B , D_TO_B , PSW_TO_B , MBR_TO_B;
输出:SEL_B
功能表:
表10
⑶ ALU的控制信号编码
输入:A,B,A_ADD_B, A_SUB_B, A_COM,B_COM, A_ADD_1, A_SUB_1, A_NEG, A_AND_B, A_OR_B, A_EOR_B;
输出:ALU_CON6=S3S2S1S0 & M & C0
功能描述表:
表11
5.6 微操作信号发生器
⑴输入
源寄存器、目的寄存器的译码和它们的寻址方式译码后的输出、指令码译码后的输出、时序信号。
⑵输出
打入各个寄存器的打入脉冲信号,对输入选择器的操作信号,指令寄存器、地址寄存器、数据缓冲寄存器的使能信号等。
⑶实现方式
每个输出都是多个输入的逻辑运算(与或非)的结果。
6 下载调试和验证
综合以上的设计结果,得到如下数据框图:
图5
根据以上的数据通路框图设计电路连接对设计结果进行验证。
6.1 实验接线
a、跳线器J1~J12全部拨在右边(自动工作方式);
b、跳线器J16、J18、J23、J24全部拨在左边;
c、跳线器J15、J19、J25全部拨在右边,跳线器J13、J14拨在左边;
d、跳线器J20~J22、J26、J27连上短路片;
e、UJ1连UJ2,JSE1连JSE2,SJ1连SJ2;
f、MBUS连BUS2;
g、REGBUS连BUS5;
h、PCBUS连EXJ2;
i、ALUBUS连EXJ3;
j、ALUO1连BUS1;
k、EXJ1连BUS3;
l、ALUO2连BUS4;
m、IJ1连IJ2。
6.2 连接实验线路,仔细查线无误后接通电源。
6.3 写微程序和程序
表12
手动写微程序:
①写微程序
A. "编程开关"置为"写入"状态。
B. "运行控制"开关置为"运行","运行方式"开关置为"单步"状态。
C. 用二进制模拟开关UA0~UA5置6位微地址,UA0~UA5的电平由LK0~LK5显示,高电平亮,低电平灭。
D. 用二进制模拟开关MK1~MK24置24位微代码,24位微代码由LMD1~LMD24显示灯显示,高电平亮,低电平灭。
E. 按动"启动运行"开关,启动时序电路,即可将微代码写入到E2PROM 2816的相应地址单元中。
F .重复C-E步骤,将上表的微代码全部写入E2PROM 2816中。
②读微程序
A. 将"编程开关"设置为"读"状态。
B. "运行控制"开关置为"运行","运行方式"开关置为"单步"状态。
C. 用二进制模拟开关UA0~UA5置6位微地址。
D. 按动"启动运行"开关,启动时序电路,读出微代码,观察显示灯LMD1~LMD24的状态,检查读出的微代码是否与写入的相同,如果不同,则将"编程开关"置为"写入"状态。
重新执行①即可。
③单步运行
A. "编程开关"置于"运行"状态。
B. "运行控制"开关置为"运行","运行方式"开关置为"单步"状态。
C. 系统总清,即"总清"开关拨0→1。
使微地址寄存器U14~U16清零,从而明确本机的运行入口微地址为000000(二进制)。
D. 按动"启动运行"开关,启动时序电路,则每按动一次,读出一条微指令后停机,此时实验机上的微地址显示灯和微程序显示灯将显示所读出的一条指令。
注意:在当前条件下,可将6芯排座"JSE1"和"UJ2"相连,可通过强置端SE1~SE6,人为设置微地址,从而改变下一条微指令的地址。
设置方法如下:先将微地址开关置"1",再将UJ1上的排线换插到"JSE1",然后将某个或几个二进制开关置为"0",相应的微地址位即被强置为"1",从而改变下一条微指令的地址。
④连续运行
A. 将"编程开关"置为"运行"状态。
B. "运行控制"开关置为"运行","运行方式"开关置为"连续"状态。
C. 系统总清,即"总清"开关拨0→1。
使微地址寄存器U14~U16清零,从而明确本机的运行入口微地址为000000(二进制)。
D. 按动"启动运行"开关,启动时序电路,则可连续读出微指令。
手动方法写代码程序(机器指令)步骤如下:
通过上一步将机器指令对应的微代码正确地写入E2ROM 2816芯片后,再进行机器指令程序的装入和检查。
A. 将"编程开关"置"运行"位置,"运行方式"开关置"单步"位置。
B. 拨动总清开关(0→1),微地址寄存器清零,程序计数器清零。
然后使控制开关SWC、SWA开关置为"0 1",按动一次"启动运行"开关,微地址显示灯LUA0~LUA5显示
"001001",再按动一次"启动运行"开关,微地址显示灯LUA0~LUA5显示"001100",此时数据开关的内容置为要写入的机器指令,再按动一次"启动运行"开关,即完成该条指令的写入。
若仔细阅读微程序流程,就不难发现,机器指令的首地址只要第一次给入即可,PC会自动加1,所以,每次按动"启动运行"开关,只有在微地址灯显示"001100"时,才设置内容,直到所有机器指令写完。
C. 写完程序后须进行检验。
拨动总清开关(0→1)后,微地址清零,PC程序计数器清零,然后使控制开关SWC、SWA为"0 0",按动"启动运行"开关,微地址灯将显示"001000",再按"启动运行"开关,微地址灯显示为"001010",第三次按"启动运行"开关,微地址灯显示为"111011",此时总线数据显示灯LZD0~LZD7显示为该首地址的内容,再次按动"启动运行"开关,微地址灯显示为"001000",此时,2位数码管显示的内容即为RAM中的数据,不断按动"启动运行"开关,可检查后续单元内容。
注意:每次仅在微地址灯显示为"001000"时,2位数码管显示的内容才是相应地址中的机器指令内容。
②联机读/写微程序和程序
用联机软件的装载功能将16进制格式文件(文件名为C8JHE3)装入实验机即可(详细操作见联机软件的README)。
6.4 运行程序
①单步运行程序
A. "编程开关"置"运行"状态,"运行方式"开关置为"单步"状态,"运行控制"开关置为"运行"状态。
B. 拨动总清开关(0→1),微地址清零,PC计数器清零,程序首地址为OOH。
C. 按动启动"运行"开关,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
②连续运行程序
A. 编程开关置"运行"状态,运行方式开关置为"连续"状态,运行控制开关置为"运行"状态。
B. 拨动总清开关,清微地址及PC计数器,按动"启动运行"开关,系统连续运行程序。
如果要停止程序的运行,只需将"运行控制“开关”置为“停止”状态,系统就停机。
⑸运行结果
采用单步或连续运行方式执行机器指令,参照机器指令及微程序流程图,将实验现象与理论分析比较,验证系统执行指令的正确性。
7 设计总结及体会
试验中出现的错误很多,最严重的错误是先设计了总控制器,然后再设计其他电路,这样的做法让我们走了很多弯路,不停的在控制器与数据通路模块之间修改徘徊,控制其模块修改了不止4次,数据通路模块不止一次的重写,重新编译。
从本次试验中我明白的不仅仅是专业知识,更深刻的体会到,正确的设计步骤与设计理念对一个设计进程的严重影响。
不仅仅在设计上,再很多其他的方面也是如此。
任何事情都要有一个争取的规划,争取的方向,不可以走任何的捷径,没有不回跑就会飞的奇迹出现。
同时也深深的体会到,《计算机组成原理》这门课程在我们专业学习中的重要性,它不仅是后继课程的基础,同时也是往后硬件设计,学习的知识要求。
8 参考文献
1、罗克露,单立平,刘辉,俸志编著。
计算机组成原理,电子工业出版社,2004.8
2、张庸编著,计算机组成原理实验及课程设计指导。
重大学出版社,2005.6
3、计算机组成原理教师用书/蒋本珊编著。
清华大学出版社,2005.8
4、计算机组成原理与系统结构实验指导书。
东南大学计算机科学与工程系启东计算机厂有限公司
5、蔡明生, 周子群主编,数字电子技术基础重点难点剖析与解题指导,湖南大学出版社。