实验环境

Dais−CMX16+


实验内容

  1. 第一次实验
  • 手动实验环境
  • 十六位机运算器实验
  1. 第二次实验
  • 通用寄存器实验
  • 准双向I/O口实验
  • 地址总线组成实验
  1. 第三次实验
  • 十六位数据总线实验
  • 存储器读写实验
  • 指令总线运用实验
  1. 第四次实验
  • 微控制器实验


内容详细

手动控制实验环境

所谓手动控制,就是用二进制拨动开关模拟微控制信号,以手动方式设置相互关联的逻辑控制电位,建立“源与目”的有效状态,实现和完成实验制定的控制任务。

实验目的

在 Dais−CMX16+

本次实验采用“搭接”方式,一方面可以让我们了解实验箱“在线”态内部一些线路,另一方面也是让我们动手体验一次实验连接环节与实验拆除环节。


十六位机运算器实验

实验目的

掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制组合功能。

实验原理

通过准双向I/O输入输出端口给出参与运算的数据,两个运算寄存器 AX,BX 与 ALU 相连,给出相应的功能编码,然后经过 ALU 运算后输出到 FUN

实验过程

  1. 总线源编码选择 IOR ,打开字写功能,通过 I/O 单元向累加器 AX 与暂存器 BX
  2. 总线源编码选择 ALU ,通过 M、S2、S1、S0
  3. 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)

  1. 首先打开总线编码的IOR功能(利用 K6 (M)
  • CX地址:00
  • DX地址:02
  • LDIR与MWR置为0
  1. 打入CX或DX地址到IR指令寄存器中
  2. 关闭LDIR与MWR
  3. K19...K17=000
  4. 写入数据

其中,我们可以利用 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奇字节读


寄存器组读取
  1. 打开总线编码IOR功能
  2. LDIR、MWR、OP置0,IR可写
  3. 打入CX或DX地址到IR,以便于读取
  4. 关闭LDIR与MWR
  5. 总线功能选择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读操作

  1. 总线源编码 K10...K8=100
  2. W=0 P=0
  3. K19...K16=1010
  4. 关闭写选通,总线编码选择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装载

实验流程
  1. 打开IOR功能,IO字写
  2. 打开 LDPC(K22)
  3. 打开 E/M(K23)
  4. 置数并给一个上升沿打入
  5. 总线编码 X2...X0=000

地址寄存器与堆栈寄存器实验

操作对象:AR或SP

实验流程
  1. 打开IOR功能,IO字写
  2. 地址寄存器:目的编码选择MAR,偶寻址
  3. 堆栈寄存器:目的编码选择SP,偶寻址
  4. 置数并给其一个上升沿打入

十六位数据总线实验

实验原理

字与字节体系

系统总线宽度为十六位,通过 W 来控制字长, W=0 16位字操作, W=1

源奇偶的运用

在字节传递中由于总线的互通,形成“奇送偶”或“偶送奇”的八位字节总线,其使能端定义为低电平选通,逻辑表达式为:

G(偶字节)=!W(字长)#XP(源奇偶)

G(奇字节)=!XP(源奇偶)

目的奇偶的运用

在目的寻址中亦由字长控位“ W

!O(偶字节)=!OP(目的奇偶)

!O(奇字节)=!W(字长)#OP(目的奇偶)

数据传递规则

系统在十六位原理计算机的字节操作中运用总线互联机制,以原址的奇偶性形成“奇递偶”或“偶递奇”两者互通的八位字节总线,具体可通过 W、XP、OP

实验步骤

  1. 总线编码选择 IOR ,并打开 I/O
  2. 通过 W、XP、OP
  3. 置数,并给一个时钟沿将数据写入寄存器
  4. 对比置数内容与寄存器内容,得出结论

存储器读写实验

实验目的

熟悉和了解存储器组织与总线组成的数据通路。

实验原理

实验所用设备存储器组织由二片6116构成具有奇偶概念的十六位信息存储体系,该存储体系AddBus由IP指针和AR指针分时提供,E/M控位为“1”时选通IP,反之选通AR。

实验内容

数据存储器字写
  1. 利用 I/O
  2. 打开存储器写时可将数据写入存储器 EM
数据段读操作
  1. 利用 I/O 端口为 AR
  2. 从存储器读数据到总线 (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奇字节读

微控制实验

实验目的

  • 熟悉微控制器的控制原理
  • 掌握微控制器的实现方法

微程序控制器

微程序控制器组成结构
  1. 控制存储器 CM
  2. 微程序计数器 μPC
微程序执行过程
  1. 启动取指微指令或微程序,根据程序计数器PC所提供的指令地址,从EM主存中取出所要执行的机器指令,送入指令寄存器IR、指令译码器ID中,并且完成PC+1,指向机器指令的下址单元。
  2. 根据ID译码器中的指令码,把微地址形成电路产生的机器指令起始微地址打入μPC。
  3. 从μPC所指定的CM控制存储器单元分时输出微操作控制字段与下续微地址控制字段。
  4. 微指令的操作控制字段经译码或直接产生一组微指令,控制有关功能部件完成微程序所规定的微操作。
  5. 微指令的下址段及当前PSW、INQ等标志送往微地址形成电路,产生下条微指令的地址,进入读取与执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。
微指令格式及编码

本系统采用字段直接编码法,把微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。

控制器特约定义

零微址单元格式

下址段

微指令控制段

FF FF

FF FF FF

总结

平时我们所能见到的都是计算机的外部结构,而在计算机组成原理的学习中,让我们逐步对计算机的内部结构有了一些了解,课本上的内容始终都停留在理论部分,而在这几次的实验课程中,我们动手研究去验证书上的内容,同时也对运算器、存储器、控制器以及I/O端口等各个系统内部结构有了很深的了解。

虽然照着实验指导书上可以完成相关的操作,并且根据前面的内容与注释可以看懂当前操作的目的,但是在整个设备中还有好多好多没有接触到的部分,现在只是学到了局部的一些概念,想要哪天去完成一件完整的有意义的设计还需要很长时间去学习!