当前位置:首页 » 存储配置 » 8086存储器分段

8086存储器分段

发布时间: 2022-11-17 06:52:08

‘壹’ 8086系统中存储器采用什么结构用什么信号来选中存储体

8086采用的是分段式存贮结构

8086的地址线为20位,最大寻址空间为2~20=1 MB。8086内部的寄存器都是16位,对地址的运算也是16位,而16位的最大寻址范围为2~16=64
由此可以知道其需要4个段地址来寻址
4个段地址的寄存器分别是:

代码段寄存器:CS(Code Segment);

数据段寄存器:DS(Data Segment);

堆栈段寄存器:ss(stack Segment);

附加段寄存器:ES(Extra Segment)。

他是通过m/io信号的电平高低来决定是进行读存贮器(m信号)和输入输出(io信号)的

‘贰’ 8086cpu把1MB 的内存空间分成几个逻辑段

8086cpu把1MB 的内存空间分成一个段,范围就是64K。

段和段,可以重叠,甚至可以完全重合,即共用同一个64K。那么,就是可以随便分,多少段都行。如果不重叠,最多就是分成16个段,因为:16 × 64K = 1M。

8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

(2)8086存储器分段扩展阅读

8086类型的CPU地址总线宽度为20,寻址能力相当于2的20次方,数据总线为16,一次性传递数据2B,读取1k数据需要512次。8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

8086CPU最大可访问1MB的存储空间。8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

微机原理中提到在计算机硬件中传递的高低电平的2进制信号,1根是2的1次方,2根是2的2次方,以此类推20根就是2的20次方,也就是2^10*2^10--2的10次方乘以2的10次方,也就是1024*1024=1MB。这样才可以在8086工作在任何状态下都可以保证数据通道不会阻塞。

‘叁’ 为什么8086对存储器要采用分段管理

8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围(1MB,20位地址)。

这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。

(3)8086存储器分段扩展阅读:

8086处理器的时钟频率介于4.77MHz(在原先的IBM PC频率)和10 MHz之间。8086 没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。Intel 8087 是标准版本。

分段管理是管理若干分段组成的作业,且按分段来进行存储分配。实现分段管理的关键在于,如何保证分段(二维)地址空间中的一个作业在线性(一维)的存储空间中正确运行。也就是说,如何把分段地址结构变换成线性的地址结构。

‘肆’ 在基于8086的微计算机系统中,存储器是如何组织的

分段组织, 把1MB内存划分成若干个存储区域,每个区域称为一个逻辑段(每个段都在一个连续的存储区域内,容量最大64KB)。8086规定每个段的段起始地址必须能被16整除,其特征是:20位段起始地址的最低4位为0(用16进制表示为××××0H)。暂时忽略段起始地址的低4位,其高16位(称段基址)可存放在16位的寄存器中。段基址可确定某个段在内存中的起始位置,而段中某个单元在该段中的位置则可由该单元在段内相对于段起始地址的偏移量(称偏移地址,也为16位)来决定。也就是说,内存中某单元的位置可用16位的段基址和16位的偏移地址确定。
当CPU访问存储单元时,先由段寄存器提供存储单元所在段的段基址。然后段基址被左移4位(乘16),即恢复段起始地址,再与待访问存储单元的偏移地址相加,可得到该单元的20位物理地址。这样一来,CPU寻址范围可达1MB。

‘伍’ 8086系统中的存储器为什么要采用分段结构有什么好处

8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段基址和偏移地址两部分构成。

这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。

各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

(5)8086存储器分段扩展阅读

把段的起始单元的物理地址除以16的结果称为段地址,它为16位,写成十六进制是4位:XXXXH。显然,段地址决定了段在lMB空间中的位置。段内各存储单元相对段的起始单元都有一个距离,称为段内偏移量。

在对内存进行操作时,段地址先确定下来,然后给出不同的段内偏移量,就可以实现段内的寻址。段地址也是可以改变的,即段在1MB空间中的位置是可变的,因而可实现1MB的全范围寻址。

