计算机组成原理实验报告.docx
- 文档编号:18606817
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:29
- 大小:344.89KB
计算机组成原理实验报告.docx
《计算机组成原理实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告.docx(29页珍藏版)》请在冰点文库上搜索。
计算机组成原理实验报告
实
验
报
告
●运算器实验
一、实验目的
掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。
二、实验要求
完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
三、实验原理
实验中所用的运算器数据通路如图2-3-1所示。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
图2-3-1 运算器数据通路
图中AWR、BWR在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的脉冲把总线上的数据打入,实现运算源寄存器A、暂存器B的写入操作。
四、运算器功能编码
算术运算
逻辑运算
K15
K13
K12
K11
功能
K15
K13
K12
K11
功能
M
S2
S1
S0
M
S2
S1
S0
0
0
0
0
A+B+C
1
0
0
0
B
0
0
0
1
A—B—C
1
0
0
1
/A
0
0
1
0
RLC
1
0
1
0
A-1
0
0
1
1
RRC
1
0
1
1
A=0
0
1
0
0
A+B
1
1
0
0
A#B
0
1
0
1
A—B
1
1
0
1
A&B
0
1
1
0
RL
1
1
1
0
A+1
0
1
1
1
RR
1
1
1
1
A
五、实验连线
K23~K0置“1”,灭M23~M0控位显示灯。
然后按下表要求“搭接”部件控制路。
表2.3.2运算实验电路搭接表
连线
信号孔
接入孔
作用
有效电平
1
DRCK
CLOCK
单元手动实验状态的时钟源
上升沿打入
2
X2
K10(M10)
源部件译码输入端X2
三八译码
八中选一
低电平有效
3
X1
K9(M9)
源部件译码输入端X1
4
X0
K8(M8)
源部件译码输入端X0
5
XP
K7(M7)
源部件奇偶标志:
0=偶寻址,1=奇寻址
6
M
K15(M15)
运算控制位:
0=算术运算,1=逻辑运算
7
S2
K13(M13)
运算状态位S2
8
S1
K12(M12)
运算状态位S1
9
S0
K11(M11)
运算状态位S0
10
AWR
K17(M17)
A运算源寄存器写使能
低电平有效
11
BWR
K18(M18)
B运算源暂存器写使能
低电平有效
算术运算
1.运算源寄存器写流程
通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:
2.运算源寄存器读流程
关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。
3.加法与减法运算
令MS2S1S0(K15K13~K11=0100),为算术加,FUN及总线单元显示A+B的结果
令MS2S1S0(K15K13~K11=0101),为算术减,FUN及总线单元显示A-B的结果。
逻辑运算
1.运算源寄存器写流程
通过“I/O输入输出单元”开关向寄存器A和B置数,具体操作步骤如下:
2.运算源寄存器读流程
关闭A、B写使能,令K17=K18=1,按下流程分别读A、B。
1若运算控制位设为(MS2S1S0=1111)则F=A,即A内容送到数据总线。
2若运算控制位设为(MS2S1S0=1000)则F=B,即B内容送到数据总线。
3逻辑运算
令MS2S1S0(K15K13~K11=1101),为逻辑与,FUN及总线显示A逻辑与B的结果。
令MS2S1S0(K15K13~K11=1100),为逻辑或,FUN及总线显示A逻辑或B的结
●移位运算
现代计算机CPU的累加器(A)在运算中通常含有移位的功能,为了规范运算器的设计,Dais-CMX08+在移位运算时把累加器A视为移位的源与目的寄存器,也就是说移位是通过累加器A实现的,这种规范的设计理念使我们的运算器能够与标准机微指令系统相吻合,达到可以面向源程序级(汇编及C语言)的水准。
1.移位控制编码
表2.3.3移位编码表
K15
K13
K12
K11
功能
M
S2
S1
S0
0
1
1
1
RR
0
1
1
0
RL
0
0
1
1
RRC
0
0
1
0
RLC
2.移位执行过程
1循环左移
2循环右移
3带进位循环左移
4带进位循环右移
所谓循环移位,就是指移位时数据的首尾相连进行移位,即最高(最低)位的移出位又移入数据的最低(最高)位。
根据循环移位时进位位是否一起参加循环,可将循环移位分为不带进位循环和带进位循环两类。
其中不带进位循环是指进位“CY”的内容不与数据部分一起循环移位,也称小循环。
带进位循环是指进位“CY”中的内容与数据部分一起循环移位,也称大循环。
◆不带进位循环左移:
各位按位左移,最高位移入最低位。
◆不带进位循环右移:
各位按位右移,最低位移入最高位。
◆带进位循环左移:
各位按位左移,最高位移入C中,C中内容移入最低位。
◆带进位循环右:
各位按位右移,最低位移入C中,C中内容移入最高位。
循环移位一般用于实现循环式控制、高低字节的互换,还可以用于实现多倍字长数据的算术移位或逻辑移位。
3.移位运算实例
(1)A寄存器置数
拨动“I/O输入输出单元”开关向移位源寄存器A置数,具体操作步骤如下:
(2)A寄存器移位流程
完成上流程的操作后,按表2.3.3改变K13、K11的状态,再按动【单拍】钮,观察A的变化。
1当K13K11=11,每按一次【单拍】钮,A右移一位。
2当K13K11=10,每按一次【单拍】钮,A左移一位。
3当K13K11=01,每按一次【单拍】钮,A带进位右移一位。
4当K13K11=00,每按一次【单拍】钮,A带进位左移一位。
5实验思考
验证表2.3.1ALU运算器编码表所列的运算功能。
在给定A=55h、B=77h的情况下,K23~K0置“1”,改变运算器的功能设置位MS2S1S0(K15K13~K11),观察运算器的输出,填入下页表格中,并和理论分析进行比较、验证。
表2.3.4 ALU运算器真值表
运算控制
运算表达式
K15
K13
K12
K11
A
B
运算结果
M
S2
S1
S0
带进位算术加
A+B+C
0
0
0
0
55
77
FUN=(CC)
带借位算术减
A-B-C
0
0
0
1
55
77
FUN=(DE)
带进位左移
RLCA
0
0
1
0
55
77
FUN=(AA)
带进位右移
RRCA
0
0
1
1
FUN=()
算术加
A+B
0
1
0
0
FUN=()
算术减
A-B
0
1
0
1
FUN=()
左移
RLA
0
1
1
0
FUN=()
右移
RRA
0
1
1
1
FUN=()
取B值
B
1
0
0
0
55
77
FUN=(77)
A取反
NOTA
1
0
0
1
55
77
FUN=(AA)
A减1
A-1
1
0
1
0
55
77
FUN=(54)
清零
0
1
0
1
1
FUN=()
逻辑或
AORB
1
1
0
0
FUN=()
逻辑与
AANDB
1
1
0
1
FUN=()
A加1
A+1
1
1
1
0
FUN=()
取A值
A
1
1
1
1
FUN=()
●实验心得
这次的实验我了解到了如何调整ALU—BUS、SW—BUS#、M1、LDDR1、M2、LDDR2和运算类型选择端S2、S1、S0记录下实验数据。
●通用寄存器实验
一、实验目的
1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用。
二、实验要求
掌握通用寄存器R3~R0的读写操作。
三、实验原理
实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成R1R0(CX)、R3R2(DX)通用寄存器组。
图中X2X1X0定义输出选通使能,SI、XP控制位为源选通控制。
RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。
DRCK信号为寄存器组打入脉冲,上升沿有效。
准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2-3-3通用寄存器数据通路
四、实验内容
1.实验连线
K23~K0置“1”,灭M23~M0控位显示灯。
然后按下表要求“搭接”部件控制电路。
连线
信号孔
接入孔
作用
有效电平
1
DRCK
CLOCK
单元手动实验状态的时钟来源
上升沿打入
2
X2
K10(M10)
源部件译码输入端X2
三八译码
八中选一
低电平有效
3
X1
K9(M9)
源部件译码输入端X1
4
X0
K8(M8)
源部件译码输入端X0
5
XP
K7(M7)
源部件奇偶标志:
0=偶寻址,1=奇寻址
6
SI
K20(M20)
源寄存器地址:
0=CX,1=DX
7
RWR
K18(M18)
通用寄存器写使能
低电平有效
8
DI
K17(M17)
目标寄存器地址:
0=CX,1=DX
9
OP
K16(M16)
目标部件奇偶标志:
0=偶寻址,1=奇寻址
2.寄存器的读写操作
1目的通路
当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。
通用寄存器“手动/搭接”目的编码
目标使能
通用寄存器目的编址
功能说明
RW(K18)
DI(K17)
OP(K16)
T
0
0
0
↑
R0写
0
0
1
↑
R1写
0
1
0
↑
R2写
0
1
1
↑
R3写
2通用寄存器的写入
通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:
通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:
3源通路
当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。
通用寄存器“手动/搭接”源编码
源使能
通用寄存器源编址
功能说明
K10
K9
K8
K20
K7
X2
X1
X0
SI
XP
0
0
1
0
0
R0送总线
0
1
R1送总线
1
0
R2送总线
1
1
R3送总线
4通用寄存器的读出
关闭写使能,令K18(RWR)=1,按下流程分别读R0、R1、R2、R3。
●实验心得
这次的实验我了解到寄存器是CPU内部重要的数据存储资源,用来暂存数据和地址,是汇编程序员能直接使用的硬件资源之一。
由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。
寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。
●存储器读写实验
一、实验目的
熟悉和了解存储器组织与总线组成的数据通路。
二、实验要求
按照实验步骤完成实验项目,掌握存储部件在原理计算机中的运用。
三、实验原理
存储器是计算机的存储部件,用于存放程序和数据。
存储器是计算机信息存储的核心,是计算机必不可少的部件之一,计算机就是按存放在存储器中的程序自动有序不间断地进行工作。
本系统从提高存储器存储信息效率的角度设计数据通路,按现代计算机中最为典型的分段存储理念把存储器组织划分为程序段、数据段、内存或堆栈段,由此派生了数据总线(DBus)、指令总线(IBus)、微总线(μBus)等与现代计算机设计规范相吻合的实验环境。
实验所用的存储器电路原理如图2-3-8所示,该存储器组织由一片6116构成具有段概念的信息存储体系,该存储体系Addr由IP指针和AR指针分时提供,E/M控位为“1”时选通IP,反之选通AR。
该存储器可动态变更程序源与数据源,把我们的教学实验提高到能与现代计算机设计规范相匹配与接轨的层面。
图2-3-8存储器数据通路
四、存储器分类与寻址
1.存储器组织分类表
“搭接”态本系统存储器由二个部分组成,详见下表:
分类
存储容量
寻址范围
程序段
256字节
0~0FF
数据段
256字节
0~0FF
五、实验内容
1.实验连线
K23~K0置“1”,灭M23~M0控位显示灯。
然后按下表要求“搭接”部件控制电路。
连线
信号孔
接入孔
作用
有效电平
1
MOCK
CLOCK
单元手动实验状态的时钟来源
上升沿打入
2
X2
K10(M10)
源部件译码输入端X2
三八译码
八中选一
低电平有效
3
X1
K9(M9)
源部件译码输入端X1
4
X0
K8(M8)
源部件译码输入端X0
5
XP
K7(M7)
I/O部件奇偶标志:
0=偶寻址,1=奇寻址
6
E/M
K23(M23)
Addr地址段定义:
0=AR指针,1=PC指针
7
MWR
K21(M21)
存储器写使能:
0=存储器写,1=存储器读
8
LDAR
K19(M19)
AR地址寄存器写使能
低电平有效
9
LDPC
K22(M22)
PC装载与PC+1
低电平有效
2.存储器数据段读写操作
(1)数据段写操作
按下流程从0址单元开始,向数据段00h~05h单元依次写入112233445566。
(2)数据段读操作
依次读出数据段00~05h单元的内容,这里以0址单元读出为例阐述操作流程。
执行上述流程总线单元应显示11h,若正确可按上述流程读出01h~05h单元的内容。
3.存储器程序段读写操作
(1)程序段写操作
1PC装载写操作流程:
2PC+1写操作流程:
重复PC+1写流程,分别对02~04写入234567。
(2)程序段读操作
PC装载及PC+1读操作流程
完成上流程,PC=01,总线单元显示AA,此时每按一次【单拍】按钮,PC+1,总线单元依次显示234567……等内容。
4.程序与数据存储器的分段读出
1分段读出流程
由上流程可知存储器组织0地址的内容有两个,其中55为程序段内容,11为数据段内容。
●实验心得
这次实验我掌握了静态存储器的工作特性及使用方法,掌握了半导体随机存储器怎样存储和读出数据。
发现自己对计算机的实验感兴趣了。
在做实验之前,需要把实验原理先弄清楚。
●中断控制实验
一、实验目的
1.熟悉中断的硬件机制。
2.了解中断的编程规则。
3.掌握中断的控制方法。
二、实验要求
通过实验,理解中断工作过程。
三、实验原理
所谓中断就是指处理机暂时终止执行现行程序而转去处理更加紧迫的事件服务程序,待处理机完毕后再自动返回执行原来的程序过程。
按图2-4-12所示,本系统提供了一个单级中断硬件机制,由中断允许位IEQ、中断申请源INO、中断请求源INQ和中断响应标志IAQ组成。
微程序控制器每执行一条机器指令之后,先查询中断请求源INQ,如果INQ为“1”,则继续执行下一条机器指令,若检测到INQ为“0”,强制转入微程序控制器的003号单元执行中断响应微服务。
中断服务微程序首先置位中断响应标志IAQ,迫使请求源INQ复位,其次执行当前PC的进栈操作,然后按照机器程序的要求随机定义中断向量,把中断服务程序入口地址装入程序计数器PC中,转入中断服务子程序的执行。
遇RET指令,执行中断服务返回微操作,清除中断服务响应标志IAQ,把栈顶所指单元的内容装入程序计数器PC中,恢复执行被中断的机器程序。
四、控制电路
图2-4-12中断控制电路
五、控制格式
1.中断允许控制IEQ
表2.4.5中断允许控制表
K16
K6
K3
脉冲
功能
说明
Op
W
Ie
T
1
1
0
↑
1→IEQ
开中断
1
0
0
↑
0→IEQ
关中断
2.中断响应控制IAQ
表2.4.6中断响应控制表
K16
K6
K3
脉冲
功能
说明
Op
W
Ie
T
0
1
0
↑
1→IAQ
中断响应
0
0
0
↑
0→IAQ
中断退出
3.中断请求控制INQ
表2.4.7中断请求控制表
IEQ
IAQ
IN0
T
功能
说明
1
0
0
↑
0→INQ
锁存请求
X
1
X
↑
1→INQ
清除请求
说明:
三表中T脉冲在手动状态由【单拍】按钮模拟产生。
六、中断实验
1.中断允许控制
2.中断请求与中断服务控制
用一双头实验导线将中断请求源输入插孔XINT与中断源产生插孔INT相连接。
●实验心得
这次实验我了解到中断控制的原则就是进程的优先级,当优先级高的进程发出请求时,CPU会暂停当前运算的进程,进行优先级高的进程处理,优先级高的进程运行完毕后,CPU继续进行原有进程的运算。
当然如果某程序运行时不想被中断,可以在程序运行时禁用中断,当然这是在单片机编程时可以。
●微控制器实验
一、实验目旳
1.熟悉微控制器的的控制原理。
2.掌握微控制器的实现方法。
二、实验要求
通过控制器实验,理解计算机内部工作过程,建立计算机整机工作概念。
三、控制器组成
控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、I/O设备等联系成一个有机的系统,并根据程序所特定的微指令序列对各部件的具体要求,适时地发出各种命令,控制计算机各部件有条不紊的进行工作。
如图2-4-13所示,本系统控制器由组合逻辑与存储逻辑集合组成。
两者按独立控制器的规范与标准设计,既可单独控制,亦可交替互补(混合)控制,在国内率先把PLA控制理念融入微控制器的设计与实现中。
图2-4-13 控制器组成框图
1.组合逻辑型
如图2-4-13所示的PLD框为组合逻辑型控制器,由可编程器件XC9572独立组成,在器件编程环境的支撑下完成微操作控制信号的设计与下载。
以取得最高操作速度为设计目标,它的缺点是繁锁、杂乱、缺乏规律性,且不易修改和扩充,缺乏灵活性。
组合逻辑控制器实质上是一个组合逻辑电路,它将一组输入逻辑信号转换成一组输出控制信号,可称为硬布线控制器。
2.存储逻辑型
如图2-4-13所示的CM框为存储逻辑型微程序控制器,它是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序,存入控制存储器中,微操作控制信号由微指令产生。
微程序控制器的设计思想和组合逻辑的设计思想截然不同。
它具有设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。
但是,由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。
3.组合逻辑与存储逻辑结型
如图2-4-13所示,本系统控制器由组合逻辑与存储逻辑集合组成PLA控制器,它是吸收前两种的设计思想来实现的。
PLA控制器实际上也是一种组合逻辑控制器,但它又与常规的组合逻辑控制器的硬联结构不同,它是程序可编的,某一微操作控制信号由存储逻辑控制器产生。
4.关于组合逻辑控制器实验
组合逻辑控制器由大规模可编程器件的软逻辑设计定义,渉及器件的开发环境,我们在基于“RISC”处理器构成的模型机实验中论证。
这里以微程序控制器为例展开控制器的原理组成与顺序控制实验。
四、微程序控制器
微程序控制的实质是用程序设计的思想方法耒组织微操作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。
把各条指令的微操作序列以二进制编码字的形式设计成微程序,存放在控制存储器中,通过读取并执行相应的微程序实现一条指令的功能。
这就是微程序控制的基本概念。
1.微程序控制器的组成结构
1)控制存储器CM
如图2-4-14所示的CM框为微程序控制器,由2片6264和1片6116共三片静态存储器平行组成。
它们的地址通路由微程序计数器μPC供给,其寻址范围为0~7FF.控制器设有段微址,2片6264的数据端在段微址的指示下分时输出下址与微控制信息,并和6116的数据端平行组成24个途经三态门隔离驱动的微控制位(M23~M0)。
2)微程序计数器μPC
图2-4-14所示的微地址计数器框由3片161构成按字方式寻址的uPC计数器,计数器的输入端通过微总线(ubus)从指令译码器ID、微控制器(CM)的下址段捕捉非因变分量,从运算标志PSW、中断请求标志INQ等标志中捕捉因变分量。
计数器的输出端组成12位微地址总线,控制微程序存储器的寻址。
其中ua11为段微址,电路构造中与2片6264的地址端“A11”相连,它零状态输出微控制信息,“1”状态输出后续微地址。
它的清零端由中央外理器单元直控,上电时uPC计数器自动清零,在手动实验中按【返回】键可实现计数器的手动清零。
图2-4-14 微程序控制器原理图
2.微程序的执行过程
图2-4-14所标示的字号表示微程序控制的全部工作过程。
1)启动取指微指令或微程序,根据程序计数器PC所提供的指令地址,从EM主存中取出所要执行的机器指令,送入指令寄存器IR、指令译码器ID中,并且完成PC+1,指向机器指令的下址单元。
2)根据ID译码器中的指令码,把微地址形成电路产生的机器指令起始微地址打入μPC。
3)从μPC所指定的CM控制存储器单元分时输出微操作控制字段与后续微地址控制字段。
4)微指令的操作控制字段经译码或直接产生一组微命令,控制有关功能部件完成微程序所规定的微操作。
5)微指令的下址段及当前PSW、INQ等标志送往微地址形成电路,产生下条微指令的地址,进入读取与执行下条微指令。
如此循环,直到一条机器指令的微程序全部执行完毕。
图2-4-15 微指令控制格式
3.微指令格式及编码
本系统采用字段直接编码法,把微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。
如图2-4-15所示,本控制器微指令字长35位,其中24个操作控制位分别由识别判断字段、运算控制字段、源寻址字段、目的寻址字段及直接控制字段组成。
在下址捕捉时段由M18~M8输出字为十一位的后续微地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告