确定寻呼系统中的帧大小和其他计算

Determining frame size and other calculations in a paging system

我刚刚在考试中遇到了以下问题,但对如何解决它有点迷茫。我将如何进行所要求的计算?

》分页系统使用48位地址,每个地址指定1字节(B)的内存。系统的主内存单元为512MB,页面大小为16KB。答以下问题:

a) 系统内存包含多少帧?

b)系统用多少位来维护位移(即偏移量),系统用多少位来维护页码?

对于第一部分,我将 512MB 转换为 KB(1MB = 1024KB):

512MB = 524288KB

然后我将主内存单元大小除以页面大小:

524288 / 16 = 32768 帧。

这是我关于如何计算帧大小的最合乎逻辑的猜测,我可能完全错了。

我什至不知道从哪里开始计算位数以保持位移和页码。

a) 系统内存包含多少帧?

帧数=物理地址space/帧大小

            = 512MB / 16KB
            = 2^29 /2^14
            = 2^15
            = 32K frames

b)系统用多少位来维护位移(即偏移量),系统用多少位来维护页码?

页数=逻辑地址space/页大小

           = 2 ^48 / 2^14
           = 2 ^ 34
           = 16G pages. 

页码位数=34

偏移的位数= 14 位,即 (48-34)