یک مهندس سابق مایکروسافت با کمک ChatGPT رم اختصاصی برای کامپیوتر قدیمی PDP-11 طراحی کرد تا از هزینه سرسام‌آور خرید حافظه آن جلوگیری کند.

فهرست مطالب

دیو پلامر، مهندس باسابقه مایکروسافت و خالق Task Manager و Windows Pinball با کمک ChatGPT و یک برد FPGA، رم اختصاصی چهارمگابایتی برای کامپیوتر قدیمی PDP-11 طراحی کرد تا از هزینه سرسام‌آور خرید حافظه آن فرار کند.

به‌ گزارش سرویس سخت‌افزار تک‌ناک، کامپیوتر PDP-11 در سال ۱۹۷۰ معرفی شد و مدل‌های جدیدتر آن از حداکثر چهار مگابایت حافظه پشتیبانی می‌کردند.

فرایند طراحی رم اختصاصی پلامر

پلامر برای طراحی برد رم اختصاصی خود از ChatGPT و شبیه‌ساز آنلاین مدار EasyEDA کمک گرفت. او با وجود نداشتن تجربه قبلی در اجرای پروژه‌های پیچیده از این نوع، طراحی رم را به‌ عنوان یک کارت مستقل پیش برد. ازآنجاکه برخی مدل‌های PDP-11 برای اجزای اصلی سیستم از بردهای مبتنی بر Q-Bus استفاده می‌کنند، او برد حافظه را با همین ساختار طراحی کرد و آن را روی یک صفحه اتصال، در کنار برد مجهز به پردازنده M8190، مورد آزمایش قرار داد.

مهندس مایکروسافت با کمک هوش مصنوعی رم اختصاصی خود را از صفر ساخت

قلب این برد را یک تراشه FPGA از خانواده Lattice MachXO2 تشکیل می‌دهد که به‌عنوان کنترل‌کننده حافظه عمل می‌کند. این تراشه با مدل 2000HC به چهار تراشه حافظه یک مگابایتی ISSI متصل شده است. پلامر با اضافه‌ کردن تراشه ورودی و خروجی U2S، مجموعه‌ای از کلیدهای DIP، درگاه‌های ارتباطی و تعدادی خازن، طراحی مدار را تکمیل کرد. برد M8190 نیز از گذرگاه ۲۲ بیتی بهره می‌برد و ۲۵۶ کیلوبایت بالایی فضای آدرس حافظه را برای ورودی و خروجی و حافظه فقط‌خواندنی رزرو می‌کند.

چالش‌ها

با وجود این، مسیر ساخت این رم اختصاصی بدون دردسر نبود. پلامر در چند مرحله ابتدایی با شکست مواجه شد، چرا که تاکنون تجربه برنامه‌ریزی و فلش‌ کردن تراشه FPGA را نداشت. او سرانجام پس از چند تلاش این مانع را پشت سر گذاشت، اما در ادامه با یکی از ویژگی‌های پیچیده معماری حافظه PDP-11 روبه‌رو شد.

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

پلامر هنگام طراحی برد از این جزئیات معماری اطلاع نداشت. یکی از کاربران در بخش نظرات با کنایه نوشت که او در عمل چهار مگابایت حافظه ساخته که فقط دو مگابایت آن قابل استفاده است. پلامر در پاسخ توضیح داد که حافظه تنها هر کلمه دوم را بازمی‌گرداند؛ رفتاری که با الگوی دسترسی حافظه در معماری PDP-11 سازگار است.

اگرچه پلامر هنوز جزئیات بیشتری از نتیجه نهایی پروژه رم اختصاصی منتشر نکرده است، چندین کاربر در نظرات به همین مسئله اشاره کرده‌اند. به همین دلیل، به نظر می‌رسد او توانسته است با اعمال اصلاحی ساده در کد FPGA، مشکل را برطرف کند.