线性地址逻辑地址和物理地址的区别
- 格式:doc
- 大小:29.50 KB
- 文档页数:2
微机原理与接⼝技术第⼆版答案2.2 8086微处理器由哪⼏部分组成?各部分的功能是什么?【解】:按功能可分为两部分:总线接⼝单元BIU(Bus Interface Unit)和执⾏单元EU (Execution Unit)。
总线接⼝单元BIU是8086 CPU在存储器和I/O设备之间的接⼝部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。
所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个⽬标设计的。
它提供了16位双向数据总线、20位地址总线和若⼲条控制总线。
其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。
CPU 执⾏指令时,总线接⼝单元要配合执⾏单元,从指定的内存单元或I/O端⼝中取出数据传送给执⾏单元,或者把执⾏单元的处理结果传送到指定的内存单元或I/O端⼝中。
执⾏单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执⾏单元的控制电路。
这个单元进⾏所有指令的解释和执⾏,同时管理上述有关的寄存器。
EU对指令的执⾏是从取指令操作码开始的,它从总线接⼝单元的指令队列缓冲器中每次取⼀个字节。
如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。
2.3 简述8086 CPU的寄存器组织。
【解】:(1)通⽤寄存器:通⽤寄存器⼜称数据寄存器,既可作为16位数据寄存器使⽤,也可作为两个8位数据寄存器使⽤。
当⽤作16位时,称为AX、BX、CX、DX。
当⽤作8位时,AH、BH、CH、DH存放⾼字节,AL、BL、CL、DL存放低字节,并且可独⽴寻址。
这样,4个16位寄存器就可当作8个8位寄存器来使⽤。
(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。
代码段寄存器CS表⽰当前使⽤的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指⽰当前程序使⽤的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使⽤附加段地址的起始位置,该段⼀般⽤来存放原始数据或运算结果。
微机原理习题1、微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:微型计算机系统:包括微型计算机的硬件系统和必要的系统软件。
微型计算机的硬件系统包括:微型计算机和外围设备。
微型计算机:主要是由微处理器(MPU)、存储器(ROM、RAM)、I/O接口、系统总线组成。
微处理器(MPU):是用微电子技术将中央处理器(CPU)集成在一块芯片中制成的超大规模集成电路(IC),从逻辑的角度看,其内部主要包括:运算器(或称算术逻辑单元(ALU))、控制器和一定数量的寄存器组成。
2、控制总线传输的信号大致有哪几种?答:控制总线用来传输控制信号,协调各部件之间的工作;控制总线是双向的;控制总线包括CPU送往存储器和输入/输出接口电路的控制信号,如读信号、写信号和中断响应信号等;控制总线还包括其他部件送到CPU的信号,比如,时钟信号、中断请求信号和准备就绪信号等。
3、微型计算机采用总线结构有什么优点?答:采用总线结构的优越性主要表现在两个方面:①简化系统的设计,使CPU、RAM、ROM、I/O接口的设计简单化、标准化,使复杂的硬件系统变为面向总线的单一关系。
②方便系统的硬件扩充——一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中。
4、简述8086 CPU的逻辑结构。
答:从逻辑功能上,8086分为两部分:总线接口部件BIU(Bus Interface Unit);执行部件EU(Execution Unit)。
其中,总线接口部件包括:地址加法器、段寄存器组、IP指针、指令队列缓冲器、和输入输出控制电路;执行部件包括:运算器、通用寄存器组、标志寄存器、和执行部分的控制电路。
5、8086/8088 和传统的计算机相比在执行指令方面有什么不同? 这样的设计思想有什么优点?答:传统的计算机都是按照下面3个步骤循环工作的:①从指令指针所指的内存单元中取一条指令送到指令寄存器。
②对指令进行译码,而指令指针进行增值,以指向下一条指令的地址。
目录第1章微型计算机概述 (2)第2章16位和32位微处理器 (2)第3章Pentium的指令系统 (3)第4章存储器、存储管理和高速缓存技术 (4)第5章微型计算机和外设的数据传输 (5)第6章串并行通信和接口技术 (5)第7章中断控制器 (8)第8章DMA控制器 (10)第9章计数器、定时器和多功能接口芯片 (12)第10章模数和数模转换 (14)第1章微型计算机概述1.CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?第2章16位和32位微处理器1.8086从功能上分为哪几个部分?2.8086的总线接口部件由哪几部分组成?3.8086标志寄存器中的内容是什么?4.8086加电后执行的第一条指令的内容及地址是什么?5.8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址是多少?指向这一物理地址的CS和IP值是唯一的吗?6.8086的执行部件有什么功能?由哪几部分组成?7.在总线周期的T1、T2、T3、T4状态,8086分别执行什么动作?什么情况下需要插入等待状态TW?TW在哪儿插入?怎样插入?8.8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?9.BHE#信号和A0信号是通过怎样的组合解决存储器和端口的读写操作的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?10.中断向量指什么?放在哪里?对应于8086的1CH的中断向量存放在哪里?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应该怎样存放?11.一个可屏蔽中断响应时,CPU要执行哪些读写周期?对一个软件中断又如何?12.什么叫超标量流水线技术?Pentium有哪两条流水线?两条流水线有什么区别?13.分支预测技术是基于怎样的规律而实施的?叙述分支预测技术的实现原理。
14.Pentium有哪三种工作方式?如何在方式间转换?15.Pentium的保护方式主要保护什么?16.Pentium的地址线是双向的吗?17.实地址方式和虚拟8086方式都是类似于8086的方式,从使用场合和工作特点上看,这两种方式有什么主要差别?18.什么叫段基址?它有多少位?什么叫段选择子?段选择子包含哪些内容?19.Pentium的段描述符寄存器中包含哪些内容?20.Pentium的逻辑地址、线性地址、物理地址分别指什么?它们的寻址能力分别为多少?21.Pentium采用哪几种描述符表?这些表的设置带来什么优点?22.Pentium的主要信号分为哪几类?23.Pentium的寄存器分为哪几类?24.Pentium的段寄存器中存储的是什么?25.Pentium有哪几种总线状态?分别有什么特点?26.什么是突发式数据传输?结合主教材中图2.37说明突发式读写周期的时序关系。
微型计算机技术及应用内部习题第一章作业1.主板主要由哪几部分组成?CPU插座、芯片组(北桥芯片、南桥芯片等)、BIOS芯片、系统时钟发生器芯片、总线(前端系统总线FSB、QPI总线、内存总线、图形总线AGP、外围设备总线PCI-E等)、接口(集成驱动电子设备接口IDE、通用串行设备接口USB、以太网接口LAN、音频接口AC’97、超级输入输出接口SIO等)。
2.微处理器、微型计算机和微型计算机系统三者之间有什么不同?微处理器是微型计算机的核心,是微型计算机的一部分。
它是集成在一块芯片上的CPU,由运算器和控制器组成。
微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
微型计算机系统包括微型计算机、外设及系统软件三部分。
3.微型计算机的性能指标有哪些?CPU的位数、CPU的主频、内存容量和速度、硬盘容量。
第二章习题1.若(AL)=0C0H,(B某)=03523H,则执行指令ADDAL,BL之后(AL)=_____,(BL)=_____,标志位OF,SF,ZF,AF,CF,PF的状态对应为_____.2.设(SS)=2250H,(SP)=0140H,若在堆栈中放入5个数据,则栈顶的物理地址为___,如果又从堆栈中取出3个数据,则栈顶的物理地址为____.3.两个逻辑地址分别为2003H:1009H和2101H:0029H,它们对应的物理地址是多少?说明了什么?4.在8088/8086中,逻辑地址FFFF∶0001,00A2∶37F和B800∶173F的物理地址分别是多少?物理地址=段地址某10H+偏移地址所以FFFF:0001的物理地址是FFFFH某10H+0001H=FFFF1H00A2:37F的物理地址是00A2某10H+037FH=00D9FHB800:173F的物理地址是B800某10H+173F=B973FH5.在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?地址388H389H38AH38BH38CH38DH内容1AH65H61HD7H7BH00H6.已知当前(DS)=7F06H,在偏移地址为0075H的存储器中连续存放6个字节的数据:11H,22H,33H,44H,55H,66H。
微机原理与接口技术习题参考答案3-13章..习题3.1 什么是总线?总线是如何分类的?答:总线,是一组能为多个功能部件服务的公共信息传送线路,是计算机各部件之间的传送数据、地址和控制信息的公共通路,它能分时地发送与接收各部件的信息。
按照总线系统的层次结构,可以把总线分为片内总线、系统总线、局部总线和外设总线。
3.2 举例说明有哪些常见的系统总线与外设总线。
答:常见的系统总线有:ISA总线、PCI总线、PCI Express总线。
常见的外设总线有:RS-232串行总线、IEEE1394串行总线、USB串行总线。
3.3 ISA总线的主要特点是什么?答:ISA总线的主要特点是:(1)总线支持力强,支持64KB的I/O地址空间、24位存储器地址空间、8/16位数据存取、15级硬件中断、7个DMA通道等。
(2)16位ISA总线是一种多主控(Multi Master)总线,可通过系统总线扩充槽中的MAST ER的信号线实现。
除CPU外,DMA控制器、刷新控制器和带处理器的智能接口卡都可以成为ISA总线的主控设备。
(3)支持8种类型的总线周期,分别为8/16位的存储器读周期、8/16位的存储器写周期、8/16位的I/O读周期、8/16位的I/O写周期、中断请求和中断响应周期、DMA周期、存储器刷新周期和总线仲裁周期。
3.4 PCI总线的主要特点是什么?答:PCI总线的特点概述如下:(1) 线性突发传输:PCI支持突发的数据传输模式,满足了新型处理器高速缓冲存储器(Cache)与内存之间的读写速度要求。
线性突发传输能够更有效地运用总线的带宽去传输数据,以减少不必要的寻址操作。
(2) 多总线主控:PCI总线不同于ISA总线,其地址总线和数据总线是分时复用的。
这样减少了接插件的管脚数,便于实现突发数据的传输。
数据传输时,一个PCI设备作为主控设备,而另一个PCI设备作为从设备。
总线上所有时序的产生与控制,都是由主控设备发起的。
第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
物理地址英文怎么说在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。
那么物理地址英文怎么说呢?下面大家跟着店铺一起来了解一下吧。
物理地址英文翻译物理地址(Physical Address),地址从0开始编号,顺序地每次加1,因此存储器的物理地址空间是呈线性增长的。
它是用二进制数来表示的,是无符号整数,书写格式为十六进制数。
它是出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。
用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
Mac地址就是在媒体接入层上使用的地址,通俗点说就是网卡的物理地址,现在的Mac地址一般都采用6字节48bit(在早期还有2字节16bit的Mac地址)。
对于MAC地址,由于我们不直接和它接触,所以大家不一定很熟悉。
在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。
它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(Media Access Control)层,即介质访问控制层。
所谓介质(Media),是指传输信号所通过的多种物理环境。
常用网络介质包括电缆(如:双绞线,同轴电缆,光纤),还有微波、激光、红外线等,有时也称介质为物理介质。
MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。
这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。
MAC地址前24位是由生产厂家向IEEE申请的厂商地址。
后24位就由生产厂家自行定拟了。
第一章名词解释:OS:操作系统,是配置在计算机硬件上的第一层软件,是对硬件的首次扩展。
习题P332:OS的作用可表现在哪几方面?(1):OS作为用户与计算机硬件系统之间的接口(2):OS作为计算机系统资源的管理者(3):OS实现了对计算机资源的抽象(扩展机)13:OS有几大特征?其最基本的特征是?四大特征:并发,共享,虚拟,异步最基本为并发性,是其他的基础。
第二章名词解释:临界资源:在同一时刻,只能有一个进程对其访问的资源。
临界区:在每个进程中,访问临界资源的一段代码。
进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
线程:减少程序在并发执行时所付出的时间和空间开销。
PCB :记录用于描述进程情况及控制进程运行的全部信息。
简答题:1.PCB的主要内容,PCB是如何组织的?内容:(1):进程描述信息(2):处理机状态信息(3):进程调度信息(4):进程控制信息链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的链表。
索引:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表2.进程与程序的区别1) 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。
2) 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。
3) 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
4) 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
3.进程与线程的区别(1) 地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见(2) 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手段的辅助,以保证数据的一致性(3) 调度和切换:线程上下文切换比进程上下文切换要快得多。
习题22.1 什么是微处理器?它包含哪几部分?【解】:微处理器(CPU)的任务是执行存放在存储器里的指令序列。
为此,除要完成算术逻辑操作外,还需要担负CPU和存储器以及I/O之间的数据传送任务。
早期的CPU芯片只包括运算器和控制器两大部分。
从80386开始,为使存储器速度能更好地与运算器的速度相匹配,已在芯片中引入高速缓冲存储器。
它们主要由以下三部分组成。
(1)算术逻辑部件算术逻辑部件(Arithmetic Logic Unit,ALU)用来进行算术和逻辑运算及其相应操作。
(2)控制逻辑部件控制逻辑部件负责对全机的控制工作,包括从存储器取出指令,对指令进行译码分析,从存储器取得操作数,发出执行指令的所有命令,把结果存入存储器以及对总线及I/O的传送控制等。
(3)工作寄存器工作寄存器在计算机中起着重要的作用,每一个寄存器相当于运算器中的一个存储单元,但它的存取速度比存储器要快得多。
它用来存放计算过程中所需要的或所得到的各种信息,包括操作数地址、操作数及运算的中间结果等。
2.2 8086微处理器由哪几部分组成?各部分的功能是什么?【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。
总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。
所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。
它提供了16位双向数据总线、20位地址总线和若干条控制总线。
其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。
CPU 执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。
执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。
物理首地址是什么意思有人问物理首地址是什么意思,针对这个问题。
店铺分享一下物理首地址的计算方法,供大家参考。
物理首地址是什么意思物理地址=段首基址+逻辑地址。
段寄存器的内容左移4位(我说的是二进制),就是这个段的首地址了,在这个基础上加上0ffffh,就是这个段的末地址.因为物理地址=段基地址左移4位+段内偏移地址,其中段内偏移地址是16位.一个寄存器16位,访问的最大内存太小,只有111111*********(二进制)=64K(十进制)是吧,怎么办?幸亏CPU提供了一种机制:物理内存(实际地址)=段基址*16+偏移地址来增大内存访问(虽然很少人用汇编出这么大的程序,也要预防万一),你看CPU是这样的:段基址*16,段寄存器是16位,乘以16(十六进制)=10000(二进制)=1左偏移4位,这时你看一下,若段基址为64K(十进制)=111111*********(二进制)乘以16,就是左偏移4位,就等于1111111111111110000(二进制)=1024k(十进制)=1M了。
看见了吧,增加这机制很有好处,访问的地址大了!虽然这很不现实,但是,CPU增加这种特性,对于数据访问很方便的!一个有16个字的数据区,它的起始地址为70A0:DDF6,请写出这个数据区首末字单元的物理地址。
请写出过程怎么算的~~ 10H,也就是16进制的10,就是16第一个字节如果序号是a的话,那么第16个字节就是a+16-1,a+0是第一个数,那么a+15当然是第16个数,在16进制中就是a+10H-1数据区的首地址:70A0H*16+ODDF6H=7E7F6H数据区的末地址:7E7F6H+(10H-1)=7E805H地址从0开始编号,顺序地每次加1,因此存储器的物理地址空间是呈线性增长的。
它是用二进制数来表示的,是无符号整数,书写格式为十六进制数。
它是出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。
微机复习重点:第一章:(小题:填空、选择)(1)、原码、反码、移码、补码X为正数时:[X]反=[X]补=[X]原=XX为负数时:[X]补是将[X]原的符号位不变,其余各位变反后数值加1.[X]反是将[X]原的符号位不变,其余各位变反.移码:[X]移=2 n-1-1±X (解释:移码即在原码的数值上加一个偏移量后,将所得结果用二进制表示) 例如:2n-1-1为偏移量其对应十进制数为26-1-1=31=011111X=+10010B=+18,Y=-10010B=-18[X]移= 26-1 -1+X=011111+010010=110001B[Y]移= 26-1 -1+Y=011111-010010=001101B补码的加减运算:[x+y]补=[x]补+[+y]补[-y]补=[y]变补[y]变补就是将[y]补连同符号位一起各位变反加1.加法:最高位没有进位.就有正确结果,并为正.有进位,则溢出。
减法:1).若x>=y, [x]补+[-y]补最高位有进位,结果为正。
2).若x<y, [x]补+[-y]补最高位无进位,结果为负。
(2)、多字节数据的存储情况:多字节数据的存储采取高位字节在高地址的原则.数据所在地址是低字节所在的地址.(低位在低地址,高位在高地址)(3)判别溢出的方法:(双高法)采用双高位判别法.在计算机内设置两个进位位分别是:CS:表示符号位向前进位情况.如有进位CS=1,否则CS=0.CP:表示数值部分最高位向符号进位情况,如有进位CP=1, 否则CP=0.分析: CS CP 溢出情况0 0 无溢出0 1 正溢出1 0 负溢出1 1 无溢出(4)短实型数的格式:23位。
指数中最高位为符号位。
指数占的位数多,储存的数据多,尾数占的位数我,储存数据的精度高。
第二章 (小题:概念题)1、8086的执行部件EU、总线接口部件BIU:执行部件EU包括:算术逻辑单元ALU、16位标志寄存器、寄存器阵列(4个16位通用寄存器、一个16位指令变址寄存器)、指令译码器及控制电路。
符号地址变量名或标号源程序经过编译、链接以后,其中的符号地址就会变成数字式的逻辑地址。
逻辑地址/虚地址/相对地址Logical Address分段机制转化↓线性地址Linear Address分页机制映射↓内存由若干个存储单元组成的物理地址/内存地址Physical Address80x86微处理器 Addresses (地址)RM实(地址)模式Real-address Mode使用的较多的内存寻址模型虚拟地址Virtual Address外存:硬盘内存仲裁器(Memory Arbiter)在多处理系统中,所有CPU都共享一个内存这意味着RAM可以由独立的CPU并发的访问。
常规内存(Conventional memory)XMS扩展内存(eXtend Memory)保留内存虚拟内存(virtual memory)内核模式地址空间用户模式地址空间保护模式实模式SMM系统管理模式(System Management Mode)RM实(地址)模式Real-address Modex86体系结构,使用的较多的内存寻址模型PM保护模式--扁平模型Protected Mode--Flat Model 内存空间地址/寻址/位址~空间Address Space存储空间连续存储技术虚拟存储技术在页表或段表中存储器映射(物理转虚拟)给物理存储器分配逻辑地址的过程地址映射(虚拟主动转换物理)将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。
绝对装入可重定位装入动态执行时装入UMB( UpperMemory:上方区域)64位=32位=内存存储技术非连续存储技术离散分配通过地址映射机构来实现地址变换地址重定位(虚拟被动转换物理)程序和数据装入内存时,需对目标程序中的地址进行修改。
重定位就是将逻辑地址转变为物理地址的过程映射程序装入20位=16位=编码/编址寻址位寻址 1. 直接寻址 2. 寄存器间接寻址3. 寄存器相对寻址4. 基址变址寻址5. 相对基址变址寻址最小的数据类型字节构成数据类型的最小单位位首地址物理块号*每页虚拟地址4*1k = 004H*400H = 1000H 0A5CH 0100 0000 0000 00001010 0101 1100乘4=0100左移1k=10位完成数据的读写每个物理存储单元(一个字节)按照单片机对存储器的访问命令形式来划分的三大逻辑空间指的是这个寄存器中各位值可以寻址方式高级语言/汇编语言源程序编译器生成我们使用在linux环境下,使用C语言指针时,指针的值就是逻辑地址。
1.什么是中断?什么是中断向量?中断向量表的地址范围?答:中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是00000H-003FFH。
2.微机系统的硬件由哪几部分组成?答:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。
3.什么是微机的总线,分为哪三组?答:是传递信息的一组公用导线。
分三组:地址总线,数据总线,控制总线。
4.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送。
执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。
5.8086指令队列的作用是什么?答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。
6.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。
7.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。
习题5参考答案Ⅰ问答题1. 存储管理的主要功能是什么?答:(1)主存空间的分配与回收。
系统按照一定的算法把某一空闲的存储空间分配给作业或进程;用户不需要时,及时回收,以供其它用户程序使用。
(2)地址转换(地址重定位)。
把作业地址空间中使用的逻辑地址转换成存空间中的物理地址。
(3)主存空间的共享和保护。
可用的主存空间可由两个或多个进程共享。
同时要保护系统程序区不被用户有意或无意的侵犯,不允许用户程序读写不属于自己地址空间的数据,避免各道程序间相互干扰。
特别是当一道程序发生错误时,不至于影响其它程序的运行。
(4)主存空间的扩充。
使用虚拟存储或自动覆盖技术提供比实际存更大的空间。
2. 指出逻辑地址与物理地址的不同点。
答:用户的源程序一旦编译之后,每个目标模块都以0为基地址进行编址,这种地址称为逻辑地址或相对地址。
为了便于CPU访问,存中的每个物理存储单元都有一个编号,这个编号称为存地址,即物理地址(也称绝对地址)。
3. 何谓地址转换(重定位)?有哪些方法可以实现地址转换?答:当作业运行时,不能用逻辑地址在存中读取信息,必须把作业地址空间中使用的逻辑地址转换成存空间中的物理地址,这种转换称为地址转换。
实现地址转换的方法有:静态地址转换和动态地址转换。
4. 简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?答:覆盖技术主要是指同一主存区可以被不同的程序段重复使用。
交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。
交换是由操作系统完成,用户并不知道。
操作系统按一定的策略采用“强占”和“礼让”的方法,把存部分容暂时放到硬盘交换区中。
覆盖是由用户控制,操作系统提供覆盖机制,用户给出该程序的覆盖结构。
覆盖机构将整个作业分为常驻和覆盖两部分。
子程序不会同时调入存。
用户只要将最大的子程序作为覆盖区告诉系统即可。
5. 简述固定分区存储管理和可变分区存储管理的区别。
线性地址逻辑地址和物理地址的区别:
线性地址是逻辑地址到物理地址变换之间的中间层,是处理器可寻址的内存空间(称为线性
地址空间)中的地址。
程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。
如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。
若没有启用分页机制,那么线性地址直接就是物理地址。
不过,在开启分页功能之后,一个线性地址可能没有相对映的物理地址,因为它所对应的内存可能被交换到硬盘中。
32位线性地址可用于定位4GB存储单元。
所谓物理地址,就是指系统内存的真正地址。
对于32 位的操作系统,它的范围为
0x00000000~0xFFFFFFFF,共有4GB。
只有当CPU工作于分页模式时,此种类型的地址才会变得非常“有趣”。
本质上,一个物理地址是CPU插脚上可测量的电压。
操作系统通过设立页表将线性地址映射为物理地址。
Windows 2K/XP所用页表布局的某些属性对于调试软件开发人员非常有用。
分页机制把线性地址空间和物理地址空间分别划分为大小相同的块。
这样的块称为页。
通过在线性地址空间的页与物理地址空间的页之间建立映射,分页机制可以实现线性地址到物理地址的转换。
线性地址空间的页与物理地址空间的页之间的映射可根据需要来确定。
线性地址空间的任何一页,可以映射为物理地址空间中的任何一页。
逻辑地址(Logical Address)是指由程式产生的和段相关的偏移地址部分。
例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。
只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel保护模式下程式执行代码段限长内的偏移地址(假定代码段、数据段如果完全相同)。
应用程式员仅需和逻辑地址打交道,而分段和分页机制对你来说是完全透明的,仅由系统编程人员涉及。
应用程式员虽然自己能直接操作内存,那也只能在操作系统给你分配的内存段操作。
线性地址(Linear Address)是逻辑地址到物理地址变换之间的中间层。
程式代码会产生逻辑地址,或说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。
如果启用了分页机制,那么线性地址能再经变换以产生一个物理地址。
若没有启用分页机制,那么线性地址直接就是物理地址。
Intel 80x86的线性地址空间容量为4G(2的32次方即32根地址总线寻址)。
物理地址(Physical Address)是指出目前CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。
如果启用了分页机制,那么线性地址会使用页目录和页
表中的项变换成物理地址。
如果没有启用分页机制,那么线性地址就直接成为物理地址了。
虚拟内存(Virtual Memory)是指计算机呈现出要比实际拥有的内存大得多的内存量。
因此他允许程式员编制并运行比实际系统拥有的内存大得多的程式。
这使得许多大型项目也能够在具有有限内存资源的系统上实现。
一个非常恰当的比喻是:你不必非常长的轨道就能让一列火车从上海开到北京。
“你只需要足够长的铁轨(比如说3公里)就能完成这个任务。
采取的方法是把后面的铁轨即时铺到火车的前面,只要你的操作足够快并能满足需求,列车就能象在一条完整的轨道上运行。
”
这也就是虚拟内存管理需要完成的任务。
在Linux0.11内核中,给每个程式(进程)都划分了总容量为64MB的虚拟内存空间。
因此程式的逻辑地址范围是0x0000000到0x4000000。
有时我们也把逻辑地址称为虚拟地址。
因为和虚拟内存空间的概念类似,逻辑地址也是和实际物理内存容量无关的。
逻辑地址和物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。
这个值是由操作系统指定的。
机理:
逻辑地址(或称为虚拟地址)到线性地址是由CPU的段机制自动转换的。
如果没有开启分页管理,则线性地址就是物理地址。
如果开启了分页管理,那么系统程式需要参和线性地址到物理地址的转换过程。
具体是通过设置页目录表和页表项进行的。