ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:178.44KB ,
资源ID:10357523      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10357523.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(常规型微程序控制器组成实验.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

常规型微程序控制器组成实验.docx

1、常规型微程序控制器组成实验4常规型微程序控制器组成实验一、实验目的1.2.掌握时序发生器的组成原理。 掌握微程序控制器的组成原理。二、实验电路1. 时序发生器本实验所用的时序电路见图 3.4。电路由一个 500KHz 晶振、2 片 GAL22V10、一片 74LS390 组成,可产生两级等间隔时序信号 T1-T4、W1-W3,其中一个 W 由一轮 T1-T4 组 成,相当于一个微指令周期或硬连线控制器的一拍,而一轮 W1-W3 可以执行硬连线控制 器的一条机器指令。另外,供数字逻辑实验使用的时钟由 MF 经一片 74LS390 分频后产生。图 3.4 时序信号发生器本次实验不涉及硬连线控制器,

2、因此时序发生器中产生 W1-W3 的部分也可根据需要 放到硬连线控制器实验中介绍。产生时序信号 T1-T4 的功能集成在图中左边的一片 GAL22V10 中,另外它还产生节拍 信号 W1-W3 的控制时钟 CLK1。该芯片的逻辑功能用 ABEL 语言实现。其源程序如下: MODULE TIMER1TITLE CLOCK GENERATOR T1-T4CLK = .C.;INPUTMF, CLR, QD, DP, TJ, DB PIN 1.6;W3 PIN 7;OUTPUTT1, T2, T3, T4 PIN 15.18 ISTYPE REG;CLK1 PIN 14 ISTYPE COM;QD1

3、, QD2, QDR PIN ISTYPE REG;ACT PIN ISTYPE COM;S = T1, T2, T3, T4, QD1, QD2, QDR;EQUATIONSQD1 := QD;QD2 := QD1;ACT = QD1 & !QD2;QDR := CLR & QD # CLR & QDR;T1 := CLR & T4 & ACT # CLR & T4 & ! (DP # TJ # DB & W3) & QDR;T2 := CLR & T1;T3 := CLR & T2;T4 := !CLR # T3 # T4 & !ACT & (DP #TJ# DB& W3) # !QDR;

4、CLK1 = T1 # !CLR & MF;S.CLK = MF;END节拍电位信号 W1-W3 只在硬连线控制器中使用,产生 W 信号的功能集成在右边一片 GAL22V10 中,用 ABEL 语言实现。其源程序如下:MODULE TIMER2 /头部TITLE CLOCK GENERATOR W1-W3DECLARATIONS /说明部CLK = .C.;INPUTCLK1, CLR, SKIP PIN 1.3;OUTPUTW1, W2, W3 PIN 16.18 ISTYPE REG;W = W1, W2, W3;EQUATIONS /逻辑描述部W1 := CLR & W3;W2 := C

5、LR & W1 & !SKIP;W3 := !CLR # W2 # W1 & SKIP;W.CLK = CLK1;END TIMER2 /结束部左边 GAL 的时钟输入 MF 是晶振的输出,频率为 500KHz。T1-T4 的脉宽为2s。CLR 实际上是控制台的 CLR#信号,因为 ABEL 语言的书写关系改为 CLR,仍为低 有效。CLR#0 将系统复位,此时时序停在 T4、W3,微程序地址为 000000B。建议每次 实验台加电后,先按 CLR#复位一次。实验台上 CLR#到时序电路的连接已连好。对时序发生器 TJ 输入引脚的连接要慎重,当不需要暂停微程序的运行时,将它接地; 如果需要的话

6、,将它与微程序控制器的输出微命令 TJ 相连。QD(启动)是单脉冲信号,2在 GAL 中用时钟 MF 对它进行了同步,产生 QD1 和 QD2。ACT 表达式为 QD1&!QD2, 脉宽为 2s。QDR 是运行标志,QD 信号使其置 1,CLR#将其置 0。DB(单步)、DP(单 拍)是来自实验台的二进制开关模拟信号。当 TJ0、DB0、DP0 时,一旦按下 QD 键,时序信号 T1T4 周而复始的发送出去,此时机器处于连续运行状态。当DP1、TJ0、DP0 时,按下 QD 键,机器将处于单拍运行状态,此时只发送一组 T1、T2、T3、T4 时序信号就停机,此时机器时序停在 T4。利用单拍方式

7、,每次只读出一 条微指令,因而可以观察微指令代码以及当前的执行结果。当机器连续运行时,如果 TJ1,也会使机器中断运行,时序停在 T4。DB、SKIP、CLK1 信号以及 W1-W3 节拍电位信号都是针对硬连线控制器的。硬连线 控制器执行一条机器指令需要一组 W1-W3 时序信号。CLK1 是产生 W 信号的控制时钟, 由左边一片 GAL 产生。DB 信号就是控制每次发送一组 W1-W3 后停机。执行某些机器指 令不需要一组完整的 W 信号,SKIP 信号就是用来跳过本指令剩余的 W 节拍信号的。2. 数据通路微程序控制器是根据数据通路和指令系统来设计的。这里采用的数据通路是在综合前 面各实验

8、的基础上,整合了运算器模块、存储器模块等形成的。有关数据通路整体的详细 说明,请参阅第一章。3. 微指令格式根据给定的 8 条机器指令功能和数据通路总体图的控制信号,采用的微指令格式如图 3.5 所示。微指令字长 31 位,其中顺序控制部分 9 位:判别字段 3 位,后继微地址 6 位。 操作控制字段 22 位,各位进行直接控制。S3 S2 S1 S0 MTJP2 P1 P0判别字段后继微地址31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0图3.5 微指令格式对应微指令格式

9、,微程序控制器的组成见图 3.6。控制存储器采用 4 片 E PROM(HN58C65)组成,HN58C65 是 8K8 位的,地址输 入端有 13 位(A12A0),实验中只用到 A5A0,所以 A12A6 接地,实际的使用空间 为 64 字节。微地址寄存器 AR 共 6 位,用一片 8D 触发器 74LS174 组成,带有异步清零端。 两级与、或门构成微地址转移逻辑,用于产生下一微指令地址。在每一个 T1 的上升沿,新的微指令地址打入微地址寄存器中,控制存储器随即输出 该条微指令的控制信号。微地址转移逻辑生成下一微地址,等到下一个 T1 上升沿,将其 打入微地址寄存器中。微地址转移逻辑的多

10、个输入信号中,SWC、SWB、SWA 是控制台指令的定义开关, 它们用来决定控制台指令微程序的分支。C 是进位信号,IR7IR4 是机器指令的操作码字 段,根据它们的值来控制微程序转向某个特定的分支。三、机器指令与微程序为教学中简单明了,本实验仪器使用了 8 条机器指令,均为单字长(8 位)指令。指 令功能及格式如表 3.3 所示。指令的高 4 位 IR7IR4 是操作码,提供给微程序控制器用作地址转移;低 4 位提供给数据通路。S3 S2 S1 S0 MTJP2 P1 P0C7 C6 C5 C4 C3 C2 C1 C0 C7 C6 C5 C4 C3 C2 C1 C0 C7 C6 C5 C4

11、C3 C2 C1 C0 C7 C6 C5 C4 C3 C2 C1 C0CM3A12 A6 A5 A4 A3 A2 A1 A0CM2A12 A6 A5 A4 A3 A2 A1 A0D5 D4 D3 D2 D1 D0CM1A12 A6 A5 A4 A3 A2 A1 A0CLR#T1CM0A12 A6 A5 A4 A3 A2 A1 A0C IR7 IR6SWC IR5 SWB IR4 SWA图3.6 微程序控制器电路图表 3.3指令功能与格式名称助记符功能指令格式IR7 IR6 IR5 IR4IR3 IR2IR1 IR0加法ADD Rd, RsRd + RsRd0 0 0 0Rs1 Rs0Rd1 R

12、d0减法SUB Rd, RsRd - RsRd0 0 0 1Rs1 Rs0Rd1 Rd0逻辑与AND Rd, RsRd & RsRd0 0 1 0Rs1 Rs0Rd1 Rd0存数STA Rd, RsRdRs0 0 1 1Rs1 Rs0Rd1 Rd0取数LDA Rd, RsRsRd0 1 0 0Rs1 Rs0Rd1 Rd0条件转移JC R3若 C1 则R3PC0 1 0 11 1 停机STP暂停执行0 1 1 0 输出OUT RsRsDBUS0 1 1 1Rs1 Rs0 应当指出,用这 8 条指令来编写实际程序是远远不够的。我们的目的是为了教学,通 过执行一些最简单的程序来掌握微程序控制器的工作

13、原理。上述 8 条指令的微程序流程图如图 3.7 所示。每条微指令可按前述的微指令格式转换 成二进制代码,然后写入微程序控制器的控制存储器中。KT0008P(0)RRF(100) WRF(011) RRM(010) WRM(001) PR(000)SW DBUSDBUS ARDBUS PCTJ0C 0BSW DBUSDBUS ARDBUS PCTJOASW DBUSDBUS ARTJ09081E1D02 040F670D0E0302SW DBUSDBUS RiTJ0F10P(1)ADD(0000) SUB(0001) AND(0010) STA(0011) LDA(0100) JC(0101)

14、 STP(0110)OUT(0111)10 1112131415161718ADDALU DBUSDBUS RdPC+119SUBALU DBUSDBUS RdPC+11AANDALU DBUSDBUS RdPC+11BDR1 ALUALU DBUSDBUS RAMPC+11CRAM DBUSDBUS RdPC+1C=0P(2)C=10F1F0F图3.7 微程序流程图微指令代码表根据图 3.7 的微程序流程图计算出微程序代码比较困难。为了计算出微程序代码,需 要 1 个各微指令使用的信号表,即代码表。表 3.4微指令 当前微地址 下一微地址微程序代码表KT RRF WRF RRM WRM PR

15、 00 0C 1E 06 07 0B 1D 0D 0E 0A 02 03 09 04 05 08 0F 08 1E 06 07 1E 1D 0D 0E 1D 02 03 02 04 05 04 0F 10备用P0 1 . . . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . . . . 1P2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TJ . 1 . . 1 1 . 1 1 . 1 . 1 . 1 . .LDIR . . . 1 . . . 1

16、 . . . . . . . . 1PC+1 . . . . . . . . . . . . . . . . .LDPC# . 1 . . . 1 . . . . . . . . . 1AR+1 . . . . . . . . . . . 1 . . 1 . .LDAR# . 1 . . . 1 . . . 1 . . 1 . . . .LDDR1 . . . . . . . . . . . . . . . . .LDDR2 . . . . . . . . . . . . . . . . .LDRi . . . . . . . . 1 . . . . . . . .SW_BUS# . 1 1

17、. . 1 1 . 1 1 . . 1 1 . 1 .RS_BUS# . . . . 1 . . . . . . . . . . . .ALU_BUS# . . . . . . . . . . . . . . . . .RAM_BUS# . . . . . . . . . . 1 . . . . . .CER# . . . 1 . . . 1 . . . . . . . . 1CEL# . . 1 . . . 1 . . . 1 . . 1 . . .LR/W# . . 0 . . . 0 . . . 1 . . 0 . . .Cn# . . . . . . . . . . . . . . .

18、 . .M . . . . . . . . . . . . . . . . .S0 . . . . . . . . . . . . . . . . .S1 . . . . . . . . . . . . . . . . .S2 . . . . . . . . . . . . . . . . .S3 . . . . . . . . . . . . . . . . .注:后缀为的信号都是低电平有效信号,为了在控存 ROM 中用“1”表示有效,这 些信号在控制器中经过反相后送往数据通路。表 3.4微程序代码表(续)微指令 当前微地址 下一微地址ADD SUB AND STA LDA JC STP O

19、UT 10 18 11 19 12 1A 13 1B 14 1C 15 1F 16 17 18 0F 19 0F 1A 0F 1B 0F 1C 0F 0F 0F 0F 0F备用P0 . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . .P2 . . . . . . . . . . 1 . . . . . . . . . . . . . . . .TJ . . . . . . . . . . . . 1 1LDIR . . . . . . . . . . . . . .PC+1 . 1 . 1 . 1 . 1 . 1 1 . 1 1LD

20、PC# . . . . . . . . . . . 1 . .AR+1 . . . . . . . . . . . . . .LDAR# . . . . . 1 . 1 . . . . .LDDR1 1 . 1 . 1 . 1 . . . . . . .LDDR2 1 . 1 . 1 . . . . . . . . .LDRi . 1 . 1 . 1 . . . 1 . . . .SW_BUS# . . . . . . . . . . . . . .RS_BUS# . . . . . . 1 . 1 . . 1 . 1ALU_BUS# . 1 . 1 . 1 . 1 . . . . . .RA

21、M_BUS# . . . . . . . . . 1 . . . .CER# . . . . . . . . . . . . . .CEL# . . . . . . . 1 . 1 . . . .LR/W# . . . . . . 0 . 1 . . . .Cn# . . . 1 . . . . . . . . . .M . 0 . 0 . 1 . 0 . . . . . .S0 . 1 . 0 . 1 . 0 . . . . . .S1 . 0 . 1 . 1 . 0 . . . . . .S2 . 0 . 1 . 0 . 0 . . . . . .S3 . 1 . 0 . 1 . 0 .

22、. . . . .注:后缀为的信号都是低电平有效信号,为了在控存 ROM 中用“1”表示有效,这 些信号在控制器中经过反相后送往数据通路。为了向 RAM 和寄存器堆中装入程序和数据、检查写入是否正确,并能启动程序执行, 还设计了以下五个控制台操作微程序:在按复位按钮 CLR#后,TEC-5 复位,根据 SWC、SWB、SWA 状态来选择工作方式。在控 制台工作方式,必须使 DP=0,DB=0。启动程序(PR):按下复位按钮 CLR#后,微地址寄存器清零。这时,置SWC0、SWB0、SWA0,用数据开关 SW7SW0 设置 RAM 中的程序首地址,按 QD 按钮后,启动程序执行。写存储器(WRM

23、):按下复位按钮 CLR#,置 SWC0、SWB0、SWA1。在 SW7SW0 中置好存储器地址,按 QD 按钮将此地址打入 AR。在 SW7SW0 置好数据, 按 QD,将数据写入 AR 指定的存储器单元,这时 AR 加 1。返回。依次进行下去,直到按复位键 CLR#为止。这样就实现了对 RAM 的连续手动写入。这个控制台操作的主要作 用是向 RAM 中写入自己编写的程序和数据。读存储器(RRM):按下复位按钮 CLR#,置 SWC0、SWB1、SWA0。在 SW7SW0 中置好存储器地址,按 QD 按钮将此地址打入 AR,RAM 此地址单元的内容读 至 DBUS 显示。按 QD 按钮,这时

