Мем как сделать процессор

Обновлено: 07.07.2024


Ученые из США и Италии заявили о создании прототипа мем-процессора (английское memprocessor) с отличной от фон-неймановской архитектурой и возможности его использования для решения NP-полных задач. Результаты своих исследований авторы опубликовали в журнале Science Advances, а кратко о них сообщает издание Tech Times.

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

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

Сравнение архитектур

Изображение: Fabio L. Traversa, Massimiliano Di Ventra

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

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

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

Материалы по теме

«Непонятно, чего ждать от этих сетей»

Физик рассказал о создании принципиально новых компьютеров из цепей мемристоров

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

Аналогичные технологии, основанные на использовании мемристоров (резисторов с памятью — устройств, меняющих свое сопротивление в зависимости от заряда, протекшего через него за время работы устройства), разрабатываются несколькими компаниями, в частности, Hewlett-Packard. Теоретическое описание устройства мемристора появилось в 1971-м, а его первый образец был создан в 2008 году. Промышленный выпуск вычислительных устройств на основе мемристоров пока не налажен.

От песка до процессора

Получившийся в результате водород можно много где использовать, но самое главное то, что был получен «электронный» кремний, чистый-пречистый (99,9999999%). Чуть позже в расплав такого кремния опускается затравка («точка роста»), которая постепенно вытягивается из тигля. В результате образуется так называемая «буля» — монокристалл высотой со взрослого человека. Вес соответствующий — на производстве такая буля весит порядка 100 кг.

От песка до процессора

Слиток шкурят «нулёвкой» :) и режут алмазной пилой. На выходе – пластины (кодовое название «вафля») толщиной около 1 мм и диаметром 300 мм (

12 дюймов; именно такие используются для техпроцесса в 32 нм с технологией HKMG, High-K/Metal Gate). Когда-то давно Intel использовала диски диаметром 50 мм (2"), а в ближайшем будущем уже планируется переход на пластины с диаметром в 450 мм – это оправдано как минимум с точки зрения снижения затрат на производство чипов. К слову об экономии — все эти кристаллы выращиваются вне Intel; для процессорного производства они закупаются в другом месте.
Каждую пластину полируют, делают идеально ровной, доводя ее поверхность до зеркального блеска.

Производство чипов состоит более чем из трёх сотен операций, в результате которых более 20 слоёв образуют сложную трёхмерную структуру. Сложно рассказать о всех операциях, которые выполняются в ходе изготовления процессора. Поэтому совсем коротко и лишь о самых важных этапах.
Итак. В отшлифованные кремниевые пластины необходимо перенести структуру будущего процессора, то есть внедрить в определенные участки кремниевой пластины примеси, которые в итоге и образуют транзисторы. Как это сделать? Вообще, нанесение различных слоев на процессорную подложу это целая наука, ведь даже в теории такой процесс непрост (не говоря уже о практике, с учетом масштабов)… но ведь так приятно разобраться в сложном;) Ну или хотя бы попытаться разобраться.


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

Очевидно что это меня не устаивает, поэтому я решил изучить вопрос серьезнее. Оказалось можно сделать свой процессор описав его с помощью Verilog и FPGA. Купил плату в китае, 3 года спокойными темпами написал свой процессор, оттестировал, скомпилировал и залил на FPGA. Но мне этого недостаточно.

Так как же разработать микросхему?

Давайте сначала разберёмся из чего состоит микросхема. Все микросхемы состоят из кремния и корпуса.

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

А как же кремний

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

Для того, чтобы производитель произвёл вашу микросхему вам нужно предоставить им GDS-II файл, который является грубо говоря векторной многослойной картинкой вашей микросхемы.

GDS-II файл и так называемый Process Development Kit

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

Process Development Kit эта такая кучка файлов которая содержит։

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

Модели для симуляции элементов схемы в формате SPICE.

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

Технологические файлы, которые позволяют связать файл GDS-II и слои при производстве.

Библиотека примитивов - Транзисторов, резисторов, конденсаторов и так далее

Модели для симуляции

Символы для рисования схемы

Правила Design Rule Check

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

Primitive Extraction rules или правила описывающие примитивы. Эти правила позволяют превратить ваш GDS-II представление в список примитивов и их связей (netlist). Сгенерированный netlist также содержит паразитные конденсаторы и резисторы, а сам netlist используется для того чтобы произвести симуляцию компонентов как можно приближённой к реальной интегральной схеме.

Layout versus Schematic check или правила, которые позволяют получить из вашего GDS-II так называемый netlist. После чего его можно сравнить со схемой, которую вы нарисовали и уже про симулировали.

Например, установщик для технологии SKY130 (130нм) можно найти вот тут. Эти скрипты автоматически установят всё необходимое, но не спешите ниже мы найдём скрипт, который сделает все за нас.

Иногда производитель кремния также предоставляет так называемые файлы Standard Cell Library. Эти файлы предоставляют описание отдельных компонентов, который разработчик может использовать для разработки цифровых интегральных съем или её частей. К этому чуть позже.

Здесь стоит остановиться и понять, из чего конкретно состоит сам кремний.

Как рисовать транзистор и как он работает

Перед тем как что-то разработать нам нужно понять основу интегральных схем - транзисторы MOSFET. Существуют два типа которые мы будем использовать - NMOS и PMOS.

Давайте разберемся как работает транзистор и как он выглядит. Знакомьтесь։ транзистор

Транзистор N-MOS. Понять тип можно по типу двух контактов Source и Drain

