سیلیکون گرافیکس O2: ایستگاه کاری مولتی‌مدیای قدرتمند

SGI O2
📅 7 اسفند 1404 📄 1,077 کلمه 🔗 منبع اصلی

چکیده

سیلیکون گرافیکس O2، یک ایستگاه کاری مبتنی بر یونیکس بود که در سال ۱۹۹۶ معرفی شد. این دستگاه با تمرکز بر پردازش مولتی‌مدیا و گرافیک، از معماری حافظه یکپارچه (UMA) و پردازنده‌های MIPS بهره می‌برد و آخرین تلاش SGI در رده ایستگاه‌های کاری سطح پایین محسوب می‌شود.

سیلیکون گرافیکس O2 (SGI O2)، یک ایستگاه کاری مبتنی بر یونیکس بود که در سال ۱۹۹۶ توسط شرکت سیلیکون گرافیکس (SGI) معرفی شد تا جایگزین سری پیشین Indy شود. این محصول، آخرین تلاش SGI برای ورود به بازار ایستگاه‌های کاری سطح پایین محسوب می‌شد و رقیب بزرگ‌تر آن، SGI Octane بود. O2، مانند Indy، از یک پردازنده واحد MIPS بهره می‌برد و تمرکز اصلی آن بر کاربردهای مولتی‌مدیا بود.

سخت‌افزار

معماری سیستم

پروژه O2 که در ابتدا با نام "Moosehead" شناخته می‌شد، از معماری اختصاصی با پهنای باند بالا به نام معماری حافظه یکپارچه (Unified Memory Architecture - UMA) برای اتصال اجزای سیستم استفاده می‌کرد. یک گذرگاه PCI به UMA متصل بود و یک اسلات برای توسعه در دسترس قرار داشت. این دستگاه دارای طراحی ظاهری جذاب و ساختار داخلی ماژولار بود. امکان نصب دو درایو SCSI بر روی براکت‌های مخصوص (در مدل‌های بعدی R10000/R12000 به دلیل محدودیت حرارتی، فقط یک درایو) و یک کارت کپچر ویدئو/کارت صدا اختیاری در سمت چپ وجود داشت.

پردازنده (CPU)

O2 در دو پیکربندی پردازنده عرضه می‌شد: مدل‌های سطح پایین با پردازنده‌های MIPS مبتنی بر R5000 یا RM7000 در بازه فرکانسی ۱۸۰ تا ۳۵۰ مگاهرتز، و مدل‌های سطح بالا با پردازنده‌های R10000 یا R12000 در بازه ۱۵۰ تا ۴۰۰ مگاهرتز. پردازنده‌های ۲۰۰ مگاهرتزی R5000 با ۱ مگابایت حافظه کش سطح ۲ (L2 cache)، معمولاً سرعت قابل توجهی بیشتر از پردازنده‌های ۱۸۰ مگاهرتزی R5000 با ۵۱۲ کیلوبایت کش داشتند. پروژه‌های جانبی توسط علاقه‌مندان، موفق به نصب پردازنده ۶۰۰ مگاهرتزی RM7xxx MIPS بر روی O2 شده‌اند.

حافظه (Memory)

هشت اسلات DIMM بر روی مادربرد وجود داشت و حافظه تمام مدل‌های O2 تا ۱ گیگابایت با استفاده از ماژول‌های حافظه اختصاصی SDRAM با ۲۳۹ پین قابل ارتقا بود. تراشه ASIC با نام Memory & Rendering Engine (MRE) کنترلر حافظه را در خود جای داده بود. دسترسی به حافظه از طریق یک گذرگاه ۱۴۴ بیتی با فرکانس ۱۳۳ مگاهرتز انجام می‌شد که ۱۲۸ بیت آن برای داده و مابقی برای ECC (کد تصحیح خطا) بود. این گذرگاه توسط مجموعه‌ای از بافرهای سیگنال به سیستم حافظه ۲۵۶ بیتی با فرکانس ۶۶ مگاهرتز متصل می‌شد.