24、 AR 加 1,RAM 新地址单元的内容读至 DBUS 显示。 返回。依次进行下去,直到按复位键 CLR#为止。这样就实现了对 RAM 的连续读出显 示。这个控制台操作的主要作用是检查写入 RAM 的程序和数据是否正确。在程序执行后 检查程序执行的结果(在存储器中的部分)是否正确。寄存器写操作(WRF):按下复位按钮 CLR#,置 SWC0、SWB1、SWA1。 首先在 SW7SW0 置好存储器地址,按 QD 按钮,则将此地址打入 AR 寄存器和 PC 寄存 器。在 SW1、SW0 置好寄存器选择信号 WR1、WR0,按 QD 按钮,通过双端口存储器 的右端口将 WR1、WR0(即 SW1、S

25、W0)送到指令寄存器 IR 的低 2 位。在 SW7SW0 中置好要写入寄存器的数据;按 QD 按钮,将数据写入由 WR1、WR0 指定的寄存器。 返回继续执行,直到按复位按钮 CLR#。这个控制台操作主要在程序运行前,向相关的通 用寄存器中置入初始数据。寄存器读操作(RRF):按下复位按钮 CLR#,置 SWC1、SWB0、SWA0。 首先在 SW7SW0 置好存储器地址,按 QD 按钮,则将此地址打入 AR 寄存器和 PC 寄存 器。在 SW3、SW2 置好寄存器选择信号 RS1、RS0,按 QD 按钮,通过双端口存储器的 右端口将 RS1、RS0(即 SW3、SW2)送到指令寄存器 IR

