Guide to RISC Processors: For Programmers and Engineers

Front Cover
Springer Science & Business Media, Feb 16, 2005 - Computers - 387 pages

Recently, there's been a trend toward processors based on the RISC (Reduced Instruction Set Computer) design: Some example RISC processors are the MIPS, SPARC, PowerPC, ARM, and even Intel’s 64-bit processor Itanium.

This guidebook provides an accessible and all-encompassing compendium on RISC processors, introducing five RISC processors: MIPS, SPARC, PowerPC, ARM and Itanium. Initial chapters explain the differences between the CISC and RISC designs, and one clearly discusses the RISC design principles. Roughly the second half of the book is dedicated to MIPS assembly language programming, thereby enabling readers to grasp the concepts discussed in the first half.

Topics and features:

*Includes MIPS simulator (SPIM) download instructions, so that readers can get hands-on assembly language programming experience

*Presents material in a manner suitable for self-study, using several examples in each chapter

• Assembly language programs permit reader executables using the SPIM simulator

• Integrates core concepts to processor designs and their implementations

• Supplies extensive programming examples and figures

• Each chapter begins with an overview and ends with a summary

Guide to RISC Processors provides a uniquely comprehensive introduction and guide to RISC-related concepts, principles, design philosophy, and actual programming, as well as the all the popular modern RISC processors and their assembly language. Professionals and programmers seeking an authoritative and practical overview of RISC processors will find the guide an essential resource, and students in computer architecture and other courses will regard it as an important reference tool.

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Introduction
3
RISC Versus CISC
5
What Is Assembly Language?
7
Advantages of HighLevel Languages
9
Why Program in Assembly Language?
10
Summary
11
Processor Design Issues
13
Number of Addresses
14
Our First Program
172
Illustrative Examples
174
Summary
182
Procedures and the Stack
183
Procedure Invocation
186
Returning from a Procedure
188
Parameter Passing
189
Stack Implementation in MIPS
192

The LoadStore Architecture
20
Processor Registers
22
Procedure Calls
26
Handling Branches
28
Instruction Set Design Issues
32
Summary
36
RISC Principles
39
Evolution of CISC Processors
40
Why RISC?
41
RISC Design Principles
43
Summary
44
Architectures
45
MIPS Architecture
47
Registers
48
Addressing Modes
50
Instruction Format
51
Memory Usage
52
Summary
53
SPARC Architecture
55
Registers
56
Addressing Modes
58
Instruction Format
59
Procedures and Parameter Passing
69
Summary
76
PowerPC Architecture
79
Register Set
81
Addressing Modes
83
Instruction Format
84
Instruction Set
86
Summary
96
Itanium Architecture
97
Registers
98
Addressing Modes
100
Procedure Calls
101
Instruction Format
102
InstructionLevel Parallelism
105
Instruction Set
106
Handling Branches
112
Speculative Execution
114
Branch Prediction Hints
119
ARM Architecture
121
Registers
123
Addressing Modes
125
Instruction Format
128
Instruction Set
131
Summary
145
MIPS Assembly Language
147
SPIM Simulator and Debugger
149
Simulator Settings
152
Running a Program
153
Debugging
154
Summary
157
Assembly Language Overview
159
Assembly Language Statements
160
SPIM System Calls
161
SPIM Assembler Directives
162
MIPS Program Template
165
Load Instructions
166
Store Instructions
167
Sample Instructions
168
Parameter Passing via the Stack
196
Illustrative Examples
200
Passing Variable Number of Parameters
207
Summary
210
Addressing Modes
211
Addressing Modes
212
Processing Arrays
214
Our First Program
217
Illustrative Examples
219
Summary
224
Arithmetic Instructions
225
Addition
226
Multiplication
228
Division
229
Our First Program
230
Illustrative Examples
232
Summary
242
Conditional Execution
243
Comparison Instructions
244
Unconditional Branch Instructions
246
Conditional Branch Instructions
248
Our First Program
249
Illustrative Examples
252
Indirect Jumps
259
Indirect Procedures
262
Summary
267
Logical and Shift Operations
269
Logical Instructions
270
Shift Instructions
276
Rotate Instructions
280
Our First Program
281
Illustrative Examples
284
Summary
290
Recursion
291
Our First Program
292
Illustrative Examples
295
Recursion Versus Iteration
303
Summary
304
FloatingPoint Operations
305
FPU Registers
306
FloatingPoint Instructions
307
Our First Program
312
Illustrative Examples
314
Summary
322
Appendices
323
Number Systems
325
Conversion to Decimal
327
Conversion from Decimal
328
BinaryOctalHexadecimal Conversion
329
Unsigned Integers
330
Signed Integers
331
FloatingPoint Representation
334
Summary
336
Character Representation
339
ASCII Character Set
340
MIPS Instruction Set Summary
343
Programming Exercises
365
Bibliography
375
Index
379
Copyright

Other editions - View all

Common terms and phrases