【计算机组成原理】-指令系统

🎵1.指令的发展

🌈1.1基础概念

  • 计算机的程序是由一系列的机器指令组成的指令就是要计算机执行某种操作的命令
  • 从计算机的层次结构来说,有微指令,机器指令和宏指令之分。微程序中用到微指令,属于硬件,而宏指令是若干条机器指令组成的软件指令,属于软件。机器指令介于二者间,通常简称指令。
  • 每一条指令可完成一独立的算术运算和逻辑运算操作。

1.2🌈CISC到RISC

CISC叫做复杂指令集系统计算机,因为当时的计算机指令系统多达几百条,如此庞大的指令系统不但使计算机的研制周期变长,而且采用了大量使用频率很低而且复杂指令而造成硬件资源浪费。后来又设计了精简指令系统计算机RISC。

  • 出现从CISC(Complex Instruction Set Computer,复杂指令集计算机)到RISC(Reduced Instruction Set Computer,精简指令集计算机)的转变(课本问题主要是为了提高计算机的性能和效率,并简化计算机体系结构的设计和实现。

以下是一些主要原因和动机:

  1. 简化指令集:CISC体系结构中的指令集非常复杂,涵盖了大量的指令和复杂的地址模式。这样的复杂性导致了设计、实现和调试的困难,同时也增加了指令的执行时间和资源消耗。相比之下,RISC体系结构采用了更加简化和统一的指令集,减少了指令的种类和复杂性,使得指令的解码和执行更加高效。

  2. 提高指令执行速度:CISC体系结构中的指令通常具有不同的执行时间,导致部分指令执行较慢,影响了整体的性能。而RISC体系结构的指令执行时间相对均匀,使得指令的执行更加预测性和高效,从而提高了计算机的性能。

  3. 硬件优化:CISC体系结构中的复杂指令需要更多的硬件资源和逻辑电路来实现,增加了设计和制造的成本。相比之下,RISC体系结构采用了简化的指令集,可以更好地利用硬件资源,提供更高的性能和效率。

 🎵2.指令格式

当控制器从主存储器中获取指令后,它会解析指令的信息字段(操作码和操作数字段),并生成相应的控制信号。这些控制信号会被发送给运算器和其他功能部件,以指示它们执行特定的操作。

那控制器是如何解析指令的?或者它是怎么知道指令的那一部分代表什么含义?所以就需要规定一下指令的格式。

  • 机器指令是机器字来表示的。表示一条指令的机器字,叫做指令字,简称指令。

🌈 2.1操作码

 设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码表示该指令进行什么性质的操作:加法,乘法等。

不同的指令用操作码字段的不同编码表示,每一种编码表示一种指令。

CPU中有专门的电路来解释每一个操作码,因此机器就能执行操作码表示的操作。

对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。

 

 🌈2.2地址码

地址码(Addressing Mode)是指令集架构中用于指定操作数地址或操作数本身的编码方式。它决定了计算机在执行指令时如何获取操作数的位置或值。

🍄地址指令 

根据一条指令中有几个操作数地址可以将改指令称为几地址指令。一般包括(零地址,一地址,二地址,三地址指令)

 一定注意:地址码A1中存放的是操作数的地址不是操作数本身,这里的操作数可不是操作码,这个一会我介绍一下二者。

 

🍄操作数和操作码的区别

  1. 名字不一样 
  2. 定义和作用:操作码是指令中的一部分,用于表示指令的操作类型或功能。它指定了计算机执行的具体操作,例如算术运算、逻辑运算、数据传输等。操作码决定了计算机在执行指令时要执行的操作类型。操作数则是用于进行操作的数据或值,它是指令操作的输入或输出。

  3. 功能:操作码决定了指令的操作类型,而操作数则提供了操作所需的数据或值。操作码告诉计算机要执行的操作,操作数提供了操作所需的具体数据。例如,一个加法指令的操作码表示加法操作,而操作数可以是要相加的两个数。

就是说操作码告诉设备你该干什么操作:加减乘除哪一种,而操作数就例如加数,被除数啊这类的。

 🌈2.3扩展操作码

(了解一下,我们考试考,书上没有)

  1. 在传统的固定长度操作码中,每个指令都有固定的位数分配给操作码,例如8位或16位。但是,在某些指令集架构中,为了提供更灵活的指令编码和更多的操作命令,可以采用变长操作码的方式。
  2. 在变长操作码中,不同指令的操作码字段可以具有不同的位数。这样可以根据实际需求动态地分配更多或更少的位数给不同的指令。

 学过计算机网络没,IP地址不是由网络号+主机号吗?一般扩展网络号就是把主机号的一部分地方给网络号,这个跟他相似。

注意,机器字长固定,而操作码数不固定,不要搞错。 

 

 

 

🐠对比 

 🐠总结:

 

 🎵3.指令和数据数据的寻址方式

寻址包括指令寻址数据寻址两大类。

  • 指令寻址:确定下一条要执行指令地址。
  • 数据寻址:确定本条指令的操作数地址。

🌈3.1指令寻址

  •  指令寻址是确定下一条要执行指令的地址。
  • 在计算机中,指令寻址是通过指令指针(Instruction Pointer)或程序计数器(Program Counter,PC)来实现的。指令指针或程序计数器是一个特殊的寄存器,它存储着下一条要执行的指令的地址。
  • 包括:顺序寻址和跳跃寻址。
  1. 顺序寻址:顺序寻址是指按照连续的地址顺序依次执行指令的寻址方式。在顺序寻址中,每条指令的地址是前一条指令的地址加上固定的偏移量(通常是指令的长度)。

    顺序寻址适用于按顺序执行的程序,其中每条指令的地址都可以通过前一条指令的地址计算得到。

  2. 跳跃寻址:跳跃寻址是指通过跳转指令或分支指令在程序中非顺序地跳转到指定的目标地址的寻址方式。跳跃寻址用于改变程序的执行流程,使程序可以根据条件或需要跳转到其他位置执行。

指令寻址比较简单,这里就重点介绍数据数据寻址了。

🌈3.2数据寻址

数据寻址是为了确定本条指令的执行地址。

 🐠1隐含寻址:

🐠2立即寻址

🐠3直接寻址

🐠4间接寻址

🐠5寄存器寻址

🐠6寄存器间接寻址

🐠7偏移寻址

(图没搞到兄弟们,抱歉!) 

🐠8相对寻址

 

🎵4.总结 

🌈4.1小结

🌈4.2本章总结 

 

  1.  一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且影响到系统软件。
  2. 指令格式是指令字用二进制代码表示的结构形式。通常由操作码字段和地址码字段构成。操作码字段表征指令的操作特性与功能,地址码字段知识操作数的地址。目前多用零地址,单地址,二地址混合表示的指令格式。
  3. 形成指令地址的方式,称为指令寻址方式。有顺序寻址跳跃寻址两种。由指令计数器跟踪。
  4. 形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器,通用寄存器,内存和指令中。按操作数的物理位置不同,有RR,RS两种类型。前者比后者执行的速度快。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Fluids —— MicroSolvers DOP

目录 Gas SubStep —— 重复执行对应的子步 Switch Solver —— 切换解算器 Gas Attribute Swap —— 交换、复制或移动几何体属性 Gas Intermittent Solve —— 固定时间间隔计算子解算器 Gas External Forces —— 计算外部力并更新速度或速度场 Gas Particle Separate…

D3121是什么?主要有哪些特点呢?为什么可以应用在车载音响系统上

D3121 是一块对地能动冲放大器集成电路,该电路能有效消除由线 路电阻所引起的问题及噪声。所需外围电容小,便于设计时小型化的同 时可靠性不降低。广泛应用于车载音响系统内。 D3121 系列采用 DIP8 、 SOP8 、 SIP8 的封装形式封装。 主要特点&#…

面试算法115:重建序列

题目 长度为n的数组org是数字1~n的一个排列,seqs是若干序列,请判断数组org是否为可以由seqs重建的唯一序列。重建的序列是指seqs所有序列的最短公共超序列,即seqs中的任意序列都是该序列的子序列。 例如,如果数组org为…

python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)

