计算机组成原理-笔记-第四章

本文详细介绍了计算机系统的指令系统,包括指令格式、分类(按地址码数量、长度和操作类型)、寻址方式(顺序、跳跃、直接、间接、寄存器等)、数据寻址(偏移寻址、基址寻址、变址寻址)以及汇编语言中的关键概念,如X86汇编指令和CISC/RISC架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 笔记下载

链接:https://pan.baidu.com/s/1bFz8IX6EkFMWTfY9ozvVpg?pwd=deng

提取码:deng

b站视频:408-计算机网络-笔记分享_哔哩哔哩_bilibili

包含了408四门科目(数据结构、操作系统、计算机组成原理、计算机网络)

如果链接失效了,看看b站,或者私信我

408相关资料(真题 模拟卷等)
链接: https://pan.baidu.com/s/1Qga8aMgcrVfCmrry68vqog?pwd=974t

提取码: 974t 

 🌸章节汇总

第一章——计算机系统概述(硬件+软件)

第二章——数据的表示和运算

第三章——存储系统  

第四章——指令系统

第五章——中央处理器

第六章——总线

第七章——输入输出系统

目录

第四章——指令系统

1、指令格式

(1)指令(机器指令-二进制数)

(2)指令分类(按照 地址码的数量 分类)

(3)指令分类(按照长度分类)

(4)指令分类(按照 操作类型)

(5)总结

2、拓展操作码

(1)操作码拓展方法(注意事项)

(2)习题(拓展操作码)

(3)总结

3、指令寻址(顺序、跳跃)

(1)总结

4、数据寻址

(1)直接寻址(和立即寻址不一样——2次)

(2)间接寻址(便于-编制程序-n次)

(3)寄存器寻址(速度快-1次)

(4)寄存器间接寻址(速度快-对间接寻址来说-2次)

(5)隐含寻址

(6)立即寻址

(7)总结

5、数据寻址(偏移寻址)

(1)基址寻址(基地址+偏移量——面向操作系统)

(2)变址寻址(循环结构——面向程序员)

(3)相对寻址(方便jump跳转!)

(4)总结

(5)硬件——比较器

(6)堆栈寻址(软硬件的实现方式都有——pop & push)

6、汇编语言

(1)   指明内存的读写长度

(2)   寄存器

(3)   命令说明

(4) X86汇编指令

(5) AT&T格式 和 Intel格式

(6) 选择语句(用jump)

(7) 循环语句(jump & loop)

(8) CISC & RISC


第四章——指令系统

CPU设计厂商会定义并实现一组机器指令集,供汇编语言使用和调用。

机器指令是计算机硬件直接理解和执行的指令,它们以二进制形式表示,对应着特定的操作和功能。

1、指令格式

(1)指令(机器指令-二进制数)

(2)指令分类(按照 地址码的数量 分类)

(3)指令分类(按照长度分类)

机器字长:CPU一次运算,可以处理的位数!(16、32、64位)x32、x64

因此,当指令是双字长指令时,那么CPU需要分两次读取!

(4)指令分类(按照 操作类型)

(5)总结


2、拓展操作码

(1)操作码拓展方法(注意事项)

(2)习题(拓展操作码)

(3)总结


3、指令寻址(顺序、跳跃)

顺序寻址:

根据【指令长度】和【主存储器如何编址】来进行计数(PC-program count)

即由【指令长度】和【主存储器如何编址】的比值来确定累加的步进

PC的数值——指向下一个要运行的指令!(类似于让你运行对应的代码行数!)

跳跃寻址:

当你按照顺序寻找的时候,遇到函数或者(goto语句时),就会跳转到对应的代码行!

这个也是类似!,当你遇到jump语句时,要跳到指定位置!!!

定长指令

变长指令 

(1)总结


4、数据寻址

(1)直接寻址(和立即寻址不一样——2次)

直接:直接去主存中找!

立即:地址码=操作数——直接用!

(2)间接寻址(便于-编制程序-n次)

(3)寄存器寻址(速度快-1次)

(4)寄存器间接寻址(速度快-对间接寻址来说-2次)

(5)隐含寻址

(6)立即寻址

(7)总结

5、数据寻址(偏移寻址)

(1)基址寻址(基地址+偏移量——面向操作系统)

记得要用bit位来表明——哪一个寄存器中存放了基地址!!!

优点:存储在内存中,偏移量按照基地址来算(相当于是:相对的),所以当程序并发运行时,指令存储的位置即使有变动,指令也无需修改!

缺点:基址寻址需要一个特定的寄存器来存储基址的值,并且在执行指令时需要进行基址和偏移量的计算。这会引入一定的额外开销。

 

(2)变址寻址(循环结构——面向程序员)

(3)相对寻址(方便jump跳转!)

注意:程序段发生改变,那么程序指向的操作数会不会改变呢?

优化方法:将数据段和程序段分开!这样当程序段改变,指向的数据位置就不会改变啦!

(4)总结

(5)硬件——比较器

(6)堆栈寻址(软硬件的实现方式都有——pop & push)

6、汇编语言

(1)   指明内存的读写长度

(2)   寄存器

(3)   命令说明

(4) X86汇编指令

(5) AT&T格式 和 Intel格式

(6) 选择语句(用jump)

(7) 循环语句(jump & loop)

(8) CISC & RISC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peter123123123123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值