●李英王强编●杨勇审《计算机组成原理》实验指导书2东华理工学院自编教材20080XX计算机组成原理实验指导书编写:李英王强审校:杨勇东华理工大学信工学院二○○八年十月3目录实验一运算器数据通路实验………………………………………….………………..1实验二总线存储器实验………………………………………………………………..11实验三运算器仿真实验…………………………………………………….………….20实验四存储器仿真实验…………………………………………………….………….25实验五输入输出接口仿真实验……………………………………………….……….29实验六数据通路仿真实验………………………………………………………….….34实验七微程序实验……………………………………………………………………..381实验一运算器数据通路实验一、实验预习1、复习本次实验所用的各种数字集成电路的性能及工作原理。2、复习74LS181的工作原理,熟悉各管脚的逻辑功能。3、按实验原理要求设计运算器,画出逻辑电路图及实验连线图。4、预先拟订好实验步骤,考虑好可能产生的故障,并想好采取哪些实验技术手段进行排除。5、74LS181是一个带有输入函数发生器的四位并行加法器,如果要进行8位或更多位的运算,应如何处理?6、实验中挂在总线上的器件(如运算器、寄存器、开关等)向总线发信息时应注意些什么问题?二、实验目的1、熟悉74LS181函数功能发生器的功能,提高器件在系统中应用的能力。2、熟悉运算器的数据传送通路。3、完成几种算术/逻辑运算器操作,加深对运算器工作原理的理解。三、实验仪器实验仪器:1、综合硬件公共箱NS-GG12、逻辑电路搭试板NS-DS13、接线工具和连接导线实验器件:1、四位函数功能发生器74LS1812片2、八D锁存器74LS3731片3、八D触发器74LS2732片4、八缓冲器74LS2441片器件介绍:1、八D锁存器74LS3732、八D触发器74LS2733、八缓冲器74LS244输入输出QCLRCLKDLXXH↑LH↑HHL×LLHQ0图1-2八D触发器74LS273控制输入数据通道状况1G2G1A?-1Y?2A?-2Y?LLLHHLHH通通通断断通断断输入输出Q输出控制使能OEGDLHHLHLLL×H××HLQ0Z图1-1八D锁存器74LS3732输出控制电路运算器(ALU)输入选择电路寄存器1寄存器2寄存器3四、实验原理1.运算器基本结构运算器是计算机中对数据进行加工处理的部件,是中央处理单元(CPU)的主要组成部分之一。运算器基本结构一般由算术逻辑运算单元(ALU)、输入数据选择电路、通用寄存器组、输出数据控制电路等组成。如图(1-4)算术逻辑运算单元(ALU):是对操作数进行算术运算和逻辑运算的器件。在各种运算中,相加操作是基本的操作;相减可通过取补和相加操作来实现;乘法和除法则可通过相加、移位、取补等基本操作来完成。至于逻辑运算则可用逻辑门来完成。通用寄存器组:它由若干寄存器构成,主要用来暂时存放参加运算的数据和运算结果或中间结果。输入数据选择电路:是对送入运算器的数据进行选择和控制。输出数据控制电路:是对运算器输出数据进行控制。图1-4运算器基本结构2.四位算术逻辑单元(ALU)74LS181的功能74LS181是一个带有输入函数发生器的四位并行加法器。它可以对两个四位二进制数进行16种算术运算,也可以对四对信息进行16种逻辑运算。如图()所示为74LS181方框图和引脚图现将它外部引脚分为输入和输出二部分进行说明(1)输入信号操作数:A3;A2;A1;A0,B3;B2;B1;B0,低位进位位Cn。A、B为两个四位二进制运算数据。Cn为来自低位进位位如Cn=0有进位,Cn=1无进位。操作功能控制编码:S3;S2;S1;S0。S3~S0共有16种编码,每一种编码都对应一种操作。算术/逻辑控制模式:M,当M=0时为算术运算,M=1时为逻辑运算。(2)输出信号运算结果:F3;F2;F1;F0为运算结果值,Cn+4为结果进位输出。“A=B”输出端:判别A、B两操作数是否相等。超前进位连接信号:P;G,主要提供全超前进位74182连接使用。图1-574LS181引脚图3图1-674LS181方框图表1-274LS181功能表功能选择S3~S0M=1逻辑功能M=0算术运算nC=1(无进位)nC=0(有进位)0000F=AF=AF=11加A0001F=BAF=BAF=1ABA加加0010F=BAF=BAF=1)BA(加0011F=0F=减1[2的补码]F=00100F=ABF=BAA加F=1BAA加加0101F=BF=BAB)(A加F=1BAB)(A加加0110F=BAF=1BA减减F=BA减0111F=BAF=1BA减F=BA1000F=BAF=ABA加F=1ABA加加1001F=BAF=BA加F=1BA加加1010F=BF=AB)B(A加F=1AB)B(A加加1011F=ABF=1AB减F=AB1100F=1F=AA加F=1AA加加1101F=BAF=AB)(A加F=1AB)(A加加1110F=BAF=A)B(A加F=1A)B(A加加1111F=AF=1A减F=A注意:“+”为逻辑“或”运算;“加”和“减”为算术运算。3运算器数据通路(1)总线传送原则总线是计算机中传送信息的公共通路,也称BUS。如图1-7所示挂在总线上的有三态传输门、寄存器RA、RB、RC、IR等器件。当它们之间在进行传送时,必须要具有分时操作的可能性,即不允许在同一总线上同时有两个以上的器件向总线发送信息,这也是总线传送原则。为了实现图1-7所示总线传送的原则,采用三态门方式来隔离挂在总线上的器件。其中74LS244是专作挂总线的三态门器件之一,而74LS373锁存器亦带有三态传输门,可直接挂上总线。S3Cn+4F3F2F1F0A=BS2GS1四位算术逻辑单元(ALU)PS074LS181MCnA3A2A1A0B3B2B1B04图1-7ALU数据通路(2)运算器实验电路图如图(1-8)所示为运算器数据通路实验电路图(见下页)。电路图中有三个寄存器RA(74LS273)、RB(74LS273)、RC(74LS373),一个三态传输门(74LS244)和二个ALU运算部件(74LS181),还有作为输入设备的开关组K1~K8。输出设备显示灯(发光二极管)L1~L18。本实验核心集成芯片是函数功能发生器74LS181,为了进行8位数据运算,必须用两个74LS181(ALU1和ALU2)来进行实验。电路图中,直接将ALU1的Cn+4接到ALU2的Cn,也就是说在两个函数功能发生器之间采用串行进位方式。在进行ALU数据通路实验中,要使ALU按要求进行算术/逻辑运算,就必须给它操作码和操作数。操作码:由综合硬件公共箱上开关K11~K15提供,将74LS181引脚S3(3);S2(4);S1(5);S0(6);M(8)分别接入对应的开关,当给出不同的编码时ALU进行相应的算术/逻辑运算。操作数:寄存器RA(74LS273)、寄存器RB(74LS273)分别用来存放两个参加运算的操作数。将寄存器RA(74LS273)引脚CLK(11)接入公共箱上单脉冲P1,当单脉冲P1由低向高跳变时,寄存器RA接收总线(BUS)的数据。将寄存器RB(74LS273)引脚CLK(11)接入公共箱上单脉冲P2,当单脉冲P2由低向高跳变时,寄存器RB接收总线(BUS)的数据。输出结果寄存器:寄存器RC(74LS373)用于存放运算结果或中间结果。由于74LS181本身没有三态功能,其输出不能直接接到总线上,所以在其输出端与总线之间加一具有三态门功能的寄存器RC(74LS373),用作ALU与总线间的隔离器,当寄存器RC(74LS373)引脚OE(1)为低电平时运算结果送入总线(BUS),OE为高电平时ALU与总线间隔离。5三态传输门:由于开关组本身没有三态功能,不能直接连接到总线上,所以74LS244就用作隔离器,控制开关组能否向总线发送信息。当74LS244的控制端为第1脚(1G)和第19脚(2G)为低电平时,开关数据向总线发送,为高时开关与总线间隔离。五、实验内容(1)按运算器实验电路图连线组装,并且检查排错。(2)完成如下表所示的各种算术/逻辑运算功能,并记录运算结果。各种算术/逻辑运算功能记录表:运算操作A累加器B累加器结果ADD01011000100101110010101001011010SUB11011101011010111100011100101110AND00001111111100000110111010011110OR11011101001000100101000110010001CPL0000000011110000INC0000000000000001操作步骤:61、开关初始化K9置“1”,K10置“1”。2、送操作码开关组K15~K11拨上相应的操作码。即通过开关组K15~K1直接给74LS181(ALU)的S3、S2、S1、S0和M置数,控制74LS181按设定值进行相应的算术/逻辑运算。3、送第一操作数开关组K8~K1上拨一个数据Data1,经三态传输门74LS244(K9置“0”)→BUS→寄存器RA(由P1向RA的74LS273时钟端CLK发一个单脉冲信号)。寄存器RA接收到第一操作数Data1后,直接送到函数功能发生器ALU的相应位上。4、送第二操作数开关组K8~K1上拨一个数据Data2,经三态传输门74LS244(K9置“0”)→BUS→寄存器RB(由P2向RB的74LS374时钟端CLK发一个单脉冲信号)。第二操作数Data2打入寄存器RB后,直接送到函数功能发生器ALU的相应位上。5、运算并显示运算结果74LS181在加电后一直都在进行运算,一旦第二操作数Data2打入到寄存器RB后,ALU就按照操作码对应的功能对操作数Data1和Data2进行相应的算术/逻辑运算,并且将运算结果Result送到寄存器RC中锁存起来。所以两操作数分别送往RA、RB后,运算结果就会送74LS373(RC)锁存起来。将K10置“0”(即给寄存器RC的输出控制端OE加一有效低电平),将运算结果Result送到总线上,并在显示灯L8~L1上显示出来,看看运算结果是否正确。实验中注意事项:1、由于实验电路较为复杂,可以采取逐步调试的方法。即对每一个集成芯片,在其控制端的控制下,看其输出、输入信号是否满足其功能表规定的功能。2、实验中,用到了总线结构,根据总线的分时性原则,必须保证在任意时刻只能有一个信号源向总线发送信息。实验中的每一步,为了保证数据正确、有效的传送,对控制开关进行了相应设置,切记在数据传输完毕后,将控制开关恢复到初始化状态。否则会造成数据传输的混乱,影响实验的正确完成。3、实验中,对一组数据进行算术运算,有可能产生向高位的进位,实验时,可考虑将ALU2的Cn+4这个输出信号接到某个显示灯上,这样能更好验证运算结果的正确性。六、实验记录1、详细记录实验中各集成块控制信号操作先后顺序,弄懂这种先后顺序对实验的重要性。2、记录各条指令及各组数据的运算结果,看看是否正确。七、选做实验在运算器数据通路实验电路的基础上,设计一个溢出判断电路。因该运算器是采用8位定点补码形式运算,数表示在-128~127范围内,当运算结果超出8位所能表示的数的范围时(即发生溢出),溢出判断电路将记录溢出结果并停止运算,显示溢出标志位。八、实验报告1、画出该实验电路的原理框图和实验电路图。2、详细列出实验时的操作步骤,重点是各模块控制信号给出的先后顺序。3、对实验内容表格中各条操作指令及操作数据进行运算,并记录运算结果。4、实验过程中,出现了那些问题,每个问题是如何解决的?实验二总线存储器实验一、实验预习1、复习本次实验所用的各种数字集成电路的性能及工作原理。2、复习静态半导体随机读写存储器6116的有关内容。3、掌握建立总线的几个原则。4、按