***1.计算机中软硬件功能的划分。比如地址空间的映射。什么是有效地址?难道不是由操作系统直接就虚拟地址转换成物理地址然后处理器只执行这些物理地址吗?为什么要有这个有效地址呢?(effective address)。
现在实用的处理器模型是基于冯式结构的,数据和指令都会在有一个特定的地址,进行寻址.所以程序中的指令数据必然有唯一的地址.这个地址不管是什么,有就行了.在远古的时候是没有虚/实地址之分的.只是在现代操作系统中才出现的.
因而可以将有效地址看成最终在该地址能够娶到相应的指令的地址.在具体实现中,这个地址会是CPU的内存总线上的一个地址所以在CPU外部来看,就是所谓的物理地址.从程序的角度来看,他的内存空间是操作系统所约定,在该空间中,程序可以根据权限的约束下,对使用地址对该空间进行访问.一般把它称之为虚地址。真实存储的地方程序是不可知的或透明的,需要操作系统进行转化,一般在CPU中对这种转换有一定的且较小的硬件支持如TLB。在不出现异常的时候,这种转换会很快,不需要操作系统的干预,因为操作系统对该转换已经设置好了权限和规则,但是当出现异常时,操作系统会重新设置这种转换机制,或者退出。 |