第一篇:计组实验数据通路实验报告
存储器实验
预习实验报告
疑问:
1、数据通路是干嘛的?
2、数据通路如何实现其功能?
3、实验书上的存储器部分总线开关接在高电平上,是不是错了?
一、波形图:参数设置:
信号设置:
clk:
bus_sel:
alu_sel:
ld_reg:
pc_sel:
we_rd:
k:
d:
d~result:
ar:
pc:
仿真波形
实验报告
Endtime:2.0us
Gridsize:100.0ns
时钟信号,设置周期为100ns占空比为50%。
sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将
存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上,将alu的运算结果显示到总线上,将pc的数据打入AR中二进制输入,低电平有效。
m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高
电平有效。
lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器
r1,r2,r4, r5或AR中,二进制输入,高电平有效。
pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装
载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作,二进制输入,高电平有效
k [7]~ k [0],数据输入端信号,十六进制输入。
d[7]~d[0],数据输出中间信号,十六进制双向信号。
d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。
以在01H单元中写入05H、02H单元中写入0AH并进行【(A加B)减(非A与B)加B】为例:
1)初始状态:bus_sel=11111,alu_sel=00000,ld_reg=00000,pc_sel=100,we_rd=00,k=00H,总线上无数据,呈高阻态。2)读取01H单元的05A:
① 置数法PC=01H:bus_sel=01111,pc_sel=101 ② PC->AR:bus_sel=11110,ld_reg=00001 ③ 读01H单元的数据放入R1中:bus_sel=11111,ld_reg=10000,we_rd=01 3)读取02H单元的0AH:
① PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111 ② 读01H单元的数据放入R2中:bus_sel=11111,ld_reg=01000,we_rd=01 4)将地址加到03H :bus_sel=11110,ld_reg=00001,pc_sel=111 5)验证数据并运算: bus_sel=11101 ① 读取R1中的数据:alu_sel=010000,得到R1=05H ② 读取R2中的数据:alu_sel=101010,得到R2=0AH ③ 计算(A加B)结果存于R4中:alu_sel=011001,ld_reg=00100,结果为0FH ④ 计算(非A与B)结果存于03H单元中:alu_sel=100010,we_rd=10,结果为0AH ⑤ 计算((A加B)加B)结果存于04H单元中:
R4->R1:bus_sel=10111,ld_reg=10000 PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111 计算((A加B)加B)结果存于04H单元中:bus_sel=11101,alu_sel=011001,we_rd=10 ⑥ 计算(((A加B)加B)减(非A与B))结果存于05H中:
((A加B)加B)->R1:bus_sel=11111,ld_reg=10000,we_rd=01 (非A与B)->R2:
PC=03H:k=03H,bus_sel=01111,pc_sel=101 PC->AR:bus_sel=11110,ld_reg=00001 (非A与B)->R2:bus_sel=11111,ld_reg=01000,we_rd=01 PC=05H:
PC=05H:k=03H,bus_sel=01111,pc_sel=101 PC->AR:bus_sel=11110,ld_reg=00001
(((A加B)加B)减(非A与B))结果存于05H中:bus_sel=11101,alu_sel=000110,we_rd=10 最后结果为0FH。结论:
本实验的设计能结合了运算器和存储器,能实现在mif文件中进行初始化,将固定地址单元中存储的数据读取到运算器中进行(((A加B)加B)减(非A与B))的运算并将结果存于指定的内存单元中,与实验要求一致,故电路设计正确。
二、实验日志
预习疑问解答:
1.通路是干嘛的?
在数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路.2.通路如何实现其功能?
在这次的实验中,数据通路主要是由运算器部分和存储器部分组成的,通过运算器的运算结合存储器在mif文件的中的操作进行数据的传输与存储,从而构成一个数据通路.错
3.书上的存储器部分总线开关接在高电平上,是不是错了? 事实证明没有接错.
思考题:
1. 画数据通路电路图时,如何连结单一总线? 如图:
ALU模块的sw_bus依然连接bus_sel,存储器部分的sw_bus连接高电平.2. 如何统一两个模块的总线输入端k[7..0]及inputd[7..0]?
答:如图: 输入放在运算器部分,存储器部分无输入,存储器部分的数据要么来自总线传输,要么从mif文件中读取.实验中遇到的问题:
1.把之前的alu和ram的原理图拷到了当前工程下面。直接生成该工程的符号文件,连接起来,但是仿真有问题。
几乎是在每一次和总线交换数据的时候都得不到正确的值。下面是解决的过程:
我怀疑是两个模块之间通过总线传输的数据没有传输成功,于是把alu模块的d引了一个输出端口d_alu,从ram模块的d引出了一个输出端口d_ram,在仿真波形图上,然后就可以看到了数据到达总线上了,而且这个时候d的值也能看到了,只是后面的最后一个读操作出来的数据不对,本来应该是写进去的07,但现在是17,再仿真就会变成别的数据。
2.在连接电路图的时候,我以为存储器部分的sw_bus连在高电平上是错的,然后又连到了bus_sel[4],所以得到了上一个部分的仿真结果,后来不研究了一下那个高电平,发现是用来处理单一总线问题的,就改成了与书上一样的图,我以为上面出现的错误结果和这个有关,改了之后波形图有变化,但是,还是是错误的.但是在两种情况下功能仿真的结果都是正确的:
问题解决了~
原因是周期太短,计算结果还来不及存入到内存单元中,把写入内存的时间周期延长一个周期结果就出来了。电路本身没有问题。
实验心得:
第二篇:实验4 数据通路 实验报告
班级:计算机科学与技术3班
学号: 20090810310
姓名:
康小雪
日期: 2011-10-14
实验3 存储器实验
预习实验报告
疑问:
1、数据通路是干嘛的?
2、数据通路如何实现其功能?
3、实验书上的存储器部分总线开关接在高电平上,是不是错了?
实验报告
一、波形图:
参数设置:
Endtime:2.0us
Gridsize:100.0ns 信号设置:
clk:
时钟信号,设置周期为100ns占空比为50%。
bus_sel:
sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将
存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上,将alu的运算结果显示到总线上,将pc的数据打入AR中二进制输入,低电平有效。
alu_sel:
m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高
电平有效。
ld_reg:
lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器
r1,r2,r4, r5或AR中,二进制输入,高电平有效。
pc_sel:
pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装
载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。
we_rd:
信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作,二进制输入,高电平有效
k:
k [7]~ k [0],数据输入端信号,十六进制输入。
d:
d[7]~d[0],数据输出中间信号,十六进制双向信号。
d~result:
d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar:
ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。pc:
pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。
仿真波形
以在01H单元中写入05H、02H单元中写入0AH并进行【(A加B)减(非A与B)加B】为例:
1)初始状态:bus_sel=11111,alu_sel=00000,ld_reg=00000,pc_sel=100,we_rd=00,k=00H,总线上无数据,呈高阻态。2)读取01H单元的05A:
① 置数法PC=01H:bus_sel=01111,pc_sel=101 ② PC->AR:bus_sel=11110,ld_reg=00001 ③ 读01H单元的数据放入R1中:bus_sel=11111,ld_reg=10000,we_rd=01 3)读取02H单元的0AH:
① PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111 ② 读01H单元的数据放入R2中:bus_sel=11111,ld_reg=01000,we_rd=01 4)将地址加到03H :bus_sel=11110,ld_reg=00001,pc_sel=111 5)验证数据并运算: bus_sel=11101 ① 读取R1中的数据:alu_sel=010000,得到R1=05H ② 读取R2中的数据:alu_sel=101010,得到R2=0AH ③ 计算(A加B)结果存于R4中:alu_sel=011001,ld_reg=00100,结果为0FH ④ 计算(非A与B)结果存于03H单元中:alu_sel=100010,we_rd=10,结果为0AH ⑤ 计算((A加B)加B)结果存于04H单元中:
R4->R1:bus_sel=10111,ld_reg=10000 PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111 计算((A加B)加B)结果存于04H单元中:bus_sel=11101,alu_sel=011001,we_rd=10 ⑥ 计算(((A加B)加B)减(非A与B))结果存于05H中:
((A加B)加B)->R1:bus_sel=11111,ld_reg=10000,we_rd=01 (非A与B)->R2:
PC=03H:k=03H,bus_sel=01111,pc_sel=101 PC->AR:bus_sel=11110,ld_reg=00001 (非A与B)->R2:bus_sel=11111,ld_reg=01000,we_rd=01 PC=05H:
PC=05H:k=03H,bus_sel=01111,pc_sel=101 PC->AR:bus_sel=11110,ld_reg=00001
(((A加B)加B)减(非A与B))结果存于05H中:bus_sel=11101,alu_sel=000110,we_rd=10 最后结果为0FH。结论:
本实验的设计能结合了运算器和存储器,能实现在mif文件中进行初始化,将固定地址单元中存储的数据读取到运算器中进行(((A加B)加B)减(非A与B))的运算并将结果存于指定的内存单元中,与实验要求一致,故电路设计正确。
二、实验日志
预习疑问解答:
1.通路是干嘛的?
在数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路.2.通路如何实现其功能?
在这次的实验中,数据通路主要是由运算器部分和存储器部分组成的,通过运算器的运算结合存储器在mif文件的中的操作进行数据的传输与存储,从而构成一个数据通路.错
3.书上的存储器部分总线开关接在高电平上,是不是错了? 事实证明没有接错.
思考题:
1. 画数据通路电路图时,如何连结单一总线? 如图:
ALU模块的sw_bus依然连接bus_sel,存储器部分的sw_bus连接高电平.2. 如何统一两个模块的总线输入端k[7..0]及inputd[7..0]?
答:如图: 输入放在运算器部分,存储器部分无输入,存储器部分的数据要么来自总线传输,要么从mif文件中读取.实验中遇到的问题:
1.把之前的alu和ram的原理图拷到了当前工程下面。直接生成该工程的符号文件,连接起来,但是仿真有问题。
几乎是在每一次和总线交换数据的时候都得不到正确的值。下面是解决的过程:
我怀疑是两个模块之间通过总线传输的数据没有传输成功,于是把alu模块的d引了一个输出端口d_alu,从ram模块的d引出了一个输出端口d_ram,在仿真波形图上,然后就可以看到了数据到达总线上了,而且这个时候d的值也能看到了,只是后面的最后一个读操作出来的数据不对,本来应该是写进去的07,但现在是17,再仿真就会变成别的数据。2.在连接电路图的时候,我以为存储器部分的sw_bus连在高电平上是错的,然后又连到了bus_sel[4],所以得到了上一个部分的仿真结果,后来不研究了一下那个高电平,发现是用来处理单一总线问题的,就改成了与书上一样的图,我以为上面出现的错误结果和这个有关,改了之后波形图有变化,但是,还是是错误的.但是在两种情况下功能仿真的结果都是正确的:
问题解决了~
原因是周期太短,计算结果还来不及存入到内存单元中,把写入内存的时间周期延长一个周期结果就出来了。电路本身没有问题。
实验心得:
这次实验是基于前两次实验的成果而成的综合,之前没有发现验收成果后模块中还存在什么问题,把两个模块一拼在一起,问题就出来了,而且不止我一个人出现这样的状况,一直没弄明白这是为什么,后来经过反反复复的仿真和观察,终于找出了问题的原因,并顺利解决了。这一次又学到了许多东西。
第三篇:数据通路实验报告
数据通路实验报告
数据通路实验报告
一. 实验概述。
1.数据通路的设计原则。
数据通路的设计直接影响到控制器的设计,同时也影响到数字系统的速度指标和成本。一般来说,处理速度快的数字系统,其中独立传递信息的通路较多。当然,独立数据传送通路的数量增加势必提高控制器设计复杂度。因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。在较大系统中可采用双总线结构或者三线结构。2.数据通路的结构。
① 算术逻辑单元ALU:有S3,S2,S1,S0,M,CN等6个控制端,用于选择运算类型。
② 暂存器A和B:保存通用寄存器组读出的数据或BUS上来的数据。③ 通用寄存器组R:暂时保存运算器单元ALU算出的结果。④ 寄存器C:保存ALU运算产生的进位信号。
⑤ RAM随机读写存储器:受读/写操作以及时钟信号等控制。⑥ MAR:RAM的专用地址寄存器,寄存器的长度决定RAM的容量。⑦ IR:专用寄存器,可存放由RAM读出的一个特殊数据。
⑧ 控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。
⑨ BUS:单一数据总线,通过三态门与有关子系统进行连接。
数据通路实验报告
二. 实验设计及其仿真检测。
一,运算器。
8位运算器VHDL
数据通路实验报告
数据通路实验报告
二波形仿真
存储器。
顶层设计:
其中sw_pc_ar的VHDL语言描述:,数据通路实验报告
波形仿真
三,原仿真实验电路。
数据通路实验报告
仿真结果:
四,修改电路。
因为此次实验结果需要下载到FPGA板中进行操作及观察,而原始电路中,需要输入的变量数量过多,导致电板中的输入按键不够用,所以需要对电路进行修改。此时我们引入一个计数器PC来代替需要手动输入的指令alu_sel[5..0]以及数据d[7...0]。同时还需要引入数码管的位选信号译码器choose和段选信号译码器xianshi。计数器PC的VHDL语言描述
数据通路实验报告
位选信号译码器choose的VHDL语言描述
数据通路实验报告
段选信号译码器的VHDL语言描述
经过修改和完善以后的电路图为
数据通路实验报告
完善后的电路的引脚分配情况
数据通路实验报告
三. 实验过程。
a)进行数学运算以及将运算结果储存在某个固定的内存地址处。然后从该地址处读出结果 i.ii.打开pc_sel[2],重置地址计数器。
打开总线开关bus_sel[0],和PC_sel[2],pc_sel[1],pc_sel[0],让地址计数器开始计数,跳变到某个地址x时关闭。
iii.打开总线开关BUS_SEL[4],打开暂存器r1的开关ld_reg[4],然后打开计数器开关en计数器开始计数,当计数到需要的数字a时,关闭计数器开关en,此时数字a存入暂存器r1,关闭暂存器的开关ld_reg[4],后再关闭总线开关BUS_SEL[4],然后再打开计数器的清零开关clr再关闭。iv.v.同理第iii步,在暂存器r2中存入数据b。打开总线开关
bus_sel[0].地址计数器开关
ld_reg[0]和pc_sel[2],pc_sel[1],pc_sel[0]选择存储地址 vi.打开运算器到总线的开关bus_sel[1],打开计数器en计数开关en当计数器跳
数据通路实验报告
变到加法指令011001时,关闭计数开关en,然后代开rom的地址开关pc_sel[2],以及可写开关we_rd[1]。将从运算器中计算出来的运算结果a+b存储到ram中的x地址中,关闭可写开关we_rd[1],关闭pc_sel[2]和总线开关,最后将计数器清零。
vii.打开ram的可读开关,读取x地址处的数据a+b。
四. 实验现象。
输入数据a
输入数据b
数据通路实验报告
进行运算并将运算结果写入内存
数据通路实验报告
从内存中读取计算结果
数据通路实验报告
五. 实验心得。
第一次在电板上进行这么多的操作。操作过程虽然很多,但只要理解操作过程,明白各个按键所设置的引脚作用,实验其实并不难,重点在于要理解过程,明白数据的输入,存入寄存器,运算以及往内存中进行存取值的操作,那么数据通路的按键很容易记住。
在实验过程中还是存在很多问题的,尤其的刚开始做实验的时候,不理解数据通路实验过程中各个门的输入的意义和顺序,但真正懂得的时候,实验就变得简单了。
第四篇:计算机组成原理实验报告+++数据通路实验
数据通路组成实验
一、实验目的
(1)将双端口通用寄存器组和双端口存储器模块联机;
(2)进一步熟悉计算机的数据通路;
(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;
(4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验电路
图9.14示出了数据通路实验电路图,它是将前面进行的双端口存储器实验模块和一个双端口通用寄存器组模块连接在一起形成的,存储器的指令端口不参与本次实验,通用寄存器组连接运算器模块,本实验涉及其中的操作数寄存器DR2。
由于RAM是三态门输出,因而可以将RAM连接到数据总线BUS上。此外,BUS上还连接着双端口通用寄存器组。这样,写入RAM的数据可由通用寄存器提供,而从RAM读出的数据也可送到通用寄存器保存。
RAM和DR2在前面的实验中使用过。对于通用寄存器组RF,它由一个在系统可编程(In System Programable)芯片ispLSI 1016固化了通用寄存器组的功能而成,其功能与双端口寄存器组MC14580相类似,内含四个8位的通用寄存器,带有一个输入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。输入端口取名为WR端口,连接一个8位的缓冲寄存器ER(已集成在ispLSI 1016芯片中),输出端口取名为RS端口、RD端口,分别连接运算器模块的两个操作数寄存器DR1、DR2,其中,连接DR1的RS端口还可通过一个8位的三态门RSO直接向BUS输出。双端口通用寄存器组模块的控制信号中,RS1、RS0用于选择从RS端口读出的通用寄存器,RD1、RD0用于选择从RD端口读出的通用寄存器,上述选择信号在T1脉冲的上升沿到来时生效。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,WRD=1时,在T2上升沿的时刻,从ER写入数据;WRD=0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从BUS写入数据,RS-BUS信号则控制RS端口到BUS的输出三态门。以上控制信号各自连接一个二进制开关。
三、实验设备
(1)JYS-4计算机组成原理实验仪一台(2)双踪示波器一台(3)直流万用表一只(4)逻辑测试笔一支
四、实验任务
(1)将实验电路与操作面板的有关信号进行线路连接,方法同前面的实验。(2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据(十六进制):R0=0F,R1=F0,R2=55,R3=AA。
给R0置入0F的步骤是:先用8位数码开关将0F置入ER,并且选择WR1=WR0=0,再将ER的数据置入RF。给其他通用寄存器置入数据的步骤与此类似。
(3)分别将R0至R3中的数据同时读入到DR2寄存器和BUS上,观察其数据是否存入R0至R3中的数据,并记录数据。其中BUS上的数据可直接用指示灯显示,DR2中的数据可用逻辑笔测试有关引脚。
(4)用8位数码开关向AR1送入一个地址0F,然后将R0中的0F写入RAM。用同样的方法,依次将R1至R3中的数据写入RAM中的F0、55、AA单元。
(5)分别将RAM中AA单元的数据写入R0,55单元的数据写入R1,F0单元写入R2,0F单元写入R3。然后将R3、R2、R1、R0中的数据读出到BUS上,通过指示灯验证读出的数据是否正确,并记录数据。
(6)进行RF并行输入输出试验。
1.选择RS端口对应R0,RD端口对应R1,WR端口对应R2,并使WRD=1,观察并行输入输出的结果。选择RS端口对应R2,验证刚才的写入是否生效。记录数据。2.保持RS端口和WR端口同时对应R2,WRD=1,而ER中置入新的数据,观察并行输入输出的结果,RS端口输出的是旧的还是新的数据?(7)在数据传送过程中,发现了什么故障?如何克服的?
五、实验要求(1)做好实验预习和准备工作,掌握实验电路的数据通路特点和通用寄存器组的功能特性。(2)写出实验报告,内容为
1.实验目的;
2.如碰到故障,记录故障现象,排除故障的分析思路,故障定位及故障的性质; 3.实验数据记录;
4.值得讨论的其他问题。
第五篇:运算器数据通路实验报告
运算器数据通路实验
设计报告
学号: 姓名: 成绩: 学号: 姓名: 成绩:
一、实验名称:
总线、半导体静态存储器实验
二、实验目的.1.熟悉函数功能发生器的功能、使用方法。2.熟悉运算器的数据传送通路。
3.完成几种算逻运算操作,加深对运算器工作原理的理解。
三、实验原理
运算器是计算机中对数据进行运算操作的重要部件,它的核心是ALU 函数功能发生器(由EPM7064S 构成),其次还要有存放操作数和运算的中间结果之寄存器以及传送数据的总线等部分。选用不同的控制信号,运算器可以完成不同的运算功能。1.函数功能发生器(ALU)的功能。
该函数功能发生器(ALU),当输入为Aj、Bj,对应输出为Fj(j=0,1,2,3,4,5,6,7),它可 实现8 种不同的算术运算和逻辑算,而且通过对控制参数SEL2~SEL0S0 来选择。2.数据传送通路实验电路方案
实验方案框图见图2—5 所示。
图中SA、SB 为存放两个现行操作的缓冲寄存器,其中SA 兼作存放中间结果的累加器,并且可以通过SA 所连接的八个数据灯显示。SA、SB 接收来自总线的数据信息送入ALU 进行 算术或逻辑操作。通过移位门将运算操作结果送到总线。并且ALU 和总线之间需用三态门隔 离(采用74LS245)。
四、实验内容
1.按照实验电路方案框图,设计一个能完成下列八种补码运算指令的八位运算器。该运算器实现的八种功能如表2—1 所示。
表2—1:
2.根据运算器设计,选择所需元器件,画出实验电路的详细逻辑图,对开关,单脉冲等 定义。因为和上次实验类似,也是绝大多数的器件在“数据通路”中已安排好,只要控制各 个控制点即可,除了开关组通过三态传输门(74LS245)的接法和实验一一样外,设置一个指令寄存器(IR),用74LS573 担当IR。通过八根连接线和“数据通路”中的八位总线连接起来。存放ALU 的控制信息SEL2~SEL0。为了便于观察IR 中内容,可以在IR 的输出端同时接上三 个电平显示灯。有的同学如用三个电平开关设置SEL2~SLE0。当然可以得出结果,但是由于 IR 是一个不可缺少的计算机部件,为了达到完整熟悉计算机各组成部分的目的,这里专门设置了指令寄存器IR。
3.在电路上进行表2—1 所列的八种指令的手动操作,每次一条指令。实验时可由数据 开关输入指令码及操作数,予以功能的验证。4.本实验应实现的操作
K→SA(开关输入的第一个操作数置入SA,LED 显示)K→SB(开关输入的第二个操作数置入SB,无显示)K→IR(开关输入的ALU 控制代码置入IR)
ALU 运算结果通过ALU-244→SA(将运算结果送SA 显示)具体实验过程(仅仅作为参考)如下:
1)从输入设备(八个钮子开关)置入第一个数据,74LS245 的E=0,74LS573 的C 由“0”变为“1”(锁存)后再变为“0”(保持);送入Sa(该寄存器接有LED 显示); 2)从输入设备(八个钮子开关)置入第一个数据,74LS245 的E=0,74LS573 的C 由“0”变为“1”(锁存)后再变为“0”(保持);送入Sb(该寄存器没有接LED 显示); 3)从输入设备(八个钮子开关)将需要进行运算操作(如加法操作)的控制代码(具体内容可见表3-4)置入到IR,74LS245 的E=0,74LS573 的C 由“0”变为“1”(锁存)后再变为“0”(保持);
4)控制接通ALU-244,使运算结果上总线;
5)将结果置入Sa,并通过所接的LED 将结果显示出来。
五、测试结果与性能分析
1、测试结果:
1)数据A准备→三态门①打开→给寄存器Sa脉冲→数据进入Sa;
数据B准备→给寄存器Sb脉冲→数据进入Sb; 数据准备(指令)→给指令寄存器IR脉冲→指令进入IR→三态门①关闭; 2)ALU按照指令进行计算,结果进入总线→三态门②(寄存器Sa往显示灯)打开→给寄存器Sa脉冲→显示灯显示计算结果
实验输入三组数据进行计算 00010000 – 00000001 = 00001111;00010101 & 00001010 = 00000000;00001000 + 00000110 = 00001110;
2、性能分析
单总线结构数据传送慢,使用多总线结构可以提高数据传送效率 另外,EPM7064S 器件性能介绍:
高性能和EEPROM的可编程逻辑器件(PLD)的第二代基于Max 架构 5.0-V在系统可编程能力(ISP)具有完整的EPLD的逻辑密度
5纳秒引脚到引脚的逻辑延时高达175.4 MHz的计数器频率(包括互连)
六、课程设计总结(包括设计的总结和需要改进之处及体会)
通过这次实验设计,我们可以了解运算器数据通路的工作原理,各组数据的走向和时间逻辑关系,也更清楚认识了指令控制的重要性。另外这是第一次在电脑上对运算器芯片的引脚进行设置,稍微有一点差错就会造成实验结果的差异,因此使得我们在实验中更加专注和仔细。这次实验的分工也很明确,我负责在实验台上搭线,张成涛同学负责在电脑上设置运算器引脚。但最终因为实验台的更换问题,实验结果没有调试出来。换了一个电脑进行引脚设置后,终于成功了。由于有协调的合作,实验操作过程也不会复杂繁琐,这次实验过程很有趣,并且让我们对机器内部数据通路的理解有更进一步的启发。
教师评语:
教师签字:
日期: