PDA

نسخه کامل مشاهده نسخه کامل : کلیه مباحث و نکات مربوط به معماری 32 بیتی و 64 بیتی



nw_nk
17-04-2009, 09:40
سلام.

در این تاپیک مباحث مربوط به معماری 32 بیتی و 64 بیتی مطرح میشه. از پردازنده تا حافظه و سیستم عامل.

در پست اول تمرکز ما بیشتر روی معماری حافظه 32 بیتی و 64 بیتی هست. این بحث شامل موضوعات رایجی مثل محدودیت حافظه اصلی (RAM) و مجازی (Virtual) در سیستم میشه.

////////////////////////////////////////////////////////////////////////////////

کلا 32 بیتی و 64 بیتی به چه معناست؟

32 بیتی

در معماری کامپیوتر به اعداد صحیح 32 بیتی, آدرس های حافظه و یا واحدهای داده دیگری که در نهایت 32 بیت عرض دارن گفته میشه. همچنین عموما به نسلی از کامپیوترها گفته میشه که دارای پردازنده 32 بیتی هستند.

مقادیر صحیحی که می تونه در 32 بیت ذخیره بشه از صفر تا 4294967295 هست در نتیجه یک پردازنده با آدرس های حافظه 32 بیتی می تونه مستقیما به 4 گیگابایت (= 2 به توان 32) حافظه دسترسی پیدا کنه. آدرس های خارجی و گذرگاه های داده معمولا عریض تر از 32 بیت هستند اما هردوی این ها به عنوان کمیت های 32 بیتی در درون پردازنده ذخیره و دستکاری میشن. به عنوان نمونه پردازنده Pentium Pro یک دستگاه 32 بیتی است اما باس ادرس خارجی 36 بیت و باس داده خارجیش 64 بیت عرض داره.

64 بیتی

در معماری کامپیوتر به اعداد صحیح 64 بیتی, آدرس های حافظه و یا واحدهای داده دیگری که در نهایت 64 بیت عرض دارن گفته میشه. همچنین به پردازنده هایی که بر اساس ثبات ها, باس های آدرس و باس های داده ای با عرض 64 بیت هستند نیز گفته میشه.

پردازنده های 64 بیتی در سوپرکامپیوترها از دهه 60 (1960) و در سرورها و ایستگاه های کاری از اوایل دهه 90 (1990) وجود داشته. در سال 2003 این پردازنده ها به عرصه کامپیوترهای شخصی معرفی شدن.

جالبه بدونید Nintendo 64 و PlayStation 2 هر دو ماکروپروسسور 64 بیتی داشتند. قبل از این که این تکنولوژی وارد کامپیوترهای شخصی (PC) بشه.

یک معماری کامپیوتری 64 بیتی دارای عدد صحیح و رجیسترهایی با عرض 64 بیت هست که اجازه دسترسی مستقیم به آدرس ها و انواع داده های 64 بیتی رو میده. اگرچه ممکنه است پردازنده باس های آدرس یا داده خارجی بزرگتر از 64 بیت داشته باشه.

با معماری 64 بیتی سقف حافظه به 2 به توان 64 افزایش پیدا می کنه که تقریبا معادل 17.2 میلیارد گیگابایت هست, به عبارت دیگه 16.8 میلیون ترابایت و یا 16 اگزابایت.

عیب اصلی معماری 64 بیتی اینه که نسبت به معماری 32 بیتی, داده یکسان فضای بیشتری در حافظه اشغال می کنه و این باعث میشه حافظه بیشتری برای پردازش داده شده لازم باشه.

////////////////////////////////////////////////////////////////////////////////

حالا بیشتر به کامپیوترهای شخصی می پردازیم.

ماکزیموم حافظه ای که توسط ویندوزهای 32 بیتی Server 2008, Vista, Server 2003, XP, 2000 حمایت میشه 4 گیگابایت هست. هر چند قابلیتی بنام PAE اجازه میده که از حافظه بیشتری حمایت کنند.

