请教memory exception的问题.
在一个有TLB,两级页表的存储系统中.以如下4种情况来说<br />1,TLB各项与虚页号逐一比较,无一匹配.<br />2,TLB有效位valid=0表示:这项不可用.<br />3,第一级页表valid=0表示:这段页表不在内存中.<br />4,第二级页表valid=0表示:这个页面不在内存中.<br /><br />CPU上只有MEXC一个接受memory exception的中断信号,所以它不可能知道详细的memoryexception种类.<br />这种中断时cpu一定是被锁住了的(不然再取指可能再异常),那么处理这种中断的是ISR,或os吗?还是硬件自动处理?是不是mmu 的工作?<br /><br /><br />TBR,ISR
我看sparc的cpu中有TBR(trap base register),其中的tt域在等于不同的值时TBR指向不同的ISR入口地址。其中竟然也给memoryexception留了一个入口。<br />那么,请问ISR是如何判断4种异常的种类,还有替换缺失的页的呢?我计算机体系结构学的相当滥,请高手们不要嫌这个问题可笑啊,呵呵。难道说是system mode vs user mode的问题?
我听说CPU有至少2种模式:管理模式,用户模式.<br />管理模式给操作系统用,用户模式给普通进程用.管理模式可以切换到用户模式,但是用户模式只能通过异常机制跳回操作系统.<br />在我看来:管理模式,用户模式,差别无非前者被允许控制某些特殊寄存器. 此外操作系统和用户进程的差别还有什么?操作系统的指令不也得通过虚实地址转换才取到cpu里的吗,它自己的页表是什么时候写好的? 操作系统取指时也发生缺页,谁又来处理这次异常?<br />
页:
[1]