Как сделать процессор из бумаги

Добавил пользователь Владимир З.
Обновлено: 16.09.2024

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

Содержание

Подготовка сырья

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

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

Только после этого бывший песок разогревается до 1420 градусов Цельсия, что всего на 6 градусов выше его точки плавления. Для этого используется графитовый нагреватель. Выбор материала, как и в случае с кварцем тигля, обусловлен тем, что графит не реагирует с кремнием и, следовательно, не может загрязнить материал будущего процессора.

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

Как делают микропроцессоры

Затравочный кристалл кремния постепенно поднимают из тигля, со скоростью примерно полтора миллиметра в минуту, и с ним из раствора поднимается растущий монокристалл. Рост кристалла происходит медленно и на один тигель уходит в среднем 26 часов, так что производство работает круглосуточно.

Кристалл настолько прочен, что его вес может выдержать нить диаметром всего 3 миллиметра. Так что, готовую заготовку для процессоров вытягивают из тигля за тот самый затравочный кристалл.

После химического и рентгеноскопического исследования для проверки чистоты кристалла и правильности молекулярной решетки, заготовку помещают в установку для резки кремния. Она разделяет кристалл на пластины толщиной около 1 миллиметра при помощи проволочной пилы с алмазным напылением.

Конечно, не обходится без повреждений. Какой бы острой ни была пила, после нарезки, на поверхности пластин остаются микроскопические дефекты. Так что за нарезкой следует этап полировки.

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

В чистой комнате

Как делают микропроцессоры

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

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

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

Как делают микропроцессоры

Процессоры Intel восьмого поколения, известные под обозначением Coffee Lake, усеяны 14 нанометровыми транзисторами, AMD анонсировала второе поколение процессоров AMD Ryzen, известное под кодовым названием Pinnacle Ridge построенных на 12 нанометровых элементах. Новейшие видеокарты NVIDIA с архитектурой ядер Volta также построены по 12 нанометровой технологии. Система на чипе Qualcomm Snapdragon 835 еще миниатюрнее — всего 10 нанометров. Постоянно уменьшать размеры функциональных элементов процессора и, следовательно, увеличивать его производительность, удается благодаря совершенствованию технологии под названием фотолитография.

В общих чертах этот процесс можно описать следующим образом:

Сначала пластина кремния покрывается основой — материалом, которой должен будет стать частью будущей схемы, затем поверх равномерным слоем наносится химический реагент, чувствительный к свету. Этот состав выполнит всю работу, но суть позже.

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

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

Как делают микропроцессоры

После на пластину нанесут слой диэлектрика и поверх добавят новые компоненты процессора, опять же, при помощи фотолитографии.

Как делают микропроцессоры

Это завершающий этап обработки, после которого микрочипы проверяют на работоспособность. Несмотря на все меры предосторожности и многодневные усилия процент брака остается высок. Роботы выберут и вырежут из кремниевой пластины только 100% работоспособные чипы.

Они будут рассортированы по показателям энергоэффективности, токам, и максимальным рабочим частотам, получат различные обозначения и, в конечном счете, будут проданы по различной цене.

Последние штрихи

Как делают микропроцессоры

На пути к покупателям процессоры покидают чистую комнату и отправляются на сборочную линию, где готовую микросхему приклеивают на квадрат, называемый подложкой. Кристалл спаивается с ней в специальной печи при температуре 360 градусов Цельсия.

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

Как делают микропроцессоры

Как делают микропроцессоры

Законченный микрочип промывают в растворе воды с растворителем, чтобы удалить лишний флюс и грязь, а затем проводят финальную проверку качества проделанной работы. Это могут быть как стресс-тесты производительности, как в чистой комнате, так и более суровые испытания. Так, чипы, предназначающиеся для работы в экстремальных условиях, например, в космической и военной отраслях, помещаются герметичные в корпуса из керамики и многократно тестируются при экстремальных температурах в вакуумных камерах.

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

"Кристалл настолько прочен, что его вес может выдержать нить диаметром всего 3 миллиметра"
Как понимать?

Читайте слитно со следующим предложением. 3мм кремниевой нити было бы достаточно, чтобы поднять весь кристалл, поэтому придумывать ничего не надо и вытащить его из тигля можно за тонкую заготовку, с которой он начал рост.

