各种硬件对应”位数“,各种字长,编址方式的区分。

Posted 源梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种硬件对应”位数“,各种字长,编址方式的区分。相关的知识,希望对你有一定的参考价值。

这里写目录标题

1.编址方式

①存储元,存储单元,存储体/存储矩阵,存储器/存储系统。

①存储元:能够完成一个二进制读写的叫做存储元。
②存储单元:每行/列(具体这行/列有多少个存储元要看编制方式)存储元叫做一个存储单元,也叫存储字/存储字长。
③存储体/存储矩阵:所有的存储单元组成的叫做存储体或存储矩阵。
④存储器:由存储体、地址译码器和控制电路组成。
⑤存储系统:存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。

存储系统>存储器>存储体>存储单元>存储元

②按字编址和按字节编址

其实就是每行划分的存储元的个数不同。
1.按字节编址:1B=8bit,需要用8个存储元件/存储元构成。即一个存储单元8位。
2.按字编址:假设告知一个字16位。则位为16bit,需要用16个存储元件/存储元构成一个存储单元。

假设主存大小1KB:
按字节编址:1KB=213bit。共有213/8=210个存储单元。(8个存储元为一个存储单元)则寻址范围为:0-210-1。即0000000000-1111111111。其中每一个地址(共210个地址),代表一个存储单元,代表8bit,代表1B。这就是按字节编址。
按字编址:假设一个字16位。共有213bit(存储元件)。共有213/16=29个存储单元(16个存储元位一个存储单元)则寻址范围为:0-29-1。即000000000-111111111。其中每一个地址(共29个地址),代表一个存储单元,代表16bit,代表2B,代表一个字。这就是按字编址。

2.各种易混淆的"长度概念"

①字,字长/机器字长,指令字长,存储字长。

1.字长:也称机器字长,通常指CPU内部用于整数运算的数据通路的宽度,因此机器字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。
2.字:用来表示被处理信息的单位,用来“度量”数据类型的宽度。就好比,用G度量文件大小一样,是一个度量单位。
3.指令字长:一条指令中包含的二进制代码的位数。
4.存储字长:一个存储单元存储的二进制代码长度,即包含多少个存储元,多少个存储元件。

3.常见硬件对应位数及原因。

硬件名称位数
MAR(地址寄存器)对应存储单元个数
MDR(数据寄存器)存储字长
ALU(运算逻辑元件)机器字长
通用寄存器组机器字长
IR(指令寄存器)指令字长
PC(程序计数器)对应存储单元个数,MAR位数

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

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

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

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

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

求寻址范围

某计算机字长是32位,它的存储容量是256KB,按字编址,它的寻址范围是 64 K

按字编址的寻址范围是:0~64KB。
计算步骤:256KB字节=256*1024*8位,
按计算机按32位字长单字编址。则单字的位数为32位,范围为(256*1024*8位)/32位=64KB
此外若计算机按32位字长半字编址。则半字的位数为16位,范围为(2561024*8位)/16位=128KB
存储容量是指存储器可以容纳的二进制信息量,用存储器中存储地址寄存器MAR的编址数与存储字位数的乘积表示。
1B = 8bit(位)
所以寻址范围=256KB / 4B = 64K

以上是关于各种硬件对应”位数“,各种字长,编址方式的区分。的主要内容,如果未能解决你的问题,请参考以下文章

求寻址范围

字与字节的区别(详细)

指令系统中的寻址范围总结

计组——关于按字编址与按字节编址的问题讨论

计算机组成原理4.2指令寻址方式

计算机组成原理4.2指令寻址方式