计算机组成原理实验报告Word格式.docx

上传人:b****5 文档编号:19640776 上传时间:2023-01-08 格式:DOCX 页数:60 大小:2.28MB
下载 相关 举报
计算机组成原理实验报告Word格式.docx_第1页
第1页 / 共60页
计算机组成原理实验报告Word格式.docx_第2页
第2页 / 共60页
计算机组成原理实验报告Word格式.docx_第3页
第3页 / 共60页
计算机组成原理实验报告Word格式.docx_第4页
第4页 / 共60页
计算机组成原理实验报告Word格式.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

计算机组成原理实验报告Word格式.docx

《计算机组成原理实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告Word格式.docx(60页珍藏版)》请在冰豆网上搜索。

计算机组成原理实验报告Word格式.docx

实验中的读写控制逻辑如下图:

读写控制逻辑

M_nI/O用来选择对MEM还是I/O读写,M_nI/O=1,选择存贮器MEM;

M_nI/O=0,选择I/O设备。

nRD=0为读操作;

nWR=0为写操作。

对MEM、I/O的写脉冲宽度与T2一致;

读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。

存贮器实验原理图

存贮器数据信号线与数据总线DBus相连;

地址信号线与地址总线ABus相连,6116的高三位地址A10..A8接地,所以其实际容量为256字节。

数据总线DBus、地址总线ABus、控制总线CBus与扩展区单元相连,扩展区单元的数码管、发光二极管上显示对应的数据。

IN单元通过一片74HC245(三态门),连接到内部数据总线iDBus上,分时提供地址、数据。