Для этого используется графический нагреватель.

Ошибочка, он ведь из графита, а не графики)

А я то лапух думал кремний в земле добывают) спасибо за статью!

P.S такой вот проц нашол на работе, продам не дорого)

__TCAPT__

Тигельный метод — метод Чохральского;
Трафареты — фотошаблоны;
Светочувствительный химический реагент — фоторезист;
Было бы неплохо привести банальный интегральный транзистор в разрезе.
На счет металлизации — сомневаюсь, что медь используют… серебро имеет самое малое сопротивление, что делает его лучшим проводником.
Наша электронная промышленность изготавливает микросхемы до сих пор на 150 мм пластинах… процент брака с пластин немыслимый, схемы передираются реверс-инженерингом и т.д.
все очень плохо господа, идите в микро(нано-)электронику, спасайте отрасль…


Уже лет 10 – 15 назад процессоры упёрлись в непреодолимый предел производительности: их рабочая тактовая частота редко превышает 3 ГГц. Ни уменьшение технологического процесса (14 нм., 10 нм., 7 нм., перспективные 3 нм. и менее), ни использование самых быстро переключающихся транзисторов в электро-схемах, ни увеличение напряжения, не дают ощутимой прибавки быстродействия современным процессорам…
Нынешний процессор – квадратная пластинка кристалла кремния размером в 2,5 сантиметров, на которую в несколько десятков тончайших строго упорядоченных слоёв нанесено примерно от 100 миллионов до 700 миллионов микроскопических транзисторов и других элементов электрической вычислительной системы.
Учитывая, что скорость электрического тока в проводнике – 300 тысяч километров секунду, тактовая частота процессора – 3 ГГц., все сигналы, обрабатываемые процессором, только двух видов: либо 1 (есть ток), либо 0 (нет тока), то за время одного такта электрический ток-сигнал успевает пройти расстояние всего лишь десять сантиметров. Если процессор – квадрат со сторонами 2,5 см., то по диагонали этот квадрат будет уже более 3,5 сантиметров. И если какому-либо из многочисленных электрических сигналов потребуется пройти из одного угла электрической цепи процессора в другой, то он может просто не успеть до начала следующего электрического такта процессора, учитывая, что электрическому сигналу нужно не только совершить множество транзисторных переходов коллектор-эмиттер-база с накоплениями нужных для срабатывания электрических зарядов, но ещё и пройти эти самые 3,5 сантиметров не по кратчайшей прямой линии, а по миллионам изгибов проводников, поворотов, обходов…
Но если какой-либо сигнал не успевает прийти из одной части процессора в другой, то процессор вынужден принудительно уменьшать тактовую частоту с рекордных для него 3 ГГц., уже только до 2 ГГц., или до 0,5 ГГц., и даже меньше, чтобы избежать ошибок при наслоениях следующего сигнала на незаконченный предшествующий, из-за чего компьютер зависает и требует остановки и полной перезагрузки.
Спрямление проводников между дальними транзисторами в плоском чипе не всегда возможно, так как, при высоких частотах электричества, любой относительно прямой провод становится мощной излучающей антенной, быстрой теряющей высокочастотный электрический ток, нарушающей электромагнитными помехами работу близко расположенных в процессоре соседних таких же проводников. Чтобы высокочастотные импульсы тока всё-таки доходили до отдалённых транзисторов в плоском процессоре, приходится увеличивать напряжение электрического тока в наиболее длинных проводниках тока, а часто и во всём процессоре, что приводит к его перегреву или даже к перегоранию и разрушению. Перегрев прямых проводников при передаче высокочастотных импульсов в процессоре частично снижается увеличением толщины этих проводников электричества, отведением сильно выделяющегося тепла в систему охлаждения и дополнительной многослойной термостойкой изоляцией с защитным экранированием всех соседних проводников и транзисторов.
Иногда в процессоре проще сделать большее количество изгибов тонких проводников, чтобы не повышать электрическое напряжение в них. Каждый короткий электрический импульс в проводе образует гребень высокочастотной электрической волны. Чтобы этот провод не стал излучающей антенной, его длина должна быть существенно короче длины волны электрического колебания (тактовой частоты). Если расстояние между транзисторами в высокочастотном процессоре большое, то их специально соединяют не кратчайшим прямым проводком, а длинным, но ломанным и зигзагообразным, со множеством поворотов. Тогда по существенно удлинённым проводкам каждый сигнал между транзисторами будет доходить со значительной задержкой, что приведёт к нежелательному общему снижению тактовой частоты процессора.
Кроме того, огромное количество близко расположенных параллельных и пересекающихся микроскопических проводков между транзисторами в процессоре в некоторых случаях могут образовывать пространственную катушку индуктивности с паразитными электрическими и магнитными токами, пластинки конденсатора, губительно накапливающие электрические заряды и затем выплёскивающие их в самый неподходящий момент, или соленоид, превращающий электричество в тепло, способное расплавить часть элементов процессора, и резисторы, которые своим сопротивлением при некоторых частотах тока также ведут к непредсказуемым побочным явлениям.
Чтобы уменьшить длину множества проводков электрического тока между транзисторами процессора, нужно радикально уменьшать расстояние между всеми транзисторами процессора и располагать их не на распластанной плоскости квадратного кристалла, а плотнее сгруппировать транзисторы в микроскопический плотный равносторонний объёмный кубик или даже в шарик.
На обычном кристалле 2,5х2,5=6,25 см 2 двухмерного процессора умещается около 125 миллионов транзисторов – в среднем по 11 180 транзисторов вдоль квадратного кристалла (447,2 на каждый миллиметр) и примерно по столько же транзисторов поперёк стандартного чипа. Но если эти транзисторы расположить компактнее – по пространственной форме ближе к трёхмерному и равностороннему кубу, то такие же 125 миллионов транзисторов, тех же размеров, легко уместятся в крохотный кубик, размером всего лишь 1,2х1,2х1,2 миллиметров, в каждой грани которого будет в среднем по 500 транзисторов в длину этого кубика, по 500 транзисторов в его ширину, и по 500 транзисторов в его высоту.
Расстояние между самыми дальними транзисторами в таком крохотном кубовидном процессоре не будет превышать двух миллиметров. А с учётом того, что между более плотно размещёнными транзисторами значительно сократится длина различных проводников со своими достаточно толстыми изоляторами, то между этими транзисторами освободится очень много места в таком кубике-процессоре, и транзисторы можно будет располагать ещё в несколько раз плотнее. Более того, с уменьшением расстояния между транзисторами в процессоре и с уменьшением электрического напряжения открываются большие возможности существенного уменьшения размеров не только проводков, но и самих транзисторов. Эти меры позволят увеличить рабочую тактовую частоту трёхмерного объёмного процессора в сотни раз по сравнению с плоской микросхемой, и отпадает надобность в её охлаждении.
Невероятное быстродействие компактного объёмного чипа ещё больше явит своё превосходство перед плоской микросхемой, если в объёмный микроскопический процессор вживить такую же объёмную компактную и быструю оперативную память.
Остаётся только заняться разработкой технологии изготовления компактных кубовидных чипов. На первых порах, вероятно, придётся использовать уже отработанные приёмы производства двухмерных плоских чипов, увеличивая на каждом крохотном кристалле количество слоёв в сотни и даже в тысячи раз.

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 11 человек(а).