26、 的第 3、2 位。RS1、RS0 选中 的寄存器的数据读出到 DBUS 上显示出来。返回继续下去,直到按复位键 CLR#为止。 这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确,在程序 执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。四、实验设备1. TEC-5 计算机组成原理实验系统 1 台2.3.4.逻辑测试笔一支(在 TEC-5 实验台上) 双踪示波器一台(公用)万用表一只(公用)五、实验任务1. 按实验要求,连接实验台的电平开关 K0K15、时钟信号源和微程序控制器。连 接完成后应仔细检查一遍,然后才可以加上电源。注意:本次实验只做微程序控制器本身的实验

27、,故微程序控制器输出的微命令信号与 执行部件(数据通路)的连线不连接。2. 观察时序信号。用双踪示波器观测时序发生器的输入、输出信号:MF、T1T4、W1W3。比较相位 关系,画出其波形图,并标注出测量所得的脉冲宽度。观察时须将 DB、DP 开关置为 0 状 态,然后按 QD 按钮。熟悉启停控制按钮的功能,并熟练使用这些控制按钮或开关。3. 熟悉微指令格式的定义,按此定义将图 3.7 所示的全部微程序变换成二进制代码, 并列表登记。此表请在预习时完成。4. 控制台操作的功能由 SWC、SWB、SWA 三个二进制开关的状态配合 P0 判断来 决定。用单拍(DP)方式执行控制台操作微程序,观察判别