PAE مخفف Physical Address Extension به معنای توسیه آدرس فیزیکی هست و به پردازنده اجازه میده تا تعداد بیت هایی که می توانند برای آدرسی دهی حافظه فیزیکی بکار روند رو از 32 به 36 بیت افزایش بده. این قابلیت توسط پردازنده ای مثل اینتل فراهم شده و ویندوزهای 32 بیتی هم توسط ماکروسافت از اون حمایت می کنند.

این قابلیت در ویندوزهای سرور پیش فرض فعال هست. با کمک PAE ویندوزهای 32 بیتی

Windows 2000 Advanced Server مقدار 8 گیگابایت RAM فیزیکی
Windows 2000 Datacenter Server و Windows Server 2003 Enterprise Edition مقدار 32 گیگابایت RAM فیزیکی
Windows Server 2003 Datacenter Edition مقدار 64 گیگابایت RAM فیزیکی

رو ساپورت می کنند.

نکته: ویندوزهای 64 بیتی اصلا از قابلیت PAE حمایت نمی کنند.
نکته: PAE مشکلاتی در سازگاری (مثلا درایورها) بوجود میاره و سریع هم نیست. در نتیجه 64 بیتی بودن بهتر از 32 بیتی با قابلیت PAE هست.

حالا بریم سراغ محدودیت حافظه ویندوزها:

نکته: نسخه های 32 بیتی که محدودیتی بیش از 4 گیگ براشون نوشته شده, با در نظر گرفتن قابلیتی مثل PAE هست.

Windows NT 4.0 نوع 32 بیتی 4 گیگابایت
64 بیتی ندارد.

Windows 2000 Professional نوع 32 بیتی 4 گیگابایت
Windows 2000 Server نوع 32 بیتی 4 گیگابایت
Windows 2000 Advanced Server نوع 32 بیتی 8 گیگابایت
Windows 2000 Datacenter Server نوع 32 بیتی 32 گیگابایت
64 بیتی ندارد.

Windows XP نوع 32 بیتی 4 گیگابایت
Windows XP نوع 64 بیتی 128 گیگابایت
Windows XP Starter Edition نوع 32 بیتی 512 مگابایت

Windows Vista Home Basic, Home Premium, Business, Enterprise, Ultimate نوع 32 بیتی 4 گیگابایت
Windows Vista Home Basic نوع 64 بیتی 8 گیگابایت
Windows Vista Home Premium نوع 64 بیتی 16 گیگابایت
Windows Vista Business, Enterprise, Ultimate نوع 64 بیتی 128 گیگابایت
Windows Vista Starter نوع 32 بیتی 1 گیگابایت

برای ویندوزهای Server 2003 و Server 2008 لینک زیر رو چک کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

////////////////////////////////////////////////////////////////////////////////

تقسیم حافظه:

ویندوز در حالت پیش فرض 50% حافظه فیزیکی (RAM) رو برای خودش (Kernel) رزرو می کنه و 50% درصد دیگر رو برای پردازش های دیگر (Programs) باقی میزاره. به عنوان مثال اگر ما 4 گیگ رم داشته باشیم, 2 گیگ سهم هسته ویندوز و 2 گیگ سهم برنامه های دیگر خواهد شد.

قرار دادن سوییچ /3GB (اسلش در سمت چپ) در boot.ini باعث میشه که ویندوز فقط 1 گیگ رو برای خودش رزرو کنه و 3 گیگ برای برنامه ها باقی بمونه.

////////////////////////////////////////////////////////////////////////////////

تشخیص 32 بیتی یا 64 بیتی بودن ویندوز:

در Vista
در پنجره System قسمت System روبروی عبارت System type نوع ویندوز شما نوشته شده است. برای دستیابی به پنجره System روی Computer کلیک راست کنید و گزینه Properties را انتخاب کنید. همچنین در Control Panel در حالت Classic View گزینه ای بنام System وجود دارد که همین پنجره را باز می کند.

اگر روبروی System Type نوشته شده باشد 64 بیتی یعنی ویندوز شما 64 بیتی است. از آنجایی که ویندوز 64 بیتی فقط روی سیستمی با پردازنده 64 بیتی نصب می شود در نتیجه پردازنده شما هم 64 بیتی است.

