《实验指导书_计算机组成原理.doc》由会员分享,可在线阅读,更多相关《实验指导书_计算机组成原理.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、李英 王强 编 杨勇 审计算机组成原理实 验 指 导 书东华理工学院自编教材 20080XX计算机组成原理实 验 指 导 书编写:李英 王强审校:杨勇东华理工大学信工学院二八年十月目 录实验一 运算器数据通路实验.1实验二 总线存储器实验.11实验三 运算器仿真实验.20实验四 存储器仿真实验.25实验五 输入输出接口仿真实验.29实验六 数据通路仿真实验.34实验七 微程序实验.38实验一 运算器数据通路实验一、实验预习1、复习本次实验所用的各种数字集成电路的性能及工作原理。2、复习74LS181的工作原理,熟悉各管脚的逻辑功能。3、按实验原理要求设计运算器,画出逻辑电路图及实验连线图。4、
2、预先拟订好实验步骤,考虑好可能产生的故障,并想好采取哪些实验技术手段进行排除。5、74LS181是一个带有输入函数发生器的四位并行加法器,如果要进行8位或更多位的运算,应如何处理?6、实验中挂在总线上的器件(如运算器、寄存器、开关等)向总线发信息时应注意些什么问题?二、实验目的1、熟悉74LS181函数功能发生器的功能,提高器件在系统中应用的能力。2、熟悉运算器的数据传送通路。3、完成几种算术/逻辑运算器操作,加深对运算器工作原理的理解。三、实验仪器实验仪器:1、综合硬件公共箱NS-GG12、逻辑电路搭试板NS-DS13、接线工具和连接导线实验器件:1、四位函数功能发生器74LS181 2片2
3、、八D锁存器74LS373 1片3、八D触发器74LS2732片4、八缓冲器74LS244 1片器件介绍:1、八D锁存器74LS373输 入输出Q输出控制 使能 G D L H H L H L L L H HL Q0Z图1-1 八D锁存器74LS3732、八D触发器74LS273输 入输出Q CLR CLK D L X X H L H H H L LL H Q0图1-2 八D触发器74LS273 3、八缓冲器74LS244控制输入数据通道状况 1A?-1Y? 2A?-2Y? L L L H H L H H通 通通 断断 通断 断图1-3 八缓冲器74LS244 四、实验原理1运算器基本结构运算
4、器是计算机中对数据进行加工处理的部件,是中央处理单元(CPU)的主要组成部分之一。运算器基本结构一般由算术逻辑运算单元(ALU)、输入数据选择电路、通用寄存器组、输出数据控制电路等组成。如图(1-4)算术逻辑运算单元(ALU):是对操作数进行算术运算和逻辑运算的器件。在各种运算中,相加操作是基本的操作;相减可通过取补和相加操作来实现;乘法和除法则可通过相加、移位、取补等基本操作来完成。至于逻辑运算则可用逻辑门来完成。通用寄存器组:它由若干寄存器构成,主要用来暂时存放参加运算的数据和运算结果或中间结果。输入数据选择电路:是对送入运算器的数据进行选择和控制。输出数据控制电路:是对运算器输出数据进行
5、控制。 输出控制电路 运算器(ALU) 输入选择电路 寄存器1 寄存器2 寄存器3 图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。S3S0
6、共有16种编码,每一种编码都对应一种操作。算术/逻辑控制模式:M,当M=0时为算术运算,M=1时为逻辑运算。(2)输出信号运算结果:F3;F2;F1;F0为运算结果值,Cn+4为结果进位输出。“A=B”输出端:判别A、B两操作数是否相等。超前进位连接信号:P;G,主要提供全超前进位74182连接使用。图1-5 74LS181引脚图 S3 Cn+4 F3 F2 F1 F0 A=B S2 GS1 四位算术逻辑单元(ALU) PS0 74LS181 M CnA3 A2 A1 A0 B3 B2 B1 B0 图1-6 74LS181方框图表1-2 74LS181功能表功能选择S3S0M=1逻辑功能M=0
7、 算术运算=1(无进位)=0(有进位) 0 0 0 0F=F=F= 0 0 0 1F=F=F= 0 0 1 0F=F=F= 0 0 1 1F=0F=减12的补码F=0 0 1 0 0F=F=F= 0 1 0 1F=F=F= 0 1 1 0F=F=F= 0 1 1 1F=F=F= 1 0 0 0F=F=F= 1 0 0 1F=F=F= 1 0 1 0F=F=F= 1 0 1 1F=F=F= 1 1 0 0F=1F=F= 1 1 0 1F=F=F= 1 1 1 0F=F=F= 1 1 1 1F=F=F=注意:“+”为逻辑“或”运算; “加”和“减”为算术运算。3 运算器数据通路(1)总线传送原则总
8、线是计算机中传送信息的公共通路,也称BUS。如图1-7所示挂在总线上的有三态传输门、寄存器RA、RB、RC、IR等器件。当它们之间在进行传送时,必须要具有分时操作的可能性,即不允许在同一总线上同时有两个以上的器件向总线发送信息,这也是总线传送原则。为了实现图1-7所示总线传送的原则,采用三态门方式来隔离挂在总线上的器件。其中74LS244是专作挂总线的三态门器件之一,而74LS373锁存器亦带有三态传输门,可直接挂上总线。图1-7 ALU数据通路(2)运算器实验电路图如图(1-8)所示为运算器数据通路实验电路图(见下页)。电路图中有三个寄存器RA(74LS273)、RB(74LS273)、RC
9、(74LS373),一个三态传输门(74LS244)和二个ALU运算部件(74LS181),还有作为输入设备的开关组K1K8。输出设备显示灯(发光二极管)L1L18。本实验核心集成芯片是函数功能发生器74LS181,为了进行8位数据运算,必须用两个74LS181(ALU1和ALU2)来进行实验。电路图中,直接将ALU1的Cn+4接到ALU2的Cn,也就是说在两个函数功能发生器之间采用串行进位方式。在进行ALU数据通路实验中,要使ALU按要求进行算术/逻辑运算,就必须给它操作码和操作数。操作码:由综合硬件公共箱上开关K11K15提供,将74LS181引脚S3(3);S2(4);S1(5);S0(
10、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本身没有三态功能,其输出不能直接接到总线上 ,所以在
11、其输出端与总线之间加一具有三态门功能的寄存器RC(74LS373),用作ALU与总线间的隔离器,当寄存器RC(74LS373)引脚OE(1)为低电平时运算结果送入总线(BUS),OE为高电平时ALU与总线间隔离。 三态传输门:由于开关组本身没有三态功能,不能直接连接到总线上,所以74LS244就用作隔离器,控制开关组能否向总线发送信息。当74LS244的控制端为第1脚()和第19脚()为低电平时,开关数据向总线发送,为高时开关与总线间隔离。五、实验内容(1)按运算器实验电路图连线组装,并且检查排错。(2)完成如下表所示的各种算术/逻辑运算功能,并记录运算结果。各种算术/逻辑运算功能记录表:运算
12、操作A累加器B累加器结果ADDSUBANDORCPLINC操作步骤:1、开关初始化K9置“1”,K10置“1”。2、送操作码开关组K15K11拨上相应的操作码。即通过开关组K15K1直接给74LS181(ALU)的S3、S2、S1、S0和M置数,控制74LS181按设定值进行相应的算术/逻辑运算。3、送第一操作数开关组K8K1上拨一个数据Data1,经三态传输门74LS244(K9置“0”)BUS寄存器RA(由P1向RA的74LS273时钟端CLK发一个单脉冲信号)。寄存器RA接收到第一操作数Data1后,直接送到函数功能发生器ALU的相应位上。4、送第二操作数开关组K8K1上拨一个数据Dat
13、a2,经三态传输门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的输出控制端加一有效低电平),将运算结果R
14、esult送到总线上,并在显示灯L8L1上显示出来,看看运算结果是否正确。实验中注意事项:1、由于实验电路较为复杂,可以采取逐步调试的方法。即对每一个集成芯片,在其控制端的控制下,看其输出、输入信号是否满足其功能表规定的功能。2、实验中,用到了总线结构,根据总线的分时性原则,必须保证在任意时刻只能有一个信号源向总线发送信息。实验中的每一步,为了保证数据正确、有效的传送,对控制开关进行了相应设置,切记在数据传输完毕后,将控制开关恢复到初始化状态。否则会造成数据传输的混乱,影响实验的正确完成。3、实验中,对一组数据进行算术运算,有可能产生向高位的进位,实验时,可考虑将ALU2的Cn+4这个输出信号
15、接到某个显示灯上,这样能更好验证运算结果的正确性。六、实验记录1、详细记录实验中各集成块控制信号操作先后顺序,弄懂这种先后顺序对实验的重要性。2、记录各条指令及各组数据的运算结果,看看是否正确。七、选做实验在运算器数据通路实验电路的基础上,设计一个溢出判断电路。因该运算器是采用8位定点补码形式运算,数表示在-128127范围内,当运算结果超出8位所能表示的数的范围时(即发生溢出),溢出判断电路将记录溢出结果并停止运算,显示溢出标志位。八、实验报告1、画出该实验电路的原理框图和实验电路图。2、详细列出实验时的操作步骤,重点是各模块控制信号给出的先后顺序。3、对实验内容表格中各条操作指令及操作数据
16、进行运算,并记录运算结果。4、实验过程中,出现了那些问题,每个问题是如何解决的?实验二 总线存储器实验一、实验预习1、复习本次实验所用的各种数字集成电路的性能及工作原理。2、复习静态半导体随机读写存储器6116的有关内容。3、掌握建立总线的几个原则。4、按实验原理要求画出逻辑框图图及实验连线图。5、预先拟订好实验步骤,考虑好可能产生的故障,并想好采取哪些实验技术手段进行排除。二、实验目的1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。2、了解半导体静态随机读写存储器RAM的工作原理及其使用方法。三、实验仪器实验仪器:1、综合硬件公共箱NS-GG1 2、逻辑电路搭试板NS-DS13、接线
17、工具和连接导线实验器件:1、半导体静态随机读写存储器61161片2、八D锁存器74LS373 1片3、八D触发器74LS374 1片4、八D触发器74LS273 1片5、八缓冲器74LS2441片输 入输出Q输出控制 时钟 CLK D L H L L L L H HL Q0Z 74LS374功能表图1-2 八D触发器74LS374八D触发器74LS374引脚与功能介绍: 四、实验原理存储器是计算机系统中用来记录指令和数据的设备,它们以二进制形式存放这些信息。1、主存储器的基本结构如图2-1所示为主存储器基本结构示意图,其结构主要由存储体、地址译码驱动器、数据寄存器、控制线路等构成。存储体:储存
18、以二进制形式表示的指令和数据代码,容量越大容纳的信息越多。地址译码驱动器:接收来自CPU的n位地址信号,经译码、驱动后形成2 n 个地址选择信号,每次选中一个地址。数据寄存器: 寄存CPU送来的m 位数据,或寄存从存储体中读出的m 位数据。控制线路:接收到CPU的读/写(WR)控制信号后,若是读出信号,将选中的存储单元所存的数据送入数据寄存器,原存储单元中的内容不变。 若是写入信号,将CPU送来并已存放于数据寄存器中的数据写入选中的存储单元。如果该存储单元原先存有数据,经写入操作后,数据将被新数据所取代。 : . 存储体 |数据寄存器控制线路地 址 译 码 驱 动 器 2n 年 年地址(CPU
19、)n位 年 年(CPU)R/Wm位 年 年m 位(CPU)图2-1 主存储器组成示意图2、可读写(随机)静态存储器(RAM)61166116是一种典型的CMOS静态RAM, 其引脚如图(2-2)所示, 因其存储字数为2048bit,而每个字长为8位,所以6116存储容量为20488=16384bit。 引脚功能说明如下:地址线A0A10:11位,寻址范围为00007FFH,该存储器的可存储字数为211=2048bit。数据线D0D7:8位,为数据输入/输出线。 片选控制 :低电平有效。当 =“0”时,该片被选中,与和组合可将数据线上的数据写入到地址线指定的地址单元中或将指定地址单元的内容送到数
20、据线上。写控制:当 =“0”; =“0”时,数据由总线写入存储器选中的单元中。读控制 : 当 =“0”; =“0”时,存储器所选中的单元数据读出到数据线D7D0中。 图书 图2-2 6116引脚6116功能表工 作 模 式 功 能 描 述 写 入 读 出低功耗维持0 0 10 1 0 1 X X70上的数据存入100选中单元100选中单元的内容输出到70上70呈现高阻态6116读操作过程读数据时,先在A10A0地址线上加上有效地址码,然后使=0、=1、=0 经过一段时间(读出信息在数据线上稳定,这一段时间称为读取周期,一般小于200ns),数据就从所选中的储存单元中取出到数据线70上。在整个读
21、周期中,所加的地址码应保持稳定不变。当=1时停止读。6116写操作过程写入信息时,先在A10A0加上有效地址信息,在整个写周期期间,地址信息必须保持稳定。在数据线上加上要写入的数据,使写操作信号=0、=0、=1,经写周期后数据写入到存储体的对应单元中。当=1时停止写。3总线、存储器传送通路(1)总线、存储器传送通路框图图2-3 总线、存储器传送通路框图如图2-3所示存储器传送通路能够完成如下功能: 向存储器不同的地址空间里送数(写入),然后再取出(读出)数据。 分别向寄存器R1、R2中送入一个8位数据;用RAM 作为暂存器,对R1、R2中的数据进行交换。(2) 总线、存储器传送通路电路图如图2
22、-4所示为总线、存储器传送通路电路图。本电路的核心器件为静态存储器(RAM)6116,其容量为2K8bit。它具有8根数据线和11根地址线,还有三个控制端(片选)、(读)、(写)。由于该存储器有11根地址线,而用作地址寄存器MAR的74LS273是8位的,MAR的输出只能接到6116的A7A0,它的高三位地址A10、A9、A8可以接到三个开关上,这样,就可以控制000H7FFH的2K范围内的所有存储空间。在我们这个实验中,由于公共板上的开关数量有限,高三位地址A10、A9、A8就只能接到+5V或地线上,这样只能访问700H7FFH或000H0FFH的256Byte范围内的存储空间。在电路图中,
23、我们将A10、A9、A8三个高地址位接在地线上。由于地址寄存器MAR的输出直接连到存储器6116的地址信号线上,因而采用74LS273使得MAR从总线上接受到的地址信号直接送往存储器6116的地址线上。 小。-217寄存器R1、R2分别采用具有三态锁存功能的74LS373和74LS374,它们分别有两个控制端,是输出控制端,控制锁存器中的数据能否送到总线上,G或CLK是使能或时钟端,用来控制锁存器能否接受总线上的信息。73LS373的使能端G是高电平有效,而74LS374的时钟端CLK是带上跳变的脉冲信号有效,这也就是锁存器74LS373和74LS374的差别。这些控制信号,需要不同的开关来分
24、别控制,以实现总线的分时性(即不允许在同一时刻,有两个或两个以上的信号源向总线上发送信息)。图中,由于开关组(K8K1)本身没有三态功能,不能直接连接到总线上,所以74LS244就用作隔离器,控制开关组能否向总线发送信息。74LS244的控制端为第1脚()和第19脚(),每个脚控制4位,由于该实验中总线是8位的,所以实验中我们用一个开关控制两个控制端,实现开关组的8位数据同步。五、实验内容1、按照实验电路图在逻辑电路搭试板上接线组装,并且仔细检查以防有误,然后才能加电实验。2、对存储器进行读写实验。3、用RAM 作为暂存器,对R1、R2中的数据进行交换。操作步骤1、对存储器进行读写(1)开关初
25、始化K9置“1”,K10、K11、K12置“1”, K13置“0”, K14置“1”, K15置“1”。(2)写存储器送地址:从开关组K8K1上拨一个地址Addr1,经三态传输门74LS244(K9置“0”)BUSMAR(给作为地址寄存器MAR的74LS273时钟端CLK一个单脉冲信号P1)。送数:从开关组K8K1上拨一个数据Data1,经三态传输门74LS244(K9置“0”)BUS存储器6116(K10置“0”,K11置“1”,K12置“0”)。这样,数Data1就写入到地址Addr1所指向的存储空间。要向多个存储空间写数,反复重复送地址和送数操作。(3)读存储器读存储单元是写存储单元的逆
26、过程,本实验,只有通过读出存储单元中的数据并且在显示灯上显示,才能判定写入操作是否成功。送地址:从开关组K8K1上拨一个地址Addr1,经三态传输门74LS244(K9置“0”)BUSMAR(打入单脉冲P2)。读数:先将开关K9关闭(置“1”),再将存储器的控制开关K10、K11、K12置为“0、0、1”,地址Addr1对应存储单元中的数据就被读取到总线上,并在显示灯组上显示。这样就可以看出读出的数据与写入的数据是否一致。要读出多个存储单元中的数据,可反复重复送地址和读数操作。2、交换寄存器R1、R2中的数据(1)开关初始化K9置“1”,K10、K11、K12置“1”, K13置“0”, K1
27、4置“1”, K15置“1”。(2)给R1送数从开关组K8K1上拨一个数据Data1,经三态传输门74LS244(K19置“0”)BUS寄存器R1(K13置“1”),数据Data1就送到R1中。(3)给R2送数从开关组K8K1上拨一个数据Data2,经三态传输门74LS244(K19置“0”)BUS寄存器R2(给作为R2的74LS374的时钟端CLK一个单脉冲信号P1),数据Data2就打入到R2中。(4)交换R1、R2中的数据R1送RAM:从开关组K8K1上任意拨一个地址Addr1送地址寄存器MAR,将寄存器R1中的数据送往Addr1对应的存储空间中(K14置“0”,K10、K11、K12分
28、别置为“0、1、0”)。R2送R1:将寄存器R2中的数据经总线送到寄存器R1中(K15置“0”,K13置“1”)。RAM送R2:由于地址寄存器MAR中的地址仍为Addr1,其对应存储单元中的数据也是即将要读取的数据,所以这一步没必要再作送地址的操作。直接读取Addr1中的数据送R2即可(K10、K11、K12置为“0、0、1”, 给作为R2的74LS374的时钟端CLK一个单脉冲信号P2)。经过上面三步操作后,就可实现R1、R2中数据互换。在数据互换的过程中,用到了RAM作为暂存器,这种作法是借鉴了程序设计中两变量值的互换temp=t1;t1=t2;t2=temp。实验中注意事项1、由于实验电
29、路较为复杂,可以采取逐步调试的方法。即对每一个集成芯片,在其控制端的控制下,看其输出、输入信号是否满足其功能表规定的功能。2、实验中,用到了总线结构,根据总线的分时性原则,必须保证在任意时刻只能有一个信号源向总线发送信息。实验中的每一步,为了保证数据正确、有效的传送,对控制开关进行了相应设置,切记在数据传输完毕后,将控制开关恢复到初始化状态。否则会造成数据传输的混乱,影响实验的正确完成。六、实验记录1、详细记录实验电路中各模块控制信号操作的先后顺序,及挂在总线上各三态门开启时间和关闭时间。2、记录实验中写入和读出的各组地址及相应的数据。3、实验操作过程中,出现了哪些意想不到的问题,如何解决的,
30、在解决这个问题的过程中,受到哪些启发,反过来考虑,为什么会出现这类问题。七、选做实验用二片2K8bit的6116RAM存储器,构成一个4K8bit的随机读写存储器。八、实验思考1、由K8K1设置的数据同时送入R1、R2和RAM某存储单元可以吗?为什么?该如何操作?2、图2-5是一个单总线结构的运算器框图,其中的74181为4位算术逻辑单元,非三态输出。分析以下有何问题?应该如何改进?图2-5 思考题3、对于静态存储器芯片,设片选信号始终是有效的。问:若读信号有效后,地址仍在变化,或数据线上有其它电路送来的信号,对读出有什么影响?有什么其它问题?若写信号有效后,地址仍在变化,或写入数据仍不稳定,
31、对写入有什么影响?有什么其它问题?九、实验报告1、画出该实验电路的原理框图和实验接线图。2、详细列出实验时的操作步骤,重点是各模块控制信号给出的先后顺序。3、写出半导体静态存储器的读/写过程,实验中是如何实现两寄存器R1、R2之间的数据交换的。4、实验过程中,出现了那些问题,每个问题是如何解决的?实验三 运算器仿真实验一、实验目的了解有关运算指令执行的过程,选择和设置指令执行过程中每个节拍的控制信号,观察数据传输的通路及流向。二、实验设备1、综合硬件公共箱NS-GG12、组成原理模型机NS-MX1三、实验原理1、多选一的数据通路在ALU进行运算之前,要先将参与运算的数据存入暂存器ALUA及AL
32、UB中。暂存器ALUA及ALUB的数据来自多个通道:ALUA有两个通道,通过ALUA多路选择MUX选择来自程序计数器PC或通用寄存器堆GR;ALUB有三个通道,通过ALUB多路选择MUX选择来自数据缓冲器DB或取值为1或通用寄存器堆GR。2、多选一的算术逻辑运算算术逻辑运算器ALU可进行ADD、ADC、SUB、SBC、XOR、AND、OR等算术逻辑运算,根据指令的操作码(ALUOP1、ALUOP2、ALUOP3体现)决定算术逻辑运算器ALU进行具体何种运算,并将运算结果存储在暂存寄存器TR和状态寄存器PSW中。3、多选一的数据存储最后运算执行的结果将存放在通用寄存器堆GR中,并将按照指令的目的
33、地址存放在R0R3中。四、实验步骤(一)接线1、程序计数器PC程序计数器PC的值由手工输入,用PC控制信号E_PC锁存,使程序计数器PC的显示值与输入值相同;将拨码开关的“千位”和“百位”按次序接程序计数器PC,依次表示源操作数D7D0;将开关K1接至控制信号E_PC,当E_PC=1时,可将数据打入程序计数器PC。公共箱上接线点拨盘开关千位拨盘开关百位开关K1模型机上接线点PC7PC4PC3PC0E_PC2、通用寄存器GR通用寄存器堆GR的值可由手工输入,将拨码开关的“千位”和“百位”按次序接通用寄存器堆GR,依次表示数据D7D0。将开关K2、K3接至控制信号S_RA2、S_RA1,开关K4、
34、K5接S_RB2、S_RB1,可分别选通R0R3(下面解释)。公共箱上接线点拨盘开关千位拨盘开关百位开关K2、K3开关K4、K5模型机上接线点GR7GR4GR3GR0S_RA2、S_RA1S_RB2、S_RB13、ALUA多路选择MUX ALUA多路选择MUX主要选择ALUA暂存器数据来自程序计数器PC或通用寄存器堆GR。将开关K6接至控制信号S_A:当S_A=1时,选择通用寄存器堆GR (此时由S_RA2、S_RA1选通R0R3);当S_A=0时选择程序计数器PC。公共箱上接线点开关K6模型机上接线点S_A4、ALUB多路选择MUXALUB暂存器数据来自三个通道,由ALUB多路选择MUX的控
35、制信号S_B2、S_B1选择。将开关K7、K8接至控制信号S_B2、S_B1:当S_B2、S_B1=11时,选择数据缓冲器DB(表示数据从ODBIDB); 当S_B2、S_B1=10时,选择数据固定为“1”; 当S_B2、S_B1=01时,选择通用寄存器堆GR(此时由S_RB2、S_RB1选通R0R3)。 公共箱上接线点开关K7、K8模型机上接线点S_B2、S_B15、数据缓冲器DB数据缓冲器DB连接外部数据总线ODB和内部数据总线IDB,起缓冲驱动作用。当数据缓冲器DB的控制信号E_DR为“0”时,表示数据方向由ODBIDB,反之则IDBODB。本实验将拨码开关的“千位”和“百位”按次序接数
36、据缓冲器DB,依次表示数据D7D0(模拟数据方向由ODBIDB)。公共箱上接线点拨盘开关千位拨盘开关百位模型机上接线点DB74DB306、算术逻辑运算器ALU算术逻辑运算器ALU主要进行算术逻辑运算。将开关K9K11接至ALU的控制信号ALUOP3ALUOP1,其000110七种变化分别对应ADD、ADC、SUB、SBC、XOR、AND、OR等七种算术逻辑运算。公共箱上接线点开关K9K11模型机上接线点ALUOP3ALUOP17、暂存寄存器TR 暂存寄存器TR暂存ALU运算结果。将开关K12接至TR的控制信号S_DB,当S_DB=“1”时,可将数据打入暂存寄存器TR。公共箱上接线点开关K12模
37、型机上接线点S_DB8、状态寄存器PSW 状态寄存器PSW用于存放运算标志位。将开关K13接至PSW的控制信号W_STATUS,当W_STATUS=“1”时,可将数据打入状态寄存器PSW。公共箱上接线点开关K13模型机上接线点W_STATUS附:开关K1K13与相关控制信号的关系表(用于实验时对照):开关K1开关K2、K3开关K4、K5开关K6E_PCS_RA2、S_RA1S_RB2、S_RB1S_A开关K7、K8开关K9开关K11开关K12开关K13S_B2、S_B1ALUOP3ALUOP1S_DBW_STATUS(二)操作与观察当控制开关处在手动状态、“运算器”实验灯亮时。按下“NEXT”
38、 单拍键进入运算器实验,运算器实验流程如图3-1所示。1、将操作数1打入ALUA暂存器中,操作数1来源于程序计数器PC或通用寄存器堆GR,由ALUA多路选择MUX的S_A信号控制。当S_A(K6)为“0”时,操作数1来自PC值。此时若要改变PC中值,应置E_PC(K1)=“1”,拨动拨盘开关“千位”或“百位”,观察PC显示值,应与拨盘开关输入值一致;当S_A(K6)为“1”时,操作数1来自GR值。此时若要改变GR值,可改变拨动拨盘开关“千位”或“百位”,观察GR显示值,应与拨盘开关输入值一致;改变S_RA2(K2)、S_RA1(K3)状态,观察R0R3显示随之改变,表示操作数1可来自R0R3。
39、按下“NEXT” 单拍键2、操作数2打入ALUB暂存器中,操作数2来源于数据缓冲器DB或固定为“1”或通用寄存器堆GR,由ALUB多路选择MUX的S_B2、S_B1信号控制。当S_B2、S_B1(K7、K8)=11时,操作数2来自DB值。此时可改变DB中值,拨动拨盘开关“千位”或“百位”,观察DB显示值,应与拨盘开关输入值一致;当S_B2、S_B1(K7、K8)=10时,操作数2固定为“1”;当S_B2、S_B1(K7、K8)=01时,操作数2来自GR值。此时若要改变GR值,可改变拨动拨盘开关“千位”或“百位”,观察GR显示值,应与拨盘开关输入值一致;改变K4(S_RB2)、K5(S_RB1)
40、状态,观察R0R3显示随之改变,表示操作数2可来自R0R3。按下“NEXT” 单拍键3、进行算术逻辑运算,并将运算结果数据暂存在暂存寄存器TR、运算结果标志位存入状态寄存器PSW中。当ALUOP3 ALUOP1=000,执行ADD运算;当ALUOP3 ALUOP 1=001,执行ADC运算;当ALUOP3 ALUOP 1=010,执行SUB运算;当ALUOP3 ALUOP 1=011,执行SBC运算;当ALUOP3 ALUOP 1=100,执行XOR运算;当ALUOP3 ALUOP 1=101,执行AND运算;当ALUOP3 ALUOP 1=110,执行OR运算。当S_DB=“1”,允许运算结
41、果数据存入暂存寄存器TR。当W_STATUS=“1”,允许运算结果标志存入状态寄存器PSW。分别执行不同运算,观察运算结果。按下“NEXT” 单拍键4、将运算结果数据打入通用寄存器堆GR。改变K2(S_RA2)、K3(S_RA1)状态,观察R0R3显示随之改变,表示运算结果数据已存入R0R3。按下“NEXT” 单拍键5、返回起始位置,可选做其它实验或继续运算器实验。图3-1 运算器实验流程图实验四 存储器仿真实验一、实验目的了解有关存储器操作指令执行的过程,选择和设置指令执行过程中每个节拍的控制信号,观察数据传输的通路及流向。二、实验设备1、综合硬件公共箱NS-GG12、组成原理模型机NS-MX1三、实验原理(一)地址通路和锁存对存储器操作先要选择存储器地址,并将其锁存在地址寄存器AR中。存储器地址有两种方式得到:1、直接寻址,直接从程序计数器PC得到。2、寄