实验(四):指令部件实验

一、实验内容与目的

        实验要求:

        利用CP226实验仪上的小键盘将程序输入主存储器EM,通过指令的执行实现微程序控制器的程序控制。

        实验目的:

1.掌握模型机的操作码测试过程;

2.掌握模型机微程序控制器的基本结构以及程序控制的基本原理。

二、实验步骤

一条机器指令有一个微程序解释执行,一个微程序有若干条微指令构成。每条指令的操作码OP就是微程序第一条微指令在控制存储器uM的微地址,通过操作码找到第一条微指令地址的过程称为操作码测试或P1测试。微程序的多条微指令在控制存储器uM的组织方式可以是链表式(下一条微指令的微地址由当前微指令的顺序控制部分决定),也可以是顺序式(下一条微指令的微地址是当前微指令的微地址加1产生)。

模型机的操作码测试规则如下:

指令的六位操作码 OP,低位补加两个零构成八位微地址作为微程序第一条微指令的微地址。

指令 MOV A, #12H 的操作码OP=011111B,低位补加00B,解释执行该机器指令的第一条微指令的微地址是01111100B,即7CH。该微指令在控制存储器的7CH单元。

模型机的微程序组织方式是顺序式。

实验程序段:

MOV	A, #12H
MOV	A, R1
MOV	A,@R2
MOV	A, 10H
IN  A,SW
OUT	LED,A

将该程序转换为机器码写入主存储器 EM。

2.1 微地址实验

下面以第一条指令为例说明微地址的形成方式。

指令MOV  A, #12H 开始执行的第1条微指令一定是取指令的微指令,由于所有指令取指令的微指令都一样,所以取指令的微指令作为公共操作放在控制存储器的00H单元。

解释执行指令MOV       A, #12H 的第一条微指令的微地址是7CH。

执行完指令MOV    A, #12H 需要取下一条指令,第二条微指令是取值的微指令,微地址是7DH。

标明微地址的指令周期图如下所示。指令周期图的一个方块是一个机器周期(一次STEP 按键操作),对应一条微指令,方框上面的数字就是微地址,波浪号是取指公操作。

将指令地址 PC 和微指令地址 uPC 置为 00H,如果不是可以通过小键盘输入改写,按下 STEP 按键,观察 uPC 值得变化。 

2.2 微指令实验

模型机的微程序组织方式是顺序式,微指令只有 24 位操作控制字段,没有顺序字段,微指令格式如下:

X

R

D

E

M

W

R

E

M

W

P

C

O

E

E

M

E

N

I

R

E

N

E

I

N

T

E

L

P

M

A

R

E

N

M

A

R

O

E

O

U

T

E

N

S

T

E

N

R

R

D

R

W

D

C

N

F

E

N

X

2

X

1

X

0

W

E

N

A

E

N

S

2

S

1

S

0

24 个操作控制位是 3 个字节,最高 8 位称为微指令的高字节,简写为 MH;中间 8 位称为微指令的中字节,简写为 MM;最低 8 位称为微指令的低字节,简写为 ML。

下面以第一条指令为例说明微微程序控制。

指令 MOV A, #12H 开始执行的第 1 条微指令是取指令的微指令,取指的微指令在控存 00H 单元,将 00H 单元的微指令读出,其值为 CBFFFFH,具体操作详见 1.3 的第 5 部分的观察和修改微程序控制器 uM 的内容。

该微指令对应的三个控制位是 EMRD、PCOE、及 IREN 为低,此三位有效,其它所有位都处于无效状态。在程序第一次运行时或复位后,uPC 和 PC 的值都为 0。PCOE 有效将 PC 值送到 ABUS,做为主存储器 EM 的指令地址,同时 PC 加 1;EMRD 信号有效就是从主存储器 EM 中读出程序指令,IREN 将读出的指令送到 IR 寄存器。

此微指令的作用就是:从主存储器 EM[0]的读取指令,并存入 IR 中进行操作码测试,得到微程序入口地址 7CH 来修改 uPC,同时 PC 加 1 为读下一条指令或数据做准备。

