۳۲ بیت با ۶۴ بیت چه تفاوتی میکند؟ آیا استفاده از پردازش ۶۴ بیتی در تلفنهای هوشمند اهمیت دارد؟ در این مقاله به شرح پردازش ۶۴ بیتی میپردازیم و تفاوتهای آن را با پلتفرمهای ۳۲ بیتی بررسی میکنیم.
مدتها است که تقریبا تمام پردازندههای کامپیوترهای شخصی و لپتاپها از بستر ۶۴ بیتی پشتیبانی میکنند و بسیاری از نرمافزارهای مطرح دنیا علاوه بر نسخهی سازگار با پردازش ۳۲ بیتی، نسخهی اختصاصی ۶۴ بیتی نیز دارند. سیستمعاملهای مختلف کامپیوترهای شخصی از ویندوز تا لینوکس و مک به خوبی از هر دو حالت پردازش ۳۲ بیتی و ۶۴ بیتی پشتیبانی میکنند. اما پردازش ۶۴ بیتی چه تفاوتی با ۳۲ بیتی میکند و آیا این تفاوت در تلفنهای هوشمند نیز حائز اهمیت است؟
اپل با معرفی آیفون 5s و پردازندهی ۶۴ بیتی A7 نه تنها کاربران بلکه تولیدکنندگان سیستم-روی-یک-چیپ (SoC) همچون کوالکام را متعجب کرد. وقتی همهی پردازندههای موبایل تنها قادر به پردازش ۳۲ بیتی بودند، اپل پردازندهی ۶۴ بیتی A7 را در دل پرچمدار خود جای داد. از آن زمان، موج عظیمی بر پا شد و اظهار نظرهای ضد و نقیضی مطرح شد. برخی پردازندهی ۶۴ بیتی را برای تلفن های هوشمند بلا استفاده دانستند و آن را یک حقه تبلیغاتی بر شمردند و بعضی دیگر به ستایش آن پرداختند.
در حقیقت استفاده از پردازش ۶۴ بیتی در تلفنهای هوشمند مزایا و معایب خاص خود را دارد. معماری پردازندههای ۶۴ بیتی با ۳۲ بیتی فرق میکند، اما پردازندههای ۶۴ بیتی قادر به اجرای دستورات ۳۲ بیتی نیز هستند. برای اینکه نهایت استفاده را از پردازش ۶۴ بیتی ببرید نه تنها سیستمعامل بلکه نرمافزارها نیز باید با پشتیبانی از این نوع پردازش تولید شوند. یعنی اگر فقط، پردازندهی دستگاه ۶۴ بیتی باشد، نهایت استفاده را از توان پردازشی دستگاه نخواهید برد و باید سختافزار و نرمافزار، هر دو از پردازش ۶۴ بیتی پشتیبانی کنند.
یک پردازندهی ۶۴ بیتی قادر است ۲ به توان ۶۴ مقدار محاسباتی را ذخیره کرده و در حافظه آدرس دهی کند. برای اینکه درک بهتری در این باره پیدا کنید، این عدد به این معنا است که پردازندهی ۶۴ بیتی قادر است تا بیش از ۴ میلیارد برابر «حافظهی فیزیکی رم» بیشتر را در مقایسه با پردازندههای ۳۲ بیتی، آدرس دهی کند. سیستمهای مبتنی بر پردازندهی ۳۲ بیتی قادر به آدرس دهی حداکثر ۴ گیگابایت (۲ به توان ۳۲) از حافظهی رم هستند، اما پردازندههای ۶۴ بیتی از نظر تئوری میتوانند تا ۱۶.۸ میلیون ترابایت رم (۲ به توان ۶۴) را پشتیبانی کنند! برای اینکه پردازندهی ۶۴ بیتی بتواند درست کار کند سیستمعامل دستگاه نیز باید از پردازش ۶۴ بیتی پشتیبانی کند. مثلا در این آدرس میتوانید محدودیت میزان حافظهی پشتیبانی شده در هر نسخه از ویندوز را مشاهده کنید.
اولین پردازندهی ۶۴ بیتی دنیا در سال ۱۹۶۱ توسط IBM و در سوپر کامپیوتر 7030 Stretch طراحی و استفاده شد. اما تا دههی ۲۰۰۰ از این پردازندهها در کامپیوترهای خانگی استفاده نشد. پردازندههای ۶۴ بیتی با عرضهی ویندوز اکسپی رایج شدند. پس از آن تمام نسخههای ویندوز از پردازش ۶۴ بیتی پشتیبانی کردند. کامپیوترهای که به پردازندهی ۶۴ بیتی مجهز میشوند قادرند نسخهی ۳۲ بیتی از سیستمعاملها و اپلیکیشنها را اجرا کنند، اما برعکس این موضوع صادق نیست. علاوه بر این برای اینکه از تمام توان پردازندهی ۶۴ بیتی دستگاه خود استفاده کنید، باید نسخهی ۶۴ بیتی سیستمعامل و نرمافزارهای مورد نظر خود را داشته باشید.
یکی از مهمترین تفاوتهای بین پردازش ۳۲ بیتی و ۶۴ بیتی در تعداد محاسباتی است که هر کدام در هر ثانیه انجام میدهند. در واقع به بیان ساده، در برخی از شرایط پردازندههای ۶۴ بیتی سریعتر از ۳۲ بیتیها عمل میکنند.
احتمالا شما هم این عبارت را شنیدهاید: «اگر حافظهی رم دستگاه بیشتر از ۴ گیگابایت نباشد، تفاوتی بین پردازندهی ۳۲ بیتی و ۶۴ بیتی نیست» این عبارت همیشه، درست نیست! در این شکی نیست که مهمترین تفاوت بین پردازندههای ۶۴ بیتی با ۳۲ بیتی در پشتیبانی از حافظهی رم بالاتر است. اما تفاوتهای دیگری نیز وجود دارد:
راستش را بخواهید در حال حاضر پردازندههای موبایل، بیشتر از نیاز ما، قوی هستند و به همین دلیل تولیدکنندگان نیمههادی تلاش میکنند تا پردازندههای خود را از نظر مصرف انرژی، بهینهتر کنند تا طول عمر باتری تلفنهای هوشمند و تبلتها افزایش یابد. به همین دلیل مهاجرت به پردازندههای ۶۴ بیتی حائز اهمیت است. انویدیا در بارهی پردازندههای ۶۴ بیتی و استفاده از آنها در اندورید اینگونه اظهار نظر کرده است:
تقریبا تمام کامپیوترهای رومیزی و لپتاپ از سالها قبل به پردازندههای ۶۴ بیتی مجهز شدهاند. استفاده از این پردازندهها باعث بازدهی بالاتر برای اپلیکیشنها و دسترسی به حافظهی حجیمتر میشود.
برای اندروید، داستان کمی متفاوت است و این موضوع بیشتر به دلیل استفاده از معماری ARMv8 اهمیت پیدا میکند. این معماری نه تنها پشتیبانی از پردازش ۶۴ بیتی را میسر میکند بلکه بهبودهای بسیاری در زمینهی مصرف بهینهی انرژی و بازدهی بالاتر را به همراه دارد. این موضوع حتی بر روی اپلیکیشنهای ۳۲ بیتی نیز تاثیر گذار خواهد بود.
گوگل در کنفرانس I/O از اندروید L با پشتیبانی از پردازندههای ۶۴ بیتی، رونمایی کرد و این سیستمعامل در قالب اندروید ۵ آبنبات پاستیلی به زودی در دسترس قرار میگیرد. انویدیا نیز از مدتها قبل، SoC جدید خود را با نام Tegra K1 معرفی کرده است که از پردازش ۶۴ بیتی پشتیبانی میکند.
پردازندهی تگرا کیوان، تمام معماری ARMv8 را بکار گرفته و هر هستهی Denver آن قادر به پشتیبانی از پردازش ۷ مسیره است. این در حالی است که پردازندههای مشابه از ۳ مسیر پردازشی بهره میبرند.
در واقع در دنیای تلفنهای هوشمند و ابزارهای موبایل مبتنی بر معماری آرم، آنچه در زمینهی استفاده از پردازندهی ۶۴ بیتی اهمیت پیدا میکند بیشتر مربوط به بهینهسازیهای انجام شده در معماری ARMv8 است. اغلب پردازندههایی که در این ابزارها استفاده میشوند مبتنی بر معماری آرم هستند و اگر پردازندهای بخواهد در این پلتفرم از پردازش ۶۴ بیتی بهره ببرد، باید روی معماری پایهی ARMv8 و هستههای همچون Cortex A57 و Cortex A53 طراحی شود. این معماری بهینه سازیهای بسیاری در مصرف انرژی و قدرت پردازشی نسبت به معماری ARMv7 دارد که تاثیر قابل ملاحظهای در عملکرد کلی دستگاه و طول عمر باتری نشان میدهد.
پس ابتدا این موضوع را در نظر داشته باشیم که تفاوت بین پردازندهی ۳۲ بیتی با ۶۴ بیتی تنها در پشتیبانی از حافظهی رم بیشتر نیست. مورد دیگر اینکه پردازندههای ۶۴ بیتی مبتنی بر معماری آرم، سریعتر و بهینهتر از پردازندههای ۳۲ بیتی این شرکت هستند. به این ترتیب حتی اگر زمان زیادی طول بکشد تا اپلیکیشنهای موبایل ۶۴ بیتی شوند، باز هم ارتقاء به پردازندهی ۶۴ بیتی یک مزیت به شمار میرود و تاثیر خود را بر روی مصرف بهینهی انرژی و بازدهی بالاتر میگذارد. انتظار میرود سال آینده اکثر ابزارهای موبایلِ تحت اندروید، ۶۴ بیتی شوند و توسعه دهندگان نیز اپلیکیشنهای خود را ۶۴ بیتی کنند.
هنگ کردن برنامهها به علت باگها و ناسازگاریهای نرمافزاری است. در این مواقع وضعیت برنامه بر رویNot Responding قرار میگیرد. راه عمدهای که در این خصوص وجود دارد استفاده ازTask Manager و وادار کردن پروسه مربوط به برنامه به بسته شدن میباشد.
راهکار: