Itanium Architecture For Programmers

时间:2012-03-15 17:11:04
【文件属性】:
文件名称:Itanium Architecture For Programmers
文件大小:1.29MB
文件格式:CHM
更新时间:2012-03-15 17:11:04
Itanium Architecture Preface Acknowledgments Trademarks Chapter 1. Architecture and Implementation Section 1.1. Analogy: Piano Architecture Section 1.2. Types of Computer Languages Section 1.3. Why Study Assembly Language? Section 1.4. Prefixes for Binary Multiples Section 1.5. Instruction Set Architectures Section 1.6. The Life Cycle of Computer Architectures Section 1.7. SQUARES: A First Programming Example Section 1.8. Review of Number Systems Summary References Exercises Chapter 2. Computer Structures and Data Representations Section 2.1. Computer Structures Section 2.2. Instruction Execution Section 2.3. Classes of Instruction Set Architectures Section 2.4. Migration to 64-Bit Architectures Section 2.5. Itanium Information Units and Data Types Summary References Exercises Chapter 3. The Program Assembler and Debugger Section 3.1. Programming Environments Section 3.2. Program Development Steps Section 3.3. Comparing Variants of a Source File Section 3.4. Assembler Statement Types Section 3.5. The Functions of a Symbolic Assembler Section 3.6. The Assembly Process Section 3.7. The Linking Process Section 3.8. The Program Debugger Section 3.9. Conventions for Writing Programs Summary References Exercises Chapter 4. Itanium Instruction Formats and Addressing Section 4.1. Overview of Itanium Instruction Formats Section 4.2. Integer Arithmetic Instructions Section 4.3. Bit Encoding for Itanium Instructions Section 4.4. HEXNUM: Using Arithmetic Instructions Section 4.5. Data Access Instructions Section 4.6. Other ALU Instructions Section 4.7. DOTPROD: Using Data Access Instructions Section 4.8. Itanium Addressing Modes Section 4.9. Addressing in Other Architectures Summary References Exercises Chapter 5. Comparison, Branches, and Predication Section 5.1. Hardware Basis for Control of Flow Section 5.2. Integer Compare Instructions Section 5.3. Program Branching Section 5.4. DOTLOOP: Using a Counted Loop Section 5.5. Stops, Instruction Groups, and Performance Section 5.6. DOTCLOOP: Using the Loop Count Register Section 5.7. Other Structured Programming Constructs Section 5.8. MAXIMUM: Using Conditional Instructions Summary References Exercises Chapter 6. Logical Operations, Bit-Shifts, and Bytes Section 6.1. Logical Functions Section 6.2. HEXNUM2: Using Logical Masks Section 6.3. Bit and Field Operations Section 6.4. SCANTEXT: Processing Bytes Section 6.5. Integer Multiplication and Division Section 6.6. DECNUM: Converting an Integer to Decimal Format Section 6.7. Using C for ASCII Input and Output Section 6.8. BACKWARD: Using Byte Manipulations Summary References Exercises Chapter 7. Subroutines, Procedures, and Functions Section 7.1. Memory Stacks Section 7.2. DECNUM2: Using Stack Operations Section 7.3. Register Stacks Section 7.4. Program Segmentation Section 7.5. Calling Conventions Section 7.6. DECNUM3 and BOOTH: Making a Function Section 7.7. Integer Quotients and Remainders Section 7.8. RANDOM: A Callable Function Summary References Exercises Chapter 8. Floating-Point Operations Section 8.1. Parallels Between Integer and Floating-Point Instructions Section 8.2. Representations of Floating-Point Values Section 8.3. Copying Floating-Point Data Section 8.4. Floating-Point Arithmetic Instructions Section 8.5. HORNER: Evaluating a Polynomial Section 8.6. Predication Based on Floating-Point Values Section 8.7. Integer Operations in Floating-Point Execution Units Section 8.8. Approximations for Reciprocals and Square Roots Section 8.9. APPROXPI: Using Floating-Point Instructions Summary References Exercises Chapter 9. Input and Output of Text Section 9.1. File Systems Section 9.2. Keyboard and Display I/O Section 9.3. SCANTERM: Using C Standard I/O Section 9.4. SORTSTR: Sorting Strings Section 9.5. Text File I/O Section 9.6. SCANFILE: Input and Output with Files Section 9.7. SORTINT: Sorting Integers from a File Section 9.8. Binary Files Summary References Exercises Chapter 10. Performance Considerations Section 10.1. Processor-Level Parallelism Section 10.2. Instruction-Level Parallelism Section 10.3. Explicit Parallelism in the Itanium Processors Section 10.4. Software-Pipelined Loops Section 10.5. Modulo Scheduling a Loop Section 10.6. Program Optimization Factors Section 10.7. Fibonacci Numbers Summary References Exercises Chapter 11. Looking at Output from Compilers Section 11.1. Compilers for RISC-like Systems Section 11.2. Compiling a Simple Program Section 11.3. Optimizing a Simple Program Section 11.4. Inline Optimizations Section 11.5. Profile-Guided or Other Optimizations Section 11.6. Debugging Optimized Programs Section 11.7. Recursion for Fibonacci Numbers Revisited Summary References Exercises Chapter 12. Parallel Operations Section 12.1. Classification of Computing Systems Section 12.2. Integer Parallel Operations Section 12.3. Applications to Integer Multiplication Section 12.4. Opportunities and Challenges Section 12.5. Floating-Point Parallel Operations Section 12.6. Semaphore Support for Parallel Processes Summary References Exercises Chapter 13. Variations Among Implementations Section 13.1. Why Implementations Change Section 13.2. How Implementations Change Section 13.3. The Original Itanium Processor Section 13.4. A Major Role for Software Section 13.5. IA -32 Instruction Set Mode Section 13.6. Determining Extensions and Implementation Version Summary References Exercises Appendix A. Command-Line Environments Logging in Logging out Security Text editing Uploading files Learning about commands Learning about your environment Inspecting an HP-UX or Linux file References Exercises Appendix B. Suggested System Resources Section B.1. System Hardware Section B.2. System Software Section B.3. Desktop Client Access Software References Appendix C. Itanium Instruction Set References Appendix D. Itanium Registers and Their Uses Section D.1. Instruction Pointer Section D.2. General Registers and NaT Bits Section D.3. Predicate Registers Section D.4. Branch Registers Section D.5. Floating-Point Registers Section D.6. Application Registers Section D.7. State Management Registers Section D.8. System Information Registers Section D.9. System Control Registers References Appendix E. Conditional Assembly and Macros (GCC Assembler) Section E.1. Interference from Explicit Stops Section E.2. Repeat Blocks Section E.3. Conditional Assembly Section E.4. Macro Processing Section E.5. Using Labels with Macros Section E.6. Recursive Macros Section E.7. Object File Sections Section E.8. MONEY: A Macro Illustrating Sections Summary References Exercises Appendix F. Inline Assembly Section F.1. HP-UX C Compilers Section F.2. GCC Compiler for Linux Section F.3. Intel Compilers for Linux References Bibliography Answers and Hints for Selected Exercises Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Appendix E About the Authors

网友评论

  • 资料很偏 一般人用不到 要是amd 64估计对大家有帮助