پردازنده PowerXCell 8iساخت IBM ,Sony toshiba
شاید بتوان گفت جالب ترین پردازنده از نقطه نظر معماری که تا به حال تولید شده است. این پردازنده با بحره گیری از هشت واحد محاسباتی برداری به همره یک واحد عددی ناظر مجموعه ای از متناقض ترین واحد های پردازشی را درون خود ایجاد کرده است.کار کار هماهنگ کردن این واحد ها و دریافت یک خروجی مناسب یکی از بزرگترین شاهکار های مهندسی است که تا به حال در جهان ساخته شده است.در یک نگاه ساده پردازنده Cell را می توان به سه بخش SPE,PPE,EIB تقسیم کرد.
Power Processing Elements(PPE):
PPE یک هسته ی پردازشی بر پایه معماری Power است که در هر سیکل کلاک دو دستورالعمل را اجرا کرده و به عنوان کنترل کننده ی هشت SPE که بیشتر محاسبات توسط انها انجام می شود مورد استفاده قرار می گیرد.PPE می تواند سیستم عامل های معمولی را مانند انچه شاهد بودیم اجرا کند در حالی که SPE ها برای اجرای کد های ممیز شناور برداری طراحی شده اند. PPE دارای 32KB حافظه ی نهان سطح یک برای داده ها و 32KB برای دستورالعمل ها به همراه 512KB حافظه ی نهان سطح دو است. اندازه ی هر خط حافظه نهان برابر با 128 بایت است و علاوه بر این IBM یک وهحد AltiVec را نیز در پردازنده تعبیه کرده که برای اجرای عملیات ممیز شناوری با دقط واحد مورد استفاده قرار می گیرد.
هر PPE می تواند دو عمل کرد را با دقط مضاعف در هر سیکل کلاک با استفاده از دستورالعمل های ترکیبی عددی ضرب-جمع اجرا کند.این به معنی توان محاسباتی برابر با 6/4 گیگافلاپ در فرکانس 3/2 گیگاهرتز است.علاوه بر این امکان اجرای هشت عملکرد ممیز شناوری با دقت واحد با استفاده از دستورالعمل های ترکیبی برداری ضرب-جمع که به معنی توان محاسباتی برابر با 25/5 گیگا فلاپ در فرکانس 3/2 گیگا هرتز است .
Synergistic Processing Elements(SPE):
هر SPE از یک واحد پیشرفته SPU(Synergistic Processing Unit) f به همره یک کنترل کننده ی جریانی حافظه MFC که شامل واحد های دستیابی مستقیم به حافظه DMA و واحد مدیریت حافظه MMU است تشکیل شده است .هر SPE یک پردازنده ی RISC بوده که مانند واحد های اجرایی SIMD سازماندهی شده است و می تواند دستورالعمل های با دقت واحد یا با دقت مضاعف را اجرا کند. در نسل فعلی هر SPE دارای 256 کیلوبایت حافظه ی نهان از نوع SRAM است که برای ذخیره داده ها و دستئرالعمل ها مورد استفاده قرار می گیرد و با نام <<فضای ذخیره سازی محلی>> شناخته می شود.
این فظا کاملا برای PPE قابل دیدن می باشد و انرم افزار نیز می تواند دستیابی مستقیم به ان داشته باشد. هر SPE می تواند تا چهار گیگابایت حافظه ی محلی را پشتیبانی کند این حافظه ی محلی عملکردی متفاوت از حافظه ی نهان در پردازنده ها دارد به دلیل این که حافظه ی نهان پردازنده بر عکس این حافظه در دسترس نرم افزار قرار دارد و نه شامل سخت افزار برای پیش بینی اینکه چه داده هایی پردازش می شوند است.هر SPE شامل رجیستر فایل های 128 بیتی با 128 ورودی است.
یک SPE می تواند روی 16 عدد صحیح 8 بیتیوچهار عددصحیح 32 بیتی یا هشت عدد ممیز شناور با دقط واحد در هر سیکل کلاک کار کند توجه داشته باشید که SPEها نمی توانند مستقیم =ا به حافظه ی سیستم دسترسی داشته باشند.ادرس های 64 بیتی مجازی حافظه که توسط SPE تولید می شوند باید از کنترل کننده ی جریان حافظه SPE یا MFC گذر کنند تا یک درخواست DMA از طریق فضای آدرس سیستم را اجرا کند.
در حالت معمول سیستم برنامه ی کوچکی را در SPEها بار گذاری خواهد کرد(چیزی شبیه Threadها) و SPEها را به گونه ای با هم هماهنگ می کند که هر یک بخشی از یک عملیات پیچیده را تا اتمام ان انجام دهند.البته می توان SPEها را به صورت موازی هم پیکره بندی کرد.از انجا که هر SPE دارای توان محاسباتی تئوری تا 25/6 گیگا فلاپ است کارایی کلی برابر با 204/8 گیگا فلاپ در دسترس قرار خواهد گرفت اما به دلیل اینکه هنگام اجرای بازی ها عملیات اجرای ممیز شناوری با دقت مضاعف بیشتر مورد استفاده قرار می گیرد دستیابی به حد اکثر توان عملیاتی 102/2 گیگافلاپ در این حالت می تواند عدد دقیق تری برای سنجش توانایی محسباتی این پردازنده باشد.
Element Interconnect Bus(EIB):
EIB یک گذر گاه ارتباطی است که بخش های مختلف داخل چیپ پردازنده را به هم متصل می کند.پردازنده PPE کنترل کننده حافظه هشت کمک پردازنده SPE و دو اینتر فیس ورودی/خروجی برای چیپ مجموع واحد هایی هستند این گذر گاه انها را به هم وصل می کند(مجموع این واحد ها به 12 می رسد).EIB به شکل یک حاقه ی مدور طراحی شده است و دارای کانال های تک سویه با پهنای باند 16 بیت است که به صورت دو گانه به بخش های مختلف کشیده شده اند.هنگامی که به جریان داده ها اجازه ی عبور داده شود هر کانال خواهد توانست تا سه تراکنش را در ان واحد انجام دهد.از انجا که EIB با نصف فرکانس پردازنده کار می کند میزان نرخ انتقال داده های موثر در هر دو سیکل کلاک برابر با 16 بایت خواهد بود.
در حد اکثر توان عملیاتی با فعال بودن 3 تراکش در تمامیه چهار حلقه توان عملیاتی لحظه ای EIB برابر با 96 بایت به اعزای هر سیکل کلاک است .با توجه به ان چه گفته شد EIB از چهار کانال که هر کدام توانایی سه تراکنش را به صورت همزمان دارند پشتیبانی می کند. به همین دلیل در حداکثر پیک کاری پهنای باند به صورت تئوری 307/2 بایت در ثانیه افزایش پیدا کند. کنترل کننده حافظه و رابط ورودی/خروجی Cell دارای یک کنترل کننده حافظه داخلی دو کاناله به نام XIO از Rambus است که می تواند با حافظه های XDR ارتباط بر قرار کند. اینتر فیس کنترل کننده حافظه MIC که از درگاه XIO جدا شده و به صورت مستقل اداره می شود توسط IBM طراحی شده است .اتصال XIO-XDR دارای نرخ انتقال داده 3/2 گیگابایت بر ثانیه به اعزای هر پین است. دو کانال 32 بیتی می تواند پهنای باند تئوری برابر با 25/6 گیگابایت بر ثانیه را ایجاد کنند. اینتر فیس سیستم استفاده شده در پردازنه Cell نیز توسط شرکت Rambus طراحی و با نام FlexIO شناخته می شود. FlexIO دارای دوازده خط ارتباطی است که هر یک به صورت نقطه به نقطه بوده و هشت بیت پهنا دارد. هشت عدد از این گذر گاه های هشت بیتی نقطه به نقطه اطلاعات را به داخل Cell هدایت می کنند و هفتای باقیمانده گذر گاه های خارجی هستند.
این گذر گاه ها پهنای باند تئوری برابر با 62/4 گیگا بایت بر ثانیه را تامین می کند. از این مقدار 36/4 گیگابایت بر ثانیه پهنای باند خارجی و 26 گیگابایت بر ثانیه نیز پهنای باند داخلی به سمت پردازنده در فرکانس کاری 2/6 گیگاهرتز است.