当前位置:首页 » 服务存储 » 存储单元的段起始地址
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储单元的段起始地址

发布时间: 2022-04-20 10:27:35

Ⅰ 8086/8088系统中,存储器为什么要分段,一个段的最大和最小各为多少字节

8086/8088系统中,存储器分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。

存储器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。

由于存储器的个数和容量都有限,不可能把所有中间结果都存储在存储器中,所以,要对存储器进行适当的调度。根据指令的要求,管理安排适当的寄存器,避免操作数过多的传送操作。

8086/8088CPU可直接寻址1MB的存储器空间,直接寻址需要20位地址码,而所有内部寄存器都是16位的,只能直接寻址6KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,最短16B。这些逻辑段在整个存储空间中可浮动。

(1)存储单元的段起始地址扩展阅读:

8086/8088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES、由它们给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址组合形成20位物理地址,段内偏移地址可以存放在寄存器中,也可以存放在存储器中。

程序较小时,代码段、数据段、堆栈段可放在一个段内,即包含在64KB之内,而当程序或数据量较大时,超过了64KB,那么可以定义多个代码段或数据段、堆栈段、附加段。

Ⅱ 顺序存储数据时,存储单元的地址是

争议选a,最佳答案没看清题吧?别人问的是采用顺序存储结构时
线性表的顺序存储结构,指的是用一段地址连续的存储单位依次存储线性表的数据元素

Ⅲ 什么叫8086/8088存储器的段的基地址

逻辑地址即是思维性的表示,由于8086的寄存器最大为16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址联合表示的地址类型叫逻辑地址。

主存的工作方式是按存储单元的地址存放或读取各类信息,统称访问存储器。主存中汇集存储单元的载体称为存储体,存储体中每个单元能够存放一串二进制码表示的信息。

该信息的总位数称为一个存储单元的字长。存储单元的地址与存储在其中的信息是一一对应的,单元地址只有一个,固定不变,而存储在其中的信息是可以更换的。

工作原理:

存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。

指示每个单元的二进制编码称为地址码。寻找某个单元时,先要给出它的地址码。暂存这个地址码的寄存器叫存储器地址寄存器(MAR)。为可存放从主存的存储单元内取出的信息或准备存入某存储单元的信息,还要设置一个存储器数据寄存器(MDR)。

Ⅳ 什么是物理地址物理地址有何作用

网络中的地址分为物理地址和逻辑地址两类,与网络层的IP地址
传输层的端口号以及应用层的用户名相比较,局域望网的MAC层地址是由硬件来处理的,叫做物理地址或硬件地址.IP地址
传输层的端口号以及应用层的用户名是逻辑地址一由软件处理.我认为你说的MAC地址应该就是物理地址.
大多数局域网通过为网卡分配一个硬件地址来标识一个联网的计算机或其他设备.所谓物理地址是指固化在网卡EPROM中的地址,这个地址应该保证在全网是唯一的.IEEE注册委员会为每一个生产厂商分配物理地址的前三字节,即公司标识.后面三字节由厂商自行分配.即一个厂商获得一个前三字节的地址可以生产的网卡数量是16777216块.即一块网卡对应一个物理地址.也就是说对应物理地址的前三字节可以知道他的生产厂商.
如果固化在网卡中的地址为002514895423,那么这块网卡插到主机A中,主机A的地址就是002514895423,不管主机A是连接在局域网1上还是在局域网2上,也不管这台计算机移到什么位置,主机A的物理地址就是002514895423
.它是不变的,而且不会和世界上任何一台计算机相同.当主机A发送一帧时,网卡执行发送程序时,直接将这个地址作为源地址写入该帧.当主机A接收一帧时,直接将这个地址与接收帧目的地址比较,以决定是否接收.
物理地址一般记作00-25-14-89-54-23(主机A的地址是002514895423)

Ⅳ 在8086/8088cpu系统中每个存储单元的地址有哪些表示方法它们之间的关系是什么

逻辑地址即是思维性的表示,由于8086的寄存器最大为16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址联合表示的地址类型叫逻辑地址,例如2000H:1000H,这里的2000H表示段的起始地址,即段地址,而1000H则表示偏移地址,表示逻辑地址时总是书写成段地址:偏移地址。
物理地址即是真实存在的唯一地址,是指的内存中各个单元的单元号,由8086有20条地址线,因此可寻址2的20次方,按2进制位表示规则,即有20位,这个就是物理地址。物理地址因为超过了寄存器大小(16位)因此无法直接存放,需要合成,公式为物理地址=段地址×10H+偏移地址,公式中的数据可从逻辑地址获得。
逻辑地址是16位的,因此范围是2的16次方,即64K.
物理地址是20位的,因此范围是2的20次方,即1M.

