【机组】微程序控制单元实验的解密与实战

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《机组 | 模块单元实验》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

🌺一、 实验目的

🌼二、 实验内容

🌻三、 实验详情

实验1:微地址打入操作

实验2:微地址+1操作

🍀四、 实验步骤

实验1  微地址打入操作

实验2  微地址+1操作

🌿五、 实验结果

🌷六、 实验体会

📝总结


🌺一、 实验目的

  1. 熟悉微程序控制器的原理;
  2. 熟悉微程序控制单元的构成;
  3. 掌握设置微地址与微指令输出的方法。

🌼二、 实验内容

  1. 微地址打入操作;
  2. 微地址+1操作。

🌻三、 实验详情

实验1:微地址打入操作

● 按启停单元中的停止按键,使实验平台处于停机状态,此时微地址寄存器被清零。

● 按启停单元中的运行按键,使实验平台处于运行状态。此时微程序存储器为读状态,微地址寄存器(74LS161)确定了当前微程序存储器的地址,并且输出24位微操作(M0~M23)。

● 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,把当前微程序存储器输出的微指令打入微指令锁存器。可在右上的微指令指示灯显示出当前微指令,应为11H,11H,11H。

● 置MLD=0,微代码的地址MD0~MD7(对应二进制开关H0~H7)为05H (对应开关如下表)。

H7

H6

H5

H4

H3

H2

H1

H0

H23

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

MLD

0

0

0

0

0

1

0

1

0

● 按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,把MD0~MD7打入74LS161,微地址显示灯MA0~MA7将显示05H,微程序存储器把05H单元的内容输出

● 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿的脉冲,把当前微指令打入微指令锁存器,在右板上的微指令指示灯应显示55H55H55H

注意:微代码由3片74LS374作为微指令锁存器,它的OE端已经接地,只要MOCK端上有上升沿,即可锁存并输出微代码。


实验2:微地址+1操作

● 置MLD=1。

● 按启停单元中的运行按键,使实验平台处于运行状态。

● 按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,微地址寄存器自动加1。若原来微地址寄存器的值为05H,那么当前的微地址显示灯MA0~MA7将显示06H,同时微程序存储器输出06H单元中的内容。

● 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,将微程序存储器的输出的微指令,打入微指令锁存器并输出,在CPT-B板上的微指令指示灯应显示66H,66H,66H。


🍀四、 实验步骤

实验1  微地址打入操作

(1)step1:由于此次实验涉及到使用键盘输入数据,需提前参考第四章掌握键入数据的相关操作流程。在此次实验中,MLD为置微地址的控制信号,MCK为工作脉冲,且当MLD=0、MCK有上升沿,可将MD0-MD7的值作为微程序的地址打入微程序控制器。当MLD=1、MCK有上升沿,微程序计数器自动加1.

控制信号说明如下。

信号名称

作用

有效电平

MCK

微程序工作脉冲

上升沿有效

MOCK

微程序存储器输出工作脉冲

低电平有效

MLD

微地址控制信号

低电平有效

MD0-MD7

微地址选择开关

(2)step2:按停止按钮,机箱停机将CY清零,再按运行键。二进制开关H0至H7作为地址输入,置55H(对应开关如下)。将MD0-MD7、MLD接入二进制开关,MCK、MOCK分别接入脉冲单元上的PLS1与PLS2,详细连接如下.

信号定义

接入开关位号

MCK

PLS1

MOCK

PLS2

MD0

H0

MD1

H1

MD2

H2

MD3

H3

MD4

H4

MD5

H5

MD6

H6

MD7

H7

MLD

H23

将实验箱平台置停机状态,通过键盘键入微程序存储器,在微地址0H中输入11H、11H、11H三个字节,在05H输入55H、55H、55H三个字节,在06H输入66H、66H、66H三个字节.

(3)step3:使实验平台处于运行状态,按下机箱的PLS2脉冲按键,在MOCK产生上升沿,此时微指令指示灯显示当前微指令为11H。

置各数据输入如下.

H7

H6

H5

H4

H3

H2

H1

H0

H23

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

MLD

0

0

0

0

0

1

0

1

0

按下机箱的PLS1脉冲按键,在MCK产生上升沿,此时微指令指示灯显示当前微指令为05H。再次按下机箱的PLS2脉冲按键,在MOCK产生上升沿,此时微指令指示灯显示为55H、55H、55H。


实验2  微地址+1操作

(1)step1:使实验平台处于运行状态使实验平台处于运行状态,置MLD=1。按下机箱的PLS1脉冲按键,在MCK产生上升沿,微指令存储器自动加1,指示灯显示当前微指令为05H+1为06H. 再次按下机箱的PLS2脉冲按键,在MOCK产生上升沿,此时微指令指示灯显示为66H、66H、66H。

置各数据输入如下.

H7

H6

H5

H4

H3

H2

H1

H0

