• 函数调用、系统调用和中断处理都需要上下文切换,请结合 MIPS O32 的ABI 说明上述三种上下文切换时保留现场有什么不同(内容、位置)?
位置 | 内容 | |
函数调用 | 当前栈 | Caller saved寄存器($1-$15,$24-$25,$28) |
系统调用 | 系统栈 | SAVE_SOME,v*/a*/SR/CR |
中断处理 | SAVE_ALL,k*外的所有通用寄存器 |
• 函数调用、系统调用和中断处理都需要上下文切换,请结合 MIPS O32 的ABI 说明上述三种上下文切换时保留现场有什么不同(内容、位置)?
位置 | 内容 | |
函数调用 | 当前栈 | Caller saved寄存器($1-$15,$24-$25,$28) |
系统调用 | 系统栈 | SAVE_SOME,v*/a*/SR/CR |
中断处理 | SAVE_ALL,k*外的所有通用寄存器 |