Ebook Tổ Chức và Thiết Kế Máy Tính: Giao Diện Phần Cứng và Phần Mềm - Phiên Bản ARM

Khám phá ebook "Computer Organization and Design: The Hardware/Software Interface ARM® Edition Part 1" với kiến thức sâu sắc về kiến trúc máy tính.

Trường đại học

University of California, Berkeley

Chuyên ngành

Computer Science

Người đăng

Ẩn danh

Thể loại

textbook

2017

505
2
0

Phí lưu trữ

135 Point

Mục lục chi tiết

Preface

1. CHAPTERS 1 Computer Abstractions and Technology

1.2. Eight Great Ideas in Computer Architecture

1.3. Below Your Program

1.4. Under the Covers

1.5. Technologies for Building Processors and Memory

1.7. The Power Wall

1.8. The Sea Change: The Switch from Uniprocessors to Multiprocessors

1.9. Real Stuff: Benchmarking the Intel Core i7

1.10. Fallacies and Pitfalls

1.12. Historical Perspective and Further Reading

1.13. Exercises

2. 2 Instructions: Language of the Computer

2.2. Operations of the Computer Hardware

2.3. Operands of the Computer Hardware

2.4. Signed and Unsigned Numbers

2.5. Representing Instructions in the Computer

2.7. Instructions for Making Decisions

2.8. Supporting Procedures in Computer Hardware

2.9. Communicating with People

2.10. LEGv8 Addressing for Wide Immediates and Addresses

2.11. Parallelism and Instructions: Synchronization

2.12. Translating and Starting a Program

2.13. A C Sort Example to Put it All Together

2.14. Arrays versus Pointers

2.15. Advanced Material: Compiling C and Interpreting Java

2.16. Real Stuff: MIPS Instructions

2.17. Real Stuff: ARMv7 (32-bit) Instructions

2.18. Real Stuff: x86 Instructions

2.19. Real Stuff: The Rest of the ARMv8 Instruction Set

2.20. Fallacies and Pitfalls

2.22. Historical Perspective and Further Reading

2.23. Exercises

3. 3 Arithmetic for Computers

3.2. Addition and Subtraction

3.6. Parallelism and Computer Arithmetic: Subword Parallelism

3.7. Real Stuff: Streaming SIMD Extensions and Advanced Vector Extensions in x86

3.8. Real Stuff: The Rest of the ARMv8 Arithmetic Instructions

3.9. Going Faster: Subword Parallelism and Matrix Multiply

3.10. Fallacies and Pitfalls

3.12. Historical Perspective and Further Reading

3.13. Exercises

4. 4 The Processor

4.2. Logic Design Conventions

4.4. A Simple Implementation Scheme

4.5. An Overview of Pipelining

4.6. Pipelined Datapath and Control

4.7. Data Hazards: Forwarding versus Stalling

4.10. Parallelism via Instructions

4.11. Real Stuff: The ARM Cortex-A53 and Intel Core i7 Pipelines

4.12. Going Faster: Instruction-Level Parallelism and Matrix Multiply

4.13. Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations

4.14. Fallacies and Pitfalls

4.16. Historical Perspective and Further Reading

4.17. Exercises

5. 5 Large and Fast: Exploiting Memory Hierarchy

5.3. The Basics of Caches

5.4. Measuring and Improving Cache Performance

5.5. Dependable Memory Hierarchy

5.8. A Common Framework for Memory Hierarchy

5.9. Using a Finite-State Machine to Control a Simple Cache

5.10. Parallelism and Memory Hierarchy: Cache Coherence

5.11. Parallelism and Memory Hierarchy: Redundant Arrays of Inexpensive Disks

5.12. Advanced Material: Implementing Cache Controllers

5.13. Real Stuff: The ARM Cortex-A53 and Intel Core i7 Memory Hierarchies

5.14. Real Stuff: The Rest of the ARMv8 System and Special Instructions

5.15. Going Faster: Cache Blocking and Matrix Multiply

5.16. Fallacies and Pitfalls

5.18. Historical Perspective and Further Reading

5.19. Exercises

6. 6 Parallel Processors from Client to Cloud

6.2. The Difficulty of Creating Parallel Processing Programs

6.3. SISD, MIMD, SIMD, SPMD, and Vector

6.5. Multicore and Other Shared Memory Multiprocessors

6.6. Introduction to Graphics Processing Units

6.7. Clusters, Warehouse Scale Computers, and Other Message-Passing Multiprocessors

