1.2.3存储结构:主存编址计算、主存编址的过程、存储单元、编址内容、存储总容量
- 主存编址的过程
- 存储单元主存编址
- 存储单元
- 编址内容
- 存储总容量
- 例题
主存编址的过程
计算机是一个机器,它能够识别的是机器语言,电器信号。因此计算机当中所有的数据,它都是用二进制0/1进行表示,而一位二进制,在计算机当中体现的数据容量是比特位(bit),一个二进制位称之为一个比特位,简称为bit。
存储器很大,每次去找一个bit是比较麻烦的,因此会对bit进行分组,那么多少个bit分为一组?不同的计算机会有不同的区别。
假设4个bit作为一组的话,也就是定义了计算机字长为4bit,那么4个bit作为一组数据,称之为一个字,这种分组之后,这样的数据,我们把这四个字一组的记作存储单元。
一个存储单元有4个bit,那么一个存储器有多个存储单元,那么需要怎么识别不同的存储单元呢?
给不同的存储单元一个编号,这个编号就是存储单元的地址编号,地址编号在计算机中也会用0/1二进制编号来表示。
整个主存是由多个存储器拼接起来的,一般叫做小型的芯片来进行拼接,拼接方向是可以不一样的,比如横着拼接或竖着拼接。
存储单元主存编址
存储单元
存储单元就是一次性放置的比特位,这一个放置的空间就叫做存储单元
存储单元个数就是图中的行数
存储单元个数
=
最大地址编号
−
最小地址编号
+
1
存储单元个数=最大地址编号-最小地址编号+1
存储单元个数=最大地址编号−最小地址编号+1
有时候为了凑整,都是先+1后减去
存储单元个数
=
最大地址编号
+
1
−
最小地址编号
存储单元个数=最大地址编号+1-最小地址编号
存储单元个数=最大地址编号+1−最小地址编号
编址内容
编址内容就是每一行放的东西,看一行有多少个比特位
按字编址:存储体的存储单元是字存储单元,一个字给一个地址编号,即最小寻址单位是一个字,64位计算机字长一般是64,考试常见的是字长16位或字长32位
按字节编址:存储体的存储单元是字节存储单元,一个字节给一个地址编号,即最小寻址单位是一个字节
按字节编址,其字长大小是固定的,8bit不能够改变,而按字编址,其字长大小是可以改变的,字长大小一般和计算机相关。
存储总容量
总容量 = 存储单元个数 × 编址内容 总容量=存储单元个数×编址内容 总容量=存储单元个数×编址内容
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的个数,即
总片数 = 总容量 / 每片的容量 总片数 = 总容量 / 每片的容量 总片数=总容量/每片的容量
在计算过程当中,存储单元所涉及的地址可能会用16进制来表示,因此涉及到单位和进制的转换。
例题
内存按字节编址,利用8K×4bit的存储芯片构成84000H到8FFFFH的内存,共需(12)片。
由题目可知
按字节编址:表示字长为1B=8bit
8K×4bit的存储芯片:8K表示数值,在计算机中,涉及到数据和容量的时候,K=210,M=220,G=230
84000H到8FFFFH:H表示的是标识,它是十六进制的标志,不参与运算
1.首先求存储单元个数
存储单元个数=最大地址编号+1-最小地址编号
8FFFFH+1=90000H
90000H-84000H=C000H
由于是十六进制,因此借位相减是16-4=12,十六进制中A表示10,12即C
C000H转换成十进制,就是12×163
2.求总容量
总容量=存储单元个数×编址内容
题目可知是按字节编址
总容量=12×163×8bit
3.求片数
每片的容量题目已经告知:8K×4bit的存储芯片
每片的容量=8K×4bit=8×210×4bit
总片数 = 总容量 / 每片的容量
总片数 = 12 × 1 6 3 × 8 b i t 8 × 2 10 × 4 b i t = 12 × 1 6 3 2 10 × 4 = 12 × ( 2 4 ) 3 2 10 × 2 2 = 12 × 2 12 2 12 总片数=\frac{12×16^{3}×8bit}{8×2^{10}×4bit}=\frac{12×16^{3}}{2^{10}×4}=\frac{12×(2^{4})^{3}}{2^{10}×2^{2}}=\frac{12×2^{12}}{2^{12}} 总片数=8×210×4bit12×163×8bit=210×412×163=210×2212×(24)3=21212×212