Хотите смастерить что-нибудь из бумаги? Быть может, вам просто скучно, вы хотите развлечься с друзьями или подсказать интересное занятие детям, но в любом случае, сделать ноутбук из бумаги – увлекательная, простая и дешевая идея. Любой справится с этим самостоятельно, понадобится лишь немного материалов и свободного времени.

Изображение с названием Make a Paper Laptop Step 1

  • Если вы хотите сделать ноутбук в декоративном корпусе, возьмите бумагу с узором вместо обыкновенной.

Изображение с названием Make a Paper Laptop Step 2

  • Если вы не уверены насчет логотипа, проведите маленькое исследование и посмотрите, как именно выглядит логотип вашей любимой марки ноутбуков. Так вы сможете нарисовать его с максимальной точностью.
  • Если вы используете бумагу с рисунком, нанесите логотип на ее узорчатую сторону. Тогда узор окажется на внешней стороне (на корпусе ноутбука). [2] X Источник информации

Изображение с названием Make a Paper Laptop Step 3

  • Попробуйте использовать рабочий стол настоящего ноутбука в качестве образца. Нарисуйте цветной фон, иконки и панель меню вдоль нижнего края. [3] X Источник информации [4] X Источник информации
  • Если вы не умеете рисовать, найдите фотографию, которая послужит фоном рабочего стола, и вырежьте картинки в виде иконок.