由于采用了分段结构,因此可以把每一个存储单元看成是具有两种类型的地址:物理地址和逻辑地址。物理地址就是实际地址,它具有20位的地址值,它惟一地标识1MB存储空间的某一存储单元。CPU与存储器之间的信息交换都是使用这个物理地址。

逻辑地址是编程时所使用的地址,它由段地址和段内偏移量组成。逻辑地址和物理地址的关系为:物理地址=段地址16+段内偏移量。由逻辑地址形成物理地址是由总线接口部件中的电路实现的。

‘陆’ 8086/8088cpu使用的存储器为什么要分段怎样分段

8086CPU将1MB存储器空间分成许多逻辑段(.SEGMENT),每个段最大限度为64KB,内部结构中和程序设计时采用逻辑段管理内存,就形成了逻辑地址,表达成“段基地址:偏移地址”。

‘柒’ 8086cpu使用的存储器为什么要分段

8086/8088CPU的寄存器是16位,最大值FFFF即64K,而8086/8088的内存有640K,显然用一个寄存器不能寻找大于64K的地址,因此采用了的段地址加偏移地址的寻址方式CS:IP,这样最大寻址范围扩大到FFFFF,即640K,从而满足了DOS操作系统的需要。

80386以上的CPU寄存器是32位,所能表达的地址最大值是FFFFFFFF,即4G,只要内存不超过4G,用一个寄存器就能定位所有内存地址,所以在80386以上的CPU中,就取消了分段的概念。当然,80386以上的CPU,还是兼容8086/8088的指令模式的,即实模式。

‘捌’ 8086cpu为什么要对存储器采用分段管理一个逻辑段最多包含多少个存储单元

只要学过汇编的人都知道8086处理器对存储器采用分段管理机制,为什么要这么设计呢?采用线性地址直接访问存储器该多好,直接明了。

其实Intel的工程师绝对不会那么傻,当然是有他的道理:

首先,地址总线有20根,可寻址1M的地址空间,而寄存器是16位,仅能寻址64K,总不能白白浪费多出来的空间。要知道在8086的那个年代,内存是非常昂贵的。

所以Intel的工程师想出了分段管理的方法:段地址x4+偏移地址。

另外,分段管理还有利于代码的组织,对内存实现有效的管理。例如,将代码段、数据段隔离等。

学习过程中,如果按照书中所描述,照搬的学习,既不方便记忆,也不能将知识融会贯通。

‘玖’ 8086/8088CPU使用的存储器为什么要分段怎么分段

8086/8088系统中,存储器为什么要分段。

一个段最大为多少字节。

最小为多少字节。

解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。

一个段最大为64KB,最小为16B。

(9)8086存储器分段扩展阅读:

段的开始地址总是是16的倍数。即:若一个段的起始地址为0000h,那么另一个段(重叠第一个段)的起始地址将为:0010h(即16),下一个段的起始地址将为0020h(32)。

一个段的段号由其物理地址的前4个16进制数组成。(如:FFFF)

通常,程序只写出偏移量(从段的第一个字节到要定位地址的距离),段号可以通过上下文判断。偏移量大小从0000到FFFF。

‘拾’ 8086/8088系统中,存储器为什么要分段,一个段的最大和最小各为多少字节

8086/8088系统中,存储器为什么要分段?一个段最大为多少字节?最小为多少字节? 解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。

热点内容
手机传奇脚本制 发布:2025-07-20 15:39:53 浏览:702
ftp提权怎么做 发布:2025-07-20 15:28:18 浏览:641
织梦上传首页 发布:2025-07-20 15:22:38 浏览:457
个人服务器博客如何提升速度 发布:2025-07-20 15:09:34 浏览:676
dnf台服辅助源码 发布:2025-07-20 15:05:55 浏览:185
一梦江湖需要什么配置的笔记本 发布:2025-07-20 15:05:51 浏览:282
程序设计语言C 发布:2025-07-20 14:55:48 浏览:219
路由器管理里的密码是什么意思 发布:2025-07-20 14:54:08 浏览:969
安卓系统怎么取消来电转移 发布:2025-07-20 14:50:56 浏览:486
bf3什么配置好 发布:2025-07-20 14:42:34 浏览:136