ورود

مشاهده نسخه کامل : 32 bit یا 64bit کدام بهتر است ؟



ALIRE7A
26-02-09, 18:47
با سلام


تفاوت های پردازنده های 32 و 64 بیتی


محدودیتی که در دامنه پردازش‌های 32 بیتی وجود دارد، همواره باعث کندشدن سرعت انجام عملیات پیچیده و سنگین اطلاعاتی در سیستم‌های مختلف می‌گردد...



به همین‌منظور بسیاری از شرکت‌های سازنده نرم‌افزار و خصوصاً آن‌هایی که در زمینه سیستم‌عامل فعالیت دارند از دیرباز رقابتی را برای تحت پوشش قراردادن تعداد زیادتری CPU و مقدار بیشتری حافظه RAM نسبت به یکدیگر آغاز کرده‌اند. به عنوان مثال رقابتی که بین ویندوز 2000 سرور با سولاریس یا انواع یونیکس و لینوکس بر سر امکان استفاده از 8 یا 16 تا 32 پردازنده به همراه چند گیگابایت حافظه RAM و امثال آن وجود داشت همواره یکی از جالب‌ترین و پرسروصداترین زمینه رقابت بین چند سیستم‌عامل به‌شمار می‌رفت. اما تمام این عوامل چندی پیش تحت‌الشعاع واژه جدیدی به نام پردازش 64 بیتی قرار گرفت. این فناوری جدید که به لطف به بازار آمدن دو محصول جدید از دو شرکت معتبر سازنده پردازنده یعنی اینتل و AMD شکل گرفت، در مدت کوتاهی توانست توجه سازندگان سیستم‌عامل را به شدت معطوف کارایی بی‌نظیر خود کند.
پردازنده‌های Xeon و ایتانیوم از سوی اینتل و پردازنده Opteron از طرف AMD طی مدت کوتاهی توجه تمام سازندگان مشهور سرورهای Enterprise و همچنین تولیدکنندگان سیستم‌عامل را به خود جلب کرد. در این میان مایکروسافت نیز بلافاصله اقدام به طراحی نسخه‌ای از ویندوز 2003 سرور برمبنای انجام پردازش‌های 64 بیتی و با استفاده از پردازنده‌های جدید نمود. این نسخه جدید 64 بیتی از چند نظر بر نسخه پیشین خود برتری داشت. اول این‌که از میزان حافظه فیزیکی و مجازی بیشتری پشتیبانی می‌کند.
دوم‌ این‌که در مقایسه با نسخه 32 بیتی از کارایی و سرعت بالاتری در مدیریت حافظه، رجیسترها و عملیات I/O برخوردار است. نکته سوم در مورد امنیت است. نسخه 64 بیتی قابلیت محافظت بیشتری در برابر کدهای مخرب(Malicious Code) از خود نشان می‌دهد.
براین‌اساس به تدریج نه تنها سازندگان سیستم‌عامل مثل مایکروسافت سیستم‌عامل 64 بیتی مختص کامپیوترهای دسکتاپ (Windows XP 64 bit) را به بازار عرضه می‌کنند، بلکه سایر تولیدکنندگان نرم‌افزارهای مختلف هم با وارد شدن به دنیای پردازش‌های 64‌بیتی، کارایی و سرعت جدیدی را به کاربران خود ارایه می‌دهند.


مقایسه


