8086的存储器组织

存储器的基本存储单位是字节,每个字节用唯一的地址码表示。

  • 若存放的信息是8位的字节数据,将按顺序存放;
  • 若存放的信息是16位的字数据,则将字的高位字节放在高地址中,低位字节放在低地址中(8086属于小端处理器);
  • 若存放的信息是32位的双字指针数据,其低位地址中的字数据是偏移量,高位地址中的字数据是段基址。

存储器引脚

地址线 A0- An 地址输入用来选择存储器件中的一个存储单元。
数据线 D0-Dn 通过数据线输入数据存储,也能够提取数据。
选择线 CS*(片选) 选择线上信号为逻辑0时,存储器件执行一次读或写操作。如果是逻辑1,则存储器件不能进行读或写操作(处于禁用状态)
控制线 OE* WE* OE*(Output Enable),WE*(Write Enable)

字数据的存取——奇偶分体

为了能对存储器进行字节寻址和整字(16位)的读写,把存储器分成容量相等的两个字节存储体——“偶存储体”和“奇存储体”,所谓奇偶分体。

如图所示,相邻的地址位于不同的存储体中,属于低位多体交叉存储器

  • 偶存储体同DB的低8位D7-D0相连
  • 奇存储体同DB的高8位D15-D8相连
  • AB的An-A1同两个存储体中的地址线An-1-A0
  • 最低位地址线A0和BHE*用来选择存储体(根据半字边界对齐的要求,最低位默认为0,A0可移做他用)

这样可以选择:

  • 传送两个字节(整字数据)
  • 传送奇地址的高位字节
  • 传送偶地址的低位字节

存放字数据时:

  • 低地址为偶数,高地址为奇数存放的字被称为规则字
  • 低地址为奇数,高地址为偶数存放的字被称为非规则字

读取规则字时,D7-D0传输偶存储体中的低8位数据,D15-D8传输奇存储体中的高8位数据。

读取非规则字时,因为A0地址线用作了奇偶体选择,所以存储器收到的地址都是偶数,不能从起始的奇数地址开始读。所以读取非规则字时,需要分开读取。

第一个总线周期 D15-D8从奇地址单元读取数据高8位
第二个总线周期 D7-D0从偶地址单元读取数据的低8位。

对于8086,非规则字的读取需要两个总线周期,规则字的读取只需要一个总线周期
对于8088,非规则字和规则字都要用两个总线周期(8088仅有8条数据线,16位的数据一定要读两遍)。

微机原理的问题:为什么8086存取一个非规则字比存取一个规则字多用一个总线周期?

分段管理

8086有20根地址线,拥有220=1M字节的内存空间,但8086的内部寄存器是16位的,只能直接寻址64KB的地址空间(216字节),为此16位微处理器引入分段概念。
8086把1MB空间分为若干逻辑段,每个段最多可以包含64KB的连续存储单元。
段和段之间可以是连续的,分开的,部分重叠的或完全重叠的。
每个段的起始地址值又叫段基址(Base Address),段区的分配工作由操作系统完成,也允许程序员手动指定。

物理地址和逻辑地址

物理地址:
CPU和存储器进行数据交换时使用的地址,是唯一能够表示存储空间每个字节单元的地址。用20位二进制数或5位十六进制数表示。
逻辑地址:
由两部分组成

  • 段基址
  • 偏移量

偏移量是指存储单元所在位置离段基址的偏移距离,又称偏移地址。基址和逻辑地址都用无符号16位二进制数或4位十六进制数表示。

物理地址 = 逻辑地址左移4位 + 偏移地址(通过地址加法器完成)

段基址来源于4个段寄存器,偏移地址来源于SP,BP,SI,DI和IP

I/O组织

8086系统和外设之间都是通过I/O芯片联系的。每个I/O芯片都有一个端口或者几个端口,一个端口对应芯片内部的一个寄存器或者一组寄存器。微机系统要为每个端口分配一个地址,这个地址叫端口号。
8086是用地址线的低16位来寻址8位I/O端口的,因此CPU可访问216 = 65536个I/O端口,并且,I/O端口的64KB寻址空间不需要分段。

通过M/IO*信号可以区分当前访问的是存储器还是I/O地址

