锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

计算机组成原理微程序控制器组成实验课程实验报告书

时间:2022-09-20 23:00:00 连接器fh521208tj2连接器2431tj62连接器

学生课程实验报告书

13 级 计算机与信息科学 系

软件工程 专业 1303 班

学号 3138907308 姓名 王明渊

2014 --2015 学年 第 2 学期

此外,它还产生节拍信号W1-W3的控制时钟CLK1.芯片的逻辑功图3.4 时序信号发生器

本实验不涉及硬连线控制器,因此在时序发生器中产生W1-W3的部分也可以根据需要在硬连线控制器实验中介绍。

产生时序信号T1-T4功能集成在图中左侧GAL22V10中,

能用ABEL语言实现。其源程序如下: MODULE TIMER1

TITLE ‘CLOCK GENERATOR T1-T4’

CLK = C; “INPUT

MF, CLR, QD, DP, TJ, DB PIN 1..6; W3 PIN 7; “OUTPUT

T1, T2, T3, T4 PIN 15..18 ISTYPE ‘REG’CLK1 PIN 14 ISTYPE ‘COM’; QD1, QD2, QDR PIN ISTYPE ‘PEG’; ACT PIN ISTYPE ‘COM’;

S = [T1, T2, T3, T4, QD1, QD2, QDR]; EQUATIONS

QD1 := QD; QD2 := QD1; ACT = QD1 & !QD2;

QDR := CLR & QD # CLE & QDR;

;

T1 := CLR & T4 & ACT # CLR & T4 & !(DP # TJ # DB & W3) & “INPUT

CLK1, CLR, SKIP PIN 1..3; QDR;

T2 := CLR & T1; T3 := CLR & T2;

T4 := !CLR # T3 # T4 & !ACT & (DP # TJ # DB & W3) # !QDR;

CLK1 = T1 # !CLR & MF;

S.CLK = MF; END

节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下:

MODULE TIMER2

//头部

TITLE ‘CLOCK GENERATOR W1-W3’

DECLARATIONS

//说明部

CLK = C;

“OUTPUT

W1, W2, W3 PIN 16..18 ISTYPE ‘REG’;

W = [W1, W2, W3];

EQUATIONS

//逻辑描述部

W1 := CLR & W3; W2 := CLR & W1 & !SKIP; W3 := !CLR #W2 # W1 & SKIP; W.CLK = CLK1; END TIMER2

//结束部

左边GAL的时钟输入MF晶振输入频率为500KHz。T1-T4的脉宽为2us。GLR实际上是控制台CLR#信号,因为ABEL语言写作关系改为CLR,仍然低有效。CLR #= 0在此时停止系统复位T4、W3.微程序地址为0万B。建议每次试验台加电后按压CLR#复位一次。实验台上CLR#到时序电路的连接已接。 对时序发生器TJ输入需要暂停微程序的运行时,应仔细连接输入引脚并接地;如有必要,将其输出到微程序控制器中

令TJ相连。QD(启动)是单脉冲信号GAL中用时钟MF同步它,产生它QD1和QD2。ACT表达式为QD1 & !QD2,脉宽为2us。QDR是操作标志,QD信号使其置1,CLR#将其置0。DB(单步)、DP(单拍)是实验台的二进制开关模拟信号。当TJ = 0、DB = 0、DP = 0点,一旦按下QD按钮,时序信号T1-T3.微指令格式发送4周。

根据给定的8个机器指令功能和数据通路总图的控制信号,微指令格式如图10所示。微指令字长31位,其中顺序控制部分9位: 判别字段3位,后继微地址6位。操作控制字段22位,直接控制。

此时机器处于连续运行状态。当DP = 1、TJ = 0、DP = 0时,按下QD键,机器将处于单拍运行状态,此时只发送一组T1、T2、T3、T4时序信号停止,机器时序停止T4。一次只读一个微指令,可以观察微指令代码和当前执行结果。如果机器连续运行,TJ = 1.它还会中断机器的运行,停止时序T4。DB、SKIP、CLK1信号以及W1-W三节拍电位信号均为硬连线控制器。执行机器指令的硬连线控制器需要一组机器指令W1-W3时序信号。CLK1是产生W信号的控制时钟,由左边一片GAL产生。DB信号控制每次发送一组W1-W3后停机。执行某些机器指令不需要一组完整的W信号,SKIP该信号用于跳过本指令剩余的W节拍信号。 2.数据通路

