5.4.1. Overview.............................................................................................. 141
5.4.2. Arithmetic Logic Unit.............................................................................. 141
5.4.3. Memory Access...................................................................................... 141
5.4.4. Instruction Execution Stages....................................................................141
5.4.5. Instruction Performance.......................................................................... 142
5.4.6. Exception Handling.................................................................................142
5.4.7. JTAG Debug Module................................................................................142
5.5. Nios II Core Implementation Details Revision History.............................................. 143
6. Nios II Processor Versions..........................................................................................144
6.1. Nios II Versions................................................................................................. 144
6.2. Architecture Revisions.........................................................................................144
6.3. Core Revisions...................................................................................................145
6.3.1. Nios II/f Core........................................................................................ 145
6.3.2. Nios II/s Core........................................................................................ 145
6.3.3. Nios II/e Core........................................................................................145
6.4. JTAG Debug Module Revisions..............................................................................145
6.5. Nios II Processor Versions Revision History............................................................ 145
7. Application Binary Interface....................................................................................... 146
7.1. Data Types........................................................................................................146
7.2. Memory Alignment............................................................................................. 146
7.3. Register Usage.................................................................................................. 147
7.4. Stacks.............................................................................................................. 148
7.4.1. Frame Pointer Elimination........................................................................149
7.4.2. Call Saved Registers............................................................................... 149
7.4.3. Further Examples of Stacks..................................................................... 149
7.4.4. Function Prologues................................................................................. 151
7.5. Arguments and Return Values.............................................................................. 152
7.5.1. Arguments............................................................................................ 153
7.5.2. Return Values........................................................................................ 153
7.6. DWARF-2 Definition............................................................................................154
7.7. Object Files....................................................................................................... 154
7.8. Relocation......................................................................................................... 154
7.9. ABI for Linux Systems........................................................................................ 157
7.9.1. Linux Toolchain Relocation Information......................................................157
7.9.2. Linux Function Calls................................................................................160
7.9.3. Linux Operating System Call Interface.......................................................161
7.9.4. Linux Process Initialization...................................................................... 162
7.9.5. Linux Position-Independent Code..............................................................162
7.9.6. Linux Program Loading and Dynamic Linking..............................................164
7.9.7. Linux Conventions.................................................................................. 167
7.10. Development Environment.................................................................................167
7.11. Application Binary Interface Revision History........................................................168
8. Instruction Set Reference........................................................................................... 169
8.1. Word Formats....................................................................................................169
8.1.1. I-Type...................................................................................................169
8.1.2. R-Type.................................................................................................. 169
8.1.3. J-Type...................................................................................................170
8.2. Instruction Opcodes........................................................................................... 170
8.3. Assembler Pseudo-Instructions............................................................................ 172
Contents
Nios II Processor Reference Guide
5