سخت افزار

حافظه سریع‌تر چطور سرعت تمام سیستم ایکس باکس سری ایکس را بالاتر می‌برد؟

ایکس باکس نسل بعد براساس سه کلمه کلیدی توسعه یافته: قدرت، سرعت و سازگاری. مایکروسافت بدون تردید تمام تلاش خود را کرده تا سیگنالی که به مشتریان می‌دهد براساس همین سه رکن باشد. در چهارمین از سری مقالات ایکس باکس سری ایکس به سراغ رکن «سرعت» با حافظه SSD می‌رویم. SSD در این کنسول هم حافظه مجازیست و هم فضای ذخیره‌سازی. چطور، چرا و چه می‌کند؟

برای درک بهتر مطلب، این مقالات را هم بخوانید:

مشخصات سخت‌افزاریِ روی کاغذ، تنها بخش کوچی از پتانسیلی است که مایکروسافت با مهندسی راهکارهای حافظه در نسل بعد پدید آورده. در جریان تیزر پروژه اسکارلت در E3 سال گذشته میلادی، جیسون رونالد، مدیر بخش مدیریت پروژه در ایکس باکس، SSD را یک‌جور «حافظه مجازی» توصیف کرد و اشاره‌ای کوچک به کارکردهایی داشت که مایکروسافت برای سیستم نسل بعدی خود در نظر گرفته.

در سطح سحت‌افزاری، درایو شخصی‌سازی شده NVMe بسیار بسیار متفاوت با هر SSD که تا به امروز دیده‌اید خواهد بود. برای شروع و به صورت خلاصه، این حافظه عملکردی شبیه به کارت‌های حافظه قدیمی دارد. این حافظه شدیدا سنگین‌وزن هم هست،‌ احتمالا به خاطر بدنه فلزی‌اش که به عنوان یک هیت‌سینک برای قطعه‌ سیلیکونی داخل با مصرف ۳.۸ وات نیز عمل می‌کند. بسیاری‌ از اس‌اس‌دی‌های مخصوص پی‌سی بعد از داغ کردن کارایی خود را از دست می‌دهند -و درست مثل کلاک پردازنده و پردازنده گرافیکی- این چیزی نبوده که برای مایکروسافت قابل پذیرش باشد. این شرکت معتقد است عملکرد باثبات و یکپارچه باید یکی از اصلی‌ترین ویژگی‌های طراحی کنسول باشد.

فرم فاکتور حافظه کنسول جذاب است و توان عملیاتی‌ ۲.۴ گیگابایت بر ثانیه‌ایش تحسین‌برانگیز. اما این رابط برنامه‌نویسی نرم‌افزار و سخت‌افزار شخصی‌سازی شده درون چیپست است که به زعم مایکروسافت انقلابی خواهد بود – راهی جدید برای استفاده از فضای ذخیره‌سازی برای تقویت حافظه. ایده کلی مایکروسافت بسیار سرراست است. آن پکیج از بازی که روی فضای ذخیره‌سازی است تبدیل به حافظه اضافه می‌شود و این یعنی برای مثال ۱۰۰ گیگابایت از متعلقات بازی روی SSD ذخیره می‌شوند تا در هر زمان در دسترس توسعه‌دهنده باشند. این سیستمی است که مایکروسافت نام «معماری ولوسیتی»‌ را برایش انتخاب کرده و خود SSD تنها یکی از اجزای سیستم است.

حافظه سریع‌تر چطور سرعت تمام سیستم ایکس باکس سری ایکس را بالاتر می‌برد؟ - مجله ای سی بلاگ

اندرو گوسن، معمار سیستم ایکس باکس سری ایکس چنین چیزی می‌گوید:

قطعه دوم هم یک سخت‌افزار بلوک دی‌کامپرشن (خارج کردن از حالت فشرده) پرسرعت است که می‌تواند به سرعت بیش از ۶ گیگابایت بر ثانیه برسد. این یک بلوک سیلیکونی مخصوص است که کار دی‌کامپرشن را از دوش پردازنده برمی‌دارد و با اس‌اس‌دی سازگار شده تا این پروسه هیچوقت موجب بروز تنگنا کار سخت‌افزار نشود. سخت‌افزار دی‌کامپرشن از Zlip برای اطلاعات معمول و یک سیستم فشرده‌سازی جدید به نام BCPack پشتیبانی می‌کند که به صورت خاص برای بافت‌های پردازشگر گرافیکی که بخش اعظمی از سایز بازی را اشغال می‌کنند طراحی شده.