6.8. Introduction to Multiprocessor Network Topologies

6.9. Communicating to the Outside World: Cluster Networking

6.10. Multiprocessor Benchmarks and Performance Models

6.11. Real Stuff: Benchmarking and Rooflines of the Intel Core i7 960 and the NVIDIA Tesla GPU

6.12. Going Faster: Multiple Processors and Matrix Multiply

6.13. Fallacies and Pitfalls

6.15. Historical Perspective and Further Reading

6.16. Exercises

APPENDIX A The Basics of Logic Design

Index

Glossary

Further Reading

Tóm tắt

I. Tổng quan về Sách Hướng Dẫn Tổ Chức và Thiết Kế Máy Tính ARM

Sách Hướng Dẫn Tổ Chức và Thiết Kế Máy Tính: Giao Diện Phần Cứng và Phần Mềm - Phiên Bản ARM là một tài liệu quan trọng cho những ai muốn hiểu sâu về cấu trúc máy tính. Tác phẩm này không chỉ cung cấp kiến thức cơ bản mà còn cập nhật những xu hướng mới nhất trong thiết kế máy tính. Đặc biệt, phiên bản ARM mang đến cái nhìn toàn diện về cách mà phần cứng và phần mềm tương tác với nhau.

1.1. Nội dung chính của sách và đối tượng độc giả

Sách này hướng đến sinh viên, giảng viên và các chuyên gia trong lĩnh vực công nghệ thông tin. Nội dung bao gồm các khái niệm cơ bản về thiết kế máy tính, giao diện phần cứng và phần mềm, cùng với các ví dụ thực tiễn.

1.2. Tại sao chọn phiên bản ARM cho nghiên cứu

Phiên bản ARM được chọn vì tính phổ biến và hiệu suất cao trong các thiết bị di động và nhúng. Nó cung cấp cái nhìn sâu sắc về cách tối ưu hóa hiệu suất và tiết kiệm năng lượng trong thiết kế phần cứng.

II. Những thách thức trong thiết kế máy tính hiện đại

Thiết kế máy tính hiện đại đối mặt với nhiều thách thức, từ việc tối ưu hóa hiệu suất đến việc giảm thiểu tiêu thụ năng lượng. Các vấn đề như sự tương tác giữa phần cứng và phần mềm, cũng như sự phát triển của công nghệ đa nhân, là những yếu tố quan trọng cần xem xét.

2.1. Vấn đề hiệu suất trong thiết kế máy tính

Hiệu suất máy tính ngày càng trở thành một yếu tố quyết định trong thiết kế. Các nhà thiết kế cần phải cân nhắc giữa tốc độ xử lý và khả năng tiêu thụ năng lượng để đạt được hiệu quả tối ưu.

2.2. Tác động của công nghệ đa nhân đến thiết kế

Công nghệ đa nhân đã thay đổi cách mà phần mềm được phát triển. Các lập trình viên cần hiểu rõ về cách tối ưu hóa mã nguồn để tận dụng tối đa khả năng của các bộ xử lý đa nhân.

III. Phương pháp thiết kế máy tính hiệu quả với ARM

Để thiết kế máy tính hiệu quả, việc áp dụng các phương pháp tối ưu hóa là rất cần thiết. Phiên bản ARM cung cấp nhiều công cụ và kỹ thuật giúp cải thiện hiệu suất và tiết kiệm năng lượng.

3.1. Kỹ thuật lập trình ARM cho hiệu suất cao

Lập trình ARM yêu cầu các kỹ thuật đặc biệt để tối ưu hóa mã nguồn. Việc sử dụng các lệnh ARM một cách hiệu quả có thể giúp tăng tốc độ xử lý và giảm thiểu tiêu thụ năng lượng.

3.2. Tối ưu hóa giao diện phần cứng và phần mềm

Sự tương tác giữa phần cứng và phần mềm là rất quan trọng. Các nhà thiết kế cần phải đảm bảo rằng phần mềm có thể khai thác tối đa khả năng của phần cứng ARM để đạt được hiệu suất tốt nhất.

IV. Ứng dụng thực tiễn của thiết kế máy tính ARM

Thiết kế máy tính ARM đã được áp dụng rộng rãi trong nhiều lĩnh vực, từ thiết bị di động đến máy chủ. Những ứng dụng này không chỉ cải thiện hiệu suất mà còn giúp tiết kiệm năng lượng.

4.1. Ứng dụng trong thiết bị di động

