计算机组成课程设计

玛丽莲梦兔
899次浏览
2020年08月03日 22:21
最佳经验
本文由作者推荐

畅想未来的作文-中国新护照


计算机组成原理

实验及课程设计报告书
学年
系别
专业
指导老师
实验人
同组人
班级
实训时间
编制时间


第 学期




















微程序控制器实验
一、 实验目的
通过看懂教学计算机中已经设计 好并正常运行的数条基本指令(例如:ADD、
MVRR、OUT、MVRD、JR、RET等指令)等 功能,格式和执行流程,然后自己
设计几条指令的功能、格式和执行流程。并在教学计算机上实现、调试 正确。其
最终要达到的目的是:
1、深入理解计算机微程序控制器的功能,组成知识;
2、深入地学习计算机各类典型指令地执行流程;
3、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;
4、学习微程序控制器地设计过程和相关技术。
二、实验说明
控制器设计是学习计 算机总体组成和设计的最重要的部分。要在TEC-2000教学计
算机完成这项实验,必须比较清楚地 懂得:
1、TEC-2000教学机的微程序控制器主要由微程序小板和教学机上的7片
GA L20V8组成;
2、TEC-2000教学机上已实现的全部基本指令和留给用户实现的19条扩展 指令的
控制信号都是由微程序小板上的7片MPROM给出的。
3、应了解监控程序的A命令 只支持基本指令,扩展指令应用E命令将指令代码写
入到相应的存储单元中;并能用T、P命令单步执行 高度扩展指令,只能用G
命令执行扩展指令。
4、要明白TEC-2000教学机支持的指令 格式及指令流程分组情况:理解TEC-2000
教学机中已经设计好并正常运行的各类指令的功能、格 式和执行流程,也包括
控制器设计与实现中的具体线路和控制信号的组成。
5、要明确自己要 实现的指令格式、功能、执行流程设计中必须遵从的约束条件。
为了完成自己设计几条指令的功能、格式 和执行流程,并在教学计算机上实现、
调试正确的实验内容,具体过程包括:
(1) 确定指 令格式和功能,包括操作码,指令中其它字段的内容分配和使用。
指令中字段的使用和分配要受教学机已 有硬件的约束,应尽量与已实现
指令的格式和分类办法保持一致;
(2) 按新指令的功能和 格式,设计指令的执行流程。划分指令执行步骤并设
计每一步的执行功能,设计微地址和下地址的取值, 应参照已实现指令
的处理办法来完成;
(3) 在指令流程表中填写每一个控制信号的状态值 ,基本上是查表填数的过
程,应该特别仔细,并有意识的体会这些信号的控制作用;
(4) 将设计好的微码,装入控制存储器的相应单元;
(5) 写一个包含你设计的指令的程序、通过运行该 程序检查执行结果的正确
性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错
误并改正,继续调试,知道完全正确。
三、实验内容
1、完成控制器部件的教学实验,主要 内容是由学生自己设计几条指令的功能、格
式和执行流程并在教学计算机上实现、调试正确。
2、首先是看懂TEC-2000教学计算机的功能部件组成和线路逻辑关系,然后分析
教学计算机中已 经设计好并正常运行的几条典型指令(例如:ADD、MVRR、OUT、
MVRD、JR、RET等指 令)的功能、格式和指令流程,注意各操作功能所对应的
控制信号的作用。
3、设计几条指令 的功能、格式和执行流程,并在教学计算机上实现、调试正确。


例如:ADC、JRS、 JRNS、LDRA、STAR、CALR等指令,可以从给出的19条扩
张指令中任意选择,当然也可 以设计与实现其他的指令包括原来已经实现的基本
指令(要变换为另外一个指令操作
码)或自己确定的指令。
需要注意的是,在做扩展指令时,要把新指令用到的控制信号写入7 片控制存储
器MPROM1-MPROM7中。同时还需将指令的微程序入口地址写入到微指令地址映射部件MAPROM中。这8个芯片都是用28C64实现的,说明如何在教学机上
对这8片28 C64进行编程。
1)将教学机左下方的5 个拨动开关置为00101,使其工作在连续、联机、16
位组合逻辑方式。
2)16位机可 同时对2片ROM扩展存储器芯片编程,要注意这2个芯片与写
入的高、低8位数据的对应关系。本例中 每次只对1片28C64进行编程,
选择扩展ROM存储器芯片插座EXTROM28C64,并为其分 配地址空间,本
例中使用4000-5FFF,即将该ROM扩展存储器的片选信号与对应内存地址范围在4000-5FFF的圆孔针相连。
3)扩展指令NOT、CLC,CALR,其指令操作码、控制信号及对应控制存储器
如下表:
MPROM MPROM1 MPROM2 MPROM3
指令 操作码 微址 微下址 CI3-CI0 SCC3-SCC0 #MR#W 0I2-I0
NOT 00101101 50 30H 0011 0000 0100 0011