در یک سیستم‌عامل 32 بیتی مثل نسخه‌های 32 بیتی ویندوز 2003 از یک حافظه مجازی (Virtual memory) برای انجام پردازش‌های مختلف استفاده می‌شود. این حافظه مجازی که حداکثر 4 گیگابایت می‌تواند ظرفیت داشته باشد به دو قسمت تقسیم می‌شود. یک قسمت 2 گیگابایتی آن به وسیله برنامه در حال اجرا اشغال شده و 2 گیگابایت دیگر در اختیار سیستم‌عامل قرار می‌گیرد.
تا اینجا همه ‌چیز بسیار عادی به نظر می‌رسد اما مشکل زمانی پیش می‌آید که 2 گیگابایت سهم برنامه‌های در حال اجرا به مرز پرشدن نزدیک می‌شود. به عنوان مثال یک بانک اطلاعاتی SQL Server را در نظر بگیرید که برای اتصال هر کاربر به سرور و انجام عملیات موردنظر وی 20 مگابایت حافظه مجازی را در نظر می‌گیرد. با رسیدن تعداد کاربران به مرز یکصد نفر، کل حافظه مجازی 2 گیگابایتی در اختیار SQL Server قرار می‌گیرد و این به معنای نزدیک شدن سیستم به یک نقطه بحرانی در عملیات سرویس‌دادن به کاربران است.
در نسخه‌های 32 بیتی یکی از راه‌هایی که برای این مساله در نظر گرفته می‌شد، اختصاص 3 گیگابایت از حافظه مجازی به برنامه‌های درحال‌اجرا بود. این روش که با استفاده از دستکاری در فایل boot.ini انجام می‌گرفت، یک گیگابایت از حافظه مجازی در اختیار سیستم‌عامل را به سهمیه حافظه مجازی برنامه‌های در حال اجرا واگذار می‌کرد و تا حدودی مشکل کمبود حافظه مجازی را رفع می‌کرد. اما خود این عمل هم عوارض جانبی خاص خود را دارد و آن محدود شدن کرنل سیستم‌عامل به یک گیگابایت حافظه مجازی برای انجام عملیات cache است.
این محدود شدن باعث افت سرعت انتقال اطلاعات از سرور به کلاینت‌ها می‌شود. ضمن این‌که باز هم در نهایت با زیادترشدن تعداد کاربران یا پردازش‌های موردنظر آنان، این 1 گیگابایت الحاق‌شده نیز به مرز اشتغال شدن کامل نزدیک می‌شود و مدیران سیستم را به ناچار مجبور به افزایش تعداد سرورها برای رفع مشکل می‌کند. با آمدن ویندوز 2003 نسخه 32 بیتی، قدرت آدرس‌دهی سیستم‌عامل برای حافظه‌های فیزیکی (RAM) به 32 گیگابایت برای نسخه Enterprise و 64 گیگابایت در نسخه DataCenter افزایش یافت و این به معنای نیاز کمتر سیستم به استفاده از حافظه مجازی و در نتیجه کمتر شدن مشکل مربوط به محدودیت حافظه‌های مجازی بود.
اما به هر حال استفاده از حافظه مجازی برای پردازش اطلاعات امری گریزناپذیر است و به‌همین دلیل توجه سازندگان سیستم‌عامل همواره معطوف به پیدا کردن راه‌حلی برای عبور از این مشکل بود. سرانجام با مطرح شدن و تولد سیستم‌عامل 64 بیتی ویندوز 2003 که با استفاده از قدرت پردازنده‌های 64 بیتی جدید قادر بود از یک سیستم آدرس‌دهی 40 بیتی استفاده کند، میزان حافظه مجازی قابل دسترسی سیستم از 4 گیگابایت به 40 2 یعنی 16 ترابایت (هزار گیگابایت) افزایش یافت.
بدین‌ترتیب 8 ترابایت از این ظرفیت در اختیار برنامه‌های در حال اجرا و 8 ترابایت دیگر در اختیار سیستم‌عامل قرار گرفت. مهم‌ترین سوالی که در این‌جا می‌توانست مطرح شود این است که آیا برنامه‌های سابق محیط 32 بیتی که برای استفاده از حداکثر 3 گیگابایت حافظه مجازی کامپایل شده‌اند قادر به بهره بردن از این 8 ترابایت فضای جدید هستند یا خیر. پاسخ این سوال هم می‌تواند مثبت باشد و هم منفی. بدین‌صورت که برخی برنامه‌های کامپایل‌شده در محیط‌های 32 بیتی که به صورت صریح قدرت استفاده از حداکثر 3 گیگابایت حافظه مجازی را دارند، با ورود به محیط 64 بیتی هیچ تغییری را احساس نخواهند کرد.
اما برخی دیگر که با تکنولوژی Large Address ware کامپایل شده‌اند قادر خواهند بود تا 4 گیگابایت از حافظه مجازی را در محیط جدید مورد استفاده قرار دهند. از لحاظ سرعت انجام عملیات نیز برخی برنامه‌های کامپایل شده در محیط 32 بیتی (مثلاً برنامه‌های نوشته شده با ASP.NET که از تکنولوژی Multithreading برای اجرای موازی چند دستورالعمل در آن واحد استفاده می‌کنند)، به دلیل قدرت بی‌نظیر پردازنده‌های 64 بیتی در انجام این کار می‌توانند از مزایای محیط جدید اجرا استفاده کرده و سرعت اجرای خود را افزایش دهند.
اما اگر برنامه‌ای (مثلاً یک فایل Exe) در محیط توسعه‌ای مثل ویژوال بیسیک نسخه ششم برای دسترسی به یک پایگاه داده و کار با آن بدون استفاده از مکانیسم پردازشی موازی و به صورت ساده نوشته شده باشد، این برنامه حتی اگر برروی یک سرور 64 بیتی هم اجرا شود نمی‌تواند از قابلیت‌های محیط جدید سودی ببرد. بنابراین اگر قرار است این برنامه برروی کلاینت نصب شده و پایگاه داده موردنظر که SQL Server است برروی یک سرور باشد، بهتر آن است که کلاینت در همان وضعیت 32 بیتی باقی بماند و سرور به نسخه 64 بیتی ویندوز 2003 ارتقاء داده‌شود.
در این صورت موتور بانک‌اطلاعاتی SQL Server که در تمام نسخه‌های خود از شیوه Multithreading برای انجام دستورات موردنظر کاربران استفاده می‌کند، می‌تواند در محیط جدید با سرعت بهتری فرامین رسیده از طرف کلاینت‌ها را پردازش کرده و نتیجه را سریع‌تر به آن‌ها برگرداند و کارایی کلی این سیستم بانک اطلاعاتی را به نحو مطلوبی افزایش دهد. اصولاً برنامه‌های نوشته شده برای محیط‌های 32 بیتی با استفاده از رابطی به نام WOW64 قادر خواهند بود در محیط 64 بیتی اجرا شوند و از مزایای ارتقاء سیستم عامل و دسترسی به حافظه بیشتر بهره ببرند.


