CSA实际上是一个链表,包含了N个64字节长度的节点,每个节点可以存储16个4字节长度的寄存器值,其中第一个寄存器是LinkWord,指向前一个节点,也叫PCXI(Previous Context Information);此外还可以存储15个系统寄存器的值,Tricore把系统寄存器分成了两组:
- Upper Context(后文统称UCX):包含地址寄存器A[10]A[15],和数据寄存器D[8]D[15],以及PSW(Program Status Word)和上文的PCXI。
- Lower Context(后文统称LCX):包含地址寄存器A[2]A[7],数据寄存器D[0]D[7],以及A[11](RA-返回地址)和PCXI。
数据结构如下图所示:
/*******************************************************************