ورودی/خروجی (I/O)

عملکرد ورودی/خروجی توسط تراشه ASIC IO Engine فراهم می‌شد. این تراشه یک گذرگاه PCI ۶۴ بیتی، یک گذرگاه ISA، دو پورت PS/2 برای کیبورد و ماوس، و یک پورت اترنت ۱۰/۱۰۰ Base-T را ارائه می‌داد. گذرگاه PCI دارای یک اسلات ۶۴ بیتی بود، اما گذرگاه ISA صرفاً برای اتصال یک تراشه Super I/O جهت فراهم کردن پورت‌های سریال و موازی تعبیه شده بود.

دیسک‌ها (Disks)

O2 از زیرسیستم درایو UltraWide SCSI (با کنترلر Adaptec 7880) بهره می‌برد. مدل‌های قدیمی‌تر O2 معمولاً دارای درایوهای CD-ROM توشیبا با سرعت ۴x بودند، اما امکان استفاده از سایر CD-ROMهای SCSI توشیبا (و حتی برندهای دیگر) وجود داشت، هرچند طراحی قاب جلویی (bezel) برای مدل‌های توشیبا بود و سیستم‌عامل IRIX نیز تنها با CD-ROMهای توشیبا در حالت CD-DA سازگاری کامل داشت. مدل‌های جدیدتر دارای درایوهای DVD-ROM توشیبا بودند. مدل‌های مبتنی بر R5000/RM7000 دارای دو جایگاه برای هارد دیسک‌های SCSI UltraWide بودند. به دلیل وجود مجموعه فن خنک‌کننده بزرگ‌تر در ماژول پردازنده R10000/R12000، تنها یک جایگاه درایو در این مدل‌ها وجود داشت.

گرافیک (Graphics)

O2 از چیپست CRM استفاده می‌کرد که به طور اختصاصی توسط SGI برای این محصول توسعه یافته بود. این چیپست با هدف پیاده‌سازی کم‌هزینه معماری OpenGL 1.1 با افزونه‌های تصویر ARB (هم در نرم‌افزار و هم در سخت‌افزار) طراحی شده بود. این مجموعه شامل ریزپردازنده، و تراشه‌های ASIC ICE، MRE و Display بود. تمام پردازش لیست نمایش و رأس‌ها، و همچنین کنترل تراشه MRE توسط ریزپردازنده انجام می‌شد. تراشه ICE مسئول بسته‌بندی و باز کردن پیکسل‌ها و همچنین عملیات بر روی داده‌های پیکسل بود. تراشه MRE وظیفه rasterization (ترسیم پیکسل‌ها) و نگاشت بافت (texture mapping) را بر عهده داشت. به لطف معماری حافظه یکپارچه، حافظه بافت و فریم‌بافر از حافظه اصلی سیستم تأمین می‌شد که منجر به مقادیر متغیر از هر کدام می‌گردید. موتور نمایش (Display Engine) سیگنال‌های ویدئوی آنالوگ را از داده‌های فریم‌بافر دریافت شده از حافظه تولید می‌کرد.

سیستم‌عامل‌ها (Operating Systems)

چندین سیستم‌عامل از O2 پشتیبانی می‌کردند:

  • IRIX 6.3 یا 6.5.x (پلتفرم بومی)
  • پورت لینوکس (Linux port) در حال کار بود، اما برخی درایورها ناقص بودند. توزیع‌های Debian، Gentoo و T2 Linux نسخه‌هایی داشتند که بر روی O2 اجرا می‌شدند.
  • OpenBSD از نسخه ۳.۷ تا زمان توقف پشتیبانی پورت "sgi" در نسخه ۶.۹ بر روی O2 اجرا می‌شد.
  • NetBSD از نسخه ۲.۰ بر روی O2 اجرا شده است. این اولین سیستم‌عامل متن‌باز بود که به O2 پورت شد.

عملکرد (Performance)