ARM là nền tảng chính cho hầu hết các thiết bị di động hiện nay. Thiết kế tối ưu giúp tăng cường hiệu suất và kéo dài thời gian sử dụng pin.

4.2. Ứng dụng trong máy chủ và điện toán đám mây

Các máy chủ sử dụng ARM đang trở thành xu hướng mới trong điện toán đám mây. Chúng cung cấp hiệu suất cao với mức tiêu thụ năng lượng thấp, phù hợp với nhu cầu ngày càng tăng của các dịch vụ trực tuyến.

V. Kết luận và tương lai của thiết kế máy tính ARM

Thiết kế máy tính ARM đang trên đà phát triển mạnh mẽ. Với sự gia tăng của các thiết bị thông minh và nhu cầu về hiệu suất cao, tương lai của ARM hứa hẹn sẽ rất tươi sáng.

5.1. Xu hướng phát triển trong thiết kế máy tính

Các xu hướng như trí tuệ nhân tạo và Internet of Things (IoT) đang thúc đẩy sự phát triển của thiết kế máy tính ARM. Những công nghệ này yêu cầu hiệu suất cao và tiết kiệm năng lượng.

5.2. Tầm quan trọng của nghiên cứu và phát triển

Nghiên cứu và phát triển trong lĩnh vực thiết kế máy tính ARM sẽ tiếp tục đóng vai trò quan trọng trong việc cải thiện hiệu suất và khả năng tương tác giữa phần cứng và phần mềm.

17/07/2025
Ebook computer organization and design the hardware software interface arm® edition part 1

Trích đoạn nội dung tài liệu

In Praise of Computer Organization and Design: The Hardware/ Software Interface, ARM® Edition “Textbook selection is often a frustrating act of compromise—pedagogy, content coverage, quality of exposition, level of rigor, cost. Computer Organization and Design is the rare book that hits all the right notes across the board, without compromise. It is not only the premier computer organization textbook, it is a shining example of what all computer science textbooks could and should be.” —Michael Goldweber, Xavier University “I have been using Computer Organization and Design for years, from the very first edition. This new edition is yet another outstanding improvement on an already classic text.

The evolution from desktop computing to mobile computing to Big Data brings new coverage of embedded processors such as the ARM, new material on how software and hardware interact to increase performance, and cloud computing. All this without sacrificing the fundamentals.” —Ed Harcourt, St. Lawrence University “To Millennials: Computer Organization and Design is the computer architecture book you should keep on your (virtual) bookshelf. The book is both old and new, because it develops venerable principles—Moore’s Law, abstraction, common case fast, redundancy, memory hierarchies, parallelism, and pipelining—but illustrates them with contemporary designs.

Hill, University of Wisconsin-Madison “The new edition of Computer Organization and Design keeps pace with advances in emerging embedded and many-core (GPU) systems, where tablets and smartphones will/are quickly becoming our new desktops. This text acknowledges these changes, but continues to provide a rich foundation of the fundamentals in computer organization and design which will be needed for the designers of hardware and software that power this new class of devices and systems.” —Dave Kaeli, Northeastern University “Computer Organization and Design provides more than an introduction to computer architecture. It prepares the reader for the changes necessary to meet the ever-increasing performance needs of mobile systems and big data processing at a time that difficulties in semiconductor scaling are making all systems power constrained. In this new era for computing, hardware and software must be co-designed and system-level architecture is as critical as component-level optimizations.” —Christos Kozyrakis, Stanford University “Patterson and Hennessy brilliantly address the issues in ever-changing computer hardware architectures, emphasizing on interactions among hardware and software components at various abstraction levels.

By interspersing I/O and parallelism concepts with a variety of mechanisms in hardware and software throughout the book, the new edition achieves an excellent holistic presentation of computer architecture for the post- PC era. This book is an essential guide to hardware and software professionals facing energy efficiency and parallelization challenges in Tablet PC to Cloud computing. Oh, Syracuse University This page intentionally left blank A R M® E D I T I O N Computer Organization and Design T H E H A R D W A R E / S O F T W A R E I N T E R FA C E David A. Patterson has been teaching computer architecture at the University of California, Berkeley, since joining the faculty in 1976, where he holds the Pardee Chair of Computer Science.

