计算机组成原理实验报告(3)

2019-02-21 00:06

三. 实验过程和图片

1、连线说明: CBus单元:JP47(nIO_RD、nIO_WR、nM_RD、nM_WR、HOLD、HLDA) CBus单元:HOLD(JP50)

2、具体操作步骤如下:

(1)打开实验仪电源,将开关区单元的K0置为0,按CON单元的nRST

—— —— 扩展区单元:JP67 开关区单元:K0(JP99) 按键,CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR、HOLD、HLDA输出“1”、“1”、“1”、“1”、“0”、“0”,前四个信号分别点亮扩展区的DS159、DS160、DS161、DS162指示灯。用万用表测量U36、U37的19脚(OE),应该都是低电平。

(2)将开关区单元的K0(HOLD)置为1,连续按动CON单元的uSTEP键,发现在T3结束时,HLDA信号点亮DS164,表示CPU响应DMA请求,T1、T2、T3均输出无效的低电平信号,再按uSTEP键,也没反应,表示CPU已锁住时钟信号;CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR对应的DS159、DS160、DS161、DS162指示灯均熄灭,表示这几个控制信号均处于高阻状态(因为扩展区的排针上接有下拉电阻,高阻信号接到这些排针上,变为低电平,所以指示灯熄灭);测量U36、U37的19脚(OE),应该都是高电平,说明CPU与外部总线已隔断。

(3)将开关区单元的K0(HOLD)置为0,撤消DMA请求,按动CON单元的uSTEP键一次,发现HLDA信号对应的指示灯DS164熄灭,表示CPU输出无效的HLDA信号(低电平);T1输出高电平,T2、T3输出低电平信号,表示CPU时钟已开始正常工作;CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR对应的DS159、DS160、DS161、DS162指示灯点亮,表示CPU已输出这几个控制信号;测量U36、U37的19脚(OE),应该都是低电平,说明CPU已收回外部总线控制权。

四. 实验体会

1.CPU的响应包括两方面: (1)让出总线控制权 (2)将有效的HALD信号加到DMAC上,通知DMAC可以 使用总线进行数据传输。 2.CPU在收到无效的HOLD信号时,一方面使HALD无效,另一方面,重新开始控制总线,实现正常运行。

3.在每个机器周期的T4时刻根据,HOLD信号来判断是否有DMA请求,如果有,则产生有效的HALD信号。 HALD信号一方面锁死CPU的时钟信号,使CPU保持当前状态,等待DMA操作的结束。 另一方面使控制缓冲、数据缓冲、地址缓冲都处于高阻状态,隔断CPU与外总线的联系,将外总线交由DMAC控制。

4、当 HALD 信号无效时,总线上输出的存储器读信号 XMRD 为有效态“0”,当 HALD 信号有效时,总线上输出的存储器 读信号 XMRD 为高阻态。

5、XMRD 为低时,相应的指示灯E0 灭。使用电压表测量数据总线和地址总线左侧的芯片74LS245的使能控制信号(第19脚),发现电压为低,说明数据总线和地址总线与 CPU 连通。

6、按动开关ST,发现控制总线单元的时钟信号指示灯T1——T4保 持不变,说明CPU的时钟被锁死。此时XMRD为高阻态,相应的指示灯E0亮。

二. 实验内容

一. 实验目的

了解运算器的组成结构;掌握运算器的工作原理。

实验四 基本运算器实验

运算器原理图

运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器 B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),控制信号S3..S0、CN_I决定哪个部件工作、对操作数进行何种运算,S3..S0通过多路选择开关选择这个部件的结果作为ALU的输出;如果运算影响进位标志FC、零标志FZ、正负标志位FS,在T3状态的下降沿,结果分别锁存到FC、FZ、FS ;

I是中断允许标志位。ALU中所有模块集成在一片 CPLD中。

逻辑运算部件由逻辑门构成,较为简单,后一节有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是8×8位桶形移位器,这样,可以使所有的移位操作都可以一次完成。下图是一个4×4位桶形移位器

所有的输入通过交叉开关与所有的输出端相连。

如右移2位,第2条对角线(右移2)上的2个交叉开关接通,即第3位(in[3])右移至第1位(out[1]),第2位(in[2])移至第0位(out[0])。

又如右环移1位,第3条对角线(右移1)和第7条对角线(左3,3=4-1)同时有效,即可方便地实现右环移。

逻辑左移/右移只须把没连接的输出位同时充以“0”即可实现;算术右移也只须把没连接的输出位用符号位填充即可。

运算器部件由一片CPLD实现。ALU的输出通过三态门连到CPU内部数据总线(iDBus)上,另外还有指示灯标明进位标志FC、零标志FZ、正负标志FS。请注意:图中T1、T2、T3、nRST已与CON单元相连,其它信号都来自于ALU单元的排针上。

实验仪所有单元的T1、T2、T3、nRST已与控制台(CON)单元的T1、T2、T3、nRst连接,nRst提供复位信号;T1、T2、T3是一个微指令周期的三个节拍,高电平有效,瞬间只有一个信号有效,初始状态T1、T2、T3都是低电平。wA(允许写暂存器A)、wB(允许写暂存器B)、rALU(允许ALU结果输出到内部数据总线(iDBus)上),都是低电平有效。

暂存器A和暂存器B的数据能在 LED灯上实时显示,原理如下图:

进位标志FC、零标志FZ、正负标志FS、内部数据总线 iD7…iD0的显示原理与此类似;B、寄存器R0-3、堆栈寄存器SP、标志寄存器PSW(含FC、FZ、FS、I)共用R_0..R_7八个发光二极管,通过Select按键选择,按键上方的发光二极管指示R_0..R_7显示那个寄存器的值。

ALU功能表 运S3 S2 S1 C功能 算类型 S0 N_I F = A (直通) F = B (直通) F = A + B (或) (FZ) 逻辑运算 F = A * B (与) (FZ) F = A ^ B (异或) (FZ) F = /A (取反) (FZ) F = A 不带进位循环右移0 (FZ) B(取低3位)位 0101 1 F = A 算术右移一位 (FZ) 0 F = A 逻辑右移一位 (FZ) 移0110 F = A 带进位循环右移一(FC,位运算 1 位 FZ) 0 F = A 逻辑左移一位 (FZ) 0111 F = A 带进位循环左移一(FC,1 位 FZ) (FC,0 F = A + B FZ,FS) 1000 (FC,1 F = A + B + FC FZ,FS) (FC,0 F = A - B 算FZ,FS) 1001 术运算 (FC,1 F = A - B - FC FZ,FS) 0 F = A + 1 (FZ) 1010 1 F = NEG A (取补) (FZ) 1011 X F = A - 1 (FZ) 1100 X 置FC = CN_I (FC) 其它 1101 X 置I = CN_I (I) 1110 (保留) 1111 (保留) S3、S2、S1、S0、CN_I为控制信号,FC-进位标志,FZ-零标志,FS-正负标志,I-中断允许标志;表中功能栏内的FC、FZ、FS表示当前运算会影响到该标志。

0000 0000 0001 0010 0011 0100 0 1 X X X X 三. 实验过程和图片

1、连线说明:

ALU单元:S0..S3(JP18) —开关区单元:K20..K23(JP89) — ALU单元:wA、wB、rALU、—开关区单元:K15..K12(JP92) CN_I(JP19) — ALU单元:—扩展区单元:JP62 ALU_D0..ALU_D7(JP25) — ALU单元:IN0..IN7(JP22) —开关区单元:K0..K7(JP97)


计算机组成原理实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工作面煤体注水安全技术措施

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: