【计算机组成原理】第四章 指令系统

news2024/11/24 16:35:49

系列文章目录

第一章 计算系统概论
第二章 运算方法和运算器
第三章 多层次的存储器
第四章 指令系统
第五章 中央处理器
第六章 总线系统
第七章 外围设备
第八章 输入输出系统


文章目录

  • 系列文章目录
  • 前言
  • 第四章 指令系统
    • 4.1 指令系统的发展与性能要求
      • 4.1.1 指令系统的发展
      • 4.1.2 对指令系统性能的要求
      • 4.1.3 低级语言与硬件结构的关系
    • 4.2 指令格式
      • 4.2.1 操作码
      • 4.2.2 地址码
      • 4.2.3 指令字长度
      • 4.2.4 指令助记符
      • 4.2.5 指令格式举例
    • 4.3 操作数类型
      • 4.3.1 一般的数据类型
      • 4.3.2 Pentium数据类型
      • 4.3.3 Power PC数据类型
    • 4.4 指令和数据的寻址方式
      • 4.4.1 指令的寻址方式
      • 4.4.2 操作数基本寻址方式
      • 4.4.3 寻址方式举例
    • 4.5 典型指令
      • 4.5.1 指令的分类
      • 4.5.2 基本指令系统的操作
      • 4.5.3 精简指令系统
    • 4.6 ARM汇编语言
  • 总结


前言

第四章 指令系统


第四章 指令系统

4.1 指令系统的发展与性能要求

4.1.1 指令系统的发展

指令系统基本概念

  • 指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;
  • 宏指令:由若干条机器指令组成的软件指令,它属于软件;
  • 机器指令:介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。

本章所讨论的指令,是机器指令。

  • 一台计算机中所有机器指令的集合,称为这台计算机的指令系统。
  • 指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围

发展情况

  • 复杂指令系统计算机,简称CISC。但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。例P48运算器
  • 精简指令系统计算机:简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算机。

4.1.2 对指令系统性能的要求

  • 完备性:
    • 完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。
    • 完备性要求指令系统丰富、功能齐全、使用方便。
    • 一台计算机中最基本、必不可少的指令是不多的。
    • 许多指令可用最基本的指令编程来实现。
    • 例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。
    • 采用硬件指令的目的是提高程序执行速度,便于用户编写程序。
  • 有效性:
    • 有效性是指利用该指令系统所编写的程序能够高效率地运行。
    • 高效率主要表现在程序占据存储空间小、执行速度快。
    • 一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。
  • 规整性:
    • 规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。
    • 对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;
    • 匀齐性是指:一种操作性质的指令可以支持各种数据类型。如算术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等
    • 指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。例如指令长度和数据长度通常是字节长度的整数倍
  • 兼容性:
    • 系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。
    • 但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。

4.1.3 低级语言与硬件结构的关系

在这里插入图片描述

4.2 指令格式

4.2.1 操作码

  • 设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码OP表示该指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等等。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。
  • 组成操作码字段的位数一般取决于计算机指令系统的规模。较大的指令系统就需要更多的位数来表示每条特定的指令。
    • 等长(指令规整,译码简单)
    • 例如IBM 370机,该机字长32位,16个通用寄存器R0~R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。
    • 固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。

4.2.2 地址码

  • 根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。三地址指令、二地址指令、单地址指令、零地址指令
    在这里插入图片描述
  • 三地址指令
    • 指令格式:| 操作码op | 第一操作数A1 | 第二操作数A2 | 结果A3 |
    • 功能描述:
      • (A1) op(A2)→A3
      • (PC) +1→PC(程序计数器)
    • 这种格式指令长度比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。
  • 二地址指令
    • 指令格式:| 操作码op | 第一操作数A1 | 第二操作数A2 |
    • 功能描述:
      • (A1) op(A2)→A1
      • (PC)+1→PC
    • 二地址指令在计算机中得到了广泛的应用,但是在使用时必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。
    • 二地址地址根据操作数的物理位置分为:(快→慢)
      • SS 存储器-存储器类型
      • RS 寄存器-存储器类型
      • RR 寄存器-寄存器类型
  • 一地址指令
    • 指令格式:| 操作码op | 第一操作数A1 |
    • 功能描述:
      • (AC) op(A1) →A1
      • (PC)+1→PC
    • 单操作数运算指令,如“+1”、“-1”、“求反”
    • 指令中给出一个源操作数的地址
  • 零地址指令
    • 指令格式:| 操作码op |
    • “停机”、“空操作”、“清除”等控制类指令。

