当前位置: 首页 > news >正文

【计算机组成原理】实验二

文章目录

  • 实验二 运算器实验
    • 一、实验目的
    • 二、实验原理
    • 三、运算器功能编码
    • 四、实验内容
      • 任务一 算术运算
      • 任务二 逻辑运算
      • 任务三 移位运算


实验二 运算器实验

一、实验目的

  • 完成算术、逻辑、移位运算实验,熟悉ALU运算类型的控制位运用。
  • 实验仪器:JTHS-A 计算机组成原理同步互动教学系统

二、实验原理

  • 实验中所用的运算器数据通路如图2-4-1所示。
  • ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
    在这里插入图片描述
    图中AX、BX的写控制由O2~O0编码定义,通过按【单拍】钮完成运算源的数据打入。

三、运算器功能编码

  • 表2.4.1 ALU运算器编码表
    在这里插入图片描述

四、实验内容

K23 ~ K0置“0”,灭M23~M0控位显示灯。

任务一 算术运算

1.字算术运算

  • (1)字写操作(置数操作)
    • 通过“I/O单元”二进制开关向寄存器AX和BX置数,操作步骤如下:
      在这里插入图片描述
  • (2)字读操作(运算寄存器AX和BX内容送总线)其中FUN为运算器输出;M为运算控制位:1=算术运算,0=逻辑运算
    在这里插入图片描述
  • (3)字算术运算(不带进位加)
    • 令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AX+BX的结果。
      在这里插入图片描述
    • 令M S2 S1 S0(K15 K13~K11=1010),FUN及总线单元显示AX-BX的结果。
      在这里插入图片描述

2.字节算术运算

  • (1)偶字节写(置数操作)
    • 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,操作步骤如下:
      在这里插入图片描述
  • (2)偶字节读操作(运算寄存器AL和BL内容送总线)
    在这里插入图片描述
  • (3)偶字节减法运算(不带进位加)
    • 令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AL+BL的结果。
      在这里插入图片描述

    • 令M S2 S1 S0(K15 K13~K11=1010),FUN及总线单元显示AL-BL的结果。
      在这里插入图片描述

任务二 逻辑运算

1.字逻辑运算

  • (1)字写操作(置数操作)
    • 拨动“I/O输入输出单元”开关向寄存器AX和BX置数,操作步骤如下:
      在这里插入图片描述
  • (2)字读操作(运算寄存器AX和BX内容送总线)
    在这里插入图片描述
  • (3)字逻辑运算
    • 令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AX逻辑与BX的结果。
      在这里插入图片描述

    • 令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AX逻辑或BX的结果。
      在这里插入图片描述

2.字节逻辑运算

  • (1)偶字节写操作(置数操作)

    • 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,具体操作步骤如下:
      在这里插入图片描述
  • (2)偶字节读操作(运算寄存器AL和BL内容送数据总线)
    在这里插入图片描述

    • ①若运算控制位设为(M S2 S1 S0=0000)则F=AL,即AL内容送到数据总线。
    • ②若运算控制位设为(M S2 S1 S0=0111)则F=BL,即BL内容送到数据总线。
  • (3)偶字节逻辑运算

    • 令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AL逻辑与BL的结果。
      在这里插入图片描述

    • 令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AL逻辑或BL的结果。
      在这里插入图片描述

  • (4)奇字写操作(置数操作)

    • 拨动“I/O输入输出单元”开关向寄存器AH和BH置数,操作步骤如下:
      在这里插入图片描述
  • (5)奇字节读操作(运算寄存器AH和BH内容送总线)

    • 关闭AH、BH写使能,令K17=K18=1,按下流程分别读AH、BH。
      在这里插入图片描述
      • ①若运算控制位设为(M S2 S1 S0=0000)则F=AH,即AH内容送到数据总线。
      • ②若运算控制位设为(M S2 S1 S0=0111)则F=BH,即BH内容送到数据总线。
  • (6)奇字节逻辑运算

    • 令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AH逻辑与BH的结果。
      在这里插入图片描述

    • 令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AH逻辑或BH的结果。
      在这里插入图片描述

任务三 移位运算

  • 本示例以累加器AX为移位的源与目的寄存器,也就是说移位是通过累加器AX实现的,
  • 这种规范的设计理念使我们的运算器能够与通用计算机指令系统相吻合。

1.移位执行过程

在这里插入图片描述

  • 所谓循环移位,就是指移位时数据的首尾相连进行移位,即最高(最低)位的移出位又移入数据的最低(最高)位。
  • 根据循环移位时进位位是否一起参加循环,可将循环移位分为不带进位循环和带进位循环两类。
  • 其中不带进位循环是指进位“CY”的内容不与数据部分一起循环移位,也称小循环。
  • 带进位循环是指进位 “CY”中的内容与数据部分一起循环移位,也称大循环。
    ◆不带进位循环左移:各位按位左移,最高位移入最低位。
    ◆不带进位循环右移:各位按位右移,最低位移入最高位。
    ◆带进位循环左移:各位按位左移,最高位移入C中,C中内容移入最低位。
    ◆带进位循环右:各位按位右移,最低位移入C中,C中内容移入最高位。
  • 循环移位一般用于实现循环式控制、高低字节的互换,还可以用于实现多倍字长数据的算术移位或逻辑移位。

2.移位运算实例

  • ①K23 ~ K0全置“0”,灭M23 ~ M0灯。

  • ②累加器AX置数与移位流程
    在这里插入图片描述

  • ③字移位:完成上流程,按下表改变S2(K13)-S0(K11)的状态,再按【单拍】钮,观察AX的移位变化。
    在这里插入图片描述

  • ④字节移位:完成字移位后,改变字长宽度,令W(K6)=0,然后根据下表设置S2(K13)、S0(K11)的电位,再按【单拍】钮,AX进入字节移位状态,观察AL的移位变化。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述


http://www.lryc.cn/news/69812.html

相关文章:

  • hive数据库hql基础操作02
  • 门电路OD门
  • 没有域名,一个服务器Nginx怎么部署多个前端项目
  • 城市内涝的原因和解决措施,内涝监测预警助力城市防涝度汛
  • 8年测试总结,性能测试问题大全,这些问题你应该认清的...
  • RabbitMQ集群安装
  • 面试:link和@import的区别
  • 图片隐写(一)
  • Vivado 下 IP核 之ROM 读写
  • 朗诵素材-《诵四季诗韵,咏师恩师德》
  • CHB-麻省理工学院头皮脑电图数据库
  • 传输层协议
  • 公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......
  • pytorch rpc如何实现分物理机器的model parallel
  • APP服务端架构的演变
  • EasyRecovery16适用于Windows和Mac的专业硬盘恢复软件
  • 详解Jetpack Compose中的状态管理与使用
  • 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器
  • 第七章 中断
  • 1116 Come on! Let‘s C(38行代码+详细注释)
  • 深入学习《c语言函数》
  • Pytorch从零开始实现Vision Transformer (from scratch)
  • ES6函数新增了哪些扩展?
  • 【firewalld防火墙】
  • CNNs: ZFNet之CNN的可视化网络介绍
  • 云原生之深入解析Airbnb的动态Kubernetes集群扩缩容
  • Django框架之模板其他补充
  • 安装Maven 3.6.1:图文详细教程(适用于Windows系统)
  • 计算机图形学 | 实验八:Phong模型
  • 第三十一回:GestureDetector Widget