Ⅰ 8086如何计算的物理地址
8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示:
1.逻辑地址:其表达形式为“段地址:段内偏移地址”。
2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。
物理地址=段地址×10H+段内偏移量
注:H为16进制,CS :代码段寄存器,
Ⅱ 2.6 什么是逻辑地址什么是物理地址如何由逻辑地址计算物理地址
【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。
Ⅲ 物理地址的算法
“H”表示16进制。
物理地址的计算方法是 段地址×10H+偏移地址,所以你说的物理地址是CS×10H+IP=FE00H×10H+0200H=FE000H+0200H=FE200H。
Ⅳ 微机原理求物理地址的问题,那个乘16的含义是左移4位,那计算的时候应该怎么算
物理地址的计算方法是段地址左移一位十六进制数,再加上偏移地址。就像你这个题目中的算法就是:12000H+0FF00H=21F00H。物理地址的计算方法都是如此。只要把相应的段地址左移一位再相加就可以。但有时候需要判断它对应的段地址。
这种题目相对来说是很简单的,只要把题目中给出的十六进制段地址左移一位,最后一位补零就可以的。
再如CS=2100H,IP=02100H。则物理地址为:2A000H+02100H=2C100H
希望对你有帮助!
Ⅳ 什么是有效地址什么是物理地址如何由有效地址求得物理地址
物理地址指CPU寻址主存时使用的20位地址,它确定了某一实际位置的内存单元.(2分)内存单元物理地址可由段址和段内的偏移量确定.内存单元在段内的偏移量称为有效地址(EA).(2分)
物理地址=段址×16+段内的偏移量.(3分)
Ⅵ 物理地址的计算方法
20位物理地址计算方法如下:
物理地址=段基址*16d+偏移地址
Ⅶ 不是说物理地址=段地址*16+偏移地址吗下面的是怎么算的,大家帮忙解答一下,谢谢
物理地址=段地址*16+偏移地址。这里的16是十进制,那你也要把段地址和偏移地址转化为十进制才能计算,然后把结果转化为十六进制。
你可以这样算:物理地址=段地址*10+偏移地址,这里10是十六进制的,十六进制的段地址乘以十六进制的10,直接在段地址后加个0就行了。那你就可以直接用十六进制的段地址和偏移地址直接计算得出结果。
例如:
2000H*10H=20000H
21F60H=2000H*10H+1F60H
Ⅷ 逻辑地址转换成物理地址的计算题
页表可以实现从页号到物理块号的地址映射。通过逻辑地址的页号来寻找页表,从而获得物理块号;在将页内地址直接送入物理地址寄存器的块内地址字段中。将块号和块内地址拼接成实际访问地址,即可得到物理地址。
物理地址的计算公式为:物理地址=块的大小(即页的大小L)* 块号f+页内地址d
代入本题解答:
页号=int(2500/1024)=2;页内位移=2500mod1024=452;假设页号2对应块号1,则物理地址为:
物理地址=1024*1+452=1476
(8)物理地址是如何计算出来的扩展阅读:
逻辑地址(LogicalAddress)即通过电脑程序产生的与段相关的偏移地址部分,也叫做相对地址;
物理地址,即计算机中每一个字节单元的唯一存储地址,也叫做实际地址或绝对地址。
利用所给的逻辑地址首先找到在页表中的那一页,即页号,再者利用所给的逻辑地址计算出在页表的页偏移量,从而利用页表所对应的物理块计算出块号,再利用块号的基础上计算出所给的偏移量。(一般只针对于动态重定位的变化使用)
Ⅸ 已知逻辑地址求物理地址