上下文切换中的两类寄存器

[复制链接]
 楼主| qjhu0433 发表于 2008-9-28 12:29 | 显示全部楼层 |阅读模式
    在操作系统中有一个关键的操作是上下文切换,上下文切换中有两类寄存器,在不同CPU上的C手册上有不同的叫法,下面列出一些CPU的不同叫法.
 
AVR                   call saved             call used
MSP430              callee                   caller
TMS320F2812     Save on Entry      Save on Call
 
    开始看这些文档时,理解起来很费力.后来慢慢体会到了原来两种寄存器保护责任者不同而已.在正常的函数调用过程中(不考虑中断情况),两种责任者是调用函数和被调函数,或者叫父函数和子函数.
 
    父函数在调用一个子函数之前负责保护的这一批寄存器叫Save on Call,子函数可以任意使用这些寄存器而不用预先保护它们;还有另外一批寄存器Save on Entry,子函数需要使用时必须提前保护,这些寄存器在父函数那里不会得到保护.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部