Изображение с названием Make a Paper Laptop Step 4

  • Вы можете купить наклейки с буквами и наклеить их на размеченные клавиши. Так все буквы будут одного типа и размера, а клавиатура будет больше похожа на настоящую. [5] X Источник информации
  • Если вы хотите добиться безупречного вида, саму клавиатуру можно тоже распечатать, а не рисовать от руки. Только смотрите, чтобы по размеру она соответствовала остальным частям ноутбука. [6] X Источник информации

Изображение с названием Make a Paper Laptop Step 5

Сделайте подставку. Так как в бумажном ноутбуке нет конструкции, которая удерживала бы экран в вертикальном положении, вам нужно будет сделать подставку. Возьмите кусок картона, сложите его тремя равными полосками. Разверните и соедините края картона так, чтобы образовался треугольник. Склейте их скотчем: треугольник должен сохранять форму.

Изображение с названием Make a Paper Laptop Step 6

Соберите экран. У вас есть лист бумаги или картона с нарисованным логотипом и рабочий стол. Теперь нужно соединить их вместе. Возьмите картинку рабочего стола и с обратной стороны нанесите на нее клей, вдоль краев и посередине. Приложите ее клеем вниз к обратной стороне крышки ноутбука, выровняв по центру. Прижмите картинку и аккуратно разгладьте, чтобы под ней не осталось пузырьков. [7] X Источник информации

Изображение с названием Make a Paper Laptop Step 7

  • Если вы не хотите рисовать кнопку питания, можете распечатать картинку с ее изображением и наклеить ее на бумагу, как вы уже делали с клавиатурой.
  • Если вы хотите сделать ноутбук немного прочнее, можете укрепить его картоном. Приклейте по куску картона к верхней и нижней половинкам ноутбука. Затем наклейте еще по одному листку цветной или узорчатой бумаги с обратной стороны картона, чтобы он не просвечивал. После этого наклейте рабочий стол и клавиатуру. [9] X Источник информации

Соедините обе части ноутбука. Теперь, когда экран и клавиатура готовы, вам надо соединить их вместе. Возьмите обе части и сложите длинной стороной друг к другу. Убедитесь, что и экран, и клавиатура повернуты лицевой стороной вверх. Проклейте место стыка полоской прозрачного скотча. Переверните склеенные листы и наклейте еще одну полоску скотча на то же место, но с обратной стороны. [10] X Источник информации

Введение

Все статьи цикла:

  • Микропроцессор своими руками. Часть 1.1.
  • Микропроцессор своими руками. Часть 1.2.
  • Микропроцессор своими руками. Часть 2.1.
  • Микропроцессор своими руками. Часть 2.2. Битовый процессор
  • Микропроцессор своими руками. Часть 3.1. Ассемблер и софт-симулятор
  • Микропроцессор своими руками. Часть 3.2. Ассемблер и софт-симулятор
  • Микропроцессор своими руками. Часть 4.1. Как отладить встроенный в FPGA микроконтроллер?
  • Микропроцессор своими руками. Часть 4.2. Как отладить встроенный в FPGA микроконтроллер?
  • Микропроцессор своими руками. Часть 4.3. Как отладить встроенный в FPGA микроконтроллер?
  • Микропроцессор своими руками. Часть 5.1. По поводу начала проекта встроенного в FPGA микроконтроллера
  • Микропроцессор своими руками. Часть 5.2. По поводу начала проекта встроенного в FPGA микроконтроллера
  • Микропроцессор своими руками. Часть 5.3. По поводу начала проекта встроенного в FPGA микроконтроллера
  • Микропроцессор своими руками. Часть 5.4. По поводу начала проекта встроенного в FPGA микроконтроллера

Введение для студентов

