您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理实验报告
计算机组成原理实验报告实验一基本运算器实验一、实验目的1.了解运算器的组成结构2.掌握运算器的工作原理3.深刻理解运算器的控制信号二、实验设备PC机一台、TD-CMA实验系统一套三、实验原理1.(思考题)运算器的组成包括算数逻辑运算单元ALU(ArithmeticandLogicUnit)、浮点运算单元FPU(FloatingPointUnit)、通用寄存器组、专用寄存器组。①算术逻辑运算单元ALU(ArithmeticandLogicUnit)ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(IntegerExecutionUnit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。②浮点运算单元FPU(FloatingPointUnit)FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。③通用寄存器组通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。④专用寄存器专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。而运算器内部有三个独立运算部件,分别为算术、逻辑和移位运算部件,逻辑运算部件由逻辑门构成,而后面又有专门的算术运算部件设计实验。下图为运算器内部原理构造图2.运算器的控制信号实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。T4由时序单元的TS4提供(脉冲信号),其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。下图为ALU和外围电路的连接。图中的小方框代表排针座。在运算器的工作过程中,S3S2S1S0和CN为控制信号,FC为进位标志,FZ为运算器零标志。运算器的逻辑功能见下表,表中功能栏的FC、FZ表示当前运算会影响到该标志。(思考题)运算器功能的选择:如图在表中,可以通过调整S3S2S1S0和CN的值来改变运算类型,功能如上图所示,不同的S3S2S1S0和CN的值对应不同的运算类型和结果。CON单元的数据开关控制数据的形成。(思考题)运算器的数据通路:以下为数据通路图(思考题)运算器的各组成部件的控制信号的作用:LDA和LDB控制存入数据的位置(具体运行方式如上图所示)SD27到SD20通过开和关两个状态控制输入数据而S3S2S1S0和Cn控制运算的类型(Cn只用于移位运算)四、实验内容(1)按图1-1-5连接实验电路,并检查无误。图中将用户需要连接的信号用圆圈标明(其它实验相同)。图1-1-5实验接线图(2)将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。(3)打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。(4)用输入开关向暂存器A置数。①拨动CON单元的SD27…SD20数据开关,形成二进制数01100101(或其它数值),数据显示亮为‘1’,灭为‘0’。②置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7…A0八位LED灯显示。(5)用输入开关向暂存器B置数。①拨动CON单元的SD27…SD20数据开关,形成二进制数10100111(或其它数值)。②置LDA=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111置入暂存器B中,暂存器B的值通过ALU单元的B7…B0八位LED灯显示。(6)改变运算器的功能设置,观察运算器的输出。置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、S0为1001,运算器作加法运算。如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果(软件使用说明请看附录一),方法是:打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图1-1-6所示。进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做的操作。重复上述操作,并完成表1-1-2。然后改变A、B的值,验证FC、FZ的锁存功能。实验结果及解释运算类型ABS3S2S1S0CN结果解释逻辑运算65A70000XF=65FC=0FZ=0F=A(直通)65A70001XF=A7FC=0FZ=0F=B(直通)65A70010XF=25FC=0FZ=0F=AB(逻辑乘法)65A70011XF=E7FC=0FZ=0F=A+B(逻辑加法)65A70100XF=9AFC=0FZ=0F=/A(逻辑非运算)移位运算65A70101XF=CAFC=0FZ=0F=A不带进位循环右移B(取低三位)位65A701100F=32FC=0FZ=0F=A逻辑右移一位65A71F=B2FC=1FZ=0F=A带进位循环右移一位65A701110F=CAFC=1FZ=0F=A逻辑左移一位65A71F=CAFC=0FZ=0F=A带进位循环左移一位算术运算65A71000XF=65FC=0FZ=0置FC=CN65A71001XF=0CFC=1FZ=0F=A加B65A71010(FC=0)XF=0CFC=1FZ=0F=A加B加FC65A71010(FC=1)F=0DFC=1FZ=065A71011F=BEFC=1FZ=0F=A减B65A71100F=64FC=0FZ=0F=A减165A71101F=66FC=0FZ=0F=A加1五、实验中遇到的问题以及解决办法在算术运算中,在进行1010运算时,不知道如何控制FC的值。解决办法:使用1000运算对FC赋值,问题解决。六、实验体会本次实验内容比较简单也很容易理解,从整体上对运算器有了基本认知。通过简单地操作以及观察电脑的数据通路图对运算器的运作有了整体的了解。实验二微程序控制器一、实验目的1.掌握微程序控制器的组成原理。2.掌握微程序的编制、写入,观察微程序的运行过程。二、实验设备PC机一台,TD-CMA实验系统一套三、实验原理1.微程序控制器原理框图(思考题)各部分作用:(1)控制存储器:用来存放实现全部指令系统的微程序,是一种只读型存储器(即只读不写)。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……(2)微指令寄存器(微地址寄存器和微命令寄存器):微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。(3)地址转移逻辑:在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。(4)OP:指令的操作码,表示该指令应进行什么性质的操作。2.微指令的格式及编码方法微指令的格式大体分成两类:水平型微指令和垂直型微指令。(1)水平型微指令一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。水瓶微指令的一般格式如下:控制字段判别测试字段下地址字段(2)垂直型微指令微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。下面用4条垂直型微指令的微指令格式加以说明。设微指令字长为16位,微操作码3位。寄存器-寄存器传送型微指令。15131287320000源寄存器编址目标寄存器编址其他功能是把源寄存器数据送目标寄存器。运算控制型微指令。15131287320001左输入源编址右输入源编址ALU其功能是选择ALU的左、右两输入源信息,按ALU字段所指定的运算功能(8种操作)进行处理,并将结果送入暂存器中。访问主存微指令。151312873210010寄存器编址存储器编址读写其他其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存。条件转移微指令。151312430011D测试条件其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令。3.微指令的编码方法(1)直接表示法微指令结构如下图。特点是操作控制字段中的每一位表示一个微命令。(2)编码表示法微指令结构图如下。编码表示法是把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。(3)混合表示法这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑微指令字长、灵活性、执行微程序速度等方面的要求。4.微程序控制器与计算器的数据通路图中MA5…MA0为6位的后续微地址,SE5..SE0是微控器单元微地址锁存器的强制端输出MCR表示控制字段NMA表示P字段IN为输入单元OUT为输出单元左图为微程序的相关指令流程图。由于微程序控制器的数据通路走向已有箭头标出,不再进行详细解释。对运算器数据通路的解释:IN微指令00100000:IN单元载入数据,将数据置入R0暂存器。ADD微指令00000000:将R0打入A,R0打入B后,A和B相加(通过ALU算术逻辑单元)后,打入RO。OUT微指令00110000:将RO打入OUT单元。HLT微指令01010000:停机。四、实验内容1.按照实验指导书连接好实验线路。2对微控器进行读写操作,分两种。1)手动读写(1)手动对微控器进行编程(写)1.按图所示连接实验线路,仔细查线无误后接通电源。如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。2.对微控器进行读写操作,分两种情况:手动读写和联机读写。1)手动读写(1)手动对微控器进行编程(写)①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。②使用CON单元的SD05——SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。③将时序与操作台单元的开关KK5置为‘加1’档。④IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。⑤重复①、②、③、④四步,将表3-2-2的微代码写入2816芯片中。(2)手动对微控器进行校验(读)①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。②使用CON单元的SD05——SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M7——M0显示该单元的低8位。③将时序与操作台单元的开关KK5置为‘加1’档。④连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M15——M8显示该单元的中8位,MC单元的指数据指示灯M23——M16显示该单元的高8位。⑤重复①、②、③、④四步,完成对微代码的校验。如果校
本文标题:计算机组成原理实验报告
链接地址:https://www.777doc.com/doc-2044204 .html