8086存储器组织和IO组织 奇偶分体
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组织 奇偶分体的更多相关文章
- 递归方法,查询出树该组织及以下组织的组织ID
-- 查询出该组织下所有组织id的集合 --方法一: public String getAllOrgidsTwo(Integer orgid){ List<Integer> orgids= ...
- Dynamic CRM 2015学习笔记(4)修改开发人员资源(发现服务、组织服务和组织数据服务)url地址及组织名
在azure vm上安装了CRM 2015后 Dynamic CRM 2015学习笔记(1)Azure 上安装 CRM 2015, 发现了一个问题,那就是在设置 ->自定义项 –> 开发人 ...
- 存储器、I/O组织、微处理器
重点知识 存储器的内部结构及访问方法 存储器分段以及存储器中的逻辑地址和物理地址 I/O端口组织及编址方式 时序和总线操作以及系统的工作方式和特点. 存储器组织 8086有20根地址线,可寻址的存储器 ...
- PMP杂谈--项目组织,矩阵组织,职能型组织,复合型组织
(1)项目组织的优缺点:优:项目经理权力大:缺:解散时焦虑.没有提拔权力,不利于专业技术积累,设备反复.难以保证资源的充分利用. (2)矩阵组织的优缺点:优:资源利用率高,横向信息沟通.项目经理权力提 ...
- 【SAP业务模式】之ICS(四):组织单元的配置
SAP的ICS业务后台配置主要有以下几个配置点: 1.组织单元的配置(公司代码.销售组织.工厂.采购组织等): 2.主数据的部分: 3.订单和开票的定价过程: 4.开票输出类型: 5.公司间发票的配置 ...
- Module-Zero之组织单元(OU)管理【新增】
返回<Module Zero学习目录> 概览介绍 OrganizationUnit实体 OrganizationUnit管理者 公共用例 设置 概览介绍 组织单元(Organization ...
- Ansible-Tower快速入门-8.创建组织【翻译】
创建组织 首行,点击组织标签,组织中将包括有:用户,团队,项目,和清单等项,在tower的对象层级中,组织是最高级对象. 然后,点击增加按钮,如: 为所创建的组织键入一个简单的名称和描述,这些信息你在 ...
- Oracle 组织架构(转)
原文地址:Oracle 组织架构 我们先来看一下实际生活中的集团组织架构. 下图是一个典型的投资集团组织架构. 集团在各个国家有独立的法人. 每个法人会负责若干个业务进行,比如石油开采,汽车制造,软件 ...
- SAP-MM:创建采购组织、采购组
创建采购组织 路径:SPRO – IMG – 企业结构 – 定义 – 物料管理 – 维护采购组织 操作: Step 1.点击"新条目". Step 2.维护"采购组织 ...
随机推荐
- 剑指 Offer 36. 二叉搜索树与双向链表
剑指 Offer 36. 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的 ...
- client-go实战之四:dynamicClient
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Excel导入保存附件和解析数据
Excel导入保存附件和解析数据 一,前端上传附件的组件 1.先给一个下载模板的按钮 // 下载Excel模板 downLoadExcel: function () { window.open(GLO ...
- 真香!原来 CLI 开发可以这么简单
CLI(命令行工具,Command Line Interface)大家都非常熟悉了,比如 create-react-app 等.我们今天介绍一个 CLI 工具的开发框架,可以帮助我们快速构建 CLI ...
- CodeForce-813B The Golden Age(数学+枚举)
The Golden Age CodeForces - 813B 题目大意:如果一个数t=x^a+y^b(a,b都是大于等于0的整数)那就是一个unlucky数字.给你x,y,l,r(2 ≤ x, y ...
- HDU1166敌兵布阵(线段树单点更新)
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点. 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b ...
- supermvc 操作备要
模板暂时仅支持smarty,需要指定模板文件 系统配置文件在supermvc文件夹下 sconfig.php 修改项目目录下的conf下的config.php 会覆盖系统默认配置 contro ...
- Docker系列(21)- DockerFile介绍
DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤 编写一个dockerfile文件 docker build构建成为一个镜像 docker ru ...
- Linux系列(14) - grep
简述 grep是在文件当中匹配符合条件的字符串,作用是查找文件内容 格式 grep [选项] 字符串 文件名 选项 -i:忽略大小写 -v:排除指定字符串 -n:显示行号 例子 grep " ...
- Linux系列(27) - 三剑客grep、awk、sed
Linux下一切皆文件,对Linux的操作就是对文件的处理 Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep 正则表达式就好比一个模版,这个模板就 ...