将 7CH 单元的微指令读出,其值为 C7FFF7H,对应到各个控制位是 EMRD、PCOE、 EMEN 及 AEN 为低,处于有效状态,其它控制位为无效状态。PCOE 是将 PC 输出到 ABUS 做为主存储器 EM 的地址,同时 PC 加 1;EMRD 就是从程序存储 EM 中读出数据,EMEN 将读出的数据送到 DBUS 总线上,AEN 是将 DBUS 总线上的值存入累加器 A 中。

此微指令的作用就是:从主存储器 EM[1] 的读取数据 12H 送入 A,uPC 加 1,给出下一条微指令的地址,同时 PC 加 1 为读下一条指令或数据做准备。

将 7DH 单元的微指令读出,其值为 CBFFFFH 与 00H 单元微指令作用一样。

三、实验过程分析

3.1 微地址实验

1. 实验过程分析

  • 实验准备:

在开始实验之前,需要将指令地址 PC 和微指令地址 uPC 设置为 00H,以确保模型机处于初始状态。这样,我们可以从第一条微指令开始执行,并观察微地址的变化。

  • 第一条指令 MOV A, #12H:

根据给定的程序段,第一条指令是将立即数 12H 存储到寄存器 A 中。根据转换得到的机器码(0111 1100),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取指令的微指令,微地址为 7CH。

  • 第二条指令 MOV A, R1:

根据给定的程序段,第二条指令是将寄存器 R1 的值存储到寄存器 A 中。根据转换得到的机器码(0111 0001),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取值的微指令,微地址为 71H。

  • 第三条指令 MOV A, @R2:

根据给定的程序段,第三条指令是将寄存器 R2 指向的内存单元的值存储到寄存器 A 中。根据转换得到的机器码(0111 0110),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取值的微指令,微地址为 76H。

  • 第四条指令 MOV A, 10H:

根据给定的程序段,第四条指令是将立即数 10H 存储到寄存器 A 中。根据转换得到的机器码(0111 1000),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取值的微指令,微地址为 78H。

  • 第五条指令 IN A, SW:

根据给定的程序段,第五条指令是将开关 SW 的值输入到寄存器 A 中。根据转换得到的机器码(1100 0000),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取值的微指令,微地址为 C0H。

  • 第六条指令 OUT LED, A:

根据给定的程序段,第六条指令是将寄存器 A 的值输出到 LED 灯。根据转换得到的机器码(1100 0100),将该机器码写入主存储器 EM 的相应地址单元。按下 STEP 按键后,模型机执行取值的微指令,微地址为 C4H。

通过按下 STEP 按键,我们可以观察到微地址在每个指令周期(一次按键操作)中的变化。微地址的变化对应着不同的微指令的执行,通过控制存储器中存储的微指令,模型机可以按照特定的顺序执行指令,并完成相应的操作。

2. 补全指令流程图中的微地址

 

3.2 微指令实验

实验过程分析:

  • 第一条指令:MOV A, #12H

微地址 7CH:将立即数 12H 送入累加器 A

EMRD、PCOE、EMEN、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

从主存储器 EM 中读取数据 12H,将数据存入累加器 A

1 第一条指令的微程序

  • 第二条指令:MOV A, R1

微地址 70H:将寄存器 R1 的值送入累加器 A

EMRD、PCOE、EMEN、REN、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

从主存储器 EM 中读取寄存器 R1 的值,将值存入累加器 A

2 第二条指令的微程序

  • 第三条指令:MOV A, @R2

微地址 74H:将间址存储器 R2 的值送入累加器 A

EMRD、PCOE、EMEN、MA、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

从主存储器 EM 中读取间址存储器 R2 的值,将值存入累加器 A

3 第三条指令的微程序

  • 第四条指令:MOV A, 10H

微地址 78H:将立即数 10H 送入累加器 A

EMRD、PCOE、EMEN、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

从主存储器 EM 中读取数据 10H,将数据存入累加器 A

4 第四条指令的微程序

  • 第五条指令:IN A, SW

微地址 C0H:将开关 SW 的值输入到累加器 A

EMRD、PCOE、INEN、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

从主存储器 EM 中读取开关 SW 的值,将值存入累加器 A

5 第五条指令的微程序

  • 第六条指令:OUT LED, A

微地址 C4H:将累加器 A 的值输出到 LED

EMRD、PCOE、OUTEN、AEN 有效,其余控制位无效