Вернемся в сегодняшний день. Многие из сегодняшних студентов просто не представляют, насколько стремительно меняется техника. Но в темпе изменения техники должны меняться и приоритеты для инженерного труда, и методики обучения. Так, как учились вчера, уже нельзя учиться сегодня. Сегодня молодой инженер, не умеющий пользоваться ORCAD’ом, PICAD’ом, симуляторами электрических цепей типа Electronics Workbench, не способный описать схему на VHDL и написать сотню строчек кода на С++, достоинтолько сожаления. Если вчера было модно программировать видеоигры, базы данных и бухгалтерские программы, то сегодня рынок уже поменялся.

Введения для профессионалов

Рост популярности того или иного направления можно оценить по количеству сайтов в Интернете, на которых отражаются интересы разработчиков.

Фирма Triscend предлагает 40-MHz 8051-ядро на кристалле, с FPGA, доступной пользователю. Аналогичный продукт есть и у фирмы Atmel Corp. — FPSLIC. Более подробное описание по предлагаемым продуктам приведено в Л3, 4.

Часть проекта фирмы Altera ™ по встроенным решениям, процессор Excalibur, а также его вариант реализации — программное ядро встроенного процессора Nios ™. Nios — это встраиваемый процессор общего назначения, с перестраиваемой конфигурацией, который легко вписывается в устройство Altera APEX ™, оставляя большинство логики, доступной для размещения там периферийных устройств и пользовательских функций.

Встраиваемое ядро процессора Nios — конвейерный RISC-процессор, в котором команды выполняются за один цикл частоты синхронизации. Более подробно об этом процессоре можно прочитать в Л5 — 13.

Что же касается российских разработчиков и разработчиков стран СНГ, то здесь несколько иная ситуация. Фирмы-производители микросхем имеют программу по поддержке партнеров-разработчиков ядер (мегафункций). Это и реклама, и сервис, и многое другое. Но для российских разработчиков попасть в партнеры пока еще практически невозможно, и это резко ограничивает их возможности.

Следующее преимущество — специализированные команды пользователя. Это значит, что проектируя микроконтроллер, пользователь может произвести предварительное программирование и определить в потоке команд, выполняемых процессором, группы наиболее часто повторяющихся команд. Если теперь группу таких команд объединить в одну специализированную команду, то быстродействие процессора для данного класса задач увеличится, а программировать его станет легче. Специализированные команды пользователя (см. например, описание команд процессора NIOS), могут быть однотактные или мгоготактные. Они могут выполняться в ALU микропроцессора или в дополнительном вычислительном блоке, подключаемом к ALU, например FFT, FIR и т. д.

И последнее, что необходимо отметить — микроконтроллер получает ту периферию и в таком количестве, как нужно пользователю.

Периферия же может быть самой экзотической: от простого UART’a и до контроллеров Ethernet MAC 10/100 или сопроцессоров DSP.

Среди библиотечных элементов, описывающих периферию для микропроцессора, доступны следующие:

  • универсальный Асинхронный Приемопередатчик (UART),
  • таймер,
  • параллельный ввод — вывод (PIO),
  • интерфейс SRAM,
  • SDRAM-контроллер,
  • интерфейс FLASH памяти,
  • последовательный периферийный интерфейс (SPI),
  • контроллер I2C,
  • модулятор ширины импульса (PWM),
  • IDE-контроллер диска,
  • контроллер Локальной сети 10/100 Ethernet (MAC),
  • контроллер USB.

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

У нас же есть конечный автомат, зачем нам что-то еще?

Чтобы сравнить микроконтроллер с конечным автоматом, необходимо сравнить трудоемкость следующих работ:

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

Здесь конец лирике и начало проекта

Материал, приведенный в данной статье, написан на основе реальной разработки, описанной в Л14. Упрощенная модель микропроцессора, описанная в данной статье, служит только примером для разработки или изучения. Но тем не менее, она может быть легко доработана для практического использования.

Методика разработки позволяет оценить трудоемкость, определить ресурс, необходимый для реализации микроконтроллера в FPGA. Весь процесс разработки будет состоять из следующих этапов:

  1. Разработка задания на проектирование.
  2. Разработка блок-схемы микропроцессора.
  3. Разработка полей кодов операций.
  4. Разработка кодов команд.
  5. Описание на AHDL блоков, входящих в микропроцессор.
  6. Описание микропроцессора на AHDL.
  7. Написание микропрограммы.
  8. Симуляция микропроцессора с микропрограммой.
  9. Выводы.

