计算机组成原理课程设计.docx
- 文档编号:12196918
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:17
- 大小:889.17KB
计算机组成原理课程设计.docx
《计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计
东北大学秦皇岛分校
计算机与通信工程学院
计算机组成原理课程设计
专业名称
班级学号
学生姓名
指导教师
设计时间
课程设计任务书
专业:
学号:
学生姓名:
设计题目:
指令系统及七段译码器设计
一、设计实验条件
综合楼
硬件:
PC机
软件:
XilinxISEModelSim
汇编语言:
VHDL
二、设计任务及要求
1.指令:
19、25、42号指令;
2.七段译码器
3.4位BCD码加法器
4.要求:
总线结构:
单总线,数据总线位数8位、地址总线8位;
存储器:
内存容量64K*8bit
控制器:
用硬连线控制器实现26位微操作控制信号
运算器:
单累加器,实现加、减等8种操作
外设:
——输入:
用开关输入二进制量
——输出:
7段数码管和LED显示
指令系统规模:
64条指令,7种类型,5种寻址方式
三、设计报告的内容
1、指令系统设计:
本次课程设计要设计的指令是第19、25、42号指令,要清楚各条指令的功能、指令类型、寻址方式等内容,本次设计用到的指令的相关内容如表1所示
表1本次要设计的指令
指令编号
助记符
指令类型
功能
19
SUBCA,MM
算术运算指令
从累加器A中减去寄存器MM地址的值,减进位
25
ORA,R?
逻辑运算指令
累加器A“或”寄存器R?
的值
42
JZMM
逻辑运算指令
当零标志R_Z=1时,跳转到MM地址
2、模型机硬件设计:
七段译码器
因为计算机输出的是BCD码,要想在数码管上显示十进制数,就必须先把BCD码转换成7段字型数码管所要求的代码。
我们把能够将计算机输出的BCD码换成7段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”。
3、逻辑电路设计:
4位BCD码加法器
加法器定义实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能。
【系统设计】
1、模型机逻辑框图(整机逻辑框图、芯片引脚及CPU逻辑框图如下图1、图2、图3所示)
图1整机逻辑框图
图2芯片引脚
图3CPU逻辑框图
2、指令系统设计
指令类型及寻址方式见表1
3、微操作控制信号
1、XRD:
外部设备读信号,当给出了外设的地址后,输出此信号,从指外设读数据。
2、EMWR:
程序存储器EM写信号。
3、EMRD:
程序存储器EM读信号。
4、PCOE:
将程序计数器PC的值送到地址总线ABUS上(MAR)。
5、EMEN:
将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。
6、IREN:
将程序存储器EM读出的数据打入指令寄存器IR。
7、EINT:
中断返回时清除中断响应和中断请求标志,便于下次中断。
8、ELP:
PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。
9、FSTC:
进位置1,CY=1
10、FCLC:
进位置0,CY=0
11、MAREN:
将地址总线ABUS上的地址打入地址寄存器MAR。
12、MAROE:
将地址寄存器MAR的值送到地址总线ABUS上。
13、OUTEN:
将数据总线DBUS上数据送到输出端口寄存器OUT里。
14、STEN:
将数据总线DBUS上数据存入堆栈寄存器ST中。
15、RRD:
读寄存器组R0-R3,寄存器R?
的选择由指令的最低两位决定。
16、RWR:
写寄存器组R0-R3,寄存器R?
的选择由指令的最低两位决定。
17、CN:
决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
18、FEN:
将标志位存入ALU内部的标志寄存器。
19、WEN:
将数据总线DBUS的值打入工作寄存器W中。
20、AEN:
将数据总线DBUS的值打入累加器A中。
21-23:
X2~X0:
X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
24-26:
S2~S0:
S2、S1、S0三位组合决定ALU做何种运算。
4、指令执行流程
指令执行流程如表2所示:
表2指令的执行流程
编号
指令
指令功能
操作码
节拍数
微操作
控制信号
19
SUBCA,MM
从累加器A中减去寄存器MM地址的值,减进位
010010XX
T7
PC->MAR
PCOE,MAREN,
T6
EM→MAR
EMEN,EMRD,MAREN
T5
PC+1->PC
WEN
T4
EM->MAR
EMEN,EMRD,MAREN
T3
EM->W
EMEN,EMRD,WEN
25
ORA,R?
累加器A“或”寄存器R?
的值
011000XX
T4
R->DB
US->W
R,DBUS,W
T3
W,A->ALU
W,A,ALU
42
JZMM
当零标志R_Z=1时,跳转到MM地址
101001XX
T7
若Z=1,则
PCMAREMWDBUS
T6
PC->MAR
PCMAREMWDBUS
T5
EM->W
W->DBUS->PC
T4
否则:
PC+1->PC
PC
以流程图表示如下:
SUBCA,MMORA,R?
JZMM
T5T5T5T4
T4T4T4T3
T3T3T3
图4指令的执行流程图
【系统实现】
1、模型机实现(七段译码器的实现)
(1)逻辑电路的图形符号表示、功能
七段译码器电路图形符号如图5所示:
图5七段译码器电路图形符号表示
(2)指令所涉及的微操作控制信号
PCOE:
将程序计数器PC的值送到主存地址寄存器MAR上。
MAREN:
将数据总线DBUS的值送到主存地址寄存器MAR上。
(3)系统实现
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
--Uncommentthefollowinglibrarydeclarationifusing
--arithmeticfunctionswithSignedorUnsignedvalues
--useIEEE.NUMERIC_STD.ALL;
--Uncommentthefollowinglibrarydeclarationifinstantiating
--anyXilinxprimitivesinthiscode.
--libraryUNISIM;
--useUNISIM.VComponents.all;
entityGLis
PORT(CLK:
INSTD_LOGIC;
INN:
INSTD_LOGIC_VECTOR(15DOWNTO0);
SEL:
bufferSTD_LOGIC_VECTOR(2DOWNTO0);
LED7:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
endGL;
architectureBehavioralofGLis
SIGNALDATA:
STD_LOGIC_VECTOR(3DOWNTO0);
begin
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFSEL>="011"THENSEL<="000";
ELSESEL<=SEL+1;
ENDIF;
CASESELIS
WHEN"000"=>DATA<=INN(3downto0);
WHEN"001"=>DATA<=INN(7DOWNTO4);
WHEN"010"=>DATA<=INN(11DOWNTO8);
WHEN"011"=>DATA<=INN(15DOWNTO12);
WHENOTHERS=>NULL;
ENDCASE;
ENDIF;
ENDPROCESS;
PROCESS(DATA)
BEGIN
CASEDATAIS
WHEN"0000"=>LED7<="00111111";--0
WHEN"0001"=>LED7<="00000110";--1
WHEN"0010"=>LED7<="01011011";--2
WHEN"0011"=>LED7<="01001111";--3
WHEN"0100"=>LED7<="01100110";--4
WHEN"0101"=>LED7<="01101101";--5
WHEN"0110"=>LED7<="01111101";--6
WHEN"0111"=>LED7<="00000111";--7
WHEN"1000"=>LED7<="01111111";--8
WHEN"1001"=>LED7<="01101111";--9
WHEN"1010"=>LED7<="01110111";--10
WHEN"1011"=>LED7<="01111100";--11
WHEN"1100"=>LED7<="00111001";--12
WHEN"1101"=>LED7<="01011110";--13
WHEN"1110"=>LED7<="01111001";--14
WHEN"1111"=>LED7<="01110001";--15
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
endBehavioral;
2.逻辑电路设计(4位BCD码加法器)
(1)逻辑电路的图形符号表示、功能
图64位BCD码加法器的图形符号表示
(2)系统实现
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useieee.numeric_std.all;
--Uncommentthefollowinglibrarydeclarationifusing
--arithmeticfunctionswithSignedorUnsignedvalues
--useIEEE.NUMERIC_STD.ALL;
--Uncommentthefollowinglibrarydeclarationifinstantiating
--anyXilinxprimitivesinthiscode.
--libraryUNISIM;
--useUNISIM.VComponents.all;
entityguolei2is
port
(
a:
instd_logic_vector(3downto0);
b:
instd_logic_vector(3downto0);
ci:
instd_logic;
s:
outstd_logic_vector(3downto0);
co:
outstd_logic);
endguolei2;
architectureBehavioralofguolei2is
signalc0,c1,c2:
std_logic;
begin
s(0)<=a(0)xorb(0)xorci;
c0<=(a(0)andb(0))or(a(0)andci)or(b(0)andci);
s
(1)<=a
(1)xorb
(1)xorc0;
c1<=(a
(1)andb
(1))or(a
(1)andc0)or(b
(1)andc0);
s
(2)<=a
(2)xorb
(2)xorc1;
c2<=(a
(2)andb
(2))or(a
(2)andc1)or(b
(2)andc1);
s(3)<=a(3)xorb(3)xorc2;
co<=(a(3)andb(3))or(a(3)andc2)or(b(3)andc2);
endBehavioral;
【系统测试】
(一)、模型机实现(七段译码器的实现)
1、功能仿真
仿真时用到的波形如图7所示:
图7仿真时用到的波形图
2、RTL级逻辑电路
七段译码器的RTL级电路图如图9所示:
图9七段译码器RTL级电路图
(二)硬件测试(4位BCD码加法器)
1、功能仿真
4位BCD码加法器仿真波形图如图10所示:
图104位BCD码加法器仿真用到的波形图
2、RTL级逻辑电路
4位BCD码加法器的RTL级逻辑电路如图11所示:
图114位BCD码加法器的RTL级逻辑电路图
【总结】
本次课设遇到很多问题,首先是软件的使用,由于是第一次接触XILINX软件,软件的好多功能和用法都不清楚,好多选项都不了解。
不过经过查找资料以及问同学终于学会的熟练运用。
接着是那个波形图的形成,好几次运行之后都是红线,显示错误。
后来和同学们群里讨论才知道怎么正确的去做。
最开始在做4位BCD码加法器的时候一点想法都没有,不知道该怎么设计,然后就去图书馆去借书,查看,上网查资料,和相关课题的同学一起讨论,最后学会了相关的设计。
【心得体会】
课设的一开始,首先是学习软件的使用,去了解软件的功能和用法。
由于是新软件,好多功能都不了解,就去自己XX,看老师给的资料,听同学讲解,终于学会了XilinxISEModelSim的基础的使用,能用他们做出RTL图和波形图。
接着就到了最困难的时候,课程题目的设计,到了设计这里,又一个难点出现了,一个全新的语言VHDL。
以前一点都没有了解过,这次是从零开始,去图书馆借阅书籍,去网上XX,了解了它的一些用法,发现一些语句的大概意思和自己学过的语言还有相似之处,有C语言作为基础,再学其他语言就没有那么困难了。
然后就进去到了正题,课程的设计。
老师给的课题都是书本的知识,但是是书本知识的延伸和扩展。
光靠看课本是不好做出来的,然后我就去图书馆找相关的书籍,上网查资料,使自己对题目的理解更具体全面和深入。
这次课设让我对七段译码器有了深入的认识和了解,对它的运行机制和线路有了认识。
本次课设不仅考验了我们的自学能力以及对新知识、新事物的认识和学习,也锻炼了我们查阅资料和战胜困难的能力,对我们所学的课本的知识也有了加深和升华。
通过本次课设,我学会了两个新的软件XilinxISE和ModelSim的使用方法,并且学会了一个新的语言VHDL,还对七段译码器和4位BCD码加法器有了深入的了解和认识。
这次课程设计我收获颇多。
【参考文献(资料)】
[1]袁静波等.计算机组成与结构.北京:
机械工业出版社,2011.
[2]胡越明.计算机组成与设计[M].北京:
科学出版社,2006.
[3]王爱英.计算机组成与结构[M].北京:
清华大学出版社,2007.
[4]卢毅VHDL与数字电路设计科学出版社,2001
[5]谭耀麟基于VHDL语言的微机接口电路设计北京:
清华大学出版社,2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计