前言 当你需要统计训练数据中每个类别标签有多少,并且想知道坐标中心分布在图像的位置信息时,你可以利用一下脚本进行计算! 步骤 要绘制热力图来分析VOC数据的分布统计,可以按照以下步骤进行: 数据处理&#xff1…

移动通信系统关键技术多址接入MIMO学习(8)

1.Multiple-antenna Techniques多天线技术MIMO,从SISO到SIMO到MISO到如今的MIMO; 2.SIMO单发多收,分为选择合并、增益合并;SIMO,基站通过两路路径将信号发送到终端,因为终端接收到的两路信号都是来自同一天…

计算机速成课Crash Course - 18. 操作系统

今天继续计算机速成课Crash Course的系列讲解。 更多技术文章,全网首发公众号 “摸鱼IT” 锁定 -上午11点 - ,感谢大家关注、转发、点赞! 计算机速成课Crash Course - 17. 集成电路&摩尔定律 18. 操作系统 1940,1950 年代的电脑&#…

rime中州韵小狼毫 词组注释 滤镜

在rime中州韵小狼毫 联想词组 滤镜一文中,我们通过Filter滤镜功能配置了联想词组的功能,这使得我们在输入一些关键词汇时,可以联想补充一些附加的词组,例如我输入“手机”,就可以联想补充对应的手机号,如下…

