3. 实验三 数据通路组成实验
计算机组成原理数据通路实验报告
计算机组成原理数据通路实验报告计算机组成原理实验报告计算机组成原理实验报告实验一基本运算器实验一、实验目的1. 了解运算器的组成结构2. 掌握运算器的工作原理3. 深刻理解运算器的控制信号二、实验设备PC机一台、TD-CMA实验系统一套三、实验原理1. (思考题)运算器的组成包括算数逻辑运算单元ALU(Arithmetic and Logic Unit)、浮点运算单元FPU(Floating Point Unit)、通用寄存器组、专用寄存器组。
①算术逻辑运算单元ALU (Arithmetic and Logic Unit)ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。
在某些CPU中还有专门用于处理移位操作的移位器。
通常ALU由两个输入端和一个输出端。
整数单元有时也称为IEU(IntegerExecution Unit)。
我们通常所说的“CPU 是XX位的”就是指ALU所能处理的数据的位数。
②浮点运算单元FPU(Floating Point Unit)FPU主要负责浮点运算和高精度整数运算。
有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。
③通用寄存器组通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。
④专用寄存器专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。
而运算器内部有三个独立运算部件,分别为算术、逻辑和移位运算部件,逻辑运算部件由逻辑门构成,而后面又有专门的算术运算部件设计实验。
下图为运算器内部原理构造图2. 运算器的控制信号实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4由时序单元的TS4提供(脉冲信号),其余控制信号均由CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
计算机组成原理全部实验
一、实验目的
1.掌握简单运算器的数据传输方式。
3、P0K、P1K、P2K都置成系统方式;
4、信号连接线必须一一对应连接好。即在实验机左上方的信号接口与实验机右下方的信号接口分别一一对应连接。
左上方右下方
地址指针―――――――――――地址指针
地址总线―――――――――――地址总线〔在实验机右侧中部〕
数据总线―――――――――――数据总线〔在实验机右侧中部〕
运算暂存器DR1―――――――――运算暂存器DR1
运算暂存器DR2―――――――――运算暂存器DR2
微地址―――――――――――――微地址
检查完毕可以通电;
注意事项:
1、电脑屏幕上所有的按钮与实验机上的按钮完全对应。
2、在做实验时,要保证总线不发生冲突。即对总线操作时只有一个操作状态有效。
3、运算器、存储器、数据通路,三个实验按操作步骤操作即可
实验前把TJ,DP对应的逻辑开关置成11状态〔高电平输出〕,并预置以下逻辑电平状态:/ALU-BUS=1,/PC-BUS=1,R0-BUS=1,R1-BUS=1,R2-BUS=1时序发生器处于单拍输出状态,实验是在单步状态下进行DR1,DR2的数据写入及运算,以便能清楚地看见每一步的运算过程。
实验步骤按表1进行。实验时,对表中的逻辑开关进行操作置1或清0,在对DR1,DR2存数据时,按单次脉冲P0〔产生单拍T4信号〕。表1中带X的为随机状态,无论是高电平还是低电平,它都不影响运算器的运算操作。总线D7-D0上接电平指示灯,显示参与运算的数据结果。简单运算器的数据传送通路。
实验三数据通路组成实验
实验三数据通路组成实验一实验目的1.进一步熟悉计算机的数据通路2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障.二实验电路数据通路实验电路图如图所示。
它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。
存储器的指令端口(右端口)不参与本次实验。
通用寄存器堆连接运算器模块,本次实验涉及其中的DRl。
由于双端口存储器是三态输出,因而可以直接连接到DBUS上。
此外,DBUS还连接着通用寄存器堆。
这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。
本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。
注意实验中的控制信号与模拟它们的二进制开关的连接。
三、实验设备1. TEC-5计算机组成原理实验系统1台2.逻辑测试笔一支(在TEC-5实验台上)3.双踪示波器一台(公用)4.万用表一只(公用)四、实验任务1.将实验电路与控制台的有关信号进行连接。
2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=OFH,R1=0F0H,R2=55H,R3=0AAH.3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元.4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据.五、实验要求1.做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。
2.写出实验报告,内容是:(1)实验目的。
(2)写出详细的实验步骤、记录实验数据及校验结果。
实验03 数据通路实验
实验三数据通路实验一、实验目的1、通过实验进一步熟悉运算器与存储器之间的数据通路的组成结构。
2、通过实验理解顺序节拍发生器的应用和设计方法。
3、通过实验理解系统总线的设计方法。
二、实验步骤1、打开已有的实验工程目录:“DATAPATH”。
通过双击目录中的Quartus II工程文件“DATAPATH.qpf”,利用Quartus II软件打开已经建好的实验工程。
图1打开Quartus II工程2、打开工程后,Quartus II软件的界面如图2所示。
在软件窗口的左边区域的“Project Navigator”列表栏中,选择“files”选项卡,我们可以看到列表栏中列出了这个工程中的设计文件。
本工程的设计文件说明在表1中列举出来。
表1工程设计文件说明表设计文件说明对应组件文件ALU.vhd VHDL设计文件,设计一个四位ALU ALU.bsfMEM.vhd VHDL设计文件,设计一个16*4的ROM存储器用来模拟主存MEM.bsfREG.vhd VHDL设计文件,设计一个带锁存和清零功能的四位寄存器REG.bsf PULSEGEN.vhd VHDL设计文件,设计一个顺序节拍发生器PULSEGEN.bsf DATAPATH.bdf数据通路设计文件其中,设计文件“DATAPATH.bdf”完成了基本功能,实验者首先对其进行验证,需要由实验者在原有设计基础上添加合理设计,完成数据通路时序控制的设计。
图2工程界面图3、如图3上所示,“数据通路”构建在DATAPATH.bdf的设计文件中,除去几个寄存器的脉冲信号,其它模块已经实现连接。
图3数据通路设计图数据通路是数据信号在各个寄存器和存储器之间的传输过程。
这里的设计文件模拟了最简单的数据通路模型。
图3中的“MEM”单元是一个用VHDL语言设计的16*4存储器,为了实验的简便,这里将它设计为ROM,而且从地址0000~1111依次存储的数据也是0~15(比如:地址为0011的存储单元存储的数据也是3)。
计算机组成原理实验说明
实验一运算器组成实验一、实验目的1.熟悉双端口通用寄存器堆(组)的读写操作。
2.熟悉简单运算器的数据传送通路。
3.验证运算器74LS181的算术逻辑功能。
4.按给定数据,完成指定的算术、逻辑运算。
二、实验原理上图是本实验所用的运算器数据通路图。
参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。
RF由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。
双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选取从A端口(左端口)读出的通用寄存器。
而WR1、WR0用于选择写入的通用寄存器。
LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。
RF的A、B端口分别与操作数暂存器DR1、DR2相连:另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF 中的数据可以直接通过B端口送到DBUS上。
DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。
DR1接ALU 的A输入端口,DR2接ALU的B端口。
ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。
图中尾巴上带粗短线标记的信号都是控制信号,其中S3,S2,Sl,S0,M,Cn#,LDDR2,LDDRl, ALU-BUS#,SW-BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0等是电位信号,用电平开关K0—Kl5来模拟。
T2、T3是脉冲信号,印制板上已连接到实验台的时序电路上。
#为低电平有效。
K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。
实验中进行单拍操作,每次只产生一组Tl,T2,T3,T4脉冲,需将实验台上的DP,DB开关进行正确设置。
计算机组成原理实验(接线、实验步骤)方案
实验一运算器[实验目的]1.掌握算术逻辑运算加、减、乘、与的工作原理;2.熟悉简单运算器的数据传送通路;3.验证实验台运算器的8位加、减、与、直通功能;4.验证实验台4位乘4位功能。
[接线]功能开关:DB=0 DZ=0 DP=1 IR/DBUS=DBUS接线:LRW:GND(接地)IAR-BUS# 、M1、M2、RS-BUS#:接+5V控制开关:K0:SW-BUS# K1:ALU-BUSK2:S0 K3:S1 K4:S2K5:LDDR1 K6:LDDR2[实验步骤]一、(81)H与(82)H运算1.K0=0:SW开关与数据总线接通K1=0:ALU输出与数据总线断开2.开电源,按CLR#复位3.置数(81)H:在SW7—SW0输入10000001→LDDR2=1,LDDR1=0→按QD:数据送DR2置数(82)H:在SW7—SW0输入10000010→LDDR2=0,LDDR1=1→按QD:数据送DR1 4.K0=1:SW开关与数据总线断开K1=1:ALU输出与数据总线接通5. S2S1S0=010:运算器做加法(观察结果在显示灯的显示与进位结果C的显示)6.改变S2S1S0的值,对同一组数做不同的运算,观察显示灯的结果。
二、乘法、减法、直通等运算1.K0K1=002.按CLR#复位3.分别给DR1和DR2置数4.K0K1=115. S2S1S0取不同的值,执行不同的运算[思考]M1、M2控制信号的作用是什么?运算器运算类型选择表选择操作S2 S1 S00 0 0 A&B0 0 1 A&A(直通)0 1 0 A+B0 1 1 A-B1 0 0 A(低位)ΧB(低位)完成以下表格ALU-BUS SW-BUS# 存储器内容S2S1S0 DBUS C输入时:计算时:DR1:01100011DR2:10110100(与)DR1:10110100DR2:01100011(直通)DR1:01100011DR2:01100011(加)DR1:01001100DR2:10110011(减)DR1:11111111DR2:11111111(乘)实验二双端口存储器[实验目的]1.了解双端口存储器的读写;2.了解双端口存储器的读写并行读写及产生冲突的情况。
计算机组成原理 实验3
实验3通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。
2.掌握通用寄存器的构成和运用。
二、实验要求在掌握了AX、BX运算寄存器的读写操作后,继续完成CX、DX通用寄存器的数据写入与读出。
三、实验原理实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成CX(R1 R0)、DX(R3 R2)通用寄存器组。
图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通选择。
RXW为寄存器数据写入使能,OP、DI为目的寄存器选择。
DRCK信号为寄存器写脉冲,下降沿有效。
准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2-3-3通用寄存器数据通路四、实验内容五、实验过程 & 实验结果1.寄存器组写操作(1)(2)寄存器组的字写入通过“I/O单元”把CX的地址00打入IR,然后向CX写入2211h,操作步骤如下:按【单拍】按钮通过“I/O单元”把DX的地址02打入IR,然后向DX写入4433h,操作步按【单拍】按钮(3)寄存器组的字节写入通过“I/O单元”把CX的地址00打入IR,然后向CL写入55h,操作步骤按【单拍】按钮按【单拍】按钮K21 K16 K2=000 K21 K6 K2=111在IR保持为“XX00”的条件下,可省略打地址环节,按下流程向CH写入AAh2.寄存器读操作(1)(2)寄存器组字读(3)寄存器组字节读CH。
K7=1K10~K6=00101准双向I/O口实验一、实验目的熟悉与了解准双向I/O口的构成原理。
二、实验要求掌握准双向I/O口的输入/输出特性的运用。
三、实验原理Dais-CMX16+向用户提供的是按准双向原理设计的十六位输入/输出I/O口,当该位为“1”时才能用作输入源,上电或复位(手动态按【返回】键),该十六位I/O口被置位(即为“0FFFFh”)。
通常情况下,在用作输入的时候就不能再有输出定义。
电路结构如图2-3-4所示。
组成原理实验
实验一运算器实验1、实验内容利用两片74LS181以并、串形式构成8位字长的ALU。
运算器的输出经过一个三态门和数据总线相连,运算器的两个数据输入端分别由两个锁存器锁存,锁存器的输入连至数据总线。
数据开关用来给出参与运算的数据,运算结果经过数据线,通过显示灯显示。
内容:1)掌握简单运算器的数据传输方式2)验证运算功能发生器及进位控制的组合功能2、实验目的及要求掌握运算器的数据传送通路;验证运算功能发生器(74LS181)的组合功能。
要求:完成不带进位及带进位算术运算实验、逻辑运算实验,了解算术逻辑运算单元的运用。
3、实验重点运算器的数据传送通路;运算功能发生器(74LS181)的组合功能。
4、实验难点运算器的数据传送通路;运算功能发生器(74LS181)的组合功能。
5、实验时间分配及进度安排3学时6、主要实验环节的组织教师提示实验原理,学生自己设计实验。
实验2.存储器实验内容:1)向静态随机存储器写入数据2)读出数据显示要求:掌握静态随机存储器工作特性及数据的读写方法实验3.数据通路组成实验内容:连接运算器实验模块和存储器实验模块要求:将运算器实验模块和存储器实验模块两部分电路连接在一起,掌握数据通路组成。
实验4.微程序控制器实验内容:1)时序信号产生器、微程序控制电路2)微指令设计格式、微程序编制要求:掌握时序产生器的组成原理、掌握微程序控制器的组成原理、掌握微程序的编制、观察微程序的运行。
实验5.模型机CPU组成与指令周期实验内容:1)连接微程序控制器模拟、运算器模块、存储器模块2)指令周期实验要求:将微程序控制器模拟,运算器模块,存储器模块组合在一起,联成一台简单的计算机,并进行指令周期实验。
实验6.基本模型机设计与实现内容:1)定义机器指令2)编写相应微程序,上机调试要求:在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机,编写相应的微程序,上机调试掌握整机概念。
计算机组成原理全部实验
(2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。
(3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。
(4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。
(5)M:M=0执行算术操作;M=1执行逻辑操作。
X
X
1
0
0
1
AAH
AAH
↑
向DR1送数
X X X X
X
X
0
1
0
1
55H
55H
↑
向DR2送数
0 0 0 0
0
1
0
0
1
0
XXH
AAH
算术运算
0 0 0 0
0
0
0
0
1
0
XXH
ABH
算术运算
0 0 0 0
1
X
0
0
1
0
XXH
55H
逻辑运算
0 0 0 1
0
1
0
0
1
0
XXH
FFH
算术运算
0 0 0 1
0
0
0
0
1
0
5.不管是手动方式还是系统方式,31个按钮开关初始状态应为“1”即对应的指示灯处于发光的状态。
6.位于UPC UNIT区的J1跳线开关应在右侧状态。
说明:开关AL-BUS;SW-BUS标识符应为“/AL-BUS;/SW-BUS”
注意事项:
AL-BUS;SW-BUS不能同时按下;因为同时按下会发生总线冲突,损坏器件。
1
数据通路实验
数据通路实验一、实验目的1、进一步熟悉TEC-8模型计算机的数据通路的结构2、进一步掌握数据通路中各个控制信号的作用和用法3、掌握数据通路中数据流动的路径二、实验仪器或设备1、TEC-8计算机硬件综合实验系统2、直流万用表3、逻辑测试笔实验电路数据通路实验的电路图:三、总体设计(设计原理、设计方案及流程等)实验任务(1)将数75H写到寄存器R0,数28H写道寄存器R1,数89H写到寄存器R2,数32H 写到寄存器R3。
(2)将寄存器R0中的数写入存储器20H单元,将寄存器R1中的数写入存储器21H单元,将寄存器R2中的数写入存储器22H单元,将寄存器R3中的数写入存储器23H单元。
(3)从存储器20H单元读出数到存储器R3,从存储器21H单元读出数到存储器R2,从存储器21H单元读出数到存储器R1,从存储器23H单元读出数到存储器R0。
(4)显示4个寄存器R0、R1、R2、R3的值,检查数据传送是否正确。
在进行数据运算操作时,由RD1、RD0选中的寄存器通过4选1选择器A送往ALU 的A端口,由RS1、RS0选中的寄存器通过4选1选择器B送往ALU的B端口;信号M、S3、S2、S1、S1和S0决定ALU的运算类型,ALU对A端口和B端口的两个数连同CIN 的值进行算数逻辑运算,得到的数据运算结果在信号ABUS为1时送往数据总线DBUS;在T3的上升沿,数据总线DBUS上的数据结果写入由RD1、RD0选中的寄存器。
在寄存器之间进行数据传送操作时,由RS1、RS0选中的寄存器通过4选1选择器B 送往ALU的B端口;ALU将B端口的数在信号ABUS为1时送往数据总线DBUS;在T3的上升沿将数据总线上的数写入由RD1、RD0选中的寄存器。
ALU进行数据传送操作由一组特定的M、S3、S2、S1、S0、CIN的值确定。
在进行运算操作时,由RS1、RS0选中的寄存器通过4选1选择器B送往ALU的B端口;由RD1、RD0选中的寄存器通过4选1选择器A送往ALU的A端口;ALU对数A和B进行运算,运算的数据结果在信号ABUS为1时送往数据总线DBUS;在T3 的上升沿将数据总线上的数写入由RD1、RD0选中的寄存器。
中山大学计算机组成原理实验单周期CPU设计
中⼭⼤学计算机组成原理实验单周期CPU设计《计算机组成原理实验》实验报告(实验三)学院名称:数据科学与计算机学院专业(班级):学⽣姓名:学号:时间:2019 年11 ⽉8 ⽇成绩:实验三:单周期CPU设计与实现⼀.实验⽬的(1) 掌握单周期CPU数据通路图的构成、原理及其设计⽅法;(2) 掌握单周期CPU的实现⽅法,代码实现⽅法;(3) 认识和掌握指令与CPU的关系;(4) 掌握测试单周期CPU的⽅法。
⼆.实验内容设计⼀个单周期CPU,该CPU⾄少能实现以下指令功能操作。
指令与格式如下:==> 算术运算指令加“加”运算。
加“加”运算。
==> 逻辑运算指令加“与”运算。
功能:GPR[rt] ←GPR[rs] or zero_extend(immediate)。
==>移位指令==>⽐较指令==> 存储器读/写指令==> 分⽀指令else pc ←pc + 4特别说明:offset是从PC+4地址开始和转移到的指令之间指令条数。
offset符号扩展之后左移2位再相加。
为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“00”,因此将offset放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。
else pc ←pc + 4(16)bltz rs, offsetelse pc ←pc + 4。
==>跳转指令(17)j addr说明:由于MIPS32的指令代码长度占4个字节,所以指令地址⼆进制数最低2位均为0,将指令地址放进指令代码中时,可省掉!这样,除了最⾼6位操作码外,还有26位可⽤于存放地址,事实上,可存放28位地址,剩下最⾼4位由pc+4最⾼4位拼接上。
==> 停机指令功能:停机;不改变PC的值,PC保持不变。
三.实验原理单周期CPU指的是⼀条指令的执⾏在⼀个时钟周期内完成,然后开始下⼀条指令的执⾏,即⼀条指令⽤⼀个时钟周期完成。
实验三16位算术逻辑运算实验
实验三16位算术逻辑运算实验实验三16位算术逻辑运算实验⼀、实验⽬的1、掌握16位算术逻辑运算数据传送通路组成原理。
2、进⼀步验证算术逻辑运算功能发⽣器74L S181的组合功能。
⼆、实验内容1、实验原理实验中所⽤16位运算器数据通路如图3-3所⽰。
其中运算器由四⽚74L S181以并/串形成16位字长的A L U构成。
低8位运算器的输出经过⼀个三态门74L S245(U33)到内部总线,低8位数据总线通过L Z D0~L Z D7显⽰灯显⽰;⾼8位运算器的输出经过⼀个三态门74L S245(U33`)到A L U O1`插座,实验时⽤8芯排线和⾼8位数据总线B U S D8~D15插座K B U S1或K B U S2相连,⾼8位数据总线通过L Z D8~L Z D15显⽰灯显⽰;参与运算的四个数据输⼊端分别由四个锁存器74L S273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输⼊并联连⾄内部数据总线再⽤8芯线连接到外部数据总线E X D0~D7插座E X J1~E X J3中的任⼀个;参与运算的数据源来⾃于8位数据开并K D0~K D7,并经过⼀三态门74L S245(U51)直接连⾄外部数据总线E X D0~E X D7,输⼊的数据通过L D0~L D7显⽰。
2、实验接线本实验⽤到6个主要模块:⑴低8位运算器模块,⑵数据输⼊并显⽰模块,⑶数据总线显⽰模块,⑷功能开关模块(借⽤微地址输⼊模块),⑸⾼8位运算器模块,⑹⾼8位(扩展)数据总线显⽰模块。
根据实验原理详细接线如下:1、J20,J21,J22,接上短路⽚,图3-1.J20,J21,J22接上短路⽚2、J24,J25,J26接左边;图3-2.J24,J25,J26接左边3、J27,J28 左边图3-3.J27,J28接左边4、J23 置右边T4选“SD”图3-4.J23接右边5、JA5 置“接通”;图3-5.JA5置上⽅“接通”6、JA6 置“⼿动”;图3-6.JA6置下边“⼿动”7、JA3 置“接通”;图3-7.JA3置右边“接通”8、JA1,JA2,JA4置“⾼阻”;图3-8.JA1、JA2接下边“⾼阻”图3-9.JA4置左边“⾼阻”9、JA8 置上⾯“微地址”图3-10.JA8置上⾯“微地址”10、EXJ1接BUS3图3-11.EXJ1接BUS3 11、ALO1'接KBUS1图3-12.ALO1接KBUS1 12、开关CE 、AR 置1图3-13.CE与AR各⾃置113、ZI2,CN4,CN0接上短路⽚图3-14.Z12,CN4和CN0都接上短路⽚3、实验步骤⑴连接线路,仔细查线⽆误后,接通电源。
实验三 数据通路(总线)实验
.实验三数据通路(总线)实验一、实验目的(1)将双端口通用寄存器堆和双端口存储器模块联机;(2)进一步熟悉计算机的数据通路;(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;(4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验电路图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。
双端口存储器的指令端口不参与本次实验。
通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。
由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。
此外,DBUS上还连接着双端口通用寄存器堆。
这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。
双端口存储器RAM已在存储器原理实验中做过介绍,DR2运算器实验中使用过。
通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的MC14580并联构成的寄存器堆类似。
RF内含四个8位的通用寄存器R0、RI、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。
写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。
输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。
RS端口(B端口)的数据输出还可通过一个8位的三态门RS0(U15)直接向DBUS输出。
双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B 端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。
而WR1、WR0则用于选择从WR端口写入的通用寄存器。
WRD是写入控制信号,当WRD=1时,在T2上升沿的时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD=0时,ER中的数据不写入通用寄存器中。
计组实验数据通路实验报告
存储器实验预习实验报告疑问: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,总线上无数据,呈高阻态。
常规数据通路组成实验3
实验三常规数据通路组成实验一、实验目的1.在线连接双端口通用寄存器和双端口内存模块。
2.熟悉电脑的数据路径。
3.掌握数字逻辑电路故障的一般规律,以及排除故障的一般原则和方法。
4、锻炼分析和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
第二,实验类型认证类型。
第三,实验仪器1.TEC-4计算机构成原理实验仪器。
2.一个双踪示波器。
3.一个DC万用表。
4.一支逻辑测试笔。
四、实验原理图3为数据通路实验的电路图,由双端口内存实验模块和双端口通用寄存器模块(RF)连接而成。
本实验不涉及双端口内存的指令端口。
通用寄存器文件连接到运算器模块,这个实验涉及到操作数寄存器DR2。
由于双端口内存RAM是三态输出,因此可以直接连接到数据总线DBUS。
此外,DBUS还连接了一个双端口通用寄存器文件。
这样,写入内存的数据可以由通用寄存器提供,从内存RAM 读取的数据也可以发送到通用寄存器文件保存。
实验2使用了双端口RAM,实验1使用了DR2。
通用寄存器文件RF(U32)由一个ISP1016实现,功能类似于两个4位并行的MC14580组成的寄存器文件。
射频包含四个8位通用寄存器R0、R1、R2和R3,带有一个写端口和两个输出端口,因此一个通道的数据可以同时写入。
读出两种数据。
名为WR端口的写端口连接到一个8位临时寄存器(U14)ER,它是一个74HC374。
名为RS(端口b)和RD(端口a)的输出端口连接到算术单元模块的两个操作数寄存器DR1和DR2。
RS端口(B端口)的数据输出也可以通过8位三态门RSO(U15)直接输出到DBUS。
在双端口通用寄存器文件模块的控制信号中,RS1和RS0用于选择从RS端口(B端口)读取的通用寄存器,RD1和RD0用于选择从RD端口(A端口)读取的通用寄存器。
而WR1和WR0用于选择从WR端口写入的通用寄存器。
WRD是写控制信号。
当WRD=1时,在T2上升沿将临时寄存器er中的数据写入通用寄存器文件中RD1和RD0选择的寄存器;当WRD=0时,电流变位寄存器中的数据不写入通用寄存器,并且电流变位信号控制电流变位寄存器从数据总线写入数据。
数据通路的实验报告
数据通路实验报告数据通路实验报告一.实验概述。
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 语言描述经过修改和完善以后的电路图为完善后的电路的引脚分配情况三.实验过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三数据通路组成实验一、实验目的1.进一步熟悉计算机的数据通路。
2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路。
3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法。
4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验电路图3.3 数据通路实验电路图数据通路实验电路图如图3.3所示。
它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。
存储器的指令端口(右端口)不参与本次实验。
通用寄存器堆连接运算器模块,本次实验涉及其中的DR1。
由于双端口存储器是三态输出,因而可以直接连接到DBUS上。
此外,DBUS还连接着通用寄存器堆。
这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。
本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。
注意实验中的控制信号与模拟它们的二进制开关的连接。
三、实验设备1.TEC-5计算机组成原理实验系统1台2.逻辑测试笔一支(在TEC-5实验台上)3.双踪示波器一台(公用)4.万用表一只(公用)四、故障的分析与排除数字电路中难免要出现这样或那样的故障。
有了故障迅速加以诊断并排除,使电路能正常运行,这是实际工作中经常遇到的事。
因此,学会分析电路故障,提高排除故障的能力,是很有必要的。
就数字电路的故障性质而言,大体有两大类:一类是设计中的错误或不当造成的故障;另一类是元件损坏或性能不良造成的。
1.设计错误造成的故障常见的设计错误有逻辑设计错误和布线错误。
对于布线错误,只要能仔细的进行检查就可以排除。
要较快的判断出布线错误的位置,可以通过对某个预知特性点的观察检测出来。
例如,该点的信号不是预期的特性,则可以往前一级查找。
常见的布线错误是漏线和布错线。
漏线的情况往往是输入端未连线或浮空。
浮空输入可用三状态逻辑测试笔或电压表检测出来。
对于设计错误,需要在设计中加以留心和克服。
首先要遵循的一个原则是:为使系统可靠的工作,从系统的初始状态开始,应该把线路置于信号的稳定电平上,而不是置于信号的前沿或后沿;其次没有出口的悬空状态是不允许存在的;另外设计中应当避免静态和动态的竞争冒险;最后,为便于维修,设计中应考虑把系统设计成具有单步工作的能力。
常见的设计错误包括对于中小规模集成电路中不用的输入端的接法。
对一个不用的输入端常忘了接,因而输入端相当于接了有效的逻辑“1”电平。
建议将所有不用的“与”门输入端统一接到一个逻辑“1”电平上,将所有不用的“或”门输入端统一接到一个逻辑“0”电平上。
计数器不计数和寄存器不寄存信息的问题常常就是由不用的输入端进来的干扰信号引起的。
2.元件损坏造成的故障一个数字系统,即使逻辑设计和布线都正确无误,但如果使用的元件损坏或性能不良,也会造成系统的故障。
这种故障只要更换元件,就能恢复正常运行。
除了元件损坏或性能不良之外,数字系统的故障还可能由于虚焊、噪声等原因造成。
许多最初是间歇性故障,但最终还是会变成固定性故障。
这种故障不是固定的逻辑高电平,就是固定的逻辑低电平,所以通常称之为“逻辑故障”。
实验逻辑测试笔和逻辑脉冲笔(逻辑脉冲产生器)可以方便地查找数字电路中的逻辑故障。
一种方法是先使用逻辑测试笔检测关键信号(如时钟、启动、移位、复位等)丢失的地方,这样就把故障隔离到一个小范围内。
有了故障的大概范围以后,去掉内部时钟脉冲,改用逻辑脉冲笔向特定的电路节点施加激励信号,观察输出端的状态。
有了提供激励的逻辑脉冲笔和响应激励的逻辑测试笔,可以很容易地检查被怀疑的器件的真值表,从而探查出故障地点。
另一种寻找故障的方法,是预先隔离故障。
进行的方法如下:从电路始端送入脉冲,在终端检测响应。
如果信号未能正确送达,就对每一串电路用同样的方法检查。
反复进行,就能将故障点隔离出来。
五、实验任务1.将实验电路与控制台的有关信号进行连接。
2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=0FH、R1=0F0H、R2=55H、R3=0AAH。
3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中。
用同样的方法,依次将R1、R2、R3中的数据分别置入RAM的0F0H、55H、0AAH单元。
4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3。
然后将R0-R3中的数据读出,验证数据的正确性,并记录数据。
六、实验要求1.做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性。
2.写出实验报告,内容是:(1)实验目的。
(2)写出详细的实验步骤,记录实验数据。
(3)其他值得讨论的问题。
七、实验步骤及结果(1)接线(2)用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=0FH、R1=0F0H、R2=55H、R3=0AAH。
1.令K4(WR0)=0,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。
置SW7-SW0=0FH,按QD按钮,将0FH写入R0。
2.令K4(WR0)=1,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。
置SW7-SW0=0F0H,按QD按钮,将0F0H写入R1。
3.令K4(WR0)=0,K5(WR1)=1,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。
置SW7-SW0=55H,按QD按钮,将55H写入R2。
4.令K4(WR0)=1,K5(WR1)=1,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。
置SW7-SW0=0AAH,按QD按钮,将0AAH写入R3。
(3)用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中。
用同样的方法,依次将R1、R2、R3中的数据分别置入RAM的0F0H、55H、0AAH单元。
1.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。
置SW7-SW0=0FH,按QD按钮,将0FH写入地址寄存器AR。
令K2(RD0)=0,K3(RD1)=0,K6(LDRi)=0,K7(LDDR1)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K14(LDAR#)=1,K13(CEL#)=1。
按QD按钮,将R0的数据送DR1,DR1中的数据通过运算器和ALU_BUS三态门送数据总线DBUS,DBUS 应显示0FH。
令K6(LDRi)=0,K7(LDDR1)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K12(LR/W#)=0,K14(LDAR#)=1,K13(CEL#)=0。
按QD按钮,将DBUS 上的数据0FH写入AR指定的存储器单元0FH。
2.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。
置SW7-SW0=0F0H,按QD按钮,将0F0H写入地址寄存器AR。
令K2(RD0)=1,K3(RD1)=0,K6(LDRi)=0,K7(LDDR1)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K14(LDAR#)=1,K13(CEL#)=1。
按QD按钮,将R1的数据送DR1,DR1中的数据通过运算器和ALU_BUS三态门送数据总线DBUS,DBUS 应显示0F0H。
令K6(LDRi)=0,K7(LDDR1)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K12(LR/W#)=0,K14(LDAR#)=1,K13(CEL#)=0。
按QD按钮,将DBUS 上的数据0F0H写入AR指定的存储器单元0F0H。
3.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。
置SW7-SW0=55H,按QD按钮,将55H写入地址寄存器AR。
令K2(RD0)=0,K3(RD1)=1,K6(LDRi)=0,K7(LDDR1)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K14(LDAR#)=1,K13(CEL#)=1。
按QD按钮,将R2的数据送DR1,DR1中的数据通过运算器和ALU_BUS三态门送数据总线DBUS,DBUS 应显示55H。
令K6(LDRi)=0,K7(LDDR1)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K12(LR/W#)=0,K14(LDAR#)=1,K13(CEL#)=0。
按QD按钮,将DBUS 上的数据55H写入AR指定的存储器单元55H。
4.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。
置SW7-SW0=0AAH,按QD按钮,将0AAH写入地址寄存器AR。
令K2(RD0)=1,K3(RD1)=1,K6(LDRi)=0,K7(LDDR1)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=0,K11(RAM_BUS#)=1,K14(LDAR#)=1,K13(CEL#)=1。
按QD按钮,将R3的数据送DR1,DR1中的数据通过运算器和ALU_BUS三态门送数据总线DBUS,DBUS 应显示0AAH。