学习啦>知识大全>知识百科>百科知识>

什么是逻辑地址逻辑地址的概述

时间: 谢君787 分享

  逻辑地址是指由程序产生的与段相关的偏移地址部分。那么你对逻辑地址了解多少呢?以下是由学习啦小编整理关于什么是逻辑地址的内容,希望大家喜欢!

  逻辑地址的概述

  在有地址变换功能的计算机中,访内指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址。要经过寻址方式的计算或变换才得到内存储器中的实际有效地址,即物理地址。

学习啦在线学习网   各种计算机的寻址方式 (地址变换功能)都有所不同,在用汇编语言编写程序时,要先熟悉这个机器的指令系统。参见 “物理地址”及“寻址方式”。

学习啦在线学习网   "逻辑地址" 在工具书中的解释

学习啦在线学习网   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,就是要转换的线性地址了。
看过“逻辑地址的概述”的人还看了:

1.物理地址和逻辑地址的区别

2.什么是逻辑地址和物理地址

3.逻辑地址如何转换成物理地址

4.逻辑地址线性地址物理地址三个地址有什么联系

5.什么是8086逻辑地址和物理地址

6.逻辑地址转换物理地址公式

什么是逻辑地址逻辑地址的概述

逻辑地址是指由程序产生的与段相关的偏移地址部分。那么你对逻辑地址了解多少呢?以下是由学习啦小编整理关于什么是逻辑地址的内容,希望大家喜欢! 逻辑地址的概述 在有地址变换功能的计算机中,访内指令给出的地址 (操作数) 叫逻辑地址
推荐度:
点击下载文档文档为doc格式

精选文章

  • 什么是逻辑性逻辑性的组成
    什么是逻辑性逻辑性的组成

    学习啦在线学习网逻辑性是指发展过程符合逻辑体系、具有逻辑特点、恪守逻辑规则的情况。那么你对逻辑性了解多少呢?以下是由学习啦小编整理关于什么是逻辑性的内容,

  • 什么是逻辑逻辑的含义
    什么是逻辑逻辑的含义

    逻辑既指思维的规律,也指研究思维规律的学科即逻辑学。那么你对逻辑了解多少呢?以下是由学习啦小编整理关于什么是逻辑的内容,希望大家喜欢! 逻辑

  • 什么是论坛推广论坛推广的特点
    什么是论坛推广论坛推广的特点

    企业利用论坛这种网络交流的平台,通过文字、图片、视频等方式发布企业的产品和服务的信息,从而让目标客户更加深刻地了解企业的产品和服务。那么

  • 世界上最大望远镜
    世界上最大望远镜

    望远镜,又称千里镜,是一种利用凹透镜和凸透镜观测遥远物体的光学仪器,是通过透镜的光线折射或光线被凹镜反射使之进入小孔并会聚成像,再经过一

1975037