Назад

Ветеран Microsoft створив власну RAM для класичного PDP-11
SiTech AI Team2 хв читання

Ветеран Microsoft створив власну RAM для класичного PDP-11

Дейв Пламмер, колишній інженер Microsoft, зібрав власну плату RAM для класичного PDP-11 після того, як побачив ціни на пам’ять для цієї машини; він використав ChatGPT, EasyEDA, FPGA та мікросхеми пам’яті ISSI.

Дейв Пламмер, колишній інженер Microsoft, пов’язаний з Task Manager і Windows Pinball, зібрав власну плату RAM для класичного PDP-11 після того, як побачив ціни на пам’ять для цієї машини. Він використав ChatGPT і онлайн-симулятор електричних схем EasyEDA, хоча казав, що раніше не робив таких складних проєктів. Плату спроєктували як окрему карту й перевірили на бекплейні з процесорною платою M8190.

Апаратне проєктування

Пламмер спроєктував RAM як окрему карту, оскільки кілька моделей PDP-11 використовували плати Q-Bus для основних системних компонентів. Він розмістив на платі FPGA Lattice MachXO2, модель 2000HC, щоб вона працювала як контролер пам’яті, і підключив її до чотирьох мікросхем пам’яті ISSI обсягом 1 MB. Також він додав мікросхему введення-виведення U2S, блок DIP-перемикачів, комунікаційні порти та кілька конденсаторів, щоб завершити схему.

Конструкція плати M8190 має 22-бітну шину й резервує верхні 256 KB для введення-виведення та ROM. PDP-11 походить з 1970 року, а пізніші моделі могли вміщувати до чотирьох мегабайтів пам’яті.

Особливість шини пам’яті

Проєкт не був успішним з першої спроби. Пламмер раніше не прошивав мікросхему FPGA флеш-пам’яттю, і виправив це після кількох спроб.

Далі він зіткнувся з проблемою конструкції шини пам’яті PDP-11. Шина може звертатися лише до цілих слів по два байти за раз і трактує наймолодший біт адреси пам’яті як селектор смуги, що вибирає між молодшим і старшим байтом у слові. Під час читання процесор сам вибирає потрібний байт, але контролер пам’яті все одно має повертати два байти. Під час запису бітовий селектор треба прочитати й вибрати правильний байт, щоб оновлювався лише цей байт, оскільки лінії шини все одно несуть ціле слово, яке інакше могло б записати хибні дані.

Схоже, Пламмер раніше не знав про це. Один коментатор пожартував, що він зібрав 4 MB пам’яті, яка виявилася 2 MB, а Пламмер відповів, що пам’ять повертає лише кожне друге слово, відповідно до схеми роботи. Хоча подальших оновлень немає, у звіті припускають, що він реалізував просте виправлення у коді FPGA, оскільки ще більше коментаторів вказали на це.

Альтернативні пропозиції

Одна людина запропонувала обійти проблему, реалізувавши пам’ять програмно за допомогою Raspberry Pi, підключеного безпосередньо до шини PDP. Пламмер відповів, що вже зробив майже те саме минулого тижня за допомогою сучасної інтерфейсної плати QBone DEC, яка містить Beaglebone Black поверх неї, подібно до Raspberry Pi.

Коментатор форуму назвав проєкт акуратним і сказав, що зниження порога входу до знань за допомогою ШІ є великою справою.

Джерела: Tom's Hardware

Поділитися цифровим досвідом

SiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.