编址与存储相关计算(二)——软考之路

       很高心您能继续关注Lucy软考之路系列博文——编址与存储相关计算(二),在上文中,Lucy给大家讲解计算机中的单位换算和内存工作原理。本篇继续。


内存编址

          一个内存可能是8位,也可能是64位,容量可能是1M,也可能是1G。那么内存是如何编址的呢?和地址总线,计算机字长之间又有什么关系呢?


  • 字长

计算机在同一时间内处理的一组二进制数称为一个计算机的“字”,而这组二进制的位数就是“字长”。例如,我们常说的32位系统,64位系统,就是32CPU在同一时间内处理字长为32位的二进制数据,64CPU在同一时间内处理字长为64位的二进制数据。一般来说计算机的数据线的位数字长是相同的。这样从内存获取数据后,只需要一次就能把数据全部传送给CPU。


  • 地址总线

地址总线的数量决定了她最大的寻址范围。就目前来说一般地址总线先字长相同。比如32位计算机拥有32为数据线和32为地线,最大寻址范围是4G(0x00000000~ 0xFFFFFFFF)。

编址与存储相关计算(二)——软考之路_第1张图片


  • 内存编址

我们知道一个内存的大小和它芯片扩展方式有关。比如我们内存模块是采用16M*8bit的内存颗粒,那么我们使用4个颗粒进行位扩展,成为16M*32bit,使用4个颗粒进行字容量扩展变为64M*32bit。那么我们内存模块使用了16个内存颗粒,实际大小是256MB。

我们需要对这个256M的内存进行编址以便CPU能够使用它,通常我们多种编址方式:

  1. 按字编址:    对于这个256M内存来说,它的寻址范围是64M,而每个内存地址可以存储32bit数据。
  2. 按字节编址:对于这个256M内存来说,它的寻址范围是256M,而每个内存地址可以存储8bit数据。
  3. 按半字编址:对于这个256M内存来说,它的寻址范围是128M,而每个内存地址可以存储16bit数据。

        对于我们现在的计算机来说,主要采用按字节编址的方式。

 

编址计算


解析:16MB=2^24B=2^24*8bit
按字节编址就是每8bit编一个地址,所以需要2^24*8bit/8bit=2^24个地址,要产生这么多地址,必须要用24个二进制数表示。

                   举一反三:

题目中改成按4位编址?
首先算出需要多少个地址:16MB=2^24B=2^24*8bit
2^24*8bit/4bit=2^25个地址
所以需要25个二进制数来编址

题目中改成按字编址,且该计算机为64位,则主存地址需要多少位?

64bit=8Byte
16MB=2^24B
2^24B/8B=2^21个地址,所以需要21位

编址与存储相关计算(二)——软考之路_第2张图片
解析:

C、B
第一问在求主存容量:
CBFFFH-A4000H+1=28000H
转换成十进制
2*16^4+8*16^3=2^17+2^15=2^10(2^7+2^5)
2^10( 2^7+2^5 )*1B=(2^7+2^5)KB=160KB
第二问:
一块芯片的容量为32KB,要变成160KB,需要5块这样的芯片

编址与存储相关计算(二)——软考之路_第3张图片

解析:
第二问:就认为表示4个地址,需要2个二进制位,最小的00,最大的是11
第三问:1s=10^9ns

希望Lucy的讲解对大家解题有所帮助,博文若有不当处,欢迎批评指正。

你可能感兴趣的:(编址与存储相关计算(二)——软考之路)