پردازنده
هر دو شرکت اینتل و AMD از همان آغاز تولید پردازنده‌های 64 بیتی، تمام تمرکز خود را برروی پردازنده‌هایی که در رده کامپیوترهای سرور مورد استفاده قرار می‌گیرد، گذاشتند. پردازنده اُپترون (Opteron) محصول شرکت AMD وXeon محصول اینتل هر دو به همین منظور طراحی و تولید شدند.
پس از آن استفاده از تکنولوی 64 بیتی در رده کامپیوترهای کلاینت نیز مدنظر هر دو شرکت قرار گرفت و از آنجا که سروصدای ظهور سیستم‌عامل 64 بیتی ویندوزXP به تدریج نوید یک دگرگونی در کارایی این رده از کامپیوترها را می‌داد، این دو شرکت پردازنده‌های 64 بیتی جدیدی را با قیمت ارزان‌تر برای کار در کلاینت‌ها روانه بازار کردند. پردازنده Athlon 64 و پنتیوم 4 سری EM46T از جمله این پردازنده‌های جدید بودند.
ضمن این‌که در رده سرور نیز هر دو به ارتقاء پردازنده‌‌های ویژه خود پرداختند. پردازنده‌های اُپترون و پردازنده‌های ایتانیوم از اینتل نتیجه این ارتقاء محسوب می‌شوند که از آخرین دست‌آوردهای تکنولوژی 64 بیتی به‌شمار می‌روند.
هم‌اکنون AMD پردازنده‌‌های Opteron را برای استفاده در کامپیوترهای دسکتاپ و سرور با سیستم‌عامل 64 بیتی، پردازنده‌های Athlon 64 را جهت استفاده در کامپیوترهای دسکتاپ و کیفی با سیستم‌عامل 32 یا 64 بیتی و پردازنده‌های Turion را برای استفاده در کامپیوترهای کیفی با سیستم‌عامل 64 بیتی به بازار عرضه می‌کند. اینتل هم انواع پردازنده‌های نوع Xeon خصوصاً سری MP را برای کار در محیط 32 یا 64 بیتی و انواع پردازنده‌های رده ایتانیوم را برای سرورهای با سیستم‌عامل 64 بیتی تولید می‌کند.


