Pull to refresh
1
0
Send message

Алгоритмы на кристалле (анонс книги)

Reading time7 min
Views13K
Я начал работать над книгой.
Уже опубликованы:
Глава 1(начало): Вычислительная модель.
Глава 1(продолжение): Быстродействие элементарных схем.

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

О чем и для кого эта книга


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

Основной акцент повествования сделан на математическую и алгоритмическую стороны решаемых задач. Это скорее не «еще одно» руководство по проектированию электронных схем, а учебник по очень специфическому способу реализации алгоритмов. Я надеюсь, что его содержание заинтересует и увлечет широкий круг любителей математики и программирования, даже если они раньше никогда и не сталкивались с разработкой микросхем. В то же время я старался подобрать материал так, чтобы и типичный hardware-разработчик мог легко в нем разобраться и с пользой применить в своем ремесле.
Читать дальше →
Total votes 46: ↑44 and ↓2+57
Comments51

Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы

Reading time28 min
Views88K


14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.

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

Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.


TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
Читать дальше →
Total votes 166: ↑166 and ↓0+166
Comments116

Программирование современных микроконтроллеров: лекция 1

Reading time16 min
Views89K
Конспект первой лекции по программированию современных микроконтроллеров на примере STM32 и операционной системы RIOT. Лекции читаются в Институте информационных технологий МИРЭА по субботам, с 12:50 в актовом зале на 4 этаже корпуса Д. В занятиях отводится 1,5 часа на саму лекцию и 3 часа на практические занятия в лаборатории IoT Академии Samsung по теме лекции.

Привет, Гиктаймс! Как мы и обещали, начинаем публикацию конспектов лекций, которые сейчас читаются в Институте ИТ МИРЭА. По результатам первой, вводной лекции мы решили немного изменить структуру курса — вместо планировавшихся двух потоков по 5 занятий будет один поток на 7 занятий. Это позволит в более спокойном темпе разобрать ряд вспомогательных вопросов, а также статьи с конспектом будут появляться на GT каждую неделю в течение всего марта и апреля, а не через неделю, как планировалось раньше.

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

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

Цель курса — освоение навыков, позволяющих свободно работать с микроконтроллерами на ядре ARM Cortex-M на современном уровне и, при наличии такого желания, двигаться в сторону дальнейшего углубления своих знаний.



Сегодняшняя лекция — первая, поэтому на ней будут разбираться общие понятия: что такое вообще микроконтроллер и зачем он нужен, что такое прошивка и как она получается, зачем нам нужна операционная система, и наконец — как работать с git. Результат практического занятия — собственный репозитарий на GitHub с исходными кодами ОС, а также успешно настроенная среда сборки на локальном компьютере.
Total votes 37: ↑37 and ↓0+37
Comments165

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис

Reading time9 min
Views38K
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies, а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История перевода книжки на русский тоже довольно поучительна — он начался как общественный проект группы энтузиастов: преподавателей российских и украинских университетов, а также русских сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного качества.

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



На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в Московском Физико-Техническом Институте
Total votes 50: ↑49 and ↓1+48
Comments68

Верификация цифровых схем. Обзор

Reading time9 min
Views19K

image


Я постараюсь в общем рассказать о верификации цифровых схем.


Верификация в данной области — это важный процесс, требующий привлечения опытных инженеров. Например, специалист по верификации, работающий над системами с ЦПУ, как правило должен владеть скриптовыми языками и языками командных оболочек (Tcl, bash, Makefile и т.п.), языками программирования (С, С++, ассемблер), HDL/HDVL (SystemVerilog [10, Appendix C — история языка][11], Verilog, VHDL), современными методологиями и framework’ами (UVM).


Доля времени, затраченного на верификацию, доходит до 70-80% от всего времени проекта. Одна из основных причин такого внимания в том, что к микросхеме нельзя выпустить “патч” после того, как ее отдали в производство, можно только выпустить “silicon errata” (это не касается проектов ПЛИС/FPGA).


Под цифровыми схемами я подразумеваю:


  • сложно-функциональные блоки/intellectual properties (СФБ/IP);
  • специализированные заказные микросхемы/application-specific integrated circuit (ASIC);
  • проекты программируемых логических интегральных схем/field-programmable gate array (ПЛИС/FPGA);
  • системы на кристалле/system-on-crystal (СнК/SoC);
  • и т.п.
Читать дальше →
Total votes 26: ↑25 and ↓1+39
Comments34

Ревизия #1. Ключ на старт

Reading time6 min
Views16K
Привет всем!

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

image

Райзеры с памятью в первой ревизии нашего сервера.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments43

Как подружить PCIe с 10-метровыми медными кабелями и 100-метровой оптикой

Reading time11 min
Views20K
Добрый день! Меня зовут Антон. В компании YADRO я занимаюсь хардверной разработкой.