اما اگر نوشته شده باشد 32 بیتی یعنی ویندوز شما 32 بیتی است. چون ویندوز 32 بیتی روی پردازنده 64 بیتی هم نصب می شود در این حالت نمی توان راجع به پردازنده شما اظهار نظر کرد که چند بیتی هست.

////////////////////////////////////////////////////////////////////////////////

تشخیص 32 بیتی یا 64 بیتی بودن پردازنده:

برنامه کم حجم CPU-Z مشخصات کامل پردازنده شما را نشان می دهد. پس از اجرای این برنامه در همان Tab اول, روبروی قسمت Instructions وجود عبارت EM64T یا x86-64 نشان دهنده 64 بیتی بودن پردازنده شماست. عدم وجود عبارات ذکر شده معمولا نشان دهنده 32 بیتی بودن پردازنده است. بسته به مادربورد و بایوستون ممکنه این عبارت رو هنگام راه اندازی کامپیوتر هم ببینید.

////////////////////////////////////////////////////////////////////////////////

در حال حاضر معماری 64 بیتی از نبود معادل برنامه های 32 بیتی رنج می برد. حادترین مشکل درایورهای قطعات برای Microsoft Windows هست. اگر چه بیشتر نرمافزارهارو در حالت سازگاری 32 بیتی در معماری 64 بیتی میشه اجرا کرد (همون حالت شبیه سازی به عنوان مثال تکنولوژِی WoW64 از Mivrosoft برای IA64) اما تقریبا غیر ممکنه که یک درایور یا نرمافزاری شبیه اون رو در اون حالت اجرا کرد. چون این موارد معمولا بین سیستم عامل و سخت افزار اجرا میشن و اینجا شبیه سازی رو نمیشه بکار گرفت.

////////////////////////////////////////////////////////////////////////////////

موارد جالب و استثناها

پردازنده ها از زمان 80386 Intel (یعنی از سال 1986) 4 گیگابایت RAM رو ساپورت می کردن اما این مادربوردها و سیستم عامل ها بودن که حمایت نمی کردن.


////////////////////////////////////////////////////////////////////////////////

سوال و جواب کوتاه

س: آیا پردازنده های 64 بیتی, دستورات و نرمافزارهای 32 بیتی رو نسبت به پردازنده های 32 بیتی کندتر اجرا می کنند؟

ج: خیر. اکثر معماری های پردازنده 64 بیتی کدهای 32 بیتی اون معماری رو بدون هیچ گونه کاهشی در کارایی اجرا می کنند. این ساپورت bi-arch یا راحت تر بخواهیم بگیم multi-arch نامیده میشه.

س: مگه سیستم 32 بیتی تا 4 گیگ حافظه پشتیبانی نمی کنه! چرا مقدار RAM من کمتر از 4 گیگ نشون داده میشه و 4 گیگ نیست؟

ج: منابع سخت افزاری سیستم احتیاج به فضای آدرس دارن. بنابر این مقداری از 4 گیگ آدرس به اونها اختصاص داده میشه. هر چقدر آدرس باقی بمونه به RAM شما میرسه. بسته به سخت افزارهای سیستم معمولا 3 تا 3.5 گیگ از RAM شما در دسترس خواهد بود.

حتی نمونه هایی داریم که 2 گیگ از 4 گیگ RAM در دسترس هست. این تفاوت زیاد معمولا بخاطر حافظه کارت گرافیک هست. مثلا کسی که کارت گرافیکش 512 مگ هست, سیستم عامل مجبوره 512 مگ آدرس صرف آدرس دهی حافظه کارت گرافیکش کنه. در نتیجه همینطوریش از 4 گیگ محدودیت 3.5 گیگ باقی میمونه. تازه سخت افزارهای دیگر هم که قبلا گفته شد نیاز به آدرس دهی دارن و از 3.5 گیگ هم مطمئنا کمتر خواهد شد.

تذکر: این رو با حافظه Shared در بحث کارت گرافیک (مخصوصا Onboard) اشتباه نکنید. اون اصلا ربطی به این بحث نداره.