H23

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

MLD

0

0

0

0

0

1

0

1

1


🌿五、 实验结果

实验1 微地址打入操作

键入数据00H

键入数据05H

键入数据06H

实验一显示三个11H

实验一显示三个55H

实验2  微地址+1操作

实验二显示三个66H


🌷六、 实验体会

  1. 熟悉微程序控制器原理:

    • 通过实验操作和结果分析,您成功地熟悉了微程序控制器的原理。
    • 您掌握了微程序控制单元的构成,了解了微地址与微指令输出的设置方法。
  2. 键入数据的挑战与解决:

    • 实验1和实验2涉及键入数据,这在之前的实验中并未涉及,因此您参考第四章花费了较多时间。
    • 在阅读第四章后,您发现可以使用Tap键切换不同的字节,这一发现帮助您迅速解决了键入数据的问题。
  3. 微程序寄存器操作和问题解决:

    • 在进行微程序寄存器的写入操作时,您通过写入方式查看是否写入成功,这是一种有效的方法。
    • 遇到读出方面的问题,您重新实验了三次,确保不是由于粗心导致。尽管其中一个指示灯坏了未显示,但其余灯均显示正确,最终您成功解决了这个问题。

📝总结

计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的💻 计算机组成原理专栏:《机组 | 模块单元实验》,旨在深度探索计算机系统技术的实际应用和创新。🌐💡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/421317.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】1.数据结构绪论

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…

(2)(2.1) Andruav Android Cellular(二)

文章目录 前言 5 Andruav Web Client 6 Andruav Telemetry 7 Andruav高级功能 8 将Andruav与SITL配合使用 9 FAQ 10 术语表 前言 Andruav 是一个基于安卓的互联系统,它将安卓手机作为公司计算机,为你的无人机和遥控车增添先进功能。 5 Andruav W…

(1)C语言中的操作符(运算符):算术操作符(+、-、*、/、%)、赋值操作符(=)、单目操作符(++、--、+、-)介绍

目录 前言 一、算术操作符:、-、*、/、% 1. 和- 2. * 3. / 4. % 二、赋值操作符:和复合赋值 1. 连续赋值 2. 复合赋值符 三、单目操作符:、--、、- 1. (1) 前置 (2) 后置 2. -- (1) 前置-- (2) 后置-- 3. 和- 结语&am…

超级菜鸟怎么学习数据分析?

如果你有python入门基础,在考虑数据分析岗,这篇文章将带你了解:数据分析人才的薪资水平,数据人应该掌握的技术栈。 首先来看看,我在搜索数据分析招聘时,各大厂开出的薪资: 那各大厂在数据领域…

[python]使用pyqt5搭建yolov8钢筋计数一次性钢材计数系统

【官方框架地址】 github地址:https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8是一种先进的深度学习模型,用于目标检测和识别。在钢筋计数任务中,Yolov8可以有效地识别和计数图像中的钢筋。下面是对如何使用Yolov8实现钢筋…

Java多线程并发篇----第二十八篇

系列文章目录 文章目录 系列文章目录前言一、什么是竞争条件?你怎样发现和解决竞争?二、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?三、Java 中你怎样唤醒一个阻塞的线程?四、在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别…

基于springboot+vue的学生宿舍管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)

一、功能特点 支持各种本地视频文件和网络视频文件。支持各种网络视频流,网络摄像头,协议包括rtsp、rtmp、http。支持将本地摄像头设备推流,可指定分辨率和帧率等。支持将本地桌面推流,可指定屏幕区域和帧率等。自动启动流媒体服…

【征服redis15】分布式锁的功能与整体设计方案

目录 1. 分布式锁的概念 2.基于数据库做分布式锁 2.1 基于表主键唯一做分布式锁 2.2 基于表字段版本号做分布式锁 2.3 基于数据库排他锁做分布式锁 3.使用Redis做分布式锁 3.1 redis实现分布式锁的基本原理 3.2 问题一:增加超时机制,防止长期持有…

.NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接

Flurl.Http-3.2.4 升级到 4.0.0 版本后,https请求异常:Call failed. The SSL connection could not be established. 如下图: Flurl.Http-3.2.4版本绕过https的代码,对于 Flurl.Http-4.0.0 版本来说方法不再适用,3.2.…

深度学习基础之数据操作

深度学习中最常用的数据是张量,对张量进行操作是进行深度学习的基础。以下是对张量进行的一些操作: 首先我们需要先导入相关的张量库torch。 元素构造(初始化) 使用arange创造一个行向量,也就是0轴(0维&a…

实现自己的mini-react

实现自己的mini-react 创建运行环境实现最简单mini-react渲染dom封装创建虚拟dom节点封装函数封装render函数对齐react 调用方式使用 jsx 任务调度器&fiber架构封装一个workLoop方法 统一提交&实现 function component统一提交实现支持 function component 进军 vdom 的…