admin 管理员组文章数量: 1086019
2024年4月22日发(作者:重定向的定义)
什么是逻辑地址逻辑地址的概述
逻辑地址是指由程序产生的与段相关的偏移地址部分。那么你对逻辑地址了解多少呢?
以下是由店铺整理关于什么是逻辑地址的内容,希望大家喜欢!
逻辑地址的概述
在有地址变换功能的计算机中,访内指令给出的地址 (操作数) 叫逻辑地址,也叫相对
地址。要经过寻址方式的计算或变换才得到内存储器中的实际有效地址,即物理地址。
各种计算机的寻址方式 (地址变换功能)都有所不同,在用汇编语言编写程序时,要先
熟悉这个机器的指令系统。参见 “物理地址”及“寻址方式”。
"逻辑地址" 在工具书中的解释
1、在有地址变换功能的计算机中,访问指令给出的地址 (操作数) 叫逻辑地址,也叫相
对地址。要经过寻址方式的计算或变换才得到内存储器中的物理地址。
2、把用户程序中使用的地址称为相对地址即逻辑地址。
3、逻辑地址由两个16位的地址分量构成,一个为段基值,另一个为偏移量。两个分
量均为无符号数编码。
"逻辑地址" 在学术文献中的解释
1、这样该存储单元的地址就可以用段基址(段地址)和段内偏移量(偏移地址)来表示,段
基址确定它所在的段居于整个存储空间的位置,偏移量确定它在段内的位置,这种地址表示
方式称为逻辑地址,通常表示为段地址:偏移地址的形式。
2、所谓逻辑地址是指按数据的逻辑块号给出的磁盘的位置(l块=512字l字=64位)
而物理地址则是由磁盘的柱面、头、段等物理位置所确定的地址。
逻辑地址的产生背景
追根求源,Intel的8位机8080CPU,数据总线(DB)为8位,地址总线(AB)为16位。
那么这个16位地址信息也是要通过8位数据总线来传送,也是要在数据通道中的暂存器,
以及在CPU中的寄存器和内存中存放的,但由于AB正好是DB的整数倍,故不会产生矛
盾!
但当上升到16位机后,Intel8086/8088CPU的设计由于当年IC集成技术和外封装
及引脚技术的限制,不能超过40个引脚。但又感觉到8位机原来的地址寻址能力
2^16=64KB太少了,但直接增加到16的整数倍即令AB=32位又是达不到的。故而只能
把AB暂时增加4条成为20条。则2^20=1MB的寻址能力已经增加了16倍。但此举却
造成了AB的20位和DB的16位之间的矛盾,20位地址信息既无法在DB上传送,又无
法在16位的CPU寄存器和内存单元中存放。于是应运而生就产生了CPU段结构的原理。
逻辑地址和线性地址
一个逻辑地址由两部份组成,段标识符和段内偏移量。段标识符是由一个16位长的
字段组成,称为段选择符。其中前13位是一个索引号。后面3位包含一些硬件细节,如
图:
索引号,可以理解为数组的下标——而它将会对应一个数组,它又是什么的索引呢?
这就是“段描述符(segment descriptor)”,段描述符具体地址描述了一个段(对于“段”
这个字眼的理解:我们可以理解为把虚拟内存分为一个一个的段。比如一个存储器有1024
个字节,可以把它分成4段,每段有256个字节)。这样,很多个段描述符,就组了一个
数组,叫“段描述符表”,这样,可以通过段标识符的前13位,直接在段描述符表中找
到一个具体的段描述符,这个描述符就描述了一个段,我刚才对段的抽像不太准确,因为
看看描述符里面究竟有什么东东——也就是它究竟是如何描述的,就理解段究竟有什么东
东了,每一个段描述符由8个字节组成,如下图:
这些东东很复杂,虽然可以利用一个数据结构来定义它,不过,我这里只关心一样,
就是Base字段,它描述了一个段的开始位置的线性地址。
Intel设计的本意是,一些全局的段描述符,就放在“全局段描述符表(GDT)”中,一
些局部的,例如每个进程自己的,就放在所谓的“局部段描述符表(LDT)”中。那究竟什
么时候该用GDT,什么时候该用LDT呢?这是由段选择符中的T1字段表示的,=0,表示
用GDT,=1表示用LDT。
GDT在内存中的地址和大小存放在CPU的gdtr控制寄存器中,而LDT则在ldtr寄
存器中。
好多概念,像绕口令一样。这张图看起来要直观些:
首先,给定一个完整的逻辑地址[段选择符:段内偏移地址],
1、看段选择符的T1=0还是1,知道当前要转换是GDT中的段,还是LDT中的段,
再根据相应寄存器,得到其地址和大小。我们就有了一个数组了。
2、拿出段选择符中前13位,可以在这个数组中,查找到对应的段描述符,这样,它
了Base,即基地址就知道了。
3、把Base + offset,就是要转换的线性地址了。
版权声明:本文标题:什么是逻辑地址逻辑地址的概述 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713763309a650399.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论