
User’s Manual
A2 Processor
Contents
Page 4 of 864
Version 1.3
October 23, 2012
2. CPU Programming Model ......................................................................................... 61
2.1 Logical Partitioning .......................................................................................................................... 61
2.1.1 Overview ................................................................................................................................ 61
2.2 Storage Addressing ......................................................................................................................... 62
2.2.1 Storage Operands .................................................................................................................. 62
2.2.2 Effective Address Calculation ................................................................................................ 64
2.2.2.1 Data Storage Addressing Modes .................................................................................... 65
2.2.2.2 Instruction Storage Addressing Modes ........................................................................... 65
2.2.3 Byte Ordering ......................................................................................................................... 66
2.2.3.1 Structure Mapping Examples ......................................................................................... 66
2.2.3.2 Instruction Byte Ordering ................................................................................................ 67
2.2.3.3 Data Byte Ordering ......................................................................................................... 68
2.2.3.4 Byte-Reverse Instructions .............................................................................................. 69
2.3 Multithreading .................................................................................................................................. 70
2.3.1 Thread Identification .............................................................................................................. 70
2.3.1.1 Thread Identification Register (TIR) ............................................................................... 70
2.3.1.2 Processor Identification Register (PIR) .......................................................................... 70
2.3.1.3 Guest Processor Identification Register (GPIR) ............................................................. 71
2.3.2 Thread Run State ................................................................................................................... 71
2.3.2.1 Thread Stop I/O Pin ........................................................................................................ 71
2.3.2.2 Thread Control and Status Register (THRCTL) ............................................................. 71
2.3.2.3 Core Configuration Register 0 (CCR0) ........................................................................... 72
2.3.2.4 Thread Enable Register (TENS, TENC) ......................................................................... 72
2.3.2.5 Thread Enable Status Register (TENSR) ....................................................................... 73
2.3.3 Wake On Interrupt .................................................................................................................. 74
2.3.3.1 Core Configuration Register 1 (CCR1) ........................................................................... 74
2.3.4 Thread Priority ....................................................................................................................... 75
2.3.4.1 Program Priority Register (PPR32) ................................................................................ 75
2.3.4.2 Instruction Unit Configuration Register 1 (IUCR1) .......................................................... 77
2.3.5 Resources Shared between Threads .................................................................................... 77
2.3.6 Shared Resources ................................................................................................................. 77
2.3.6.1 Accessing Shared Resources ........................................................................................ 78
2.3.7 Duplicated Resources ............................................................................................................ 78
2.3.8 Pipeline Sharing ..................................................................................................................... 79
2.3.8.1 Instruction Cache ............................................................................................................ 80
2.3.8.2 Instruction Buffer and Decode Dependency ................................................................... 80
2.3.8.3 Instruction Issue ............................................................................................................. 80
2.3.8.4 Ram Unit ......................................................................................................................... 81
2.3.8.5 Microcode Unit ................................................................................................................ 82
2.3.8.6 Integer Unit ..................................................................................................................... 82
2.4 Registers ......................................................................................................................................... 82
2.4.1 Register Mapping ................................................................................................................... 84
2.4.2 Register Types ....................................................................................................................... 84
2.4.2.1 General Purpose Registers ............................................................................................ 84
2.4.2.2 Special Purpose Registers ............................................................................................. 84
2.4.2.3 Condition Register .......................................................................................................... 85
2.4.2.4 Machine State Register .................................................................................................. 85
2.5 32-Bit Mode ..................................................................................................................................... 85
2.5.1 64-Bit Specific Instructions ..................................................................................................... 85
2.5.2 32-Bit Instruction Selection .................................................................................................... 85