微程序控制器是根据数据通路和指令系统设计的。这里使用的数据通路是在综合上述实验的基础上,整合了计算器模块和存储器模块。详情请参阅第一章。

图3.5 微指令格式

微程序控制器的组成见图3.6。

4片控制存储器E2PROM(HN58C65)组成,HN58C65是8K * 地址输入端有13位(A12-A只用于实验A5-A0,所以A12-A6接地,实际使用空间为64字节。

微地址寄存器u AR共6位。用一片8D触发器74LS174由异步清零端组成。

用于生成下一个微指令地址的两级和或门构成微地址转移逻辑。 在每一个T新的微指令地址进入微地址寄存器,控制寄存器立即输出微指令的控制信号。微地址转移逻辑生成下一个微地址,直到下一个T上升沿,将其输入微地址寄存器。 微地址转移逻辑的多个输入信号中,SWC、SWB、SWA它是控制台指令的定义开关,用于决定控制台指令微程序的分支。C是进位信号,IR7-IR四是机器指令的操作码字段,根据其值控制微程序转向特定分支。 三、机器指令和微程序

为了使教学简单明了,本实验仪器使用了8个机器指令,均为单8位)指令。指令功能及格式如表3所示.1.指令高4位IR7-IR为微程序控制器提供地址转移提供操作码;为数据通道提供低4位。

图3.6 微程序控制器电路图

表3.3 指令功能和格式

应该指出,用这八个指令来编写实际程序是远远不够的。我们的目的是通过执行一些最简单的程序来教授微程序控制器的工作原理。

如图3所示.7.每个微指令可以按照上述微指令格式转换为二进制代码,然后写入微程序控制器的控制存储器。

表3.4 微程序代码表

注: #后缀信号为低电平有效信号,以控制存储ROM1表示有效,这些信号在控制器中反相后发送到数据通路。

为了向RAM还设计了以下五个控制台操作微程序:

按复位按钮CLR#后,TEC-5复位,根据SWC、SWB、SWA状态选择工作方式。必须在控制台工作DP = 0,DB = 0。 启动程序(PR): 按复位按钮CLR#之后,微地址寄存器清零。这时,置SWC = 0、SWB = 0、SWA = 用数据开关SW7-SW0设置RAM按程序首地址QD按钮后,启动程序执行。

写存储器(WRM): 按复位按钮CLR#,置SWC = 0、SWB = 0、SWA = 1。(1)在SW7-SW0中置存储器地址,按QD按钮输入此地址AR。(2)在SW7-SW设置数据,按QD,将数据写入AR指定的存储单元,此时AR加1。(3)返回(2)。依次进行,直到按复位键CLR#为止。这样就实现了对RAM连续手动写入。这个控制

平台操作的主要作用是向向RAM写入自己的程序和数据。 读存储器(RRM): 按复位按钮CLR#,置SWC = 0、SWB = 1、SWA = 0。(1)在SW7-SW0中置存储器地址,按QD按钮输入此地址AR,RAM阅读本地址单元的内容DBUS显示。(2)按QD按钮,

图3.7 微程序流程图

微指令代码表

根据图3.7微程序流程图很难计算出微程序代码。为了计算微程序代码,每个微指令都需要一个信号表,即代码表。

这时AR加1,RAM阅读新地址单元的内容DBUS显示。(3)返回(2)。依次进行,直到按复位键CLR#到目前为止。这样实现了正确的目标RAM连续读取显示。控制台操作的主要功能是检查写入RAM程序和数据是否正确。程序执行后,检查程序执行结果(存储器中的部分)是否正确。

寄存器写操作(WRF): 按复位按钮CLR#,置SWC = 0、SWB =

1、SWA = 1。(1)首先在SW7-SW0中置存储器地址,按QD按钮将此地址输入AR寄存器和PC寄存器。(2)在SW1、SW放好寄存器,选择信号WR1、WR0,按QD按钮将通过双端口存储器的右端口WR1、WR0(即SW1、SW0)送到指令寄存器IR的低2位。(3)在SW7-SW0中置要写入寄存器的数据;按QD将数据写入由按钮WR1、WR0指定的寄存器。(4)返回(2)继续执行,直到按复位按钮CLR#。在程序运行前,控制台主要将初始数据放入相关通用寄存器中。

寄存器读取操作(RRF): 按复位按钮CLR#,置SWC = 1、SWB =