نرم‌افزار
با تحولی که در دنیای پردازنده‌ها و سیستم‌‌عامل‌ها در حال وقوع بود، قاعدتاً دنیای نرم‌افزار نیز باید شاهد تغییراتی در نحوه انجام پردازش‌ها و سرعت و کارایی اجرا می‌شد. در اولین گام کلیه سرویس‌هایی که به همراه ویندوز 2003 نسخه 64 بیتی ارایه شد همگی با این تکنولوژی جدید همراه شدند.
این سرویس‌ها که متعلق به مقوله نرم‌افزار به حساب می‌آمدند، از اکتیودایرکتوری گرفته تا Terminal service و وب‌سرور IIS با امکانات جدید محیط 64 بیتی مثل استفاده از فضای بسیار بزرگ حافظه، افزایش سرعت عملیات I/O و استفاده مناسب و بهینه از زمان CPU کاملاً هماهنگ شدند.
از طرفی دیگر بلافاصله خبر از ارایه شدن نسخه‌های جدید برخی نرم‌افزارهای سمت سرور مایکروسافت برای کار در محیط 64 بیتی رسید. نسخه 64 بیتی SQL Server2000 و بعد از آن حرف و حدیث‌های مربوط به نسخه 2005 که مرزهای سرعت و کارایی را پشت‌سر می‌گذارد، از این دست به شمار می‌روند. در همین حال خبرهای دیگری حاکی از اقبال این دگرگونی از سمت برنامه‌نویسان بود.
محیط برنامه‌نویسی محبوب دات‌نت این‌بار با سروصدای جدیدی وارد معرکه شد و Visual Studio2005 را برای نوشتن برنامه‌های کاربردی 64 بیتی به علاقمندان ارایه کرد. از سوی دیگر رقبای مایکروسافت هم بیکار ننشستند. اوراکل با محصول oracle 10g و آی‌بی‌ام با تولید DB2 64 و بسیاری دیگر از سازندگان نرم‌افزار و خصوصاً سازندگان برنامه‌های سرور محیط بزرگ (Enterprise) با سعی و تلاش خود نشان دادند که پلتفرم جدید پردازش‌های 64 بیتی برای آن‌ها از اهمیت ویژه‌ای برخوردار است. به هر حال در آینده نزدیک شاهد رونق فناوری محاسبات 64 بیتی در بسیاری از نرم‌افزارهای مختلف خواهیم بود.

منبع : سراسر وب ( همه از روی هم کپی زدن ) :D

ALIRE7A
26-02-09, 18:48
از آنجا كه يك پردازنده ي 32 بيتي از 32بيت براي ارجاع مكان هر بايت در حافظه استفاده مي كند پس خواهيم داشت32 ^2 = 4.2 ميليارد. يا بعبارتي 4GB .اما بعضي از ويندوزها كه در زير نام آنها را خواهم آورد حداكثر بين 3 تا 3.5 گيگابايت از حافظه ي رم را شناسايي كرده و نشان مي دهند و نهايتا از همين مقدار مي توانند براي كرنل و برنامه هاي جاري اختصاص دهند اما بخش باقيمانده ي رم تا 4GB بكلي بي استفاده نمي ماند! بلكه براي براي اموري مانند استفاده ي page fileها يا بعضي از سخت افزارهاي در حال كار از قبيل كارت گرافيك،PCI card ،كارت شبكه ي مجتمع(Onboard) و... رزرو مي شود اما براي استفاده عادي از رم غير قابل دسترس خواهد بود.

