1. 求单片机大神和微机原理大神:什么是存储器的物理地址如何计算物理地址
微机原理,CPU 具有 20 条地址线。
由这 20 位二进制数,指定的存储器地址就是物理地址。
单片机,一般,并没有物理地址的说法。
2. 操作系统的物理地址怎么计算
其实第一条回答是正确的,我在这里为网友们追加一个解释:
按照书上定义,在页式存储系统中,
绝对地址 = 块号 x块长 +业内偏移地址。
相对地址 由一段内存的高bit位作为页号,低bit位作为页内偏移地址
那重要的一点是,如果找出这三个变量。且看该题:
每页1KB,说明了,业内偏移地址的范围是0~1023byte 换句话说,页内偏移地址占16bit中的 0-9bit, 那按照相对地址的概念,那10-15 bit就该为页号地址了。
那么, 0x0A5C <=> 0000 1010 0101 1100
则前面 0000 10 这6个bit 表示页号,换算成十进制为 2,也即是页号为2,再按照页表推算,即物理块号就为4, 而4再换算成16进制,即是0001 00;而后面 10 0101 1100 这10个bit位,理所当然的为页内偏移地址了。 则物理地址就该为0001 00 (占据10-15bit)+ 10 0101 1100 (占据0-9bit) = 0001 0010 0101 1100
他的所谓凭接,其实就是让0001 00 占用bit 10-15.
3. 微机原理求物理地址的问题,那个乘16的含义是左移4位,那计算的时候应该怎么算
物理地址的计算方法是段地址左移一位十六进制数,再加上偏移地址。就像你这个题目中的算法就是:12000H+0FF00H=21F00H。物理地址的计算方法都是如此。只要把相应的段地址左移一位再相加就可以。但有时候需要判断它对应的段地址。
这种题目相对来说是很简单的,只要把题目中给出的十六进制段地址左移一位,最后一位补零就可以的。
再如CS=2100H,IP=02100H。则物理地址为:2A000H+02100H=2C100H
希望对你有帮助!
4. 8086如何计算的物理地址
8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示:
1.逻辑地址:其表达形式为“段地址:段内偏移地址”。
2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。
物理地址=段地址×10H+段内偏移量
注:H为16进制,CS :代码段寄存器,
5. 电脑物理地址怎么查(图文)
通俗来讲,物理地址就是你的电脑地址,它比IP地址更加唯一,一般网管是用来绑定固定IP,那么电脑的物理地址怎么查呢?6. 微机原理,已知内存单元的偏移地址求物理地址!
“(DS)=0C00EH 是20位的 ”
最高的一位大于9,要在前面加0,用来区分是数字还是一个语句标识符。
其实真实的DS 是C00E 二进制是 1100 0000 0000 1110
偏移地址就是IP,CS+IP左移4位
也就是 z是在这里用的占位的符号。写的时候不要把*写进去。
zzzzzz1100 0000 0000 1110
0010 0000 1100 0000
-----------------------------
0010 1100 1100 0000 1110
物理2cc0e
zc00e
20c0
----------
2cc0e
7. 关于微机中物理地址的计算
首先你要明白二进制,用十进制来做例子,左移一位,右边补零,相当于乘以十,左移两位,相当于乘以10的两次方,即一百,比如241,左移两位就是24100,就是乘一百。同理,二进制左移一位,相当于乘移2,左移四位,就是2的四次方。
8. 什么是逻辑地址什么是物理地址在实模式下,如何求存储器的物理地址假设一个
逻辑地址和物理地址的区别是:
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。
物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。
虚拟内存(Virtual Memory)是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。一个很恰当的比喻是:你不需要很长的轨道就可以让一列火车从上海开到北京。你只需要足够长的铁轨(比如说3公里)就可以完成这个任务。采取的方法是把后面的铁轨立刻铺到火车的前面,只要你的操作足够快并能满足要求,列车就能象在一条完整的轨道上运行。这也就是虚拟内存管理需要完成的任务。在Linux 0.11内核中,给每个程序(进程)都划分了总容量为64MB的虚拟内存空间。因此程序的逻辑地址范围是0x0000000到0x4000000。有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。 逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。
9. 如何求得本机的物理地址、IP地址以及计算机名称
在命令行窗口中输入ipconfig/all
Physical Address就是物理地址,IP Address就是IP地址
输入systeminfo
主机名就是计算机名
10. 微机原理寻地址方式和求物理地址。
mov es:[si], ax 中目的操作数为 寄存器间接寻址,其物理地址=es*16(即左移4位)+si=20000h+0200h=20200h 。
从已有条件看,ax 为源操作数,但其 未知。