Rational/R1000s400/TCB Cheatsheet

Fra DDHFwiki
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