小坏蛋_千千

I was caught in a heavy rain!

计算机组成原理 - 实验报告

实验环境

DaisCMX16+


实验内容

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


内容详细

手动控制实验环境

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

实验目的

DaisCMX16+ 手控态提供“在线”与“搭接”两种实验方式,“在线”态其内部线路已按规范连接,“搭接”态则可忽略微控制器组成环节,自定义和连接单元部件与关联电路。

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


十六位机运算器实验

实验目的

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

实验原理

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

实验过程

  1. 总线源编码选择 IOR ,打开字写功能,通过 I/O 单元向累加器 AX 与暂存器 BX 置数。
  2. 总线源编码选择 ALU ,通过 MS2S1S0 选择相应的逻辑运算或算数运算。
  3. FUN 即为运算结果。

运算器功能编码

算数运算

M S2 S1 S0 功能
0 0 0 0 A+B+C
0 0 0 1 ABC
0 0 1 0 RLC
0 0 1 1 RRC
0 1 0 0 A+B
0 1 0 1 AB
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 A1
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) EM程序存储器写使能

K16 (OP) 目标部件奇偶标志

K2 (LDIR) IR指令寄存器写使能

  1. 首先打开总线编码的IOR功能(利用 K6 (M) 确定总线字长)

    • CX地址:00
    • DX地址:02
    • LDIR与MWR置为0
  2. 打入CX或DX地址到IR指令寄存器中
  3. 关闭LDIR与MWR
  4. K19...K17=000 为CX字写操作
  5. 写入数据

其中,我们可以利用 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 可选择CL 与 CH,从而可以分别传输寄存器高位与地位内容到总线中。


问题

  • 打入IR指令寄存器的CX与DX地址00与02是否是在出厂时规定好的数据
  • 如果打入的地址是其他数据为什么也可以选择到CX寄存器


准双向I/O口实验

I/O写操作

数据来源FUN

K10...K6=11000 其中 K10...K8=110 指总线选择ALU

K7...K6=00XP=0W=0 打开IO字写操作


AX取反送数据总线

K15...K11=11001

K15=1 ALU进行逻辑运算

K13...K11=001S2...S0=001 进行的逻辑运算为 ¬A


IO写选通

K19...K16=0100

K19 RXW(寄存器写使能)

K18 DI(目标寄存器编址)

K17 IOW(I/O写使能)

K16 目的奇偶位


I/O读操作

  1. 总线源编码 K10...K8=100 选择IOR功能
  2. W=0 P=0 IO字写
  3. K19...K16=1010 BX写选通并打入一条数据到BX
  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) PC程序计数器更新位
  3. 打开 E/M(K23) 当IP有效时,E/M:0=PC装载,1=PC加1
  4. 置数并给一个上升沿打入
  5. 总线编码 X2...X0=000 选择PC,DBUS即为PC的值


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

操作对象:AR或SP


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


十六位数据总线实验

实验原理

字与字节体系

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

源奇偶的运用

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

G()=!W()#XP()

G()=!XP()

目的奇偶的运用

在目的寻址中亦由字长控位“ W ”与目的地址的奇偶性动态定义当前目的字长,其逻辑表达式为:

!O()=!OP()

!O()=!W()#OP()

数据传递规则

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


实验步骤

  1. 总线编码选择 IOR ,并打开 I/O 口字写功能
  2. 通过 WXPOP 调整为想要实现的操作。
  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 - DBUSIR
    • 写操作
    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端口等各个系统内部结构有了很深的了解。

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

阅读更多
版权声明:------------------- 这是千千的个人网站哦! https://www.dreamwings.cn ------------------- https://blog.csdn.net/qq_28954601/article/details/53556187
文章标签: 计算机
个人分类: 其他
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