Что мы хотим получить?

  1. RISC-процессор, потому что не хочется делать разборку многословных команд. Пусть все наши команды выполняются за один такт синхрочастоты.
  2. Применим для процессора Гарвардскую структуру. Будем считать, что загрузка памяти команд нам не нужна и все команды будут храниться в памяти команд, что и происходит при инициализации микросхемы. Назовем память команд — Program Space (PS). Ограничим область адресов PS 16 битами. Далее возможна страничная адресация памяти, но для большинства случаев и этого уже будет достаточно. Для конкретной реализации микропроцессора введем параметр, описывающий разрядность шины адресов PS.
  3. Расположим память данных в отдельной области памяти. Назовем ее Data Space (DS). Ограничим область адресов DS также 16-ю битами. Для конкретной реализации микропроцессора введем параметр, описывающий разрядность шины адресов DS.
  4. Представим область ввода-вывода в виде набора регистров, дадим им номера 0..15.
  5. Для реализации режима реального времени потребуется вход запроса прерывания — IRQ.
  6. Чтобы отрабатывать прерывания и вызовы подпрограмм, нам будет необходим стек.
  7. Необходимо задать разрядность шины данных. Выберем для определенности разрядность, равную 16 битам.
  8. Будем считать, что системный сигнал СБРОС, действующий внутри кристалла, будет применяться и для нашего микропроцессора.

Построение ядра микропроцессора

Для упрощения положим, что:

  • аккумулятор/регистр общего назначения будет один,
  • область DS будет состоять из одного регистра,
  • область ввода-вывода тоже будет состоять из одного регистра,
  • применим самую простую структуру выборки данных из памяти, то есть асинхронную выборку и без конвейера команд,
  • будем считать, что вход запроса прерывания выставляется синхронно с тактовой частотой и длительность входа запроса — 1 такт синхрочастоты.

Данные упрощения сделаны только для сокращения текстов описаний, так как в рамках журнальной статьи приводить обширные описания довольно затруднительно. Тем не менее, счетчик адресов DS полностью аналогичен счетчику адресов PS. Увеличение количества регистров связано только с увеличением описания в области дешифратора управляющих сигналов, которые вырабатываются при операциях записи в эти регистры и с мультиплексором выходных шин от регистров на внутреннюю шину микропроцессора.

На основании задания и сделанных упрощений на микропроцессор получим архитектуру, показанную на рис. 1.

Микропроцессор состоит из набора следующих блоков:

Узел контроля для выработки управляющих воздействий на все блоки микропроцессора — ALU,

Счетчика адресов памяти программ — PS_CNT,

Блока памяти программ — PS,

Блока памяти данных — DS,

Регистров — Rg0 и Rg1.

На входы микропроцессора подадим сигнал синхрочастоты — CLK и сигнал запроса прерывания — IRQ.

Системный сигнал СБРОС подается на микропроцессор, так же как и на все остальные блоки системы (здесь он не показан).

Выходами микропроцессора будут сигналы с выходов регистров Rg0 и Rg1.

Счетчик команд, при загрузке микросхемы или при инициализации системы по сигналу СБРОС, устанавливается в состояние 0 и далее производит счет адресов памяти программ.

Адреса поступают на вход блока PS. Данные, хранящиеся в памяти программ, выбираются в соответствии с поступившим адресом.

Далее данные с выхода PS поступают в ALU.

Для ALU — это будут коды команд микропроцессора. Блоки DS, Stack, Rg0 и Rg1 обмениваютя сигналами с блоком ALU по одной внутренней шине данных.

Сигнал со входа IRQ поступает на ALU и дешифрируется в ALU как код команды, причем сигнал IRQ имеет приоритет в выполнении над кодом команды, поступившим в ALU от PS.

Выберем команды, отвечающие нашим задачам

Опишем группы команд, которые должен исполнять микропроцессор.

