موضوع مقاله: ردیابی حافظه نهان | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ردیابی حافظه نهان | مقدمه: با ذخیره ردیابی دستورالعمل هایی که قبلاً واکشی و رمزگشایی شده‌اند ، به افزایش پهنای باند واکشی دستورالعمل و کاهش مصرف برق (در مورد اینتل پنتیوم ۴ ) کمک می کند. | ## بخش 1: ردیابی حافظه نهان | 138-148, December 1997 معماری است که در اطراف حافظه پنهان ردیابی طراحی شده است و دستورالعمل ها را در دانه دانه بودن سطح ردیابی پردازش می کند. این مقاله که به طور گسترده مورد تأیید قرار گرفته است توسط اریک روتنبرگ ، استیو بنت و جیم اسمیت در کنفرانس بین‌المللی سمپوزیوم بین‌المللی ریز معماری (MICRO) در سال 1996 ارائه شد. انتشار قبلی ، اختراع ثبت شده 5381533 ایالات متحده توسط الکس پِلگ و یوری وایزر از اینتل ، "حافظه پنهان پویای دستورالعمل جریان پویا است که در اطراف بخشهای ردیابی مستقل از خط آدرس مجازی سازمان یافته است" ، ادامه برنامه ای که در سال 1992 ثبت شد ، بعداً رها شد. ضرورت پردازنده های سوپراسکالر گسترده تر ، برای عملکرد بالاتر ، دستورالعمل های متعددی را می خواهند که در یک چرخه واحد واکشی شوند. دستورالعمل های واکشی به دلیل دستورالعمل های شاخه و پرش ،همیشه در مکان های حافظه مجاور ( بلوک پایه ) نیستند. بنابراین پردازنده ها برای واکشی و هم ترازی چنین دستورالعمل هایی از بلوک های اساسی غیرهمجوار به پشتیبانی منطقی و سخت افزاری اضافی نیاز دارند. اگر چندین شاخه به عنوان عدم گرفته پیش بینی شده باشد ، پردازنده ها می توانند دستورالعمل ها را از چندین بلوک اساسی مجاور در یک چرخه دریافت کنند. با این حال ، اگر هر یک از شاخه ها به عنوان گرفته شده پیش بینی شده باشد ، پردازنده باید دستورالعمل هایی را از مسیر طی شده در همان چرخه دریافت کند. اگر پیش بینی شود D گرفته نشده است ، واحد واکشی می تواند بلوک های اصلی A ، B ، C که به طور همزمان قرار می گیرند ، واکشی کند. با این حال ، اگر پیش بینی D گرفته شود ، واحد واکشی باید A ، B ، D که به طور غیر هم پیوسته قرار می گیرند ، واکشی کند. | ## بخش 2: ردیابی حافظه نهان | از این رو ، واکشی این بلوک ها که به طور ناپیوسته در یک چرخه قرار می گیرند بسیار دشوار خواهد بود. حافظه نهان ردیابی پس از واکشی ، دستورالعمل ها را به ترتیب پویای خود ذخیره می کند. هنگامی که این دستورالعمل ها مجدداً مشاهده می شوند ، حافظه پنهان ردیابی به واحد واکشی دستورالعمل پردازنده اجازه می دهد تا چندین بلوک اساسی را بدون نگرانی از شاخه های موجود در جریان اجرا ، از آن دریافت کند. دستورالعمل ها یا پس از رمزگشایی یا پس از منقضی شدن ، در حافظه پنهان ردیابی ذخیره می شوند. ساختار ردیابی یک ردیابی که توالی دستورالعمل پویا نیز نامیده می شود ، ورودی در حافظه پنهان ردیابی است. چندین ردیابی می تواند دارای همان دستورالعمل شروع ، یعنی همان اولین شمارنده برنامه (PC) و دستورالعمل های مختلف از بلوک های مختلف به عنوان نتایج شاخه داشته باشد. هر دو با یک PC (آدرس A) شروع می شوند و طبق پیش بینی D ، بلوک های اساسی مختلفی دارند. ردیابی ها معمولاً در صورت وقوع یکی از موارد زیر خاتمه می یابند: ردیابی با حداکثر تعداد مجاز دستورالعمل پر شده ردیابی دارای حداکثر بلوک های اساسی مجاز است دستورالعمل بازگشت شاخه های غیرمستقیم تماس های سیستمی اطلاعات کنترل ردیابی یک ردیابی دارای اطلاعات زیر خواهد بود: اولین PC - PC اولین دستورالعمل در ردیابی نشانگر شاخه - ( حداکثر بلوک های اساسی -1 ) پیش بینی شاخه ماسک شاخه - تعداد شاخه های موجود در ردیابی و اینکه آیا ردیابی به شاخه ختم می شود یا خیر ردیابی از طریق سقوط -PC بعدی اگر آخرین دستورالعمل شاخه ای گرفته نشود یا شاخه ای نباشد هدف ردیابی - آدرس هدف گرفته شده آخرین شاخه طراحی ردیابی حافظه نهان در اینجا عواملی ذکر شده است که باید هنگام طراحی حافظه پنهان مورد بررسی قرار گیرند. خط مشی های انتخاب ردیابی - حداکثر تعداد دستورالعمل ها و حداکثر بلوک های اساسی در ردیابی حافظه نهان سی‌پی‌یو - تعداد راههایی که یک حافظه پنهان می تواند داشته باشد روش نمایه سازی حافظه پنهان - الحاق یا XOR با بیت های PC تداعی کننده مسیر - ردیابی هایی که با همان PC شروع می شوند اما با بلوک های مختلف متفاوت می توانند در مجموعه های مختلف نگاشت شوند ردیابی گزینه های پر کردن حافظه پنهان - بعد از مرحله رمزگشایی (حدس و گمان) بعد از مرحله منقضی شدن حافظه پنهان در مسیر مهم واکشی دستورالعمل نیست Leon Gu; Dipti Motiani (October 2003). منطق اصابت / خطا خطوط ردیابی بر اساس PC اولین دستورالعمل موجود در ردیابی و مجموعه پیش بینی های شاخه ، در حافظه پنهان ردیابی ذخیره می شوند. | ## بخش 3: ردیابی حافظه نهان | این امکان را برای ذخیره مسیرهای ردیابی مختلف فراهم می کند که از همان آدرس شروع می شوند ، هر کدام نتایج مختلف شاخه را نشان می دهند. روش دیگر می تواند شامل تنها نگهداری اولین PC به عنوان برچسب در حافظه پنهان باشد. در مرحله واکشی دستورالعمل یک خط لوله ، PC فعلی به همراه مجموعه ای از پیش بینی های شاخه در حافظه پنهان ردیابی برای ضربه بررسی می شود . اگر ضربه ای ایجاد شود ، یک خط ردیابی برای واحد واکشی ارائه می شود که برای این دستورالعمل ها نیازی به رفتن به حافظه پنهان معمولی یا حافظه نیست. حافظه پنهان ردیابی به تغذیه واحد واکشی ادامه می دهد تا زمانی که خط ردیابی به پایان برسد یا اینکه پیش‌بینی‌کننده پرش اشتباهی در خط لوله وجود داشته باشد. حافظه پنهان اجرای پنتیوم ۴ عملیات خرد حاصل از رمزگشایی دستورالعمل های x86 را ذخیره می کند ، همچنین عملکرد حافظه پنهان ریز عملکرد را فراهم می کند. با این وجود ، دفعه بعدی که یک دستورالعمل مورد نیاز است ، نیازی به رمزگشایی مجدد در ریز عملیات نیست. معایب معایب حافظه پنهان ردیابی عبارتند از: ذخیره دستورالعمل اضافی بین ردیابی حافظه پنهان و حافظه پنهان دستورالعمل و در داخل ردیابی حافظه پنهان. ردیابی حافظه پنهان اینتل در حافظه پنهان L1 پردازنده های NetBurst ، حافظه پنهان ردیابی اجرا را در خود جای داده است. این عملیات رمزگشایی شده را ذخیره می کند ، بنابراین هنگام اجرای یک دستورالعمل جدید ، به جای واکشی و رمزگشایی مجدد دستورالعمل ، پردازنده مستقیماً از ردیابی حافظه پنهان به ریز رمزگشایی های رمزگشایی شده دسترسی پیدا می کند و در نتیجه باعث صرفه جویی در وقت قابل توجهی می شود. | ## جمع‌بندی | علاوه بر این ، ریز op ها در مسیر پیش بینی شده خود در حافظه پنهان می شوند ، به این معنی که وقتی دستورالعمل ها توسط CPU از حافظه پنهان واکشی می شوند ، آنها از قبل به ترتیب صحیح اجرا وجود دارند.