资源描述
建筑大学计算机科学与技术学院
课程设计说明书
题 目:
课 程: 计算机系统综合设计
院 (部): 计算机科学与技术学院
专 业:
班 级:
学生:
学 号:
指导教师:
完成日期:
目 录
课程设计任务书 2
一、课程设计题目 3
二、课程设计目的 3
三、课程设计方案 3
四、硬件资源 3
五、指令设计 6
1、指令操作数寻址方式及其编码 6
2、微程序的入口地址的确定 6
3、指令微程序流程图 8
4、修改微程序 9
六、程序调试 10
1、程序代码 10
2、运行结果 10
七、结论 11
八、参考文献 12
课程设计任务书
设计题目
已知技术参数和设计要求
设计容与步骤
设计工作计划与进度安排
设计考核要求
一、课程设计题目
<填写具体的设计题目>
二、课程设计目的
在学习了专业基础课《计算机组成原理A》课程的基础上,通过设计简单实验计算机的部分指令,加深对计算机硬件结构和微程序控制器的认识,初步掌握计算机指令的设计与使用方法。
三、课程设计方案
基于TEC-8实验箱的硬件模块平台,完成简单实验计算机的部分指令的控制信号线的连接、编码、微程序的设计,在TEC-8实验箱的控制台上运行用所设计的指令编写的程序,验证设计指令的正确性。
四、硬件资源
1.逻辑图
TEC-8实验箱的电路逻辑图如图1所示。
图1 TEC-8实验箱电路逻辑原理图
2. 时序发生器
它由2片GAL22V10组成,产生节拍脉冲T1、T2、T3,节拍电位W1、W2、W3,以及中断请求信号ITNQ。主时钟MF采用石英晶体振荡器产生的1MHz时钟信号。T1、T2、T3的脉宽为1微妙。一个机器周期包含一组T1、T2、T3。
3.算术逻辑单元ALU
算术逻辑单元由2片74LS181加1片74LS74、1片74LS244、1片74LS245、1片74LS30组成,进行算术逻辑运算。74LS181是一个4位的算术逻辑器件,2个74LS181级联构成一个8位的算术逻辑单元。在TEC-8模型计算机中,算术逻辑单元ALU对A端口的8位数和B端口的8位数进行加、减、与、或和数据传送5种运算,产生8位数据结果、进位标志C和结果为0标志Z。当信号SBUS为1时,将运算的数据结果送数据总线DBUS。
4.双端口寄存器组
双端口寄存器组由ALTERA 公司的1片可编程器件EPM7064组成,向ALU提供两个运算操作数A和B,保存运算结果。EPM7064里面包含4个8位寄存器R0、R1、R2、R3,4选1选择器A,4选1选择器B,2-4译码器。在图1.2中,用虚线围起来的部分全部放在一个EPM7064中。4个寄存器通过4选1选择器向ALU的A端口提供A操作数,通过4选1选择器B向ALU的B端口提供B操作数,2-4译码器产生信号LR0、LR1、LR2和LR3,选择保存运算数据结果的寄存器。
5.数据开关SD7~SD0
8位数据开关SD7~SD0是双位开关,拨到朝上位置时表示“1”,拨到朝下位置时表示“0”。用于编制程序并把程序放入存储器,设置寄存器R3~R0的值。通过拨动数据开关SD7~SD0得到的程序或者数据通过SWD送往数据总线DBUS。SWD是1片74LS244。
6.双端口RAM
双端口RAM 由1片IDT7132及少许附加电路组成,存放程序和数据。双端口RAM是一种2个端口可同时进行读、写的存储器,2个端口各有独立的存储器地址、数据总线和读、写控制信号。在TEC-8中,双端口存储器的左端口是个真正的读、写端口,用于程序的初始装入操作,从存储器中取数到数据总线DBUS,将数据总线DBUS上的数写入存储器;右端口设置成只读方式,从右端口读出的指令INS7~INS0被送往指令寄存器IR。
7.程序计数器PC、地址寄存器AR和中断地址寄存器IAR
程序计数器PC由2片GAL22V10和1片74LS244组成向双端口RAM的左端口提供存储器地址PC7~PC0,程序计数器PC具有PC复位功能,从数据总线DBUS上装入初始PC功能,PC加1功能,PC和转移偏量相加功能。
地址寄存器AR由1片GAL22V10组成,向双端口RAM的左端口提供存储器地址AR7~AR0。它具有从数据总线DBUS上装入初始AR功能和AR加1功能。
中断地址寄存器IAR是1片74LS374,它保存中断时的程序地址PC。
8.指令寄存器IR
指令寄存器是1片74LS273,用于保存从双端口RAM中读出的指令。它的输出IR7~IR4送往硬连线控制器、微程序控制器,IR3~IR0送往2选1选择器。
9、微程序控制器
微程序控制器产生TEC-8模型计算机所需的各种控制信号。它由5片HN58C65、1片74LS174、3片74LS32和3片74LS06组成。5片HN58C65组成控制存储器,存放微程序代码;1片74LS174是微地址寄存器。3片74LS32和3片74LS08组成微地址转移逻辑。
五、指令设计
1、指令操作数寻址方式及其编码
表1 指令格式
名称
助记符
功能
指令格式
IR(7-4)
IR(3-2)
IR(1-0)
左移
SHL Rd
Rd +Rd → Rd
1010
Rd
XX
取反
NOT Rd
not Rd → Rd
1011
Rd
XX
清零
CLR Rd
0 → Rd
1101
Rd
XX
逻辑或
XOR Rd,Rs
xor Rs → Rd
1100
Rd
Rs
置1
SET Rd
1→ Rd
1111
Rd
XX
2、微程序的入口地址的确定
图2 微程序地址转移逻辑
微地址01H中的微指令是一条功能为取指令的微指令,在T3的上升沿,从双端口存储器中取出的指令写入指令寄存器IR。在这条微指令中,后继微地址为20H,判别位P1为1、其他判别位均为0。根据图2微程序地址转移逻辑,下一条微指令的微地址是:
NµA5-T = NµA5
NµA4-T = NµA4
NµA3-T = NµA3 or P1 and IR7-I
NµA2-T = NµA2 or P1 and IR6-I
NµA1-T = NµA1 or P1 and IR5-I
NµA0-T = NµA0 or P1 and IR4-I
新产生的微地址NµA5-T~NµA0-T在T3的下降沿写入微地址寄存器µAR,实现了微程序流程图图所要求的根据指令操作码进行微程序分支。新设计的表1中的5条指令执行周期微程序入口地址见表2。
表2 指令微程序入口地址
指令操作码 I7I6I5I4
微指令首地址µA5~µA0
1010
2AH
1011
2BH
1100
2CH
1101
2DH
1111
2FH
3、指令微程序流程图
SWC=0、SWB=0、SWA=0 取指
01
LIR
PCINC
P1
P1
2C
2A
M
S=1110
ABUS
DRW
LDZ
P4
4、修改微程序
(1)、指令XOR Rd,Rs的微程序
由前面分析得到控制信号:M=1、S3=1、S2=1、S1=1、ABUS=1、DRW=1、LDZ=1、P4=1、NµA0=1。微程序入口地址是2CH。根据TEC-8实验箱控制信号与控制存储器码表的对应关系,CM4的码表不需要修改,需要修改CM3、CM2、CM1、CM0的码表,具体修改如下:
CM3控制信表:
微地址
LIAR
IABUS
MBUS
SBUS
ABUS
M
S3
S2
HEX
2C
1
1
1
1
0F
CM2控制信表:
微地址
S1
S0
CIN
LDC
LDZ
LIR
STOP
MEMW
HEX
2C
1
1
88
CM1控制信表:
微地址
LAR
ARINC
LPC
PCINC
DRW
P4
P3
P2
HEX
2C
1
1
0C
CM0控制信表:
微地址
P1
P0
NµA5
NµA4
NµA3
NµA2
NµA1
NµA0
HEX
2C
1
01
六、程序调试
1、程序代码
地址
指令
机器代码
16进制
00H
LD R0,[R3]
0101 0011
53
01H
INC R3
0100 1100
4C
02H
LD R1,[R3]
0101 0111
57
03H
SUB R0,R1
0010 0001
21
04H
JZ 0BH
1000 0110
86
05H
ST R0,[R2]
0110 1000
68
06H
INC R3
0100 1100
4C
07H
LD R0,[R3]
0101 0011
53
08H
ADD R0,R1
0001 0001
11
09H
JC 0CH
0111 0010
72
0AH
INC R2
0100 1000
48
0BH
ST R2,[R2]
0110 1010
6A
0CH
AND R0,R1
0011 0001
31
0DH
STP
1110 0000
E0
0EH
0FH
85H
85H
85
10H
23H
23H
23
11H
0EFH
0EFH
EF
12H
00
00H
00
2、运行结果
根据这段程序的逻辑功能,程序运行前R2=12H,R3=0FH,最后的结果是:R0=12H,R1=23H,R2=12H,R3=11H,存储单元12H的值是62H。
七、结论
通过两周的课程设计学习,……
<不同的人,结论是不同的>
八、参考文献
《计算机系统综合设计指导书》 计算机学院应用教研室
《计算机组成原理》 唐朔飞 高等教育
《计算机组织与体系结构》 白中英 清华大学
《汇编语言》 美明 温东婵 清华大学
《计算机体系结构》 晨曦等 高等教育
展开阅读全文