His teaching has been honored by the Distinguished Teaching Award from the University of California, the Karlstrom Award from ACM, and the Mulligan Education Medal and Undergraduate Teaching Award from IEEE. Patterson received the IEEE Technical Achievement Award and the ACM Eckert-Mauchly Award for contributions to RISC, and he shared the IEEE Johnson Information Storage Award for contributions to RAID. He also shared the IEEE John von Neumann Medal and the C & C Prize with John Hennessy. Like his co-author, Patterson is a Fellow of the American Academy of Arts and Sciences, the Computer History Museum, ACM, and IEEE, and he was elected to the National Academy of Engineering, the National Academy of Sciences, and the Silicon Valley Engineering Hall of Fame.

He served on the Information Technology Advisory Committee to the U. President, as chair of the CS division in the Berkeley EECS department, as chair of the Computing Research Association, and as President of ACM. This record led to Distinguished Service Awards from ACM, CRA, and SIGARCH. At Berkeley, Patterson led the design and implementation of RISC I, likely the first VLSI reduced instruction set computer, and the foundation of the commercial SPARC architecture.

He was a leader of the Redundant Arrays of Inexpensive Disks (RAID) project, which led to dependable storage systems from many companies. He was also involved in the Network of Workstations (NOW) project, which led to cluster technology used by Internet companies and later to cloud computing. These projects earned four dissertation awards from ACM. His current research projects are Algorithm-Machine-People and Algorithms and Specializers for Provably Optimal Implementations with Resilience and Efficiency.

The AMP Lab is developing scalable machine learning algorithms, warehouse-scale-computer-friendly programming models, and crowd-sourcing tools to gain valuable insights quickly from big data in the cloud. The ASPIRE Lab uses deep hardware and software co-tuning to achieve the highest possible performance and energy efficiency for mobile and rack computing systems. Hennessy is the tenth president of Stanford University, where he has been a member of the faculty since 1977 in the departments of electrical engineering and computer science. Hennessy is a Fellow of the IEEE and ACM; a member of the National Academy of Engineering, the National Academy of Science, and the American Philosophical Society; and a Fellow of the American Academy of Arts and Sciences.

Among his many awards are the 2001 Eckert-Mauchly Award for his contributions to RISC technology, the 2001 Seymour Cray Computer Engineering Award, and the 2000 John von Neumann Award, which he shared with David Patterson. He has also received seven honorary doctorates. In 1981, he started the MIPS project at Stanford with a handful of graduate students. After completing the project in 1984, he took a leave from the university to cofound MIPS Computer Systems (now MIPS Technologies), which developed one of the first commercial RISC microprocessors.

As of 2006, over 2 billion MIPS microprocessors have been shipped in devices ranging from video games and palmtop computers to laser printers and network switches. Hennessy subsequently led the DASH (Director Architecture for Shared Memory) project, which prototyped the first scalable cache coherent multiprocessor; many of the key ideas have been adopted in modern multiprocessors. In addition to his technical activities and university responsibilities, he has continued to work with numerous start- ups, both as an early-stage advisor and an investor. A R M® E D I T I O N Computer Organization and Design T H E H A R D W A R E / S O F T W A R E I N T E R FA C E David A.

Patterson University of California, Berkeley John L. Hennessy Stanford University With contributions by David Kaeli Kevin Lim Perry Alexander Northeastern University Hewlett-Packard The University of Kansas Nicole Kaiyan John Nickolls Peter J. Ashenden University of Adelaide NVIDIA Ashenden Designs Pty Ltd David Kirk John Y. Bakos NVIDIA Cal Poly, San Luis Obispo University of South Carolina Zachary Kurmas Milos Prvulovic Javier Diaz Bruguera Grand Valley State University Georgia Tech Universidade de Santiago de Compostela James R.

Larus Partha Ranganathan Jichuan Chang School of Computer and Google Google Communications Science at EPFL Mark Smotherman Matthew Farrens Jacob Leverich Clemson University University of California, Davis Stanford University AMSTERDAM • BOSTON • HEIDELBERG • LONDON NEW YORK • OXFORD • PARIS • SAN DIEGO SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO Morgan Kaufmann is an imprint of Elsevier Publisher: Todd Green Acquisitions Editor: Steve Merken Development Editor: Nate McFadden Project Manager: Lisa Jones Designer: Matthew Limbert Morgan Kaufmann is an imprint of Elsevier 50 Hampshire Street, 5th Floor, Cambridge, MA 02139, USA Copyright © 2017 Elsevier Inc. All rights reserved No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our Web site: www.com/permissions This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practice in this field are constantly changing.

As new research and experience broaden our understanding, changes in research methods or professional practices, may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information or methods described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent of the law, neither the publisher nor the authors, contributors, or editors, assume any liability for any injury and/ or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

All material relating to ARM® technology has been reproduced with permission from ARM Limited, and should only be used for education purposes. All ARM-based models shown or referred to in the text must not be used, reproduced or distributed for commercial purposes, and in no event shall purchasing this textbook be construed as granting you or any third party, expressly or by implication, estoppel or otherwise, a license to use any other ARM technology or know how. Materials provided by ARM are copyright © ARM Limited (or its affiliates). Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the Library of Congress British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library ISBN: 978-0-12-801733-3 For information on all MK publications visit our Web site at www.com Printed and bound in the United States of America To Linda, who has been, is, and always will be the love of my life A C K N O W L E D G M E N T S Figure 1.4 Courtesy of Cray Inc.8 Courtesy of iFixit (www.5 Courtesy of Apple Computer, Inc.9 Courtesy of Chipworks (www.6 Courtesy of the Computer History Museum.13 Courtesy of Intel.2 Courtesy of Museum of Science, Boston.2 Courtesy of the Charles Babbage Institute, University of Minnesota Libraries, Minneapolis.4 Courtesy of MIPS Technologies, Inc.2 Courtesy of IBM.1 Courtesy of NASA Ames Research Center.

Contents Preface xv C H A P T E R S 1 Computer Abstractions and Technology 2 1.2 Eight Great Ideas in Computer Architecture 11 1.3 Below Your Program 13 1.4 Under the Covers 16 1.5 Technologies for Building Processors and Memory 24 1.7 The Power Wall 40 1.8 The Sea Change: The Switch from Uniprocessors to Multiprocessors 43 1.9 Real Stuff: Benchmarking the Intel Core i7 46 1.10 Fallacies and Pitfalls 49 1.12 Historical Perspective and Further Reading 54 1.13 Exercises 54 2 Instructions: Language of the Computer 60 2.2 Operations of the Computer Hardware 63 2.3 Operands of the Computer Hardware 67 2.4 Signed and Unsigned Numbers 75 2.5 Representing Instructions in the Computer 82 2.7 Instructions for Making Decisions 93 2.8 Supporting Procedures in Computer Hardware 100 2.9 Communicating with People 110 2.10 LEGv8 Addressing for Wide Immediates and Addresses 115 2.11 Parallelism and Instructions: Synchronization 125 2.12 Translating and Starting a Program 128 2.13 A C Sort Example to Put it All Together 137 2.14 Arrays versus Pointers 146 x Contents 2.15 Advanced Material: Compiling C and Interpreting Java 150 2.16 Real Stuff: MIPS Instructions 150 2.17 Real Stuff: ARMv7 (32-bit) Instructions 152 2.18 Real Stuff: x86 Instructions 154 2.19 Real Stuff: The Rest of the ARMv8 Instruction Set 163 2.20 Fallacies and Pitfalls 169 2.22 Historical Perspective and Further Reading 173 2.23 Exercises 174 3 Arithmetic for Computers 186 3.2 Addition and Subtraction 188 3.6 Parallelism and Computer Arithmetic: Subword Parallelism 230 3.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu Sách Hướng Dẫn Tổ Chức và Thiết Kế Máy Tính: Giao Diện Phần Cứng và Phần Mềm - Phiên Bản ARM cung cấp một cái nhìn sâu sắc về cách tổ chức và thiết kế máy tính, đặc biệt là trong bối cảnh kiến trúc ARM. Cuốn sách này không chỉ giải thích các khái niệm cơ bản về phần cứng và phần mềm mà còn hướng dẫn người đọc cách tối ưu hóa hiệu suất của hệ thống máy tính. Những điểm nổi bật bao gồm cách thức hoạt động của các thành phần phần cứng, cách tương tác giữa phần cứng và phần mềm, cũng như các kỹ thuật thiết kế hiện đại.

Độc giả sẽ được hưởng lợi từ việc nắm vững các nguyên tắc thiết kế máy tính, từ đó có thể áp dụng vào thực tiễn trong các dự án phát triển phần mềm hoặc phần cứng. Để mở rộng thêm kiến thức, bạn có thể tham khảo tài liệu liên quan như Ebook computer organization and design the hardware software interface risc v edition part 1, nơi cung cấp cái nhìn sâu hơn về kiến trúc RISC-V, một lựa chọn thay thế thú vị cho ARM. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về lĩnh vực thiết kế máy tính, từ đó nâng cao khả năng chuyên môn của mình.