【计算机组成原理与体系结构】指令系统

这篇具有很好参考价值的文章主要介绍了【计算机组成原理与体系结构】指令系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、指令概述

二、指令分类

三、扩展操作码

四、指令寻址

五、数据寻址

六、x86汇编指令


一、指令概述

计算机指令:指示计算机硬件进行某种操作的命令

机器指令:使用二进制编码来表示的计算机指令

  • 能被计算机硬件系统识别并执行的特殊的0/1代码串(机器码)
  • 指定了计算机硬件的某种特定操作,不同计算机硬件能识别并执行的机器码也不同

指令系统:一台计算机的所有机器指令的集合(指令集)

汇编指令:机器指令的助记符

指令集体系架构 ISA:Instruction-Set Architecture

  • 处理所支持的的指令集(汇编指令集及机器指令集)及其操作数的相关信息(寄存器、存储器、I/O 等)
  • 在系统软件设计者与处理器硬件设计者之间提供了一个抽象层,软件设计者依据 ISA 知道如何编写机器语言程序来控制与使用处理器硬件,硬件设计者依据 ISA 来设计微体系结构,并实现能执行机器语言的处理器硬件

指令格式:由操作码(OP)地址码(A)组成

指令信息:指令的功能、操作的对象(源操作数)、操作的结果(目的操作数)、下一条指令地址

  • 操作码指明该指令的功能,也规定了指令格式
  • 地址码包含了源操作数、目的操作数和下一条指令地址