将 PC 的值送到 ABUS,作为主存储器 EM 的地址,同时 PC 加 1

将累加器 A 的值输出到 LED

图6 第六条指令的微程序

四、实验总结

本次实验旨在通过实践,掌握模型机的程序控制方式以及微程序控制器的基本结构和原理。实验一主要针对微地址的形成方式进行了实验,而实验二则重点在于微指令的执行和控制过程。通过对实验一和实验二的进行分析和实验操作,我们对模型机的程序控制有了更深入的了解。

实验一中,我们使用了给定的程序段,并将其转换为机器码写入主存储器 EM。通过将指令转换为机器码,我们能够更好地理解指令在计算机中的表示方式和存储方式。在实验过程中,我们首先设置微地址为00H,并通过按下STEP按键,观察uPC值的变化。实验结果表明,uPC值根据指令的执行逐步递增,说明微程序控制器按顺序执行微指令。通过这一实验,我们深入了解了微地址的形成方式以及微程序控制的基本原理。

实验二则更加注重微指令的执行和控制过程。我们根据实验中给定的微指令格式,以第一条指令为例,详细分析了微指令的控制位和对应的操作。通过对微指令的解析,我们了解到微指令中的每个控制位都对应着不同的控制信号,控制着计算机的各个部件的工作状态。实验过程中,我们根据微指令的地址,逐步执行微指令,并观察各个控制信号的状态变化。这样的实验设计使我们更加直观地了解了微指令的执行流程和控制机制。

通过本次实验,我们对模型机的程序控制方式有了更深入的了解。我们掌握了指令的机器码表示和存储方式,了解了微地址的形成方式以及微程序控制器的基本结构和原理。我们通过实验操作,观察了微指令的执行过程,并分析了不同控制位对计算机各部件的控制作用。这些实验帮助我们更好地理解了计算机的工作原理和程序执行的过程。

通过本次实验,我们还加深了对计算机体系结构的认识。我们理解了指令的执行过程是通过微程序控制器来实现的,微指令控制着计算机的各个部件的工作状态,从而完成指令的执行。我们意识到微程序控制器在计算机体系结构中的重要性,它为计算机提供了灵活的指令执行方式和可扩展的控制功能。

总而言之,我们在实践中深入了解了模型机的程序控制方式和微程序控制器的工作原理。我们通过对实验一和实验二的分析和操作,掌握了指令的机器码表示、微地址的形成方式以及微指令的执行和控制过程。这些实验对于我们加深对计算机体系结构的理解和掌握计算机的程序控制技术具有重要意义。通过实验,我们提高了对计算机工作原理的认识和理解,为今后的学习和研究打下了坚实的基础。

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

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

相关文章

界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)

DevExpress WPF Diagram(流程图)控件帮助用户完美复制Microsoft Visio UI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。 P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至…

pytorch中.to(device) 和.cuda()的区别

在PyTorch中,使用GPU加速可以显著提高模型的训练速度。在将数据传递给GPU之前,需要将其转换为GPU可用的格式。 函数原型如下: def cuda(self: T, device: Optional[Union[int, device]] None) -> T:return self._apply(lambda t: t.cuda…

-bash: ./deploy.sh: /bin/bash^M: bad interpreter: No such file or directory

文章目录 场景解决 场景 jenkins 发布失败, 报错ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]], 这说明远程服务器的deploy.sh执行失败, 首先检查权限,没有发现问题,然后手动执行一遍又报错"-ba…

steamui.dll找不到指定模块,要怎么修复steamui.dll文件

当我们使用Steam进行游戏时,有时可能会面对一些令人无奈的技术问题。一种常见的问题是“找不到指定模块steamui.dll”,这可能是由于缺少文件、文件损坏或软件冲突等原因导致。但别担心,这篇文章将提供几种解决此问题的方法,并针对…

Apache Airflow (十三) :Airflow分布式集群搭建及使用-原因及

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…

线程池[重点]

线程池概述 线程池就是一个可以复用线程的技术。 不使用线程池的问题 :如果用户每发起一个请求,后台就创建一个新线程来处理,下次新任务来了又要创建新线程,而创建新线程的开销是很大的,这样会严重影响系统的性能。 …

第六年到第十年是分水岭

