LET'S CONNECT!
Enter for a chance to win an eBook of your choice from InformIT. Fill out the form.
Register your product to gain access to bonus material or receive a coupon.
This book is centered on Itanium architecture, the new 64-bit Explicitly Parallel Instruction Computing (EPIC) design by Hewlett-Packard and Intel in partnership. Itanium processors reflect a thoroughly new design. They support 64-bit open-source as well as proprietary operating systems and have been selected to replace existing RISC-based server and workstation lines by many of the industry's major system builders. The authors discuss the general principles of computer architecture with working examples. Also included are references, both print and electronic, to guide readers in finding related material. Along with the technical coverage are suggestions about the motivation and rationale for the Itanium architecture, as well as critique and demonstrate how to use its instruction set. Lastly, the book has sample Itanium programs that work with HP-UX assemblers, with GNU and Intel assemblers for Linux, and with the free Ski simulator from HP.
Download the Sample Chapter related to this title.
(NOTE: Each chapter concludes with Summary, References, and Exercises.)
List of Figures.
List of Tables.
Preface.
Acknowledgments.
Trademarks.
Analogy: Piano Architecture. Types of Computer Languages. Why Study Assembly Language? Prefixes for Binary Multiples. Instruction Set Architectures. The Life Cycle of Computer Architectures. SQUARES: A First Programming Example. Review of Number Systems.
Computer Structures. Instruction Execution. Classes of Instruction Set Architectures. Migration to 64-Bit Architectures. Itanium Information Units and Data Types.
Programming Environments. Program Development Steps. Comparing Variants of a Source File. Assembler Statement Types. The Functions of a Symbolic Assembler. The Assembly Process. The Linking Process. The Program Debugger. Conventions for Writing Programs.
Overview of Itanium Instruction Formats. Integer Arithmetic Instructions. Bit Encoding for Itanium Instructions. HEXNUM: Using Arithmetic Instructions. Data Access Instructions. Other ALU Instructions. DOTPROD: Using Data Access Instructions. Itanium Addressing Modes. Addressing in Other Architectures.
Hardware Basis for Control of Flow. Integer Compare Instructions. Program Branching. DOTLOOP: Using a Counted Loop. Stops, Instruction Groups, and Performance. DOTCLOOP: Using the Loop Count Register. Other Structured Programming Constructs. MAXIMUM: Using Conditional Instructions.
Logical Functions. HEXNUM2: Using Logical Masks. Bit and Field Operations. SCANTEXT: Processing Bytes. Integer Multiplication and Division. DECNUM: Converting an Integer to Decimal Format. Using C for ASCII Input and Output. BACKWARD: Using Byte Manipulations.
Memory Stacks. DECNUM2: Using Stack Operations. Register Stacks. Program Segmentation. Calling Conventions. DECNUM3 and BOOTH: Making a Function. Integer Quotients and Remainders. RANDOM: A Callable Function.
Parallels Between Integer and Floating-Point Instructions. Representations of Floating-Point Values. Copying Floating-Point Data. Floating-Point Arithmetic Instructions. HORNER: Evaluating a Polynomial. Predication Based on Floating-Point Values. Integer Operations in Floating-Point Execution Units. Approximations for Reciprocals and Square Roots. APPROXPI: Using Floating-Point Instructions.
File Systems. Keyboard and Display I/O. SCANTERM: Using C Standard I/O. SORTSTR: Sorting Strings. Text File I/O. SCANFILE: Input and Output with Files. SORTINT: Sorting Integers from a File. Binary Files.
Processor-Level Parallelism. Instruction-Level Parallelism. Explicit Parallelism in the Itanium Processors. Software-Pipelined Loops. Modulo Scheduling a Loop. Program Optimization Factors. Fibonacci Numbers.
Compilers for RISC-like Systems. Compiling a Simple Program. Optimizing a Simple Program. Inline Optimizations. Profile-Guided or Other Optimizations. Debugging Optimized Programs. Recursion for Fibonacci Numbers Revisited.
Classification of Computing Systems. Integer Parallel Operations. Applications to Integer Multiplication. Opportunities and Challenges. Floating-Point Parallel Operations. Semaphore Support for Parallel Processes.
Why Implementations Change. How Implementations Change. The Original Itanium Processor. A Major Role for Software. IA-32 Instruction Set Mode. Determining Extensions and Implementation Version.
References. Exercises.
System Hardware. SystemSoftware. Desktop Client Access Software. References.
C-1Instructions Listed by Function. C-2Instructions Listed by Assembler Opcode. References.
Instruction Pointer. General Registers and NaT Bits. Predicate Registers. Branch Registers. Floating-Point Registers. Application Registers. State Management Registers. System Information Registers. System Control Registers. References.
Interference from Explicit Stops. Repeat Blocks. Conditional Assembly. Macro Processing. Using Labels with Macros. Recursive Macros. Object File Sections. MONEY: A Macro Illustrating Sections. Summary. References. Exercises.
HP-UX C Compilers. GCC Compiler for Linux. Intel Compilers for Linux. References.
Download the Index
file related to this title.