س: فعال سازی PAE در ویندوز؟

در سیستم عامل های جدید مثل Win XP SP3 و Vista SP1 قابلیت PAE پیش فرض فعال هست. اما به هر حال روش فعال سازیش اینه که پارامتر /PAE (اسلش در سمت چپ) رو به انتهای خط بوت سیستم عامل مورد نظر در فایل boot.ini اضافه کنید.

حالا چند نکته در نظر داشته باشید

اولا تا جایی که می دونم در XP سی دو بیتی امکانش نیست تا بیش از 4 گیگ RAM فیزیکی بکار گرفته بشه. دلیلش هم این بوده که Microsoft نخواسته ناسازگارهایی که با افزایش عرض آدرس به بیش از 32 پیش میاد بروز کنه, مخصوصا مشکلات درایورها.

دوما کسانی که 4 گیگ RAM دارن بعد این عمل هم 4 گیگ رمشون در دسترس نخواهد بود. دلیلش گفته شد. همون اختصاص فضای آدرس به قطعات دیگر.

////////////////////////////////////////////////////////////////////////////////

محدودیت تئوری حافظه در معماری 32 بیتی و 64 بیتی بدون استفاده از قابلیت هایی مثل PAE:

Virtual Memory = حافظه مجازی = روشی برای توسعه حافظه اصلی روی سیستم.
32 بیتی - 4 گیگابایت
64 بیتی - 16 ترابایت

Paging File = فایلی بر روی دیسک که کامپیوتر برای ذخیره سازی فیزیکی حافظه مجازی استفاده میکنه.
32 بیتی - 16 ترابایت
64 بیتی - 256 ترابایت

Hyperspace
4 مگابایت
8 گیگابایت

Paged Pool
470 مگابایت
128 گیگابایت

Non-paged Pool
256 مگابایت
128 گیگابایت

System Cache
1 گیگابایت
1 ترابایت

System PTEs
660 مگابایت
128 گیگابایت

////////////////////////////////////////////////////////////////////////////////

موفق باشید.
|

sajad_n90
19-08-2009, 13:31
سلام
ممنون از بحث جالبتون.
میشه همین بحث را هم برای seven 7 ادامه بدهید.
ضمناً من تو سون 32 بیتی قسمت boot.ini رو ندیدم که PAE را فعال کنم.
ممنون اگه توضیح بدین.
sajad_vx@yahoo.com


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

SiyahVash
13-07-2010, 23:31
سلام
ممنون از بحث جالبتون.
میشه همین بحث را هم برای seven 7 ادامه بدهید.
ضمناً من تو سون 32 بیتی قسمت boot.ini رو ندیدم که PAE را فعال کنم.
ممنون اگه توضیح بدین.
sajad_vx@yahoo.com


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای فعال کردن PAE در ویندوز 7 باید از فایل BCDedit.exe استفاده کنید، با دستور زیر:

BCDedit /set PAE ForceEnable

soshiantrand
02-08-2010, 14:55
سلام
اول از همه باید بگم برای پرسیدن سوالم نتونستم یه تایپیک مخصوص بزنم امکان نوشتن تو پست های قدیمی هم امکان نداشت لطفا من رو ببخشید
و اما سوال من
حتما همتون با نرم افزار Hide Folders 2009 آشنایی دارید من برادر 13 ساله ای دارم که از این نرم افزار استفاده میکنه و با شناختی که از روحیاتش دارم این کار اون ناراحت کنندست من قصد دارم به فایل هاش نفوذ کنم ولی هیچ طوری نمیشه کسی میتونه منو کمک کنه؟
خاهش میکنم کمکم کنید

Dezak
08-10-2010, 16:33
آيا ميشه توي ويندوز 64 بيتي از نرم افزارهاي 32 بيتي استفاده كرد؟ لطفا كاملا توضيح بديد و معايبش رو هم اگه داره بگيد؟؟؟

Dezak
09-10-2010, 12:34
آيا ميشه توي ويندوز 64 بيتي از نرم افزارهاي 32 بيتي استفاده كرد؟ لطفا كاملا توضيح بديد و معايبش رو هم اگه داره بگيد؟؟؟


