计算机课设.docx
《计算机课设.docx》由会员分享,可在线阅读,更多相关《计算机课设.docx(32页珍藏版)》请在冰点文库上搜索。
计算机课设
成绩评定表
学生姓名
班级学号
专业
计算机科学与技术
课程设计题目
多寄存器左移位\输入输出\转移指令实验计算机设计(第七组)
评
语
组长签字:
成绩
日期
2012年月日
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
学号
设计题目
多寄存器左移位\输入输出\转移指令实验计算机设计(第七组)
内容及要求:
利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成一台微程序控制的复杂实验计算机的设计。
具体要求:
1.掌握计算机的整机结构。
熟悉实验计算的组装和调试方法。
2.设计如下几条机器指令的格式,指令格式可以采用单字长或双字长设计。
左移位指令:
RCLrs,rd(功能rs的值带进位循环左移一位->rd)
输入输出指令:
IN#DATA,rd(功能DATA->rd)
OUTRi(功能Ri的值->LED输出)
转移指令:
JMPADDR(功能ADDR->PC)
3.设计微指令的格式,编写上述每条机器指令所对应的微程序,并上机调试。
4.通过如下程序的编写调试,验收机器指令、微指令、微程序的设计结果。
IN#data,R0
IN#data,R2
RLCR2,R0
OUTR0
JMP00H
进度安排:
第17周:
布置课程设计任务,查阅资料,分组设计,实验室组装和调试。
第20周:
调试,验收,答辩,编写课程设计报告。
指导教师(签字):
2012年月日
学院院长(签字):
2012年月日
目录
1.实验计算机的设计3
1.1设计整机逻辑框图并画出逻辑框图3
1.2微指令编码的格式设计5
1.3设计指令系统7
1.3设计指令的执行流程,画出微程序流程图10
1.5确定微程序控制方式12
1.5.1微程序入口地址形成方法12
1.5.2微程序顺序控制方法13
1.6编写各指令的微程序14
2.实验计算机的组装15
2.1实验计算机的设计(各种芯片管脚和功能图在附录中列出)15
2.2实验计算机的组装16
3.实验计算机的调试过程19
3.1调试前准备19
3.2程序调试过程及调试结果21
3.3结果分析22
4.实验总结23
4.1实验中遇到的问题23
4.1.1出错:
23
4.1.2故障分析查找23
4.1.3确认是否属故障23
4.1.4正确判断故障原因23
4.2课设体会23
5.附录24
5.1各种芯片管脚和功能图24
5.2参考资料27
1.实验计算机的设计
1.1设计整机逻辑框图并画出逻辑框图
(一)模型机的组成:
(1)模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
①运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器Ax,Bx,Cx等组成。
②控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
③存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
④输出设备有两位LED数码管和W/R控制完成的。
(2)计算机由基板和CPU板两部分组成:
①基板:
本部分是8位机和16位机的公共部分,包括以下几个部分:
数据输入输出、显示及监控,脉冲源及时序电路,数据和地址总线,外设控制电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存器和电源,CPLD实验板,自由实验区。
②CPU板:
本板分为8位机和16位机两种,除数据字长分为8位和16位外,都包括以下部分:
微程序控制器,运算器,寄存器堆,程序计数器,指令寄存器,
指令译码电路,地址寄存器,数据,地址和控制总线。
运算器部分:
由算术逻辑单元ALU74LS181(U29、U30)、暂存器74LS273(U27、U28)、三态门74LS244(U31)和进位控制电路GAL芯片(U32)等组成。
存储器部分:
由静态存储器1片6116(2K×8)构成。
其数据线D0~D7接到数据总线,地址线A0~A7由地址锁存器(74LS273)给出。
黄色地址显示灯MA7-MA0与地址总线相连,显示地址总线的内容。
数据经三态门(74LS245)连至数据总线,分时给出地址和数据。
(二)本系统的结构组成为:
本板分为8位机和16位机两种,除数据字长分别为8位和16位以外,都包括以下几个部分:
微程序控制器,运算器,寄存器堆,程序计数器,指令寄存器,指令译码电路,地址寄存器,数据、地址和控制总线。
基板:
本部分是8位机和16位机的公共部分,包括以下几个部分:
数据输入和输出,显示及监控,脉冲源及时序电路,数据和地址总线,外设控制实验电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存储器,电源,CPLD实验板(选件),自由实验区(面包板)。
运算器:
由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器、和状态条件寄存器组成,它是数据加工处理部件。
相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是有控制器发出的控制信号来指挥的,所以它是执行部件.
存储器:
是保存或“记忆”解题的原始数据和解题步骤。
在运算前需要把参加运算的数据和解题步骤通过输入设备送到存储器中保存。
微程序控制器:
控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而执行部件接受命令后的操作叫做微操作。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备;另一种是数码管,它作为输出设备。
输入时,二进制开关数据直接经过三态门送到数据总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到外部数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码管显示。
整机逻辑框图如图1.1所示:
MS1S0
数据总线(D_BUS)
74299
LPC
299-G
程序计数器PC
ALU-G
LOADPC-G
MCNALUS3S2S1S0
数据暂存器LT1数据暂存器LT2LAR地址寄存器AR
地址总线(ADDR_BUS)
LDR1LDR2存储器(MEM)READ
WRITE
寄存器R0寄存器R1寄存器R2微控器脉冲源及时序
LR0R0GLR1R1GLR2R2G指令寄存器IR
C-GLDIR
输入设备W/R
控制门输出设备
数据LED-G
控制信号
图1.1整机逻辑框图
1.2微指令编码的格式设计
本系统设计的微指令采用水平型微指令格式,字长共24位,其控制位顺序如下:
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
其中前18位为操作控制字段和测试字段。
uA5-uA0为6位的下地址字段微地址。
微指令中个控制位的含义如下:
S3、S2、S1、S0、M、Cn是控制运算器的逻辑和算术运算的微命令。
S3S2S1S0MCn
00000000
01100101
02001111
03000001
04000011
WE是写内存的微命令,状态“1”有效。
1A、1B是输入电路选通、内存RAM选通、输出LED选通控制微命令,分别对应状态“11”、“10”、“01”。
状态“00”为无效。
F1、F2、F3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中的一个,状态“111”为无效。
F3字段包含P1-P4四个测试字位。
其功能是根据机器指令代码及相应微指令代码进行译码测试,使微程序转入相应的微地址入囗,从而实现微程序的顺序、分支、循环运行。
F1、F2、F3三个字段的编码方案如表1.3
表1.3F1,F2,F3三个字段的编码方案表
F1字段
F2字段
F3字段
151413
选择
121110
选择
987
选择
000
LDRi
000
RAG
000
P1
001
LOAD
001
ALU-G
001
AR
010
LDR2
010
RCG
010
P3
011
011
011
100
LDR1
100
RBG
100
P2
101
LAR
101
PC-G
101
LPC
110
LDIR
110
299-G
110
P4
其中微命令LDRi表示写寄存器操作。
微命令LOAD表示程序计数器PC写操作。
微命令LDR2表示数据暂存器LT2写操作。
微命令LDR1表示数据暂存器LT1写操作。
微命令LAR表示地址寄存器AR写操作。
微命令LDIR表示指令寄存器写操作。
微命令RAG表示源寄存器读操作。
微命令ALU-G表示运算器输出操作。
微命令RCG表示目的寄存器读操作。
微命令PC-G表示程序计数器PC读操作。
微命令LPC表示程序计数器PC选通操作。
微命令299-G表示移位寄存器读写操作。
微命令RBG表示变址寄存器读操作。
1.3设计指令系统
1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址其格式如下:
7654
32
10
OP-CODE
rs
rd
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
Rs或rd
选定寄存器
00
R0
01
R1
10
R2
9条算术逻辑指令的名称、功能和具体格式见表8-2。
2)访问及转移指令
本机设计有2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式如下:
76
54
32
10
00
M
OP-CODE
rd
D
其中OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
00
01
10
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本机规定变址寄存器RI指定为寄存器R2。
3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
rd
其中,addr=01时,选中“数据输入电路”中的开关组作为输入设备,addr=10时,选中“输出显示电路”中的数码管作为输出设备。
4)停机指令
指令格式如下:
7654
32
10
OP-CODE
00
00
HALT指令,用于实现停机操作。
各指令系统主要功能参见表1.1.
各指令系统主要功能表
指令类型
指令助记符
指令功能
指令格式
操作数寻址方式
输入指令
IN
DATA->rd
01000100
寄存器寻址
左移位指令
RLC
cyrs
rsrd
11111000
寄存器寻址
输出指令
OUT
DATA->LED
01011000
寄存器寻址
转移指令
JMP
E->PC
00001000
01011000
01101000
00111000
直接寻址
间接寻址
RI变址寻址
相对寻址
表1.1
输入指令:
INR0
指令功能:
DATA->R0
7654
3210
0100
0100
指令格式:
机器码:
01000100
左移位运算指令:
RLCR2,R0
指令功能:
cyrs
rsrd
指令格式:
7654
3210
1111
1000
机器码:
11111000
输出指令:
OUTR0
指令功能:
RO->LED输出
7654
3210
0101
1000
指令格式:
机器码:
01011000
转移指令:
JMP11,[00H]
指令功能:
[00H]+(PC)->PC
指令格式:
7654
3210
0000
1000
[00H]
机器码:
00001000
00001000
1.3设计指令的执行流程,画出微程序流程图
每条指令对应的微程序流程图
(1)输入指令IN
图1.1IN指令的微程序流程图
(2)输出指令OUT
图1.2OUT指令的微程序流程图
(3)转移指令JMP
图1.3JMP指令相对寻址的微程序流程图
(4)左移位指令RLC
图1.4RLC左移位指令的微程序流程图
1.5确定微程序控制方式
1.5.1微程序入口地址形成方法
采用多路转移方式,根据判别测试条件,通过微地址形成电路使微程序转入相应的微地址入口。
本系统有3个判别测试位:
P4判别测试位是根据指令译码输入CA1、CA2的状态为测试条件,通过修改下地址字段微地址的A0、A1位产生3路分支转移,使微程序分别转移到写机器指令、读机器指令、和执行机器指令三种状态的微程序的入口。
P1判别测试位是根据指令中的前4位操作码IR7、IR6、IR5、IR4的状态为测试条件,通过修改下地址字段微地址的A3、A2、A1、A0位产生16路分支转移,使微程序分别转移到IN指令、ADD指令、MOV指令、OUT指令、RRC指令等16条机器指令执行阶段的微程序的入口。
P2判别测试位是根据指令中的2位操作码IR3、IR2的状态为测试条件,通过修改下地址字段微地址的A1、A0位产生4路分支转移,使微程序分别转移到LDA指令、STA指令、BZC指令和JMP指令4条机器指令执行阶段的微程序的入口。
1.5.2微程序顺序控制方法
微程序顺序控制方式也即微程序执行过程中下一条微指令地址的确定方式。
常用的有两种方式:
计数增量方式和“下地址场”断定方式。
计数增量方式是指微程序在执行过程中,通过微程序控制部件中的微地址计数器MPC增量计数,来产生下一条微指令地址。
因此,采用这种方式的微指令格式中可以不设置“下地址场”字段,微程序存储在控存的若干个连续单元中。
“下地址场”断定方式是指微程序在执行过程中,通过微程序控制部件中的微地址形成电路,直接接受微指令中“下地址场”字段的信息,来产生下一条微指令地址。
因此,采用这种方式的微指令格式中设有“下地址场”字段,一条机器指令所对应的微程序在控存中可以不连续存放。
本实验计算机的顺序控制是采用“下地址场”断定方式。
无论是在微程序的顺序执行过程中,还是最后一条微指令执行结束之后进入下一条机器指令的取指过程,都是由微指令中“下地址场”字段的微地址,通过微程序控制部件中的微地址形成电路,直接来产生下一条微指令地址。
微程序控制部件组成结构示意图如图1.12。
图1.12微程序控制部件组成结构示意图
1.6编写各指令的微程序
根据指令执行流程和微指令格式,编写各指令对应的微程序中每条微指令的编码(分别写出2进制和16进制编码)
表1.1IN指令的编码
微地址
(二进制)
S3S2S1S0MCNWE1A1B
F1
F2
F3
UA5--UA0
000001
000000000
101
101
101
000010
000010
000000010
110
111
111
111101
111101
000000010
110
111
000
010000
010100
000000011
000
111
111
000001
表1.2OUT指令的编码
微地址
(二进制)
S3S2S1S0MCNWE1A1B
F1
F2
F3
UA5--UA0
000001
000000000
101
101
101
000010
000010
000000010
110
111
111
111101
111101
000000010
110
111
000
010000
010101
000000101
111
010
111
000001
表1.3JMP指令相对寻址的编码
微地址
(二进制)
S3S2S1S0MCNWE1A1B
F1
F2
F3
UA5--UA0
000001
000000000
101
101
101
000010
000010
000000010
110
111
111
111101
111101
000000010
110
111
000
010000
010011
000000000
101
101
101
100110
100110
000000010
100
111
111
100111
100111
000000000
010
101
111
100000
101000
100101000
101
100
111
101001
101001
100101000
100
100
100
100000
表1.4RLC指令的编码
微地址
(二进制)
S3S2S1S0MCNWE1A1B
F1
F2
F3
UA5--UA0
000001
000000000
101
101
101
000010
000010
000000010
110
111
111
111101
111101
000000010
110
111
000
010000
011111
001100000
000
000
111
111001
111001
000110000
111
110
111
111010
111010
000000000
000
110
111
000001
000001
000000000
101
101
101
000010
2.实验计算机的组装
2.1实验计算机的设计(各种芯片管脚和功能图在附录中列出)
运算器部分由算术逻辑单元ALU74LS181(U29、U30)、暂存器74LS273(U27、U28)、三态门74LS244(U31)和进位控制电路GAL芯片(U32)等组成。
电路图见图2.1。
图2.1运算器部分电路图
2.2实验计算机的组装
根据各部分的组成,连线步骤如下:
R0G---R2G(寄存器堆电路)~R0G---R2G(指令寄存器电路)
LR0---LR2(寄存器堆电路)~LR0---LR2(指令寄存器电路)
IR2---IR7(指令寄存器电路)~IR2---IR7(指令寄存器电路)
IO0---IO3(指令寄存器电路)~IO0---IO3(指令寄存器电路)
CA1(指令寄存器电路)~E4(控制总线)
CA2(指令寄存器电路)~E5(控制总线)
Y2(I/O控制电路)~D-G(输出显示电路)
Y1(I/O控制电路)~CE(主存储器电路)
WR(输出显示电路)~W/R(读写控制电路)
F1---F4(控制总线)~T1---T4(读写控制电路)
AD7---AD0(地址总线)~MA7---MA0(主存储器电路)
WE(主存储器电路)~W/R(读写控制电路)
ALUJ2(运算器电路)~BD7---BD0(数据总线)
ALUJ1(运算器电路)~BD7---BD0(数据总线)
PCJ1(程序计数器电路)~BD7---BD0(数据总线)
RJ1(寄存器堆电路)~BD7---BD0(数据总线)
MC16---MC17(微程序控制器电路)~1A---1B(I/O控制电路)
299-G(微程序控制器电路)~299-G(运算器电路)
MC24---MC19(微程序控制器电路)~S3---CN(运算器电路)
LDR1(微程序控制器电路)~LDR1(运算器电路)
LDR2(微程序控制器电路)~LDR2(运算器电路)
ALU-G(微程序控制器电路)~ALU-G(运算器电路)
AR(微程序控制器电路)~AR(运算器电路)
PC-G(微程序控制器电路)~PC-G(程序计数器电路)
LOAD(微程序控制器电路)~LOAD(程序计数器电路)
LPC(微程序控制器电路)~LPC(程序计数器电路)
LRi(微程序控制器电路)~LRi(指令译码电路)
RAG---RCG(微程序控制器电路)~RAG---RCG(指令译码电路)
SA5---SA0(微程序控制器电路)~SA5---SA0(指令译码电路)
P1---P4(微程序控制器电路)~P1---P4(指令译码电路)
LDIR(微程序控制器电路)~LDIR(指令寄存器电路)
UAJ1(微程序控制器电路)~C1---C6(控制总线)
MC18(微程序控制器电路)~WE(读写控制电路)
LAR(微程序控制器电路)~LAR(地址寄存器电路)
D0---D7(输出显示电路)~BD7---BD0(数据总线)
MD7---MD0(主存储器电路)~BD7---BD0(数据总线)
按照组装图将各接口处用连接线连接起来,连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
实验计算机接线图如图2.5.
图2.5实验计算机的接线图
3.实验计算机的调试过程
3.1调试前准备
1、按照实验指导说明书连接硬件系统
2、启动实验软件,打开实验课题菜单,选