با پیشرفت هر نسل از پردازندههای شرکتهای AMD و اینتل، قابلیتهای جدید و بهبود یافتهتری به آنها اضافه میشود و همین مسئله خرید را سختتر میکند. چرا که هنگام انتخاب پردازنده جدید باید به نکات زیادی توجه کرد. برای مثال، گیمرهای حرفهای باید بیشتر روی پردازندههای قدرتمند با سرعت کلاک فوقالعاده بالا و توان حرارتی (TDP) بسیار زیاد تمرکز کنند. اما اگر لپتاپی قابل حمل برای کار میخواهید، بهتر است مدلی را که از پردازندهای کم مصرف استفاده میکند، انتخاب کنید تا بتواند از عمر باتری بیشتری برخوردار باشد.
تا چند سال پیش، شما همچنین این امکان را داشتید که بین پردازندههای 32 بیتی و 64 بیتی یکی را انتخاب کنید. در حالی که پردازندههای 32 بیتی دیگر به طور گسترده در لپتاپها و کامپیوترهای جریان اصلی استفاده نمیشوند، اما تراشههای 32 بیتی یا همان x86 همچنان در بسیاری از سرورها و پروژههای فنی مورد استفاده قرار میگیرد. در این مقاله از دیجی رو در مورد تفاوتهای بین تراشههای 32 بیتی و 64 بیتی صحبت خواهیم کرد و اینکه چرا نوع دوم از نظر عملکرد یک جهش اساسی به حساب میآید.
“اندازه بیت” در معماری پردازنده به چه معناست؟
پیش از اینکه به موضوع اصلی بحث خود بپردازیم، بهتر است کمی در مورد مفهوم “بیت” در معماری پردازنده یا CPU صحبت کنیم. به زبان ساده، پهنای رجیستر یک پردازنده مشخص میکند که پردازنده شما چقدر داده را میتواند در یک عملیات واحد مدیریت کند. این موضوع به میزان حافظهای که پردازنده شما میتواند آدرسدهی کند، مرتبط است. شما میتوانید با استفاده از فرمول «n به توان 2» (2^n)، که در آن n همان اندازه بیت پردازنده است، مقدار دقیق حافظه قابل آدرسدهی را محاسبه کنید.
بنابراین، یک پردازنده 1 بیتی تنها میتواند 2^1 یا 2 مکان حافظه منحصربهفرد را آدرسدهی کند. با بالا رفتن اندازه بیت، تعداد دستورالعملها به صورت تصاعدی افزایش مییابد: یک پردازنده 32 بیتی میتواند تا 2^32 یا 4.2 میلیارد مکان حافظه را آدرسدهی کند. این عدد بزرگی است، اگر چه به اندازه 18,446,744,073,709,551,616 فضای حافظه قابل آدرسدهی در یک پردازنده 64 بیتی بزرگ نیست! این عدد، به نوبه خود، بر حداکثر میزان حافظه سیستم شما تأثیر میگذارد.
حداکثر حافظه و تعداد رجیسترها
4 گیگابایت در مقابل 18.4 میلیون ترابایت!
یکی از بزرگترین محدودیتهای سیستمهای قدیمی با “بیت پایینتر”، مقدار محدود حافظهای بود که آنها میتوانستند آدرسدهی کنند. آدرسدهی حافظه تکنیکی است که توسط پردازندهها برای ذخیره و بعداً بازیابی اطلاعات از حافظه رم استفاده میشود. بدون درگیر شدن با ترفندهای نرم افزاری مانند فایل صفحهبندی (page file) و بخشبندی، یک پردازنده 32 بیتی میتواند تا 4 گیگابایت حافظه را آدرسدهی کند. این امر به این دلیل است که رجیسترهای داخل یک پردازنده x86 فقط میتوانند حداکثر 32 بیت را نگه دارند، که حداکثر مقدار حافظه آنها را به 4 گیگابایت محدود میکند.
توضیح: منظور از رجیسترهای داخل پردازنده، حافظههای کوچک و پرسرعتی هستند که در پردازنده مرکزی (CPU) قرار دارند. رجیسترها برای ذخیره موقت دادهها و دستورالعملها در حین پردازش توسط CPU استفاده میشوند.
تا اوایل دهه 2000، این مقدار حافظه برای کاربران معمولی بیش از اندازه کافی بود و هیچ مشکلی پیش نمیآمد. اما با پیشرفت سخت افزارها و برنامهها، سقف 4 گیگابایتی به کمترین حد از حافظه رم تبدیل شد و کاربران هنگام انجام چند کار به طور همزمان به سرعت با مشکل کمبود رم روبرو میشدند.
از طرف دیگر، پردازندههای 64 بیتی میتوانند با 18.4 اگزابایت حافظه کار کنند، که مقدار بسیار عظیمی از رم است. برای اینکه این موضوع را بهتر درک کنید، باید بدانید که یک اگزابایت برابر با 1,000,000 ترابایت است، که حداکثر حافظه پردازندههای x64 را به 18.4 میلیون ترابایت میرساند!
علاوه بر این، پردازندههای مبتنی بر معماری x86 تنها دارای هشت رجیستر چندمنظوره هستند، در حالی که همتایان 64 بیتی آنها دو برابر این تعداد رجیستر را دارا هستند.
سیستم عاملها و برنامهها
اپلیکیشنهای امروزی حتی ممکن است روی سیستمهای 32 بیتی اجرا نشوند.
زمانی که مایکروسافت ویندوز 11 را معرفی کرد، خشم و نارضایتی زیادی در جامعه کاربری به راه افتاد زیرا جدیدترین نسخه از سیستم عامل این شرکت الزامات سخت افزاری سنگینتری داشت. در حالی که میشد برخی از آنها مانند TPM 2.0 را نادیده گرفت، اما اجرای آن روی سیستمهای قدیمی 32 بیتی به هیچ وجه ممکن نبود زیرا مایکروسافت هرگز هیچ نسخه x86 را برای سیستم عامل پرچمدار خود منتشر نکرد. این بدان معنا بود که شما نمیتوانستید نسخههای 32 بیتی ویندوز 10 را روی سیستمهایی که از معماری قدیمی استفاده میکنند، به ویندوز 11 ارتقا دهید.
سیستم عاملهای 32 بیتی همچنین محدودیتهای دیگری نیز دارند. به غیر از برخی نسخههای لینوکس، نسخههای x86 ویندوز حتی قادر نبودند کل 4 گیگابایت حافظه رم را مورد استفاده قرار داده و آن را به یک برنامه اختصاص دهند! از آنجایی که ویندوز مقداری از حافظه را برای فرآیندهای پسزمینه رزرو میکند، هنگام اجرای یک برنامه بسیار پرمصرف روی سیستم 32 بیتی، شاهد افت عملکرد خواهید بود. به علاوه، نسخههای 64 بیتی بسیاری از برنامهها که به فایلهای 64 بیتی DLL نیاز دارند، ممکن است روی سیستمهای 32 بیتی حتی اجرا هم نشوند، چه برسد به اینکه عملکرد مناسبی ارائه دهند.
پردازندههای 64 بیتی در مقابل 32 بیتی: فراتر از یک عدد
امروزه تقریباً تمام کامپیوترهای شخصی و لپتاپهای رایج از پردازنده 64 بیتی استفاده میکنند، بنابراین بعید است با سیستمهای جدید مجهز به تراشههای 32 بیتی مواجه شوید. با این حال، شاید تعجب کنید که چرا هنوز پردازندههای قدرتمندتری مانند 128 بیتی و 256 بیتی وجود ندارند، در حالی که تغییر به معماری 64 بیتی پیشرفتهای قابل توجهی در دنیای محاسبات به همراه داشت.
مسئله این است که عرضه پردازندههای 128 بیتی امری کاملاً محتمل است، اما در حال حاضر نیازی به رایج شدن آنها نیست، زیرا ما در سیستمهای مصرفی و رایج به مقادیر بسیار زیاد رم (RAM) نیاز نداریم. در عصری که حتی کامپیوترهای گیمینگ پیشرفته نیز به بیش از 256 گیگابایت حافظه رم نیاز نخواهند داشت، میتوان با اطمینان گفت که به این زودیها به محدودیت 18.4 میلیون ترابایتی رم روی پردازندههای 64 بیتی برخورد نخواهیم کرد. پس نیازی هم به پردازندههای 128 بیتی و بالاتر نیست.