




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机体系结构实验报告2华东理工大学 第一篇:计算机体系结构实验报告2华东理工大学实验名称多通路运算器和寄存器堆实验地点信息楼420实验日期2012-12-7一、实验目的1.了解多通路的运算器与寄存器堆的组成结构。2.掌握多通路的运算器与寄存器堆的工作原理及设计方法。二、实验设备PC机一台,TD-CMX实验系统一套。三、实验原理1.ALU®单元的结构ALU®单元由运算器和双端口寄存器堆构成,通过不同的控制信号SEL1、SEL0产生不同结构的运算器。运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B。SEL0和SEL1用于选择运算器和寄存器堆的通路:(1)当SEL1=0、SEL0=0,ALU的输出D7„D0、REG(右口)的输出OUT7„OUT0和ALU与REG的输入IN7„IN0接到CPU内总线上时,如图1-2-1所示,寄存器堆只能从右口进行操作,相当于只有一组控制线的单端口寄存器堆,一般计算机组成原理实验涉及到的运算器和寄存器就是采用这种结构。(2)当SEL1=1、SEL0=0,REG(右口)的输出OUT7„OUT0和ALU与REG(右口)的输入IN7„IN0接到CPU内总线上时,运算器和双端口寄存器堆的结构如图1-2-2所示,寄存器堆由两组控制信号来分别进行控制,每组控制信号都可以相对独立的对寄存器堆进行读写操作,同时增加了执行专用通道A总线,以利于提高指令执行的效率。(3)当SEL1=1、SEL0=1,REG(右口)的输出OUT7„OUT0和ALU与REG(右口)的输入IN7„IN0接到CPU内总线上时,运算器和双端口寄存器堆的结构如图1-2-3所示,在双通道双端口运算器和寄存器堆的基础上增加了暂存器旁路,把运算结果写回到寄存器堆的同时也可以写到暂存器A、暂存器B中。由于在运算型指令中把运算的结果写到通用寄存器中的指令很多,占运算型指令的大多数,发生通用寄存器数据相关的概率相当高,因此,可以用硬件设置专用路径来解决这种通用寄存器数据相关问题。上面介绍了运算器和寄存器堆的三种典型的数据通路图,在计算机组成原理这门课程中我们已经对运算器有了初步的了解,明白运算器的主要功能是完成算术和逻辑类运算。在系统结构这门课程中经过进一步的研究,还会了解到运算器与寄存器堆的结构对于计算机系统的设计有着重要的作用,对于计算机性能的优劣有着很大的影响。2.ALU®单元的应用在了解运算器与寄存器堆结构的基础上,基于如图1-2-3所示的双通道双端口运算器和双端口寄存器堆的结构可以设计一段程序:从IN单元读入一个数据,存入R0;从IN单元读入另一个数据,存于R1;将R0和R1相加,结果存于R0;将R0和R1相加,结果存于R3,同时打入暂存器A中;再将R0的值送OUT单元显示。四、实验操作及运行结果(1)实验步骤1、把时序与操作台单元的“MODE”短路块插上,使系统工作在四节拍模式,按实验连接图接线。注意:连线时实验箱电源要处于关闭状态。2、确保接线正确后,将实验箱连到电脑:电源线+并口Jtag下载线(打印机口),并打开实验箱电源。3、在软件QuartusII8.0中选择“File->OpenProject”选项,按照以下路径查找实验过程中需要下载到FPGA中的数据“C:TangDuCMXFPGAALU®ALU®.qpf(.sof)”,打开该文件后,单击软件中的“Programmer”选项,单击“Start”完成下载。如果下载成功在界面Progress中可以看到100%的标志字样。4、用串口电缆连接实验箱和电脑打印机口,接通电源,打开软件CMX,进行串口测试(如果串口线未连接或者串口线故障则自动弹出错误信息对话框):端口→串口选择→COM1或者COM2;然后,测试串口通讯是否成功:端口→串口测试。5、如果串口通讯成功,在PC机上运行TD-CMX,进入联机软件界面,选择菜单命令“【实验】—【ALU®实验】”,打开数据通路图。6、首先按CON单元的CLR开关进行系统清零,状态机为S0态。然后,采用单节拍运行方式来观察数据流通。1)用连接成的双通道双端口运算器和双端口寄存器堆的结构实现以下一段程序:从IN单元读入一个数据,存入R0;从IN单元读入另一个数据,存于R1;将R0和R1相加,结果存于R0;将R0和R1相加,结果存于R3,同时打入暂存器A中;再将R0的值送OUT单元显示。2)根据指令要求,得出用时钟进行驱动的状态机描述,即得出其有限状态机S0:空操作,系统复位后的状态S1:IN->R0;从IN单元往R0中打一个数S2:IN->R1;从IN单元往R1中打一个数S3:R0->A,R1->B;同时把R0、R1中的数打入暂存器A、B中S4:A+B->R0;将A+B的结果送

淑然****by
实名认证
内容提供者


最近下载