Rational/R1000s400/TCB Cheatsheet
Spring til navigation
Spring til søgning
This is the "TCB Cheat-sheet" which is reproduced on page 98 of the Guru Course 01 and page 33 of KTM loose sheets
MAR and TAGSTORE
────────────────
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────┬───────────────┬─────────┬──────┬──────────────┬───────────────────────┬───────┬──────────────────┬─────┬─────┐
│ │ │ │ fin │ │ │ │ │ │ │
│ refresh │ refresh │ flags │length│ │ segment │ vpid │ page │word │bit │
│ interval │ window │ │ reg │ │ │ │ │ │ │
└───────────────┴───────────────┴─────────┴──────┴──────────────┴───────────────────────┴───────┴──────────────────┴─────┴─────┘
flags : 32 - scavenger trap 36 - fill mode 40 - incomplete
33 - cs out of range 37 - physical last dirty
34 - page crossing 38 - write last v
35 - cache miss 39 - mar modified ┌───────────────────────┬───────┬──────────────────┬┬───┬─┬──┬─┐
│ │ │ ││ │ │f │s│
│ segment │ vpid │ page ││lru│p│l │p│
(handwritten GC1p98) │ │ │ ││ │s│g │c│
(Space kinds) └───────────────────────┴───────┴──────────────────┴┴───┴─┴──┴─┘
(1 - Control 4 - Data 7 - System) page state : 00 - invalid flags : 58 - wired
(2 - Type 5 - Import) 01 - r/w 59 - permanent
(3 - Queue 6 - Code) 10 - r/o 60 - writable
11 - loading
SOME USEFUL TAGS
────────────────
Discrete : 00 (80) Record : 44 (C4) Subprogram : 06 (86) Null Subprogram : 76 Seg Heap : 38 (B8)
Access : 10 (90) Variant Record : 4C (CC) (Elaborated) : 16 (96) Utility " : 68 (E6)
Task : 18 (98) Vector : 6C (EC) (Visible) : 26 (A6) Accept " : 46 (C6)
Package : 58 (D8) Matrix : 74 (F4) (Visible & Interface " : 56 (D6)
Float : 08 (88) Array : 7C (FC) Elaborated) : 36 (B6) Exception Var : 7E (FE)
BLOCKED STATES
──────────────
Unblocked : 00 Terminable at End : 07 In FS Redezvous : 0E Blocking On Accept : 18
Declaring Module : 01 Blocking On Entry : 08 In Wait Svc : 0F Blocking On Select : 19
Awaiting Activation : 02 Delaying On Entry : 09 Delay in Wait Svc : 10 Delaying On Select : 1A
Activating Module : 03 Attempting Entry : 0A Blocking On Abort : 11 Await Children Select : 1B
Activating Tasks : 04 Delaying : 0B Deleted : 12 Terminable in Select : 1C
Awaiting Task Activ : 05 Aborting Module : 0C Aborted While in MTS : 13
Awaiting Children : 06 Terminated : 0D In_MTS_RedezVous : 14
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌────────────────────────────────────────────────────────┬──────┬──────────────────────────────────────────────────────────────┐
│ │ │ │
│ slice stuff │ │ │ 600
│ │ (09) │ │
└────────────────────────────────────────────────────────┴──────┴──────────────────────────────────────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌────────────────────────────────────────────────────────┬──────┬──────────────────────────────────────────────────────────────┐
│ │subprg│ │
│ debug interface subprogram │ var │ │ 580
│ │ (36) │ │
└────────────────────────────────────────────────────────┴──────┴──────────────────────────────────────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌──────────────────┬─────────────────────────────────┬─┬─┬──────┬───────────────────────────────┬───────────────┬──────────────┐
│ │ │m│f│sched │ │ │ │
│ delay days │ delay ticks │t│l│alloc │ scheduling_group │ debugging │ │ 500
│ (18 bits) │ (38 bits) │s│g│ (49) │ │ state │ │
└──────────────────┴─────────────────────────────────┴─┴─┴──────┴───────────────────────────────┴───────────────┴──────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬────┬──────────────────────────┬──────────────────────────────┐
│ │ │ │ aux │ │ │ │
│ breakpoint scope │ │ type extent │alloc │ │ queue extent │ data extent │ 480
│ │ │ │ (3f) │ │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴────┴──────────────────────────┴──────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬───────────────┬──────────────────────────────────────────────┐
│ │ │ │contrl│ breakpoint │ │
│ distributor's name │flgs│ control extent │alloc │ mask │ │ 400
│ │ │ │ (41) │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────────────┴──────────────────────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬───────────────────────────────┬──────────────────────────────┐
│ │ │ │depend│ │ │
│ dependence site name │ │ dependence site │ link │ │ │ 380
│ │ │ offset │ (19) │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────────────────────────────┴──────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬───────────────────────────────┬──────────────────────────────┐
│ │ │ │static│ │ │
│ our type name │flgs│ our type offset │ conn │ our import stack name │ declarer's name │ 300
│ │ │ │ (11) │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────────────────────────────┴──────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌────────────────────────────────────────────────────────┬──────┬──────────────────────────────────────────────────────────────┐
│ │micro │ │
│ │state2│ │ 280
│ │ (29) │ │
└────────────────────────────────────────────────────────┴──────┴──────────────────────────────────────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌────────────────────────────────────────────────────────┬──────┬──────────────────────────────────────────────────────────────┐
│ │micro │ │
│ │state1│ │ 200
│ │ (21) │ │
└────────────────────────────────────────────────────────┴──────┴──────────────────────────────────────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬───────────────────┬───────────┬──────────────────────────────┐
│ │ │ │ aux │ │ │ │
│ queue successor name │ │ type tos │state │ inner frame │ │ data tos │ 180
│ │ │ │ (3f) │ │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────────────────┴───────────┴──────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────┬─────┬─┬───┬────┬───────────────────┬──────┬───────────────────────────────────────────────────────────┬──┐
│ current │blkd │ │pri│ │ │cntrl │ │ │
│ slice │state│ │ori│flgs│ control tos │state │ current macro pc │1x│ 100
│ time │ │ │ty │ │ │ (01) │ │ │
└───────────────────┴─────┴─┴───┴────┴───────────────────┴──────┴───────────────────────────────────────────────────────────┴──┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────┬───────────────────┬───────────┬──────────────────────────────┐
│ │ │ │activ │ │ block │ │
│ outer frame name │flgs│ type frame │ link │ control pred │ start │ data frame │ 080
│ │ │ │ (3f) │ │ │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────────────────┴───────────┴──────────────────────────────┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
┌───────────────────────────────┬────┬───────────────────┬──────────────┬───────────────────────┬───────────┬───────────────┬──┐
│ │ │ enclosing │activ │ │ return │ children │ return │ │
│ enclosing frame name │flgs│ frame │state │ │ address │ start │ address │1x│ 000
│ │ │ offset │ (7f) │ │ segment │ offset │ offset/index │ │
└───────────────────────────────┴────┴───────────────────┴──────┴───────┴───────────────────────┴───────────┴───────────────┴──┘
┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120