MAR由锁存器(74HC574,锁存写入的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。

T2、T3由CON单元提供,按一次CON单元的uSTEP键,时序单元发出T1信号;

按一次uSTEP键,时序单元发出T2信号;

按一次uSTEP键,时序单元发出T3信号;

再按一次uSTEP键,时序单元又发出T1信号,……

按一次STEP键,相当于按了三次uSTEP键,依次发出T1、T2、T3信号。

其余信号由开关区单元的拨动开关模拟给出,其中M_nI/O应为高(即对MEM读写操作)电平有效,nRD、nWR、wMAR、nMAROE、IN单元的nCS、nRD都是低电平有效。

三.实验过程和图片

1、连线说明:

CBus单元:

M_nIO、nRD、nWR、nINTA(JP42)

——

开关区单元:

K15..K12(JP92)

存贮器MEM单元:

A0..A7(JP72)

ABus单元:

A00..A07(JP56)

D0..D7(JP73)

DBus单元:

D0..D7(JP53)

M_nRD、M_nWR(JP71)

nM_RD、nM_WR(JP44)

MAR单元:

D0..D7(JP14)

iDBus单元:

iD0..iD7(JP38)

wMAR、nMAROE(JP13)

K7、K6(JP96)

IN单元:

IN0..IN7(JP101)

iD0..iD7(JP37)

nCS、nRD(JP100)

K1、K0(JP99)

扩展区单元:

JP65

A00..A07(JP55)

JP63

D0..D7(JP54)

JP67

nM_RD、nM_WR(JP50)

注意:

nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。

2、打开实验仪电源,按CON单元的nRST按键,复位

3、给6116的00H、01H、02H、03H、04H、05H地址单元写入数据11H、22H、33H、44H、55H、61H。

由前面的存贮器实验原理图中可以看出,IN单元的8个拨动开关提供数据和地址,因此先提供地址,具体操作步骤为:

(1)禁止对存贮器6116的读写(nWR=1,nRD=1);

(2)IN单元的拨动开关给出8位地址数据,IN单元的nCS=0、nRD=0,允许IN单元输出;

(3)MAR单元的nMAROE=0,允许MAR中锁存的地址数据输出到地址总线上;

wMAR=0,允许写MAR,按CON单元的STEP键一次,依次发出T1、T2、T3信号,在T3的下降沿,IN单元给出的地址数据锁存到MAR中。

再写数据:

(1)禁止对存贮器6116的读写(nWR=1,nRD=1)、MAR的写(wMAR=1);

(2)IN单元的拨动开关给出8位数据,IN单元的nCS=0、nRD=0,允许IN单元输出;

(3)允许对6116写(M_nIO=1,nRD=1,nWR=0),按uSTEP键三次,在T2的下降沿,数据写入6116中。

写存贮器的流程图如下(以向00地址单元写入11H为例)

写存贮器流程图

4、从6116的00H、01H、02H、03H、04H、05H地址单元读出数据,观察上述各单元中的内容是否与前面写入的一致。

与写操作类似,先给出地址,再禁止IN单元输出数据(nRD、nCS至少一个=1),最后进行读操作:

(1)使6116处于读状态(M_nIO=1,nRD=0,nWR=1),

(2)按uSTEP键三次,在T2、T3信号有效时,6116向数据总线输出数据。

读存贮器的流程如下(以从00地址单元读出11H为例):

读存储器流程图

如果实验仪、PC联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:

打开软件,在星研软件的工具条中选择“存贮器实验”,打开存贮器实验的数据通路图。

数据通路图

进行上面的手动操作,点击工具条上单节拍或单周期命令图标,数据通路图会反映当前对存贮器所做的操作,借助于数据通路图,仔细分析对SRAM的读写过程。

四.实验体会

通过这次实验,我基本掌握了有关静态随机存储器RAM工作特性及数据的读写方法。

这次的实验虽然连线比较简单,但是操作比较复杂,其原理也很丰富。

同样的我们在接口串行成功后,进行了实验步骤的操作。

根据书本上提供的数据我们进行了输入,并得到了正确的结果。

而为了充分验证它,并进一步了解它的原理,我跟组员也进行了一些创新,进行了不同的输入,然后通过书本原理计算结果,发现都与实验结果相同。

这让我们更清楚的知道了有关静态随机存储器RAM工作特性及数据的读写方法,有了很深刻的印象。

由于一次一次的实验,我们对某些原来步熟悉的元件也有了一定的认识,知道它某些方面的用途,以及在特定实验中的作用。

相信这些对以后的学习和实验都会有很大的帮助。

实验二系统总线和具有基本输入输出功能的总线接口实验

1.理解总线的概念及其特性;

掌握控制总线的功能和应用。

2.掌握中断控制信号线的功能和应用;

掌握在系统总线上设计中断控制信号线的方法。

由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。

在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。

外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。

地址总线可以为外部设备提供地址信号和片选信号。

由地址总线的高位进行译码,系统的I/O地址译码原理见下图(在地址总线单元)。

由于使用A6、A7进行译码,I/O地址空间被分为四个区,如表所示:

I/O地址译码原理图

A07A06

片选

地址范围

00

IO_nCE0

00-3F

01

IO_nCE1

40-7F

10

IO_nCE2

80-BF

11

IO_nCE3

C0-FF

I/O地址空间分配

CPU通过读写控制逻辑,控制MEM和I/O设备的读写。

实验中的读写控制

M_nIO用来选择对MEM还是I/O读写,M_nIO=1,选择存贮器MEM;

M_nIO=0,选择I/O设备。

在理解读写控制逻辑的基础上我们设计一个总线传输的实验。

实验所用总线传输实验框图如下图所示,它将几种不同的设备挂至总线上,有存贮器、输入设备、输出设备、寄存器。

这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。

1、根据挂在总线上的几个基本部件,设计一个简单的流程:

①输入设备将一个数打入R0寄存器。

②输入设备将另一个数打入地址寄存器。

③将R0寄存器中的数写入到当前地址的存储器中。

④将当前地址的存储器中的数通过OUT单元用LED数码管显示。

2、连线说明:

K5..K12(JP92)

ALU单元:

rR0、wR0

K9、K8

IN0..IN7(JP22)

JP37

nMAROE、wMAR(JP13)

K11、K10(JP94)

D0..D7(JP52)

nRD

nIO_RD(JP49)

nCS

GND

OUT单元:

nWR(JP68)

nIO_WR(JP48)

JP69

JP70

JP65

注意:

3、具体操作步骤图示如下:

在星研软件的工具条中选择“简单模型机实验”,打开简单模型机实验的数据通路图。

(1)拨动开关区单元开关:

M_nIO=1、nRD=1、nWR=1、nINTA=1、rR0=1、wR0=1、wMAR=1;

nMAROE=0(允许地址寄存器MAR输出到地址总线)

(2)打开实验仪电源

(3)通过输入设备(IN单元)将数据55H写入R0寄存器

将IN单元置01010101,wR0=0,允许写寄存器R0,M_nIO=0、nRD=0、nWR=1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻IN单元输出数据,在T3的下降沿IN单元输出的数据写入R0。

wR0=1,结束写R0操作

(4)读R0中数据写入存贮器MEM的15H单元

将IN单元置00010101,wMAR=0,允许写MAR,M_nIO=0、nRD=0、nWR=1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。

wMAR=1,结束写MAR操作。

rR0=0,允许读寄存器R0;

M_nIO=1、nRD=1、nWR=0,允许写存贮器;

点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的时刻完成对存贮器的写入操作。

rR0=1,M_nIO=1、nRD=1、nWR=1,结束写MEM操作。

(5)将当前地址的存贮器中数据读出,写入R0寄存器中。

wR0=0,允许写寄存器R0;

M_nIO=1、nRD=0、nWR=1,允许读存贮器;

点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻MEM单元输出数据,在T3的下降沿MEM单元输出的数据写入R0。

wR0=1,M_nIO=1、nRD=1、nWR=1,结束写R0操作。

(6)读R0寄存器,数据写入OUT单元,用数码管显示数据。

rR0=0,允许读寄存器R0;

M_nIO=0、nRD=1、nWR=0,允许写I/O设备;

点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的下降沿,R0寄存器输出的数据写入OUT单元。

rR0=1、M_nIO=1、nRD=1、nWR=1,结束本次操作。

1、存储器和输入、输出设备最终是要挂接到外部总线上,因此需要外部总线提供数据信号、地址信号以及控制信号。

2、外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。

而地址总线可以为外部设备提供地址信号和片选信号。

3.为了实现对于MEM和外设的读写操作,还需要一个读写控制逻辑,使得CPU能控制MEM和I/O设备的读写4、WR=0,RD=1,IOM=0时E0灭,表示存储器读功能信号有效。

WR=1,RD=0,IOM=0)连续按动开关ST,当指示灯显示为T3时刻时,E1灭,表示存储器写功能信号有效。

