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

存储段基址

发布时间: 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。

热点内容
linuxcode 发布:2024-09-15 01:29:59 浏览:898
反编译jar游戏 发布:2024-09-15 01:23:37 浏览:998
绵阳解压 发布:2024-09-15 01:23:36 浏览:772
路闭合算法 发布:2024-09-15 01:21:12 浏览:906
编译程序包括编译和汇编嘛 发布:2024-09-15 01:21:09 浏览:657
哈罗单车服务器怎么看 发布:2024-09-15 01:07:41 浏览:848
服务器子网ip地址划分 发布:2024-09-15 00:49:48 浏览:308
飞智下载配置如何导入 发布:2024-09-15 00:37:27 浏览:684
微信零钱忘记支付密码怎么办 发布:2024-09-15 00:16:26 浏览:143
求职脚本 发布:2024-09-15 00:12:15 浏览:28