组原课设报告.docx
- 文档编号:6002352
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:28
- 大小:277.74KB
组原课设报告.docx
《组原课设报告.docx》由会员分享,可在线阅读,更多相关《组原课设报告.docx(28页珍藏版)》请在冰豆网上搜索。
组原课设报告
课程实验报告
课程名称:
组原课程设计
专业班级:
学号:
姓名:
周次:
同组人员:
报告日期:
计算机科学与技术学院
目录
一.实验题目
二.实验目的
三.实验器材
四.设计原理及内容
五.实验实现
六.问题与解决
七.设计总结
八.参考文献
一.实验题目
基于微程序控制和硬布线相结合的简单计算机系统设计与实现
二.实验目的
计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。
在对该模型机系统中的部件功能利用EDA软件的仿真功能进行仿真分析和功能验证的基础上,将部分电路下载到FPGA,并与适当的外围器件(包括部分芯片、输入/输出开关、LED显示等)相配合,实现模型机的总机系统。
要求所设计的总机系统能支持自动和单步运行方式,能正确地执行存放在主存中的程序的功能,对主要的数据流和控制流通过LED适时显示信息。
达到以下技术指标:
1)支持算术运算、逻辑运算、存储器读写、寄存器间数据传送等几类指令。
2)支持立即数寻址、直接寻址、隐含寻址、寄存器寻址等几种基本的数据寻址方式和顺序寻址、跳跃寻址两种指令的寻址方式。
3)支持10条以上的指令。
4)能运行由自己所是设计的指令系统构成的一段程序,程序执行功能正确。
三.实验器材
计算机系统WindowsXP;JAYL—II型计算机组成原理实验台;相关芯片若干。
实验台的相关配置及具体说明如表3.1所示:
表3.1JAYL--II型计算机组成原理实验台
配置名称
符号表示
作用说明
开关
左边
K0~K31
拨到上面位置为“1”,
拨到下面位置为“0”
右边
K0~K17
指示灯
左边
L0~L31
某一位接入高电平(或变电位)时对应红灯亮,接入低电平时对应蓝灯亮,不输入信号或输入一个高阻状态时,对应的等灭
右边
L0~L17
R-S触发器
P0~P4
按动相应的按钮时,产生一个的单次脉冲
序列脉冲
T1~T5
产生一组时序信号
时序发生器
T4~T0
可根据需要设定时序状态
8位段码部分
进行多种进制的输出显示
时钟电路
提供固定频率的方波信号发生器
FPGA部分
用于EDA设计
四.设计原理及内容
4.1实验原理
计算机中控制计算机执行某种操作(如加、减、传送、转移等操作)的命令成为指令。
计算机的工作基本上体现在执行指令上,指令是用户使用计算机与计算机本身运行的基本功能单位。
一台计算机中所有指令的集合成为该计算机的指令系统。
指令的一般格式如图4.1.1所示,其中操作码表示具体的操作性质,不同功能的指令其操作码编码不同,对于固定长度的操作码,操作码的长度取决于计算机指令系统的规模,指令中包含的指令书越多,操作码的长度相应就越长,反之就越短;指令中地址码字段的作用随指令类型和寻址方式的不同而不同,在直接寻址方式下,该字段表示操作数在主存中的地址,在立即数寻址方式下,该字段即为操作数。
计算机在运行程序之前必须把指令和数据存放在主存储器相应的地质单元中,运行程序时,不断从主存取指令和数据,并根据指令对操作数进行指定的操作。
主存是基于地址访问的存储器,CPU(CentralProcessingUnit,中央处理器)只有获得指令和操作数在贮存中的地址才能访问所需要的指令和数据。
数据地址可通过指令的地址码字段获取,指令的寻址方式有顺序方式和跳跃方式两种。
CPU用程序计数器PC保存指令地址,顺序方式下,只要将程序首地址送PC,然后每执行一条指令,通过PC加“1”(1表示一条指令所占用的存储单元数)以获取下一条指令的地址,直到程序结束。
跳跃方式下,根据指令规定,将制定地址送PC即可获得指令地址。
指令的顺序寻址和跳跃寻址过程分别如图4.1.2和图4.1.3所示。
图4.1.1指令操作码
图4.1.2指令顺序寻址示意图图4.1.3指令跳跃寻址示意图
中央处理器主要由控制器和运算器两部分构成。
控制器的主要功能包括:
其指令、计算下一条指令的地址、对指令译码、产生相应的操作控制信号、控制指令执行的步骤和数据流动的方向。
运算器是执行部件,运算器接受控制器的命令执行算术运算、逻辑运算及逻辑测试。
当系统采用微程序控制方式且采用直接表示法对微命令进行编码时,将实现指令系统中所有指令功能所需要的控制信号对应为微指令中的一位二进制位,用“1”或“0”表示相应的微命令的“有”或“无”,由此编写出微指令,若干条实现同一条指令的微指令构成一段微程序。
将实现所有指令的微程序存放在控制存储器中,当机器运行时,逐条取出对应的微指令并结合时序发生装置的控制逐步执行,使相应部件执行规定操作,执行完这段微程序,就给出了指令处理所需要的全部控制信号,从而完成指令的功能。
微程序控制器的组成框图如图4.4所示。
图4.4微程序控制器组成框图
结合上述理论知识,根据需要设计相应的指令系统、微指令及各部件就能完成简单整机的设计。
4.2需求分析
实验中采用微程序控制与硬布线相结合方式,且主存、控存分开,实验中所有部件均采用硬件搭建的方式模拟。
对系统的控制除了利用控存中的微命令外,还要结合时序节拍。
实验中所需器件如表4.2.1所示:
表4.2.1实验所需器件一览表
器件
用途
74系列具有特定功能的芯片
181
算术逻辑运算部件
373
8位数据的寄存器
395
4位数据的寄存器
244
控制线路导通与否的部件
157
选择部件
193
程序计数器
6116
主存储器(存储机器指令及数据)
2816
控制存储器(存储微指令)
74系列实现各种组合逻辑的芯片
74LS04(反相器)
将控制信号与相应的时序节拍做适当的逻辑运算以产生各部件的控制输入
74LS08(2输入与门)
74LS32(2输入或门)
开关
主、控存输入,控制电路
指示灯
显示相关数据,便于验证系统正确性
导线
连接电路
4.3硬件设计
4.3.1总体设计
本次我们采用的方案是微程序控制,且主、控存分开的方案,即采用微程序控制方式,实现主存储器(MM)和微程序控制存储器(CM)不共用一个存储器的方式完成方案的设计。
同时在实施的过程中电路全部采用硬件搭建的方式完成。
根据对计算机组成的分析可知,此简单的计算机系统可分为四个部分,即运算通路、存储通路、微程序控制器和时序发生装置。
起中时序发生装置直接采用实验台上提供的时序发生器,其余三个部分均通过芯片连通,然后按照各部分的逻辑联系将它们组合起来,从而形成整个系统。
总体结构图见图4.3.1逻辑框图(手绘)
每一条机器指令的执行分为两个周期,即取指周期和执行周期,其中取指微指令为公操作,执行微指令岁机器指令操作码的不同而不同。
4.3.2运算通路
此部分电路的功能是完成加、减的算术运算和与、或、非等逻辑运算,并将运算结果送入累加器AC中存储。
多功能算术逻辑运算单元181可实现上述运算,所以选择该芯片作为此部分通路的主体运算部件,因为181芯片只能实现四位数的运算,而实验中的数据均为八位,所以181芯片需要两片;8D锁存器373能实现对8位数据的锁存,所以可以用一个373芯片作为累加器AC;在实际系统中,数据需要缓冲,所以用373芯片作为运算结果到累加器的缓冲器。
运算通路框图如图4.3.2所示。
图4.3.2运算通路框图
4.3.3存储通路
此部分通路的作用是存储程序运行所需的机器指令及数据,并根据在微指令的控制下将指令送指令寄存器IR,或将数据送数据寄存器DR1,或者将累加器中的内容存储到指定单元。
6116芯片存储字长为8位,且易于进行写操作,可用作系统的主存,为防止在线路上发生数据冲突,使用两片244芯片分别控制输入数据及回存数据,同时使用两片373芯片分别作为数据寄存器DR1和指令寄存器IR。
存储通路框图如图4.3.3所示。
图4..3.3存储通路框图
4.3.4地址选择通路
系统在设计时,都分为取指和执行周期,在这两个周期中,都涉及对主存的访问,而指令地址和数据地址分别来自程序计数器和指令寄存器以及堆栈的地址码,因此需要根据不同的指令周期对地址进行选择,此部分通路就完成这个功能。
实验中主存地址需4位,段选地址需2位,157芯片可以通过对S的选择实现对两路4位数的选择,所以用2片157芯片作为地址选择器件。
地址选择通路框图如图4.3.4所示。
图4.3.4地址选择通路
4.3.5程序计数器
实验中指令长度为8位,所以在顺序执行程序时,每执行完一条指令,程序计数器要自动加1,且在跳转指令中程序计数器的内容要变成指定内容。
193芯片是同步四位计数器,随控制的不同,既可以实现加1计数,也可以直接置数,所以选用193芯片作为程序计数器。
4.3.6寄存器
实验中,从主存中取出的数据需要送数据寄存器,从主存中取出的指令需要送指令寄存器,经过运算器运算出的结果需要送累加器,从指令寄存器中取出的指令操作码需要送微地址寄存器,从控制寄存器取出的微指令需要送微指令寄存器。
373芯片能作为8位锁存器,395芯片能作为4位锁存器,所以实验中采用373芯片作为8位寄存器,采用395芯片作为4位寄存器。
4.3.7时序控制
实验台上有时序电路,以5个节拍(T0~T4)作为一个cpu周期。
4.3.8控存电路
根据需要,实验中设计微指令长度为16位。
因为微指令输入控制存储器后,一般适用于该指令系统中的所有指令,不需改变,所以控制存储器不用经常进行写操作。
2816芯片是电可擦除可改写的只读存储器,具有数据不易丢失和修改灵活的特点,所以采用两片2816串联作为控制存储器。
微指令的地址是指令的操作码,所以将指令中的操作码取出送微地址寄存器中,然后将微地址对应的微指令读出送微指令寄存器中作为整个电路的控制信号。
微地址为4位,采用395芯片;微指令长度为16位,其中有两位需要锁存,采用1片373芯片。
控制电路框图如图4.3.5所示。
4.4软件设计
4.4.1机器指令系统设计
根据课程设计的要求,操作码采用固定长度的编码方式,由于系统至少包含10条指令,所以操作码设定为4位。
系统支持的指令包括公操作、LOADI(立即数寻址)、LOAD(直接寻址)、STORE(直接寻址)、LOADII(间接寻址)、STOREII(间接寻址)、ADD(直接寻址)、SUB(直接寻址)、AND(直接寻址)、OR(直接寻址)、JO(直接寻址)、JZ(直接寻址)、JMP(直接寻址)、PUSH(进栈)、POP(出栈)、STOP(停机)。
指令有单地址指令和零地址指令,指令的地址码也为4位。
零地址指令——示对系统的运行进行直接控制,例如停机指令STOP表示终止程序运行,系统暂停。
单地址指令均为双目运算,表示将AC中的内容与指定操作数进行运算后将运算结果存入AC。
其中除AC中的内容外,另一操作数由指令的地址码及对应的寻址方式给出。
直接寻址方式下,该地址码给出操作数在主存中的地址;立即数寻址方式下,该地址码即为操作数。
各指令对应功能如表4.4.1所示。
表4.4.1各指令对应功能表
编号
汇编指令
对应功能
寻址方式
0000
公操作
取指令
XXXX
0001
LOADI
写立即数入累加器
立即数寻址
0010
LOAD
从6116送数据入累加器
直接寻址
0011
STORE
往6116存数据
直接寻址
0100
LOADII
从6116送数据入累加器
间接寻址
0101
STOREII
累加器数据存回6116
间接寻址
0110
ADD
加法运算
直接寻址
0111
SUB
减法运算
直接寻址
1000
AND
A和B相与
直接寻址
1001
OR
A和B相或
直接寻址
1010
JO
条件跳转
直接寻址
1011
JZ
条件跳转
直接寻址
1100
JMP
无条件跳转
直接寻址
1101
PUSH
数据入栈
XXXX
1110
POP
数据出栈
XXXX
1111
STOP
停机
XXXX
4.4.2微指令设计
微指令的设计思想是将电路中的控制信号对应为微指令中的某一位,通过0或1来表示该控制信号是否有效,通过微指令来控制各个部件。
首先根据电路的设计方案,列出图4.3.1中的控制点,微指令长度为16位,而设计方案中的控制信号多于16个,所以要对控制信号进行适当的合并。
并采用与硬布线方式相结合的方法来设计。
合并后2816对应的控制信号如表4.4.2所示,所有控制信号的逻辑表达式如表4.4.3所示。
表4.4.2设计方案中控制信号说明
2816输出
控制信号
作用说明
C15
Ax1
Ax2
控制累加器第一个373的锁存
控制累加器第二个373的锁存
C14
S3
控制181运算的种类
C13
S2
C12
S1
C11
S0
C10
M
C9
C0
C8
IR
AR
控制指令寄存器锁存
控制地址寄存器锁存
C7
157-1
控制第一个157选通信号
C6
157-2
ADDR1
控制第二个157选通信号
控制内存段选
C5
157-3
ADDR2
控制第三个157选通信号
控制内存段选
C4
PC++
395load
395clear
控制程序计数器的跳转
控制指令计数器的置数功能
控制指令计数器的清零功能
C3
PCload
控制计数器是否加载数据
C2
STOP
停机
C1
FLAG
标志计数器,仅在加减时打通
C0
244-1
6116WE
给内存置初值
控制6116的读写功能
表4.4.3所有控制信号的逻辑表达式一览表
控制信号
逻辑表达式
Ax1
Ax1=C15&T2
Ax2
Ax2=C15&T3
IR
IR=C8&T1
AR
AR=C8&T2
PC++
PC++=C4|~T3
395load
395load=C4|~T5
395clear
395clear=~(C4&T5)
PCload
PCload={d5&~[(~d4&~of)|(d4&~zf)]}|~T3|C3
FLAG
FLAG=C1&T2
244-1
244-1=C0|~T3
6116WE
6116WE=C0|~T3
SP++
SP++=d5|~T4|~C5
SP--
SP--=d4|~T1|~C5
S3
S3=C14
S2
S2=C13
S1
S1=C12
S0
S0=C11
M
M=C10
C0
C0=C9
157-1
157-1=C7
157-2
157-2=C6
157-3
157-3=C5
Addr1
Addr1=C6
Addr2
Addr2=C5
STOP
STOP=C2
4.4.3微程序设计
汇编指令对应的微程序表如表4.4.4所示。
表4.4.4汇编指令对应的微程序表
指令
指令格式
C15~C12
C11~C8
C7~C4
C3~C0
控存地址
低四位
公操作
0000
XXXX
0000
0011
0000
1001
LOADI
0001
DDDD
1101
0110
1101
1001
LOAD
0010
DDDD
1101
0110
0101
1001
STORE
0011
DDDD
0000
0010
0101
1000
LOADII
0100
DDDD
1101
0111
0101
1001
STOREII
0101
DDDD
0000
0011
0101
1000
ADD
0110
DDDD
1100
1010
0101
1011
SUB
0111
DDDD
1011
0000
0101
1011
AND
1000
DDDD
1101
1110
0101
1001
OR
1001
DDDD
1111
0110
0101
1001
JO
1010
DDDD
0000
0010
0101
0001
JZ
1011
DDDD
0000
0010
0101
0001
JMP
1100
DDDD
0000
0010
0101
0001
PUSH
1101
XXXX
0000
0010
0011
1000
POP
1110
XXXX
1101
0110
0011
1001
STOP
1111
XXXX
0000
0010
0101
1101
4.4.4时序系统设计
定指令在执行过程中各个周期的微指令即有效控制信号后,将各控制信号的作用时间进一步细化到一个周期的某个节拍,从而借助时序系统实现对控制信号的定时控制,使得指令能够有序执行,最终达到系统自动运行的目的。
将一个cpu周期划分为5个节拍T0~T4,取指周期及个指令的执行周期中,控制信号的作用列表如下。
各指令节拍安排如表4.4.5~表4.4.13所示:
表4.4.5LOADI各节拍的操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6=1;C5=0
T1
Ax1←181←AR
157-1=1;Ax1=1
T2
Ax2←Ax1
Ax2=1
T3
T4
395clear
395clear=0
表4.4.6LOAD个节拍的操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6;C5
T1
Ax1←181←6116
Ax1;157-2;157-1;M;S3~S0
T2
Ax2←Ax1
Ax2
T3
T4
395clear
395clear=0
表4.4.7STORE各节拍操作与相关控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6;C5
T1
T2
6116数据段←Ax2
244-1;6116;WE;157-2
T3
T4
395clear
395clear=0
表4.4.8LOADII各节拍操作与相关控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
IR←6116
C6;C5
IR
T1
AR←IR
AR;157-1;M;S3~S0
T2
Ax2←6116
Ax2
T3
T4
395clear
395clear=0
表4.4.9STOREII各节拍操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
IR←6116
C6;C5
IR
T1
AR←IR
AR
T2
Ax2←6116
244-1;6116WE
T3
T4
395clear
395clear=0
表4.4.10ADD;SUB;AND;OR各节拍操作与控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6;C5
T1
Ax1←6116
S3~S0;M;C0;Ax1;157-1
T2
Ax2←Ax1
Ax2
T3
T4
395clear
395clear=0
表4.4.11JMP;JO;JZ各节拍操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6;C5
T1
T2
PC←AR
PCload;OF;ZF
T3
T4
395clear
395clear=0
表4.4.12PUSH各节拍操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
C6;C5
T1
T2
6116堆栈段←Ax2
157-2;244-1;6116WE
T3
SP++
SP++
T4
395clear
395clear=0
表4.4.13POP各节拍操作及控制信号表
节拍
操作
对应的控制信号
取指周期
T0
IR←6116
IR=1;C6=0;C5=0
T1
AR←IR
AR=1
T2
T3
T4
395Load
395Load=0
执行周期
T0
选择6116段
SP--
C6;C5
SP--
T1
Ax1←6116堆栈段
157-2;S3~S0;M;Ax1
T2
Ax2←Ax1
Ax2
T3
T4
395clear
395clear=0
五.实验实现
5.1选用芯片
5.1.174LS181
系统使用了2片181芯片作为ALU,用于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组原课设 报告