当前位置:首页 » 存储配置 » 存储段基址

存储段基址

发布时间: 2024-08-31 14:20:12

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

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

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

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

(1)存储段基址扩展阅读

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

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

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

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

❷ 8086cpu中段寄存器是用来存放存储器的段基址还是存储器的逻辑地址

消蚂你问的是8086架构的CPU吧,看的很眼熟,很多年都没接触了。8086中有4个16位的段寄存器:CS、DS、SS、ES,分别用于存放可执行代码的代码段、数据段、堆羡森栈段和其他段的基地址。x0dx0a其中,段寄存器CS指向存放程序的内存段,IP是用来存兄桥亩放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。x0dx0a段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。x0dx0a段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。通常,缺省的数据段寄存器是DS。

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

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

一个段最大为多少字节。

最小为多少字节。

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

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

(3)存储段基址扩展阅读:

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

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

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

热点内容
云服务器网关系列 发布:2024-11-25 01:00:42 浏览:971
图灵姬编程 发布:2024-11-25 00:52:40 浏览:314
编译好的程序不闪一下就没了 发布:2024-11-25 00:48:51 浏览:549
ts设置编译输出目录 发布:2024-11-25 00:43:28 浏览:448
元神比较好的云服务器 发布:2024-11-25 00:43:20 浏览:190
草人御魂怎么配置 发布:2024-11-25 00:30:37 浏览:738
ftp上传流程 发布:2024-11-25 00:18:27 浏览:90
安卓服光遇什么时候上线的 发布:2024-11-25 00:13:22 浏览:919
80万能买到酷路泽的什么配置 发布:2024-11-25 00:10:57 浏览:337
新浪微博中如何修改密码 发布:2024-11-25 00:10:52 浏览:101