4.2.3 指令字长度

  • 概念
    • 指令字:一条指令的机器字,简称指令
    • 指令字长度(一个指令字包含二进制代码的位数)
    • 机器字长:计算机能直接处理的二进制数据的位数。
    • 单字长指令、半字长指令、双字长指令
    • 多字长指令、等长指令、非等长指令
  • 多字长指令的优缺点
    • 优点提供足够的地址位来解决访问内存任何单元的寻址问题 ;
    • 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。
  • 指令系统中指令采用等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的 ;
  • 采用非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂 。

4.2.4 指令助记符

  • 由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。
  • 为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符
    • 用3~4个英文字母来表示操作码,一般为英文缩写
    • 不同的计算机系统,规定不一样
    • 必须用汇编语言翻译成二进制代码

4.2.5 指令格式举例

指令格式包括两个方面:操作码字段 地址码字段

4.3 操作数类型

4.3.1 一般的数据类型

  • 地址数据:地址实际上也是一种形式的数据。
  • 数值数据:计算机中普遍使用的三种类型的数值数据。
    • ①定点整数或定点小数;
    • ②浮点数;
    • ③压缩十进制数,BCD码。
  • 字符数据:文本数据或字符串,目前广泛使用ASCII码。
  • 逻辑数据:一个单元中有几位二进制bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。

4.3.2 Pentium数据类型

常规、整数、序数、未压缩的BCD、压缩的BCD、近指针、位串、字符串、浮点数

4.3.3 Power PC数据类型

无符号字节、无符号半字、有符号半字、无符号字、有符号字、无符号双字、字节串、浮点数

4.4 指令和数据的寻址方式

4.4.1 指令的寻址方式

  • 顺序方式
    • PC
  • 跳跃方式

4.4.2 操作数基本寻址方式

  • 形成操作数有效地址的方法,称为寻址方式。例如,一种单地址指令的结构如下:操作码OP、变址X、间址I、形式地址A
  • 变址和间址称为寻址方式特征位。
    在这里插入图片描述

4.4.3 寻址方式举例

4.5 典型指令

4.5.1 指令的分类

4.5.2 基本指令系统的操作

4.5.3 精简指令系统

4.6 ARM汇编语言


总结

  • 一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也影响到系统软件。指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。
  • 操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址。目前多采用二地址、单地址、零地址混合方式的指令格式。指令字长度分为:单字长、半字长、双字长三种形式。高档微机采用32位长度的单字长形式。
  • 形成指令地址的方式,称为指令寻址方式。有顺序寻址和跳跃寻址两种,由指令计数器来跟踪。形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、内存和指令中。数据寻址方式有隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基值寻址、变址寻址、块寻址、段寻址等多种。按操作数的物理位置不同,有RR型和RS型。前者比后者执行的速度快。
  • 形成指令地址的方式,称为指令寻址方式。有顺序寻址和跳跃寻址两种,由指令计数器来跟踪。形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、内存和指令中。数据寻址方式有隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基值寻址、变址寻址、块寻址、段寻址等多种。按操作数的物理位置不同,有RR型和RS型。前者比后者执行的速度快。
  • 汇编语言与具体机器的依赖性很强。为了解该语言的特点,列出了目前流行的嵌入式处理机ARM的汇编语言。

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

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

相关文章

CTR-GCN 代码理解

论文代码:https://github.com/Uason-Chen/CTR-GCN ctrgcn.py 文件路径:CTR-GCN/model/ctrgcn.py import math import pdbimport numpy as np import torch import torch.nn as nn from torch.autograd import Variabledef import_class(name):compone…

动态设置图片的主题色(保留明暗关系)

github地址 PrimaryColorDemo 效果 原始图片 就是一张普通的png图片 根据选择的主题色动态渲染。 思考 最近在思考怎么实现动态的设置图片的主题色。不是那种渲染透明iocn。而是把图片的明暗关系保留。而改变其中的主题色。终于花了半天的时间研究出来了。和大家共享。 …

AI对话AI才是正解?KAUST研究团队提出基于角色扮演的大模型交互代理框架CAMEL

电影《盗梦空间》中有这样一句非常经典的台词: “世上最具有可塑性的寄生虫是什么?是人类的想法。人类大脑中一个简单的想法,就可以建立一座庞大的城市。有时一个想法也可以改变世界,并改写一切规则,这就是我为什么要…

0703齐次方程-微分方程

文章目录 1 定义和解法1.1 定义1.2 微分方程中的变量替换1.3 齐次方程的解法 2 例题结语 1 定义和解法 1.1 定义 形式上可化为 d y d x g ( y x ) \frac{dy}{dx}g(\frac{y}{x}) dxdy​g(xy​)的方程,称为齐次方程。 例如 d y d x y x tan ⁡ y x , d y d x e y…