در زير مي توانيد ليست سيستم عامل هاي گوناگون و مقدار حافظه ي رم ي كه پشتيباني مي كنند را ملاحظه كنيد.ضمنا علاقمندان براي اطلاع دقيق تر از مطالب بالا مي توانند به صفحات زير مراجعه كنند:



Only the registered members can see the link




Only the registered members can see the link


ضمنا با مراجعه به اين صفحه از وبسايت crucial.com مي توانيد با دقت خوبي وضعيت سيستم خود را از نظر حافظه ي رم و جزئيات امكان ارتقاي آن و با ذكر دليل،آناليز كنيد:



Only the registered members can see the link


حداكثر ميزان Ramي كه سيستم عامل هاي رايج پشتيباني مي كنند:


Windows Vista 32 bit

Ultimate: 4 GB
Enterprise: 4 GB
Business: 4 GB
Home Premium: 4 GB
Home Basic: 4 GB
Starter: 1 GB


Windows XP 32 bit

Professional: 4 GB
Home: 4 GB
Starter Edition: 512 MB


Windows Server 2003 32 bit

Datacenter SP2: 128 GB
Enterprise SP2: 64 GB
Standard SP1: 4 GB
Datacenter R2: 128 GB
Enterprise R2: 64 GB
Standard R2: 4 GB
Web Edition: 4 GB
Small Business Edition: 4 GB


Windows Server 2008 32 bit

Datacenter: 64 GB
Enterprise: 64 GB
Standard: 4 GB
Web Server: 4 GB


Windows Vista 64 bit

Ultimate: 128 GB
Enterprise: 128 GB
Business: 128 GB
Home Premium: 16 GB
Home Basic: 8 GB


Windows XP 64 bit

Professional: 128 GB


Windows Server 2003 64 bit

Datacenter SP2: 2 TB
Enterprise SP2: 2 TB
Standard SP1: 32 GB
Datacenter R2: 1 TB
Enterprise R2: 1 TB
Standard R2: 32 GB
Small Business Edition: 128 GB


Windows Server 2008 64 bit
Datacenter: 2 TB
Enterprise: 2 TB
Standard: 32 GB
Web Server: 32 GB


Windows 95: 1GB

Windows 98: 1GB

Windows 98SE: 1GB

Windows ME: 1.5GB

Windows NT: 4GB

Windows 2000 Professional: 4GB

Windows 2000 Server: 4GB

Windows 2000 Advanced Server: 8GB with PAE enabled

Windows 2000 Datacenter Server: 32GB with PAE enabled

ساير پلتفورم ها

OS X v. 10.4 "Tiger": 8GB

OS 9.x: 1.5GB

Red Hat Linux 2.4 kernel: 64GB

ALIRE7A
26-02-09, 18:50
بر اساس گزارشی که چند روز پیش در مایکروسافت منتشر شد اعلام گردید در پایان سال ۲۰۰۸ میلادی در آمریکا ۲۵درصد مصرف کنندگان ویندوز ویستا از نسخه ۶۴ بیتی استفاده میکردند.در این گزارش آمده است که کاربران بدلیل ارزان بودن قیمت رم های DDR2 سیستم های خود را به بیش از ۴ گیگابایت رم مجهز میکنند که سبب افزایش محبوبیت نسخه ۶۴ بیتی سیستم عامل ها شده است.



Only the registered members can see the link


مایکروسافت معتقد است در آینده ای نزدیک پردازنده های ۶۴بیتی و سیستم عامل های ۶۴ بیتی مرسوم می شوند که این امر موجب میشود یک حرکت عمومی به سوی “نقطه تحول کیفی” شکل گیرد.

معاون ارشد مایکروسافت میگوید: “از دیدگاه ما هسته سیستم عامل ویندوز ۶۴ بیتی تغییر رشدی از کمیت به کیفیت را داشته است”

