计算机组成原理上机实验报告.docx
- 文档编号:26135300
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:797.08KB
计算机组成原理上机实验报告.docx
《计算机组成原理上机实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理上机实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
计算机组成原理上机实验报告
《计算机组成原理实验》课程
实验报告
实验题目组成原理上机实验
班级1237-小
姓名
学号
时间2014年5月
成绩
实验一基本运算器实验
1.实验目的
(1)了解运算器的组成原理
(2)掌握运算器的工作原理
2.实验内容
输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。
表1-1运算器逻辑功能表
运算类型
A
B
S3S2S1S0
CN
结果
逻辑运算
65
A7
0000
X
F=(65)FC=()FZ=()
65
A7
0001
X
F=(A7)FC=()FZ=()
0010
X
F=()FC=()FZ=()
0011
X
F=()FC=()FZ=()
0100
X
F=()FC=()FZ=()
移位运算
0101
X
F=()FC=()FZ=()
0110
0
F=()FC=()FZ=()
1
F=()FC=()FZ=()
0111
0
F=()FC=()FZ=()
1
F=()FC=()FZ=()
算术运算
1000
X
F=()FC=()FZ=()
1001
X
F=()FC=()FZ=()
1010(FC=0)
X
F=()FC=()FZ=()
1010(FC=1)
X
F=()FC=()FZ=()
1011
X
F=()FC=()FZ=()
1100
X
F=()FC=()FZ=()
1101
X
F=()FC=()FZ=()
表1-2运算结果表
3.实验原理
本实验的原理如图1-1所示。
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片CPLD中。
图1-1运算器原理图
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。
图1-2中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。
例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。
(3)对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
运算器部件由一片CPLD实现。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
请注意:
实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。
图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4由时序单元的TS4提供(时序单元的介绍见附录二),其余控制信号均由CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图1-3所示(以A0为例,其
线路连接图
它相同)。
进位标志FC、零标志FZ和数据总线D7…D0的显示原理也是如此。
图1-3A0显示原理图
运算器的逻辑功能表如表1-1所示,其中S3S2S1S0CN为控制信号,FC为进位标志,FZ为运算器零标志,表中功能栏内的FC、FZ表示当前运算会影响到该标志。
4.实验结果
运算类型
A
B
S3S2S1S0
CN
结果
逻辑运算
65
A7
0000
X
F=(65)FC=(0)FZ=()
65
A7
0001
X
F=(A7)FC=(0)FZ=()
0010
X
F=(26)FC=(0)FZ=()
0011
X
F=(E7)FC=(0)FZ=()
0100
X
F=(9A)FC=(0)FZ=()
移位运算
0101
X
F=(CA)FC=
(1)FZ=()
0110
0
F=(32)FC=
(1)FZ=()
1
F=(B2)FC=
(1)FZ=()
0111
0
F=(CA)FC=(0)FZ=()
1
F=(CA)FC=(0)FZ=()
算术运算
1000
X
F=(65)FC=
(1)FZ=()
1001
X
F=(0C)FC=
(1)FZ=()
1010(FC=0)
X
F=(33)FC=
(1)FZ=()
1010(FC=1)
X
F=(0D)FC=
(1)FZ=()
1011
X
F=(BE)FC=
(1)FZ=()
1100
X
F=(64)FC=(0)FZ=()
1101
X
F=(66)FC=(0)FZ=()
5.实验心得
通过本次试验,了解了运算器的组成原理和工作原理,初步了解这门实验课的方法和步骤等,这只是一次很简单的实验,为的就是为后面几次相对比较复杂的实验打下坚实的基础,以便于更好的学习。
实验二静态随机存储器实验
1.试验目的
掌握静态随机存储器RAM工作特性及数据的读写方法
2.实验内容
1.向存储器中指定的地址单元输入数据,地址先输入AR寄存器,再将数据送入总线后,存到指定的存储单元,观察数据在各部件上的显示结果。
2.从存储器中指定的地址单元读出数据,地址先输入AR寄存器,读出的数据送入总线,观察数据在各部件上的显示结果。
3.实验原理
实验所用的静态存储器由一片6116(2K×8bit)构成(位于MEM单元),如图2-1所示。
6116有三个控制线:
CS(片选线)、OE(读线)、WE(写线),其功能如表2-1所示,当片选有效(CS=0)时,OE=0时进行读操作,WE=0时进行写操作,本实验将CS常接地。
由于存储器(MEM)最终是要挂接到CPU上,所以其还需要一个读写控制逻辑,使得CPU能控制MEM的读写,实验中的读写控制逻辑如图2-2所示,由于T3的参与,可以保证MEM的写脉宽与T3一致,T3由时序单元的TS3给出(时序单元的介绍见附录2)。
IOM用来选择是对I/O还是对MEM进行读写操作,RD=1时为读,WR=1时为写。
如表2-2所示。
表2-1SRAM6116功能表图2-2读写控制逻辑
表2-2读写逻辑控制表
IOM
WR
RD
IN
OUT
MEM
1
1
0
有效
1
0
1
有效
0
1
0
写
0
0
1
读
实验原理图如图2-3所示,存储器数据线接至数据总线,数据总线上接有8个LED灯显示D7…D0的内容。
地址线接至地址总线,地址总线上接有8个LED灯显示A7…A0的内容,地址由地址锁存器(74LS273,位于PC&AR单元)给出。
数据开关(位于IN单元)经一个三态门(74LS245)连至数据总线,分时给出地址和数据。
地址寄存器为8位,接入6116的地址A7…A0,6116的高三位地址A10…A8接地,所以其实际容量为256字节。
实验箱中所有单元的时序都连接至时序与操作台单元,CLR都连接至CON单元的CLR按钮。
实验时T3由时序单元给出,其余信号由CON单元的二进制开关模拟给出,其中IOM应为低(即MEM操作),RD、WR高有效,MR和MW低有效,LDAR高有效。
图2-3存储器实验原理图
4.实验心得
通过本次试验,了解了静态随机存储器RAM工作特性及数据的读写方法,同时知道了组成原理的理论课也很重要,没有理论课的基础,实验时就不知道怎么弄了,只有把理论和实践结合起来才能学好这门课。
实验三系统总线与总线接口
1.实验目的
(1)理解总线的概念及其特性
(2)掌握控制总线的功能和应用
2.实验内容
1、输入设备将一个数打入R0寄存器。
2、输入设备将另一个数打入地址寄存器。
3、将R0寄存器中的数写入到当前地址的存储器中。
4、将当前地址的存储器中的数用LED数码管显示。
3.实验原理
实验接线图
由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。
在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。
外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。
地址总线可以为外部设备提供地址信号和片选信号。
表3-2读写逻辑控制表
IOM
WR
RD
IN
OUT
MEM
1
1
0
有效
1
0
1
有效
0
1
0
写
0
0
1
读
在理解读写控制逻辑的基础上我们设计一个总线传输的实验。
实验所用总线传输实验框图如图3-3所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。
这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。
图3-3总线传输实验框图
4.实验心得
通过本次试验,我们对总线的概念和其特性及控制总线的功能和应用得到更多的了解。
学会了自己译码,自己译出控制信号等,感觉这是一门比较有趣的课程,希望这能在以后的学习和工作中带来一定的益处。
实验四微程序控制器实验
1.实验目的
(1)掌握微程序控制器的组成原理
(2)掌握微程序的编制、写入,观察微程序的运行过程
2.实验内容
设计以下机器指令的微程序,如表4-2所示:
表4-2机器指令的微程序
助记符
机器指令码
说明
IN
00100000
IN→R0
ADD
00000000
R0+R0→R0
OUT
00110000
R0→OUT
HLT
01010000
停机
本实验安排了四条机器指令,分别为ADD(00000000)、IN(00100000)、OUT(00110000)和HLT(01010000),括号中为各指令的二进制代码
3.实验原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图4-1所示。
图4-1微程序控制器组成原理框图
微程序控制器的组成见图4-2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
首先将KK1拨至‘停止’档、KK3拨至‘编程’档、KK4拨至‘控存’档、KK5拨至‘置数’档,由CON单元的SD05——SD00开关给出需要编辑的控存单元首地址(000000),IN单元开关给出该控存单元数据的低8位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC单元低8位显示该单元以前存储的数据,第二次按动后显示当前改动的数据),此时MC单元的指示灯MA5——MA0显示当前地址(000000),M7——M0显示当前数据(00010001)。
然后将KK5拨至‘加1’档,IN单元开关给出该控存单元数据的中8位(00100010),连续两次按动开关ST,完成对该控存单元中8位数据的修改,此时MC单元的指示灯MA5——MA0显示当前地址(000000),M15——M8显示当前数据(00100010);再由IN单元开关给出该控存单元数据的高8位(00110011),连续两次按动开关ST,完成对该控存单元高8位数据的修改此时MC单元的指示灯MA5——MA0显示当前地址(000000),M23——M16显示当前数据(00110011)。
此时被编辑的控存单元地址会自动加1(01H),由IN单元开关依次给出该控存单元数据的低8位、中8位和高8位配合每次开关ST的两次按动,即可完成对后续单元的编辑。
编辑完成后需进行校验,以确保编辑的正确。
以校验00H单元为例,对于控制存储器进行校验的具体操作步骤如下:
首先将KK1拨至‘停止’档、KK3拨至‘校验’档、KK4拨至‘控存’档、KK5拨至‘置数’档。
由CON单元的SD05——SD00开关给出需要校验的控存单元地址(000000),连续两次按动开关ST,MC单元指示灯M7——M0显示该单元低8位数据(00010001);KK5拨至‘加1’档,再连续两次按动开关ST,MC单元指示灯M15——M8显示该单元中8位数据(00100010);再连续两次按动开关ST,MC单元指示灯M23——M16显示该单元高8位数据(00110011)。
位于实验平台MC单元左上角一列三个指示灯MC2、MC1、MC0用来指示当前操作的微程序字段,分别对应M23——M16、M15——M8、M7——M0。
实验平台提供了比较灵活的手动操作方式,比如在上述操作中在对地址置数后将开关KK4拨至‘减1’档,则每次随着开关ST的两次拨动操作,字节数依次从高8位到低8位递减,减至低8位后,再按动两次开关ST,微地址会自动减一,继续对下一个单元的操作。
表4-1微指令格式
其中MA5…MA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
C字段中的P<1>为测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现完成对指令的识别,并实现微程序的分支,本系统上的指令译码原理如图4-3所示,图中I7…I2为指令寄存器的第7…2位输出,SE5…SE0为微控器单元微地址锁存器的强置端输出,指令译码逻辑在IR单元的INS_DEC(GAL20V8)中实现。
从图4-2中也可以看出,微控器产生的控制信号比表4-1中的要多,这是因为实验的不同,所需的控制信号也不一样,本实验只用了部分的控制信号。
本实验除了用到指令寄存器(IR)和通用寄存器R0外,还要用到IN和OUT单元,从微控器出来的信号中只有IOM、WR和RD三个信号,所以对这两个单元的读写信号还应先经过译码,其译码原理如图4-4所示。
IR单元的原理图如图4-5所示,R0单元原理如图4-7所示,IN单元的原理图见图4-3所示,OUT单元的原理图见图4-6所示。
图4-3指令译码原理图
图4-4读写控制逻辑图4-5IR单元原理图
实验中机器指令由CON单元的二进制开关手动给出,其余单元的控制信号均由微程序控制器自动产生,为此可以设计出相应的数据通路图,见图4-8所示。
图4-8数据通路图
4.实验心得
通过本次试验,我学习到了微程序控制器的组成原理及其编制、写入。
每一条控制代码,都是由几个控制代码组合而成,这用到了前面几次实验的知识,也让我掌握了自己编写控制代码的能力,感觉这次实验中收获良多,相信对最后一次实验会有很大的帮助。
实验五简单模型机设计实验
1.实验目的
(1)掌握一个简单CPU的组成原理
(2)在掌握部件单元电路的基础上,进一步将其构造成一台基本模型计算机
(3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念
2.实验内容
用所设计的5条机器指令编写一汇编语言程序,运行该程序并观察程序运行的结果。
要求该程序必须包含IN、ADD、OUT、JMP、HLT指令并且程序的长度在6条指令以上。
设计一段机器程序,要求从IN单元读入一个数据,存于R0,将R0和自身相加,结果存于R0,再将R0的值送OUT单元显示。
3.实验原理
简单模型机微程序流程图
本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。
CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1所示。
这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。
系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。
CLR连接至CON单元的总清端CLR,按下CLR按钮,将使PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入PC。
图5-2程序计数器(PC)原理图
本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:
IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):
其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。
微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。
根据以上要求,设计数据通路图,如图5-3所示。
图5-3数据通路图
本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。
因而在微指令中应增加相应的控制位,其微指令格式如表5-1所示。
4.实验结果
5.实验心得
通过本次实验我了解到了微程序和微指令与微程序之间的关系,这几次实验中我获益良多,平时我们能见到的都是计算机的外部结构,在计算机组成原理的学习中,逐步对计算机的内部结构有了一些了解,但始终都停留在理论阶段。
而在简单模型机设计中,让让我对运算器的内部结构有了更深的了解,并且对计算机组成原理也有了更深层次的理解,同时这次课程设计还锻炼了我的实验动手能力,也培养了我的认真负责的科学态度。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 上机 实验 报告