28、字段和微地址指示灯 的显示,跟踪微指令的执行情况,并与上表数据对照。5.深刻理解 0FH 微指令的功能和 P1 测试的状态条件(IR7IR4),用二进制开关设 置 IR7IR4 的不同状态,观察 ADD 至 OUT 八条机器指令对应微程序的微命令 信号,特别是微地址转移的实现,并与上面表格进行对照。六、实验要求1.2.3.做好实验预习,掌握微程序控制器和时序发生器的工作原理。根据实验任务所提的要求,在预习时完成表格填写、数据和理论分析值。 写出实验报告,内容是:(1) 实验目的。(2) 实验任务 2 的时序波形图和测量值。(3) 实验任务 3 的表格。七、实验步骤和实验结果(1) 接线控制器C

29、IR4IR5IR6IR7模拟开关K0K1K2K3K4时序电路TJSKIP固定电平地地注意:接线表中的 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。根据观察的结果,可绘出波形图。MFT1T2T3T4W1W2W3图3.8 基本时序图MF 的周期为 2000 毫秒,占空比为 50%。(3)控存代码表表 3.5控存代码表微地址CM3CM2CM1CM00000000048010000000002034004030300004002040108000505000044040600800807070010041E080008200F09000884040A000880020B0008A41D0C0008A41E0D00800C0E

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1