ساختارهای x86 و x64 به دو نوع پرکاربرد از مجموعه دستورالعملهای (ISA) که توسط اینتل و AMD ایجاد شدن، اشاره میکنن. یک ISA رفتار کد ماشینی و نحوه کنترل CPU توسط نرم افزار رو مشخص میکنه. در واقع ISA رابط سخت افزاری و نرم افزاریه که مشخص میکنه CPU چه کاری رو چطوری میتونه انجام بده. توی این مقاله از سایت دیفرتو با تفاوت معماری x64 و x86 در ویندوز آشنا میشین.
معماری x86 ویندوز چیه؟
x86 نوعی ISA برای پردازندههای کامپیوتریه که اولین بار به وسیله شرکت اینتل توی سال ۱۹۷۸ توسعه پیدا کرد. معماری x86 بر اساس ریزپردازنده نوع ۸۰۸۶ و نوع ۸۰۸۸ شرکت اینتل هست. در ابتدا یک مجموعه دستورالعمل ۱۶ بیتی برای پردازندههای ۱۶ بیتی تنظیم شده بود که بعداً به مجموعه دستورالعملهای ۳۲ بیتی تغییر کرد.
تعداد بیتها نشون میده که CPU چقدر میتونه اطلاعات رو توی هر چرخه پردازش کنه. بهعنوان مثال، یک CPU 32 بیتی تا ۳۲ بیت داده رو توی هر سیکل ساعت انتقال میده. به همین خاطر معماری x86 به دلیل قابلیت اجرا روی تقریباً هر کامپیوتری از لپتاپ گرفته تا رایانههای شخصی خانگی و سرورها، در بین تولیدکنندههای ریزپردازندههای متعدد محبوب شده.
مهمترین محدودیت معماری x86 اینه که میتونه حداکثر ۴۰۹۶ مگابایت رم رو مدیریت کنه. از اونجایی که تعداد کل ترکیبهای پشتیبانی شده ۲^۳۲ (۴,۲۹۴,۹۶۷,۲۹۵) هست، پس باید بگیم پردازنده ۳۲ بیتی ۴.۲۹ میلیارد مکان حافظه داره. هر مکان یک بایت داده رو ذخیره میکنه که معادل تقریباً ۴ گیگابایت حافظه قابل دسترسیه. امروزه اصطلاح x86 به هر پردازنده ۳۲ بیتی اشاره میکنه که قادر به اجرای مجموعه دستورات x86 باشه.
هر مجموعه معماری داده ویژگیهایی دارن که اون رو تعریف میکنه و در موارد استفاده خاص از اون اطلاع میده. در ادامه لیست ویژگیهای معماری x86 رو به تفکیک آوردیم:
امکانات:
- از معماری محاسباتی مجموعه دستورالعملهای پیچیده (CISC) استفاده میکنه.
- دستورالعملهای پیچیده اون برای اجرا به چرخههای متعدد نیاز دارن.
- x86 رجیسترهای بیشتری در دسترسش داره ولی حافظه کمتری داره.
- با عناصر پردازش کمتر طراحی شده، ولی میتونه آدرسهای پیچیده رو مدیریت کنه.
- عملکرد سیستم با استفاده از رویکرد سخت افزاری بهینه شده، پس x86 برای جبران حافظه کم به اجزای فیزیکی متکیه.
- از DEP مبتنی بر نرمافزار (پیشگیری از اجرای دادهها) استفاده میکنه.
نرمافزارهای کاربردی:
- خیلی از رایانههای شخصی دنیا هنوز بر اساس سیستم عاملها و پردازندههای x86 هستن.
- برای کنسولهای بازی استفاده میشه.
- بخشهای محاسبات ابری، هنوز از معماری x86 استفاده میکنن.
- برنامهها و دادههای قدیمیتر معمولاً با معماری ۳۲ بیتی اجرا میشن.
- برای شبیه سازی بهتره.
- معماری ۳۲ بیتی به خاطر سازگاری با تجهیزات صوتی قدیمی هنوز برای تولید صدا ترجیح داده میشن.
محدودیتهای اونها:
- این یک مجموعه محدود از حافظه آدرس پذیر رو داره.
- سرعت پردازش اون در مقایسه با x64 کمتره.
- سازندهها دیگه برنامههای کاربردی خودشون رو برای سیستم عاملهای ۳۲ بیتی توسعه نمیدن.
- CPUهای مدرن به سیستم عامل ۶۴ بیتی نیاز دارن نه ۳۲ بیتی.
- همه دستگاههای روی سیستم (کارتهای ویدئویی، BIOS و غیره) رم موجود رو به اشتراک میذارن و حتی حافظه کمتری رو برای سیستم عامل و برنامهها باقی میذارن.
معماری x64 ویندوز چیه؟
x64 (مخفف x86-64) یک معماری با مجموعه دستورالعملهای مبتنی بر x86 هست که برای فعال کردن کدهای ۶۴ بیتی گسترش پیدا کرده. این معماری اولین بار توی سال ۲۰۰۰ منتشر شد و دو حالت کار رو معرفی کرد. حالت ۶۴ بیتی یک حالت سازگاره که به کاربرها اجازه میده برنامههای ۱۶ بیتی و ۳۲ بیتی رو هم اجرا کنن.
از اونجایی که کل مجموعه دستورات x86 توی x64 پیادهسازی میشه، به همین خاطر فایلهای اجرایی قدیمیتر عملاً بدون خطای عملکرد اجرا میشن. معماری x64 از مقادیر خیلی بیشتری حافظه مجازی و فیزیکی نسبت به معماری x86 پشتیبانی میکنه و به برنامهها اجازه میده تا مقادیر زیادی داده رو توی حافظه ذخیره کنن. علاوه بر این، x64 تعداد رجیسترهای همه منظوره رو به ۱۶ افزایش میده و پیشرفتها و عملکردهای بیشتری رو ارائه میکنه.
معماری x64 میتونه در مجموع از ۲^۶۴ بایت استفاده کنه که برابر با ۱۶ میلیارد گیگابایت (۱۶ اگزابایت) حافظه هست. استفاده خیلی بیشتر از منابع، اون رو برای تامین انرژی ابررایانهها و ماشینهایی که نیاز به دسترسی به منابع گسترده دارن، مناسب میکنه. معماری x64 به CPU اجازه میده تا ۶۴ بیت داده رو توی هر چرخه ساعت پردازش کنه، یعنی خیلی بیشتر از x86 هست.
هر مجموعه معماری داده ویژگیهایی دارن که اون رو تعریف میکنه و در موارد استفاده خاص از اون اطلاع میده. در ادامه لیست ویژگیهای معماری x64 رو به تفکیک آوردیم:
امکانات:
- قابلیت اعداد صحیح ۶۴ بیتی با سازگاری به عقب برای برنامههای ۳۲ بیتی رو داره.
- فضای آدرس مجازی (تئوری) برابر با ۲^۶۴ بایت (۱۶ اگزابایت) رو داره. با این حال، تنها بخش کوچکی از محدوده نظری ۱۶ اگزابایتی استفاده می شود، چیزی در حدود ۱۲۸ ترابایت.
- x64 فایلهای بزرگ رو با قرار دادن کل فایل تو فضای آدرس فرآیند، پردازش میکنه.
- این معماری به دلیل پردازش موازی سریعتر، حافظه ۶۴ بیتی، گذرگاه داده و رجیسترهای بزرگتر سریعتر از x86 عمل میکنه.
- پشتیبانی از عملکرد همزمان فایلهای بزرگ تو فضای آدرسهای متعدد. علاوه بر این، x64 دو وظیفه x86 رو به طور همزمان شبیهسازی میکنه و تجربه پردازش سریعتری رو نسبت به x86 ارائه میکنه.
- دستورالعملها رو موثرتر و کارآمدتر بارگذاری میکنه.
- از DEP با پشتوانه سخت افزاری (پیشگیری از اجرای دادهها) استفاده میکنه.
نرمافزارهای کاربردی:
- تعداد زیادتری از رایانههای شخصی از پردازندههای ۶۴ بیتی و سیستمعاملهای مبتنی بر معماری x64 استفاده میکنن.
- تمام پردازندههای مدرن موبایل از معماری x64 استفاده میکنن.
- برای تامین انرژی ابررایانهها استفاده میشه.
- توی کنسول بازیهای ویدئویی استفاده میشه.
- فناوریهای مجازی سازی بر اساس معماری x64 ساخته میشن.
- برای موتورهای بازیهای جدیدتر مناسبتره، چون سریعتر هست و عملکرد بهتری رو ارائه میده.
محدودیتهای اونها:
- به طور معمولی روی دستگاههای قدیمیتر اجرا نمیشه.
- عملکرد و سرعت بالای اون معمولاً انرژی بیشتری رو مصرف میکنه.
- بعیده درایورهای ۶۴ بیتی برای سیستمها و سخت افزارهای قدیمی در دسترس قرار بگیرن.
- بعضی از نرمافزارهای ۳۲ بیتی به طور کامل با معماری ۶۴ بیتی سازگار نیستن.
فرق بین x86 و x64 چیه؟
درحالیکه هر دو نوع معماری بر اساس مجموعه ۳۲ بیتی هستن، ولی بعضی از تفاوتهای کلیدی، اونها رو برای استفادههای مختلف مناسب میکنن. تفاوت اصلی بین اونها عرض رجیستری پردازنده اونها و میزان دادهایه که میتونن با هر چرخه ساعت پردازش کنن. پردازنده دادههای پرکاربرد رو توی یک رجیستر برای دسترسی سریع ذخیره میکنه.
یک پردازنده ۳۲ بیتی توی معماری x86 تثبیت کنندههای ۳۲ بیتی داره، درحالیکه پردازندههای ۶۴ بیتی دارای تثبیت کنندههای ۶۴ بیتی هستن. پس، x64 به CPU اجازه میده دادههای بیشتری رو ذخیره کنه و سریعتر به اونها دسترسی داشته باشه. عرض رجیستر هم میزان حافظهای که کامپیوتر میتونه استفاده کنه رو تعیین میکنه.
جدول تفاوت معماری x64 و x86 در ویندوز
توی جدول مقایسهای زیر ویژگیهای x86 و x64 رو یکجا جمع کردیم تا درک این تفاوتها برای شما راحتتر بشه:
مبنای مقایسه | x86 | x64 |
انتشار اولیه | تو سال ۱۹۷۸ معرفی شد. | تو سال ۲۰۰۰ معرفی شد. |
شرکت سازنده | Intel | AMD |
مبدا | بر اساس پردازنده اینتل ۸۰۸۶. | برای توسعه معماری x86 ایجاد شده. |
مقدار بیت ساختار | معماری ۳۲ بیتی | معماری ۶۴ بیتی |
فضای آدرس دهی | ۴ گیگابایت. | EB 16. |
محدودیت رم | ۴ گیگابایت (رم قابل استفاده واقعی ۳.۲ گیگابایت). | ۱۶ میلیارد گیگابایت |
سرعت | کندتر و کم قدرتتر در مقایسه با x64. | امکان پردازش سریع مجموعههای بزرگ اعداد صحیح رو فراهم میکنه. به طور ذاتی سریعتر از x86 هست. |
انتقال اطلاعات | پشتیبانی از ارسال موازی فقط ۳۲ بیتی، از طریق یک گذرگاه ۳۲ بیتی توی یک حرکت. | از انتقال موازی تکههای بزرگتر داده از طریق گذرگاه داده ۶۴ بیتی پشتیبانی میکنه. |
ذخیره سازی | از رجیسترهای بیشتری برای تقسیم و ذخیره دادهها استفاده میکنه. | مقادیر زیادی داده رو با رجیسترهای کمتر ذخیره میکنه. |
امکان پشتیبانی از برنامه | بدون پشتیبانی از برنامهها و دادههای ۶۴ بیتی. | از برنامهها و دادههای ۶۴ بیتی و ۳۲ بیتی پشتیبانی میکنه. |
پشتیبانی از سیستم عامل | Windows XP، Vista، ۷، ۸، Linux. | Windows XP Professional، Windows Vista، Windows 7، Windows 8، Windows 10، Linux، Mac OS. |
جمعبندی
همیشه یک سوال پیش میاد که کدوم یک از این معماریهای سیستمهای کامپیوتری بهترن؟ هرچند که هر دو معماری x86 و x64 مزایای خودشون رو دارن، ولی آینده محدودیتها رو تحمل نمیکند، پس x86 به ندرت مورد استفاده قرار میگیره. علاوه بر این، x64 خیلی سریعتره، میتونه حافظه رم بیشتری رو اختصاص بده و قابلیتهای پردازش موازی از طریق گذرگاه داده ۶۴ بیتی رو داره که انتخاب بهتریه.
موقع انتخاب نوع سیستم عامل برای نصب، همیشه بهتره یک سیستم عامل ۶۴ بیتی نصب کنین چون میتونه نرم افزارهای ۳۲ بیتی و ۶۴ بیتی رو اجرا کنه. در طرف دیگه یک سیستم عامل مبتنی بر x86 تنها نرم افزارهای ۳۲ بیتی رو اجرا میکنه. به طور کلی، x64 خیلی توانایی بیشتری نسبت به x86 داره و از تمام رم نصب شده استفاده میکنه، فضای هارد دیسک بیشتر، سرعت پردازش سریعتر و عملکرد کلی بهتری رو فراهم میکنه. این مقاله تفاوتهای معماری رابط کاربری ISA (مجموعه دستورات) x86 و x64 سیستم رو به همراه ویژگیها، موارد استفاده و محدودیتهاش به شما نشون میده.
به نظر شما فرق معماری x64 و x86 در ویندوز که در این مقاله توضیح داده شد، درست بوده؟ اگر شما اطلاعات بیشتری از تفاوت معماری x64 و x86 در ویندوز میدونید یا فکر میکنید تعریف دقیقتری وجود داره، حتما در بخش نظرات، برای ما ارسال کنید تا مقاله رو اصلاح و تکمیل کنیم.
منبع: phoenixnap.com