موضوع مقاله: پروتکل MSI | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پروتکل MSI | مقدمه: در رایانش، پروتکل MSI - یک پروتکل پایه انسجام حافظه پنهان - است که در سیستم‌های چند پردازنده کار می‌کند. | ## بخش 1: پروتکل MSI | مانند سایر پروتکل‌های انسجام حافظه پنهان، حروف نام پروتکل حالت‌های احتمالی را که در آن می‌تواند یک خط حافظه نهان باشد را مشخص می‌کند. داده‌های موجود در حافظه نهان با دیگر نسخه‌های موجود (به عنوان مثال حافظه) مغایرت خواهند داشت. حافظه پنهان با بلوک در حالت "M" وظیفه دارد هنگام خارج شدن، بلوک را در حافظه بنویسد. Shared: این بلوک اصلاح نشده‌است و حداقل در یک حافظه پنهان در حالت فقط خواندنی وجود دارد. Invalid: این بلوک یا در حافظه نهان فعلی موجود نیست یا با درخواست گذرگاه فاقد اعتبار شده‌است، و اگر قرار است بلوک در حافظه پنهان ذخیره شود، باید از حافظه یا حافظه پنهان دیگر گرفته شود. هنگام ذخیره یا نوشتن بلوک یا هنگام یادگیری از دیگر حافظه‌های نهان که ذخیره یا نوشتن رویشان اعمال می‌شود، حافظه‌های نهان دارای وظایف مختلفی هستند. هنگامی که یک درخواست خواندن یک بلوک به یک حافظه نهان در حالت "M" یا "S" می‌رسد، حافظه پنهان داده‌ها را تهیه می‌کند. اگر بلوک در حافظه پنهان نباشد (در حالت"I")، باید تأیید کنید که خط بلوک در حالت "M" حافظه نهان دیگری نیز قرار ندارد. | ## بخش 2: پروتکل MSI | به عنوان مثال، معماری‌های گذرگاه معمولاً تعقیب انجام می‌دهند، به طوری که درخواست خواندن به همه حافظه‌های نهان پخش می‌شود. معماریهای دیگر شامل پوشه‌های حافظه نهان که دارای نماینده‌هایی (فهرست‌ها) هستند که می‌دانند که کدامین حافظه نهان آخرین نسخهٔ موردنظر را دارند. اگر حافظه پنهان دیگری در حالت "M" بلوک موردنظر را داشته باشد، باید اطلاعات را در حافظه بنویسد و به حالت "S" یا "I" برود. پس از بازگشت هر خط "M"، حافظه پنهان بلوک را از حافظه یا یک حافظه پنهان دیگر با داده‌های موجود در حالت "S" بدست می‌آورد. هنگامی که یک درخواست نوشتن به یک حافظه نهان برای بلوک در حالت "M" می‌رسد، حافظه پنهان داده‌ها را بصورت محلی تغییر می‌دهد. اگر این بلوک در حالت "S" باشد، حافظه پنهان باید به حافظه‌های نهان دیگری که ممکن است حاوی بلوک در حالت "S" باشند، اطلاع دهد که آنها باید این بلوک را بیرون کنند. این اعلان ممکن است همان‌طور که در بالا توضیح داده شد از طریق تعقیب گذرگاه یا پوشه‌های حافظه نهان باشد. اگر این بلوک در حالت "I" باشد، حافظه پنهان باید به هر حافظه نهان دیگری که ممکن است حاوی بلوک در حالت "S" یا "M" باشد، اطلاع دهد که آنها باید این بلوک را بیرون کنند. | ## بخش 3: پروتکل MSI | اگر این بلوک در حالت "M" در حافظه پنهان دیگری باشد، آن حافظه پنهان باید داده‌ها را در حافظه بنویسد یا آن را برای حافظه نهان درخواستی تأمین کند. اگر در این مرحله حافظه نهان هنوز محلی را نداشته باشد، قبل از تغییر در حافظه نهان، بلوک از حافظه خوانده می‌شود. درخواست پردازنده به حافظه نهان شامل موارد زیر است: PrRd: درخواست پردازنده برای خواندن بلوک حافظه نهان. این موارد عبارتند از: BusRd: هنگامی که خطای خواندن در حافظه نهان پردازنده رخ می‌دهد، یک درخواست BusRd را از طریق گذرگاه ارسال می‌کند و انتظار دارد که در عوض بلوک حافظه نهان را دریافت کند. BusRdX: هنگامی که خطای نوشتن در حافظه نهان پردازنده رخ می‌دهد، درخواست BusRdX را از طریق گذرگاه می‌فرستد که بلوک حافظه نهان را برمی‌گرداند و بلوک موجود در حافظه‌های دیگر پردازنده‌ها را بی‌اعتبار کند. انواع سیستم‌های مدرن از انواع پروتکل MSI برای کاهش ترافیک در اتصالات درونی انسجام یافته بهره می‌گیرند. | ## جمع‌بندی | پروتکل MOSI نیز یک حالت "Owned" نیز برای کاهش ترافیک نوشتن بلوک بر روی حافظه‌ها نهانی که قبلاً از حافظه نهان دیگری خوانده شده‌است، افزوده‌است.