دوستان خيلي مهم اين سوال!!!! كسي ميتونه راهنمايي كنه؟

alireza1411
10-10-2010, 00:22
دوستان خيلي مهم اين سوال!!!! كسي ميتونه راهنمايي كنه؟

بله. من الان لپ تاپم گارانتیه نمیتونم عکس بزارم ولی بچه های بخش نرم افزار من رو میشناسن . خالی نمیبندم ...:31:

ببین برنامه های 64 بیتی در پردازش یه 10 15 درصد سرعت بالاتری دارن. بعضی برنامه ها به هر دو صورت 32 و 64 بیتی نوشته شده و موجوده. بعضی هم خیر ..

اگه فقط 32 بیتشون تو وب باشه به احتمالا بالای 90 درصد نصب میشه و اجرا هم میشه. منهتا تو تاکس منیجر که نگاه کنی ته اسم پردازش این برنامه ها یه *32 میبینی که نشون میده 32 بیتی دارن کار میکنن.

اما بعضی برنامه ها مثل 7-zip هستن که هم 32 و هم 64 بیتی دارن. 32 بیتشون هم باز رو ویندوز 64 بیتی نصب میشه ولی کاراییش از نصخه ی 64 بیتش یه 10 15 درصدی کمتره. این رو خودم تست کردم.

موفق باشید

:11::11::11:

Dezak
10-10-2010, 14:55
بله. من الان لپ تاپم گارانتیه نمیتونم عکس بزارم ولی بچه های بخش نرم افزار من رو میشناسن . خالی نمیبندم ...:31:

ببین برنامه های 64 بیتی در پردازش یه 10 15 درصد سرعت بالاتری دارن. بعضی برنامه ها به هر دو صورت 32 و 64 بیتی نوشته شده و موجوده. بعضی هم خیر ..

اگه فقط 32 بیتشون تو وب باشه به احتمالا بالای 90 درصد نصب میشه و اجرا هم میشه. منهتا تو تاکس منیجر که نگاه کنی ته اسم پردازش این برنامه ها یه *32 میبینی که نشون میده 32 بیتی دارن کار میکنن.

اما بعضی برنامه ها مثل 7-zip هستن که هم 32 و هم 64 بیتی دارن. 32 بیتشون هم باز رو ویندوز 64 بیتی نصب میشه ولی کاراییش از نصخه ی 64 بیتش یه 10 15 درصدی کمتره. این رو خودم تست کردم.

موفق باشید

:11::11::11:

مرسي عليرضا جان!:10:
پس با خيال راحت ويندوز 32 بيتي PC رو پاك كنم و يه 64 روش بريزم؟

و اينكه گفتي نرم افزارهاي 32 بيتي روي ويندوز 64 بيتي كار ميكنن ولي با يه مقدار راندمان پايينتر.. حالا پايينتر از 64 بيتي ها روي ويندوز 64 بيتي يا پايينتر از 32 بيتي هاي روي ويندوز 32 بيتي؟

alireza1411
10-10-2010, 22:38
مرسي عليرضا جان!:10:
پس با خيال راحت ويندوز 32 بيتي PC رو پاك كنم و يه 64 روش بريزم؟

و اينكه گفتي نرم افزارهاي 32 بيتي روي ويندوز 64 بيتي كار ميكنن ولي با يه مقدار راندمان پايينتر.. حالا پايينتر از 64 بيتي ها روي ويندوز 64 بيتي يا پايينتر از 32 بيتي هاي روي ويندوز 32 بيتي؟


خواهش میکنم.

والله من چند تا برنامه مهندسی خودم رو لازم داشتم که رفتم 64 بیتیش رو خریدم. ولی فقط همین چند تا بود. یه دونه هم که Office 2010 x64 بود که خریدمش.

مثلا این جوری حدس میزنم و تقریبا تست کردم:

نرم افزار 64 بیتی رو 64 بیتی سریعترینه (+15 درصد)
نرم افزار 32 بیتی رو ویندوز 64 بیتی (+5 درصد)
نرم افزاز 32 بیتی در ویندوز 32 بیتی (0 درصد)