WR=0,RD=1,IOM=1时,E2灭,表示I/O读功能信号有效。

WR=1,RD=0,IOM=1)时,观察扩展单元数据指示灯,指示灯显示为T3时刻时,E3灭,表示I/O写功能信号有效。

5、在接线时为了方便,可将管脚接到CON单元闲置的开关上,若开关打到1,等效于接到VCC;

若开关打到0,等效于接到GND。

实验三具有中断控制功能的总线接口实验&

具有DMA控制功能的总线接口实验

DMA控制信号线的功能和应用;

掌握在系统总线上设计DMA控制信号线的方法。

直接存贮器传送DMA是指将外设的数据不经过CPU直接送入存贮器,或者,从存贮器不经过CPU直接送往外围设备。

一次DMA传送只需要执行一个DMA周期,能够满足一些高速外设数据传输的需要。

现在流行的ARM类CPU,内部集成有多个DMA控制器,允许SD卡、USB、CAN、串口、AD、DA等与存贮器之间通过DMA方式传输数据,可以大大减少占用CPU的时间。

DMA控制器(简称DMAC)传输数据时,需要占用总线,总线的控制权需要在CPU和DMAC之间切换,这就需要控制总线提供相应的信号,实现这种切换,避免总线竞争。

外设需要DMA传输时,向DMAC提出请求,DMAC通过控制总线HOLD信号向CPU提出DMA请求;

CPU在当前总线周期结束时,响应DMA请求:

释放总线控制权,发出有效HLDA信号给DMAC;

DMAC接受总线控制权,开始DMA传输,传送完毕后,撤销HOLD信号,释放总线控制权;

CPU收回总线控制权,同时使HLDA信号失效。

实验原理图

如上图所示,CPU在每个机器周期的T3时刻结束时锁存DMA请求HOLD,如果有DMA请求,生成有效的HLDA信号,

(1)锁住CPU时钟信号,使T1、T2、T3均无效,冻住CPU

(2)释放控制总线、数据总线、地址总线,外部总线都处于高阻状态;

DMAC接受总线控制权,等DMA传输完毕,撤消HOLD信号;

CPU在每个时钟周期,检查HOLD信号,监测到无效的HOLD的信号后,

(1)CPU输出时钟信号,使CPU可以继续工作

(2)收回控制总线、数据总线、地址总线控制权。

在本实验中,检查U36(74HC245,CPU内外数据总线缓冲器)、U37(74HC245,CPU内外地址总线缓冲器)的OE脚,判断CPU是否失去数据总线、地址总线的控制权;

通过检查CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR信号,检查CPU对控制总线的控制权。

JP47(nIO_RD、nIO_WR、nM_RD、nM_WR、HOLD、HLDA)

HOLD(JP50)

K0(JP99)

2、具体操作步骤如下:

(1)打开实验仪电源,将开关区单元的K0置为0,按CON单元的nRST按键,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功能表

运算类型

S3S2S1S0

CN_I

逻辑运算

0000

F=A(直通)

F=B(直通)

0001

X

F=A+B(或)

(FZ)

0010

F=A*B(与)

0011

F=A^B(异或)

0100

F=/A(取反)

移位运算

0101

F=A不带进位循环右移B(取低3位)位

F=A算术右移一位

0110

F=A逻辑右移一位

F=A带进位循环右移一位

(FC,FZ)

0111

F=A逻辑左移一位

F=A带进位循环左移一位

算术运算

1000

F=A+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1