Как создать процессор в домашних условиях
Перейти к содержимому

Как создать процессор в домашних условиях

  • автор:

Центральный процессор – дома с нуля

Если в последние лет 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КГц, из микросхем только память и генерация синхросигнала. Производство таких транзисторов на кухне вполне реально наладить уже через год после ядерной войны

Как создать процессор в домашних условиях

Сегодня на рынке высокопроизводительных процессоров тесно. Если отбросить в сторону мобильные архитектуры, где существует целый ряд перспективных наработок, то только две компании всё ещё способны выпускать настольные и серверные Х86 процессоры. Вообще, в последнее время настольный сегмент атакует Apple. Инженеры яблочной компании создали настоящего монстра, который способен тягаться с самыми быстрыми процессорами конкурентов. Мало того, он выполнен на архитектуре ARM и обладает отличной энергоэффективностью. Возможно, в будущем примеру Apple последуют и другие, но пока компании довольствуются смартфонами и планшетами, предпочитая не выходить из мобильного сектора.

реклама

Всё это говорит о чрезвычайно высокой сложности разработки, предполагающей огромные вложения. Как оказалось, при должном усердии и знании предмета можно даже в домашних условиях создать процессор. На самом деле созданный студентом по имени Сэм Зелооф чип правильнее относить к интегральной схеме, но сам он гордо величает его процессором. Поэтому не будем спорить с автором 10-микронного камня. Весь процесс доступен на видео ниже, не ждите длительных описаний, Сэм не очень разговорчив, предпочитая останавливаться на основных моментах. Это значит, что вы вряд ли сможете повторить успех парня в домашних условиях.

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

Во время создания процессора использовались так называемые грязные химикаты, что позволило обойтись без доступа к сверхчистому помещению. Сам разработчик отмечает, что каждый следующий чип будет отличаться от предыдущего, поэтому наладить производство идентичных интегральных схем в домашних условиях нереально. К сожалению, Сэм Зелооф не рассказал о производительности доморощенного процессора. Поэтому мы можем только догадываться на что способно такое чудо инженерной мысли.

Как создать микропроцессор в домашних условиях. Энтузиаст создал интегральную схему с 1200 транзисторами у себя в гараже

Современные процессоры опираются на сверхтонкие техпроцессы и включают миллиарды транзисторов, упакованных в крошечных чипах. Можно ли создать подобный CPU дома? Конечно, нет, но всё же создать в домашних условиях примитивный процессор вполне возможно.

Как создать микропроцессор в домашних условиях. Энтузиаст создал интегральную схему с 1200 транзисторами у себя в гараже

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

Процесс изготовления достаточно подробно описывается как на сайте Зелуфа, так и в видео. Основное — не было никаких чистых помещений и чистых химикатов.

Как создать микропроцессор в домашних условиях. Энтузиаст создал интегральную схему с 1200 транзисторами у себя в гараже

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

Энтузиаст компьютерного дела собрал 8-битный процессор из подручных материалов

Большинство современных процессоров основано на 64-х битной архитектуре. Это, по большей части, означает, что информация в системе передается блоками по 64 бита. Тем не менее, еще не ушли в мир иной и процессоры с иной архитектурой. Есть даже новые экземпляры — правда, их создают энтузиасты для каких-то своих целей. Ранее одним из наиболее известных восьмибитных процессоров был Intel 8008, появившийся в начале 1970-х.

Конечно, те процессоры достаточно примитивны по сравнению с современными, но свою работу они выполняли на «отлично». На днях в сеть попала информация о собранном из подручных материалов 8-битном процессоре, который функционирует без проблем, хотя и смотрится несколько странно. Его создал пользователь YouTube Пауло Константино (Paulo Constantino).

На первый взгляд, разработка Константино выглядит, как скопище проводов (на второй взгляд тоже). Но в состав конструкции входят не только провода. Процессор смонтирован на монтажной плате, которая позволяет создавать макеты самых разных схем — от простейших до самхы сложных.

По словам Константино, он изначально разработал схему на бумаге, на это у него ушло два дня. Затем, приступив к монтажу, ему пришлось потратить около недели на работу. В ходе монтажа он использовал разного рода переключатели для того, чтобы создаваемая схема работала, как реальный процессор.

Его процессор может воспроизводить тему из Mario, но вот программировать систему достаточно сложно. Проблема в том, что к системе не подключена клавиатура, поэтому все необходимо делать вручную. Спустя некоторое время разработчик планирует добавить клавиатуру, чтобы работать было удобнее. Тогда процессор сможет показать все, на что он способен.

8-битный процессор — интересный проект, но наиболее масштабная работа такого рода — Megaprocessor. Он представляет собой 16-ти битный процессор с четырьмя регистрами общего назначения. На отдельных панелях размещаются схемы различного назначения, включая память, арифметический блок, ввод/вывод и некоторые другие. В этой системе используется 16-ти разрядный блок АЛУ и 16-ти разрядный сумматор. Megaprocessor оснащен 10 000 светодиодов, мигание которых демонстрирует каждый этап процесса вычислений, показывая направление движение данных по схеме. Объем памяти составляет 256 байт.

В схеме использовано более 27000 транзисторов — это только для блока памяти. Общее же число транзисторов в этой системе свыше 40 тысяч. Масса процессора, который работает на частоте 20 килогерц — 500 килограммов.

Автор этой разработки — инженер-электронщик из Великобритании. Его зовут Джеймс Ньюман. Как-то он захотел разобраться в мельчайших подробностях в принципе работы процесса. Ну и лучший из способов сделать это — собрать процессор своими руками.

«Компьютеры непрозрачны. Смотря на них, нельзя понять, как они работают. Что я хотел сделать — это забраться внутрь и понять, что происходит. Проблема в том, что это невозможно осуществить с процессорами обычного размера. Но мы можем построить большой процессор своими руками — и тогда будет понятно, что происходит внутри. Для отображения потоков данных стоит добавить еще и светодиоды — что и было сделано», — говорит Джеймс Ньюман. Теперь за работой Megaprocessor можно наблюдать в режиме реального времени, и любой человек может понять, из каких элементов состоит процессор и как работает каждый блок.

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

На свой проект Ньюман потратил без малого потратил около 40000 фунтов стерлингов. Сейчас, возможно, уже и больше, поскольку он постоянно продолжает совершенствовать систему.

Изначально инженеру казалось, что он сможет реализовать свой проект за год. Но пришлось потратить более пяти лет, при том, что Megaprocessor продолжает совершенствоваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *