实验三 数据通路组成实验(计算机组成与结构)
- 格式:doc
- 大小:148.00 KB
- 文档页数:5
数据通路实验报告一、实验目的本实验旨在通过设计与实现一个简单的数据通路,加深对数据通路的理解,并且通过实验验证所学知识的准确性和实用性。
二、实验器材和软件实验器材:计算机、VHDL开发板、配套接口线实验软件:Quartus II三、实验内容1.设计基本数据通路的单元模块,并对其进行仿真验证。
2.将各单元模块综合到一起,形成完整的数据通路,并对其进行逻辑分析和综合。
3.编写测试代码,对数据通路进行功能验证。
四、实验步骤1.设计基本数据通路的单元模块首先,根据实验要求,设计并实现各个基本数据通路的单元模块,如加法器、减法器、乘法器等。
根据需要,还可以设计其他辅助模块,如多路选择器、寄存器等。
在设计单元模块时,需要根据实验要求确定输入和输出信号的位数,并且保证设计的模块功能的准确性和完整性。
2.仿真验证单元模块利用Quartus II提供的ModelSim进行仿真验证。
将设计好的单元模块进行连接,并通过给定的测试向量,验证各个模块的功能是否符合预期。
3.综合设计数据通路将各个单元模块综合到一起,形成完整的数据通路。
在综合的过程中,需要注意各个模块之间的连接和信号的传递。
对综合后的数据通路进行逻辑分析和综合,检查是否存在逻辑错误,并根据需要进行优化处理。
4.编写测试代码根据数据通路的功能,编写相应的测试代码,对数据通路进行功能验证。
测试代码中应包含各种不同类型的测试用例,以确保数据通路的正确性。
五、实验结果分析经过各个步骤的设计与实验,我们成功实现了一个简单的数据通路,并且通过测试代码的运行,验证了数据通路的功能的正确性。
六、实验心得通过本次实验,我深入了解了数据通路的设计与实现过程,加深了对数据通路的理解。
通过实践操作,掌握了Quartus II软件的使用技巧,提高了自己的综合设计能力。
在实验过程中,我遇到了一些问题,通过与同学和老师的交流,顺利解决了这些问题。
通过自己的努力和团队合作,成功完成了本次实验,并且对数据通路有了更深入的认识。
计算机组织与结构实验报告实验一:学习计算机组成部件及主板结构一.实验目的1.了解计算机的主要部件2.掌握放置在主板中的器件的位置与结构特征二.实验内容1.根据老师的讲解与实物示意图,观察并确定各个放置在主板中的器件的名称,了解计算机内部的组织结构。
中央处理器,芯片组,主存储器,4个SerialATA接口,PCI-Express X16图形连接器,2个PCI-Express X1连接器,10/100网络接口,5.1环绕声音频接口,4个PCI连接器,8个高速USB2.0端口,intel超静冷却部件。
整体示意图:局部示意图:2.能够默记下各个器件的位置与名称。
3.了解各个器件的主要功能与应用。
1)中央处理器CPU由于大规模集成电路的发展,芯片制作可以将运算器与控制器集成在一个芯片之内,即中央处理器,它是计算机的核心组件,负责程序的执行。
它由完成算数及逻辑运算的单元ALU以及控制程序执行的控制单元CU构成。
2)芯片组由南桥与北桥共同构成,其中,北桥将CPU与高速部件如主存、显卡连接在一起,而南桥负责连接低速外设总线,如低速PCI总线设备。
3)主存储器保存正在执行的程序及所用的数据。
4)SerialATA接口用于连接高速外围存储器,如硬盘。
5)高速USB2.0端口连接USB设备6)intel超静冷却部件用于控制风扇速度,降低噪声级别。
三.实验小结我们不仅要从理论上理解计算机的组织结构与主要部件,还要从实践中加以巩固。
直观观察主板上的相关器件,并且动手操作拆装,有助于加深理解现代微型计算机的完美结构。
实验二:C程序的翻译与执行一.实验目的1.掌握从高级语言编写的程序源码到机器可执行的目标代码,需要经过的几个关键处理环节。
2.理解各个环节的相关原理。
二.实验内容1.打开Microsoft Visual C++ 6.0 新建一个源程序文件2.输入一个简单的源程序#include<stdio.h>#include<math.h>void main(){int a,b,c;float s,area;printf("input a,b,c:");scanf("%d,%d,%d",&a,&b,&c);if (a+b>c&&a-b<c){printf("they can make t\n");s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%f\n",area);}else printf("they can't make it\n");}3.编译、链接、运行此程序运行结果:三.实验小结1.编译,由C编译器对一个C程序源码进行编译,将其翻译成机器可懂得的符号形式,又成为汇编语言程序。
南通大学计算机科学与技术学院上机实验报告课程名称:计算机组成原理实验年级: 2010级上机日期:2010,5,29 姓名:严军墙学号:1013072025 班级:网络工程101实验名称:简单数据通路组成与故障分析实验教师:王杰华成绩:一:目的及要求目的:(1)将运算器模块与存储器模块进行连接;(2)进一步熟悉计算机的数据通路;(3)炼分析问题与解决问题的能力,学会在出现故障的情况下,独立分析故障现象并排除故障。
要求:(1)做好实验前的预习工作,掌握实验电路的数据通路特点和集成电路的功能特性。
(2)写出实验报告,内容为:①实验目的。
②实验电路图。
③实验数据记录(仿真波形及仿真结果的分析方法、分析过程和分析结果)。
④写出本次实验的心得,讨论实验中遇到的问题。
二:环境(软硬件平台)软件:Quartus II2.0硬件:i3 cpu 2g 内存windows操作系统三:内容及步骤(包括程序流程及说明)(1)设计一实验电路图,把前面进行的运算器实验模块与存储器实验模块两部分电路连接在一起。
RAM和ROM的输出应能送至寄存器DR1和DR2作为运算器的输入,而运算器的结果应既可以送入R0暂存,又可以送入RAM的指定单元。
整个电路总线结构的形式自行设计。
本实验结合第二次和第三次实验。
掌握好运算器跟储存器的数据传输。
电路图如下:(2)排除实验电路中的故障,正确连线。
(3)给ROM的02H单元和09H单元分别置入初始数据12H和19H,把31H写入RAM的81H单元,然后完成以下运算:(02H)+(81H)(81H)(81H)-(09H)(81H)验证运算结果和存储器单元的内容是否正确。
四:运行结果答:对于用ROM存储的02H单元的数据12H,09H单元的数据19H,则一开始初始化;如图所示:而对于用RAM存储的81H单元的数据31H,则在调波形的时候初始化并使用数据,如图对81H单元数据的存储及验证:(1):完成运算:(02H)+(81H)(81H)答:先是对81H单元进行存储;再取02H单元的数据,寄存到DR1中;再取81H单元的数据,寄存到DR2中;进行数据相加,并寄存到R0中;将R0中的数据存到81H单元中,并验证。
一、实验名称:运算器数据通路实验二、实验目的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。
实验1 通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用.二、实验要求掌握通用寄存器R3~R0的读写操作.三、实验原理实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。
图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。
RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。
DRCK信号为寄存器组打入脉冲,上升沿有效.准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2—3-3 通用寄存器数据通路四、实验内容1.实验连线连线信号孔接入孔作用有效电平2.寄存器的读写操作①目的通路当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表.通用寄存器“手动/搭接”目的编码②通用寄存器的写入通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:③源通路当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表.通用寄存器“手动/搭接”源编码④ 通用寄存器的读出关闭写使能,令K18(RWR )=1,按下流程分别读R0、R1、R2、R3。
五、实验心得通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。
实验2 运算器实验一、实验目的掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能.二、实验要求完成算术、逻辑、移位运算实验,熟悉ALU 运算控制位的运用.三、实验原理实验中所用的运算器数据通路如图2-3—1所示。
ALU 运算器由CPLD 描述。
运算器的输出FUN 经过74LS245三态门与数据总线相连,运算源寄存器A 和暂存器B 的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O 输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
计算机科学与技术系实验报告专业名称计算机科学与技术课程名称计算机组成原理项目名称基本运算器实验班级学号姓名同组人员无实验日期 2015.5.6一、实验目的与要求(1)了解运算器的组成结构 (2)掌握运算器的工作原理 二、实验逻辑原理图与分析运算器原理图运算器内部还有三个独立运算部件,分为算数、逻辑、移位运算部件,要处理的数据存于暂存器A 和暂存器B 中,三个部件同时接收来自A 和B 的数据,各部件对操作数进行何种操作由控制信号S3 S2 S1 S0和CN 来决定,任何时候,多路选择开关只能选择三部件中的一个部件的结果作为ALU 的输出。
如果是影响进位的运算,还将置进位标志FC ,在运算结果输出前,置ALU 零标志。
ALU 中所有模块集成在一片CLPD 中。
三、数据通路图及分析CNIN[7…0]FCCn逻辑运算数据通路Cn逻辑运算数据通路算术运算数据通路四、实验数据和结果分析实验数据:FC Cn结果分析:1、逻辑运算(1)S3S2S1S0=0010时,逻辑与运算F=AB。
01100101&1010011100100101(2)S3S2S1S0=0011时,逻辑或运算F=A+B。
01100101+10100111111001112、移位运算(1)S3S2S1S0=0111,CN=1时,F=A带进位循环左移一位。
01100101110010103、算术运算(1)S3S2S1S0=1011,CN=1时,F=A减B。
01100101 01100101-10100111 => +0101100110111110暂存器中的数据发送至ALU,经控制单元发送的指令码,进行逻辑运算,移位运算,算数运算,结果通过多路开关产生一个正确的结果送至总线。
五、实验问题分析、思考题与小结分析:通过本次实验了解运算器的输入逻辑、输出逻辑、算术逻辑单元,掌握运算器的工作原理,其中最主要的是加法器。
知道运算器的输出跟数据总线相连,同时两个输入端通过两个锁存器也与数据总线相连。
数据通路实验一、实验目的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选中的寄存器。
计算机系统结构实验指导书实验三 WIN DLX虚拟处理器流水线相关问题及其处理方法实验目的1.进一步熟悉DLX指令集及其编程;2.熟悉WINDLX虚拟处理器的流水线结构;3.理解流水线中的结构、数据、控制相关;4.了解流水线相关对CPU性能的影响;实验平台WinDLX处理器实验内容和步骤1.阅读“WINDLX处理器流水线结构”、“在线帮助文档”、“WINDLX指令集”等文档理解和熟悉DLX流水线基本结构与特点,进一步掌握DLX汇编程序编写及WINDLX处理器的操作和使用。
2.利用WINDLX处理器执行求最大公约数示例程序gcm.s,该程序从标准输入读入两个整数,求它们的最大公约数,并将结果写到标准输出。
该程序调用了input.s输入子程序。
1)认真记录实验数据及主要寄存器、存储器中内容;2)调整乘法器件个数,观察流水线窗口的情况,并根据统计窗口数据记录程序运行所需时钟周期数,延时时钟周期数占总执行周期数的百分比,并加以说明。
3.用WinDLX处理器运行程序structure.s:1)通过模拟,找出存在结构相关的指令对以及导致结构相关的部件;2)记录由结构相关引起的延时时钟周期数,计算延时时钟周期数占总执行周期数的百分比;3)通过Configuration菜单中的“Floating point stages”选项,把除法单元数设置为3,把加法﹑乘法﹑除法的延迟设置为3个时钟周期,重新用WinDLX处理器运行程序structure.s,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数;4)与步骤3结果比较,计算步骤4之后的流水线吞吐率、加速比和效率;5)记录实验数据或显示结果,并讨论结构相关对CPU性能的影响以及解决结构相关的方法。
4.编写一段能实现向量运算D= A·( B+ C)的DLX汇编程序。
5.在WINDLX处理器上装入并采用默认设置的未旁路的流水线运行该程序:1)记录实验数据及主要寄存器、存储器中内容;2)观察并记录运行时空图和统计窗口主要数据;3)计算总延迟占所有周期数百分比,并分析各类冒险所占比例。
数据通路设计实验报告1. 引言数据通路是计算机中的核心部分,负责处理和传输数据。
在本次实验中,我们设计了一个简单的数据通路来实现特定的功能。
本报告将介绍实验设计的目标、方法和实验结果,并进行讨论和总结。
2. 实验目标本次实验的目标是设计一个数据通路,该数据通路能够执行数据输入、运算和输出的功能。
具体而言,我们需要设计以下模块:1. 输入模块:从外部读取输入数据;2. 运算模块:对输入数据进行运算;3. 输出模块:将运算结果输出到外部。
3. 实验方法为了实现上述目标,我们采用了以下步骤和方法:3.1 模块划分首先,我们将整个数据通路划分为三个模块:输入模块、运算模块和输出模块。
这样的划分既便于理解,又便于设计和实现。
3.2 模块设计接下来,我们对每个模块进行详细的设计。
具体而言,我们需要设计以下部分:3.2.1 输入模块输入模块负责从外部读取输入数据。
我们设计了一个输入寄存器,用于存储输入数据。
输入模块通过读取输入寄存器的内容,将数据传输到运算模块。
3.2.2 运算模块运算模块是整个数据通路的核心部分,负责对输入数据进行运算。
我们设计了一个加法器和一个乘法器来执行相应的运算。
运算模块从输入模块读取数据,并将计算结果存储到输出寄存器中。
3.2.3 输出模块输出模块将运算结果输出到外部。
我们设计了一个输出寄存器,用于存储运算结果。
输出模块从运算模块读取结果,并将其传输到外部。
3.3 数据通路连接最后,我们将各个模块连接起来,形成完整的数据通路。
具体而言,我们将输入模块与运算模块连接,将运算模块与输出模块连接,从而实现数据的输入、运算和输出。
4. 实验结果经过设计和实现,我们成功完成了数据通路的构建。
经过测试,数据通路能够正确地执行输入、运算和输出功能。
具体而言,我们测试了不同的输入数据和运算操作,并验证了结果的正确性。
5. 讨论在实验过程中,我们遇到了一些困难和挑战。
首先,我们在模块设计和连接中需要考虑各个模块之间的数据传输和时序管理。
数据通路组成实验参考(1) 接线IAR_BUS#接VCC,禁止中断地址寄存器IAR向数据总线DBUS送数据。
CER 接GND,禁止存储器右端□工作。
ARl_INC接GND,禁止ARl加l。
S2接GND,S1接GND,S0接VCC,使运算器ALU处于直通方式。
M2接GND,使DR2选择寄存器堆RF作为数据来源。
置DP=1,DZ=0,DB=0,使实验系统开机后处于单拍状态。
K0接SW_BUS#,Kl接RS_BUS#,K2接ALU_BUS,K3接CEL#,K4接IRW,K5接LDAR1,K6接LDDR2,K7接LDER,K8接RS0,K9接RS1,Kl0接RD0,Kl1接RDl,Kl2接WR0,K13接WRl,K14接WRD。
合上电源。
按 CLR#按钮,便实验系统处于初始状态。
(2) 向RF中的四个通用寄存器分别置入数据令Kl(RS_BUS#)= l,K2(ALU_BUS)=0,K3(CEL#)=l,K4(IRW)=l,K5(LDARl)=0,K6(LDDR2)=0,K8(RS0)=0,K9(RS1)=0,Kl0(RD0)=0,Kll(RDl)=0,Kl2(WR0)=0,K13(WRl)=0,K14(WRD)=0。
令K0(SW_BUS#)=0,K7(LDER)=1。
置SW7-SW0为0FH,按一次QD按钮,将0FH写入暂存寄存器ER。
令K7(LDER)=0,K14(WRD)=l,Kl2(WR0)=0,K13(WRl)=0,按一次QD按钮,将0FH(在ER中)写入R0寄存器。
令K0(SW_BUS#)=0,K7(LDER)=1,K14(WRD)=0。
置SW7-SW0为0F0H,按一次QD 按钮,将0F0H写入暂存寄存器ER。
令K7(LDER)=0,K14(WRD)=l,Kl2(WR0)=l,K13(WRl)=0,按一次QD按钮,将0F0H(在ER中)写入Rl寄存器。
令K0(SW_BUS#)=0,K7(LDER)=1。
运算器数据通路实验报告第一篇:运算器数据通路实验报告运算器数据通路实验设计报告学号:姓名:成绩:学号:姓名:成绩:一、实验名称:总线、半导体静态存储器实验二、实验目的.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。
一、实验目的本次数据通路实验实训旨在通过实际操作,加深对计算机系统数据通路组成、工作原理及性能分析的理解。
通过实验,使学生掌握数据通路的基本结构、信号流程、时序关系以及数据通路性能的测试方法。
同时,培养学生独立分析问题、解决问题的能力,提高动手实践能力。
二、实验环境1. 硬件环境:- 计算机一台,配置符合实验要求。
- 实验箱一套,包含数据通路实验模块、测试模块、示波器等。
2. 软件环境:- 操作系统:Windows 10- 软件工具:数据通路实验软件、示波器软件等。
三、实验原理数据通路是计算机系统的重要组成部分,主要负责数据的传输和处理。
本实验主要研究以下内容:1. 数据通路的基本结构:包括数据总线、地址总线、控制总线、运算器、存储器等。
2. 数据通路的信号流程:从输入数据到输出结果的过程。
3. 数据通路的时序关系:各模块之间的时间配合和协调。
4. 数据通路性能的测试方法:通过实验测试数据通路的带宽、延迟等性能指标。
四、实验内容1. 数据通路结构认识:- 观察实验箱各模块的连接方式,了解数据通路的基本结构。
- 分析各模块的功能和作用。
2. 数据通路信号流程分析:- 通过实验软件,模拟数据通路中的信号流程。
- 分析信号在数据通路中的传输路径和时序关系。
3. 数据通路时序关系分析:- 观察实验箱中各模块的时钟信号,分析时序关系。
- 通过实验软件,调整时序参数,观察对数据通路性能的影响。
4. 数据通路性能测试:- 使用示波器测量数据通路中的信号波形,分析信号延迟等性能指标。
- 通过实验软件,模拟不同负载下的数据通路性能,分析其带宽、延迟等指标。
五、实验过程1. 数据通路结构认识:- 打开实验箱,观察各模块的连接方式,了解数据通路的基本结构。
- 通过实验指导书,分析各模块的功能和作用。
2. 数据通路信号流程分析:- 启动实验软件,设置输入数据。
- 观察信号在数据通路中的传输路径和时序关系。
3. 数据通路时序关系分析:- 调整实验箱中各模块的时钟信号,观察时序关系变化。
计算机科学技术系王玉芬2012年11月3日基础实验部分该篇章共有五个基础实验组成,分别是:实验一运算器实验实验二存储器实验实验三数据通路组成与故障分析实验实验四微程序控制器实验实验五模型机CPU组成与指令周期实验实验一运算器实验运算器又称作算术逻辑运算单元(ALU),是计算机的五大基本组成部件之一,主要用来完成算术运算和逻辑运算。
运算器的核心部件是加法器,加减乘除运算等都是通过加法器进行的,因此,加快运算器的速度实质上是要加快加法器的速度。
机器字长n位,意味着能完成两个n位数的各种运算。
就应该由n个全加器构成n位并行加法器来实现。
通过本实验可以让学生对运算器有一个比较深刻的了解。
一、实验目的1.掌握简单运算器的数据传输方式。
2.掌握算术逻辑运算部件的工作原理。
3. 熟悉简单运算器的数据传送通路。
4. 给定数据,完成各种算术运算和逻辑运算。
二、实验内容:完成不带进位及带进位的算术运算、逻辑运算实验。
总结出不带进位及带进位运算的特点。
三、实验原理:1.实验电路图图4-1 运算器实验电路图2.实验数据流图图4-2 运算器实验数据流图3.实验原理运算器实验是在ALU UNIT单元进行;单板方式下,控制信号,数据,时序信号由实验仪的逻辑开关电路和时序发生器提供,SW7-SW0八个逻辑开关用于产生数据,并发送到总线上;系统方式下,其控制信号由系统机实验平台可视化软件通过管理CPU来进行控制,SW7-SW0八个逻辑开关由可视化实验平台提供数据信号。
(1)DR1,DR2:运算暂存器,(2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。
(3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。
(4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。
(5)M:M=0执行算术操作;M=1执行逻辑操作。
(6)/CN :/CN=0表示ALU运算时最低位加进位1;/CN=1则表示无进位。
计算机组织与体系结构实验报告1.1基本运算器实验1.1.1 实验目的(1) 了解运算器的组成结构。
(2) 掌握运算器的工作原理。
1.1.2 实验设备PC机一台,TD-CMA实验系统一套。
1.1.3 实验原理本实验的原理如图1-1-1所示。
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片FPGA中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。
图中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:(1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。
例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。
(3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
运算器部件由一片FPGA实现。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
请注意:实验箱上凡丝印标注有马蹄形标记,表示这两根排针之间是连通的。
图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
实验三 数据通路组成实验 一 实验目的 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)写出详细的实验步骤、记录实验数据及校验结果。 (3)其他值得讨论的问题。 六、实验步骤及结果
任务1:接线 数据通路 RS0 RS1 RD0 RD1 WR0 WR1 LDRi LDDR1 模拟开关 K0 K1 K2 K3 K4 K5 K6 K7
数据通路 RS_BUS# SW_BUS# ALU_BUS# RAM_BUS# LR/W# CEL# LDAR# 模拟开关 K8 K9 K10 K11 K12 K13 K14
数据通路 AR+1 CER# Cn# M S0 S1 S2 S3 模拟开关 地 VCC VCC 地 地 地 地 地 任务2:用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=OFH,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, K12(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, K12(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上的数据0FH写入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.
令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上的数据0AAH写入AR指定的存储单元0AAH.
任务4:分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据.
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=0AAH, 按QD按钮, 将0AAH写入地址寄存器AR.
令K4(WR0)=0, K5(WR1)=0, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=0, K12(LR/W#)=1, K13(CEL#)=0, K14(LDAR#)=1. 按QD按钮, 将AR指定的存储器地址0AAH单元的内容0AAH读出,然后写入寄存器R0.
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=55H, 按QD按钮, 将55H写入地址寄存器AR.