【上海大学计算机组成原理实验报告】四、指令系统实验

本文主要是介绍【上海大学计算机组成原理实验报告】四、指令系统实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、实验目的

  1. 了解指令结构、PC寄存器的功能和指令系统的基本工作原理。

  2. 学习设计指令的方法。

二、实验原理

  1. 根据实验指导书的相关内容,对于部分使用频率很高,且只用几条微指令即可完成的简单操作,可以把这部分简单操作的微指令序列固定下来,存放在一个快速存储器中。之后我们就可以用不同的指令来调用不同的微程序,以达到完成不同指令的功能。

  2. 本实验所用的实验箱的指令系统中,每条指令均由4条微指令组成。当实际需要的微指令数量不足4条时,可用无效微指令FFFFFFH补足,但最后一条有效微指令一定是CBFFFFH微指令,表示本条指令执行完毕,取下一条指令。

  3. 指令系统的工作原理: 

    1. 指令获取:从存储器中获取下一条指令,通过地址总线传递给存储器。

    2. 指令解码:将获取的指令二进制通过指令总线传递给微程序计数器,高6位作为微程序入口地址,低2位分别作为SASB

    3. 微程序执行:根据微程序入口地址访问微程序存储器,将控制信号输出到控制总线,执行当前微指令功能。uPC1,输出下一条微指令,重复执行,直到“取下一条指令”微指令。

    4. 取下一条指令:PC1,开始执行下一条指令。

三、实验内容

实验任务一:分析并验证指令功能

观察机器指令码为66H的各微指令信号,验证该指令的功能。假设A=03HR2=77H77地址单元存放06H数据。

实验任务二:设计指令,完成相应功能

修改机器指令码为E8H的功能,使其完成“输出A+W的结果右移一位的值送OUT输出”操作。

**注意:**两个任务连起来做。

(1) 实验步骤

  1. 注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。

  2. 按Reset键初始化系统,并设置实验箱进入EM模式。设置Adr=00,按下NX,设置DB=66;而后按下NX,设置DB=E8;最后设置Adr=77,按下NX,设置DB=06

  3. 设置实验箱进入uEM模式。设置Adr=E8,按下NX,设置E8=FF DE B8H;而后按下NX,设置E9=CB FF FFH;最后按相同的方式将EAEB设置为FF FF FFH

  4. 设置实验箱进入uPC模式。设置uPC=00PC=00A=03;按NX三次,设置R2=77,按下STEP键,观察实验结果。

  5. 记录实验结果,关闭实验箱电源。

(2) 实验现象

  1. 第一次按下STEP键时,发现uPC显示64PC显示01

  2. 第二次按下STEP键时,发现uPc显示65MAR显示77

  3. 第三次按下STEP键时,发现uPC显示66W显示06

  4. 第四次按下STEP键时,发现uPC显示67A显示07

  5. 第五次按下STEP键时,发现uPC显示E8

  6. 第六次按下STEP键时,发现uPC显示E9OUT显示06

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3)实验结论

  1. 由第二次按下STEP键发现MAR显示77,可知指令码为66H的含义是将R2寄存器中的内容读出并写入MAR寄存器。

  2. 通过一系列正确的设计,我们成功地完成了“输出A+W的结果右移一位的值送OUT输出”操作功能的实现。

四、建议

  1. 在分析66H处的指令时,可以将其与例子中的指令进行比较观察在二进制格式下有哪些位不同。

  2. 在编制指令时,要确定好“A+W”运算、“右移一位”和“送OUT”输出分别对应微指令在二进制格式下的哪些位置。

五、体会

通过此次实验,加深了我对计算机体系结构中PC寄存器和指令系统的理解,同时也让我学会了如何设计指令,还让我能将理论知识应用到实际情景中,为进行下一次实验打下了扎实基础。

六、思考题

在微指令结构的计算机中,一条指令从启动到产生功能经过哪些环节?

  1. 指令获取。

  2. 指令解码。

  3. 微指令执行。

  4. uPC更新。

  5. 取下一条指令。

这篇关于【上海大学计算机组成原理实验报告】四、指令系统实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.