Техно-энтузиаст заставил Gemini помочь ему в «vibe code» дизайне материнской платы x86

ии Gemini X86 материнская плата Raspberry Pi ретро tomshardware.com

Технический энтузиаст с помощью Gemini спроектировал материнскую плату x86. ИИ помог с разработкой схем и ПО, но финальная отладка осталась за человеком. — tomshardware.com

В то время как генеративный ИИ набирает обороты, нечасто услышишь, что его активно используют за пределами создания произведений искусства и написания кода. Японский техблогер Икэдзима нарушил эту тенденцию, когда понял, что никогда не собирал материнскую плату x86, и обратился за помощью к Gemini от Google, чтобы сделать именно это. Задача была простой: спроектировать и реализовать материнскую плату для процессора Intel 8086, чипа, который породил архитектуру x86 в 1987 году. Это была вторая попытка Икэдзимы, поскольку ранее он пытался сделать это с клоном Intel 8088, более дешевым вариантом 8086. Предыдущая попытка провалилась, так как 8088 требовал питания 5 В (в то время как сопутствующее оборудование работало от 3,3 В), и его было сложно отлаживать из-за проблем с синхронизацией тактового генератора. В этот раз он использовал чип V30, клон 8086 от NEC, который использовался в клонах ПК того времени. Номер детали — μPD70116, и, если вам интересно, они стоят всего 2 доллара на AliExpress. Вместо того чтобы проектировать полноценную материнскую плату, Икэдзима решил, что сможет сделать все необходимое с помощью микроконтроллера Raspberry Pi Pico RP2040 и некоторой простой схемотехники, назвав это “колыбелью” (cradle) вместо материнской платы, что вполне справедливо, учитывая отсутствие полноценного ввода-вывода или подключения устройств. В качестве предисловия стоит отметить, что легкомысленно отнестись к этому проекту как к “кодингу на вайб”, когда человек ничего не знает о предмете и вынужден выполнять всю работу, а также передавать обратно сообщения об ошибках, не имея ничего, кроме молитвы, в качестве альтернативы. Вместо этого Икэдзима использовал ИИ-бота как помощника, чтобы избавить себя от рутинной работы, дополняя свои собственные возможности. Способность инженера к быстрому рассуждению оказалась бесценной, как вы увидите. Он привлек Gemini для помощи в проектировании схемы, хотя физическую компоновку делал вручную. Икэдзима использует KiCad со скриптами на Python, что облегчает итерации в проектировании схем. Инженер привлек Gemini для помощи в разработке базового программного обеспечения “колыбели”, написанного на C++ с использованием Raspberry Pi Pico SDK. Основная идея заключается в том, что “колыбель” на базе RP2040 будет выступать в качестве интерфейса управления, отладки и памяти для чипа V30, подавая ему код для выполнения и данные из 128 КБ своей памяти объемом 264 КБ. Икэдзима быстро столкнулся с трудностями при отладке ЦП, поскольку использование USB-отладки и прерывания чипа нарушало синхронизацию тактового генератора. Gemini предложил использовать второй ядро RP2040 в качестве интерфейса хост-ПК и отладчика — в целом хорошая идея. Пока он занимался этим, Икэдзима попросил Gemini создать ассемблер и дизассемблер, чтобы он мог фактически писать и извлекать программы для V30 на языке ассемблера. Он отметил, что такая рутинная работа хорошо подходит для ИИ. После завершения всех основных этапов он отправил печатную плату на производство, получил ее, собрал все… и ничего не заработало. Это тот момент, когда ИИ-бот начал демонстрировать свои ограничения, предлагая изменения в схеме, совершенно не осознавая затраты материалов или времени. Икэдзима засучил рукава и достал свой логический анализатор, который при подключении немедленно “сошел с ума”. Как оказалось, в конструкции 8086 используется одна и та же физическая линия для адресов и кода, переключаясь между ними при каждом тактовом импульсе. При работе схема создавала буквальное короткое замыкание, которое, к счастью, вызывало отключение USB-порта, чтобы не спалить проект и его дом. Gemini не заметил эту, в противном случае очевидную, особенность конструкции, и Икэдзима отметил, что “возможно, ИИ все еще испытывает трудности с чтением диаграмм” и “может быть, плохая идея позволять ИИ управлять чем-либо, что может вызвать короткое замыкание источника питания”. Разобравшись с этим в управляющем программном обеспечении, он столкнулся с другой, очевидной ошибкой: чипы 8086 используют одну микросхему ОЗУ для четных байтов и другую для нечетных. После нескольких исправлений Икэдзима наконец добился того, чтобы ЦП заработал и выполнял код. Затем он решил, что хочет запустить на нем настоящее программное обеспечение, и остановился на COMMAND.COM от MS-DOS. Эта задача оказалась сложнее, чем он предполагал, поскольку COMMAND.COM перезаписывает себя в памяти и требует некоторого взаимодействия с реальным BIOS и вводом-выводом — в то время как у него фактически был только разъем ЦП и некоторая память. После дальнейших исследований он решил использовать HI-DOS на стороне “колыбели”, чтобы иметь BIOS, и в конечном итоге загрузил HIDOS MS-DOS, хотя и с некоторыми ограничениями, такими как отсутствие записываемого хранилища и ограниченный объем памяти. Тем не менее, ему удалось запустить несколько простых программ, кульминацией чего стала весьма впечатляющая демонстрация того, что возможно, когда вы сочетаете человеческую логику и рассуждения с огромной помощью ИИ-бота. Обязательно прочитайте всю историю в блоге Икэдзимы.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: