存储器知识点小结_第1页
存储器知识点小结_第2页
存储器知识点小结_第3页
存储器知识点小结_第4页
存储器知识点小结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CPU 工作的实质即为不断从内存中取指令并执行指令的过程不断从内存中取指令并执行指令的过程 一 一 8086CPU 构成构成 CPU 的工作 取指令和执行指令 1 CPU 内部两大功能部件 总线接口部件 BIU 和执行部件 EU 2 部件并行工作提高 了 CPU 的工作效率 重点 理解 2 个独立功能部件的分工和协同配合关系 理解 BIU 内地址加法器的作用 理解指令队列的作用 2 掌握 CPU 内部寄存器的作用 包括 通用寄存器 AX BX CX DX BP SP SI DI 段寄存器 CS DS SS ES 指令指针寄存器 IP 标志寄存器 FLAG 二 存储器的基础知识二 存储器的基础知识 1 物理地址 物理地址 8086 的存储器是以字节 即每个单元存放 8 位二进制数 为单位组织的 8086CPU 具有 20 条地址总线 所以可访问的存储器地址空间容量为 220 即 字节 表示为 1MB 每 个单元对应一个唯一的 20 位地址 对于 1MB 存储器 其地址范围用 16 进制表示为 00000H 0FFFFFH 如图 1 所示 图图 1 1MB 存储器地址表示存储器地址表示 物理地址物理地址 存储器的每个单元都有一个唯一的 存储器的每个单元都有一个唯一的 20 位地址 将其称为物理地址 位地址 将其称为物理地址 2 字节地址与字地址 字节地址与字地址 存储器内两个连续的字节 定义为一个字 一个字中的每个字节 都有一个字节地址 每个字的低字节 低 8 位 存放在低地址中 高字节 高 8 位 存放在高地址中 字的地字的地 址指低字节的地址址指低字节的地址 各位的编号方法是最低位为位 0 一个字节中 最高位编号为位 7 一 个字中最高位的编号为位 15 字数据在存储器中存放的格式如图 2 所示 地址低端地址低端 地址高端地址高端 图 2 字数据在存储器中的存放 3 单元地址与内容单元地址与内容 图 3 如图 3 地址是 00100H 的字节单元的内容为 27H 表示为 00100H 27H 图 3 中字数据 3427H 存放在地址是 00100H 和 00101H 的两个字节单元中 其中低字节 27H 在低地址的字节单元 00100H 中 高字节 34H 在高地址的字节单元 00101H 中 字数据 3427H 的地址是低地址 00100H 地址是 00100H 的字单元的内容为 3427H 表示为 00100H 3427H 可见 一个地址既可作字节单元的地址 又可作字单元的地址 视使用情况而定 总结 字节单元 00100H 27H 字单元 00100H 3427H 设寄存器 DS 0000H 用 MOV 指令访问字节单元 MOV AL 0100H 用 MOV 指令访问字单元 MOV AX 0100H 三 存储器的分段三 存储器的分段 1 为什么要分段 8086CPU 有 20 位地址总线 可寻址的最大内存空间达 1M 字节 地址范围为 00000H 地址低端地址低端 地址高端地址高端 内容 单元地址 0FFFFFH 内存中每个字节单元有唯一的 20 位物理地址 CPU 存取内存中的程序和数据必存取内存中的程序和数据必 须使用须使用 20 位物理地址 位物理地址 问题 8086 CPU 访问 1MB 空间的内存必须有 20 位地址 而其内部的寄存器均为 16 位的 那么在传输地址时一次只能传输 16 位地址 即只能访问 64K 字节地址空间 8086 CPU 应如何提供 20 位地址 以寻址 1MB 内存 2 如何分段 为了使 8086 CPU 能访问到 1MB 内存空间中任何一个单元 8086 巧妙地采用了地址 分段方法 即将 1MB 空间分成若干个逻辑段 从而将寻址范围扩大到了 1MB 分段的规则 1 为了能在 1MB 空间内进行全范围寻址 即可访问到 1MB 存储器的任何一个存储 单元 把 lMB 存储器分成若干段 segment 每一段最大为 64KB 2 在分段时 要求段起始单元的 20 位物理地址的低 4 位全为 0 即是 16 的整数倍 写成十六进制 最后一位应是 0 即 XXXX0H X 为任一个十六进制数码 图 4 分段示意图 分析 既然段起始地址的低 4 位为零 则只需将段起始地址的高 16 位保存到 CPU 内 部的寄存器中 保存段起始地址的寄存器称之为段寄存器 3 有关内存地址的概念 段基址段基址 将段起始地址的高 16 位称为段基址 偏移量偏移量 段内各存储单元相对段的起始单元都有一个距离 称为段内偏移量 又称偏 移地址或有效地址 EA 因段的大小不超过 64KB 所以段内任何一个单元距离段首的偏移量均在 0000H FFFFH 之间 即偏移量可以用一个 16 位二进制数表示 总结 段基址决定了一个段在内存的开始位置 即段首地址 偏移地址描述了该单元 与段首的距离 可见 由段基址与偏移地址可描述出一个单元在内存的空间位置 例如 一个单元所 在段的段基址为 1234H 该单元与段首的距离为 2 该单元在内存的位置表示如图 5 图 5 内存单元的物理地址与逻辑地址表示 把 1MB 的存贮空间分成若干个逻辑段以后 对一个段内的任意存贮单元 都可以用两 部分地址来描述 一部分地址为段基址 另一部分为段内偏移地址 有效地址 EA 段基址 和段内偏移地址都是 16 位二进制数 常用 4 位十六进制数表示 逻辑地址逻辑地址 使用段基址 偏移地址段基址 偏移地址表示内存单元的地址形式称为逻辑地址 上图中单元的地址用逻辑地址表示为 1234H 0002H 4 物理地址的形成 在整个 1M 地址空间中 存储单元的物理地址等于段起始地址加上段内偏移 存储单元的物理地址等于段起始地址加上段内偏移 已知某存储单元的逻辑地址 该单元的物理地址 PA 的计算方法为 物理地址 段基址 10H 段内偏移地址 8086CPU 的总线接口部件 BIU 中设置了地址加法器 它用来完成物理地址的计算 图6 物理地址的形成 例 1 某单元的逻辑地址为 1234H 1000H 则该存储单元的物理地址为 物理地址 PA 段地址 10H EA 1234H 10H 1000H 12340H 1000H 13340H 例 2 物理地址为 00020H 单元 其逻辑地址可以有 0000H 0020H 和 0001H 0010H 12340H 段首 物理地址表示 段首 物理地址表示 地址低端地址低端 地址高端地址高端 该单元所在的段基址为 1234H 它距离段首偏移 2 个单元 逻辑地址表示 1234H 0000H 逻辑地址表示 1234H 0002H 可见 一个单元的物理地址是唯一的 逻辑地址确有多个 可见 一个单元的物理地址是唯一的 逻辑地址确有多个 5 信息的分段存储与段寄存器的关系 用8086汇编语言编写程序时 要把程序中的不同信息安排在不同的段 而程序中的信 息包括 程序 代码 信息 数据信息 堆栈信息 其中 代码信息存放在代码段 其地址由CS IP提供 堆栈信息存放在堆栈段 其地址由SS SP提供 数据信息 通常情况下 存放在数据段 段基址由DS提供 当然也可以存放在附加 数据段 段地址由ES提供 其段内偏移地址依据寻址方式的不同来求得 图 7 信息的分段存储与段寄存器的关系 其中段基址由段寄存器提供 CS 提供当前代码 程序 段的段基址 DS 提供当前数据段的段基址 SS 提供当前堆栈段的段基址 ES 提供当前附加数据段的段基址 一个存储单元用逻辑地址表示后 CPU 访问该单元时应提供两部分地址 段基址和段 内偏移地址 CPU 访问内存时 根据对应的操作 形成段基址和偏移地址 具体来说 当 CPU 从内存取指令取指令时 由寄存器 CS 提供代码段的段基址 由指令指针寄存器 IP 提供 指令所在单元的偏移地址 在取指令时 CPU 会自动引用代码段寄存器 CS 再加上由 IP 所给出的 16 位段内偏移 得到要取指令的物理地址 当进行堆栈操作时 由寄存器 SS 提供堆栈段的段基址 由寄存器 S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论