:11::11::11::11:

ATA FARZADI
31-10-2010, 21:27
:question: :question::question: :question: :question: :question: :question: :question: :question: :question: :question: :question: :question: :question: :question:
:question:دوستان یه سوالی تو ذهنم مثل خوره داره مغزمو میخوره:question:
:question::question: :question: :question: :question::question: :question: :question: :question: :question: :question: :question: :question: :question: :question:

این ویندوزهای 32 بیتی
با
این 64 بیتی ها

به طور کلی چه فرقی داره:question::question::question:


در ضمن این x86 ها چیه دیگه؟؟؟؟؟؟؟؟؟؟




آیا به غیر از اینا چیزای دیگه هم هست؟؟؟؟؟؟؟؟؟


خواهشاً در عین سادگی علمی توضیح بدید...

sayanermia
31-10-2010, 22:24
اولین فرق پهنای باند باز تر برای انتقال اطلاعات در سیستم برای پردازش هستش!!
شما یک نی را در نظر بگیرید ، لوله پولیکارو هم در نظر بگیرید!! کدومش آب رو سریع تر و با حجم بالاتری منتقل می کنه؟؟

ویندوزهای 32 و 64 بیتی هم همینطور هستند!! 64 بیتی سرعت بالاتری دارند ولی به شرطی که :

1- پردازنده از 64بیت پشتیبانی کنه

2- رم سیستم حداقل 4 گیگ باشه


دومین فرق در پشتیبانی کردن از میزان رم هستش!! به طور ثابت و معمول سیستم های 32 بیتی از 3 الی 3.25 گیگ رم پشتیبانی می کنند و مابقی رم رو در بخش دیگه ای مثلا share کردن گرافیک استفاده می کنند!! به عنوام مثال شما 4 گیگ رم داری و یک ویندوز 32 بیتی نصب کردید!! فقط 3 گیگ از رم شما قابل استفاده در سیستمه و اون یک گیگ برای گرافیک share میشه

ولی ویندوزهای 64 بیت به قول یکی از مختصصین تا 128 گیگ رم و پشتیبانی می کنه که تا اخرین قطره از این مقدار رم هم در ویندوز مورد استفاده قرار میگیره. من خودم شخصا از ویندوز 64 بیتی روی دسکتاپ و لپتاپم استفاده میکنم و شاهد سرعت خیلی بهتری نسبت به 32 بودم!!

اون x86 هم برای 32 بیت به کار میره! مثلا فلان نرم افزار x86 هستش! یعنی در 32 بیت قابل نصب و استفاده است.

Masоud
01-11-2010, 00:10
سلام

کلیه مباحث و نکات مربوط به معماری 32 بیتی و 64 بیتی

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

موفق باشید :40:

kiarash3500
01-11-2010, 06:34
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ATA FARZADI
01-11-2010, 12:11
از همه دوستان ممنون

فقط میشه اون قسمت x86 رو بیشتر برام باز کنید

(( پست دوم واقعاً در عین سادگی علمی هم گفت ))

ATA FARZADI
02-11-2010, 11:14
دوستان کسی نبود که این x86 ها رو بیشتر برام توضیح بده؟؟؟؟؟

Mohammad King
02-11-2010, 11:20
سلام

x86 همون x32 هست.

تاپیک ادغام میشه به تاپیک مرفی شده در پست شماره3.

tanha...
14-12-2012, 14:06
سلام دوستان عزیز.
من ویندوز لپ تاپم 64 بیته اما چند تا بازی که خریدم روش نصب نمیشه.
لطفا کمکم کنید.باید چکار کنم؟:n14::n14::n14:

Ghaioom
14-12-2012, 14:58
سلام دوستان عزیز.
من ویندوز لپ تاپم 64 بیته اما چند تا بازی که خریدم روش نصب نمیشه.
لطفا کمکم کنید.باید چکار کنم؟:n14::n14::n14:
سلام
حتما بازی سازگاری با 64 بیتی نداره!
رو ویندوز 32 بیتی نصب کنید.