دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 2 نویسندگان: Vijay Nagarajan, Daniel J. Sorin, Mark D. Hill سری: Synthesis Lectures on Computer Architecture, #49 ISBN (شابک) : 1681737094, 9781681737096 ناشر: MORGAN & CLAYPOOL سال نشر: 2020 تعداد صفحات: 296 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 5 مگابایت
در صورت تبدیل فایل کتاب A Primer on Memory Consistency and Cache Coherence: Second Edition (Synthesis Lectures on Computer Architecture) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مقدمه ای در مورد سازگاری حافظه و انسجام حافظه پنهان: چاپ دوم (سخنرانی های سنتز در مورد معماری کامپیوتر) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
بسیاری از سیستمهای کامپیوتری مدرن، از جمله معماریهای همگن و ناهمگن، از حافظه مشترک در سختافزار پشتیبانی میکنند.
در یک سیستم حافظه مشترک، هر یک از هستههای پردازنده ممکن است بخوانند و بنویسند. یک فضای آدرس مشترک واحد برای یک ماشین حافظه مشترک، مدل سازگاری حافظه رفتار قابل مشاهده معماری سیستم حافظه آن را تعریف می کند. تعاریف سازگاری قوانینی را در مورد بارها و ذخیره (یا خواندن و نوشتن حافظه) و نحوه عملکرد آنها بر روی حافظه ارائه می کند. به عنوان بخشی از پشتیبانی از یک مدل سازگاری حافظه، بسیاری از ماشینها پروتکلهای انسجام حافظه پنهان را نیز ارائه میکنند که اطمینان حاصل میکند که چندین نسخه کش شده از دادهها بهروز نگه داشته میشوند. هدف این آغازگر این است که به خوانندگان درک اساسی از سازگاری و انسجام ارائه دهد. این درک هم شامل مسائلی است که باید حل شوند و هم راه حل های متنوعی. ما مفاهیم سطح بالا و همچنین نمونههای مشخص و عینی را از سیستمهای دنیای واقعی ارائه میکنیم.
این ویرایش دوم نشاندهنده یک دهه پیشرفت از نسخه اول است و در میان سایر تغییرات سادهتر، دو جدید را شامل میشود. فصلها: یکی در مورد سازگاری و انسجام برای شتابدهندههای غیر CPU (با تمرکز بر پردازندههای گرافیکی) و یکی که به کار رسمی و ابزارهایی در مورد سازگاری و انسجام اشاره میکند.
Many modern computer systems, including homogeneous and heterogeneous architectures, support shared memory in hardware.
In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its memory system. Consistency definitions provide rules about loads and stores (or memory reads and writes) and how they act upon memory. As part of supporting a memory consistency model, many machines also provide cache coherence protocols that ensure that multiple cached copies of data are kept up-to-date. The goal of this primer is to provide readers with a basic understanding of consistency and coherence. This understanding includes both the issues that must be solved as well as a variety of solutions. We present both high-level concepts as well as specific, concrete examples from real-world systems.
This second edition reflects a decade of advancements since the first edition and includes, among other more modest changes, two new chapters: one on consistency and coherence for non-CPU accelerators (with a focus on GPUs) and one that points to formal work and tools on consistency and coherence.
Preface to the Second Edition Preface to the First Edition Introduction to Consistency and Coherence Consistency (a.k.a., Memory Consistency, Memory Consistency Model, or Memory Model) Coherence (a.k.a., Cache Coherence) Consistency and Coherence for Heterogeneous Systems Specifying and Validating Memory Consistency Models and Cache Coherence A Consistency and Coherence Quiz What This Primer Does Not Do References Coherence Basics Baseline System Model The Problem: How Incoherence Could Possibly Occur The Cache Coherence Interface (Consistency-Agnostic) Coherence Invariants Maintaining the Coherence Invariants The Granularity of Coherence When is Coherence Relevant? References Memory Consistency Motivation and Sequential Consistency Problems with Shared Memory Behavior What is a Memory Consistency Model? Consistency vs. Coherence Basic Idea of Sequential Consistency (SC) A Little SC Formalism Naive SC Implementations A Basic SC Implementation with Cache Coherence Optimized SC Implementations with Cache Coherence Atomic Operations with SC Putting it All Together: MIPS R10000 Further Reading Regarding SC References Total Store Order and the X86 Memory Model Motivation for TSO/x86 Basic Idea of TSO/x86 A Little TSO/x86 Formalism Implementing TSO/x86 Implementing Atomic Instructions Implementing Fences Further Reading Regarding TSO Comparing SC and TSO References Relaxed Memory Consistency Motivation Opportunities to Reorder Memory Operations Opportunities to Exploit Reordering An Example Relaxed Consistency Model (XC) The Basic Idea of the XC Model Examples Using Fences Under XC Formalizing XC Examples Showing XC Operating Correctly Implementing XC Atomic Instructions with XC Fences With XC A Caveat Sequential Consistency for Data-Race-Free Programs Some Relaxed Model Concepts Release Consistency Causality and Write Atomicity Relaxed Memory Model Case Studies RISC-V Weak Memory Order (RVWMO) IBM Power Further Reading and Commercial Relaxed Memory Models Academic Literature Commercial Models Comparing Memory Models How Do Relaxed Memory Models Relate to Each Other and TSO and SC? How Good Are Relaxed Models? High-Level Language Models References Coherence Protocols The Big Picture Specifying Coherence Protocols Example of a Simple Coherence Protocol Overview of Coherence Protocol Design Space States Transactions Major Protocol Design Options References Snooping Coherence Protocols Introduction to Snooping Baseline Snooping Protocol High-Level Protocol Specification Simple Snooping System Model: Atomic Requests, Atomic Transactions Baseline Snooping System Model: Non-Atomic Requests, Atomic Transactions Running Example Protocol Simplifications Adding the Exclusive State Motivation Getting to the Exclusive State High-Level Specification of Protocol Detailed Specification Running Example Adding the Owned State Motivation High-Level Protocol Specification Detailed Protocol Specification Running Example Non-Atomic Bus Motivation In-Order vs. Out-of-Order Responses Non-Atomic System Model An MSI Protocol with a Split-Transaction Bus An Optimized, Non-Stalling MSI Protocol with a Split-Transaction Bus Optimizations to the Bus Interconnection Network Separate Non-Bus Network for Data Responses Logical Bus for Coherence Requests Case Studies Sun Starfire E10000 IBM Power5 Discussion and the Future of Snooping References Directory Coherence Protocols Introduction to Directory Protocols Baseline Directory System Directory System Model High-Level Protocol Specification Avoiding Deadlock Detailed Protocol Specification Protocol Operation Protocol Simplifications Adding the Exclusive State High-Level Protocol Specification Detailed Protocol Specification Adding the Owned State High-Level Protocol Specification Detailed Protocol Specification Representing Directory State Coarse Directory Limited Pointer Directory Directory Organization Directory Cache Backed by DRAM Inclusive Directory Caches Null Directory Cache (With no Backing Store) Performance and Scalability Optimizations Distributed Directories Non-Stalling Directory Protocols Interconnection Networks Without Point-to-Point Ordering Silent vs. Non-Silent Evictions of Blocks in State S Case Studies SGI Origin 2000 Coherent HyperTransport Hypertransport Assist Intel QPI Discussion and the Future of Directory Protocols References Advanced Topics in Coherence System Models Instruction Caches Translation Lookaside Buffers (TLBs) Virtual Caches Write-Through Caches Coherent Direct Memory Access (DMA) Multi-Level Caches and Hierarchical Coherence Protocols Performance Optimizations Migratory Sharing Optimization False Sharing Optimizations Maintaining Liveness Deadlock Livelock Starvation Token Coherence The Future of Coherence References Consistency and Coherence for Heterogeneous Systems GPU Consistency and Coherence Early GPUs: Architecture and Programming Model Big Picture: GPGPU Consistency and Coherence Temporal Coherence Release Consistency-directed Coherence More Heterogeneity Than Just GPUs Heterogeneous Consistency Models Heterogeneous Coherence Protocols Further Reading References Specifying and Validating Memory Consistency Models and Cache Coherence Specification Operational Specification Axiomatic Specification Exploring the Behavior of Memory Consistency Models Litmus Tests Exploration Validating Implementations Formal Methods Testing History and Further Reading References Authors' Biographies Blank Page