版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.1.2.3 8086 的存储器组织的存储器组织 一、存储器一、存储器地址空间和数据存储格式地址空间和数据存储格式 8086 的存储器是以字节(8 位)为单位组织的。它们具有 20 条地址总线,所以可寻址的存储器地址空间容量为220 B(约1 MB)。每个字节对应一个唯一的地址,地址范围为0220-1(用十六进制表示为 00000FFFFFH)。如下图 所示。 存储器内两个连续的字节,定义为一个字。一个字中的每个字节,都有一个字节地址,每一个字的低字节(低 8 位)存放在低地址中, 高字节(高 8 位)存放在高地址中。 字的地址指低字节的地址。各位的编号方法是最低位(LSB)为位 0。一个字
2、节中,最高位(MSB)编号为位 7; 一个字中最高位的编号为位 15。 8086 允许字从任何地址开始。字的地址为偶地址时,称字的存储是对准的,若字的地址为奇地址时,则称字的存储是未对准的。 二、存储器二、存储器的分段和物理地址的形成的分段和物理地址的形成 从前面的介绍可知,8086 CPU地址总线 20 条, 存储器地址空间为 1 MB。但CPU内部可以提供地址的寄存器BX、 IP、SP、BP、SI和DI及算术逻辑运算单元ALU都是 16 位, 只能直接处理 16 位地址,即寻址范围为 64 KB, 因此, 扩大寻址范围成为一个难题。8086 CPU巧妙地采用了地址分段方法, 将寻址范围扩大
3、到 1 MB。 在 8086 中,把 1 MB的存储器空间划分成若干个逻辑段, 每段最多为空间容量是 64 KB的存储单元。各逻辑段的起始地址必须是能被 16 整除的地址,即段的起始地址的低 4 位二进制码必须是 0。一个段的起始地址的高 16 位被称为该段的段地址。 显然,在 1 MB的存储器地址空间中,可以有216个段地址。 任意相邻的两个段地址相距 16 个存储单元。段内一个存储单元的地址,可用相对于段起始地址的偏移量来表示,这个偏移量称为段内偏移地址,也称为有效地址EA。 偏移地址也是 16 位的,所以,一个段最大可以包括一个 64 KB的存储器空间。 由于相邻两个段地址只相距 16
4、个单元,所以段与段是互相覆盖的,如下图 所示。 每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码。在CPU与存储器之间进行任何信息交换时,需利用物理地址来查找所需要访问的存储单元。 逻辑地址由段地址和偏移地址两部分组成。段地址和偏移地址都是无符号的 16 位二进制数,常用 4 位十六进制数表示。 逻辑地址的表示格式为:段地址 偏移地址。例如 8000 0100 表示段地址为 8000H,偏移地址为 0100H。上述格式中的段地址有时用段寄存器代替。 知道了逻辑地址, 可以求出它对应的物理地址:物理地址=段地址10H+偏移地址 (3 - 1) 因此 8000 0100 的物理地址
5、为 80100H。 8086 CPU中BIU单元的加法器用来完成物理地址的计算, 如下图 所示。 在访问存储器时,段地址总是由段寄存器提供的。8086 微处理器的BIU单元设有 4 个段寄存器(CS、 DS、 SS、 ES), 所以CPU可通过这 4 个段寄存器来访问 4 个不同的段。 8086/8088CPU中有一个地址加法器,它将段寄存器提供的段地址自中有一个地址加法器,它将段寄存器提供的段地址自动乘以动乘以10H即左移即左移4位,然后与位,然后与16位的偏移地址相加,并锁存在物理位的偏移地址相加,并锁存在物理地址锁存器中。地址锁存器中。物理地址物理地址=段基址段基址 * 10H +偏移地
6、址。偏移地址。段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。 所谓段基址就是逻辑段的首地址,存放在所谓段基址就是逻辑段的首地址,存放在CS、DS、ES、SS4个个16位寄存器中。位寄存器中。 所谓偏移地址是指一个存储单元与它所在段的基址之间的距离(所谓偏移地址是指一个存储单元与它所在段的基址之间的距离(以字节数计)。以字节数计)。段寄存器值段寄存器值偏移量偏移量+物理地址物理地址16位位4位位16位位20位位存储器物理地址的计算方法存储器物理地址的计算方法三、信息的信息的分段存储与段寄存器的关系分段存储与段寄存器的关系 段寄存器的利用不仅使存储
7、器地址空间扩大到 1 MB, 而且为信息按特征分段存储带来了方便。存储器中的信息可分为程序、 数据和计算机的状态等信息。为了操作方便,存储器可相应地划分为:程序区,该区存储程序的指令代码;数据区, 它存储原始数据、中间结果和最后结果;堆栈区,用以存储需要压入堆栈的数据或状态信息。段寄存器的分工是: 代码段寄存器CS划定并控制着程序区;数据段寄存器DS和附加段寄存器ES控制着数据区;而堆栈段寄存器SS对应着堆栈存储区。 下表列出了各种类型访问存储器时所要使用的段寄存器和段内偏移地址的来源,它规定了为各种目的访问存储器时所形成的 20 位物理地址的原则。这个表的要点如下: (1) 任何类型访问存储
8、器时,其段地址要么由默认段寄存器提供,要么由“指定”的段寄存器提供。所谓默认段寄存器是指在指令中不用专门的信息指定另外一个段寄存器的情况。 这时就由默认段寄存器提供访问内存的段地址。实际程序设计时,绝大多数属于这种情况, 因此要熟记各种类型访问内存时的段寄存器。有几种类型访问存储器时允许指定另外的段寄存器,这为访问不同的存储器段提供了灵活性。段寄存器的指定是靠在指令码中增加一个字节的前缀码实现的。有些类型访问存储器时不允许指定另外的段寄存器,它们是: 为取指令码访问内存时,段寄存器一定是CS;堆栈操作时, 段寄存器一定是SS;字符串处理指令的目的地址,其段寄存器一定是ES。 (2) 段寄存器D
9、S、 ES和SS的内容是用传送指令置入的, 但任何传送型指令不能向段寄存器CS中置入数。更改段寄存器的内容, 将意味着存储区的移动。这说明无论程序区、数据区还是堆栈区都可以不限于 64 KB的容量,都可以通过重置段寄存器内容的方法予以扩大,而且各存储区都可以在存储器中浮动。(3)、堆栈段的使用、堆栈段的使用 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式。 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定,堆栈地址由高向低增长,栈底设在存储器的高地址区。三、 8086的最小和最大模式系统配置的最小和最大模式系统配置 8086CPU可工作在最小模式和最大模式两种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江省山区海岛县机关单位专项招录公务员324人备考题库含答案详解(综合题)
- 2026中国疾病预防控制中心(中国预防医学科学院)政策规划研究室招聘备考题库及1套完整答案详解
- 2026湖北十堰市房县风雅演艺有限公司演职人员招聘20人备考题库及参考答案详解1套
- 2026库尔勒市兰干乡人民政府公开招募村级见习岗备考题库(15人)及答案详解(新)
- 浙江丽水云和县文元育英中学招聘3人备考题库含答案详解(完整版)
- 2026“才聚齐鲁 成就未来”山东黄河生态发展集团有限公司招聘10人备考题库附答案详解(培优b卷)
- 2026上海复旦大学先进材料实验室程熠课题组招聘全职博士后2人备考题库及答案详解(典优)
- 2026浙江杭州市文三教育集团定山小学招聘语文老师(非事业)1人备考题库及完整答案详解一套
- 2026北京交通大学物理工程学院招聘1人备考题库含答案详解(模拟题)
- 2026广西百色市西林县古障镇中心小学招聘后勤人员1人备考题库及答案详解参考
- DBJ∕T 15-200-2020 宜居社区建设评价标准
- 中国电气装备集团储能科技有限公司招聘笔试题库2025
- 雨课堂在线学堂《中国建筑史-元明清与民居》课后作业单元考核答案
- 2025年PCS-978变压器保护课件
- 机场助航灯光安装方案
- 初中七年级词性综合测试题及解析
- 2025年青海省西宁市城区中考化学试卷真题(含答案)
- 肿瘤的预防教学课件
- 先张法预应力混凝土管桩
- 绿化工安全教育培训课件
- 2025年全国中小学生天文知识竞赛试题库(含答案)
评论
0/150
提交评论