معماری 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 چیه؟
درحالیکه هر دو نوع معماری بر اساس مجموعه ۳۲ بیتی هستن، ولی بعضی از تفاوتهای کلیدی، اونها رو برای استفادههای مختلف مناسب میکنن. تفاوت اصلی بین اونها عرض رجیستری پردازنده اونها و میزان دادهایه که میتونن با هر چرخه ساعت پردازش کنن. پردازنده دادههای پرکاربرد رو توی یک رجیستر برای دسترسی سریع ذخیره میکنه.
معماری ایکس۶۴ (با نمادهای x64، x86_64،x86-64 و amd64) یک نسخهٔ ۶۴ بیتی از مجموعه دستورالعملهای به کار رفته در معماری ایکس۸۶ است. این معماری رایانهای از حجم بسیار بالاتری از حافظه مجازی و انبارش داده رایانهای پشتیبانی میکند که در معماریهای گذشته امکانپذیر نبود. ایکس۶۴ از ثباتهای عمومی ۶۴ بیتی نیز پشتیبانی میکند و بهبودهای بسیاری دیگری نیز یافتهاست.
معماری ایکس۸۶–۶۴ دارای سازگاری عقبرو با کدهای ۱۶ بیتی و ۳۲ بیتی ایکس۸۶ است. از آنجایی که امکان اجرای این کدها در سطح سختافزار پیادهسازی شدهاست، نیازی به استفاده از امولاتور نیست و پروندههای اجراپذیر ایکس۸۶ بدون مشکلی در زمینهٔ سازگاری یا کاهش کارایی اجرا میشوند. با این وجود نرمافزارهای کاربردیای که برای استفاده از ویژگیهای معماری جدید نوشته شده باشند میتوانند به کارایی بیشتری دست یابند.
دیدن مشخصات سیستم به کمک گزینه System Properties :
روی آیکون Computer کلیک راست کنید و Properties را بزنید.
در بخش System Type از پنجره ظاهر شده، با توجه به 32 بیتی یا 64 بیتی بودن ویندوز، اطلاعات زیر نمایش داده می شود.
• اگر سیستم عامل از نوع 64 بیتی باشد:
System:
Microsoft Windows
x64 Edition
Version – Year
Service Pack
• اگر سیستم عامل از نوع 32 بیتی باشد:
System:
Microsoft Windows
Version – Year
Service Pack
مثلا در سیستم ما که تصویر آن در ادامه آمده است، ویندوز 64 بیتی است :
در صورتی که نمیدانید پردازنده (CPU) کامپیوتری که با آن در حال کار هستید 32 یا 64 بیتی است، با روش زیر قادر به مشاهده مشخصات آن خواهید بود :
مشاهده پنجره System Information :
برای این کار وارد Run شده و دستور System Information را تایپ میکنیم.
همچنین می توان از این مسیر برای مشاهده System Information استفاده کرد:
Start > All Programs > Accessories > System Tools > System Information
در پنجره System Information میتوان خلاصه ای از مشخصات سخت افزاری سیستم را دید. در این پنجره بر روی مشخصه Processor کلیک میکنیم تا مشخصات آن را ببینیم :
• اگر مقدار متناظر با Processor با عبارت X86 شروع شود، کامپیوتر دارای CPU یا پردازنده 32 بیتی است.
• اگر مقدار متناظر با Processor با عبارت ia64 یا AMD64 یا X64 آغاز شود، یعنی این کامپیوتر دارای CPU یا پردازنده 64 بیتی است.
طبق تصویر زیر، سیستم ما دارای پردازنده 32 بیتی میباشد :
این مطلب مربوط به موضوع x86 یعنی ویندوز 32 بیتی میباشد.