Kali Linux —— 漏洞分析工具

Cisco-torch与Global Exploiter专攻Cisco漏洞 一、Cisco 工具 Kali 有许多工具,比如信息收集工具、密码爆破工具等等,还有一些可用于攻击 Cisco 路由器的工具。Cisco-torch就是这样,用于大规模扫描、指纹识别和利用的工具之一。 打开终端控…

关于CAD导入**地球的一些问题讨论

先上示例: 上图是将北京王佐停车场的红线CAD图导入到图新地球效果,如果看官正是需要这样的效果,那么请你继续往下看,全是干货! 在地球中导入CAD图可以做为电子沙盘。对于工程人来说,是极有帮助的。以前一直用谷歌地球,大约在2020年左右,就被和谐了。当时感觉挺可惜的。…

[渗透测试学习] Surveillance -HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.245扫出来两个端口,其中80端口有http服务并且重定向到surveillance.htb 那么我们添加下域名然后访问80端口,发现是企业网站尝试扫描子域名和目录无果后,用Wappalyzer插…

【STM32】HAL库的STOP低功耗模式UART串口唤醒BUG,第一个接收字节出错的问题(尚未解决,疑难杂症)

【STM32】HAL库的STOP低功耗模式UART串口唤醒BUG,第一个接收字节出错的问题(尚未解决,疑难杂症) 文章目录 BUG复现调试代码推测原因及改进方案尝试中断时钟供电外设唤醒方式校验码硬件问题 切换到STOP0模式尝试最终结论和猜想附录…

社区团购配送超市与小程序的共赢之路

对于社区服务来说,搭建一个小程序可以提供更加便捷、高效的服务,提升用户体验。下面我们将详细介绍如何通过乔拓云第三方平台搭建一个社区团购小程序。 首先,你需要打开乔拓云第三方平台,这是一个专门为小程序开发提供的平台。在浏…

戴尔服务器有8条内存条,开机有一条内存条自检提示出错,可以不用管他吗,有影响吗?

环境 戴尔R730 问题描述 戴尔服务器有8条内存条,开机有一条内存条自检提示出错,可以不用管他吗,有影响吗? 提示B1内存有问题 解决方案 不能,有影响,安装系统时卡住在启动节目无法正常安装,…

【PyQt5设计】:自动点击神器 - 解决重复性的点击和输入操作

文章目录 自动点击神器介绍测试窗口介绍自动点击神器的使用教程资源领取注意事项 自动点击神器介绍 本次使用PyQt5设计的【自动点击神器】旨在解决重复性的点击工作,解放双手,具有及时性和准确性,可选择坐标位置或图片两种方式实现鼠标的定位…

【Linux】Linux系统编程——Linux目录结构

Linux的文件系统呈现为一种树状结构,以根目录/为最顶层,其下分布着各种不同的子目录,每个目录都有其特定的用途和功能。下面是Linux目录结构的详细介绍: 1. 根目录 / 根目录是整个文件系统的基础。所有的目录和文件都从这里开始…

亚信安慧AntDB数据库容灾复制原理

AntDB数据库作为通信运营商领域的杰出的数据服务提供者,一直以来都十分重视数据安全问题,不断通过技术进步、方案创新等方式提升数据容灾能力。在信息化的时代,数据已经成为了重要的资源,对于企业来说,如何存储和管理这…

RK3399平台入门到精通系列讲解(驱动篇)eventpoll结构体详解

🚀返回总目录 文章目录 一、eventpoll 结构体二 、epitem 结构体三、eppoll_entry 结构体eventpoll 结构体:eventpoll 结构体是 epoll 在内核中的核心结构epitem 结构体:epitem 结构体用于表示 epoll 实例中的事件项eppoll_entry 结构体:它的作用就是关联Socket等待队列中…

动态规划day03

343. 整数拆分(第二次做还是没弄明白) 力扣题目链接(opens new window) 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: …

植物大战僵尸-C语言搭建童年游戏(easyx)

游戏索引 游戏名称&#xff1a;植物大战僵尸 游戏介绍&#xff1a; 本游戏是在B站博主<程序员Rock>的视频指导下完成 想学的更详细的小伙伴可以移步到<程序员Rock>视频 语言项目&#xff1a;完整版植物大战僵尸&#xff01;可能是B站最好的植物大战僵尸教程了&…

【高等数学之不定积分】

一、什么是不定积分? 我们可以简单地从英文层面来基础剖析一下&#xff0c;什么是不定积分? 1.1、基本概念 小tips: 二、不定积分运算法则 三、常用积分公式 四、第一类换元积分法 4.1、定义 4.2、常用凑微分公式 4.3、小calculate 五、第二类换元积分法 5.1、定义 …