Центральный процессор – дома с нуля
Если в последние лет 40 для выполнения задачи нужен микропроцессор – единственный рассматриваемый вариант это купить готовый. Ну или в крайне редких случаях «накатить» стандартное конфигурируемое FPGA ядро (например Nios II) с парой дополнительных инструкций. Многие сейчас даже не могут представить, что процессоры могут получаться каким-то другим путем 🙂 Это всё равно что считать что продукты беруться в магазине, а вырастить их самому – абсолютно невозможно.
С одной стороны, зачем помнить основы технологии если все производится промышленно? На мой взгляд – чтобы быть уверенным, что технология не будет утеряна, что даже если случиться ядерная война компьютеры можно будет собирать из подручных материалов (так же как и с продуктами в начале 90 — многим пришлось возвращаться к технологии 100-летней давности из-за краха инфраструктуры производства и доставки).
Оказывается есть такие люди, которые до сих пор в качестве хобби делают центральные процессоры из дискретных компонент(транзисторов, реле) и микросхем низкой степени интеграции (счетчики, регистры). Единственные применяемые микросхемы – память (оперативная и перепрограммируемая).
В этой статье я хочу рассказать кратко об архитектуре и о нескольких реально работающих процессорах, сделаных в домашних условиях.
Общие архитектурные заметки:
Большинство самодельных процессоров работают (почти как и большинство современных процессоров )– на микрокоде, считываемого из flash/SRAM-памяти – тут обычно и находится самое медленное место: за последние лет 20 прогресс в латентности работы flash памяти остался почти на месте, и для широко доступных микросхем составляет 70нс, следовательно быстрее 14 МГц на процессоре на микрокоде во флеше не разогнаться. Процессоры обычно имеют шину данных 8 или 16 бит, адресную шину 16-20-24 бита (ограничивать себя 65Кб никому не хочется, особенно с нынешними ценами на память). ALU(вычислительное ядро) делается либо однобитным (т.е. для 16-и битной операции надо 16 тактов), либо используется готовое ALU на 2-4 бита (из которых собирается 8-16-и битное ALU). Процессоры на микрокоде обычно и код и данные хранят в одной и той же памяти (архитектура Фон-Неймана). RISC-подобные процессоры без микрокода обычно работают по Гарвардской архитектуре (данные и код отдельно, зачастую программа не может ничего писать в память кода). В абсолютно всех самодельных процессорах длина всех инструкций одинакова – переменная длина инструкций создает трудности даже при разработке «промышленных» процессоров. В качестве памяти используют обычно SRAM – раньше её использовали только для кэша из-за большой цены. От обычной SDR/DDR памяти отличается крайней простотой и неприхотливостью интерфейса, не нужно следить за «обновлением» памяти (в обычной SDR/DDR памяти данные выживают всего 32-64 миллисекунды).
Маленькие хитрости
Несмотря на то, что обычно используются простые микросхемы, есть некоторые хитрости, которые раньше(30 лет назад) были не доступны: готовые ALU (не совсем простая микросхема), SRAM память(например 1Мб SRAM памяти — это около 48млн транзисторов) и использование EEPROM-памяти как ALU (например, на микросхеме памяти 65кб 8бит можно сделать сумматор или мультипликатор, а на 1Мб микросхеме можно «проводить» 16 разных 8-битных операций — FPGA использует тот же принцип для построения произвольных логических схем). Также, сейчас можно использовать намного больше памяти для хранения микрокода и самого программного кода в памяти.
А теперь несколько самых выдающихся реализаций:
BMOW – Big Mess of Wires
http://www.stevechamberlin.com/cpu/bmow1
Собран из простых микросхем. Тактовая частота – 2 МГц.
MyCPU
http://www.mycpu.eu/
Собран из простых микросхем. Тактовая частота – 8 МГц. Развитая переферия – вплоть до доступа к сети. Кстати, сам Web-сайт http://www.mycpu.eu/ обслуживается именно этим самодельным сервером. Конструкция посторяемая, собрано много экземпляров.
Harry Porter’s Relay Computer
http://web.cecs.pdx.edu/
harry/Relay/index.html
Собран на 415 реле, на взгляд около 7Гц 🙂
Magic-1
http://www.homebrewcpu.com/
Собран на
200 простых микросхемах, рабочая частота до 4МГц. Порт Minux, сам сайт работает на этом самодельном сервере.
Mark-1 Forth computer
http://www.holmea.demon.co.uk/Mk1/Architecture.htm
Собран на простых микросхемах, рабочая частота 1МГц. Как нетрудно понять из названия, оптимизирован для программ на языке Форт. Микрокод хранится в диодной матрице, вместо «неспортивных» микросхем флеш-памяти.
http://www.6502.org/users/dieter/
Самое вкусное на последок: 16-и битный процессор, собранный на самых простых низкочастотных биполярных транзисторах (около 3000 штук). Тактовая частота – 500КГц, из микросхем только память и генерация синхросигнала. Производство таких транзисторов на кухне вполне реально наладить уже через год после ядерной войны
Энтузиаст собрал самодельный процессор у себя в гараже [ВИДЕО]
Три года назад инженер-энтузиаст Сэм Зелуф разработал собственный процессор, в состав которого вошло всего шесть транзисторов. С тех пор он сумел добиться существенного прогресса в самостоятельном производстве микропроцессоров и представил чип второго поколения, включающий уже 1200 транзисторов.
Для производства процессора Z2 блогер использовал 10-микрометровый техпроцесс. Для сравнения, передовые мобильные процессоры сегодня изготавливаются с применением 5-нанометровых норм.
Вооружившись рядом химических реактивов, в числе которых спирт, фосфорная кислота, 2-процентный раствор гидроксида калия, плавиковая и азотная кислоты, а также вода, фоторезист, SOG-пёнка Filmtronics P509, энтузиаст приступил к послойному производству микропроцессора. В ходе изготовления ему также потребовалось дополнительное оборудование в виде вакуумной камеры, муфельной печи и мощного проектора для засветки фоторезиста.
В итоге Зелуф получил готовый процессор с 1200 транзисторами, изготовление которого происходило в условиях домашней мастерской без использования дорогостоящего оборудования.
Как сделать процессор в домашних условиях
Сегодня на рынке высокопроизводительных процессоров тесно. Если отбросить в сторону мобильные архитектуры, где существует целый ряд перспективных наработок, то только две компании всё ещё способны выпускать настольные и серверные Х86 процессоры. Вообще, в последнее время настольный сегмент атакует Apple. Инженеры яблочной компании создали настоящего монстра, который способен тягаться с самыми быстрыми процессорами конкурентов. Мало того, он выполнен на архитектуре ARM и обладает отличной энергоэффективностью. Возможно, в будущем примеру Apple последуют и другие, но пока компании довольствуются смартфонами и планшетами, предпочитая не выходить из мобильного сектора.