0、SWA = 0。(1首先在SW7-SW0中置存储器地址,按QD按钮将此地址输入AR寄存器和PC寄存器。(2)在SW3、SW2.选择寄存器的信号RS1、RS0,按QD按钮将通过双端口存储器的右端口RS1、RS0(即SW3、SW2)送到指令寄存器IR的第3、2位。RS1、RS读取0选寄存器的数据DBUS显示在上面。(3)继续p

下来,直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确。在程序执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。 四、实验任务

1. 按实验要求,连接实验台的数码开关K0-K15、控制开关、按钮开关、时钟信号源和微程序控制器。连接完成后应仔细检查一遍,然

后才可以加上电源。 注意: 本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线不连接。 2. 观察时序信号

用双踪示波器观测时序发生器的输入、输出信号: MF、 T1-T4,、W1-W3。比较相位关系,画出其波形图,并标注出测量所得的脉冲宽度。观察时须将DB、DP开关置为0状态,然后按QD按钮。 熟悉启停控制按钮的功能,并熟悉使用这些控制按钮或开关。 3. 熟悉微指令格式的定义,按此定义将图3.7所示的全部微程序变

换成二进制代码,并列表登记。此表请在预习时完成。 4. 控制台操作的功能由SWC、SWB、SWA三个二进制开关的状态配合P0判断来决定。用单拍(DP)方式执行控制台操作微程序,观察判别字段和微地址指示灯的显示,跟踪微指令的执行情况,并与上表数据对照。

5. 深刻理解0FH微指令的功能和PI测试的状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现,并与上面表格进行对照。

实验仪器:

1 TEC - 5计算机组成原理实验系统1台;

2 TDS1001数字存储示波器1台; 3 逻辑测试笔1支

实验步骤(实验要求): 一、实验要求

1. 做好实验预习,掌握微程序控制器和时序发生器的工作原理。 2. 根据实验任务所提要求,在预习时完成表格填写、数据和理论分析。

3. 写出实验报告,内容是: (1)实验目的

(2)实验任务2的时序波形图和测量值 (3)实验任务3的表格。 二、实验步骤和实验结果

(1)接线

注意: 接线表中的TJ是时序电路中的TJ,不是控制器中的TJ(该TJ由控制器产生,不能接输入信号),千万不要接错。

(2)观察时序信号的波形

置DP = 0,DB =0。先按CLR#按钮复位,再QD按钮。则时序部分开始不停止地运行,直到按CLR#按钮为止。用双踪示波器观察MF、T1、T2、T3、T4、W1、W2、W3信号。观察的方法是同时观察两路信号,以便于比较相位。可按下述顺序进行观察: MF和T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3。根据观察的结果,可绘出波形图。

图3.8 基本时序图

MF的周期为2000毫秒,占空比为50%。

(3)控存代码表

表3.5 控存代码表

(4)控制台操作微指令编码测试

控制台微代码在58C65的D0-D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM3是最高字节。D0-D7对应于28C64的引脚11、12、13、15、16、17、18、19。对于控存的输出,有相应的32个指示灯指示。

置DP = 1,DB = 0,使实验系统处于单拍状态。置SWC = 0、SWB = 0、SWA = 1,实验系统处于写存储器WRM工作模式。按CLR#按钮,使实验系统处于初始状态,微地址u_A5-u_A0为00H,测得的微码是00H 00H 00H 48H。按一次QD按钮,微地址uA5-u_A0为09H,测得的微码是00H 08H 84H 04H。按一次QD按钮,微地址u_A5-u_A0为04H,测得的微码是01H 08H 00H 05HH。按一次QD按钮,微地址u_A5-u_A0为05H,测得的微码是00H 00H 44H 04H。按一次QD按钮,微地址u_A5-u_A0为04H。由于微地址又返回04H,停止测试。

置DP = 1,DB = 0,使实验系统处于单拍状态。置SWC = 0、SWB = 1、SWA = 0,实验系统处于读存储器RRM工作模式。按CLR#按钮,使实验系统处于初始状态,微地址u_A5-u_A0为00H。按一次QD按钮,微地址uA5-u_A0为0AH,测得的微码是00H 08H 80H

02H。按一次QD按钮,微地址u_A5-u_A0为02H,测得的微码是03H 40H 04H 03H。按一次QD按钮,微地址u_A5-u_A0为03H,测得的微码是00H 00H 40H 02H。按一次QD按钮,微地址u_A5-u_A0为02H。由于微地址又返回02H,停止测试。

置DP = 1,DB = 0,使实验系统处于单拍状态。置SWC = 0、SWB = 1、SWA = 1,实验系统处于写寄存器WRF工作模式。按CLR#按钮,使实验系统处于初始状态,微地址u_A5-u_A0为00H。按一次QD按钮,微地址uA5-u_A0为0BH,测得的微码是00H 08H 0A4H 1DH。按一次QD按钮,微地址u_A5-u_A0为1DH,测得的微码是01H 08H 0CH 0DH。按一次QD按钮,微地址u_A5-u_A0为0DH,测得的微码是00H 80H 0CH 0DH。按一次QD按钮,微地址u_A5-u_A0为0EH,测得的微码是00H 0CH 04H 1DH。按一次QD按钮,微地址u_A5-u_A0为1DH。由于微地址又返回1DH,停止测试。

置DP = 1,DB = 0,使实验系统处于单拍状态。置SWC = 1、SWB = 0、SWA = 0,实验系统处于读寄存器工作模式。按CLR#按钮,使实验系统处于初始状态,微地址u_A5-u_A0为00H。按一次QD按钮,微地址uA5-u_A0为0CH,测得的微码是00H 08H 0A4H 1EH。按一次QD按钮,微地址u_A5-u_A0为1EH,测得的微码是01H 08H 00H 06H。按一次QD按钮,微地址u_A5-u_A0为06H,测得的微

码是00H 80H 08H 07H。按一次QD按钮,微地址u_A5-u_A0为07H,测得的微码是00H 10H 04H 1EH。按一次QD按钮,微地址u_A5-u_A0为1EH。由于微地址又返回1EH,停止测试。

置DP = 1,DB = 0,使实验系统处于单拍状态。置SWC = 0、SWB = 0、SWA = 0,实验系统处于PR工作模式。按CLR#按钮,使实验地址是00H。令K4(IR7) = 0,K3(IR6) = 0,K2(IR5) = 0,K1(IR4) = 0,相当于ADD指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为10H,微代码是00H 03H 00H 18H。按一次QD按钮,微地址变为18H,微代码是90H 24H 10H 0FH。按一次QD按钮,微地址回到0FH。

系统处于初始状态,微地址u_A5-u_A0为00H。按一次QD按钮,微地址uA5-u_A0为08H,测得的微码是00H 08H 84H 04H。按一次QD按钮,微地址u_A5-u_A0为04H,测得的微码是00H 08H 20H 0FH。按一次QD按钮,微地址u_A5-u_A0为0FH,测得的微码是00H 80H 08H 90H。由于以后的微码与机器指令有关,停止测试。 (5)深刻理解0FH微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现。 0FH微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR。0FH微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P1 = 1,因此实际的微指令地址的低4位要根据IR7-IR4确定,实际微地址为10H + IR7 IR6 IR5 IR4。

1. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微

2. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6) = 0,K2(IR5) = 0,K1(IR4) = 1,相当于SUB指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为11H,微代码是00H 03H 00H 19H。按一次QD按钮,微地址变为19H,微代码是64H 24H 10H 0FH。按一次QD按钮,微地址回到0FH。

3. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6) = 0,K2(IR5) = 1,K1(IR4) = 0,相当于AND指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为12H,微代码是00H 03H 00H 1AH。按一次QD按钮,微地址变为1AH,微代码是0B8H 24H 10H 0FH。

按一次QD按钮,微地址回到0FH。 4. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、

SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6) = 0,K2(IR5) = 1,K1(IR4) = 1,相当于STA指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为13H,微代码是00H 11H 80H 1BH。按一次QD按钮,微地址变为1BH,微代码是01H 20H 10H 0FH。按一次QD按钮,微地址回到0FH。

5. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、SWB =1、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6) = 0,K2(IR5) = 0,K1(IR4)

= 0,相当于ADD指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为14H,微代码是00H 10H 80H 1CH。按一次QD按钮,微地址变为1CH,微代码是03H 44H 10H 0FH。按一次QD按钮,微地址回到0FH。

6. 置DP = 1,DB = 0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6) = 1,K2(IR5) = 0,K1(IR4) = 1,相当于JC指令的操作码。按一次QD按钮,微地址变为0FH。按一次QD按钮,微地址变为15H,微代码是00H 00H 11H 0FH。令K0(C) = 0。按一次QD按钮,微地址变为0FH。按一次QD按钮,

微地址变为15H。令K0(C) = 1,按一次QD按钮,微地址变为1FH,

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章