ttxs 发表于 2009-2-15 21:39

请教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&nbsp;exception的中断信号,所以它不可能知道详细的memoryexception种类.<br />这种中断时cpu一定是被锁住了的(不然再取指可能再异常),那么处理这种中断的是ISR,或os吗?还是硬件自动处理?是不是mmu&nbsp;的工作?<br /><br /><br />

ttxs 发表于 2009-2-15 21:46

TBR,ISR

我看sparc的cpu中有TBR(trap&nbsp;base&nbsp;register),其中的tt域在等于不同的值时TBR指向不同的ISR入口地址。其中竟然也给memoryexception留了一个入口。<br />那么,请问ISR是如何判断4种异常的种类,还有替换缺失的页的呢?我计算机体系结构学的相当滥,请高手们不要嫌这个问题可笑啊,呵呵。

ttxs 发表于 2009-2-15 23:15

难道说是system mode vs user mode的问题?

我听说CPU有至少2种模式:管理模式,用户模式.<br />管理模式给操作系统用,用户模式给普通进程用.管理模式可以切换到用户模式,但是用户模式只能通过异常机制跳回操作系统.<br />在我看来:管理模式,用户模式,差别无非前者被允许控制某些特殊寄存器.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外操作系统和用户进程的差别还有什么?操作系统的指令不也得通过虚实地址转换才取到cpu里的吗,它自己的页表是什么时候写好的?&nbsp;操作系统取指时也发生缺页,谁又来处理这次异常?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
页: [1]
查看完整版本: 请教memory exception的问题.