مقاله

طرز کار پردازنده ای دو هسته ای


در چندین ماه گذشته پیشرفت های جدیدی در طراحی پروسسورها، بویژه از طرف شرکت 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 به تنهایی کارایی را بیان نمی‌کند. هر دو شرکت برای دست یافتن به هر پیشرفت که کارایی پردازشگرها را بهبود بخشید تلاش خواهند نمود و تقریباً دلیل اصلی بوجود آمدن پردازشگرهای دو هسته ای را می‌توان همین دلیل سوم بیان نمود.

دسترسی AMD به تکنولوژی دو هسته ای

فرم فاکتور فعلی پردازشگر 64 اتلن به طراحی دو هسته ای خیلی نزدیک می‌باشد. وجود کنترل کننده‌های Hypertransport و کنترل کننده حافظه درقالب چیپهای فعلی 64 اتلن به معنی آنست که اضافه نمودن دومین هسته در داخل چیپ چندان مشکل نمی‌باشد. بدلیل رابط NorthBridge که AMD برای اتلن 64 تهیه کرده‌ است کنترل کننده حافظه و رابط Hypertransport در داخل چیپ پشتیبانی می گردد. این به چیپ‌های دوهسته‌ای امکان می دهد که از داخل خود پردازشگر با یکدیگر ارتباط برقرار کنند.

تعداد ترانزیستورهای پردازشگرهای اتلن 2X64بیش از دو برابر پردازشگرهای اتلن 64 می‌باشد. با توجه به اینکه در ساختن CPU های جدید از روش 90nm استفاده می شود سایز کل چیپ کمی افزایش پیدا کرده و ولتاژ عملکرد 1.35 تا 1.4 می‌باشد و گرمای خروجی به بیش از 110w کمی افزایش می‌یابد. هر هسته پردازشگر حافظه Cache L1 و L2 مخصوص به خود را دارد، 128 KB برای L1 و بسته به مدل 512 KB تا 1 MB برای L2. L2 دارای Advaced Trsnsfer Cache(ATC) می باشد. ATC وظیفه هدایت توان عملیاتی و تبادل اطلاعات بین هسته پردازنده و حافظه نهان L2 را بر عهده دارد . L 2 دارای رابط 256 بیتی (32 بایتی) می باشد که باعث تبادل داده در هر سیکل Clock هسته می شود. هسته Prescott در مقایسه با هسته Northwood که دارای KB512 حافظه نهان L 2 است ، دارای حافظه نهان Mb1 می باشد. ضمنا با توجه به فناوری ساخت 90نانو افزایش KBبه512 MB1 تاثیری در تغییر اندازه Die پردازنده بوجود نیاورده است.

حافظه نهان L1 به دو قسمت حافظه نهان داده L1 و حافظه نهان ردیابی اجرا L1تقسیم می شود. حافظه نهان داده L1 دارای 8کیلو بایت ظرفیت و حافظه نهان ردیابی اجرا ریز عمل های کد گشایی (Decode) شده را در خود نگهداری می نماید که باعث حذف کد گشا از حلقه اجرایی وکاهش خط لوله می شود.دو برتری مهمی که AMD در CPU های دو هسته‌ای دارد عبارتند از اینکه :
"Crossbar Switch"
که آدرسها را جمع‌آوری کرده و توزیع می کند و داده را از هر هسته به هسته دیگر یا باقی سیستم توزیع می کند در حال حاضر امکان اضافه شدن دومین هسته را دارد. موفقیت دیگر AMD که از نظر مصرف کننده خیلی مهم می‌باشد امکان استفاده اتلن2X64 از مادربردهای سوکت 939/940 می باشد و فقط لازم است که شرکت تولید کننده مادربرد BIOS را برای پشتیبانی از خصوصیات جدید به روز رسانی نماید.