【讲解】某计算机系统页面大小为4K,进程P1的页面变换表如下图所示,若P1要访问数据的逻辑地址为十六进制1B1AH,那么该逻辑地址经过变换后,其对应的物理地址应为十六进制( )。

某计算机系统页面大小为4K,进程P1的页面变换表如下图所示,若P1要访问数据的逻辑地址为十六进制1B1AH,那么该逻辑地址经过变换后,其对应的物理地址应为十六进制( )。

本题考查页式存储中的逻辑地址转物理地址。由于页面大小为4K,所以页内地址长度为12个二进制位,对应逻辑地址中的:B1A,所以页号为1,通过查询页表可知对应物理块号为6,所以物理地址为6B1AH。

页号 物理块号
0 1
1 6
2 3
3 8

给定页面大小为4K,意味着页面的偏移位数为12位($2^{12}$=4096 )。

步骤1:解析逻辑地址


逻辑地址为十六进制的 1B1AH,即二进制表示为:

0001 1011 0001 1010

将十六进制的 1B1A 转换为二进制的步骤如下:

  1. 每个十六进制位转换为4位二进制:

    • 1(十六进制) = 0001(二进制)
    • B(十六进制) = 1011(二进制)
    • 1(十六进制) = 0001(二进制)
    • A(十六进制) = 1010(二进制)
  2. 组合这些二进制数:

    将每个转换的结果按顺序组合:

    1B1A(十六进制) = 0001 1011 0001 1010(二进制)
    

所以,1B1A 十六进制转换为二进制是 0001 1011 0001 1010

你提到的 1B1AH 中的 H 实际上不是十六进制的有效字符。十六进制(Hexadecimal)只使用数字 0-9 和字母 A-F 表示数字,所以 H 不属于十六进制的字符范围。通常在书写时,H 是用来表示"Hex"(十六进制)的标记符号,而不是地址本身的一部分。

因此,1B1AH 中的 H 只是提示我们 1B1A 是一个十六进制数,实际进行转换时,只需要考虑 1B1A

拆解页面号页内偏移量

  • 页内偏移量:逻辑地址的低12位,即 1011 0001 1010,对应的十六进制为 B1A

    • 0001 1011 0001 1010
      ^^^^^^^^^^^^
      页内偏移量

      将其转换为十六进制:

      1011 0001 1010(二进制)= B1A(十六进制)

  • 页面号:高位部分 1B1A 中的高4位,即 0001,对应的页面号是 1

    • 0001 1011 0001 1010
      ^^^^

      将其转换为十六进制:

      0001 (二进制)= 1(十六进制)


步骤2:根据页号查找物理块号

页面变换表中,页号 1 对应的物理块号是 6

页号 物理块号
0 1
1 6
2 3
3 8

步骤3:计算物理地址

物理地址由物理块号和页内偏移量组合而成:

  • 物理块号:6(十六进制)。
  • 页内偏移量:B1A

将物理块号和页内偏移量组合起来,物理地址就是:6B1A(十六进制)

posted @ 2024-09-24 17:16  Wu'shushu  阅读(188)  评论(0)    收藏  举报