指令字长、机器字长、存储字长

本文深入探讨了指令字长、机器字长及存储字长的概念,详细解释了它们如何影响计算机的运算速度、数据处理能力和内存管理。特别关注了STM32微控制器的指令字长特点及其对Thumb-2架构的支持。

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

1.指令字长

指令字长取决于操作码的长度、操作数地址的长度、操作地址的个数。不同机器的指令字长是不相同的。

【注】对于stm32来讲,指令字长有16位的,还有32位的。它优先选择16位的指令。为了最有力地支持 Thumb‐2,引了一个“统一汇编语言(UAL)”语法机制。对于 16 位指令和 32 位指令均能实现的一些操作(常见于数据处理操作),有时虽然指令的实际操作数不同,或者对立即数的长度有不同的限制,但是汇编器允许开发者以相同的语法格式书写,并且由汇编器来决定是使用 16 位指令,还是使用 32 位指令。以前, Thumb 的语法和 ARM的语法不同,在有了 UAL 之后,两者的书写格式就统一了。

2.机器字长

机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。 

机器字长反映了计算机的运算精度,即字长越长,数的表示范围也越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。

机器字长与主存储器字长通常是相同的,但也可以不同。不同的情况下,一般是主存储器字长小于机器字长,例如机器字长是32位,主存储器字长可以是32位,也可以是16位,当然,两者都会影响CPU的工作效率。 

3.存储字长

存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。

*****************************************************************************************************

随着要求处理的数据类型的增加,计算机的指令字长发生变化。一个机器的指令可以采用位数不同的指令,即指令字长是可变的,如单字长指令、多字长指令等。控制这类指令的电路比较复杂,而且多字长指令要多次访问才能取出一条完整指令,因此会使得CPU速度下降。为了提高指令运行速度,节约存储空间,通常会把常用的指令设计成单字长或者短字长格式的指令。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

孙八瓶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值