В конце обзорной статьи про историю и развитие PCI Express Алексей упомянул о нашем собственном адаптере для внешнего подключения PCI Express (далее для краткости — PCIe) устройств посредством кабеля. Сегодня я расскажу, как мы его тестировали и отлаживали для правильной работы с разными типами и длинами кабельных соединений.


История тестов и конфигурирования
Total votes 40: ↑40 and ↓0+40
Comments20

PCI Express 4.0, кабели и все-все-все

Reading time9 min
Views34K
Раз уж мы затронули немножко в комментариях к предыдущей статье тему расширения PCI Express и вывода шины за пределы шасси, следует наверное рассказать об этом чуть подробнее.

Небольшой дисклеймер – информацию обо всем, о чем говорится ниже, можно найти используя Google. Мы, конечно, про некоторые вещи знаем гораздо больше подробностей, чем можем рассказывать исходя из условий NDA.
Рассказ будет длинным
Total votes 23: ↑22 and ↓1+21
Comments33

Технология MIPS SIMD и процессор Байкал-Т1

Reading time42 min
Views17K

Коллеги из Байкал Электроникс предложили поработать с процессором Байкал-Т1 [L1] и написать о своих впечатлениях. Для них это способ рассказать разработчикам о возможностях и особенностях своего процессора. Для меня — шанс поближе познакомиться с системой на современном процессорном ядре и в будущем изобретать поменьше "велосипедов", добавляя, к примеру, новую функциональность в проект MIPSfpga-plus [L2]. Ну и обычное инженерное любопытство, опять же...


Сегодня речь пойдет о векторном расширении архитектуры MIPS SIMD, которое доступно в ядрах MIPS Warrior P-class P5600 [L3], а значит присутствует и в процессоре Байкал-Т1. Статья ориентирована на начинающих разработчиков.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments13

Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети

Reading time7 min
Views47K

UPDATE 2020-11-06 Теперь проект поддерживает Ubuntu 20.04 Focal Fossa (LTS) и появился готовый вариант для сборки с использованием VMWare Horizon, наряду с FreeRDP.


logo ubuntu and windows
Изображение с сайта getwallpapers.com


История


В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.


Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся (отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.


Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:


  • Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
  • Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
  • Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments23

О процессе создания сервера – от идеи к деталям

Reading time6 min
Views30K
Здравствуйте! Меня зовут Алексей, я руковожу созданием оборудования в компании YADRO – координирую работу всех, кто так или иначе вовлечен в процесс разработки.

В конце прошлой статьи Максим maxf75 немного коснулся особенностей расположения разъёмов памяти. Сегодня я расскажу в целом про то, как мы пришли к тому варианту архитектуры и компоновки, над которыми работаем сейчас.


Вид проектируемого сервера сзади со снятой задней решёткой.

Технические подробности и немного общих соображений.
Total votes 35: ↑34 and ↓1+33
Comments64

Революция интерфейсов. USB 3.1 Type-C в деталях. Взгляд электронщика

Reading time10 min
Views330K
image

Редко бывает, что одна лишняя буква в названии стандарта грозит совершить революцию в мире интерфейсов передачи данных и гаджетов, но появление последней разновидности USB 3.1 Type-C похоже как раз тот случай. Что же нам обещает принести очередное обновление старого доброго USB интерфейса?
  • Скорость передачи данных до 10 GBps
  • Возможность запитывания от порта устройств с потребляемой мощностью вплоть до 100Вт
  • Размеры коннектора сравнимые с micro-USB
  • Симметричность разъёма — у него не существует верха и низа, а значит нет ключа, который часто приводит к повреждениям как самих разъёмов, так и подключаемых через них гаджетов
  • С помощью данного интерфейса можно запитывать устройства с напряжением вплоть до 20 вольт
  • Больше не существует разных типов коннекторов — А и В. На обоих концах кабеля стоят совершенно одинаковые разъёмы. Как данные так и питающее напряжение могут передаваться через один и тот же разъём в обоих направлениях. В зависимости от ситуации каждый разъём может выступать в роли ведущего или ведомого
  • Нам обещают, что конструкция разъёма способна выдерживать до 10 000 подключений
  • Возможно использование этого интерфейса для непосредственного подключения вместо некоторых других широко распространённых интерфейсов для быстрого обмена данными.
  • Стандарт совместим сверху вниз как c обычным USB 3 интерфейсом, так и с его младшими братьями. Конечно не на прямую, но с помощью переходника через него возможно подключение скажем USB 2.0 диска

Под катом постараюсь разобрать тему по косточкам — начиная от конструкции разъёма и кабеля, и заканчивая кратким обзором профилей оборудования и новинок чипов для поддержки возможностей данного интерфейса. Я долго думал на какой площадке размещать статью, ведь все предыдущие касающиеся этой темы выходили на GT, но в моей публикации так много технических деталей, что она будет полезней не гикам, а потенциальным разработчикам, которым уже сегодня стоит начинать к нему присматриваться. Поэтому рискнул поселить статью тут.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments138

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity