چهارشنبه, ۵ اردیبهشت, ۱۴۰۳ / 24 April, 2024
مجله ویستا

گذری بر دنیای محاسبات ۶۴ بیتی‌


گذری بر دنیای محاسبات ۶۴ بیتی‌
● اشاره :
محدودیتی كه در دامنه پردازش‌های ۳۲ بیتی وجود دارد، همواره باعث كندشدن سرعت انجام عملیات پیچیده و سنگین اطلاعاتی در سیستم‌های مختلف می‌گردد. به همین‌منظور بسیاری از شركت‌های سازنده نرم‌افزار و خصوصاً آن‌هایی كه در زمینه سیستم‌عامل فعالیت دارند از دیرباز رقابتی را برای تحت پوشش قراردادن تعداد زیادتری CPU و مقدار بیشتری حافظه RAM نسبت به یكدیگر آغاز كرده‌اند. به عنوان مثال رقابتی كه بین ویندوز ۲۰۰۰ سرور با سولاریس یا انواع یونیكس و لینوكس بر سر امكان استفاده از ۸ یا ۱۶ تا ۳۲ پردازنده به همراه چند گیگابایت حافظه RAM و امثال آن وجود داشت همواره یكی از جالب‌ترین و پرسروصداترین زمینه رقابت بین چند سیستم‌عامل به‌شمار می‌رفت. اما تمام این عوامل چندی پیش تحت‌الشعاع واژه جدیدی به نام پردازش ۶۴ بیتی قرار گرفت. این فناوری جدید كه به لطف به بازار آمدن دو محصول جدید از دو شركت معتبر سازنده پردازنده یعنی اینتل و AMD شكل گرفت، در مدت كوتاهی توانست توجه سازندگان سیستم‌عامل را به شدت معطوف كارایی بی‌نظیر خود كند.
پردازنده‌های Xeon و ایتانیوم از سوی اینتل و پردازنده Opteron از طرف AMD طی مدت كوتاهی توجه تمام سازندگان مشهور سرورهای Enterprise و همچنین تولیدكنندگان سیستم‌عامل را به خود جلب كرد. در این میان مایكروسافت نیز بلافاصله اقدام به طراحی نسخه‌ای از ویندوز ۲۰۰۳ سرور برمبنای انجام پردازش‌های ۶۴ بیتی و با استفاده از پردازنده‌های جدید نمود. این نسخه جدید ۶۴ بیتی از چند نظر بر نسخه پیشین خود برتری داشت. اول این‌كه از میزان حافظه فیزیكی و مجازی بیشتری پشتیبانی می‌كند.
دوم‌ این‌كه در مقایسه با نسخه ۳۲ بیتی از كارایی و سرعت بالاتری در مدیریت حافظه، رجیسترها و عملیات I/O برخوردار است. نكته سوم در مورد امنیت است. نسخه ۶۴ بیتی قابلیت محافظت بیشتری در برابر كدهای مخرب(Malicious Code) از خود نشان می‌دهد. طبق پیش‌بینی‌های انجام گرفته تا پایان سال ۲۰۰۵ میلادی كلیه كامپیوترهایی كه قرار است نقش سرور را در مراكز بزرگ اقتصادی داشته باشند به سمت ریزپردازنده و سیستم‌عامل ۶۴ بیتی سوق پیدا خواهند كرد. همین پیش‌بینی حاكی از تمایل شدید كامپیوترهای دسكتاپ به سمت استفاده از تكنولوژی ۶۴ بیتی تا پایان سال ۲۰۰۶ میلادی است.
براین‌اساس به تدریج نه تنها سازندگان سیستم‌عامل مثل مایكروسافت سیستم‌عامل ۶۴ بیتی مختص كامپیوترهای دسكتاپ (Windows XP ۴۶ bit) را به بازار عرضه می‌كنند، بلكه سایر تولیدكنندگان نرم‌افزارهای مختلف هم با وارد شدن به دنیای پردازش‌های ۶۴‌بیتی، كارایی و سرعت جدیدی را به كاربران خود ارایه می‌دهند.
● مقایسه
در یك سیستم‌عامل ۳۲ بیتی مثل نسخه‌های ۳۲ بیتی ویندوز ۲۰۰۳ از یك حافظه مجازی (Virtual memory) برای انجام پردازش‌های مختلف استفاده می‌شود. این حافظه مجازی كه حداكثر ۴ گیگابایت می‌تواند ظرفیت داشته باشد به دو قسمت تقسیم می‌شود. یك قسمت ۲ گیگابایتی آن به وسیله برنامه در حال اجرا اشغال شده و ۲ گیگابایت دیگر در اختیار سیستم‌عامل قرار می‌گیرد.
تا اینجا همه ‌چیز بسیار عادی به نظر می‌رسد اما مشكل زمانی پیش می‌آید كه ۲ گیگابایت سهم برنامه‌های در حال اجرا به مرز پرشدن نزدیك می‌شود. به عنوان مثال یك بانك اطلاعاتی SQL Server را در نظر بگیرید كه برای اتصال هر كاربر به سرور و انجام عملیات موردنظر وی ۲۰ مگابایت حافظه مجازی را در نظر می‌گیرد. با رسیدن تعداد كاربران به مرز یكصد نفر، كل حافظه مجازی ۲ گیگابایتی در اختیار SQL Server قرار می‌گیرد و این به معنای نزدیك شدن سیستم به یك نقطه بحرانی در عملیات سرویس‌دادن به كاربران است.
در نسخه‌های ۳۲ بیتی یكی از راه‌هایی كه برای این مسأله در نظر گرفته می‌شد، اختصاص ۳ گیگابایت از حافظه مجازی به برنامه‌های درحال‌اجرا بود. این روش كه با استفاده از دستكاری در فایل boot.ini انجام می‌گرفت، یك گیگابایت از حافظه مجازی در اختیار سیستم‌عامل را به سهمیه حافظه مجازی برنامه‌های در حال اجرا واگذار می‌كرد و تا حدودی مشكل كمبود حافظه مجازی را رفع می‌كرد. اما خود این عمل هم عوارض جانبی خاص خود را دارد و آن محدود شدن كرنل سیستم‌عامل به یك گیگابایت حافظه مجازی برای انجام عملیات cache است.
این محدود شدن باعث افت سرعت انتقال اطلاعات از سرور به كلاینت‌ها می‌شود. ضمن این‌كه باز هم در نهایت با زیادترشدن تعداد كاربران یا پردازش‌های موردنظر آنان، این ۱ گیگابایت الحاق‌شده نیز به مرز اشتغال شدن كامل نزدیك می‌شود و مدیران سیستم را به ناچار مجبور به افزایش تعداد سرورها برای رفع مشكل می‌كند. با آمدن ویندوز ۲۰۰۳ نسخه ۳۲ بیتی، قدرت آدرس‌دهی سیستم‌عامل برای حافظه‌های فیزیكی (RAM) به ۳۲ گیگابایت برای نسخه Enterprise و ۶۴ گیگابایت در نسخه DataCenter افزایش یافت و این به معنای نیاز كمتر سیستم به استفاده از حافظه مجازی و در نتیجه كمتر شدن مشكل مربوط به محدودیت حافظه‌های مجازی بود.
اما به هر حال استفاده از حافظه مجازی برای پردازش اطلاعات امری گریزناپذیر است و به‌همین دلیل توجه سازندگان سیستم‌عامل همواره معطوف به پیدا كردن راه‌حلی برای عبور از این مشكل بود. سرانجام با مطرح شدن و تولد سیستم‌عامل ۶۴ بیتی ویندوز ۲۰۰۳ كه با استفاده از قدرت پردازنده‌های ۶۴ بیتی جدید قادر بود از یك سیستم آدرس‌دهی ۴۰ بیتی استفاده كند، میزان حافظه مجازی قابل دسترسی سیستم از ۴ گیگابایت به ۴۰ ۲ یعنی ۱۶ ترابایت (هزار گیگابایت) افزایش یافت.
بدین‌ترتیب ۸ ترابایت از این ظرفیت در اختیار برنامه‌های در حال اجرا و ۸ ترابایت دیگر در اختیار سیستم‌عامل قرار گرفت. مهم‌ترین سؤالی كه در این‌جا می‌توانست مطرح شود این است كه آیا برنامه‌های سابق محیط ۳۲ بیتی كه برای استفاده از حداكثر ۳ گیگابایت حافظه مجازی كامپایل شده‌اند قادر به بهره بردن از این ۸ ترابایت فضای جدید هستند یا خیر. پاسخ این سؤال هم می‌تواند مثبت باشد و هم منفی. بدین‌صورت كه برخی برنامه‌های كامپایل‌شده در محیط‌های ۳۲ بیتی كه به صورت صریح قدرت استفاده از حداكثر ۳ گیگابایت حافظه مجازی را دارند، با ورود به محیط ۶۴ بیتی هیچ تغییری را احساس نخواهند كرد.
اما برخی دیگر كه با تكنولوژی Large Addressware كامپایل شده‌اند قادر خواهند بود تا ۴ گیگابایت از حافظه مجازی را در محیط جدید مورد استفاده قرار دهند. از لحاظ سرعت انجام عملیات نیز برخی برنامه‌های كامپایل شده در محیط ۳۲ بیتی (مثلاً برنامه‌های نوشته شده با ASP.NET كه از تكنولوژی Multithreading برای اجرای موازی چند دستورالعمل در آن واحد استفاده می‌كنند)، به دلیل قدرت بی‌نظیر پردازنده‌های ۶۴ بیتی در انجام این كار می‌توانند از مزایای محیط جدید اجرا استفاده كرده و سرعت اجرای خود را افزایش دهند.
اما اگر برنامه‌ای (مثلاً یك فایل Exe) در محیط توسعه‌ای مثل ویژوال بیسیك نسخه ششم برای دسترسی به یك پایگاه داده و كار با آن بدون استفاده از مكانیسم پردازشی موازی و به صورت ساده نوشته شده باشد، این برنامه حتی اگر برروی یك سرور ۶۴ بیتی هم اجرا شود نمی‌تواند از قابلیت‌های محیط جدید سودی ببرد. بنابراین اگر قرار است این برنامه برروی كلاینت نصب شده و پایگاه داده موردنظر كه SQL Server است برروی یك سرور باشد، بهتر آن است كه كلاینت در همان وضعیت ۳۲ بیتی باقی بماند و سرور به نسخه ۶۴ بیتی ویندوز ۲۰۰۳ ارتقاء داده‌شود.
در این صورت موتور بانك‌اطلاعاتی SQL Server كه در تمام نسخه‌های خود از شیوه Multithreading برای انجام دستورات موردنظر كاربران استفاده می‌كند، می‌تواند در محیط جدید با سرعت بهتری فرامین رسیده از طرف كلاینت‌ها را پردازش كرده و نتیجه را سریع‌تر به آن‌ها برگرداند و كارایی كلی این سیستم بانك اطلاعاتی را به نحو مطلوبی افزایش دهد. اصولاً برنامه‌های نوشته شده برای محیط‌های ۳۲ بیتی با استفاده از رابطی به نام WOW۶۴ قادر خواهند بود در محیط ۶۴ بیتی اجرا شوند و از مزایای ارتقاء سیستم عامل و دسترسی به حافظه بیشتر بهره ببرند.
● پردازنده
هر دو شركت اینتل و AMD از همان آغاز تولید پردازنده‌های ۶۴ بیتی، تمام تمركز خود را برروی پردازنده‌هایی كه در رده كامپیوترهای سرور مورد استفاده قرار می‌گیرد، گذاشتند. پردازنده اُپترون (Opteron) محصول شركت AMD وXeon محصول اینتل هر دو به همین منظور طراحی و تولید شدند.
پس از آن استفاده از تكنولوی ۶۴ بیتی در رده كامپیوترهای كلاینت نیز مدنظر هر دو شركت قرار گرفت و از آنجا كه سروصدای ظهور سیستم‌عامل ۶۴ بیتی ویندوزXP به تدریج نوید یك دگرگونی در كارایی این رده از كامپیوترها را می‌داد، این دو شركت پردازنده‌های ۶۴ بیتی جدیدی را با قیمت ارزان‌تر برای كار در كلاینت‌ها روانه بازار كردند. پردازنده Athlon ۶۴ و پنتیوم ۴ سری EM۴۶T از جمله این پردازنده‌های جدید بودند.
ضمن این‌كه در رده سرور نیز هر دو به ارتقاء پردازنده‌‌های ویژه خود پرداختند. پردازنده‌های اُپترون و پردازنده‌های ایتانیوم از اینتل نتیجه این ارتقاء محسوب می‌شوند كه از آخرین دست‌آوردهای تكنولوژی ۶۴ بیتی به‌شمار می‌روند.
هم‌اكنون AMD پردازنده‌‌های Opteron را برای استفاده در كامپیوترهای دسكتاپ و سرور با سیستم‌عامل ۶۴ بیتی، پردازنده‌های Athlon ۶۴ را جهت استفاده در كامپیوترهای دسكتاپ و كیفی با سیستم‌عامل ۳۲ یا ۶۴ بیتی و پردازنده‌های Turion را برای استفاده در كامپیوترهای كیفی با سیستم‌عامل ۶۴ بیتی به بازار عرضه می‌كند. اینتل هم انواع پردازنده‌های نوع Xeon خصوصاً سری MP را برای كار در محیط ۳۲ یا ۶۴ بیتی و انواع پردازنده‌های رده ایتانیوم را برای سرورهای با سیستم‌عامل ۶۴ بیتی تولید می‌كند.
● نرم‌افزار
با تحولی كه در دنیای پردازنده‌ها و سیستم‌‌عامل‌ها در حال وقوع بود، قاعدتاً دنیای نرم‌افزار نیز باید شاهد تغییراتی در نحوه انجام پردازش‌ها و سرعت و كارایی اجرا می‌شد. در اولین گام كلیه سرویس‌هایی كه به همراه ویندوز ۲۰۰۳ نسخه ۶۴ بیتی ارایه شد همگی با این تكنولوژی جدید همراه شدند.
این سرویس‌ها كه متعلق به مقوله نرم‌افزار به حساب می‌آمدند، از اكتیودایركتوری گرفته تا Terminal service و وب‌سرور IIS با امكانات جدید محیط ۶۴ بیتی مثل استفاده از فضای بسیار بزرگ حافظه، افزایش سرعت عملیات I/O و استفاده مناسب و بهینه از زمان CPU كاملاً هماهنگ شدند.
از طرفی دیگر بلافاصله خبر از ارایه شدن نسخه‌های جدید برخی نرم‌افزارهای سمت سرور مایكروسافت برای كار در محیط ۶۴ بیتی رسید. نسخه ۶۴ بیتی SQL Server۲۰۰۰ و بعد از آن حرف و حدیث‌های مربوط به نسخه ۲۰۰۵ كه مرزهای سرعت و كارایی را پشت‌سر می‌گذارد، از این دست به شمار می‌روند. در همین حال خبرهای دیگری حاكی از اقبال این دگرگونی از سمت برنامه‌نویسان بود.
محیط برنامه‌نویسی محبوب دات‌نت این‌بار با سروصدای جدیدی وارد معركه شد و Visual Studio۲۰۰۵ را برای نوشتن برنامه‌های كاربردی ۶۴ بیتی به علاقمندان ارایه كرد. از سوی دیگر رقبای مایكروسافت هم بیكار ننشستند. اوراكل با محصول oracle ۱۰g و آی‌بی‌ام با تولید DB۲ ۶۴ و بسیاری دیگر از سازندگان نرم‌افزار و خصوصاً سازندگان برنامه‌های سرور محیط بزرگ (Enterprise) با سعی و تلاش خود نشان دادند كه پلتفرم جدید پردازش‌های ۶۴ بیتی برای آن‌ها از اهمیت ویژه‌ای برخوردار است. به هر حال در آینده نزدیك شاهد رونق فناوری محاسبات ۶۴ بیتی در بسیاری از نرم‌افزارهای مختلف خواهیم بود. در شماره‌های آینده ماهنامه شبكه سعی خواهیم كرد دستاوردهای‌ جدید این فناوری را مورد بررسی قرار دهیم.
منبع : تراشه


همچنین مشاهده کنید