c语言中起始地址和首地址有什么区别

本质上,起始地址和首地址没有区别,对同一个数组来说,它们是同一个地址。
其实这两个说法没有很明确的概念,只是按照惯例,经常会说:
数组名,是数组在内存中连续存储单元的首地址
数组的指针,是数组的起始地址
只是按照数组方式说明和按照指针方式说明罢了,如果非要说有区别,就是数组方式访问和指针方式访问的区别,a[i++]的访问不会改变a的地址,但如果 *p=a; p++会修改指针的起始地址。

Ⅶ 什么是存储单元的地址什么是存储单元的内容

地址为一个无符号整数,为了书写方便和编程,在源程序中常用十六进制数或符号来表示一个存储单元的地址。每一个单元的地址称为字节地址,任何相邻两个单元组成一个字地址,按编址原则约定用其中一个较小的地址来表示字地址。一个字由两个字节组成,则低字节对应低地址,高字节对应高地址。

存放在内存单元中的信息称为存储单元内容,按地址的表示类型,存储单元的内容分字节地址内容字地址内容和双字地址内容。



(7)存储单元的段起始地址扩展阅读

存储地址用十六进制数表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容。存储单元的地址和地址中的内容两者是不一样的。前者是存储单元的编号,表示存储器总的一个位置,而后者表示这个位置里存放的数据。正如一个是房间号码,一个是房间里住的人一样。

如果机器字长等于存储器单元的位数,一个机器字可以包含数个字节,所以一个存储单元也可以包含数个能够单独编址的字节地址。例如一个16位二进制的字存储单元可存放两个字节,可以按字地址寻址,也可以按字节地址寻址。当用字节地址寻址时,16位的存储单元占两个字节地址。

Ⅷ 一个有32个字节的数据库,他的存储单元起始地址为70A0H:EE66H,其数据区首、末地址单元的物理地址

呵呵,再写一次也无妨
这个是X86机器吧,物理地址是20位的。
逻辑地址70A0H:EE66H意义是段基值:70A0H,EE66H为偏移量。将段基值左移四位,即乘以16加上偏移量就得到物理地址
上面地址是16进制,因此直接左移1位,70A00H+EE66H=7F866H,这个是首地址,末地址就是再加上32个字节,加上2H。7F866H+2H=7F868H

Ⅸ 计算机的存储地址问题,,

楼主对内存地址的理解有偏差,举个很简单的例子,假设有一台非常简陋的计算机,它的内存地址线是2根,在内存寻址的时候,每根地址线有1和0两种状态,那么能识别的内存地址范围就是00-11,一共4种,也就是说2根地址线,能寻址的范围是4,那么一次类推,3根就是8,4根就是16。以一个常用的32位的单核cpu为例,那么这个cpu能识别的内存地址就是2的32次方,4294967296,也就是我们俗称的4G的内存限制,32位单核cpu,最多只能支持4G的内存,就是这么来的。以我们现在常用的冯诺依曼架构的计算机为例,一般字节(byte)是内存中的基本存储单元,它由8个比特(bit)构成。
那么为什么说,不需要担心内存地址的存储占用内存空间呢,因为内存的寻址还在操作系统层以下,直接基于硬件操作,通过不同的地址线来查找对应内存存储空间,不需要占用内存本身的空间。在运行程序的时候,有些内存地址是存放在内存本身的,但是这种情况是将内存地址作为数据来处理,比如C语言中常用的指针操作,在指针变量对应的内存中存放的数据部分,就是指针对应的空间的起始地址。而操作系统在运行程序的时候,是不会允许某个程序占用所有内存的,因此不会出现内存空间无法存放数据的情况。
看起来很复杂,实际上楼主只要学习过计算机专业的操作系统这门课,就能弄清楚了。

Ⅹ 在8086系统中,在以下地址中可作为段起始地址的为 A 20100H B.20102H C.201

A.因为8086系统中,寄存器最大为16位,因此地址在寄存器中按16位存放,即每一段相隔16个存储单元。所以地址 mod 16为0的就可作为段起始地址。20100H mod 16=0,于是选A。