计算机组成原理实验指导书.doc_第1页
计算机组成原理实验指导书.doc_第2页
计算机组成原理实验指导书.doc_第3页
计算机组成原理实验指导书.doc_第4页
计算机组成原理实验指导书.doc_第5页
免费预览已结束,剩余43页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运算器实验一、 实验目的1. 了解运算器的组成结构2. 掌握运算器的工作原理二、 实验设备1. TDNCM计算机组成原理教学实验系统三、 运算器组成及说明1. 运算器的组成原理设计构造一个运算器的基本思路是:1) 首先用基本的门电路构成1位全加器。2) 然后用进位传递逻辑将其构成N位并行加法器。3) 再利用多路选择逻辑实现多种输入输出组合选择,则使加法器扩展为多功能的算术逻辑运算不仅ALU。4) 另外利用多路选择逻辑还可实现移位功能。2. 运算器的实现1) 由半加器构成的1位一位全加器(FA)l 原理用异或逻辑实现半加,用两次半加实现1位全加。l 逻辑表达式SiAiBiCiCi1= AiBiBiCiCiAil 逻辑图图112) 一个全加器构成的1位ALU单元l 原理 l 逻辑表达式 l 逻辑图图12 表11S3S2XiS1S0Yi00100Ai01Ai+Bi01AiBi10Ai+Bi10AiBi11Ai1103) 74LS18174LS181是一个4位ALU单元,它是由4个一位全加器以及进位电路构成。下面给出了正逻辑74LS181的逻辑图和功能表。l 正逻辑74LS181逻辑图图13l 芯片引脚图lllll图14ll 74LS181逻辑功能表表12S3S2S1S0M=0(算术运算)M=1(逻辑运算)Cn1(无进位)Cn0(有进位)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+BF=A+B+1F=0 1 0 1F= A+(A|B)F= A+(A|B)+1F=0 1 1 0F=A-B-1F=A-BF=AB0 1 1 1F= A-1F= AF= A1 0 0 0F=A+ABF=A+AB+1F=+B1 0 0 1F=A+BF=A+B+1F=1 0 1 0F=AB+(A|)F=AB+(A|)+1F=B1 0 1 1F=AB-1F=ABF=AB1 1 0 0F=A+AF=A+A+1F=11 1 0 1F=A+( A|)F=A+( A|)+1F=A+1 1 1 0F=A+( A|)F=A+( A|)+1F=A+B1 1 1 1F=A-1F=AF=A 注:“”为算术加,“|”为逻辑或,“”为算术减。3. 运算器部件的构成1) 基本部件图15所示的是由两片74LS181芯片构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,高位芯片的输出端Cn+4可连至进位锁存电路,以保存此进位。两个芯片的控制端S0S3和M各自相连,其控制电平如表12。为进行双操作数运算,运算器的两个数输入端分别由两个数据暂存器DR1、DR2(74LS273实现)来锁存数据。要将内总线上的数据锁存到DR1或DR2中,则锁存器74LS273的控制端LDDR1或LDDR2须为高电平。当T4脉冲来到的时候,总线上的数据就被锁存进DR1或DR2中了。为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(74LS245实现)。若要将运算结果输出到总线上,则要将三态门74LS245的控制端ALU-B置低电平。图152) 进位控制部件图16所示为进位锁存及其显示电路。运算器最高位进位输出Cn+4连接到一个锁存器(用74LS74实现)的输入端D,锁存器控制端的控制的控制信号AR必须置为低电平,当T4脉冲来到时,进位结果就被锁存到进位锁存器中了,发光二极管这时显示为“灭”。同时也将本次的进位输出结果带进了下次的运算中,作为下次运算的进位输入。图163) 移位控制部件图17所示为移位及其控制电路,其中使用了一片74LS299作为移位发生器,其八位输入/输出端可连接至内总线。74LS299移位器的片选控制信号为299-B,低电平有效。T4为其控制脉冲。S0、S1、M作为移位控制信号,其功能表为13:图17 表13299-BS1S0M功能000任意保持0100循环右移0101带进位的循环右移0010循环左移0011带进位的循环左移任意11任意装数四、 实验内容及步骤()算术逻辑运算实验1. 实验原理实验电路如图18所示。其中运算器由两片74LS181构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)到AUJ3插座,再通过连接排线连接到内总线上。运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入端已经连接到内总线上了。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号位SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。总线显示灯(在BUS UNIT单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4为脉冲信号,其它信号均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4接至“STATE UNIT”单元中的微动开关KK2的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B,SW-B各电平控制信号则使用“SWTICH UNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。图182. 实验步骤1) 按图2-8连接实验电路并检查无误。图中将用户需要连接的信号线用小圆圈标明2) 打开电源开关。3) 用输入开关向暂存器DR1置数。 拨动输入开关形成二进制数01100101(或其它数值)。(数据显示灯亮为0,灭为1)。 使SWITCH UNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、LDDR1=1(为打开DR1输入准备)、LDDR2=0(关闭DR2输入)。 按动微动开关KK2(产生T4脉冲信号),与LDDR1信号一起,将二进制数01100101置如DR1中。4) 用输入开关向暂存器DR2置数。 拨动输入开关形成二进制数10100111(或其它数值)。(数据显示灯亮为0,灭为1)。 使SWITCH UNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、LDDR1=0(关闭DR1输入)、LDDR2=1(为打开DR2输入准备)。 按动微动开关KK2(产生T4脉冲信号),与LDDR2信号一起,将二进制数01100101置如DR2中。5) 检查DR1和DR2中存在的数是否正确。 使SWITCH UNIT单元中的开关SW-B=1(关闭数据输入三态门)、ALU-B=0(关闭ALU输出三态门)、LDDR1=0(关闭DR1输入)、LDDR2=0(关闭DR2输入)。 置S3、S2、S1、S0、M为1111,总线显示灯则显示DR1中的数。 置S3、S2、S1、S0、M为10101,总线显示灯则显示DR2中的数。6) 改变运算器的功能设置,观察运算器的输出。 保持SW-B、ALU-B=0保持不变。 按表2-2置S3、S2、S1、S0、M、Cn的数值,并观察总线显示灯显示的结果。例如:置S3、S2、S1、S0、M、Cn为100101,运算器作加法运算 置S3、S2、S1、S0、M、Cn为011000,运算器作减法运算。(二)进位控制实验1. 实验原理进位控制运算器的实验原理如图19所示,在上一个实验的基础上增加进位控制部分,使ALU的进位进入到进位锁存器中。其写入是由T4和AR信号控制。T4为脉冲信号;AR是电平控制信号,低电平有效。当T4脉冲来到时,则将本次运算的进位结果锁存到进位锁存器中。图192. 实验步骤1) 按图连接实验电路并检查无误2) 打开电源开关3) 用输入开关向暂存器DR1和DR2置数4) 关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器。5) 对进位标志清零。 置S3、S2、S1、S0、M的状态为0 0 0 0 0,置AR的状态为0。(清零时DR1中的数不应等于FF)。 按动微动开关KK2。 注:进位标志指示灯CY亮时表示进位标志为“0”,无进位;标志指示灯CY灭时表示进位为“1”,有进位。6) 验证带进位运算及进位锁存功能。使Cn=1,AR=0,进行带进位算术运算。例如做加法运算,使ALU-B=0,S3S2S1S0M状态为10010,此时数据总线上显示的数据为DR1加DR2加当前进位标志,这个结果是否有进位产生,则要按动微动开关KK2,若进位标志灯亮,则无进位,反之则有进位。因做加法运算时数据总线一直显示的数据为DR1+DR2+CY,所以当有进位输入到进位锁存器后,总线显示的数据为加上进位位的结果。(三)移位运算实验1. 实验原理移位运算实验原理如图1-10所示,74LS299作为移位发生器,其输入/输出端以排针排线连接方式和总线单元连接。信号299-B控制其使能端,T4为脉冲信号,由“W/R UNIT”单元中的T4接至“STATE UNIT”单元中的脉冲发生器KK2上而产生,信号S0、S1、M控制其功能状态。图1102. 实验步骤1) 按图连接实验电路并检查无误2) 打开电源开关3) 向移位寄存器置数l 拨动输入开关形成二进制数01101011l 使SWITCH UNIT单元中的开关SW-B=0,打开数据输入三态门。l 使S0=1、S1=1,并按动微动开关KK2,则将二进制数据置入了移位寄存器。l 使SW-B=1,关闭数据输入三态门。4) 移位运算操作参照表13的内容,通过开关改变S0、S1、M、299-B的状态,并按动微动开关KK2,观察移位结果。实验二 存储器实验一、 实验目的掌握静态随机存储器RAM工作特性及数据的读写方法。二、 实验设备TDNCM计算机组成原理教学实验系统三、 实验原理1. 实验原理实验所用的半导体静态存储器电路原理如图21所示。实验中的静态存储器由一片6116(2K8)构成,其数据线接至数据总线,地址总线由地址锁存器(74LS273)给出,地址灯AD0AD7与地址线相连,显示地址线内容。数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。因为地址寄存器为8位,接入6116的地址A7A0,而高三位A8A10接地,所以其实际容量为256字节。6116有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时、OE=0时进行读操作,WE=0时进行写操作。本实验中将OE常接地,在此种情况下,当CE=0、WE=0时进行读操作,CE=0、WE=1时进行写操作,其写时间与T3脉冲宽度一致。实验时将T3脉冲接至实验板上时序电路模块的TS3相应插孔中,其脉冲宽度可调,其它电平控制信号由“SWITCH UNIT”单元的二进制开关模拟,其中SW-B为低电平有效,LDAR为高电平有效。图2-1 四、 实验内容1. 形成时钟脉冲信号T3,其连线方法和操作步骤如下:1) 接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1,使H23端输出实验所期望频率的方波。2) 将时序电路模块中的和H23排针相连。3) 在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP”开关置为“RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关“START”,则T3输出为连续的方波信号,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。当“STOP”开关置为“RUN”状态、“STEP”开关置为“STEP”状态时,每按动一次微动开关“START”,则T3输出一个单脉冲,其脉冲宽度与连续方式相同。4) 关闭电源。2. 按图2-2连接实验线路,仔细检查线路无误后接通电源。由于存储器模块内部的连线已经连接好,因此只需要完成实验电路的形成、控制信号模拟开关、时钟脉冲信号T3与外部存储模块的外部连接。3. 按如下步骤向存储器的00、01、02、03、04地址单元分别写入数据11、12、13、14、15 将SWB置为“1”,数据开关置“00000000”(准备存储单元地址)。 将SWB置为“0”,CE置为“1”,LDAR置为“1”,按动T3。(单元地址装入地址寄存器中) 将SWB置为“1”,数据开关置“00010001”。(准备存储数据) 将SWB置为“0”,CE置为“0”,WE置为“1”LDAR置为“0”,按动T3。(对存储器写) 重复输入余下的几个数。4. 按如下步骤从存储单元00、01、02、03、04中读数 将SWB置为“1”,数据开关置“00000000”(准备存储单元地址)。 将SWB置为“0”,CE置为“1”,LDAR置为“1”,按动T3。(单元地址装入地址寄存器中) 将SWB置为“1”,CE置为“0”,WE置为“0”LDAR置为“0”,按动T3。(对存储器读) 重复读取余下的几个数。微控制器实验五、 实验目的1. 掌握时序产生器的组成原理。2. 掌握微程序控制器的组成原理。3. 掌握微程序的编制、写入,观察微程序的运行。六、 实验设备TDNCM计算机组成原理教学实验系统七、 实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种出来操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。1. 时序逻辑原理实验所用的时序控制电路框图如图1,可产生4个等间隔的时序信号TS1TS4,其中为时钟信号,由实验台右上方的方波信号源提供,可产生频率及脉宽可调的方波信号。学生可根据实验自行选择方波信号的频率及脉宽。图中STEP和START由来自实验台中STATE UNIT中的二进制开关STEP和START模拟产生。当STEP开关为0时(EXEC),此时按下START键后,时序信号TS1TS4将周而复始地发送出去。当STEP为1(STEP)时,此时按下START键后,时序信号TS1TS4只产生一个周期,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只读取一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STEP开关置“1”(STEP),也会使机器停机,或使CLR开关拨至零也可以使时序清零。由于时序电路的内部线路已经连好,所以只需要将时序电路和方波信号源连接,即将时序电路的时钟输入端接至方波信号发生器输入端H23上,按动启动键START后,就可以产生时序信号TS1TS4。时序电路的CLR已接至实验板左下方的CLR模拟开关上。图12. 微程序控制原理微程序控制器的组成见图2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能。微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。在该实验电路中设有个编程开关,它具有三种状态:PROM(编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时,可以队写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只需要给出微程序的入口地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。图23. 微指令格式微指令字长共24位,其控制位顺序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8ABCA5A0ALU控制字段:S3、S2、S1、S0、M、Cn,它们的二进制组合用于控制ALU的工作模式,具体含义参见运算器实验中关于ALU的介绍。存储器读写控制字段:WE,用于控制存储器的读写控制,详细的介绍参见存储器实验。片选字段:A9A8的组合将会对存储器、输入、输出设备进行片选。:A、B、C字段分别是3位二进制的组合,它们分别作为译码器的输入,输出是各种控制信号,其含义将在基本模型机实验中做详细介绍,但可以在本实验中可以对译码器有个初步认识。其输入与输出对应表如下:A字段:151413选择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDARB字段:121110选择000001RSB010RDB011RIB100299B101ALUB110PCBC字段:987选择000001P(1)010P(2)011P(3)100P(4)101AR110LDPC后继地址字段:A5A0为6位后继微地址,微程序在运行时,将取该字段作为下一条要执行微指令的地址。八、 实验内容通过实验掌握计算机运行时,如何从控制存储器里取出微指令,如何根据微指令知道下一条微指令的地址。1. 实验接线图图32. 实验步骤1) 按接线图3连接好线路。2) 观察时序信号。用双踪示波器(或用PC示波器功能)观察方波信号源的输出,时序电路中的“STOP”开关置为“RUN”,“STEP”开关置为“EXEC”。按动START按键,从示波器上可观察到TS1、TS2、TS3、TS4各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度。图43) 向控制存储器写入如下微指令:微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5-UA0000 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1010 0 0 0 0 0 0 1 10 0 10 0 10 0 10 0 0 0 1 0020 0 0 0 0 0 0 1 10 1 00 1 00 1 00 0 0 0 1 1030 0 0 0 0 0 0 1 10 1 10 1 10 1 10 0 0 1 0 0040 0 0 0 0 0 0 1 11 0 01 0 01 0 00 0 0 1 0 1050 0 0 0 0 0 0 1 11 0 11 0 11 0 10 0 0 1 1 0060 0 0 0 0 0 0 1 11 1 0 1 1 0 1 1 0 0 0 0 1 1 1 070 0 0 0 0 0 0 1 11 1 11 1 11 1 10 0 0 0 0 0 将编程开关置为PROM(编程)状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 用二进制模拟开关置微地址MA5MA0。 在MK24MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。 启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。 重复步骤,将表?的微代码写入2816中。4) 校验微指令 将编程开关置为READ(校验)状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 用二进制模拟开关置微地址MA5MA0。 启动时序电路(按动启动按钮“START”),读出微代码。观察显示灯MD24MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行3)即可。5) 运行并观察结果运行的过程中着重观察微地址显示灯、微命令显示灯。运行的方式有单步和连续两种方式。单步运行: 将编程开关置于“RUN(运行)”状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 拨动CLR(位于实验板的右下角)开关,将CLR的状态按101变化。从而将微地址寄存器MA5MA0清零,将本机的运行运行入口微地址为000000(二进制)。 连续按动“START”键,启动时序电路。每按动一次“START”键,将顺序读出一条微指令并执行后停机。实验台上的微地址显示灯显示的是下一条将要运行的微指令地址,微命令显示灯显示的是正读出并执行的微指令。连续运行: 将编程开关置于“RUN(运行)”状态。 将实验板上“STATE UNIT”中的“STEP”置为“EXEC”,“STOP”置为“RUN”状态。 拨动CLR(位于实验板的右下角)开关,将CLR的状态按101变化。从而将微地址寄存器MA5MA0清零,将本机的运行运行入口微地址为000000(二进制)。 按动“START”键一次,启动时序电路,控制器将自动的顺序读出每条微指令并执行,直到结束。实验台上的微地址显示灯显示的是下一条将要运行的微指令地址,微命令显示灯显示的是当前读出并执行的微指令。九、 实验报告内容1. 时序电路的产生原理,对时序电路的理解。2. 微控器的结构。3. 微程序的运行过程。基本模型机实验十、 实验目的1. 掌握微程序执顺序强制改变的原理2. 掌握机器指令与微程序的对应关系。3. 掌握机器指令的执行流程。4. 掌握机器指令的微程序的编制、写入。十一、 实验设备TDNCM计算机组成原理教学实验系统。十二、 实验原理图1:微控器原理图部件实验过程中,各部件单元的控制信号是人为模拟产生的,如运算器实验中对74LS181芯片的控制,存储器实验中对存储器芯片的控制信号,以及几个实验中对输入设备的控制。而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 1. 微程序执行顺序强制改变原理如图2 所示,后继地址是由6片正沿触发的双D触发器(74)构成,它们带有清“0”和置“1”端,可以让CLR有效(低电平)使MA0MA5置0,也可以让SE1SE5有效(低电平),使对应的触发器置1。在微程序的运行过程中,在T2时刻,将当前运行的微指令中的A5A0置入对应的触发器中,作为下条执行微指令的地址,如果在T2后的T4时刻,可能会使SE1SE5中的某一位或者几位有效,将强制的置对应触发器为“1”,从而改变由A5A0指定的微地址,改变微程序执行流程。 图2:后继地址逻辑图注: CLR:清零信号 T2:时钟信号 A5A0:对应微指令中A5A02. 机器指令与微程序的对应关系每条机器指令由多条微指令按一定的顺序完成,如MOV指令(从存储器到存储器)需要6条微指令的执行才能完成,其执行流程为: 将完成某条机器指令的这些微指令的第一条指令放置在微控器的存储器的固定位置,通过对机器指令的编码,当读到某条机器指令后,能将微程序的执行流程转入该指令对应的微程序位置。如有某机器指令对应的微程序如下安排:微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5-UA0000 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1010 0 0 0 0 0 0 1 10 0 10 0 10 0 10 0 0 0 1 0020 0 0 0 0 0 0 1 10 1 00 1 00 1 00 0 0 0 1 1030 0 0 0 0 0 0 1 10 1 10 1 10 1 10 0 0 1 0 0040 0 0 0 0 0 0 1 11 0 01 0 01 0 00 0 0 1 0 1050 0 0 0 0 0 0 1 11 0 11 0 11 0 10 0 0 1 1 0060 0 0 0 0 0 0 1 11 1 0 1 1 0 1 1 0 0 0 0 1 1 1 070 0 0 0 0 0 0 1 11 1 11 1 11 1 10 0 1 0 0 0若微控器读到该指令后,能使微程序的后继地址转向“00”,即可实现机器指令与微程序的对应。微控器读取一条机器指令后,将通过如下的逻辑电路,对SE1SE5中的某一位或者几位激活,从而实现机器指令与微程序的对应。当然,该逻辑电路还能接收外部控制输入SWA、SWB,内部状态输出FC、FZ等信号,并对这些信号给出相应的输出。 图3 注:FC:进位标志FZ:0标志SWA、SWB存储器读写控制标志P(1)P(4):微指令C字段译码输出结果I2I7:机器指令第2位第7位。根据该逻辑电路图,得SE1SE5的逻辑表达式如下: (1) (2) (3) (4) (5)由这些逻辑表达式可知:l 由于P(1)P(4)微指令中C字段译码后的部分输出,所以它们至多有一个有效(低电平)。l 当P(1)有效时,在T4时刻,可以通过对I4I7置“1”,使对应的SE1SE4有效(低电平)。l 当P(2)有效时,在T4时刻,可以通过对I2I3置“1”,使对应的SE1SE2有效(低电平).l 当P(3)有效时,在T4时刻,标志位FZ或者FC有效(高电平)使SE7有效(低电平)。l 当P(4)有效时,在T时刻,外部输入控制信号SWA或者SWB有效(高电平),使SE1SE2有效(低电平)。假如某微控器的微程序流程如下图所示,微程序微控器的00单元内容如表所示。微地址S3 S2 S1 S0 M CN WE A9 A8ABCA5A0000 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 0计算机启动后,微控器从微程序存储器的第一个单元(00)处读取微指令,该微指令中的C字段值为“100”,该值的译码结果使P(4)有效,而A5A0的值“0 1 0 0 0 0”。由逻辑表达式(4)、(5)以及上面的分析可知:l 当SWA有效,SWB无效,对应的取值组合为(01),将使SE1的值有效,由图1可知,SE1有效将使MA0的输出将变为“1”。而MA1MA5的值为A1A5的输入,所以微控器中下条执行的微指令地址为“0 1 0 0 0 1”(对应8进制为21),从而转入输入流程。l 当SWA无效,SWB无效,对应的取值组合为(00),不会使SE1及SE2值有效,由图1可知,MA0MA5的值为A0A5的输入,则下条执行的微指令地址为“0 1 0 0 0 0”(对应8进制为20),从而转入输出流程。l 当SWA有效,SWB有效,对应的取值组合为(11),会使SE1及SE2值都有效,由图1可知,SE1有效将使MA0的输出将变为“1”, SE2有效将使MA1的输出将变为“1”,MA2MA5的值为A2A5的输入,则下条执行的微指令地址为“0 1 0 0 1 1”(对应8进制为23),从而转入执行机器指令流程。 图4计算机启动后,微程序流程将按图4 所示流程运行,由上面分析可知,当SWA、SWB都有效时,微程序转入图4所示流程。微程序存储器中01、02单元的内容如下:微地址S3 S2 S1 S0 M CN WE A9 A8ABCA5A0010 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 0 0 0 11 0 00 0 00 0 10 0 1 0 0 001单元中微指令中的A、B、C字段的值分别为“110”、“110”、“110”,由译码规则可知将会产生“LDAR”信号、“PC-B”信号、“LDPC”信号,由数据通路图可知,这3个信号将会选通PC所指的存储器单元,同时将PC1。同时该微指令的A5A0的值为“0 0 0 0 1 0”,由图1和图2可知,下条微指令地址为“0 0 0 0 1 0”(02)02单元中微指令中的A字段的值为“100”,将产生LDIR信号。WE信号“0”,将会发出WR信号。A9A8的值为“01”,将会使存储器的CE有效。这几个信号的配合将会把PC所指单元的机器指令读入机器指令寄存器IR中。B字段的值为“000”,不产生控制信号。C字段的值分别为“001”,是P(1)有效。由逻辑表达式(2)(5)可知,当P(1)有效时,机器指令中的I4I7中的“1”将会对应的SE有效。如图4所示,现设计STA、ADD、OUT的机器指令为:STA:0010 0000ADD:0001 0000OUT:0011 0000当读取的机器指令为STA时,由逻辑表达式(4)可知,将会使SE2有效。由图2可知,SE2将会使MA1输出1,其余的与微地址输入一致,所以产生的后继微地址为“0 0 1 0 1 0”(12),从而转向STA指令对应的微程序。当读取的机器指令为ADD指令时,由逻辑表达式(5)可知,将会使SE1有效。由图2可知,SE1将会使MA0输出1,其余的与微地址输入一致,所以产生的后继微地址为“0 0 1 0 0 1”(11),从而转向ADD指令对应的微程序。当读取的机器指令为OUT指令时,由逻辑表达式(4)、(5)可知,将会使SE1、SE2有效。由图2可知,SE1、SE2将会使MA0、MA1输出1,其余的与微地址输入一致,所以产生的后继微地址为“0 0 1 0 1 1”(13),从而转向OUT指令对应的微程序。 图53. 寄存器控制信号的产生逻辑在微控器内部设计了多个寄存器,用于存储运算的中间结果。对于这些寄存器的控制信号有两类,一类是寄存器的数据载入信号,另一类信号是寄存器的数据输出信号(输出到总线伤)。每个寄存器的这两类信号由图5所示的逻辑电路产生。图中输入信号由两类构成,一类是有微指令的A字段和B字段产生的译码输出信号,LDRi、RDB,RSB。一类是机器指令中的I0和I1。A字段和B字段产生的译码输出信号作为24译码器的门控信号,当这类信号有效时,24译码器才可能有有效信号的输出。当门控信号有效时,机器指令中的I0和I1的不同组合决定了24译码器的输出,具体对应关系为:门控信号I0,I1逻辑电路输出输出信号意义LDRi0,0LDR0有效从数据总线上向R0中载入数据0,1LDR1有效从数据总线上向R1中载入数据1,0LDR2有效从数据总线上向R2中载入数据RDB0,0R0B有效将R0中的数据输出到总线上0,1R1B有效将R1中的数据输出到总线上1,0R2B有效将R2中的数据输出到总线上RSB0,0R0B有效将R0中的数据输出到总线上0,1R1B有效将R1中的数据输出到总线上1,0R2B有效将R2中的数据输出到总线上RIBX,XR2B有效将R2中的数据输出到总线上如图5中的机器指令STA对应的微程序如下:微地址S3 S2 S1 S0 M CN WE A9 A8ABCA5A0070 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 1120 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1150 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1在这段微程序中的15单元中,存储的微指令的B字段的值为“001”,该值使译码器输出“RSB”有效信号,而STA机器指令的(I0,I1)值为(0,0),由上面分析可知,将会产生“R0B”信号,使R0中的数据输出到数据总线上。 图64. 其它控制信号i. 设备片选控制信号,由微指令中“A9 A8”字段的值通过译码产生,其具体对应关系如下: A9 A8片选控制信号0 0选中输入设备0 1选中存储器1 0选中输出设备1 1无效信号ii. 存储器读写控制信号,当存储器片选信号有效时,微指令中“WE”字段的值决定了对存储器的读写操作。当“WE”为0时,对存储器读,当“WE”为1时,对存储器写。十三、 实验内容本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下:助记符机器指令码说明IN0000 0000“INPUT DEVICE” R0(单字节指令)ADD addr0001 0000 R0addr R0(双字节指令)STA addr0010 0000 R0addr (双字节指令)OUT addr0011 0000 addr LED(双字节指令)JMP addr0100 0000 addrPC(双字节指令)根据实验要求,设计如图所示的数据通路图。图7中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。图7根据机器指令的要求和数据通路图,设计各指令对应的微程序流程图如下:图8为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作程序,流程图如下。存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“0 1”时,按START微动开关,可对RAM连续手动写入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA为“1 1”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。图9根据流程图,设计各机器指令的微程序如下:微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5-UA0000 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 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 1 1 0 1 0 0 0 0 0 0 0 0 1 070 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 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 0 0 0 1 0 0 0 0 0 0 0 0 1 160 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 00 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 0 0 0 0 0 0 0 0 1 1 0 0 0 250 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 0 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 1本实验设计机器指令程序如下:地址(二进制)内容(二进制)助记符说明0000 00000000 0000IN R0“INPUT DEVICE”-R00000 00010001 0000ADD 0AH,R0R0+0AH-R00000 00100000 10100000 00110010 0000STA R0,0BHR0-0BH0000 01000000 10110000 01010011 0000OUT 0BH0BH-LED0000 01100000 10110000 01110100 0000JMP 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论