реклама
Всё это говорит о чрезвычайно высокой сложности разработки, предполагающей огромные вложения. Как оказалось, при должном усердии и знании предмета можно даже в домашних условиях создать процессор. На самом деле созданный студентом по имени Сэм Зелооф чип правильнее относить к интегральной схеме, но сам он гордо величает его процессором. Поэтому не будем спорить с автором 10-микронного камня. Весь процесс доступен на видео ниже, не ждите длительных описаний, Сэм не очень разговорчив, предпочитая останавливаться на основных моментах. Это значит, что вы вряд ли сможете повторить успех парня в домашних условиях.
В качестве источника для создания чипа он использовал 12 микросхем Z2, каждая из которых включала 100 транзисторов, произведённых по нормам 10 микрометров (не путать с нанометрами). Это значит, что внутри расположилось 1200 транзисторов. Сэм отмечает, что первый процессор Intel 4004 был построен по аналогичному техпроцессу на 10 микрометров и включал 2000 транзисторов. На видео можно заметить, что энтузиаст использует пусть и устаревшее, но весьма дорогостоящее оборудование, которое точно не встретишь в доме каждого человека.
Во время создания процессора использовались так называемые грязные химикаты, что позволило обойтись без доступа к сверхчистому помещению. Сам разработчик отмечает, что каждый следующий чип будет отличаться от предыдущего, поэтому наладить производство идентичных интегральных схем в домашних условиях нереально. К сожалению, Сэм Зелооф не рассказал о производительности доморощенного процессора. Поэтому мы можем только догадываться на что способно такое чудо инженерной мысли.
Как создать микропроцессор в домашних условиях. Энтузиаст создал интегральную схему с 1200 транзисторами у себя в гараже
Современные процессоры опираются на сверхтонкие техпроцессы и включают миллиарды транзисторов, упакованных в крошечных чипах. Можно ли создать подобный CPU дома? Конечно, нет, но всё же создать в домашних условиях примитивный процессор вполне возможно.

Несколько лет назад известный в определённых кругах энтузиаст-самоучка Сэм Зелуф (Sam Zaloof) создал первый в своём роде чип Z1 в домашних условиях. Он состоял всего из 6 транзисторов. Теперь Зелуф решил повторить эксперимент, создав нечто существенно более сложное. И у него получилась интегральная схема Z2 с 1200 транзисторами, выполненными по техпроцессу 10 мкм. Для сравнения, Intel 4004 — первый в мире коммерчески доступный однокристальный микропроцессор — производился по тому же техпроцессу и содержал 2300 транзисторов.
Процесс изготовления достаточно подробно описывается как на сайте Зелуфа, так и в видео. Основное — не было никаких чистых помещений и чистых химикатов.

Для изготовления ИС энтузиасту понадобилась вода, алкоголь, ацетон, фосфорная кислота, фоторезист, 2-процентный раствор гидроксида калия, SOG-плёнка Filmtronics P509, 1-процентная плавиковая кислота и азотная кислота. Последние два вещества можно заменить. Что касается оборудования, нужно иметь электроплиту, трубчатую печь, специальный аппарат для литографии, микроскоп и вакуумную камеру для плавки металла.