در چندین ماه گذشته پیشرفت های جدیدی در طراحی پروسسورها، بویژه از طرف شرکت AMD حاصل شد. این شرکت علاوه بر اینکه یک cpu با طراحی کاملا ْ64 بیتی عرضه کرد که باعث برتری یافتن این شرکت در بازار کامپیوترهای رومیزی پیشرفته گردید، همچنین در حذف کنترل کننده های حافظه (MCH) پیشقدم شد که در عملکرد Athlon 64 و چیپهای"optron" یک پیشرفت قابل ملاحظه نسبت به پروسسورهای intel به حساب میآید. اینتل به طور متقابل پروسسور سازگار 64 بیتی را عرضه نمود. به تازگی نیز هر دو شرکت پردازشگرهای دوهسته ای را عرضه نمودهاند، این پروسسورها بهتر از آن چیزی که شما انتظار دارید کار میکنند. پروسسورهای اینتل و AMD هر دو دارای دو هسته پروسسور، در حال کار در یک قالب میباشند که هر یک از هستهها بصورت مستقل توابع و پردازشهای داده را انجام میدهند (در مورد اینتل این مورد کامل تر است) و هر دو این هستهها توسط نرم افزار سیستم عامل هم آهنگ می گردند. در این مقاله سعی شده تا تکنولوژی که در این دو محصول استفاده شده و مقدار افزایش کارایی که شما می توانید از آنها انتظار داشته باشید بررسی گردد. در حال حاضر AMD فقط پروسورهای کلاس سرور opteron با دو هسته را بطور کامل به بازار عرضه کرده و بزودی Athlon 64x2 برای کامپیوترهای رومیزی را نیز به بازار عرضه میکند. در طرف مقابل اینتل در حال حاضر پنتیوم Extreme Edition 840 رومیزی با دو هسته را به بازار عرضه نموده در حالی که خطهای تولید Pentium D و dual xeons هنوز متوقف نشده اند. با توجه به اینکه پروسسورهای دو هستهای در اصل یک سیستم چند پروسسوره که در یک قالب قرار گرفته اند، می باشد. اجازه بدهید اینک چندین تکنولوژی که در سیستم های چند پردازشگر استفاده می شود را مورد بررسی قرار دهیم.
ساختار پردازنده های دو هسته ای
همانطور که از نام آن ها پیداست در این تراشه ها ، دو پردازشگر و دو کش L2 در یک واحد سیلیکونی قرار گرفته اند . مزیت این گونه پردازنده ها ، پردازش بهتر دستورات مالتی تسک است . در واقع مزایای پردازنده های دو هسته ای زمانی بهتر لمس خواهد شد که به طور همزمان چندین کار انجام پذیرد . تراشه های دو هسته ای اینتل نیاز به یک مادربرد جدید دارند در صورتی که پردازنده های دو هسته ای AMD نیاز به مادربورد جدید ندارند و فقط با به روز رسانی بایوس می توان این پردازنده ها را روی مادربورد های سوکت 939 نصب کرد .
چند پردازشگر های متقارن SMP (symmetric Multi processing)
روش مشترکی می باشد که چندین پردازشگر بطور جداگانه با یکدیگر در یک مادربرد کار میکنند. سیستم عامل با هر دو cpu تقریباً بطور یکسان کار میکند و کارهای مورد نیاز را به آنها ارجاع میدهد. چیپهای دوهسته ای جدید intel و AMD توانایی SMP را بصورت داخلی مورد توجه قرار دادهاند. پروسسورهای سرور opteron دوهسته ای میتواند همچنین بصورت خارجی با دیگر چیپهای دوهسته ای ارتباط برقرار کند. (بشرط آنکه چیپ متقابل نیز دارای این خاصیت باشد) محدودیت اصلیSMP در پشتیبانی سیستم عاملها و نرم افزارها از این تکنولوژی میباشد. خیلی از سیستم عاملها (مانند ویندوز XP سری خانگی ) توانایی پشتیبانی از SMP را ندارند و از دومین پردازشگر استفاده نمیکنند. همچنین بیشتر برنامههای پیشرفته بصورت تک رشته ای کار میکنند، در اصل در هر زمان فقط یک پردازشگر در حالت فعال می باشد. برنامه های چند رشتهای از پتانسیل موجود در سیستمهای دو یا چند پرازشگر، میتوانند نتایج مفیدتری بگیرند، ولی به صورت کامل عمومیت ندارد. در گذشته intel و AMD سعی داشتهاند تا تکنولوژی جدیدی مثل SMP را بیشتر برای پردازشگرهای سرور پیشرفته مانند opteron و Xeon استفاده نمایند ( البته تا قبل از پنتیوم 3)
Hyperthreading
این تکنولوژی بصورت اختصاصی توسط اینتل در پردازشگرهای چند هستهای بکار گرفته شده است. این تکنولوژی قبلاً نیز توسط این شرکت بکار گرفته شده بود. اینتل برای آنکه از منابع CPUبه نحو بهتری استفاده نماید فقط قسمتهایی که کار پردازش اطلاعات را انجام می دهد را تکثیر کرده است. یعنی آنکه منابع داده در داخل CPU بصورت مشترک استفاده میشد. ایده hyperthreading برای دو برابرکردن مقدار فعالیت چیپ میباشد تا آنکه کاهش عملکرد سیستم که در اثر فقدان حافظه Cache روی میدهد کمتر گردد همچنین بصورت تئوری نشان داده شده که منابع سیستم کمتر تلف میگردند. در صورتی که CPU های hyperthreading مانند دو پروسسور حقیقی بنظر می رسد. ولی این CPU ها نمیتوانند عملکردی مشابه دو CPU مجزا مانند CPU های دوهسته ای داشته باشند. زیرا در CPU های دو هسته ای دو "Threads"مشابه بطور همزمان و با Cache های جداگانه L1 و L2 میتوانند اجرا گردند که این عمل در پردازشگرهای hyperthreading قابل انجام نمیباشد. یکی از چیپهای جدید اینتل بنام ، پردازشگر پنتیوم Extreme Edition 840 ، در داخل هر هسته خود از تکنولوژی hyperthreadings نیز پشتیبانی میکند، یعنی آنکه در یک سیستم عامل آن بصورت چهار پردازشگر حقیقی دیده میشود.
دو چیپ در یک قالب ... چرا؟
چرا دو شرکت اینتل و AMD بطور ناگهانی شروع به توزیع پردازشگرهای دو هستهای کردند؟
اول از همه رقابت چنانچه بعداً بیان خواهیم کرد AMD از ابتدا توانائی بالقوه دوهستهای را در پردازشگرهای 64 بیتی خود داشت. ساختمان ورودی و خروجی برای دومین هسته در CPU های فعلی 64 بیتی AMD موجود میباشد. هیچ شرکتی نمی تواند دیگران را از بدست آوردن تکنولوژیهای جدید منع نماید و AMD در حال حاضر با موفقیت چشمگیر خط تولید پرداشگرهای 64 بیتی آسودگی را از intel سلب نموده است. برای اینتل ضروری میباشد که دارای یک تولید تخصصی در تکنولوژی دوهسته ای باشد تا رقابت با شرکاء تجاری خود را حفظ نماید. دوم، کارایی میباشد. مطمئناً برنامههای کاربردی چند رشتهای در پردازشگرهایی که توانایی انجام چند پردازش را دارند در پردازشگرهایی که یک پردازش را در هر زمان انجام میدهند، بهتر عمل خواهند نمود. البته برای سیستم های چند پردازشگره یک ایراد عمومی وجود دارد و آن تاْخیری میباشد که این CPU ها در اجرای کار سیستم بوجود می آورند. به بیان ساده در حال حاضر روشی برای سیستم عاملهای موجود وجود ندارند تا پردازشها را بطور کاملاً مساوی در بین پردازشگرها تقسیم نماید، پردازشگر دوم عموماً بایک مداخله کمتر و کارایی پایینتر کارمیکند، در صورتی که ممکن است پردازشگر اول بصورت 100% در حال پردازش باشد. سومین دلیل کمتر نمایان است، ناامیدی AMD و اینتل میباشد، هر دو شرکت با یک مانع جدی برای افزایش سرعت پردازشگرها و کوچکتر کردن اندازه قالب آنها روبرو شده اند تا این مانع حذف نشود و یا اینکه تا کاربران عمومی متوجه نشوند که GHZ به تنهایی کارایی را بیان نمیکند. هر دو شرکت برای دست یافتن به هر پیشرفت که کارایی پردازشگرها را بهبود بخشید تلاش خواهند نمود و تقریباً دلیل اصلی بوجود آمدن پردازشگرهای دو هسته ای را میتوان همین دلیل سوم بیان نمود.