操作系统考试复习—第二章 2.1 2.2程序和进程的描述

第二章 进程的描述与控制 程序:有序的指令集合 程序顺序执行的特征:1.顺序性 2.封闭性 3.可再现性(确定性) 在多道程序环境下,允许多个程序并发执行,此时他们将失去封闭性,并具有间断性和不可再现性的特征。为此引…

net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错

一、问题描述 最近现场实施人员反馈有个功能不能正常使用,F12查看浏览器的控制台,提示net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)的错误, HTTP状态码206表示“部分内容”(Partial Content),…

全网最细,Jmeter性能测试-分布式压力测试环境搭建(超详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 JMeter设计之初是…

【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手

目录 类型 String 字符串 List 列表 Set 集合 Sorted Set /ZSet 有序集合 Hash 哈希表 GEO 地理空间 HyperLogLog 基数统计 Bitmap 位图 BitField 位域 Stream 流 线上测试地址 常用命令 key 操作指令 String 操作指令 List 操作指令 Set 操作指令 ZSet 操作…

STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期

STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期 目录 STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期1、介绍2、STM32CubeMX配置2.1 基本配置2.2 PWM输出配置2.3 PWM输入捕获配置 3、程序修改和测试 本篇博客以STM32F103C8为例,其他…

selenium_交互 (谷歌浏览器驱动下载 xpath插件安装)

安装selenium (1)查看谷歌浏览器版本 谷歌浏览器右上角 ‐‐> 帮助 ‐‐> 关于 查看 浏览器版本: (2)操作谷歌浏览器驱动下载地址 http : // chromedriver . storage . googleapis . com / index . html 找到…

FPGA、 CPU、GPU、ASIC区别

一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新…

2023第十四届蓝桥杯 C/C++大学生A组省赛 满分题解

写在前面 以下代码,目前均可通过民间OJ数据(dotcpp & New Online Judge), 两个OJ题目互补,能构成全集,可以到对应链接下搜题提交(感谢OJ对题目的支持) 如果发现任何问题&…

汽车制造数字化转型如何做?有哪些可行性案例?

引语:砥砺前行的先行者,为长期主义者带去曙光 国内制造企业亟需加速探索数字化转型之路。但是传统软件服务商提供的PLM、MES等系统已经无法满足企业个性化需求。通过传统软件服务商进行二次开发,成本高、周期长,难以适应迅速变化的…

少儿Python每日一题(25):岛屿问题

原题解答 本次的题目如下所示(题目来源:蓝桥杯): 编程实现: 有一片海域划分为N*M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。请问这片N*M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且…

【手把手做ROS2机器人系统开发六】创建用户自定义msg和srv文件

创建用户自定义msg和srv文件 目录 创建用户自定义msg和srv文件 一、程序编写 1、创建软件包 2、创建msg消息和srv服务文件夹 3、定义msg消息示例 4、定义srv服务示例 5、修改和添加编译选项 6、软件包设置 二、程序测试 1、编译软件包 2、测试查询信息 3、测试查询服务…

EasyCVR视频融合平台黑名单功能更新,防止设备恶意注册平台

为了防止别人恶意注册国标设备,EasyCVR视频融合平台也具备拦截设备注册的功能,即通过国标设备ID和注册IP地址进行拦截,也就是黑名单功能。 在3.1版本之前,黑名单的设置是在配置中心—平台接入中,在输入框中添加黑名单I…

在阿里做测试开发的这5年,收获与感悟...

正好在离职交接空档期,就抽空简单分享自己的一些个人经历给大家,希望对刚毕业不久或者工作三五年的同学能有一些帮助。 测试新人 我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做…

湿法冶金以及铼提取工艺,湿法冶金工艺特点及工艺流程

湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流程 湿法冶金作为解决我国金属矿产资…

SpringBoot第 17 讲:SpringBoot+JWT

关于JWT的讲解请参考:SpringCloud第14讲:(番外篇)JWT 一、项目演示 没有登陆直接请求列表接口,系统会要求先进行登录 登录成功后请求列表接口,可以正常响应数据 二、后台开发 2.1、pom.xml 添加redis…

迪赛智慧数——柱状图(堆叠柱状图):各年龄段人群服装消费频次

效果图 你多久买一次新衣服? 70后买得“精”,90后换得“勤”,90后已成为服装消费者主力!90后中平均每周1次或更多的占比达12%。当买衣服的理由越来越感性,服装貌似已不再是“这届” 消费者的基础刚需。 数据源&#…