ایستگاه کاری SGI O2 دارای تراشه ASIC Imaging and Compression Engine (ICE) بود که برای پردازش رسانه‌های جریانی و تصاویر ثابت طراحی شده بود. ICE با فرکانس ۶۶ مگاهرتز کار می‌کرد و شامل یک ریزپردازنده مبتنی بر R3000 به عنوان واحد اسکالر بود که با یک واحد SIMD ۱۲۸ بیتی از طریق رابط هم‌پردازنده MIPS متصل بود. ICE بر روی هشت عدد صحیح ۱۶ بیتی یا شانزده عدد صحیح ۸ بیتی عمل می‌کرد، اما همچنان قدرت محاسباتی قابل توجهی را فراهم می‌کرد که به O2 امکان می‌داد وظایف رمزگشایی ویدئو و صدا را انجام دهد؛ وظایفی که در صورت عدم استفاده از دستورالعمل‌های SIMD، به پردازنده‌ای بسیار سریع‌تر نیاز داشتند. ICE تنها با سیستم‌عامل IRIX کار می‌کرد، زیرا تنها سیستمی بود که درایورهای لازم برای بهره‌برداری از این دستگاه را داشت.

معماری حافظه یکپارچه (UMA) به این معنی بود که O2 از حافظه اصلی برای بافت‌های گرافیکی استفاده می‌کرد و پردازش بافت‌دهی چندضلعی‌ها و سایر عناصر گرافیکی را بسیار ساده می‌ساخت. به جای انتقال بافت‌ها از طریق گذرگاه به زیرسیستم گرافیکی، O2 یک اشاره‌گر به بافت در حافظه اصلی ارسال می‌کرد که سپس توسط سخت‌افزار گرافیکی مورد دسترسی قرار می‌گرفت. این امر استفاده از بافت‌های بزرگ را آسان می‌کرد و حتی امکان استفاده از ویدئوی جریانی به عنوان بافت را فراهم می‌ساخت.

از آنجایی که CPU بسیاری از محاسبات هندسی را انجام می‌داد، استفاده از یک CPU سریع‌تر سرعت برنامه‌های محدود به هندسه را افزایش می‌داد. سرعت rasterization گرافیک O2 کندتر از کارت‌های گرافیک Maximum IMPACT در Indigo2 بود، اگرچه Maximum IMPACT به ۴ مگابایت حافظه بافت محدود بود که می‌توانست منجر به تنگنا شود، در حالی که O2 تنها به حافظه موجود محدود بود.

اگرچه فرکانس‌های پردازنده بین ۱۸۰ تا ۴۰۰ مگاهرتز امروزه کم به نظر می‌رسند، اما در زمان عرضه O2 در سال ۱۹۹۶، این سرعت‌ها با پردازنده‌های خانواده x86 (مانند Intel Pentium و AMD K5) هم‌تراز یا بالاتر بودند.

کاربردها (Uses)

O2 اغلب در زمینه‌های زیر مورد استفاده قرار می‌گرفت:

  • پردازش تصویر (به ویژه در پزشکی)
  • گرافیک تلویزیونی؛ رایج‌ترین نمونه O2 در حال اجرای گرافیک تلویزیونی، کامپیوتر Weather Star XL برای The Weather Channel بود.
  • ایستگاه کاری رومیزی
  • مدل‌سازی سه‌بعدی
  • پس‌تولید ویدئوی آنالوگ
  • صنایع دفاعی

منابع

پیوندهای خارجی

  • SGIstuff: O2
  • نصب ریموت IRIX 6.5 از سرور GNU/Linux
  • اساس کار منبع تغذیه SGI O2

جمع‌بندی

سیلیکون گرافیکس O2 با وجود قرار گرفتن در رده ایستگاه‌های کاری اقتصادی، قابلیت‌های چشمگیری در پردازش مولتی‌مدیا و گرافیک ارائه می‌کرد. معماری نوآورانه UMA و تراشه‌های اختصاصی، آن را به گزینه‌ای مناسب برای کاربردهای گرافیکی و بصری تبدیل کرده بود، هرچند عمر آن به عنوان آخرین محصول SGI در این رده، کوتاه بود.