8086存储器组织和IO组织 奇偶分体相关推荐

  1. 【微机原理作业】8086存储器读写实验

    一.作业要求 利用 2764 和 6264 在 8086 最小模式下扩展 16K ROM 和 16K RAM ,对其地址进行读写(注意数据的偶对齐). 将2764某一段数据读出并写入6264,详细展示 ...

  2. 如何打造企业的组织能力?战略决定组织,而组织决定成败!

    著名管理大师钱德勒总结过一个黄金定律:战略决定组织,而组织决定成败.所以企业成功=战略×组织能力.组织能力就是团队整体所发挥的战斗力. 比如疫情这个黑天鹅,对一些公司是一种打击,对另一些公司却是一个重 ...

  3. sql server 2008学习3 表组织和索引组织

    表组织 表包含在一个或多个分区中,每个分区在一个堆或一个聚集索引结构包含数据行.堆页或聚集索引页在一个或多个分配单元中进行管理,具体的分配单元数取决于数据行中的列类型. 聚集表.堆和索引 SQL Se ...

  4. 系列报道 | 组织范式“青色组织”兴起:员工骨子里透出愉悦积极气质

    一种定义为"Teal青色组织"的商业组织模式,正在全球悄然兴起. 它摒弃丛林式的狼性至上,不偏重KPI式的绩效考核,提倡人该如何快速突破认知局限,驾驭未知与变化,在不确定中拥有持续 ...

  5. 如何在github上创建组织并对组织进行管理和团队协作开发项目

    日期: 2016-7-25 内容: 尊重原创: 本文转载至: http://www.cnblogs.com/haore147/p/4219673.html 2015-01-12 20:32 by 慧可 ...

  6. 组织创新|组织在线化——加速企业组织数字化转型

    新冠疫情促使企业面临的外部竞争进一步加剧.需求不确定性大幅提升,但也为组织数字化转型带来重要机遇.随着"组织在线化运行"开始在各行业普及,企业将业务流程和协作活动搬到线上.传统组织 ...

  7. ftp文件夹错误无法访问此文件夹_你不能访问此共享文件夹,因为你组织的安全策略组织未经身份验证的来宾访问。...

    win10 访问打印机共享,不安装打印的电脑,通过开始运行\\192.168.2.5,未加密 NAS,或者有 everyone 权限的共享文件夹时,提示"你不能访问此共享文件夹,因为你组织的 ...

  8. 8086存储器编址 和 I/O编址

    1)存储器编址 由于微处理器内部的寄存器和ALU都是16位的,为了方便20位的地址管理,在8086对存储器管理的设计中,采用了分段管理的技术. 采用分段方法进行编址的优点: 减少指令长度,提高指令执行 ...

  9. DSP关于存储器读写、IO读写时序图的注意点

    这里的存储器图不涉及插入等待周期. IO设备的图可以自行减去插入等待周期,然后观察. 存储器读读写 存储器写写读 I/O设备读写操作

最新文章

  1. oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
  2. 清除重复记录只保留一条
  3. LeetCode:位运算实现加法
  4. linux 调用默认程序打开文件,Excel VBA如何使用默认应用程序打开文件
  5. mysql 联合索引 性能_mysql:联合索引及优化
  6. Color the ball(树状数组区间更新+单点求值)
  7. 通过SCVMM分配SMB 3.0 文件共享
  8. markdown与latex:书写单边大括号左边或右边即在没有括号的一端加点
  9. VC绘制控件如何防止闪烁
  10. TortoiseSVN中Branching和Merging实践
  11. Windows下安装dilb解决方法
  12. Fiddler使用和数据抓包
  13. 电压电流测量模块在matlab,MATLAB仿真时用simulink的RMS模块测量电压有效值,总提示如下警告,怎么破,跪求?...
  14. 大学如何自学嵌入式开发?
  15. FreeIPA问题记录
  16. 外卖行业现状分析_中国在线餐饮外卖行业分析报告(附全文)
  17. C++语法(二十)常函数、常对象
  18. P3374 【模板】树状数组 1( 单点修改 + 区间查询 )
  19. The authenticity of host 'localhost (127.0.0.1)' can't be established的处理方法
  20. Unity 制作图集

热门文章

  1. Java微服务开发流程及详细案例
  2. 【插画与美文】 平静而幸福的画面——福井良佑水彩
  3. 特征提取(三)SURF算法详解
  4. C++ 武将排序简写
  5. eclipse java底部输入框不见解决
  6. 如何使用Google Chrome的画中画模式
  7. 15.Vue的键盘事件
  8. 数字化转型,企业为什么要转型?如何转型?
  9. Pygame:飞机大战5(详细解读)
  10. 鸿蒙平板好用吗,能装“APP”的手表?华为鸿蒙手表平板来了!这钱要不要花?...