مقدمه
محدودیتی که در دامنه پردازشهای 32 بیتی وجود دارد، همواره باعث کندشدن سرعت انجام عملیات پیچیده و سنگین اطلاعاتی در سیستمهای مختلف میگردد. به همینمنظور بسیاری از شرکتهای سازنده نرمافزار و خصوصاً آنهایی که در زمینه سیستمعامل فعالیت دارند از دیرباز رقابتی را برای تحت پوشش قراردادن تعداد زیادتری CPU و مقدار بیشتری حافظه RAM نسبت به یکدیگر آغاز کردهاند. به عنوان مثال رقابتی که بین ویندوز 2000 سرور با سولاریس یا انواع یونیکس و لینوکس بر سر امکان استفاده از 8 یا 16 تا 32 پردازنده به همراه چند گیگابایت حافظه RAM و امثال آن وجود داشت همواره یکی از جالبترین و پرسروصداترین زمینه رقابت بین چند سیستمعامل بهشمار میرفت. اما تمام این عوامل چندی پیش تحتالشعاع واژه جدیدی به نام پردازش 64 بیتی قرار گرفت. این فناوری جدید که به لطف به بازار آمدن دو محصول جدید از دو شرکت معتبر سازنده پردازنده یعنی اینتل و AMD شکل گرفت، در مدت کوتاهی توانست توجه سازندگان سیستمعامل را به شدت معطوف کارایی بینظیر خود کند .
پردازندههای Xeon و ایتانیوم از سوی اینتل و پردازنده Opteron از طرف AMD طی مدت کوتاهی توجه تمام سازندگان مشهور سرورهای Enterprise و همچنین تولیدکنندگان سیستمعامل را به خود جلب کرد. در این میان مایکروسافت نیز بلافاصله اقدام به طراحی نسخهای از ویندوز 2003 سرور برمبنای انجام پردازشهای 64 بیتی و با استفاده از پردازندههای جدید نمود. این نسخه جدید 64 بیتی از چند نظر بر نسخه پیشین خود برتری داشت. اول اینکه از میزان حافظه فیزیکی و مجازی بیشتری پشتیبانی میکند .
دوم اینکه در مقایسه با نسخه 32 بیتی از کارایی و سرعت بالاتری در مدیریت حافظه، رجیسترها و عملیات I/O برخوردار است. نکته سوم در مورد امنیت است. نسخه 64 بیتی قابلیت محافظت بیشتری در برابر کدهای مخرب(Malicious Code) از خود نشان میدهد. طبق پیشبینیهای انجام گرفته تا پایان سال 2005 میلادی کلیه کامپیوترهایی که قرار است نقش سرور را در مراکز بزرگ اقتصادی داشته باشند به سمت ریزپردازنده و سیستمعامل 64 بیتی سوق پیدا خواهند کرد. همین پیشبینی حاکی از تمایل شدید کامپیوترهای دسکتاپ به سمت استفاده از تکنولوژی 64 بیتی تا پایان سال 2006 میلادی است .
برایناساس به تدریج نه تنها سازندگان سیستمعامل مثل مایکروسافت سیستمعامل 64 بیتی مختص کامپیوترهای دسکتاپ (Windows XP 46 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 Addressware کامپایل شدهاند قادر خواهند بود تا 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 بیتی در بسیاری از نرمافزارهای مختلف خواهیم بود.
Bit چیست؟
کلمه bit (بیت) مخفف عبارت binary digit است. اعداد دودویی یا باینری یعنی همان روشی است که یک کامپیوتر دادهها را با آن ذخیره کرده یا در قالب آن انتقال میدهد. یک بیت میتواند مقداری بین صفر یا یک را به خود بگیرد. اگر تعدادی از بیتها را پشت سر هم ردیف کنیم، به یک کُد باینری میرسیم مثل 1001011000101 که میتواند بیانگر یک دستورالعمل ریاضی (مثل جمع و تفریق)، یک محلخاص از حافظه (جهت آدرسدهی)، و یا یک داده مشخص مثلاً عدد 456/12 باشد. یک پردازنده 32 بیتی، مثل پنتیوم قادراست با استفاده از این رشته صفر و یک، تا عدد 322 را کدگذاری کند یا در اصطلاح، آن را به مبنای باینری (دودویی(ببرد.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 14 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلودمقاله مقایسه مختصر بین پردازنده های 32 بیت و 64 بیت