CLC 01101100 50 10H 0011 0000 0100 0001
CALR 11100000 60 00H 1110 0000 0100 0011
00H 1110 0000 0000 0100
30H 0011 0000 0100 0100

MPROM4 MPROM5 MPROM6 MPROM7
SAI8-I6 SBI5-I3 B口 A口 0SST SSH DC2 DC1
SCI
1011 1111 0000 0000 0001 0000 0000 0000
0010 0001 0001 0001 0011 0001 0000 0000
1011 0001 0100 0000 0000 0000 0011 0000
0001 0000 0000 0101 0000 0000 0000 0001
1011 0000 0000 0000 0000 0000 0000 0000
控制信号分析
指令NOT
(1) NOT DR 功能是将DR的内容取反后送DR,指令格式如下:

操作码 DR0000




(2)指令流程图



取指令

#DR→DR

(3)分析指令
NOT DR 为A类指令,除了取指令(公共给出的控制信号,此分析中就 不涉及了)
就只需要一拍,一拍执行后就跳转到下一条新指令,只要一条指令执行完后都要
跳到 30H。而跳转需要由控制信号CCI3-CCI0和SCC3-SCC0给出,由表可知为
0011 0000

CI3-CI0 功能
0000(0#) 初始化
0010(2#) Maprom译码
0011(3#) 条件微转移
1110(14#) 顺序执行
(a)
SCC(CI3-CI0) 功能
0000 必转
0010 INT=0
16位机 0100 JRC,JRNC,JRZ,JRNZ条件不成立时转
0101 JRS,JRNS条件不成立时转(转下一条指令)
0110 IRH2=0时转
0111 IRH2=1时转
(b)

由于要玩成取反操作,我们应该让DR和0取异或,所以我们选择0和B的组合,< br>并且不回送结果,根据下表得出I8-I0为011 111 011
I8-I6 I5-I3 I2-I0
寄存器结Q结果选Y输出选运算功能数据来源
果选择 择 择 选择
R S
000 无 F F R+S A Q
001 无 无 F S-R A B
010 F→B 无 A R-S 0 Q
011 F→B 无 F R∨S 0 B
100 F2→B Q2→Q F R∧S 0 A
101 F2→B 无 F (R∧S) D A
110 2*F→B 2*Q→Q F R ⊕S D Q
111 2*F→B 无 F (R⊕ S) D 0
(c)
由于此指令影响标志位,没有移位操作,且没有进位加减,由下表可得SST SSH Sci
为0010000
3位控制码SST 状态位 说明


C Z V S
000 C Z V S 四个标志位的值不变
001 C F=0 OVR F15 接收ALU标志位输出的值
010 IBH7 IBH6 IBH5 IBH4 恢复标志位原现场值
011 0 Z V S 置“0”C,另外三个标志位不变
100 1 Z V S 置“1”C,另外三个标志位不变
101 RAM0 Z V S 右移操作,另外三个标志位不变
110 RAM15 Z V S 左移操作,另外三个标志位不变
111 Q0 Z V S 联合操作另外三个标志位不变,
(d)
2位控制码左移 右移 说明
SST
RAM0 Q0 RAM15 Q15
00 0 X 0 X 使用寄存器逻辑移位
01 C X C X 通用寄存器与C循环移位
10 Q15 F15 CY RAM0 原码除(左移)乘(右移)
11 X X F15 RAM0 通用寄存器与Q联合移位(右移)
(e)
2位控制码 SCi Cin 取值
00 0
01 1
10 C
11 C0
(f)
由于操作中的操作数来自指令,所以由下表可得SA A口的地址为1 0000 ,SB ,B
口地址1 0000
编码SA SB A口 B口
16位机 0 微指令A口 微指令A口
1 IR 的SR字段 IR 的DR字段
( g)
由于没有内存和外设的操作,所以由表可得MRW 为100
MIO REQ 译码信号 功能说明 控制对象
WE
000 MWR 内存写信号 存储器的写信号引脚
001 WRD 内存读信号,低电平存储器的读信号引脚
有效
010 WE IO写信号,低电平IO设备的写信号引脚
有效
011 RD IO读信号,低电平IO设备的读信号引脚
有效
00X MMRED 内存读写请求,低电内存地址译码器DC474LS138
平有效 的使能端
01X IOREQ IO读写请求,低电IO地址译码器DC574LS138 的
平有效 使能端
1XX (无) 无读写操作
(h)


由于涉及不到向内存写数据和地址接受数据由表可知DC1,DC2 分别为 0000 0000
DC12-DC10 译码信号 功能说明 控制对象
000 开关到内部总SWTOIBH 74LS244,SWTOIBL
SWTOIB 线 74LS244的使能输出端
001 RTOIB ALU输出到内RESH 74LS244,RESL 74LS244的使能
部总线 输出端
010 ETOIB 16位机扩展符SIGNEXT16 74LS244的使能输出端
号到内部总线
011 FTOIB 状态到内部总STR74LS244的使能输出端
线
100 INTVH 8位机扩展符号SIGNEXT8 74LS244的使能输出端
到内部总线
101 INTVH 中断向量高位16位机:INTVTH
到内部总线 74LS374的输出使能端
8位机INTVTL 74LS374的输出使能


110 INTVL 中断向量低位8位机INTVTL 74LS374的输出使能
到内部总线 端

111 无 无操作
(i)
DC22-DC2译码信功能说明 控制对象
0 号
000 (无操无操作 IRH74LS377、IRL74S377、的使
作) 能端
001 GIR 指令寄存器接收 8位机:ARH74LS377的使能端
010 GARL 地址寄存器低8位接16位机:ARH74LS377、
收 ARL74LS377的使能端
011 GARH 地址寄存器高8位接作为INTP GAL的一个输入引
收 脚
100 INTR 恢复中断优先级 作为INTP GAL的一个输入引

101 INTN 新中断优先级 作为INTP GAL的一个输入引

110 EI 开中断,置中断允许作为INTP GAL的一个输入引
位INTE=1 脚
111 DI 关中断,置中断允许作为INTP GAL的一个输入引
位INTE=0 脚
(j)
至此NOT的控制信号分析完毕,根据53位信号的格式写入即可,为了完整性将
其扩 展为56位(写在8片ROM上),具体格式如下:
微下址 CI3-0 0MRW SA I8-6 B3-B0 0SST 0DC2
(8位) SCC3-0 0I2-0 SB I5-3 A3-A0 SSH SCI 0DC1
(8位) (6位) (8位) (8位) (7位) (8位)



指令 CALR SR
指令功能:调用SR指向的子程序
指令格式 :操作码 0000SR
指令流程图

取指令

SP
SP-1→SP,AR
PC→MEM


SR→PC


(3)分析指令
由指令流 程图我们可以看出这个指令除了取指令外还需要三个微操作,因为
是完成子程序的调用,所以要先保护断 点,即给出堆栈地址,将PC的内容写入内
存,就是SP-1→SP和ARPC→MEM两步微操作,然 后就是将要调用的子程序微
地址送入PC,即SR→PC。
由于有三步微操作,所以前两个的 微操作为顺序执行,所以微下址就没有什
么实际意义,就设置为00H,而对应的CI3-0 SCC3-0由表(a)和(b)可知为
1110 0000(顺序执行)而最后一个微操作执行后要跳转,所以下址为30H,CI3-0
SCC3-0 为0011 0000
1. 对于SP-1→SP,AR的实现,在这里我们 要知道SP的计数是用R4完成的,
所以执行的运算应该是R4-1→R4,AR,所以确定的I8-I 0由表(c)可得011
001 011(S-R,OB组合)
由于此指令不影响标志位, 没有移位操作,且没有进位加减,由表(d)(e)
(f)可得SST SSH SCI得000 00 00
由于操作中的其中一个操作数B是来自微指令的,所以由控制信号给出B的
地址,由表( g)可得SAA口地址为1 0000,SB,B口地址0 0100(R4)
由于没有对内存和外设的操作,所以由表(h)可得MRW 为100
由于涉及到地址接收数据由表(i)和(j)可知DC1 DC2分别为0001 0000
2. 对于PC→MEM的实现,将R5中的内容写入内存,执行加零操作后写入
内存,对于运 算只执行加0即可,所以确定的I8-I0由表(c)可得001 000
100(S+R,OA组合,不送结果)
由于指令不影响标志位,没有移位操作,且没有进位加减,由表(d)(e)(f)
可得SST SSH SCI得000 00 00


由于操作中的其中一个操作数A(R5) 是来 自微指令的,所以由控制信号给出
A的地址,由表(g)可得SAA口地址为00101,SB,B口地 址0 0000
由于对内存的写操作,所以由表(h)可得MRW 为100
3. 由于涉及到向内存中送数据,由表(i)和(j)可知DC1 DC2分别为0001
0000 < br>对于SR→PC的实现,将SR中的内容存入PC,其实就是SR执行零操作后写
入R5,对于运 算只执行加0,然后将结果送入R5即可,所以确定的I8-I0由
表(c)可得011 000 100(S+R,OA组合,结果送到R5)
由于此指令不影响标志位,没有移位操作,且没有进位加 减,由表(d)(e)
(f)可得SST SSH SCI得000 00 00
由于操作中 要求结果送到R5,所以要选定B口地址,有控制信号给出B地址,
由表(g)可得SAA口地址为1 0000,SB,B口地址为1 0101
由于没有对内存和外设的操作,所以由表(h)可得MRW 为100
由于没有涉及到向内存中送数据和地址寄存器接受数据,由表(i)(j)可得
DC1 DC2 分别为0000 0000
到此为止分析完毕
(4)MAPROM的写入,在MAPROM 中写入微程序的入口地址,NOT的操
作码为2D,所以应把50写入402D,60写入40E0,操 作时,先将教学机电源关
闭,再将MAPROM28C65插入选定的扩展存储器插座中,加电复位后, 用E命令
在402D单元写入0050,在40E0单元写入0060
MPROM1-MPR OM7的写入,像maprom样写入信号,只是由于只有一个扩展口,
所以每次只能写一片,每次都要 断电,拔下,再写入相应的控制信号。
插ROM1 E 4050 :0030
E 4060 :0000 0000 0000
插ROM2 E 4050 :0030
E 4060 :00E0 00E0 0030
插ROM3 E 4050 :0043
E 4060 :0043 0004 0044
插ROM4 E 4050 :00BF
E 4060 :000B1 0010 00B0
插ROM5 E 4050 :0000
E 4060 :0040 0005 00B0
插ROM6 E 4050 :0010
E 4060 :0000 0000 0000
插ROM7 E 4050 :0000
E 4060 :0000 0000 0000
(5) 将八片ROM写好后,插到控制板上,然后插到教学机上,控制信号00001,
运行 文件,编程并测试自己的扩展指令,用E命令写入
的测试程序(NOT 的机器码是 00101101 00000000)
A 2000
2000:MVRD R0,0000
2002:
E 2002:2D00
A 2003
2003:RET
G 2000


结果看到R0中为FFFF,说明R0确实执行了取反操作,说明指令成功。
SR 的测试程序
CALR SR 的机器码是11100000 00000011
A 2100
2100:MVRD R3,3000
2102
E 2102 :E003
2103:RET
3000:MVRD R0,0000
3002:MVRD R1,0001
3004:ADD R0,R1
3005:RET
3007:
G 2100
执行后看到R0 的内容为0001(之前用R命令看了R0为0000),说明执行了子程
序,说明指令成功扩展。
指令CLC
1. 汇编格式:CLC 00000000
2. 机器指令格式:01101100 00000000
3. 指令功能:清进位标志 C=0
4. 指令流程图:


取址


执行 CF=0


5. 控制信号 查表可得控制信号表
微下CI3-0 0MRW SA I8-6 SB
址 SCC3-0 0I2-0 I5-3
(8(8位) (6位) (8位)
位)
5010 00110000 01000001 00100001
B3-B0
A3-A0
(8位)

00010001
0SST SSH 0DC2
SCI 0DC1
(7位) (8位)

00110001 00000000
实验过程
修改MAPROM,把地址6CH单元修改为50H
1. 断电
2. 取下MAPROM,插入扩展槽(选下面的高八位),连片选信号6000—7FFF
3. 给实验机加电,pc机开机
4. 设置工作模式为:连续,内存读,组合逻辑,16位机,联机(00101)
5. 运行pc机上 实验机和PC机联机
6. 修改MAPROM E 604E 输入6100 回车 断电取 下MAPROM插回扩展
板,把扩展板插入扩展槽,加电,将实验机工作模式改为(00001)联机, 如


能运行 A E命令,说明正常
7. 修改CM1 E 6050 0100 回车 修改CM2 E 6050 3000 回车
修改CM3 E 6050 4100 回车 修改CM4 E 6050 2100 回车
修改CM5 E 6050 1100 回车 修改CM6 E 6050 3100 回车
修改CM7 E 6050 0000 回车
8 调试指令:
2000:MVRD R0,8000
2002:MVRD R1,8000
2004:ADD R0,R1
2005:6C00
2006:RET
实验结果:CF灯不亮
四.实验体会
通过本次课程设计深入理 解了计算机微机程序控制器的功能。组成知识,深
入的学习计算机各类典型的执行流程,对指令的格式, 寻址方式,指令系统,指
令分类等建立具体的总体概念。学习了微程序控制器的设计过程和相关技术,通
过看懂教学计算机中已经设计好并正常运行的数条基本指令等功能,格式和执行
流程,自己设计 实现了扩展指令。在实验中提高了自己的动手能力和分析解决问
题的能力。最后感谢老师的耐心指导。

2010年考研英语真题-竞聘演讲


中考半命题作文-封顶条幅


火炬职业技术学院-安全生产责任书


法国留学条件-实习单位鉴定


回家的欲望剧情介绍-雨说教学设计


礼记全文-顶岗实习周记


淮阴工学院教务系统-背影网


山西能源学院-石家庄专科学校排名