موضوع مقاله: آرتی‌ایکس ۲۰۰۰ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # آرتی‌ایکس ۲۰۰۰ | مقدمه: نسخه‌های مقاوم‌شده در برابر پرتو، با عنوان سری RTX 2010، در فضاپیماهای متعددی مورد استفاده قرار گرفته‌اند. | ## بخش 1: آرتی‌ایکس ۲۰۰۰ | او در سال ۱۹۸۳ شرکت Novix را برای طراحی ریزپردازنده‌ای که بتواند مستقیماً این زبان را اجرا کند، بنیان نهاد. نخستین مدل به نام NC4000 در ژوئن ۱۹۸۵ عرضه شد و اندکی بعد به NC4016 تغییر نام یافت. این تراشه با فرکانس ۷٫۵ مگاهرتز اجرا می‌شد و تا ۱۰ میلیون دستور در ثانیه (MIPS) توان پردازش داشت. نسخهٔ به‌روزرسانی‌شده‌ای با نام NC5016 با فرکانس ۱۰ مگاهرتز و توان پردازش ۱۲ MIPS عرضه شد، اما مدل برنامه‌ریزی‌شدهٔ NC6016 ظاهراً هرگز وارد مرحله تولید نشد. آن‌ها قابلیت‌هایی مانند حافظهٔ نهان درون‌تراشه‌ای، واحد ضرب/تقسیم سخت‌افزاری و حافظهٔ برنامه را به طراحی افزودند و در سال ۱۹۸۸ مدل RTX2000 را عرضه کردند. نسخهٔ ارتقایافته‌ای که شامل سیستم‌های ورودی/خروجی، تایمرها و یک واحد ممیز شناور کامل بود با نام RTX2010 شناخته می‌شود. تمام این مدل‌ها عمدتاً روی ویفرهای سیلیکون روی یاقوت کبود تولید شدند تا برای کاربردهای فضایی مناسب باشند. طراحی مشابهی با معماری ۳۲-بیتی با نام RTX 4000 در سال ۱۹۸۹ معرفی شد، اما هرگز وارد مرحله تولید نشد. ویژگی‌ها یک ماشین پشته‌ای برخلاف طراحی‌های سنتی فاقد ثبات‌های پردازندهٔ عمومی تعریف‌شده در معماری دستورالعمل است. | ## بخش 2: آرتی‌ایکس ۲۰۰۰ | در عوض، از حالت‌های آدرس‌دهی مبتنی بر آفست‌ها در پشته استفاده می‌کند که معمولاً در حافظهٔ اصلی ذخیره شده یا به طور جزئی در ثبات‌هایی کش می‌شود که برای برنامه‌نویس قابل مشاهده نیستند. برای مثال، یک پردازنده RISC مدرن معمولاً دستورالعملی مانند «ADD C,A,B» دارد که به معنی «جمع مقدار موجود در ثبات A با مقدار موجود در ثبات B و قرار دادن نتیجه در ثبات C» است. در ماشین پشته‌ای، این دستورالعمل تنها به صورت «ADD» وجود دارد که به طور ضمنی دو مقدار بالای پشته را حذف می‌کند، آن‌ها را جمع می‌زند و نتیجه را دوباره روی پشته قرار می‌دهد. یکی از مزایای این رویکرد این است که دستورالعمل‌ها معمولاً کوچک‌تر هستند؛ در ماشین‌هایی با ۳۲ ثبات قابل مشاهده برای کاربر مانند بسیاری از سیستم‌های RISC، هر یک از سه ارجاع به ثبات پنج بیت نیاز دارد که باعث می‌شود دستورالعمل حداقل سه بایت و معمولاً چهار بایت باشد. در ماشین پشته‌ای، کد عملیات تک بایتی می‌تواند بسیاری از دستورالعمل‌ها را پوشش دهد. دسترسی به پارامترها از طریق پشته در حافظهٔ اصلی کندتر از ثبات‌های اختصاصی است و به همین دلیل ماشین‌های پشته‌ای اغلب عملکرد عمومی پایین‌تری دارند. در ماشین ثباتی، مقادیر موجود در ثبات‌ها باید برای کارهایی مانند فراخوانی زیربرنامه و پردازش وقفه‌ها ذخیره شوند. اگر ماشین دارای ۳۲ ثبات ۳۲-بیتی باشد، این بدان معنی است که ۱ کیلوبایت باید ذخیره و بارگذاری شود. در ماشین پشته‌ای تعداد ثبات‌ها عملاً نامحدود است و مجموعه فعال را می‌توان با تغییر تنها یک مقدار، اشاره‌گر پشته، انتخاب کرد. | ## بخش 3: آرتی‌ایکس ۲۰۰۰ | این باعث می‌شود این سیستم‌ها در جابجایی سریع متن زمینه بسیار کارآمد باشند و می‌توانند در سیستم‌هایی با تعداد زیاد وقفه، مانند محاسبات بی‌درنگ، بهبود عملکرد قابل توجهی ارائه دهند. ریزپردازندهٔ RTX 2000 یک ماشین دوپشته‌ای است که هر پشته ۲۵۶ کلمه عمق دارد و از اجرای مستقیم زبان Forth پشتیبانی می‌کند. فراخوانی زیربرنامه تنها یک سیکل پردازنده زمان می‌برد و بازگشت‌ها بدون زمان صرف می‌شوند.Hand, Tom (1990). همچنین دارای تاخیر وقفه بسیار پایین و یکنواختی معادل چهار سیکل پردازنده است که آن را برای کاربردهای بی‌درنگ بسیار مناسب می‌کند. این پردازنده چندین گذرگاه دستور دارد که اجازه می‌دهد چندین دستور همزمان اجرا شوند، که به حذف توقف‌ها هنگام انتظار برای داده‌ها از حافظه اصلی کمک می‌کند. نهایتاً، چون دستورالعمل‌ها مستقیماً به مفاهیم سطح بالا نگاشت می‌شوند، کد دستورالعمل بسیار فشرده است و برنامه‌ها به مراتب کوچکتر از زبان‌های اسمبلی معمولی هستند.Hand, Tom (1990). از آنجا که Forth را می‌توان به عنوان یک ماشین مجازی دوپشته‌ای در نظر گرفت، او پردازندهٔ Novix N4000 (که بعدها به NC4016 تغییر نام یافت) را به صورت یک ماشین دوپشته‌ای ساخت. این سیستم تنها از ۴۰۰۰ گیت ساخته شده بود که شامل ۱۶۰۰۰ ترانزیستور CMOS می‌شد، در حالی که پردازندهٔ موتورولا ۶۸۰۰۰ سال ۱۹۷۹ دارای ۶۸۰۰۰ گیت بود. این تراشه قادر بود ۴۰ عملیات اولیه Forth و ۱۲۳ ترکیب آن‌ها را مستقیماً اجرا کند که نیاز به ماشین مجازی کامل را از بین می‌برد و عملکرد رایج‌ترین دستورالعمل‌ها را افزایش می‌داد.Hand, Tom (1990). | ## جمع‌بندی | آن‌ها پشته‌های درون تراشه‌ای را اضافه کردند تا تعداد دسترسی‌ها به حافظهٔ اصلی کاهش یابد، تعدادی تایمر و شمارنده درون تراشه تعبیه کردند، کنترلر وقفه اختصاصی افزودند و یک ضرب‌کننده سخت‌افزاری با یک چرخه اجرا در تراشه گنجاندند.Hand, Tom (1990).