计算机组成原理中各种字长的概念 | 您所在的位置:网站首页 › 字长cpu表示什么 › 计算机组成原理中各种字长的概念 |
一文读懂计组里的“字长”/“位数”/“宽度”
字长/机器字长/存储字长/指令字长各种硬件的位数ALU算术逻辑单元位数通用寄存器位数IR指令寄存器位数PC程序计数器位数MAR地址寄存器位数MDR数据寄存器位数
按字节/字/Xbit编址地址总线位数数据总线位数总线宽度指令字长和存储字长的关系
字长/机器字长/存储字长/指令字长
字长:默认是机器字长1 机器字长:计算机能直接处理的二进制数据位数 存储字长:每个存储单元能存放的二进制数据位数 指令字长:每条指令包含的二进制数据位数 各种硬件的位数各种硬件的位数与它要做的工作相关,总结如下: 硬件位数ALU机器字长通用寄存器机器字长IR指令字长PC对应存储单元个数MAR对应存储单元个数MDR存储字长 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 ,从那里转到特定的内存位置。MDR的位数由存储字长决定。 按字节/字/Xbit编址按字节/字/Xbit编址分别表示存储空间的最小编址单位是字节/字/Xbit,用白话说,每个存储单元里的二进制代码位数为1字节/1个字长/Xbit,这个长度就是存储单元长度,也即存储字长。 地址总线位数地址总线位数决定了CPU可以直接访问的RAM的最大数量,因为每根线对应一个地址位。例如:具有32位地址总线的计算机可以直接寻址4GB(2^32B )的物理内存,而36位的计算机可以寻址64GB(2^36B)。 如果I/O端口和主存地址空间统一编址,也要把I/O端口的数量考虑进去。 数据总线位数数据总线可以双向传输,其位数和机器字长、存储字长有关:如果等于机器字长,那么传输一次刚好可以处理一次;如果等于存储字长,那么传输一次刚好可以读写一次。 总线宽度总线宽度又称总线位宽,是该总线可同时传输数据的位数,通常指数据总线的根数。 指令字长和存储字长的关系指令字长一般是存储字长的整数倍。这是为了硬件设计方便,而不是必然的关系。 实际上指令字长取决于操作码长度、地址码长度和地址码个数。 站内有“字长为存储字长”的说法,这里我参考的是维基百科,默认为机器字长维基百科:字长 ↩︎ |
CopyRight 2018-2019 实验室设备网 版权所有 |