计算机组成原理中各种字长的概念

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

字长:默认是机器字长1
机器字长:计算机能直接处理的二进制数据位数
存储字长:每个存储单元能存放的二进制数据位数
指令字长:每条指令包含的二进制数据位数

各种硬件的位数

各种硬件的位数与它要做的工作相关,总结如下:

硬件位数
ALU机器字长
通用寄存器机器字长
IR指令字长
PC对应存储单元个数
MAR对应存储单元个数
MDR存储字长

ALU算术逻辑单元位数

ALU

基本ALU具有三个并行数据总线,包括两个输入操作数A、B和一个结果输出Y,且A、B、Y总线宽度相同。
ALU是CPU的核心部分,能直接处理的二进制数据位数(输入的操作数的位数)等于机器字长。

通用寄存器位数

ALU操作数的来源通常是通用寄存器,因此
通用寄存器位数=输入ALU的操作数的位数=机器字长。

IR指令寄存器位数

IR用于保存当前正在执行或解码的指令。在简单的处理器中,每条要执行的指令都被加载到IR中,其位数取决于指令字长。

PC程序计数器位数

用于存放下一条要执行的指令在主存中的地址。位数取决于可寻址内存,例如,PC宽度为32位 能够寻址2^32个存储单元。所以PC的位数n反映了主存的容量。

MAR地址寄存器位数

MAR里保存着需要访问的数据的内存位置。位数同PC,由存储单元的个数决定。

MDR数据寄存器位数

MDR充当处理器和内存单元之间的缓冲区,存放指令或地址(间接寻址)。一个要存储的字必须传送到MDR ,从那里转到特定的内存位置。

按字节/字/Xbit编址

按字节/字/Xbit编址分别表示存储空间的最小编址单位是字节/字/Xbit,用白话说,每个存储单元里的二进制代码位数为1字节/1个字长/Xbit,这个长度就是存储单元长度,也即存储字长。

地址总线位数

地址总线位数决定了CPU可以直接访问的RAM的最大数量,因为每根线对应一个地址位。例如:具有32位地址总线的计算机可以直接寻址4GB(2^32B )的物理内存,而36位的计算机可以寻址64GB(2^36B)。
如果I/O端口和主存地址空间统一编址,也要把I/O端口的数量考虑进去。

数据总线位数

数据总线可以双向传输,其位数和机器字长、存储字长有关:如果等于机器字长,那么传输一次刚好可以处理一次;如果等于存储字长,那么传输一次刚好可以读写一次。

总线宽度

总线宽度又称总线位宽,是该总线可同时传输数据的位数,通常指数据总线的根数。

指令字长和存储字长的关系

指令字长一般是存储字长的整数倍。这是为了硬件设计方便,而不是必然的关系。
实际上指令字长取决于操作码长度、地址码长度和地址码个数。

在这里插入图片描述


  1. 站内有“字长为存储字长”的说法,这里我参考的是维基百科,默认为机器字长维基百科:字长 ↩︎

  • 39
    点赞
  • 194
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值