قطعه نهایی در این ائتلاف سه‌گانه هم افزونه‌ای برای دایرکت اکس -به نام DirectStorage- است؛ یک ارتقای ضروری با درنظرگیری اینکه پروتکل‌های فعلی ورودی و خروجی فایل متعلق به ۳۰ سال پیش هستند و در فرم فعلی نیازمند تخصیص دو هسته Zen خواهند بود. اما با DirectStorage، این مصرف به یک دهم تنها یک هسته می‌رسد.

گوسن بار دیگر توضیح می‌دهد:

این کار مزایای دیگری هم دارد. این پروسه کمتر نهفته است و فشار کمتری هم بر پردازنده وارد می‌کند. با بهترین راهکار رقابتی، متوجه شدیم یک نرم‌افزار دی‌کامپرشن که با نرخ سرعت SSD برابر باشد سه هسته Zen 2 را اشغال می‌کند. وقتی پردازش سربار ورودی و خروجی پردازنده را هم اضافه کنید، دو هسته دیگر هم اشغال می‌شود. بنابراین وظیفه نهایی، پنج هسته Zen 2 را به طور کامل اشغال می‌کرد و حالا تنها یک دهم یک هسته را درگیر می‌کند. بنابراین به معنای دیگر، برای اینکه پرفورمنسی برابر با سری ایکس در بالاترین نرخ ورودی و خروجی داشته باشید،‌ باید کامپیوتری با ۱۳ هسته Zen 2 ببندید. این یعنی هفت هسته برای بازی‌ها، یک هسته برای ویندوز و شل و ۵ هسته برای ورودی و خروجی و سربار پردازشی دی‌کامپرشن

استریم متعلقات هم به سطوح تازه‌ای برده شده، اما کار مایکروسافت با این بخش هنوز به اتمام نرسیده. در نسل گذشته ما شاهد بهبود ۱۶ برابری حافظه دستگاه بودیم، اما این بار این بهبود تنها به ۲ برابر رسیده – یعنی ۵۰ درصد اضافه اگر ایکس باکس وان ایکس را معیار قرار دهیم. افزون بر تمرکز بیشتر بر فضای ذخیره‌سازی برای برطرف کردن این ضعف، مایکروسافت بهبودهایی در مصرف حافظه نیز به وجود آورده است.

حافظه سریع‌تر چطور سرعت تمام سیستم ایکس باکس سری ایکس را بالاتر می‌برد؟ - مجله ای سی بلاگ

ما مشاهده کردیم که معمولا درصد کمی از حافظه اشغال شده توسط بازی‌ها در دسترس است. این به خاطر بافت‌هاست. بافت‌ها معمولا بزرگ‌ترین مصرف‌کننده حافظه در بازی‌های ویدیویی هستند. با این همه، در جریان بارگذاری یک صحنه، تنها بخش کوچکی از حافظه برای هر بافت استفاده می‌شود. برای مثال بزرگ‌ترین Mip در هر بافت 4K معادل ۸ مگابایت است و معمولا تنها بخش کوچکی از آن Mip در صحنه دیده می‌شود و یعنی تنها بخش کوچکی از آن باید توسط پردازشگر گرافیکی خوانده شود.

با افزایش حجم بافت‌ها برای سازگاری با نمایشگرهای 4K، بهینگی در مصرف حافظه به شکلی قابل توجه بدتر شده – این چیزی بود که مایکروسافت با پایش چیپست اسکورپیو انجین در ایکس باکس وان ایکس خود نیز تایید کرده.

با مشاهده این متوجه شدیم یک بازی معمولا در بهترین حالت یک دوم یا یک سوم از صفحات اختصاص‌یافته را در بازه‌ای طولانی از زمان مصرف می‌کند. بنابراین اگر یک بازی مجبور به بارگذاری صفحاتی نباشد که در نهایت هیچوقت به نمایش در نخواهند آمد، متغیری ۲ یا ۳ برابری در مقدار موثر حافظه فیزیکی و متغیری ۲ یا ۳ برابری در عملکرد موثر ورودی و خروجی خواهیم داشت.

یک تکنیک به نام Sampler Feedback Streaming -یا به اختصار SFS- نیز به صورت نزدیک با نیازهای حافظه پردازشگرهای گرافیکی تدارک دیده شده که به صورت هوشمند دیتای Mip بافت‌ها را بارگذاری کرده، معطلی پردازشگر گرافیکی را از بین می‌برد و از بالا و پایین شدن نرخ فریم هم جلوگیری می‌کند.