Хардуерният хакер Дмитрий Гринберг наскоро постигна нещо, което може да звучи невъзможно: стартиране на Linux на Intel 4004, първия комерсиално достъпен микропроцесор в света. С едва 2300 транзистора и първоначална тактова честота от 740 kHz процесорът от 1971 г. е невероятно примитивен за съвременните стандарти. И е бавен - за зареждането на ядрото на Linux са необходими около 4.76 дни.
Първоначално проектиран за японски калкулатор, наречен Busicom 141-PF, 4-битовият 4004 намира ограничено приложение в търговски продукти през 70-те години на миналия век, преди да бъде заменен от по-мощни чипове на Intel, като например 8008 и 8080, които захранват ранните персонални компютри, а след това 8086 и 8088, с които започва ерата на IBM PC.
Ако сте скептично настроени, че това е възможно с необработен 4004, сте прави: самият 4004 е твърде ограничен, за да работи директно под Linux. Вместо това Гринберг е създал решение, което е също толкова впечатляващо: емулатор, който работи на 4004 и емулира процесор MIPS R3000 - архитектурата, използвана в работната станция DECstation 2100, за която първоначално е пренесен Linux. Този емулатор заедно с минимална хардуерна емулация позволява на орязания Debian Linux да се зарежда в команден ред.
На Гринберг не са му чужди подвизите, свързани с използването на Linux на невероятни места. Както обяснява на своя уебсайт: „През 2012 г. стартирах истински Linux на 8-битов микроконтролер (AVR), поставяйки нов световен рекорд за машина от най-нисък клас, която някога е работила с Linux“. След като през последните години други подобриха този рекорд, той реши да надмине себе си и другите, като се насочи към най-първия микропроцесор.
За да реализира Linux на 4004, Гринберг трябва да преодолее множество предизвикателства. 4004 има изключително ограничени ROM и RAM, няма прекъсвания и не разполага дори с основни логически операции като AND и OR. Емулаторът на Гринберг умело използва таблици за търсене и други трикове, за да изстиска максимална производителност от примитивния процесор.
В крайния хардуер се използва 4004 (с овърклок до 790 kHz) заедно с няколко други чипа за поддръжка на периода от чипсета MCS-4 на Intel. Той включва VFD дисплей за показване на изходните данни на Linux и може да приема входни данни чрез серийна връзка. Цялата конфигурация изразходва около 6 W енергия.
Снимка: Unsplash
Виж още: OnePlus 13 ще има умопомрачаващо количество RAM памет