سال ۲۰۲۰ میلادی اپل پردازندههای x86 اینتل را کنار گذاشت و در مک های جدید خود از تراشه اختصاصی استفاده کرد. با این حال هنوز اپل به روشی برای شبیه سازی برنامههای x64 بر روی تراشه اختصاصی خود نیاز شد. عجیب اینکه اپل از یک روش بسیار قدیمی استفاده کرده است.
Apple M1 اولین پردازنده اختصاصی اپل برای کامپیوترهای مک بود که توانست نشان دهد با یک تراشه کوچک هم میتوان به قدرت زیادی دست پیدا کرد. از آنجایی که M1 از معماری ARM استفاده میکند، اپل باید راهی پیدا میکرد تا بتوان برنامههای طراحی شده برای پردازندههای اینتل را هم اجرا کرد.
-

هدفون بی سیم مدل TWS M1
خرید محصول -

بست کمربندی فروزش مدل F20B بسته ۲۰۰ عددی
102,000 ﷼ انتخاب گزینهها این محصول دارای انواع مختلفی می باشد. گزینه ها ممکن است در صفحه محصول انتخاب شوند -

کیسه بوکس مدل ایستاده کد G073
9,636,050 ﷼ انتخاب گزینهها این محصول دارای انواع مختلفی می باشد. گزینه ها ممکن است در صفحه محصول انتخاب شوند -

کیت نورپردازی داخل خودرو مدل A12
اطلاعات بیشتر -

آویز گردنبند طلا ۱۸ عیار جواهری میکا طرح فیل کد ۰۱۱۰۰۴۵
1,256,440 ﷼ انتخاب گزینهها این محصول دارای انواع مختلفی می باشد. گزینه ها ممکن است در صفحه محصول انتخاب شوند -

کارت حافظه microSDXC لوتوس مدل Color Elite کلاس ۱۰ استاندارد UHS-I U3 سرعت 100MBps ظرفیت ۱۲۸ گیگابایت
خرید محصول -

جوراب زنانه پنتی کد ۳۷۹۰
21,800 ﷼ انتخاب گزینهها این محصول دارای انواع مختلفی می باشد. گزینه ها ممکن است در صفحه محصول انتخاب شوند -

کلاه بافتنی مدل TAK
خرید محصول
برای این کار اپل یک راه ساده اما به شدت کارآمد را انتخاب کرد و آن شبیه سازی معماری x64 داخل پردازنده Apple M1 بود. این روش شبیه سازی Rosetta ۲ نام گرفته است.
جالب اینکه عملکرد بسیار کارآمد برنامه Rosetta ۲ در شبیه سازی معماری x64 موجب حیرت محققان شده بود که حالا به نظر میرسد دلیل آن را می دانیم.
ظاهراً یک اکستنشن یا افزونه برای Rosetta ۲ داخل پردازنده طراحی شده دارد که کار نگه داری ثبات پرچمها برای هر برنامه را بسیار آسان میکند. این پرچم یا Flag ها مربوط به سال ۱۹۷۴ میلادی و پردازنده Intel ۸۰۸۰ است. ۸۰۸۰ دومین پردازنده تاریخ کمپانی اینتل است.
پردازنده قدیمی ۸ بیتی ۸۰۸۰ اینتل این ثباتها را به روش بسیار کارآمدی مدیریت میکرد که حالا همان روش در پردازندههای روز اینتل یافت میشود.
هنگامی که در ARM بخواهیم x86 را شبیه سازی کنیم، میتوانیم برای نگه داری ثبات پرچمها از ثبات چهار بیتی NZVC استفاده کنیم. مشکل اینجاست که دو بیت برای نگه داری فلگ های PF (parity flag) و AF (adjust flag) کم میآوریم.
حالا مشخص شده اپل سیلیکون یک افزونه اعلام نشده دارد که با فعال شدن آن، فلگ های PF و AF را داخل بیتهای ۲۶ و ۲۷ ثبات ARM NZCV نگه داری میکند تا به این ترتیب شبیه سازی کامل و دقیق و بدون محدودیت صورت بگیرد.
اپل بیتهای ۲۶ و ۲۷ ثبات پرچمها در ARM را به همین کار اختصاص داده است و این بیتها در زمان فعال بودن شبیه ساز به Rosetta ۲ اختصاص مییابد. هنگامی که یک برنامه طراحی شده برای مک های مبتنی بر پردازندههای اینتل شناسایی شود، Rosetta ۲ وارد عمل میشود و شبیه سازی x64 آغاز میشود. به بیانی سادهتر، مقدار دهی دو بیت یاد شده باعث میشود اپل سیلیکون همانند یک پردازنده x64 ظاهر شود.