از زمان کاهش قیمت حافظه ها در آمریکا فروشندگان به مشتریان توصیه میکنند که حافظه سیستم خود را با افزایش دادن ارتقا دهند که این موضوع مصرف کنندگان را به سمت استفاده از سیستم های ۶۴ بیتی سوق میدهد و سبب مهمتر شدن سیستم عامل های ۶۴ بیتی میشود.

خریدار یک سیستم سخت افزاری باید به این نکته اشراف داشته باشد که برای استفاده از حافظه هایی با حجم بیش از ۴ گیگابایت مجبور به استفاده از سیستم عامل های ۶۴ بیتی است زیرا درسیستم های ۳۲ بیتی به دلیل محدود بودن فضای آدرس دهی، سیستم عامل ۳۲بیتی نمیتواند بیش از ۳ یا ۳.۵ گیگابایت فضا را آدرس دهی کند. این مورد سبب شده است که خریدار بین انتخاب یک سیستم عامل ۳۲ بیتی و حجم حافظه بیش از ۴ گیگایت مردد بماند، زیرا انتخاب یکی منجر به از دست دادن دیگری میشود!. در این بین فروشندگان سخت افزارها نیز برای فروش محصولاتشان خریداران را به استفاده از سیستم عامل های ۶۴بیتی تشویق (یا مجبور) میکنند!

بد نیست بدانید که ویندوز ۷ آخرین سیستم عامل ۳۲ ببتی مایکروسافت است.

یکی از معظلات سیستم عامل های ۶۴ بیتی بحث درایورهای آنهاست که این مشکل تا حد زیاد و قابل قبولی در ویندوز ۷ مرتفع شده است. البته معضل دیگری نیز وجود دارد که بحث سازگاری نرم افزارهای ۳۲ بیتی بر روی سیستم عامل های ۶۴ بیتی است که این مشکل نیز در ویندوز ۷ در حالت شبیه سازی برنامه تحت حالت ۳۲ بیتی تا حد قابل قبولی برطرف شده است.

K A S R A
26-02-09, 19:27
با سلام


تفاوت های پردازنده های 32 و 64 بیتی


محدودیتی که در دامنه پردازش‌های 32 بیتی وجود دارد، همواره باعث کندشدن سرعت انجام عملیات پیچیده و سنگین اطلاعاتی در سیستم‌های مختلف می‌گردد...


:D


این مقاله دیدگاه افراطی خوبی نسبت به 64 بیت و دیدگاه ضعیفی در مورد 32 بیت داره ...
واقعیت اینه که بزرگترین ضعف سیستمای 64 بیتی : تعداد بسیار کم نرم افزارهای کاربردی 64 بیتی هست .
اگه SQL Server , 3Dmax و کنار بذاریم دیگه نرم افزار مطرحی نسخه 64 بیتی نداره .

در حال حاضر کمتر سیستمی هست که با MAX 4 GB رم از نظر سرعتی یا اجرای برنامه های بزرگ مشکلی داشته باشه .

از اون گذشته سرعت محاسبات 64 بیتی از 32 بیتی بیشتر که نیست بماند ... سیستمای 32 بیتی به نرمی سریعتر از 64 هستند .

آینده قطعا متعلق به سیستم های x64 هست اونم به خاطر محدودیت های سخت افزاریی هست که x86 ها دارن
نه به خاطر سرعت بیشتر x64 ی ها .

mohammad1985
26-02-09, 23:26
کسرا حرف شما تا حدودی درسته به غیر از 3D max و SQL Server برنامه خیلی مهمی 64 بیتی نداریم ! تازه همون مکس هم که من کار کردم تفاوت کار خیلی آشکار نیست مثلا طرحی رو که Max 32 بیتی در 128 ثانیه رندر میکنه نسخه 64 بیتی 125 ثانیه رندر میکنه تفاوت با وجود اینکه پردازش 64 بیتی هست خیلی محسوس نیست هر چند همون چند ثانیه اگه در سطح حرفه ای بخواین با مکس کار کنین خودش خیلیه !