冯诺依曼体系结构:程序代码顺序存放在存储器中

  • 下一条指令地址:总是由程序计数器PC隐含指出
  • PC:存放指令地址(指令在存储器中的地址)
  • 非转移类指令:根据PC取指令,PC自增(指向下一条指令)
  • 转移类指令:根据PC取指令,PC自增(指向下一条指令),分析执行指令,修改PC为要转移到的目标指令的地址(转移指令的地址码为转移目标地址
  • 控制器总能从PC获取下一条指令的地址信息,保证计算机自动高速、循环往复地“取指令、分析指令、执行指令”

指令字:机器指令的二进制编码,也叫机器字

指令字长:一条机器指令中所包含的二进制码的位数,不同计算机的指令字长可能不同

机器字长:计算机一次所处理的二进制数位数

【计算机组成原理与体系结构】指令系统

二、指令分类

根据地址码格式分类

【计算机组成原理与体系结构】指令系统

根据操作类型进行分类

【计算机组成原理与体系结构】指令系统

三、扩展操作码

操作码扩展技术:一种重要的指令优化技术,将不使用的地址码字段扩展为操作码

【计算机组成原理与体系结构】指令系统

【计算机组成原理与体系结构】指令系统

四、指令寻址

寻址方式:确定本条指令的操作数地址(数据寻址),以及下一条要执行的指令地址(指令寻址)

  • 数据寻址:当前指令的地址码给出
  • 指令寻址:下一条预执行指令的地址(始终有程序计数器PC给出)

顺序寻址方式:PC + "1" -> PC,此处的 “1” 代表一个指令字长

【计算机组成原理与体系结构】指令系统

跳跃寻址方式:当程序顺序执行遇到转移指令时,PC就不再是+“1”,而是由本条转移指令的地址码字段给出的跳跃地址,或者由指令的地址码字段经过相对寻址方式计算得出跳跃后的新指令地址,按该地址去取下一条指令。

五、数据寻址

数据寻址:确定本条指令的地址码指明的真实地址

  • 形式地址:指令的地址码字段代码,记作A,不一定是数据的真实地址
  • 有效地址:操作数在存储器中的真实地址,记作EA,由寻址方式和形式地址共同确定

【计算机组成原理与体系结构】指令系统

立即寻址

  • 在指令中的地址码处直接给出操作数,即指令的地址码字段为操作数(立即数)
  • 优点:指令的执行速度快
  • 缺点:操作数是指令的一部分,不便于修改
  • 通常用“#”代表立即寻址的寻址特征

【计算机组成原理与体系结构】指令系统

直接寻址

  • 指令字中的形式地址A就是操作数的真实地址EA,即 EA = A
  • 优点:取出指令就得到了EA,执行访问主存1次,就得到了操作数,速度较快
  • 缺点:A的位数限制了该指令操作数的寻址范围,操作数的地址不易修改

【计算机组成原理与体系结构】指令系统

间接寻址

  • 指令的地址码字段给出的形式地址A不是操作数的真实地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址,即 EA = (A)
  • 取出指令,就得到了EA在主存的地址,共访问主存2次才得到操作数

【计算机组成原理与体系结构】指令系统

寄存器寻址

【计算机组成原理与体系结构】指令系统

寄存器间接寻址

【计算机组成原理与体系结构】指令系统

隐含寻址

  • 不明显地给出操作数的地址,而是在指令中隐含着操作数的地址
  • 优点:有利于缩短指令字长
  • 缺点:需增加存储操作数或隐含地址的硬件

【计算机组成原理与体系结构】指令系统

基址寻址

  • 基址寄存器存放了程序的起始位置,由os管理,其内容无法被程序员修改
  • 优点:便于程序“浮动”,方便实现多道程序并发运行
  • 适用于多用户计算机系统,操作系统给每个用户一个基地址并放入相应的基址寄存器,在程序执行的过程中,以基址为基准自动进行逻辑地址到物理地址的变换

【计算机组成原理与体系结构】指令系统

变址寻址

  • 有效地址EA等于指令字中的形式地址A变址寄存器IX的内容之和,即 EA = (IX)+A
  • IX可为变址寄存器专用,也可用通用寄存器作为变址寄存器
  • 变址寄存器是面向用户的,内容可修改(作为偏移量),形式地址A不变(基地址)
  • 变址寻址通常用来对字符串处理、数组运算等这类成组数据处理(在数据处理过程中,设定A为数组的首地址,不断改变变址寄存器的内容,便可很容易形成数组中任一数据的地址,适合编制循环程序)

【计算机组成原理与体系结构】指令系统

基址变址寻址

  • 在指令中指定一个基址寄存器和一个变址寄存器,指令中的地址码给出位移量。有效地址由基址寄存器、变址寄存器中的值和位移量三者相加而成。
  • 基址 + 变址,常用于访问二维数组。

【计算机组成原理与体系结构】指令系统

​​​​​​

相对寻址

  • 程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址EA,即 EA = (PC)+A,其中A是相对于PC所指地址的偏移量,可正可负,补码表示
  • 优点:操作数的地址不是固定的,它随着PC值的变化而变化,并且与指令地址之间总是相差一个固定值,因此便于程序“浮动”(一段代码在程序内部的浮动)
  • 相对寻址通常应用于转移指令

【计算机组成原理与体系结构】指令系统

 

堆栈寻址

  • 操作数放在堆栈中,隐含使用堆栈指针SP(Stack Pointer)作为操作数地址,即 EA = (SP)
  • 堆栈是存储器(或专用寄存器组)中一块特定的按“后进先出”原则管理的存储区,该存储区中被读/写单元的地址是一个特定的寄存器给出的,该寄存器成为堆栈指针SP
  • 堆栈寻址主要用来暂存中断和子程序调用时现场数据及返回地址

【计算机组成原理与体系结构】指令系统

数据寻址方式总结

【计算机组成原理与体系结构】指令系统

六、x86汇编指令

x86CPU的寄存器

【计算机组成原理与体系结构】指令系统

算术运算指令

【计算机组成原理与体系结构】指令系统

逻辑运算指令

【计算机组成原理与体系结构】指令系统

转移指令

【计算机组成原理与体系结构】指令系统

【计算机组成原理与体系结构】指令系统

循环控制指令

【计算机组成原理与体系结构】指令系统

函数调用指令

【计算机组成原理与体系结构】指令系统文章来源地址https://www.toymoban.com/news/detail-477690.html

到了这里,关于【计算机组成原理与体系结构】指令系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 中级软件设计师备考---计算机组成与体系结构3

    中级软件设计师备考---计算机组成与体系结构3

    计算题 概念题 计算可靠度 码距:是指两个码字之间的不同位数。例如,1010和1111之间的码距是2,因为它们在第二位和第三位上不同。在信息传输中,码距越大,就越容易检测和纠正错误。 在一个码组内为了检测e个误码,要求最小码距d应满足:d=e+1 在一个码组内为了纠正

    2023年04月15日
    浏览(9)
  • 系统架构设计师-第1章计算机组成与体系结构

    系统架构设计师-第1章计算机组成与体系结构

    计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。 系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序和数据库管理系统等。

    2024年02月03日
    浏览(13)
  • 计算机组成与体系结构第一次试验:运算器实验

    计算机组成与体系结构第一次试验:运算器实验

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 掌握使用算术逻辑运算器 74LS181 进行算术运算、 逻辑运算的方法。 掌握基于“累加-移位”原理的串

    2024年02月04日
    浏览(9)
  • 计算机组成与体系结构第二次试验:存储器实验

    计算机组成与体系结构第二次试验:存储器实验

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 本实验的主要内容是了解 RAM(Random Access Memory,静态随机存储器)和ROM(Read Only Memory,只读存储器)

    2024年02月08日
    浏览(11)
  • 【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器

    【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器

    一、实验目的 1:学会设计用IP核和原理图的方式设计电路,完成涉及1位数据的2选1多路选择器。 2:设计带异步置零和写使能端的D触发器。 二、实验环境 软件:Vivado 2015.4 操作系统:Windows 10 三、实验内容 2.2.1 多路选择器的设计 1:添加IP核文件   2:添加bd文件,在Block De

    2024年02月13日
    浏览(10)
  • 计算机体系结构

    计算机体系结构

    目录 第一章 基本概念 1.虚拟计算机 2.计算机系统结构的定义 3.佛林(Flynn)分类法 4.Amdahl定律 5.CPU性能公式 6.程序访问的局部性原理 第二章 指令系统 1.数据表示与数据类型 2.浮点数的表示方式 3.编址方式 4.寻址方式 5.指令系统的优化设计  6.Huffman编码法 7.拓展编码 8.两种方

    2024年02月06日
    浏览(13)
  • 【体系结构】山东大学计算机体系结构知识点清单

    【体系结构】山东大学计算机体系结构知识点清单

    涵盖所有考点,复习绝对高效,点赞+留邮箱获取pdf版本 1. 计算机系统的层次结构 语言实现的两种基本技术: 翻译:先把 N+1 级程序全部转换成 N 级程序后,再去执行新产生的 N 级程序,在执行过程中 N+1 级程序不再被访问。 解释:每当一条 N+1 级指令被译码后,就直接去执

    2024年02月11日
    浏览(67)
  • 【Linux】—— 详解计算机体系结构

    【Linux】—— 详解计算机体系结构

    前言: 在之前,我们已经对Linux环境开发的基本工具进行了详细的学习。接下来,我们将要学习的第一大块便是关于计算机体系结构的知识!! 目录 前言 (一)冯诺依曼体系结构 基本介绍 木桶原理 数据流动过程 (二)操作系统 1、概念 2、感性理解 总结 在我写的《操作系

    2024年02月09日
    浏览(13)
  • [Linux]计算机软硬体系结构

    [Linux]计算机软硬体系结构

    冯诺依曼体系结构的组成 现代计算机大多都遵守冯诺依曼体系结构 冯诺依曼体系结构的示意图如下: 冯诺依曼体系结构计算机由五大部件组成: 输入设备 输出设备 存储器(内存) 运算器 控制器 注:如今大多的计算机都将运算器和控制器集成到一起,被称作中央处理器,简称

    2024年02月13日
    浏览(10)
  • 计算机体系结构(复习资料)

    计算机体系结构(复习资料)

    1.存储程序计算机 (冯诺依曼):4部分                 运算器(用于完成数值运算)                 存储器(用于存储程序和数据)                 输入输出设备(用于完成计算机与外部信息交互)                 控制器(根据程序形成控

    2024年02月02日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包