‘壹’ 存储器的逻辑地址由哪几部分组成存储器的物理地址是怎样形成的
逻辑地址是指程序员编制的程序地址,由它构成逻辑地址空间。程序主存储器中的实际地址称为物理地址.
所以这里逻辑地址的组成得看你的存储器是段表的还是页表的,物理地址一般通过一个关系来对应逻辑地址.
当然楼上的回答也有正确的地方那就是在一般的寻址中,指令的地址可以是这样计算的,但是他的回答太不全面了.
‘贰’ 8086/8088存储器的物理地址是如何形成的
物理地址=段地址左移四位+偏移地址,,4,8086寻址采用“段:偏移”的方式罩或(如SS:BP),段地址寄存器和偏移地址寄存器都是16位长的,实际的线性地址是20位,由“(段 << 4) + 偏移”得到。
32位CPU一般寻址空间也是32位线,直接产生32位的线性地址(不考虑描述符、分页等机制),因此不存在上述现象。
另外,相关地,80286后就有了实模式与保护模式的区别(当然,物锋伍不仅仅是寻址方式的区别)。...,2,物理地址=基址X16+偏移地址。这里面的16是十进制数,化成16进制数正好是10H。式中的物理地址、基址、偏移地址都是16进基档制表示~,1,
‘叁’ 什么是逻辑地址什么是物理地址
逻辑地址: 是指由程序产生的与段相关的偏移地址部分。又称绝对地址。
物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。
一、关系:逻辑地址和物理地址相对的。物理地址是唯一的,逻辑地址的相对的。
二、表达方式:
1、逻辑地址:其表达形式为“段地址:段内偏移地址”。
2、物理地址:CPU与存储器进行数据交换时在地址总线上 。
(3)物理地址是在哪个阶段形成的扩展阅读:
一、逻辑地址的产生背景
追根求源,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加上偏移地址得到的。而16位的段地址乘以16等同于左移4位二进制位,这样变成20位的段基地址,最后段基地址加上段内偏移地址即可得到物理地址。
20位物理地址计算方法如下:
物理地址=段地址*16d+偏移地址。
‘肆’ 8086/8088 CPU的20位物理地址是怎样形成的
(1)Intel的8位机8080CPU,数据总线(DB)为8位,地址总线(AB)为16位.那么这个16位地址信息也是要通过8位数据总线来传送,也是要在数据通道中的暂存器,以及在CPU中的寄存器和内存中存放的,但由于AB正好是DB的整数倍,故不会产生矛盾。
(2)但当上升到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段结构的原理。
"逻辑地址" 在学术文献中的解释:
1、这样该存储单元的地址就可以用段基值和段内偏移量来表示,段基值确定它所在的段居于整个存储空间的位置,偏移量确定它在段内的位置,这种地址表示方式称为逻辑地址,通常表示为逻辑地址:偏移量的形式(计算机网络全书)。
2、所谓逻辑地址是指按数据的逻辑块号给出的磁盘的位置(l块=512字l字=64位)而物理地址则是由磁盘的柱面、头、段等物理位置所确定的地址(逻辑运算)。
感觉这样的提问没有意义
建议自己下去查查资料
‘伍’ 什么叫物理地址,是磁头的一种古老的寻址方式
物理地址即磁盘的柱面地址、磁头地址、扇区地址,通过这三个地址来确定数据存储的位置。
CHS(Cylinder/Head/Sector)寻址模式也称为3D模式,是硬盘最早采用的寻址模式,它是在硬盘容量较小的前提下产生的。
硬盘的C/H/S 3D参数既可以计算出硬盘的容量,也可以确定数据所在的具体位置。这是因为扇区的三维物理地址与硬盘上的物理扇区一一对应,即三维物理地址可完全确定硬盘上的物理扇区。三维物理地址通常以C/H/S的次序来书写,如C/H/S为0/1/1,则第一个数字0指0柱面,第二个数字1指1磁头(盘面),第三个数字1指1扇区,表示该数据位于硬盘1盘面上的0磁道1扇区。现在定位已完成,硬盘内部的参数和主板BIOS之间进行协议,正确发出寻址信号,从而正确定位数据位置。
‘陆’ 举例说明8086中20位物理地址生成过程
现代内存容量太大比如256M,而计算机的数据线往往只有16位、32位或者64位(目前应用很少),他们所能他寻找到的地址空间最大不过是2^16(64K)、2^32(4M)或者2^64(16T),所以内存通常使用段页式存储。也就是将内存空间分成若干段,或者若干页,每段大小是数据线所能访问到的最大空间。在内存中的实际地址就是所谓的“物理地址”,而逻辑地址就是逻辑段管理内存而形成的。
比如在8086系统中,8086对外连接使用一个20位的线性地址唯一确定一个存储单元,也就是说:对于每个存储器单元都有的一个唯一的20位地址,我们称为该单元的物理地址或绝对地址。
8086在内部结构中和程序设计时采用逻辑段管理内存,就形成了逻辑地址。它的表达形式为“段基地址 : 偏移地址”。
逻辑地址=段基地址 : 偏移地址
段基地址(Segment)——逻辑段在主存中的起始位置,简称段地址。由于8086规定段开始于模16地址,所以省略低4位0不显式表达,段基地址就可以用16位数据表示。
偏移地址(Offset)——主存单元距离段起始位置的偏移量(Displacement)。由于限定每段不超过64KB,所以偏移地址也可以用16位数据表示。
这样同一个存储单元就即有物理地址,又有逻辑地址。但是请注意,物理地址是外部连接使用的、唯一的;而逻辑地址是内部和编程使用的、并不唯一。
物理地址和逻辑地址可以互相转换。
将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址。这里左移的4位是二进制位;如果用十六进制表达地址就是左移一位(不知道为什么,复习数制内容吧!还不知道为什么,看疑难解答吧!)。左移4位还可以表达为乘以16,即:段地址×16+偏移地址。
同一个物理地址可以对应多个逻辑地址形式。所以物理地址转换为逻辑地址,需要明确段基地址或偏移地址,然后同上原则确定另一个地址。
逻辑地址 1460H : 0100H 1380H : 0F00H
物理地址 14700H
于是,对于主存14700H单元,我们可以描述为在1460H(或1380H)段的100H(或F00H)单元,或者说主存1460H : 0100H(或1380H : 0F00H)单元。
‘柒’ 什么是物理地址和逻辑地址是如何产生的
这个问题啊,是网络运行必须有的
物理地址就是MAC地址,是网卡上自带的,全球唯一的地址,计算机在进行数据通讯的时候需要进行数据的封装和导址的,在OSI七层模型中是属于数据链路层的
逻辑地址就是IP地址,是虚拟的,实际不存在的,它在网络中用来定义不同的网络,使其不会发生数据混乱.在OSI七层模型中属于第三层网络层的.
它们都是网络产生初期随着OSI七层模型的建立而产生的.