List of Figures

Figure 1-1 Architecture and implementation of the piano

Figure 1-2 Computation of squares by tabular differences

Figure 1-3 SQUARES program for Itanium architecture

Figure 2-1 Basic computer structure

Figure 2-2 Memory organization

Figure 2-3 Memory as an array

Figure 2-4 Instruction execution

Figure 2-5 Itanium information units

Figure 3-1 Stepwise development using programming environment tools

Figure 3-2 SQUARES listing file (GNU)

Figure 3-3 Information from a link map for SQUARES (gcc)

Figure 3-4 Output from the nm command for SQUARES

Figure 4-1 Itanium instruction bundle format

Figure 4-2 Itanium instruction bit-field layout

Figure 4-3 HEXNUM: An illustration of arithmetic instructions

Figure 4-4 Itanium 2 system cache relationships

Figure 4-5 DOTPROD: An illustration of data access instructions

Figure 5-1 DOTLOOP: An illustration of a simple down-counted loop

Figure 5-2 DOTCLOOP: Using the Itanium loop count register

Figure 5-3 MAXIMUM: An illustration of conditional instructions

Figure 6-1 HEXNUM2: Illustrating masking with logical instructions

Figure 6-2 Extract and deposit instructions

Figure 6-3 SCANTEXT: An illustration of processing string data

Figure 6-4 Register scheme for the Booth algorithm

Figure 6-5 DECNUM: Multiplying by a reciprocal to perform integer division

Figure 6-6 Encapsulating the putchar and getchar routines of C

Figure 6-7 IO_C: A test of input and output

Figure 6-8 BACKWARD: An illustration of accessing bytes

Figure 7-1 Addressing quad word values stored on a stack

Figure 7-2 An Itanium procedure frame

Figure 7-3 DECNUM2: An illustration of stack usage

Figure 7-4 SPARC register windows for three procedures or functions

Figure 7-5 Register stack changes during calls and returns

Figure 7-6 Argument passing in registers and on the memory stack

Figure 7-7 Function that implements Booth's algorithm

Figure 7-8 DECNUM3 program that tests the BOOTH function

Figure 7-9 RANDOM: Illustrating a function that calls other functions

Figure 7-10 Calling program in C

Figure 7-11 Calling program in FORTRAN

Figure 8-1 HORNER: Illustrating the fused multiply add instruction

Figure 8-2 Double-precision and quad word data movement and conversion

Figure 8-3 Circle and enclosing square for estimating p

Figure 8-4 APPROXPI: Illustrating the use of floating-point instructions

Figure 9-1 Schematic relationships between logical and physical file storage

Figure 9-2 File system layers seen by a C program

Figure 9-3 SCANTERM: Showing calls to C functions for standard I/O

Figure 9-4 SORTSTR: Bubble sort for strings

Figure 9-5 SCANFILE: Using C-like input and output with files

Figure 9-6 SORTINT: Bubble sort for integer quantities

Figure 10-1 Five-stage pipeline

Figure 10-2 Execution of an instruction sequence with split issue

Figure 10-3 DOTCTOP: Illustrating modulo scheduling of a loop

Figure 10-4 DOTCTOP2: Illustrating a different modulo scheduling of a loop

Figure 10-5 FIB1: Computing Fibonacci numbers using recursion

Figure 10-6 FIB2: Computing Fibonacci numbers without recursion

Figure 10-7 FIB3: Computing Fibonacci numbers using the register stack

Figure 10-8 TESTFIB: Calling program for FIB1, FIB2, and FIB3

Figure 11-1 COM_F and COM_C: Simple programs for compiler comparisons

Figure 11-2 INLINE: Program to illustrate bringing a function inline

Figure 11-3 Simpler recursive generation of Fibonacci numbers (fib101)

Figure 13-1 Original Itanium system cache relationships

Figure F-1 SQUARES program containing the _Asm function

Figure F-2 SQUARES program containing the asm function



ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 223

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net