طراحی در کالیفرنیا، کپی در شوروی؛ داستان اولین تراشه شوروی
شنبه ۱۰ شهریور ۱۴۰۳ - ۱۴:۰۰مطالعه 10 دقیقهدر دوران جنگ سرد، ایالات متحده و اتحاد جماهیر شوروی در رقابتی نفسگیر در زمینههای مختلف به سر میبردند و هر یک تلاش میکردند تا با نمایش پیشرفتهای خود، برتری ایدئولوژیکی خویش را اثبات کنند. این رقابت به میدان جنگ محدود نمیشد و به فضا، قابلیتهای هستهای، نوآوریهای تکنولوژیکی و حتی رقابت برای کشف عناصر فوق سنگین جدید نیز کشیده شده بود.
رقابت فضایی که با پرتاب ماهوارهی اسپوتنیک توسط شوروی و فرود آپولوهای ایالات متحده بر روی ماه به اوج رسید، توجه همه را به خود جلب کرد و نماد جنگ سرد در آن دوران شد. به طور مشابه، رقابت تسلیحاتی موجب شد که هر دو ابرقدرت به جمعآوری و توسعهی زرادخانههای هستهای پیشرفتهای بپردازند که همواره یادآور تعادل ناپایدار قدرت بود. این رقابت گسترده به پیشرفتهای فناوری در عرصههای نظامی و فضایی نیز دامن زد و روند نوآوریها را تحتتأثیر قرار داد.
یکی از نمونههای این رقابت تکنولوژی، توسعهی فناوریهای کامپیوتر بود. در اوایل دههی ۱۹۷۰، اتحاد جماهیر شوروی با هدف کاهش فاصلهی تکنولوژیکی خود با غرب، شروع به تقلید از نوآوریهای کلیدی غربی در زمینهی ریزپردازندهها کرد. یکی از این نوآوریها، ریزپردازنده اینتل ۸۰۸۰ بود که پیشرفتی چشمگیر در عرصه کامپیوتر محسوب میشد. نسخهی شوروی از ۸۰۸۰ که به نام KR580VM80A (معروف به سری ۵۸۰) شناخته میشود، نشاندهندهی استراتژی گستردهتر آنها برای بازتولید فناوریهای غربی بود.
این رقابت در زمینهی کپیبرداری و نوآوری در دوران جنگ سرد، تعامل بین کشمکشهای ژئوپولیتیکی و پیشرفتهای تکنولوژیکی را به خوبی نشان میدهد. با توجه به سکوت خبری در شوروی آن دوران، مطالب کمی در مورد جزئیات و داستان پشت پردهی این پردازنده نوشته شده است. در این مقاله، با بررسی اکثر این منابع سعی داریم به داستان طراحی و معرفی کپی روسی از ریزپردازندهی ۸۰۸۰ بپردازیم.
شوروی پیش از عصر سیلیکون
پیش از اینکه به تاریخچهی ریزپردازندههای سری ۵۸۰ شوروی بپردازیم، لازم است ابتدا دربارهی سطح فناوری شوروی پیش از ظهور ریزپردازندههای مجتمع بهطور خلاصه صحبت کنیم.
در سال ۱۹۵۰، «ماشین محاسبات الکترونیکی کوچک» (SECM) در اتحاد جماهیر شوروی ساخته شد. باید توجه داشت که SECM در شوروی زمانی راهاندازی شد که در اروپا تنها چند کامپیوتر وجود داشت؛ از جمله EDSAC انگلیسی که یک سال قبلتر راهاندازی شده بود و Z4 زوسه در زوریخ که حدوداً در سال ۱۹۴۷ ساخته شده بود. بااینحال، پردازندهی SECM بسیار قدرتمندتر بود، زیرا محاسبات را به صورت موازی پردازش میکرد.
در ساخت SECM، تمام اصول بنیادی ساخت کامپیوتر مانند وجود دستگاههای ورودی و خروجی، کدگذاری و ذخیرهسازی برنامه در حافظه، اجرای خودکار محاسبات براساس برنامهی ذخیرهشده و مواردی از این دست به کار گرفته شد. مهمتر از همه، این کامپیوتر براساس منطق دودویی (پردازش براساس صفر و یک) ساخته شده بود که در مهندسی محاسبات دیجیتال مورد استفاده قرار میگیرد.
در جریان مأموریت تاریخی فضایی سایوز-آپولو در سال ۱۹۷۵، کنترل مأموریت توسط یک سیستم پیچیده انجام شد که شامل کامپیوتر بزرگی به نام BECM-6 (ماشین محاسبات الکترونیکی بزرگ) بود. این کامپیوتر به طور مستقیم از SECM توسعه یافته بود و قادر بود محاسبات موردنیاز برای پرتاب موشک را در مدت یک دقیقه انجام دهد؛ درحالیکه در طرف آمریکایی، محاسبات مربوط به این ماموریت ۳۰ دقیقه به طول میانجامید. این تفاوت زمانی در محاسبات نشاندهندهی تفاوتهای فناوری میان دو کشور در آن زمان بود.
تا اینجای کار، برتری محاسباتی شوروی نسبت به غرب مشهود بود. اما فاجعهی واقعی زمانی رخ داد که شوروی تصمیم گرفت نسخههای کپیشده از کامپیوتر مینفریم IBM-360 را تولید کند؛ یعنی گذار از نوآوری به کپیبرداری از طراحی آمریکایی. به وضوح مشخص است که کپیبرداری شانس پیشی گرفتن را نمیدهد؛ هر چند شوروی معمولاً طراحیهای غربی را ارتقاء میداد تا بومیتر و نوآورانهتر به نظر برسد.
SECM شوروی محاسبات را در یک دقیقه، اما کامپیوتر آمریکایی در ۳۰ دقیقه انجام میداد
کپیبرداری تنها زمانی معنی دارد که بهعنوان مرحلهای از یادگیری در نبود فناوری لازم برای نوآوری به کار برده شود. البته پایان منطقی چنین رویکردی همچنان حرکت به سمت توسعهی سیستمهای اختصاصی است که امروزه، چین اثربخشی این روش را بهوضوح نشان داده است. بااینحال، این ماجرا برای شوروی پایان خوشی در پی نداشت. از لحظهای که تصمیم به کپیبرداری گرفته شد، اتحاد جماهیر شوروی در تقلایی ناممکن برای پیشرفت در صنعت تراشهسازی قرار گرفت.
کپیبرداری به جای نوآوری
در اواخر سال ۱۹۶۲ میلادی، به دستور دولت اتحاد جماهیر شوروی، دفتر طراحی کییف در پایتخت جمهوری سوسیالیستی اوکراین تأسیس شد که بعدها به عنوان مؤسسهی میکرو دستگاههای کییف (KNIIMP) شناخته شد. این مؤسسه با یک کارخانه تولیدی مجرب همراه بود. در آگوست ۱۹۷۶، اولین مأموریت رسمی این مؤسسه ایجاد یک نسخهی کپی از ریزپردازندهی اینتل ۸۰۸۰ تعریف شد که تنها دو سال از معرفی آن میگذشت.
تیم طراحی پردازندهی KR580VM80A شامل گروهی از مهندسان بااستعداد و متخصصان بود که تحت نظارت مرکز طراحی و تحقیقات الکترونیک و مهندسی فعالیت میکردند. این تیم به رهبری نیکولای برتسکی، یکی از برجستهترین مهندسان شوروی در آن زمان، مسئول طراحی و توسعهی پردازنده جدید شد.
در ابتدای کار، تیم طراحی با مشکلاتی از قبیل کمبود منابع و تجهیزات پیشرفته مواجه بود. بهویژه، تولید محصولات نیمههادی در شوروی به دلیل محدودیتهای فناوری و مواد اولیه با مشکلات جدی روبرو بود که به طور مستقیم بر کیفیت و عملکرد پردازنده تأثیر میگذاشت. این مسائل باعث تأخیر در پروژه و نیاز به تعدیلات در طراحی شد.
از یک سو، تأمین بودجه برای پروژههای فناوری در دوران جنگ سرد چالشی بزرگ بود. با توجه به حساسیت استراتژیک موضوع، بودجهی پروژهی KR580VM80A از طریق وزارت صنایع الکترونیکی شوروی تأمین میشد و به طور ویژه برای این پروژه تخصیص یافته بود. این بودجه شامل هزینههای تحقیق و توسعه، خرید تجهیزات آزمایشگاهی و تأمین مواد اولیه بود.
از آنجا که در آن زمان تکنولوژی تولید نیمههادیها در شوروی محدود بود، بخشی از بودجه به ارتقاء تجهیزات و فناوریهای ساخت نیز اختصاص یافته بود. گستردگی ابعاد تحقیقات و نبود سرمایهگذاران خصوصی، در کنار بحران اقتصادی که شوروی را در برگرفته بود، تأمین بودجهی این پروژه را با چالشهای جدی مواجه کرده بود.
شوروی با مشکل تأمین بودجه و محدودیت دسترسی به فناوریهای غربی روبهرو بود
از سوی دیگر و با نگاهی به روابط پرتنش بلوک غرب و شرق، مهندسان شوروی دسترسی محدودی به ریزپردازندهی 8080A داشتند. در عوض، آنها به مستندات موجود، مقالات فنی و اطلاعات جاسوسان متکی بودند که اطلاعات جزئی دربارهی معماری و عملکرد ریزپردازنده ارائه میدادند. این اطلاعات اغلب از منابع عمومی، نشریات فنی یا توصیفهای فنی موجود در دفترچههای راهنما یا از عوامل نفوذی در شرکتها به دست میآمد.
از این رو، مهندسان شوروی برای تحلیل طراحی سختافزاری 8080A از روش مهندسی معکوس استفاده کردند. قدم اول تهیهی نمونههای فیزیکی از این پردازنده بود که تحت پوشش شرکتهای صوری از آمریکا خریداری شد.
فرآیند مهندسی معکوس شامل بازکردن بستهی پردازنده برای مطالعهی طراحی تراشهی سیلیکونی و مدارهای آن بود. مهندسان شوروی از تکنیکهایی مانند دکپسولاسیون (برداشتن بستهی محافظ تراشه) و مطالعهی میکروسکوپی تراشه برای بررسی ساختار داخلی ریزپردازنده استفاده کردند. این کار به آنها امکان داد دروازههای منطقی، مسیرهای مداری و دیگر اجزای حیاتی تراشه را شناسایی کنند.
علاوه بر بررسی فیزیکی، تیم شوروی باید رفتار عملکردی 8080A را نیز درک میکردند. آنها تستهای مختلفی را برای مشاهدهی نحوه واکنش پردازنده به دستورات و ورودیهای مختلف انجام دادند. با اجرای یک سری برنامههای نرمافزاری و بررسی خروجیهای پردازنده، توانستند ویژگیهای عملیاتی و معماری مجموعه دستورالعملهای این ریزپردازنده را استنباط کنند. این مرحله برای اطمینان از سازگاری محصول کپیشده با نرمافزارهایی که برای پردازندهی اصلی طراحی شده بود، بسیار اهمیت داشت.
بزرگترین چالش برای تیم طراحان شوروی، بازسازی دقیقی از میکروکد بود
یکی از بزرگترین چالشها در این فرآیند، بازسازی دقیق طراحی میکروکد بود. میکروکد، دستورالعملهای سطح پایین درون تراشه است که عملیات داخلی ریزپردازنده را کنترل میکند و درک آن بدون مستندات دقیق بسیار دشوار است.
دستورالعملهای میکروکد مانند دستور آشپزی، ترتیب مراحل ورود کد اسمبلی را در مراحل فراخوانی، اجرا و ذخیرهسازی نتایج نظارت میکنند. بدون داشتن ترکیب و ترتیب صحیح میکروکدها، ریزپردازنده قادر به انجام وظایف پردازشی نخواهد بود. مهندسان شوروی باید با تحلیل دقیق رفتار پردازنده در پاسخ به دستورات مختلف، میکروکد را به طور معکوس تحلیل و به طراحی خود منتقل میکردند.
سرانجام در بین سالهای ۱۹۷۷ تا ۱۹۷۸، ساخت اولین نمونههای آزمایشی تراشهها به پایان رسید. نخستین مجموعهی پایه از این سری شامل سه تراشه بود: K580IK80 ،K580IK51 و K580IK55. این تراشهها در بستههای مسطح فلزیسرامیکی با ۴۸ پایه تولید شدند که ۸ پایه بیشتر از معماری اصلی اینتل بود. برخلاف باور عمومی، این تراشهها کپی دقیق و لایهبهلایه از پردازندهی ۸۰۸۰ اینتل نبودند؛ برخی بلوکها مشابه بودند، اما طرح و موقعیت اتصالهای فلزی بهطور چشمگیری متفاوت بود.
جزییات فنی تراشه شوروی
در ۶ نوامبر ۱۹۸۰ میلادی، روزنامهی نیویورک تایمز مقالهای با عنوان «پیشرفت شوروی در کامپیوترها» منتشر کرد که در آن نویسنده به تحلیل ویژگیهای KR580VM80A پرداخت. تراشههای شوروی با سرعت ۲ مگاهرتز (۵۰۰,۰۰۰ عملیات در ثانیه) کار میکردند و براساس فرآیند ساخت nMOS با عرض کانال ۶ میکرون تولید شده بودند. فرآیند ساخت nMOS شامل استفاده از تکنیکهای لیتوگرافی برای الگوبرداری از لایههای مختلف بر روی ویفر سیلیکونی است که با اعمال دمای بالا، مناطق نیمههادی N و P به طور دقیق درون ساختار سیلیکونی ایجاد میشوند.
در مقایسه با ۸۰۸۰ با ۴۵۰۰ تراتزیستور، تراشه شوروی ۴۷۵۸ ترانزیستور داشت
بررسی محققان غربی نشان داد که این تراشه دقیقاً ۴۷۵۸ ترانزیستور داشت؛ در حالی که شایعاتی مبنی بر وجود ۶۰۰۰ یا ۴۵۰۰ ترانزیستور به گوش میرسید. در سالهای ۱۹۸۱-۱۹۸۲ میلادی، بستهبندی این تراشهها به بستههای DIP استاندارد (بستهبندی سوزنی دو ردیفه) با فاصله پایههای متناسب با استاندارد شوروی تغییر یافت و نسخههای بعدی در قالب ۴۰ پایه عرضه شدند. هر دو نسخه برای مصرف داخلی در قابهای پلاستیکی و برای کاربردهای خاص در قابهای فلزیسرامیکی تولید شدند.
در سال ۱۹۸۳، نام مدل IK80 به VM80، مدل IK55A به VV55A و IK51 به VV51 تغییر یافت. اضافه شدن حرف «A» در انتهای نام این مدلها نشاندهندهی نسخه ارتقاءیافته است که از مجموعه پایهی بیشتری از این سری بهره میبرد. در این نسخه، سرعت پردازنده به ۲٫۵ مگاهرتز افزایش یافت. همچنین، مساحت قطعه با کاهش ۲۰ درصدی روبهرو شد که به دلیل کوچکسازی فرآیند تولید به ۵ میکرون، اتفاق افتاد.
سری ۵۸۰ توسط بسیاری از شرکتهای طراحی مدار مجتمع شوروی در طول سالها تولید شد. از جمله این شرکتها میتوان به کوازار، الکترونپریبور، رادون، کواتور و دنیپر اشاره کرد. تراشههایی که برای صادرات تولید میشدند، با عبارت «Сделано в СССР» (ساخته شده در اتحاد جماهیر شوروی) علامتگذاری و بدون لوگوی تولیدکننده به بازار عرضه میشدند. در واقع، «تولیدکننده» اتحاد جماهیر شوروی بود، چراکه بُعد تبلیغاتی حکومت از نام شرکتی که تراشهها را تولید کرده بود، اهمیت بیشتری داشت.
تراشههایی صادراتی، با عبارت «ساخته شده در اتحاد جماهیر شوروی» علامتگذاری میشدند
با ورود گسترده این ریزپردازندهها به بازار، نسخههای راهنمای ریزمدارها نیز آماده شد که به ترجمهای با کیفیت بسیار بالا از زبان انگلیسی به زبان روسی شباهت داشت. اهمیت نسخههای راهنما در این بود که نه تنها باید هدف اصلی محصول را به طور کامل بیان میکرد، بلکه باید از نظر فناوری تولیدکنندهی داخلی را به ساخت محصولی سوق میداد که با این ریزپردازندهها سازگار باشد. با توجه به تفاوتهای جزیی بین این محصول و نمونهی اصلی، این کار بسیار دشوار بود.
با اینکه در دوران ریزپردازندههای ۸۰۸۰ و ۸۰۸۶، مؤسسهی میکرودستگاههای کییف موفق به انجام وظیفه خود شد، این شرکت نتوانست تراشههای مشابه با ریزپردازندههای ۸۰۲۸۶ و سپس ۸۰۳۸۶ اینتل تولید کند.
مقایسه با نمونههای غربی
اگرچه در نگاه اول، نسخهی شوروی کاملاً با پردازندهی اینتل ۸۰۸۰ از نظر نرمافزاری سازگار است، در منطق پردازش وقفهها بین این دو پردازنده تفاوتی جزئی وجود دارد. به نظر میرسد این تفاوت از خطا در میکروکد پردازندهی KR580VM80A سرچشمه میگیرد.
در پردازندههای ۸۰۸۰، چرخهی پاسخ به وقفه زمانی آغاز میشود که پردازنده یک وقفه را شناسایی میکند و قصد دارد به آن پاسخ دهد. در این چرخه، پردازنده سیگنالی ارسال میکند که نشاندهندهی تایید دریافت وقفه است و بهکمک آن، سختافزار مربوطه میتواند اطلاعات بیشتری ارسال کند یا درخواستهای لازم را انجام دهد. در این فرآیند، دستور CALL به پردازنده میگوید که به یک زیرروال (Subroutine) خاص برود و اجرای برنامه را به این زیرروال منتقل کند. اگر در حین چرخهی پاسخ به وقفه، یک دستور فراخوان دریافت شود و ورودی وقفه همچنان فعال باقی بماند، پردازنده باید به درستی پرچمهای داخلی خود را بهروز کند و به زیرروال مربوطه برود.
میکروکد پردازنده شوروی خطایی داشت که سبب سرریز شدن پشته فراخوانی زیرروال میشود
بااینحال، حتی اگر در پردازندهی KR580VM80A خروجی وقفه غیرفعال میشد، این پردازنده نمیتوانست پرچم داخلی وقفه را پاک کند. این مشکل باعث میشود که پردازنده وارد یک حلقه میکروکدی شود که به طور مداوم به وقفه پاسخ میدهد و شمارندهی برنامه را به پشته اضافه میکند و در نهایت منجر به سرریز پشته میشود. در یک پیکربندی سختافزاری معمول، این مشکل به وسیله رفتار کنترلر وقفه 8259A که وقفه را در طی چرخه شناسایی غیرفعال میکند، پوشیده میشود. پردازندهی رومانیایی MMN8080 نیز مشابه KR580VM80A عمل میکرد، اما به نظر میرسد دیگر کپیهای ۸۰۸۰ تحت تأثیر این خطا قرار نگرفتند.
میراث اولین تراشه روسی
اگرچه مهندسان روس تعداد زیادی میکروکنترلر خاص برای وظایف ویژه تولید کردند که معادل مستقیم غربی نداشتند، تمرکز بر کپیبرداری به جای نوآوری، اتحاد جماهیر شوروی را در زمینهی توسعه و تولید ریزپردازندههای مدرن برای همیشه از ایالات متحده عقب انداخته است.
باوجوداینکه پردازندهی ۸۰۸۰ بهسرعت در غرب با تراشههای جدیدتر و پیشرفتهتر جایگزین شد، نسخهی کپی شوروی تا حدود دههی ۹۰ همچنان محبوب بود. حتی تا به امروز، روسیه به تولید نسخههای مختلفی از پردازندههای غربی، از جمله سری MCS-96 و ریزتراشه PIC17 ادامه میدهد؛ درحالیکه بهنظر میرسد صنعت تراشه چین باوجود تحریمها، تنها چهار سال از آمریکا عقب است.