我今年懈怠了,觉得就这样了,看到知乎上有个大神的帖子,深受触动,前五年都差不多,第六年到第十年才是分水岭,是否愿意继续努力,才是关键。拷贝如下: 作者:技术王 来源&…

身为程序员哪一个瞬间让你最奔溃 ?

身为程序员,有时候最让我感到沮丧的瞬间之一是遇到难以追踪和解决的 Bug。这些 Bug 可能出现在我写的代码中,也可能是由于不可预测的外部因素引起的。其中一个让我最奔溃的瞬间是在一个大型项目中,我遇到了一个非常复杂的Bug,这个…

数据可视化加定语

自动化成果数据可视化 资产物料可视化 数据服务可视化 微服务架构的可观测性

uniapp生命周期详解

Uniapp的生命周期可以从以下三方面进行理解: 应用生命周期 应用生命周期是指应用程序从启动到关闭的整个过程,包括应用程序的启动、前后台切换、退出等。Uniapp提供了以下生命周期钩子函数: onLaunch:应用程序启动时触发&#…

Linux--网络概念

1.什么是网络 1.1 如何看待计算机 我们知道,对于计算机来说,计算机是遵循冯诺依曼体系结构的(即把数据从外设移动到内存,再从内存到CPU进行计算,然后返回内存,重新读写到外设中)。这是一台计算机…

HCIP-一、RSTP 特性及安全

一、RSTP 特性及安全 实验拓扑实验需求及解法 实验拓扑 实验需求及解法 //1.SW1/2/3是企业内部交换机,如图所示配置各设备名称。 //2.配置VLAN,需求如下: //1)SW1/2/3创建vlan10 [SW1]vlan batch 10 [SW2]vlan batch 10 [SW3]vla…

【JavaSE】-4-循环结构

循环结构 循环结构是三大流程控制结构的最后一种,相比于顺序结构和分支结构,循环结构略复杂一些。 前面课程中已经说过,循环结构的特点是能够重复的执行某些代码。 循环结构的基本概念: 循环体:重复执行的代码称为循环…

深入理解Java AQS:从原理到源码分析

目录 AQS的设计原理1、队列节点 Node 和 FIFO队列结构2、state 的作用3、公平锁与非公平锁 AQS 源码解析1、Node节点2、acquire(int)3、release(int)4、自旋(Spin)5、公平性与 FIFO 基于AQS实现的几种同步器1、ReentrantLock:可重入独占锁2、…

HugeGraph安装与使用

1、HugeGraph-Server与HugeGraph-Hubble下载 HugeGraph官方地址:https://hugegraph.apache.org/ 环境为:linux 官网是有模块版本对应关系,尽量下载较新版本,hubble1.5.0之前是studio功能比较少。官网已经下架server,其他模块下载也比较慢。可以在网上找…

生成式 AI 落地制造业的关键是什么?亚马逊云科技给出答案

编辑 | 宋慧 出品 | CSDN 云计算 作为实体经济的重要组成部分,制造业一直以来都是国家发展的根本和基础。近年制造业的数字化转型如火如荼,今年爆火的生成式 AI 也正在进入制造业的各类场景。全球的云巨头亚马逊云科技从收购芯片公司自研开始&#xff0…

电力感知边缘计算网关产品设计方案-电力采集

1.电力监控系统网络环境 按照GB/T36572-2018《电力监控系统网络安全防护原则》对电力监测系统要求,电力监控系统具有可靠性、实时性、安全性、分布性、系统性的特性,可以具备防护黑客入侵、旁路控制、完整性破坏、越权操作、无意或故意行为、拦截篡改、非法用户、信息泄露、…

arkTs 零散知识点

基本组件 https://blog.csdn.net/morr_/article/details/128874333 justifyContent 设置子组件主轴上的对齐方式 alignItems 设置子组件交叉轴上的对齐方式 aboutToAppear 是一个被Component组件修饰的自定义租组件的生命周期方法。在创建组件的新实例后,执行…

机器视觉技术在现代汽车制造中的应用

原创 | 文 BFT机器人 机器视觉技术,利用计算机模拟人眼视觉功能,从图像中提取信息以用于检测、测量和控制,已广泛应用于现代工业,特别是汽车制造业。其主要应用包括视觉测量、视觉引导和视觉检测。 01 视觉测量 视觉测量技术用于…