آیا فقط معماری ARM است که تراشه های سیلیکونی اپل را سریع کرده است؟ یا Unified Memory Architecture کمکی کرد؟
در سال 2020 اپل یک حرکت جسورانه انجام داد. آنها اینتل را کنار گذاشتند و برای تامین انرژی مکبوکهایشان به سیلیکون اختصاصی خود روی آوردند. اگرچه حرکت به سمت معماری ARM از زبان طراحی x86 باعث ایجاد ابروهای زیادی شد، اما اپل ثابت کرد که همه اشتباه میکنند، وقتی مکبوکهای مجهز به سیلیکون اپل عملکرد شگفتانگیزی در هر وات ارائه میدهند.
به گفته چندین متخصص، تغییر به معماری ARM دلیل بزرگی برای افزایش عملکرد/وات بود. با این حال، معماری حافظه یکپارچه جدید نیز نقش مهمی در بهبود عملکرد مکبوکهای نسل جدید داشت.
بنابراین، معماری حافظه یکپارچه اپل چیست و چگونه کار می کند؟ خب بیایید بفهمیم
چرا کامپیوتر شما به حافظه نیاز دارد؟
قبل از ورود به معماری حافظه یکپارچه اپل، درک اینکه چرا سیستم های ذخیره سازی اولیه مانند حافظه با دسترسی تصادفی (RAM) در وهله اول مورد نیاز است، ضروری است.
ببینید، یک پردازنده سنتی با سرعت کلاک 4 گیگاهرتز در طول بوست توربو کار می کند. در این سرعت ساعت، یک پردازنده می تواند وظایف را در یک چهارم نانوثانیه انجام دهد. با این حال، درایوهای ذخیرهسازی، مانند SSD و HDD، فقط میتوانند در هر ده میلیثانیه دادهها را به CPU ارائه دهند، یعنی 10 میلیون نانوثانیه. این بدان معناست که در فاصله زمانی بین پردازش دادههایی که روی آنها کار میکند تا پایان پردازش دادهها و دریافت دسته بعدی اطلاعات، CPU بیکار میماند.
این به وضوح نشان می دهد که درایوهای ذخیره سازی نمی توانند سرعت پردازنده را حفظ کنند. رایانه ها با استفاده از سیستم های ذخیره سازی اولیه مانند RAM این مشکل را حل می کنند. اگرچه این سیستم حافظه نمی تواند داده ها را به طور دائم ذخیره کند، اما در مقایسه با SSD ها بسیار سریعتر است—می تواند داده ها را در کمتر از 8.8 نانوثانیه ارسال کند: بی نهایت سریعتر از سریع ترین SSD های فعلی.
این زمان دسترسی کم، CPU را قادر میسازد تا دادهها را سریعتر دریافت کند و به آن اجازه میدهد بهجای اینکه منتظر بمانند تا SSD دستهای دیگر را برای پردازش ارسال کند، اطلاعات را بهطور مداوم از بین ببرد.
با توجه به این معماری طراحی، برنامه ها در درایوهای ذخیره سازی به رم منتقل می شوند و سپس توسط CPU از طریق ثبات های CPU قابل دسترسی هستند. بنابراین، یک سیستم ذخیرهسازی اولیه سریعتر، عملکرد رایانه را بهبود میبخشد، و این دقیقاً همان کاری است که اپل با معماری حافظه یکپارچه خود انجام میدهد.
درک نحوه عملکرد سیستم های حافظه سنتی
اکنون که می دانیم چرا RAM مورد نیاز است، باید بدانیم که GPU و CPU چگونه از آن استفاده می کنند. اگرچه هر دو GPU و CPU برای پردازش داده ها طراحی شده اند، CPU برای انجام محاسبات همه منظوره طراحی شده است. برعکس، پردازنده گرافیکی برای انجام یک کار مشابه در هسته های مختلف طراحی شده است. با توجه به این تفاوت در طراحی، GPU در پردازش و رندر تصویر بسیار کارآمد است.
اگرچه CPU و GPU معماری های متفاوتی دارند، اما برای دریافت داده ها به سیستم های ذخیره سازی اولیه بستگی دارند. دو نوع حافظه دسترسی تصادفی در یک سیستم سنتی با یک GPU اختصاصی وجود دارد. این VRAM و RAM سیستم است. VRAM که به عنوان Video RAM نیز شناخته می شود، وظیفه ارسال اطلاعات به GPU را بر عهده دارد و RAM سیستم اطلاعات را به CPU منتقل می کند.
اما برای درک بهتر سیستم های مدیریت حافظه، اجازه دهید به یک مثال واقعی از شما که در حال انجام یک بازی هستید نگاه کنیم.
وقتی بازی را باز می کنید، CPU وارد تصویر می شود و اطلاعات برنامه بازی به رم سیستم منتقل می شود. پس از آن، CPU داده ها را پردازش کرده و به VRAM ارسال می کند. سپس GPU این داده ها را پردازش می کند و آن را به RAM می فرستد تا CPU اطلاعات را روی صفحه نمایش دهد. در موارد یک سیستم GPU یکپارچه، هر دو دستگاه محاسباتی RAM یکسانی دارند اما به فضاهای متفاوتی در حافظه دسترسی دارند.
این رویکرد سنتی شامل جابجایی داده های زیادی است که سیستم را ناکارآمد می کند. برای حل این مشکل، اپل از معماری حافظه یکپارچه استفاده می کند.
معماری حافظه یکپارچه در سیلیکون اپل چگونه کار می کند؟
اپل در مورد سیستم های حافظه چندین کار را متفاوت انجام می دهد.
در مورد سیستم های عمومی، رم با استفاده از یک سوکت روی مادربرد به CPU متصل می شود. این اتصال مقدار داده ارسال شده به CPU را محدود می کند.
از سوی دیگر، سیلیکون اپل از همان بستر برای نصب رم و SoC استفاده می کند. اگرچه رم در چنین معماری بخشی از SoC نیست، اپل از یک بستر داخلی (Fabric) برای اتصال رم به SoC استفاده می کند. interposer چیزی نیست جز یک لایه سیلیکون بین SOC و RAM.
در مقایسه با سوکتهای سنتی، که برای انتقال دادهها به سیمها متکی هستند، اینترپوزر به رم اجازه میدهد تا با استفاده از طریق سیلیکون به چیپست متصل شود. این بدان معناست که مکبوکهای سیلیکونی اپل، رم خود را مستقیماً در بسته قرار میدهند و انتقال دادهها را بین حافظه و پردازنده سریعتر میکنند. RAM همچنین از نظر فیزیکی به مکان مورد نیاز داده ها (پردازنده ها) نزدیک تر است، بنابراین به داده ها اجازه می دهد زودتر به جایی که نیاز است برسد.
با توجه به این تفاوت در اتصال رم به چیپست، می تواند به پهنای باند داده بالایی دسترسی داشته باشد.
علاوه بر تفاوتی که در بالا ذکر شد، اپل نحوه دسترسی CPU و GPU به سیستم حافظه را نیز تغییر داد.
همانطور که قبلا توضیح داده شد، GPU و CPU دارای حافظه های مختلف در تنظیمات سنتی هستند. برعکس، اپل به GPU، CPU و Neural Engine اجازه می دهد تا به یک حافظه حافظه دسترسی داشته باشند. به همین دلیل، نیازی به انتقال داده ها از یک سیستم حافظه به سیستم دیگر نیست و کارایی سیستم را بیشتر بهبود می بخشد.
با توجه به تمام این تفاوت ها در معماری حافظه، سیستم حافظه یکپارچه پهنای باند داده بالایی را به SoC ارائه می دهد. در واقع M1 Ultra پهنای باند 800 گیگابایت بر ثانیه را فراهم می کند. این پهنای باند در مقایسه با پردازندههای گرافیکی با کارایی بالا مانند AMD Radeon RX 6800 و 6800XT که پهنای باند 512 گیگابایت بر ثانیه را ارائه میدهند، بسیار بیشتر است.
این پهنای باند بالا، CPU، GPU و Neural Engine را قادر میسازد تا در نانوثانیه به مخازن دادههای وسیع دسترسی داشته باشند. علاوه بر این، اپل از ماژول های رم LPDDR5 با فرکانس 6400 مگاهرتز در سری M2 استفاده می کند تا داده ها را با سرعتی خیره کننده ارائه کند.
به چه مقدار حافظه یکپارچه نیاز دارید؟
اکنون که درک اولیه ای از معماری حافظه یکپارچه داریم، می توانیم ببینیم که شما به چه مقدار از آن نیاز دارید.
اگرچه معماری حافظه یکپارچه چندین مزیت را ارائه می دهد، اما هنوز هم دارای نقص هایی است. در مرحله اول، رم به SoC متصل است، بنابراین کاربران نمی توانند RAM سیستم خود را ارتقا دهند. علاوه بر این، CPU، GPU، و Neural Engine به یک مخزن حافظه دسترسی دارند. به همین دلیل میزان حافظه مورد نیاز سیستم به شدت افزایش می یابد.
بنابراین، اگر فردی هستید که در اینترنت گشت و گذار می کنید و از تعداد زیادی واژه پرداز استفاده می کنید، 8 گیگابایت حافظه برای شما کافی خواهد بود. اما اگر اغلب از برنامههای Adobe Creative Cloud استفاده میکنید، دریافت نسخه 16 گیگابایتی گزینه بهتری است زیرا تجربه نرمتری در ویرایش عکسها، فیلمها و گرافیکها در دستگاه خود خواهید داشت.
اگر در حال آموزش مدل های یادگیری عمیق یا کار بر روی جدول زمانی ویدیویی با تعداد زیادی لایه و فیلم 4K هستید، باید M1 Ultra را با 128 گیگابایت رم در نظر بگیرید.
آیا معماری حافظه یکپارچه همه چیز خوبی است؟
معماری حافظه یکپارچه در سیلیکون اپل چندین تغییر را در سیستم های حافظه روی رایانه ایجاد می کند. از تغییر نحوه اتصال RAM به واحدهای محاسباتی تا تعریف مجدد معماری حافظه، اپل در حال تغییر نحوه طراحی سیستم های حافظه برای بهبود کارایی سیستم های خود است.
همانطور که گفته شد، معماری جدید شرایط مسابقه ای بین CPU، GPU و موتور عصبی ایجاد می کند و مقدار RAM مورد نیاز سیستم را افزایش می دهد.