Registers
From Mill Computing Wiki
| Name | ID | Base | Reader | Writer | Spilled On | Description |
|---|---|---|---|---|---|---|
| argsSize | ✘ | ✘ | ✘ | call, task switch | size of memory argument block for next dynamic call | |
| atomicStatus | ✘ | ✘ | ✘ | status if in an atomic extent | ||
| backCount | ✘ | ✘ | ✘ | pending stalls for atomic backoff | ||
| backoff | ✘ | ✘ | ✘ | backoff increment on atomic failure | ||
| codeLowerBound | ✘ | ✔ | ✘ | task switch | global address of code address region | |
| coreNum | ✘ | ✔ | ✘ | ordinal number of this core on the chip | ||
| codePointer | cp | ✘ | ✔ | ✘ | task switch | local address of code address region |
| constantPool | cpp | ✔ | ✔ | ✘ | call, task switch | address of constant pool |
| codeUpperBound | ✘ | ✔ | ✘ | task switch | upper bound of code address region | |
| cycleCounter | ✘ | ✔ | ✘ | task switch | instruction cycle counter | |
| dataLowerBound | ✘ | ✔ | ✘ | task switch | global address of data address region | |
| dataPointer | dp | ✔ | ✔ | ✘ | task switch | local address of data address region |
| dataUpperBound | ✘ | ✔ | ✘ | task switch | upper bound of data address region | |
| ebbEntry | ✘ | ✔ | ✘ | call, task switch | offset from cpReg of head byte of current ebb | |
| faultBase | ✘ | ✔ | ✔ | call, task switch | fault vector base address | |
| floatControl | ✘ | ✔ | ✔ | call, task switch | floating point mode control | |
| floatStatus | ✘ | ✔ | ✔ | call, task switch | floating point status | |
| framePointer | fp | ✔ | ✔ | ✘ | call, task switch | address of current stack frame |
| functionEntry | func | ✘ | ✘ | ✘ | call, task switch | offset from cpReg of function entry address |
| globalObjectTable | gotp | ✔ | ✘ | ✘ | task switch | address of GOT (Global Object Table) |
| inboundArguments | inp | ✔ | ✔ | ✘ | call, task switch | inbound memory arguments address |
| issueCounter | ✘ | ✔ | ✘ | task switch | instruction issue counter | |
| localSpace | ✘ | ✘ | ✘ | base of process local space within global space | ||
| noCacheLowerBound | ✘ | ✘ | ✘ | global address of MMIO aperture (bypasses caches) | ||
| noCacheUpperBound | ✘ | ✘ | ✘ | global address of upper bound of the MMIO aperture | ||
| outboundArguments | outp | ✔ | ✔ | ✘ | call, task switch | outbound memory arguments address |
| processID | ✘ | ✔ | ✘ | task switch | current process number | |
| realTimeClock | rtc | ✘ | ✔ | ✘ | real time clock | |
| startStop | ✘ | ✘ | ✘ | true to start, false to stall | ||
| scratchBase | ✘ | ✘ | ✘ | call, task switch | base address of extended scratchpad | |
| scratchSize | ✘ | ✘ | ✘ | call, task switch | size (extent) of extended scratchpad | |
| segExtent | ✘ | ✘ | ✘ | size in bytes of top stack segment | ||
| ssegmentBase | ✘ | ✘ | ✘ | address of start of top stack segment in memory | ||
| spillerSp | ✘ | ✘ | ✘ | spiller stack pointer | ||
| stackPointer | ✘ | ✘ | ✘ | call, task switch | address of current top of stack and upper address of stack address region | |
| stacklets | ✘ | ✘ | ✘ | address of start of stacklets region in memory | ||
| stepsInEbb | ✘ | ✔ | ✘ | call, task switch | issue cycles executed within current ebb | |
| threadID | ✘ | ✔ | ✘ | task switch | current thread number | |
| threadPointer | tlp | ✔ | ✔ | ✘ | task switch | address of per-thread data |
| thisPointer | tp | ✔ | ✔ | ✘ | task switch | address of receiver of method call |
| trapBase | ✘ | ✘ | ✘ | task switch | trap vector base address |