Как мы здесь видим։ у транзистора есть несколько компонентов. Металл и контакт, а также N+ и P Substrate. Когда напряжение Vgs < Vth тогда NMOS закрыт. Когда Vgs >= Vth, а Vds < Vgs - Vth тогда транзистор находиться в линейном режиме. Когда Vgs >= Vth и Vds > Vgs - Vth тогда транзистор находиться в открытом состоянии. Похожим образом работает PMOS, но в отличии от NMOS он закрывается, а не открывается.

А теперь знакомьтесь։ транзистор PMOS (сверху) и NMOS (снизу)

Схема инвертера в Magic от спидраннера инвертеров на Ютубе

Схема инвертера в Magic от спидраннера инвертеров на Ютубе

Разработка аналоговых компонентов

/openlane_exp/ ибо именно этот путь я использую в примере

Нам нужны следующие программы

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

Yosys. Гордость проектов с открытым исходным кодом. Автор։ Claire Wolf. Позволяет скомпилировать ваш Verilog в gate-level представление, которое описывает вашу цифровую схему в виде отдельных компонентов. Замена Design Compiler от Synopsys

Куча других ПО, которые в автоматическом режиме превращают ваш gate-level в GDS-II. Об этом будет в соответствующей главе

skywater-pdk. Открытый PDK skywater 130nm. Содержит также так называемые готовые цифровые компоненты, примитивные компоненты и библиотека ячеек ввода-вывода

ngspice, Открытый симулятор spice. На удивление неплохой, но я конечно же рекомендую коммерческие симуляторы например HSPICE от Synopsys.

xschem, открытая программа для рисования схем. Бесплатная замена CustomCompiler от Synopsys

klayout, для рисования и открытия GDS-II. Бесплатная замена CustomCompiler от Synopsys

Magic, программа которая может производить DRC, и не только. Вообще очень полезная штука. Бесплатная замена IC Validator от Synopsys

Netgen, программа которая может делать LVS проверку. Бесплатная замена IC Validator от Synopsys

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

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

Команды сверху установят пример инвертера и запустит докер с проброской из моей домашней папки и проброской X11 для окон.

После открытия надо подключить технологические файлы.

Откройте Manage Technologies

Правый клик по списку технологий

Найдите файл /home/armleo/openlane_exp/openlane/pdks/sky130A/libs.tech/klayout/sky130A.lyt

Откройте настройки слоев


Хотите увидеть инвертер?

Да выглядит уродливо, зато бесплатно ։D.

Давайте поймём что это за схема, как она работает и из чего состоит. Сверху синий слой это метал по которому подключается SOURCE и BULK ножки PMOS транзистора к VDD или позитивному напряжению. Снизу слой металла по которому идёт VGND или заземление, который подключается к ножке SOURCE и BULK NMOS транзистора.

Ножки GATE подключенные к друг другу и к вводному сигналлу A с использованием слоя полисиликона LI1.

Выход подключен к контакту Y с использованием слоя полисиликона LI1.

Инвертер работает следующим образом։

NMOS открыт, когда на входе высокое напряжение, а PMOS закрыт. Таким образом на выходе получается низкое напряжение. NMOS открыт, поэтому низкое напряжение подаётся на выход, но короткого замыкания не просиходит, посколько PMOS закрыт.

NMOS закрыт, когда на входе низкое напряжение, а PMOS открыт и VDD подключен к сигналу Y. NMOS закрыт, поэтому низкое напряжение не подаётся на выход, и короткого замыкания не происходит. Таким образом на выходе получается высокое напряжение.

Схема в разрезе։


Схема соответствующая инвертеру։


Здесь вы можете видеть, что у транзистора на самом деле 4 ноги։ DRAIN, SOURCE, GATE, BULK.

В следующей частях разберемся։

как нарисовать несколько компонентов (NAND, NOR), сделать LVS, DRC, PEX и провести симуляцию.

Поймем, что такое последовательные компоненты (Sequential components) - Latch, Flip-flop

s

Как сделать мем: 15 популярных сервисов и приложений-генераторов

Array

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

Содержание

Зачем нужны мемы

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

Итак, первый сервис:

1. GIPHY

Сервис радует наличием безмерного количества GIF-ок. Анимированная картинка создается из видео, статичной картинки или другой GIF-ки. В редакторе можно выбрать необходимый фильтр, добавить текст, свои рисунки или стикеры.

Giphy

Главный экран сервиса Giphy

Песель из Giphy

Есть мобильная версия GIPHY. Сервис бесплатный, но для создания мемов из гифок нужно зарегистрироваться.

Создание GIF-ки в мобильной версии GIPHY

2. Mr-Mem

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

Зарегистрироваться

Зарегистрироваться где-то бывает напряжно

3. Gifntext

Веб-редактор похож на GIPHY. Но в отличие от него, доступно больше настроек анимации. Работает только с GIF изображениями.

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

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

gifntext

Стартовая страница для создания GIF-ок

4. Рисовач

Один из самых популярных в России бесплатных сервисов для создания мемов.

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

Минусы – нельзя убрать водяной знак, изменить положение и шрифт текста, попадаются картинки 18+ там где их не ждешь.

рисовач

Генератор мемов в Рисоваче

мем-рисовач

И радуешься жизни

5. Canva

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

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

В бесплатном пробном периоде, 30 дней, но этого хватает чтобы протестировать все возможности полной версии.

В мобильной версии для IOS можно скачать отдельно приложение для создания дизайна, видеоколлажа и отдельно редактор видео сториз. На Андроид одно общее приложение Canva.

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