LDI Reg, Загрузка в регистр.приемник константы – (данных из памяти команд по текущему адресу )
MOV Reg, Reg Запись содержимого одного регистра в другой
MOV Reg, [Mem] Запись содержимого регистра в память
MOV [Mem], Reg Запись из памяти в регистр
JMP Addr Переход по абсолютному адресу
CALL Addr Вызов подпрограммы (с записью адреса возврата в стек)
RET Возврат из подпрограммы (по содержимому стека)

Для изучения принципов работы микропроцессора, такого набора команд будет достаточно. На практике набор команд можно дополнять и расширять до необходимого для выполнения конкретного набора задач пользователя. Арифметические операции убраны из списка команд, так как выполнение математических операций в FPGA достаточно описано, и в рамках данной статьи они не рассматриваются.

Определим поля команд

Чтобы определить поля команд необходимо определить наибольшее требуемое поле для выполнения заданных команд. Очевидно, что для данного набора команд самое большое поле требуется для команды MOV Reg, [Mem] и MOV [Mem], Reg. Поле [Mem] — имеет разрядность 16 бит, поле Reg — 4 бита (для 16 регистров). Поэтому выберем разрядность памяти PS — 24 бита. Тогда команда непосредственной записи из памяти в регистр будет выглядеть так:

Команда MOV Reg, Reg пересылки из регистра в регистр будет выглядеть так:

Команда LDI Reg — непосредственная загрузка в регистр-приемник данных из памяти команд по текущему адресу:

23….Коп – 4 бита…20 19…..Reg – 4 бита …16 15 …Const – 16 бит.. 0

Команда JMP Addr — команда безусловного перехода по абсолютному адресу будет выглядеть так:

Команда CALL Addr — команда безусловного вызова подпрограммы по абсолютному адресу будет выглядеть так:

Команда RET команда безусловного возврата из подпрограммы или из прерывания будет выглядеть так:

Итак, нам нужно получить восемь команд для микропроцессора, и, как мы видим, поле кода операции разрядностью в 4 бита позволяет иметь 16 команд. Необходимо отметить, что для более мощных процессоров выбор полей кодов операций — очень серьезная задача, которая и определяет, насколько эффективным будет процессор для конкретного набора команд.

Определим коды операций команд

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

Примеры кодов команд

Команда NOP будет иметь код 000000, а JPM 1234 — команда безусловного перехода по адресу 1234 — будет иметь код команды — 101234, MOV 9, 5 — команда пересылки данных из регистра 5 в регистр 9 будет иметь вид 890005 и т. д.

Определим требования к стеку

Для данной задачи применим стек глубиной 8 вложений и разрядностью равной разрядности шине адресов PS. Реализуем стек в отдельной от PS и DS области — на массиве регистров.

Определим требования к прерываниям

Применим следующее решение: при поступлении запроса прерывания будем выполнять переход по фиксированному адресу с занесением адреса возврата в стек.

Определим требования к программному обеспечению

Одним из основных требований к разработке встроенного ПО для микроконтроллеров является требование о необходимости инструментального ПО, то есть нам будет, как минимум, необходим редактор и ассемблер. Для более сложных проектов могут потребоваться симуляторы работы программы, языки высокого уровня, операционные системы и т. д.

Для удобства написания программ можно также создать собственный ассемблер, что сейчас не является трудной задачей даже для среднего программиста. Такой ассемблер ставит в соответствие удобную для восприятия мнемонику с реальными командами микропроцессора.

Однако, и довольно часто, разработчики применяют систему команд тех микропроцессоров к которым они привыкли и к которым уже существуют инструментальные средства разработки ПО. Здесь на первом месте микропроцессоры с системой команд MCS-51, а на втором месте PICmicro. Для этих микропроцессоров имеются как средства разработки, так и огромные библиотеки разработанных программ.

Поскольку проект, описываемый здесь, посвящен только описанию микропроцессора, то дальнейшее описание требований к инструментальному ПО мы опускаем. Будем считать, что у нас есть ассемблер, который преобразует мнемонические коды команд в машинные коды и формирует файл инициализации памяти команд, совместимый с ПО MaxPlus.

Заключение по этапу разработки задания

Мы произвели разработку задания на микропроцессор, выполняющий основные функции, такие, как пересылки данных, ветвление программы, обработка прерываний.

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

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

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

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

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

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

Читайте также: