logo资料库

Modern Computer Architecture and Organization.pdf

第1页 / 共561页
第2页 / 共561页
第3页 / 共561页
第4页 / 共561页
第5页 / 共561页
第6页 / 共561页
第7页 / 共561页
第8页 / 共561页
资料共561页,剩余部分请下载后查看
Cover
Title Page
Copyright and Credits
About Packt
Contributors
Table of Contents
Preface
Section 1: Fundamentals of Computer Architecture
Chapter 1: Introducing Computer Architecture
The evolution of automated computing devices
Charles Babbage's Analytical Engine
ENIAC
IBM PC
The iPhone
Moore's law
Computer architecture
Binary and hexadecimal numbers
The 6502 microprocessor
The 6502 instruction set
Summary
Exercises
Chapter 2: Digital Logic
Electrical circuits
The transistor
Logic gates
Latches
Flip-flops
Registers
Adders
Propagation delay
Clocking
Sequential logic
Hardware description languages
VHDL
Summary
Exercises
Chapter 3: Processor Elements
A simple processor
Control unit
Arithmetic logic unit
Registers
The instruction set
Addressing modes
Immediate addressing mode
Absolute addressing mode
Absolute indexed addressing mode
Indirect indexed addressing mode
Instruction categories
Memory load and store instructions
Register-to-register data transfer instructions
Stack instructions
Arithmetic instructions
Logical instructions
Branching instructions
Subroutine call and return instructions
Processor flag instructions
Interrupt-related instructions
No operation instruction
Interrupt processing
IRQ processing
NMI processing
BRK instruction processing
Input/output operations
Programmed I/O
Interrupt-driven I/O
Direct memory access
Summary
Exercises
Chapter 4: Computer System Components
Technical requirements
Memory subsystem
Introducing the MOSFET
Constructing DRAM circuits with MOSFETs
The capacitor
The DRAM bit cell
DDR4 SDRAM
Graphics DDR
Prefetching
I/O subsystem
Parallel and serial data buses
PCI Express
SATA
M.2
USB
Thunderbolt
Graphics displays
VGA
DVI
HDMI
DisplayPort
Network interface
Ethernet
Wi-Fi
Keyboard and mouse
Keyboard
Mouse
Modern computer system specifications
Summary
Exercises
Chapter 5: Hardware-Software Interface
Device drivers
The parallel port
PCIe device drivers
Device driver structure
BIOS
UEFI
The boot process
BIOS boot
UEFI boot
Embedded devices
Operating systems
Processes and threads
Scheduling algorithms and process priority
Multiprocessing
Summary
Exercises
Chapter 6: Specialized Computing Domains
Real-time computing
Real-time operating systems
Digital signal processing
ADCs and DACs
DSP hardware features
Signal processing algorithms
GPU processing
GPUs as data processors
Examples of specialized architectures
Summary
Exercises
Section 2: Processor Architectures and Instruction Sets
Chapter 7: Processor and Memory Architectures
Technical Requirements
The von Neumann, Harvard, and modified Harvard architectures
The von Neumann architecture
The Harvard architecture
The modified Harvard architecture
Physical and virtual memory
Paged virtual memory
Page status bits
Memory pools
Memory management unit
Summary
Exercises
Chapter 8: Performance-Enhancing Techniques
Cache memory
Multilevel processor caches
Static RAM
Level 1 cache
Direct-mapped cache
Set associative cache
Fully associative cache
Processor cache write policies
Level 2 and level 3 processor caches
Instruction pipelining
Superpipelining
Pipeline hazards
Micro-operations and register renaming
Conditional branches
Simultaneous multithreading
SIMD processing
Summary
Exercises
Chapter 9: Specialized Processor Extensions
Technical requirements
Privileged processor modes
Handling interrupts and exceptions
Protection rings
Supervisor mode and user mode
System calls
Floating-point mathematics
The 8087 floating-point coprocessor
The IEEE 754 floating-point standard
Power management
Dynamic voltage frequency scaling
System security management
Summary
Exercises
Chapter 10: Modern Processor Architectures and Instruction Sets
Technical requirements
x86 architecture and instruction set
The x86 register set
x86 addressing modes
x86 instruction categories
x86 instruction formats
x86 assembly language
x64 architecture and instruction set
The x64 register set
x64 instruction categories and formats
x64 assembly language
32-bit ARM architecture and instruction set
The ARM register set
ARM addressing modes
ARM instruction categories
ARM assembly language
64-bit ARM architecture and instruction set
64-bit ARM assembly language
Summary
Exercises
Chapter 11: The RISC-V Architecture and Instruction Set
Technical requirements
The RISC-V architecture and features
The RISC-V base instruction set
Computational instructions
Control flow instructions
Memory access instructions
System instructions
Pseudo-instructions
Privilege levels
RISC-V extensions
The M extension
The A extension
C extension
The F and D extensions
Other extensions
64-bit RISC-V
Standard RISC-V configurations
RISC-V assembly language
Implementing RISC-V in an FPGA
Summary
Exercises
Section 3: Applications of Computer Architecture
Chapter 12: Processor Virtualization
Technical requirements
Introducing virtualization
Types of virtualization
Categories of processor virtualization
Virtualization challenges
Unsafe instructions
Shadow page tables
Security
Virtualizing modern processors
x86 processor virtualization
ARM processor virtualization
RISC-V processor virtualization
Virtualization tools
VirtualBox
VMware Workstation
VMware ESXi
KVM
Xen
QEMU
Virtualization and cloud computing
Summary
Exercises
Domain-Specific Chapter 13: Computer Architectures
Technical requirements
Architecting computer systems to meet unique requirements
Smartphone architecture
iPhone X
Personal computer architecture
Alienware Aurora Ryzen Edition gaming desktop
Ryzen 9 3950X branch prediction
Nvidia GeForce RTX 2080 Ti GPU
Aurora subsystems
Warehouse-scale computing architecture
WSC hardware
Rack-based servers
Hardware fault management
Electrical power consumption
The WSC as a multilevel information cache
Neural networks and machine learning architectures
Intel Nervana neural network processor
Summary
Exercises
Chapter 14: Future Directions in Computer Architectures
The ongoing evolution of computer architectures
Extrapolating from current trends
Moore's law revisited
The third dimension
Increased device specialization
Potentially disruptive technologies
Quantum physics
Spintronics
Quantum computing
Carbon nanotubes
Building a future-tolerant skill set
Continuous learning
College education
Conferences and literature
Summary
Exercises
Answers to Exercises
Chapter 1, Introducing Computer Architecture
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Exercise 5
Answer
Exercise 6
Answer
Chapter 2, Digital Logic
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Exercise 5
Answer
Exercise 6
Answer
Chapter 3, Processor Elements
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Exercise 5
Answer
Exercise 6
Answer
Chapter 4, Computer System Components
Exercise 1
Answer
Exercise 2
Answer
Chapter 5, Hardware-Software Interface
Exercise 1
Answer
Exercise 2
Answer
Chapter 6, Specialized Computing Domains
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Chapter 7, Processor and Memory Architectures
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Chapter 8, Performance-Enhancing Techniques
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Chapter 9, Specialized Processor Extensions
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Exercise 5
Answer
Exercise 6
Answer
Exercise 7
Answer
Exercise 8
Answer
Chapter 10, Modern Processor Architectures and Instruction Sets
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Exercise 5
Answer
Exercise 6
Answer
Exercise 7
Answer
Exercise 8
Answer
Chapter 11, The RISC-V Architecture and Instruction Set
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Chapter 12, Processor Virtualization
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Chapter 13, Domain-Specific Computer Architectures
Exercise 1
Answer
Exercise 2
Answer
Chapter 14, Future Directions in Computer Architectures
Exercise 1
Answer
Exercise 2
Answer
Exercise 3
Answer
Exercise 4
Answer
Other Books You May Enjoy
Leave a review - let other readers know what you think
Index
Modern Computer Architecture and Organization Are you a software developer, systems designer, or computer architecture student looking for a methodical introduction to digital device architectures but overwhelmed by their complexity? This book will help you to learn how modern computer systems work, from the lowest level of transistor switching to the macro view of collaborating multiprocessor servers. You'll gain unique insights into the internal behavior of processors that execute the code developed in high-level languages and enable you to design more effi cient and scalable software systems. The book will teach you the fundamentals of computer systems including transistors, logic gates, sequential logic, and instruction operations. You will learn details of modern processor architectures and instruction sets including x86, x64, ARM, and RISC-V. You will see how to implement a RISC-V processor in a low-cost FPGA board and how to write a quantum computing program and run it on an actual quantum computer. By the end of this book, you will have a thorough understanding of modern processor and computer architectures and the future directions these architectures are likely to take. Things you will learn: • Get to grips with transistor technology and digital circuit principles • Discover the functional elements of computer processors • Understand pipelining and superscalar execution • Work with fl oating-point data formats • Understand the purpose and operation of the supervisor mode Implement a complete RISC-V processor in a low-cost FPGA • • Explore the techniques used in virtual machine implementation • Write a quantum computing program and run it on a quantum computer Modern Computer Architecture and Organization Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers J i m L e d n i M o d e r n C o m p u t e r A r c h i t e c t u r e a n d O r g a n i z a t i o n www.packt.com Jim Ledin www.packt.com
Modern Computer Architecture and Organization Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers Jim Ledin BIRMINGHAM—MUMBAI
Modern Computer Architecture and Organization Copyright © 2020 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Kunal Chaudhari Acquisition Editor: Denim Pinto Senior Editor: Afshaan Khan Content Development Editor: Tiksha Lad Technical Editor: Gaurav Gala Copy Editor: Safis Editing Project Coordinator: Francy Puthiry Proofreader: Safis Editing Indexer: Pratik Shirodkar Production Designer: Aparna Bhagat First published: April 2020 Production reference: 1290420 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-83898-439-7 www.packt.com
Packt.com Subscribe to our online digital library for full access to over 7,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. Why subscribe? • Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals • Improve your learning with Skill Plans built especially for you • Get a free eBook or video every month • Fully searchable for easy access to vital information • Copy and paste, print, and bookmark content Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at customercare@packtpub.com for more details. At www.packt.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Contributors About the author Jim Ledin is the CEO of Ledin Engineering, Inc. Jim is an expert in embedded software and hardware design, development, and testing. He is also accomplished in embedded system cybersecurity assessment and penetration testing. He has a B.S. degree in aerospace engineering from Iowa State University and an M.S. degree in electrical and computer engineering from Georgia Institute of Technology. Jim is a registered professional electrical engineer in California, a Certified Information System Security Professional (CISSP), a Certified Ethical Hacker (CEH), and a Certified Penetration Tester (CPT).
About the reviewer Roger Spears has over 15 years' experience in the academic field and over 20 years' experience in IT. He has a B.S. in technology from Bowling Green State University and an M.S. in information assurance, specializing in network defense, from Capella University. He has developed and facilitated individual courses for networking, programming, and databases. He was a member of the Protect and Detect working group on the National Cyberwatch Center Curriculum Standards Panel for the Cybersecurity Foundation Series. Roger has been awarded over $750,000 in cybersecurity grants from the government for various academic and industrial customers. He holds certificates from Microsoft and Oracle. He also holds a CCNA and CySA+ certification. I would like to acknowledge my wife (Leann) and children (Maverick and Sierra) for providing me the opportunity to grow with them and for the freedom to pursue various academic and vocational endeavors. Your understanding and tolerance meant more than I can say with words. Packt is searching for authors like you If you're interested in becoming an author for Packt, please visit authors. packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Table of Contents Preface Section 1: Fundamentals of Computer Architecture 1 Introducing Computer Architecture The evolution of automated computing devices Charles Babbage's Analytical Engine ENIAC IBM PC The iPhone Computer architecture Binary and hexadecimal numbers The 6502 microprocessor The 6502 instruction set 4 4 6 7 11 Summary Exercises 16 16 20 23 25 26 Moore's law 2 Digital Logic Electrical circuits The transistor Logic gates Latches Flip-flops Registers Adders Propagation delay 12 30 31 33 37 40 42 43 44 46 Clocking Sequential logic 47 Hardware description languages 48 49 VHDL Summary Exercises 53 54
分享到:
收藏