实验环境
Dais−CMX16+
实验内容
- 第一次实验
- 手动实验环境
- 十六位机运算器实验
- 第二次实验
- 通用寄存器实验
- 准双向I/O口实验
- 地址总线组成实验
- 第三次实验
- 十六位数据总线实验
- 存储器读写实验
- 指令总线运用实验
- 第四次实验
- 微控制器实验
内容详细
手动控制实验环境
所谓手动控制,就是用二进制拨动开关模拟微控制信号,以手动方式设置相互关联的逻辑控制电位,建立“源与目”的有效状态,实现和完成实验制定的控制任务。
实验目的
在 Dais−CMX16+
本次实验采用“搭接”方式,一方面可以让我们了解实验箱“在线”态内部一些线路,另一方面也是让我们动手体验一次实验连接环节与实验拆除环节。
十六位机运算器实验
实验目的
掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制组合功能。
实验原理
通过准双向I/O输入输出端口给出参与运算的数据,两个运算寄存器 AX,BX 与 ALU 相连,给出相应的功能编码,然后经过 ALU 运算后输出到 FUN
实验过程
- 总线源编码选择 IOR ,打开字写功能,通过 I/O 单元向累加器 AX 与暂存器 BX
- 总线源编码选择 ALU ,通过 M、S2、S1、S0
- FUN
运算器功能编码
算数运算
M | S2 | S1 | S0 | 功能 |
0 | 0 | 0 | 0 | A+B+C |
0 | 0 | 0 | 1 | A−B−C |
0 | 0 | 1 | 0 | RLC |
0 | 0 | 1 | 1 | RRC |
0 | 1 | 0 | 0 | A+B |
0 | 1 | 0 | 1 | A−B |
0 | 1 | 1 | 0 | RL |
0 | 1 | 1 | 1 | RR |
逻辑运算
M | S2 | S1 | S0 | 功能 |
1 | 0 | 0 | 0 | B |
1 | 0 | 0 | 1 | /A |
1 | 0 | 1 | 0 | A−1 |
1 | 0 | 1 | 1 | A=0 |
1 | 1 | 0 | 0 | A#B |
1 | 1 | 0 | 1 | A&B |
1 | 1 | 1 | 0 | A+1 |
1 | 1 | 1 | 1 | A |
通用寄存器实验
寄存器组写操作
目的寄存器写编码
目标使能 | 通用寄存器目标编址 | ||||
K19...K17 | IR | K16 | K6 | 功能说明 | |
o2...o0 | IR1 | OP | W | T4 | |
0 | 0 | 0 | ↑ | CX字写 | |
0 | 0 | 1 | ↑ | CL偶字节写 | |
000 | 0 | 1 | X | ↑ | CH奇字节写 |
1 | 0 | 0 | ↑ | DX字写 | |
1 | 0 | 1 | ↑ | DL偶字节写 | |
1 | 1 | X | ↑ | DH奇字节写 |
寄存器组写入
K21 (MWR)
K16 (OP)
K2 (LDIR)
- 首先打开总线编码的IOR功能(利用 K6 (M)
- CX地址:00
- DX地址:02
- LDIR与MWR置为0
- 打入CX或DX地址到IR指令寄存器中
- 关闭LDIR与MWR
- K19...K17=000
- 写入数据
其中,我们可以利用 K6(W)
寄存器组读操作
源寄存器读编码
源编码 | 通用寄存器源地址 | |||
K10...K8 | IR | K7 | K6 | 功能说明 |
X2...X0 | IR1 | XP | W | |
0 | 0 | 0 | CX字读 | |
0 | 0 | 1 | CL偶字节读 | |
001 | 0 | 1 | X | CH奇字节读 |
1 | 0 | 0 | DX字读 | |
1 | 0 | 1 | DL偶字节读 | |
1 | 1 | X | DH奇字节读 |
寄存器组读取
- 打开总线编码IOR功能
- LDIR、MWR、OP置0,IR可写
- 打入CX或DX地址到IR,以便于读取
- 关闭LDIR与MWR
- 总线功能选择RRD ( K10...K6=001 )在寄存器组读取过程中,我们可以通过改变 K6 来控制是字读操作还是字节读操作,如果处于字节操作中,利用 K7
问题
- 打入IR指令寄存器的CX与DX地址00与02是否是在出厂时规定好的数据
- 如果打入的地址是其他数据为什么也可以选择到CX寄存器
准双向I/O口实验
I/O写操作
数据来源FUN
K10...K6=11000 其中 K10...K8=110
K7...K6=00 即 XP=0 与 W=0
AX取反送数据总线
K15...K11=11001
K15=1
K13...K11=001 即 S2...S0=001 进行的逻辑运算为 ¬A
IO写选通
K19...K16=0100
K19
K18
K17
K16
I/O读操作
- 总线源编码 K10...K8=100
- W=0 P=0
- K19...K16=1010
- 关闭写选通,总线编码选择ALU,并使ALU输出BX的值( M=1 S2...S0=000
有关I/O字节读写操作
I/O口的写操作只能在当前状态为全F时写入,因为输入和输出同时只能有一个有效,或者另一种方法是I/O口高八位输出,低八位输入,相反也可行。
地址总线组成实验
程序计数器实验
操作对象:PC
目标部件定义 | 节拍 | 功能说明 | |
E/M | IP | T3上升沿打入 | T3上升沿打入 |
1 | 1 | X | PC保持 |
1 | 0 | ↑ | PC加1 |
0 | 0 | ↑ | PC装载 |
实验流程
- 打开IOR功能,IO字写
- 打开 LDPC(K22)
- 打开 E/M(K23)
- 置数并给一个上升沿打入
- 总线编码 X2...X0=000
地址寄存器与堆栈寄存器实验
操作对象:AR或SP
实验流程
- 打开IOR功能,IO字写
- 地址寄存器:目的编码选择MAR,偶寻址
- 堆栈寄存器:目的编码选择SP,偶寻址
- 置数并给其一个上升沿打入
十六位数据总线实验
实验原理
字与字节体系
系统总线宽度为十六位,通过 W 来控制字长, W=0 16位字操作, W=1
源奇偶的运用
在字节传递中由于总线的互通,形成“奇送偶”或“偶送奇”的八位字节总线,其使能端定义为低电平选通,逻辑表达式为:
G(偶字节)=!W(字长)#XP(源奇偶)
G(奇字节)=!XP(源奇偶)
目的奇偶的运用
在目的寻址中亦由字长控位“ W
!O(偶字节)=!OP(目的奇偶)
!O(奇字节)=!W(字长)#OP(目的奇偶)
数据传递规则
系统在十六位原理计算机的字节操作中运用总线互联机制,以原址的奇偶性形成“奇递偶”或“偶递奇”两者互通的八位字节总线,具体可通过 W、XP、OP
实验步骤
- 总线编码选择 IOR ,并打开 I/O
- 通过 W、XP、OP
- 置数,并给一个时钟沿将数据写入寄存器
- 对比置数内容与寄存器内容,得出结论
存储器读写实验
实验目的
熟悉和了解存储器组织与总线组成的数据通路。
实验原理
实验所用设备存储器组织由二片6116构成具有奇偶概念的十六位信息存储体系,该存储体系AddBus由IP指针和AR指针分时提供,E/M控位为“1”时选通IP,反之选通AR。
实验内容
数据存储器字写
- 利用 I/O
- 打开存储器写时可将数据写入存储器 EM
数据段读操作
- 利用 I/O 端口为 AR
- 从存储器读数据到总线 (RAM -> 总线)
指令总线运用实验
实现目的
- 熟悉和了解指令总线的数据通路与构成途径
- 掌握指令部件的“取指”规则及地址段运用技巧
实验原理
在取指操作中指令信息由主存流向指令寄存器 IR 和指令译码器 ID ,若取操作数亦可经三态门流向数据总线,指令总线(IBUS)也是主存及 IR
实验项目
- 指令寄存器IR
- 指令编译器ID
- 操作码定长控制
IR | Idz | 操作码长度 | 操作码位置 | 说明 |
0 | 1 | 8位(字节) | IR7~IR0 | 通用编码 |
0 | 0 | 4位(半字节) | IR7~IR4 | 定长编码 |
- 指令寄存器操作方法
- 取指操作
IR | MWR | T2 | T4 | 功能说明 |
0 | 1 | ↑ | - | 打操作码 |
0 | 1 | - | ↑ | 打操作数 |
0 | 0 | - | ↑ | DBUS→IR |
- 写操作
IR | MWR | OP | W | 功能说明 |
0 | 0 | 0 | 0 | IR字写 |
0 | 0 | 0 | 1 | IRL偶字节读 |
0 | 0 | 1 | X | IRH奇字节读 |
微控制实验
实验目的
- 熟悉微控制器的控制原理
- 掌握微控制器的实现方法
微程序控制器
微程序控制器组成结构
- 控制存储器 CM
- 微程序计数器 μPC
微程序执行过程
- 启动取指微指令或微程序,根据程序计数器PC所提供的指令地址,从EM主存中取出所要执行的机器指令,送入指令寄存器IR、指令译码器ID中,并且完成PC+1,指向机器指令的下址单元。
- 根据ID译码器中的指令码,把微地址形成电路产生的机器指令起始微地址打入μPC。
- 从μPC所指定的CM控制存储器单元分时输出微操作控制字段与下续微地址控制字段。
- 微指令的操作控制字段经译码或直接产生一组微指令,控制有关功能部件完成微程序所规定的微操作。
- 微指令的下址段及当前PSW、INQ等标志送往微地址形成电路,产生下条微指令的地址,进入读取与执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。
微指令格式及编码
本系统采用字段直接编码法,把微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。
控制器特约定义
零微址单元格式
下址段 | 微指令控制段 |
FF FF | FF FF FF |
总结
平时我们所能见到的都是计算机的外部结构,而在计算机组成原理的学习中,让我们逐步对计算机的内部结构有了一些了解,课本上的内容始终都停留在理论部分,而在这几次的实验课程中,我们动手研究去验证书上的内容,同时也对运算器、存储器、控制器以及I/O端口等各个系统内部结构有了很深的了解。
虽然照着实验指导书上可以完成相关的操作,并且根据前面的内容与注释可以看懂当前操作的目的,但是在整个设备中还有好多好多没有接触到的部分,现在只是学到了局部的一些概念,想要哪天去完成一件完整的有意义的设计还需要很长时间去学习!