《计算机组成原理虚拟实验指导书(共21页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理虚拟实验指导书(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机组成原理 实 验 指 导 书 (虚拟实验系统)专心-专注-专业实验1 1位全加器 实验目的n 掌握全加器的原理及其设计方法。n 熟悉组成原理虚拟教学平台的使用。 实验设备与非门(3片)、异或门(2片)、开关若干、指示灯若干 实验原理1位二进制加法器单元有三个输入量:两个二进制数Ai,Bi和低位传来的进位信号Ci,两个输出量:本位和输出Si以及向高位的进位输出C(i+1),这种考虑了全部三个输入量的加法单元称为全加器。来实验要求利用基本门搭建一个全加器,并完成全加器真值表。 实验步骤各门电路芯片引脚显示于组件信息栏。 1. 测从组件信息栏中添加所需组件到实验流程面
2、板中,按照图1.1所示搭建实验。图1.1 组合逻辑电路实验流程图2. 打开电源开关,按表1设置开关的值,完成表1-1。表1-1输入输出AiBiCiSiC(i+1)000001010011100101110111实验2 算术逻辑运算实验 实验目的n 了解运算器的组成结构n 掌握运算器的工作原理n 掌握简单运算器的组成以及数据传送通路n 验证运算功能发生器(74LS181)的组合功能 实验设备74LS181(2片),74LS273(2片), 74LS245(2片),开关若干,灯泡若干,单脉冲一片 实验原理实验中所用的运算器数据通路图如图2.1所示,实验中的运算器由两片74LS181以并/串形式构成
3、8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。n 74LS181:完成加法运算n 74LS273:输入端接数据开关,输出端181。在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到
4、181芯片的不同引脚之中n 74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上图2.1 运算器通路图 实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图2.2所示。图2.2 运算器实验流程图2. 初始化各芯片的控制信号,仔细检查无误后点击 【电源开/关】按钮接通电源,用二进制数码开关向DR1 和DR2 寄存器置数。具体操作步骤图示如下:其中T4的脉冲信号通过
5、鼠标双击单脉冲产生。3. 检验DR1 和DR2 中存的数是否正确,具体操作为:关闭数据输入三态门(SW-B=1),打开ALU 输出三态门(ALU-B=0),当置S3、S2、 S1、S0 、M 为时,总线指示灯显示DR1中的数,而置成时总线指示灯显示DR2 中的数。4. 验证74LS181 的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=65、DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,填入下表2-2中,并和理论分析进行比较、验证。74LS181的功能见表2-1, A和B分别表示参与运算的两个数,“+”表示逻辑或,“加”表示算术求和。表2-1S3 S2 S1 S0M=0(
6、算术运算)M=1(逻辑运算)CN=1(无进位)CN=0(有进位)0 0 0 0F=AF=A加1F=0 0 0 1F=A+BF=(A+B)加1F=0 0 1 0F=A+F=(A+)加1F=B0 0 1 1F=0减1F=0F=00 1 0 0F=A+AF=A加A加1F=0 1 0 1F=(A+B)加AF=(A+B)加A加1F= 0 1 1 0F=A减B减1F=A减BF=0 1 1 1F=A减1F=AF=A1 0 0 0F=A加ABF= A加AB加1 F=+B1 0 0 1F=A加BF=A加B加1F=1 0 1 0F=(A+)加ABF=(A+)加AB加1F=B1 0 1 1F=AB减1F=ABF=A
7、B1 1 0 0F=A加AF=A加A加1F=11 1 0 1F=(A+B)加AF=(A+B)加A加1F=A+1 1 1 0F=(A+)加AF=(A+)加A加1F=A+B1 1 1 1F=A减1F=AF=A 表2-2DR1DR2S3 S2 S1 S0M=0(算术运算)M=1(逻辑运算)CN=1(无进位)CN=0(有进位)65A70 0 0 0F=( )F=( )F=( )65A70 0 0 1F=( )F=( )F=( )65A70 0 1 0F=( )F=( )F=( )65A70 0 1 1F=( )F=( )F=( )65A70 1 0 0F=( )F=( )F=( )65A70 1 0
8、1F=( )F=( )F=( )65A70 1 1 0F=( )F=( )F=( )65A70 1 1 1F=( )F=( )F=( )65A71 0 0 0F=( )F=( )F=( )65A71 0 0 1F=( )F=( )F=( )65A71 0 1 0F=( )F=( )F=( )65A71 0 1 1F=( )F=( )F=( )65A71 1 0 0F=( )F=( )F=( )65A71 1 0 1F=( )F=( )F=( )65A71 1 1 0F=( )F=( )F=( )65A71 1 1 1F=( )F=( )F=( ) 思考与分析1. 运算器主要由哪些器件组成?怎样
9、连接这些器件?实验3 存储器实验 实验目的n 掌握静态存储随机存储器RAM的工作特性n 掌握静态存储随机存储器RAM的读写方法 实验设备74LS273(一片),静态存储器MEMORY 6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干 实验原理在微机系统中,常用的静态RAM 有6116、6264、62256 等。在本实验中使用的是6116。6116 为2K8 位的静态RAM,其逻辑图3.1如下:图3.1 6116逻辑图其中A010 为11 根地址线,I/O07 为8 根数据线,CS 为片选端,OE 为数据输出选通端,WR 为写信号端。其工作方式见下表3-1:表3
10、-1工作方式表控制信号CSOEWR数据线读LLH输入写LXL输出非选HXX高阻态实验所用的半导体静态存储器电路原理如图3.2 所示,实验中的静态存储器一片6116(2K8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。地址灯AD0AD7 与地址线相连,显示地址线内容。数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。图3.2 存储器实验原理图因地址寄存器为8 位,接入6116 的地址A7A0,而高三位A8A10 接地,所以其实际容量为256 字节。6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时,OE=0时
11、进行读操作,WE=0 时进行写操作。本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。控制信号SW-B 为低电平有效,控制信号LDAR 为高电平有效。 实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图3.3所示。图3.3 存储器实验流程图2. 初始化各芯片的控制信号,仔细检查无误后点击 【电源开/关】按钮接通电源。3. 写存储器。给存储器的00、01
12、、02、03、04 地址单元中分别写入数据11H、12 H、13 H、14 H、15 H。由图3.2 存储器实验原理图看出,由于数据和地址全由一个数据开关给出,因此要分时地给出。下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写入的存储单元的地址,双击单脉冲产生T3 脉冲将地址输入到地址锁存器;第二步写数据,关掉地址锁存器门控信号(LDAR=0),打开存储器片选,使之处于写状态(CE=0,WE=1),由开关给出此单元要写入的数据,双击单脉冲产生T3 脉冲将数据写入到当前的地址单元中
13、。写其他单元依次循环上述步骤。写存储器流程如图3.4所示(以向00 号单元写入11H 为例)。图3.4 写存储器流程图4. 读存储器。依次读出第00、01、02、03、04 号单元中的内容,观察上述各单元中的内容是否与前面写入的一致。同写操作类似,读每个单元也需要两步,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,双击单脉冲产生T3 脉冲将地址输入到地址锁存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0),关掉数据开关三态门(SW-B=1),片选存储器,使它处于读状态(CE=0,
14、WE=0),此时数据总线上显示的数据即为从存储器当前地址中读出的数据内容。读其他单元依次循环上述步骤。读存储器操作流程如图3.5所示(以从00 号单元读出11H 数据为例)图3.5 读存储器流程图 思考与分析1. 由两片6116(2K*8)怎样扩展成(2K*16)或(4K*8)的存储器?怎样连线?实验4 总线基本实验 实验目的n 掌握静态存储随机存储器RAM的工作特性n 掌握静态存储随机存储器RAM的读写方法 实验设备74LS374(一片),74LS245(一片),74LS273(一片),静态存储器MEMORY 6116(一片),8位数据排线(一片),与门(两片),与非门(一片),单脉冲(三片
15、),开关若干,灯泡若干。 实验原理总线传输实验框图如图4.1所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。图4.1 总线传输实验框图总线基本实验要求如下:根据挂在总线上的几个基本部件,设计一个简单的流程。(1)输入设备将一个数输入R0 寄存器。(2)输入设备将另一个数输入地址寄存器。(3)将R0 寄存器中的数写入到当前地址的存储器中。(4)将当前地址的存储器中的数用LED 数码管显示。 实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。搭建实
16、验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图4.3所示。2. 初始化各芯片的控制信号,仔细检查无误后点击 【电源开/关】按钮接通电源。图4.2 总线基本实验流程图3. 实验的具体操作步骤如图4.2 所示。首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。然后参照如下操作流程,先给数据开关置数,打开数据输出三态门,开关LDR0置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到R0 中;然后继续给数据开关置数
17、,开关LDAR置1 ,并双击旁边的单脉冲,使产生一个上升沿将数据输入到AR 中;关闭数据开关三态门 ,打开R0 寄存器输出控制(开关LDR0和开关R0-B都置0),使存储器处于写状态(W/R=0、CS=0)将R0 中的数写到存储器中;关闭存储器片选,关闭R0 寄存器输出(开关R0-B置0),使存储器处于读状态(W/R=1、CS=0)。图4.3 实验步骤图实验5 模型机实验 实验目的n 掌握微程序执顺序强制改变的原理n 掌握机器指令与微程序的对应关系n 掌握机器指令的执行流程n 本实验提供了五条机器指令,编写相应的微程序,并调试验证,形成整机概念。 实验设备74LS181芯片两片,memory
18、6116一片,微程序控制存储器芯片一片,编译器芯片一片,八位同步计数器芯片一片,ALU_G芯片一片,PC_G芯片一片,74LS273芯片若干,输入,输出芯片各一片,选择器芯片若干,连接器芯片若干,灯泡若干,开关若干等。 实验原理模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前
19、位为操作码):助记符 机器指令码 说 明IN 0000 0000 “INPUT DEVICE”中的开关状态 ROADD addr 0001 0000 二进制加法 R0+addr R0STA addr 0010 0000 存数 RO addrOUT addr 0011 0000 输出 addr LEDJMP addr 0100 0000 无条件转移 addr PC其中IN 为单字长(位)指令,其余为双字长指令,为addr 对应的二进制地址码。图5.1 模型机数据通路图根据模型机的数据通路图(如图5.1所示)和指令的要求定义微代码如下:表1 微代码定义微程序24212019181716151312
20、109761控制信号S3S0MCNRDM17M16ABPuA5uA0表2 A、B、P字段A字段B字段P字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010RD_G010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPC表中A5A0 为6 位后续微地址,A、B、C 为三个译码字段,分别由三个控制位译码出多位。P 字段中的P(1)P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程
21、序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。B 字段中的RS-B、RD-B、RI-B 分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1 及R2 的选通译码。A 字段中的LDRI 为从输入设备组件中读入数据使能控制信号。系统涉及到的微程序流程如图5.2所示,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前位(IR7IR4)作为测试条件,引入了P(1)指令测试字段,如此,对于五条机器指令,就可以有五路P(1)测试分支,对于每一指令分别予以微程序解释。由图5.2微程序
22、流程图中可以看到,在执行机器指令IN的时候要执行三条微指令:01、02和10,每个微指令需要一个CPU周期来执行,所以执行一条机器指令IN需要三个CPU周期。图5.2 微程序流程图当全部微程序设计完毕后,应将每条微指令代码化,表3即为将图5.2 的微程序流程图按微指令格式转化而成的二进制微代码表。表3 二进制代码表微地址S3 S2 S1 S0 M CN WE M17 M16ABPA 5A0000 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 0010 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 0
23、0 0 11 0 00 0 00 0 10 0 1 0 0 0030 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 1050 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 0061 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1070 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 1100 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0
24、1110 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1120 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1130 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0140 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 0150 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1160 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 1170 0 0 0 0 0 0 0 10 1 00 0 0
25、0 0 00 1 0 1 0 1200 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 0220 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1240 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0250 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 0
26、0 0 11 0 10 0 01 1 00 0 0 0 0 1270 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 0本实验设计机器指令程序如表4所示。表4 实验中机器指令解释表地址(二进制)内容(二进制)助记符说 明0000 00000000 0000IN将输入数据送R0寄存器0000 00010001 0000ADD 0AHRO+0AHR00000 00100000 1010地址0000 00110010 0000STA 0BHR00BH0000 01000000 1
27、010地址0000 01010011 0000OUT 0BH0BHLED0000 01100000 1011地址0000 01110100 0000JMP 00H00HPC0000 10000000 0000跳转地址0000 10100000 0001加数,可自定0000 1011求和结果保存在0B单元中本程序使用五条机器指令编写指令程序,内存映象(装入起始地址00H)如表4。本程序从输入设备组件中读入数据,与内存组件中地址为OAH中的数据进行相加,和存入内存中的OBH中,并在输出设备组件中显示,本程序不断循环运行,直到用户中断实验。平台中模型机搭建说明如下:模型机的组成结构复杂,引脚很多,所
28、以连线很复杂,模型机的连线图如图5.3所示,在搭建模型机图的时候最好参考图5.1中的模型机结构图,这里将模型机分成五个部分来让大家看清模型机中各个组件的连线方法。这五个部分包括:模型机各个组件之间的数据连线、模型机微控中的控制信号的连线、模型机脉冲信号的连线、模型机中用来对组件进行功能控制的开关的连线及开关值的设置、模型机通用寄存器的连线。图5.3 模型机的连线总图1)各个组件之间数据信号的连线如图5.4所以为模型机各个组件之间的数据信号连线图,在平台菜单栏“实验参考图”中“模型机各个部件的连接关系图”可以看得更清晰,其中大多数用到了4、8、3连线组,同时可以看到大多数组件是与数据总线相连接的
29、。组件之间的通路可以参考图1中各个组件的连接关系。图5.4各个组件的数据信号连线图)微程序控制信号的连线如图5.5所以为模型机微程序控制信号的连线图,在平台菜单栏“实验参考图”中“模型机的控制信号连法图”可以看得更清晰,其中主要是展示微控制存储器的24个控制信号应该怎样连接到其他的各个组件,以控制它们的工作。图5.5微程序控制信号的连法图微控制存储器输出的24为信号中A、B和P字段需要经过个译码器译码出多个控制信号,如表5所示,其中LDRI信号对应图1模型机结构图中的使能控制信号,是用于微程序执行时的条件测试。 表5A、B、P字段的译码信号A字段B字段P字段151413控制信号121110控制
30、信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010RD_G010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPCB字段中的RS-G、RD-G、RI-G分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器R0、R1及R2的选通译码,其原理图如图5.6,图中I0I3为指令寄存器的第03位,LDRi为打入工作寄存器信号的译码器使能控制位。图5.6中RS-B、RD-B、RI-B分别对应B字段
31、中的RS-G、RD-G、RI-G,图5.6中的R0-B、R1-B、R2-B分别对应图5.5中RegChoose组件的R0-G、R1-G及R2-G信号。图5.6 寄存器译码器3)脉冲信号的连线如图5.7所以为模型机脉冲信号的连线图,在平台菜单栏“实验参考图”中“模型机脉冲信号的连接方法图”可以看得更清晰,其中主要是展示从时序产生器产生的四个脉冲信号T1T4怎样与其它组件连接,T1T4的连接也可以参考图5.1中T1T4控制的组件。图5.7脉冲信号的连法图 实验步骤1. 选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2. 搭建实验流程:根据本节的模型机连线说明来搭建实验流程。教师权限的
32、用户可以在系统的菜单栏中选择“实验”,再选择“模型机实验”即可。3. 模型机实验图搭建好后,输入机器指令:选择菜单中的“工具”,再选择“模型机调试”,在指令输入窗口中输入如下指令:然后点击“输入”按钮,即可将程序输入到内存中,如图5.8所示。图5.8 输入程序示意图本实验设计机器指令程序如下:地址(二进制)内容(二进制)助记符说明0000 00000000 0000IN R0“INPUT DEVICE”-R00000 00010001 0000ADD 0AH,R0R0+0AH-R00000 00100000 10100000 00110010 0000STA R0,0BHR0-0BH0000
33、01000000 10110000 01010011 0000OUT 0BH0BH-LED0000 01100000 10110000 01110100 0000JMP 00H00H-PC0000 10000000 00000000 1010运算数据自定0000 1011求和结果4. 模型机运行方式是在模型机调试窗口中运行。在模型机调试窗口中运行:在模型机调试窗口中点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令,如图5.9所示。 图5.9在模型机调试窗口中运行示意图(6)模型机运行的时候,观察各个组件的状态,思考模型机的运行原理。