موضوع مقاله: شبیه‌سازی ریزمعماری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # شبیه‌سازی ریزمعماری | مقدمه: شبیه‌سازی ریزمعماری یک تکنیک مهم در تحقیقات معماری کامپیوتر و آموزش علوم کامپیوتر است و ابزاری برای مدل‌سازی طراحی و رفتار یک ریزپردازنده و اجزای آن مانند ALU، حافظه نهان، واحد کنترل و مسیر داده و غیره است. | ## بخش 1: شبیه‌سازی ریزمعماری | این کار به پژوهشگران اجازه می‌دهد تا طراحی ریزپردازنده را بررسی کنند و همچنین عملکرد و کارایی ویژگی‌های جدید ریزمعماری را تعیین کنند. برای مثال، بعضی از ریزمعماری‌ها مانند پیش‌بینی‌کننده پرش، بافر مرتب‌سازی و حافظه نهان ردیابی، قبل از تبدیل شدن به اجزای رایج در ریزپردازنده‌های امروزی، چرخه‌های شبیه‌سازی متعددی را پشت سر گذاشتند. علاوه بر این، شبیه‌سازی به استادان امکان می‌دهد تا دوره‌های اصول سیستم و معماری کامپیوتر را به صورت عملی و تجربی آموزش دهند. برای شبیه‌سازی سخت‌افزار رایانه در لایه سیستم، لطفاً به شبیه‌سازی کامل سیستم رجوع کنید. انواع شبیه‌سازی ریزمعماری شبیه‌سازی ریزمعماری را می‌توان بر اساس انواع داده‌های ورودی و جزییات شبیه‌سازی به چند دسته طبقه‌بندی کرد. به‌طور دقیق‌تر، ورودی می‌تواند از رد اجرای برنامه روی یک ریزپردازنده جمع‌آوری شده باشد (به اصطلاح شبیه‌سازی مبتنی بر ردیابی) یا از اجرای کلی خود برنامه (به اصطلاح شبیه‌سازی مبتنی بر اجرا) جمع‌آوری شده باشد. | ## بخش 2: شبیه‌سازی ریزمعماری | این رکوردها معمولاً ارجاعات حافظه، نتایج شاخه یا دستورالعمل‌های یک ماشین خاص و غیره را نشان می‌دهند. در حالی که یک شبیه‌سازی مبتنی بر ردیابی به نسبت سریع و نتایج آن بسیار قابلیت تولید مجدد دارند، به فضای ذخیره‌سازی بسیار بزرگی نیز نیاز دارد. با این حال، شبیه‌سازی مبتنی بر اجرا بسیار کندتر از شبیه‌سازی مبتنی بر ردیابی است زیرا باید هر دستورالعمل را یک به یک پردازش کند و تمام وضعیت‌های اجزای ریزمعماری را در حین اجرا به روز کند؛ بنابراین، انتخاب انواع ورودی برای شبیه سازی یک ترید آف بین فضا و زمان است. به‌طور خاص، یک ردیابی بسیار دقیق برای یک شبیه‌سازی بسیار دقیق، به فضای ذخیره‌سازی بسیار بزرگی نیاز دارد، در حالی که یک شبیه‌سازی مبتنی بر اجرای بسیار دقیق، برای اجرای تمام دستورالعمل‌ها در برنامه زمان بسیار زیادی نیاز دارد. علاوه بر انواع ورودی، مقدار جزییات نیز می‌توان برای طبقه‌بندی شبیه‌سازی استفاده شود. به‌طور دقیق‌تر، نرم‌افزاری که یک ریزپردازنده را با استفاده از اجرای یک برنامه به صورت چرخه به چرخه شبیه‌سازی می‌کند، به‌عنوان شبیه‌ساز دقیق چرخه (cycle-accurate simulator) شناخته می‌شود، در حالی که شبیه‌ساز مجموعه دستورالعمل‌ها فقط اجرای یک برنامه بر روی یک ریزپردازنده را با استفاده از یک زمان‌بندی‌کننده دستور العمل‌ها با زمان‌بندی‌های بزرگ مدل‌سازی می‌کند. | ## بخش 3: شبیه‌سازی ریزمعماری | آنها به محققان اجازه می‌دهند تا ایده‌های خود را بدون اینکه یک تراشه ریزپردازنده واقعی (که هم گران و هم‌زمان بر است) بسازند، ارزیابی کنند، به عنوان مثال، شبیه سازی یک ریزپردازنده با هزاران هسته همراه با چندین سطح حافظه کش هزینه بسیار کمی در مقایسه با ساخت یک تراشه نمونه واقعی دارد. محققان همچنین می‌توانند با استفاده از مدل‌های کش مختلف در شبیه‌ساز، با پیکربندی سلسله‌مراتب کش بازی کنند. بدون اینکه هر بار که می‌خواهند چیز متفاوتی را آزمایش کنند، یک تراشه جدید بسازند. با توجه به اینکه یک دوره در معماری کامپیوتر بسیاری از ویژگی‌های ریزپردازنده‌ها و معماری آنها را به دانشجویان آموزش می‌دهد، شبیه‌ساز ریزمعماری برای مدل‌سازی و آزمایش ویژگی‌ها و معماری‌های مختلف در طول یک ترم می‌تواند مورد استفاده قرار گیرد. به عنوان مثال، دانش‌آموزان ممکن است با یک شبیه ساز ریزمعماری ساده در ابتدای ترم شروع کنند (یک طرح ریزپردازنده ساده). | ## جمع‌بندی | هر چه ترم پیشرفت می‌کند، ویژگی‌های اضافی، مانند خط لوله دستورالعمل، تغییر نام ثبات، ایستگاه‌های رزرو، اجرای خارج از نظم و رتبه‌بندی را می‌توان مدل‌سازی کرد و پس از معرفی آنها در کلاس درس، به شبیه‌ساز در دسترس دانشجو اضافه کرد.