روند بهینهسازی نرمافزارها برای پردازنده M1 اپل از دیدگاه توسعهدهندگان
قبل از پایان سال ۲۰۲۰ و آغاز دههی جدید، اپل از معماری جدیدی برای سیستمعامل و کامپیوترهای دوستداشتنی مک رونمایی کرد و این حرکت گام مهمی در آیندهی مک بهحساب میآید. در چهار دههی گذشته، اپل بهطور منحصربهفردی مجموعهای از اقدامات بنیادی انجام داده است تا سختافزار مک را به معماری تراشههای کاملا جدید و متفاوتی تغییر دهد.
در حقیقت هیچ پلتفرم محاسباتی دیگری حتی در مقیاس مشابه، چنین اقدام پیچیدهای را حتی برای یک بار با موفقیت انجام نداده؛ چه برسد به تلاش برای سه تغییر عمدهی معماری که اپل در مک ایجاد کرده است: از موتورولا ۶۸۰۰۰ به PowerPC در دههی ۱۹۹۰، سپس به معماری Intel x86 در دههی ۲۰۰۰ و اکنون مهاجرت به معماری آرم (ARM) و پردازندههای اختصاصی طراحیشدهی خود اپل.
غول فناوری کوپرتینو بعد از پانزده سال استفاده از پردازندههای اینتل، معماری x86 را کنار گذاشته و اولین بار پردازندهای با معماری ARM64 را در بطن مکبوک ایر و مکبوک پرو ۱۳ اینچی و مک مینی جای داده است؛ تغییر بسیار بزرگی که مدتی است به خبر اصلی این صنعت تبدیل شده. در واقع پردازندهی جدید را میتوان یک نیروگاه قدرتمند و در عین حال بسیار بهینه و کممصرف برای کامپیوترهای مک در نظر گرفت که راندمان و قدرت پردازشی آنها را ارتقا میدهد؛ اما با توجه به تغییر معماری از x86 به ARM64، انبوهی از نرمافزارها در حال حاضر برای معماری جدید بهینه نشدهاند.
هر مهاجرت شامل تلاشهای گستردهای برای نهتنها ایجاد سختافزار جدید، بلکه تحول سیستمعاملهای گستردهی نرمافزاری و بهکارگیری ابزارهای توسعهی جدید برای به حداقل رساندن مشکلات در انتقال کاربران و توسعهدهندگان است؛ از اینرو غول دنیای فناوری باید سعی کند که روند گذار توسعهدهندگان را به معماری جدید تسریع کند. در غیر این صورت، روند توسعهی اکوسیستم اپل بسیار کند، توسعهدهندگان ناراضی و کاربران اصلیترین قربانیان این ماجرا خواهند بود. اپل برای دست یافتن به این مهم، ابزار موسوم به روزتا ۲ (Rosetta) را در نظر گرفته است.
روزتا ۲ در حقیقت ابزار کامپایل خودکار نرمافزار اپل است که در مک OS بیگ سر برای ترجمهی بلادرنگ کد x86 استفاده میشود؛ این ابزار ایجاد شده است تا اکثر برنامههای پردازندههای مبتنی بر اینتل x86 را بهصورت سازگار به پردازندههای آرم منتقل کند و تا زمانی که توسعهدهندگان، نرمافزارهای خود را برای پردازنده و معماری جدید بهینه کنند، روزتا ۲ جای خالی آنها را برای کاربران پر میکند؛ اما روزتا ۲ جدای از عملکرد بسیار خوبش در مقایسه با سایر شبیهسازها، یک راهکار موقت محسوب میشود و در مقایسه با اجرای بومی، عملکرد برنامهها را محدود میکند. از طرف دیگر، هدف اپل متقاعد کردن هرچه بیشتر توسعهدهندگان برای بهینهسازی برنامههای خود برای معماری M1 است.
پشتیبانی از توسعهدهندگان تنها به ارائهی شبیهساز محدود نمیشود؛ اقدامات دیگر و حتی قابلیتهای سختافزاری پردازنده در تسریع این حرکت نقش بسزایی ایفا میکنند. برای مثال، اپل برای تسریع روند انتقال برنامهها و بازیهای iOS به سیستمعامل مک پروژهای با نام مک کاتالیست (Mac Catalyst) ایجاد کرده است؛ اما تا پیش از این، فهمیدن اینکه برنامه و پروژههای یادشده تا چه حد برای توسعهدهندگان مفید بودهاند، در هالهای از ابهام باقی مانده بود. برای اطلاع از این موضوع، وبسایت دیجیترندز با برخی از بزرگترین طراحان و توسعهدهندگان برنامههای مک مصاحبهای انجام داده و اینطور که مشخص است، توسعهدهندگان از روند گذار به معماری جدید رضایت دارند.
کن کیس، مدیرعامل گروه Omni و ناشر برنامههایی از جمله OmniFocus و OmniGraffle، اذعان میکند که ساخت برنامه برای کامپیوترهای مک مجهز به پردازندهی M1 آسانتر نبوده؛ اما مشکلی در روند مهاجرت نداشته است. جیمز تامسون، توسعهدهندهی برنامهی محبوب PCalc که از اولین انتشار آن در کامپیوترهای مک در حدود ۳۰ سال میگذرد، میگوید در این سه دهه، تمامی سه مهاجرت قبلی اپل به معماری جدید را تجربه کرده که انتقال به معماری آرم آسانترین آنها بوده است. او به این نکته اشاره میکند که زمان کمتری برای پشتیبانی از پردازنده اپل سیلیکون (M1) و فشردهسازی نسخهی Xcode برنامهی مبتنی بر یونیورسال صرف کرده است. کیس و تامسون هر دو بر این باورند که کلید اصلی این سادگی، شباهت پردازندههای اینتل و اپل سیلیکون است.
اَش هیسن، مدیرعامل شرکت نرمافزاری Serif، مسئول برنامههایی است که جوایز متعدد جشنوارههای طراحی اپل (Apple Design) را از آن خود کردهاند. او توضیح میدهد که Serif همیشه از تکیه به پردازنده و معماری اینتل در برنامههای خود پرهیز کرده و تمرکز خود را در توسعهی نرمافزار برای آیپد معطوف کرده است که از پردازندههای اپل بهره میگیرند؛ از اینرو بدون هیچ مشکلی و در سادهترین حالت ممکن برنامههای خود را به کامپیوترهای مک منتقل کرده است.
اپل با تغییر معماری، روند طراحی و توسعهی پردازندههای خود را بهبود داده است و از طرف دیگر کامپیوترهای جدید مک به لطف پردازندهی M1 میتوانند برنامهی iOS و آیپد OS را بهصورت بومی اجرا کنند. با این اوصاف، سؤال اصلی این است که آیا برنامههای مذکور زمان کمتری برای توسعه و بهینهسازی خواهند داشت؟ به گفتهی توسعهدهندگان، جواب این سؤال منفی است؛ زیرا برنامههای iOS برای نمایشگرهای لمسی ساخته و بهینه شدهاند و به ویژگیهای خاص کامپیوترهای مک، مانند پشتیبانی از ماوس نیاز دارند تا تجربهی لذتبخشی در مکها به ارمغان آورند؛ بنابراین توسعه و بهینهسازی ویژگیهای یادشده در برنامهها زمانبر خواهد بود. در عوض، مزایای اصلی در بهرهگیری از قدرتی است که این برنامهها با استفاده از قلب تپندهی مک در اختیار کاربر قرار میدهند.
تمام توسعهدهندگانی که با دیجیتال ترندز مصاحبه کردهاند، مصمم هستند که تراشههای M1 مزایایی برای طرفداران اکوسیستم مک، بهویژه در قالب برنامههای قدرتمند و کلاس حرفهای به همراه خواهد داشت. سیموناس باستیس، توسعهدهنده ارشد برنامهی ویرایش عکس Pixelmator، میگوید معماری حافظهی یکپارچه در تراشهی M1، موسوم به UMA، به اجزای داخلی اجازه میدهد حافظه را به اشتراک بگذارند و در نتیجه سرعت انتقال داده را افزایش میدهد و باعث بهبود عملکرد چشمگیری میشود. کاری که بهراحتی در کامپیوترهای مک مبتنی بر اینتل امکانپذیر نبود؛ زیرا معماری پردازندههای اینتل کاملا متفاوت است و شامل انتقال داده بین پردازندهی مرکزی (CPU)، پردازندهی گرافیکی (GPU) و حافظهی دسترسی تصادفی (RAM) است که در نهایت منجر به انتقال داده با سرعت کمتری در مقایسه با معماری یکپارچه خواهد شد.
پردازندهی M1 اپل، یک سیستم-روی-یک-چیپ (SoC) است؛ یعنی تراشهای مجتمع که بیشتر اجزای اصلی مربوط به پردازش شامل، پردازندهی مرکزی، پردازنده گرافیکی، حافظه و ... را بهصورت یک واحد کلی در خود جای داده است؛ از اینرو توسعهدهنده میتواند دسترسی ساده و سریعتری به اجزای مختلف پردازنده داشته باشد. بهعنوان مثال، هیسن خاطرنشان میکند که در برخی موارد، برنامههای Serif در مکبوک M1 در حدود ۱۰ برابر سریعتر از مکبوک پرو ۱۶ اینچی، یکی از قدرتمندترین محصولات مصرفی اپل عمل میکند.
در ادامهی مصاحبه، تامسون و باستیس به این نکته اشاره میکنند که پیشرفتهای سختافزاری M1 به برنامهها امکان میدهد کارهایی انجام دهند که در کامپیوترهای قدیمی مک امکانپذیر نیست و اکنون آنها قدرت و ویژگیهای بیشتری در اختیار دارند. به نظر میرسد کوپرتینوییها تلاش کردهاند تا اطمینان حاصل کنند که توسعهدهندگان از عملکرد پردازندهی جدید بهرهمند شوند و به واسطهی آن، قدرت و ویژگیهای بیشتری در برنامههای خود اعمال کنند. این پیشرفتی مهم خواهد بود؛ زیرا کامپیوترهای شخصی مبتنی بر پردازندههای اینتل قبلا به سرعت دستگاههای تلفن همراه پیشرفت نکردهاند؛ اما آنچه مسلم است، کامپیوترهای مک با پردازندهای جدید برای انتقام بازگشتهاند.