主存储器存储单元的地址和内容
主存储器存储单元的地址和内容_计算机硬件及网络_IT/计算机_专业资料。主存储器存储单元的地址和内容 存储系统由主存储器(也称为内存储器)和辅助存储器(也称为外存储器)组 成,存储器是用来存放程序和数据的装置。 主存储器(简称主存)的基本存储单元是位,它能容纳一个二进制的
主存储器存储单元的地址和内容 存储系统由主存储器(也称为内存储器)和辅助存储器(也称为外存储器)组 成,存储器是用来存放程序和数据的装置。 主存储器(简称主存)的基本存储单元是位,它能容纳一个二进制的 0 和 1。 整个主存由许多存储位构成,这些存储位每 8 位组合成一个字节,每相邻的 2 个字节组成一个字,相邻的两个字组成一个双字。为了区别这些不同的字节(或 字)存储单元,每一单元都被指定一个编号,称为此单元的物理地址(简称 PA)。 PC 机的主存是按 8 位字节编址的,即以字节作为最小单位。假定主存容量为 1M 字节,则它的最低地址为 00000H,最高地址为 0FFFFFH。 主存储器的读取规则:“高高低低”规则,即高地址对应高字节,低地址对 应低字节。 【例 1.5.6】图为主存部分单元状态,试从中读取数据 [解:] 如上图所示,字节单元(00000)的内容为 12H ,字单元(00000)的内容为 (00001,00000) = 9812H,字单元(00001)的内容为(00002,00001) = 0AC98H。 注意:如果 16 进制数的第一个为字符 A~F,需在此 16 进制数前加一数字 0,以便与其它同名的变量名及寄存器名相区别。 2、物理地址的形成 8086/8088 CPU 的地址线 CPU 的 字长为 16 位,直接寻址 216=64KB,无法寻址 1MB。为此,8086/8088 采用了存储 器地址分段的方法。 将整个存储器分成许多逻辑段,每个逻辑段的容量最多为 64KB,允许它们 在整个存储器空间浮动,各个逻辑段可以紧密相连,也可以重叠。对于任何 1 个物理地址来说, 可以唯一地被包含在 1 个逻辑段中,也可以被包含在多个相互 重叠的逻辑段中, 只要能得到它所在段的首地址和段内的相对地址,就可以对它 进行访问。在 8086/8088 存储空间中,从 0 地址开始,把每 16 个连续字节的存 储空间称为小节。为了简化操作,逻辑段必须从任一小节的首地址开始。这样划 分的特点是:在 16 进制表示的地址中,最低位为 0(即 20 位地址中的低 4 位为 0)。在 1MB 的地址空间中,共有 64KB 小节。 综上所述,分段的原则如下: (1) 每个段的最大长度为 64KB; (2) 段的首地址能被 16 整除。 8086/8088 中,每一个存储单元都有一个唯一的 20 位地址,称此地址为该 存储单元的物理地址。CPU 访问存储器时,必须先确定所要访问的存储单元地址 才能取得该单元的内容。20 位的物理地址由 16 位的段地址和 16 位的段内偏移 地址计算得到。段地址是每一逻辑段的起始地址,必须是每个小节中的首地址, 其低 4 位一定是 0,于是在保留段地址时,可以只取段地址的高 16 位。偏移地 址则是在段内相对于段起始地址的偏移值。 因此任一存储单元物理地址的计算方 法如下: 物理地址 = 16 D × 段地址 + 段内偏移地址 在微型计算机中,设有 4 个存放段地址的寄存器,称为段寄存器。它们是代 码段寄存器 CS,数据段寄存器 DS,附加段寄存器 ES,堆栈段寄存器 SS。