Pull to refresh
286
0.2
Владимир @32bit_me

Программист

Send message

В защиту «взрывных» term sheets

Reading time4 min
Views1.2K
image

Аарон Харрис — 
бывший глава по Series A в Y Combinator



Существует много спорного контента, который утверждают, что «взрывные» term sheets (сроки действия которых истекает через определенное время, независимо от того, приняты они или нет) — это плохо. Некоторые исходят от фаундеров, которые не выдерживают давления; некоторые — от венчурных компаний, которые хотят поддержать своего фаундера. Однако реальность такова, что все term sheets «взрываются», главная для всех проблема — когда.

Я даже забегу немного вперед: Если бы не было «взрывных» term sheets, фаундерам было бы гораздо труднее привлекать средства. В хорошо организованном процессе привлечения инвестиций фаундеры в значительной степени его контролируют. Они могут диктовать, когда проводить питч и когда обнародовать информацию. В конечном счете, они решают подписывать ли им предложение и когда. В крайнем случае, это может привести к смехотворной ситуации: Питч в понедельник, предложения во вторник, подписание в пятницу. (Справедливости ради следует отметить, что иногда это работает.) Венчурным инвесторам остается контролировать только одно: сказать «да» или «нет» и когда это сделать.

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

Разработка 2-наносекундного излучателя лидара. Тестовое задание от Яндекс.Беспилотники

Reading time10 min
Views45K

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

Читать далее

Алгоритм Томасуло как фактор импортозамещения российских процессоров

Reading time7 min
Views44K

Проектированием простого процессора сейчас никого не удивишь. Любой способный студент может за пару недель написать на верилоге однотактный RISC-V или ARM процессор и синтезировать его для ПЛИС. Процессор будет работать на учебной плате и выполнять простые программы на Си и ассемблере.

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

На границе между вводным и продвинутым курсом микроархитектуры CPU принято ставить внеочередное выполнение инструкций, именно оно отделяет мальчика от мужа. Эта фича впервые появилась еще в 1960-е годы в суперкомпьютерах CDC 6600 и IBM 360/91, но проникла в персоналки с PentiumPro только в 1996 году и в Apple iPhone в 2012 году.

Именно внеочередное выполнение инструкций - главная козырная карта самого горячего процессорного проекта российской микроэлектроники - двухгигагерцового RISC-V процессора для ноутбуков от компании Ядро / Syntacore. Этот проект был объявлен в прошлом году. Что с ним станет в результате известных событий?

Читать далее

Как написать драйвер GPU в open source без реального оборудования

Reading time9 min
Views5.7K

Спустя шесть месяцев реверс-инжиниринга новые GPU Arm «Valhall» (Mali-G57, Mali-G78) получили свободные и опенсорсные драйверы Panfrost. Благодаря новому компилятору, патчам драйверов и хакингу ядра эти новые GPU почти готовы к переносу в основную ветку.

В 2021 году не существовало устройств Valhall, способных запускать основную ветвь Linux. Хотя отсутствие устройств являлось очевидным препятствием для разработки драйверов устройств, нет более подходящего времени для написания драйверов, чем момент, когда оборудование ещё не добралось до конечных пользователей. Разработка и распространение драйверов уровня качества продакшена требует времени, а мы не хотели, чтобы пользователям пришлось полагаться на блобы с закрытыми исходниками. Если разработку не начать до того, как устройство попадёт на прилавки магазинов, то к выпуску готовых открытых драйверов это устройство может уже достигнуть конца срока своей жизни. Но имея преимущество по времени, мы можем выпустить драйверы уже к моменту, когда устройства попадут к конечным пользователям.

В статье я расскажу, как нам это удалось.
Читать дальше →

Новости импортозамещения в пересечении тактового домена

Reading time2 min
Views13K

Если вы собираетесь собеседоваться в Apple или Байкал на одну из позиций по проектированию или верификации систем на кристалле (System-on-Chip - SoC), вам совершенно абсолютно точно нужно подготовиться к вопросам по пересечению тактового домена (Clock Domain Crossing- CDC). В SoC типа айфона есть много разных блоков, которые работают на разной тактовой частоте. Чтобы передача данных между ними не глючила, нужно 1) знать почему она может глючить; 2) владеть приемами, которые позволяют избегать этих глюков и 3) четко понимать как используемые приемы влияют на пропускную способность соединения.

Подготовиться к этой секции интервью нужно основательно. Если вы только почитаете про метастабильность в Харрис & Харрис и начнете выкручиваться в стиле ответов Алисы Тепляковой "а, метастабильность ... даа, синхронайзеры ... ммм ... асинхронные FIFO ..." - то тройку на экзамене у жалостливого преподавателя нетопового университета стран бывшего СССР вы может и вытяните, но хорошую работу в коммерческой компании не выиграете.

Как же подготовиться? В Америке по такому вопросу готовят на шестичасом семинаре, который стоит $800 с каждого ученика в классе. Но в России группа энтузиастов подготовила бесплатный семинар, на основе как открытых статей автора американского семинара Клифа Каммингса, так и практикума из МИЭТ и собственных лабораторных занятий.

Читать далее

Расширения и модули для Raspberry Pi Pico: хорошие и очень хорошие варианты для гика

Reading time4 min
Views15K

Микроконтроллер Raspberry Pi Pico появился в самом начале 2021 года. Он базируется на собственном чипе компании, который получил название RP2040. На его основе стали выпускать разные системы и другие вендоры одноплатников и микроконтроллеров, включая Arduino, Adafruit, Pimoroni и SparkFun. К слову, даже дефицит полупроводников не особо сильно сказался на объёмах производства чипов RP2040.

Raspberry Pi Pico, стоимость которого составляет $4, быстро стал очень популярным — его применяют как компании, так и просто любители электроники — для самых разных проектов. Для того, чтобы использовать все возможности системы, разработаны различные дополнения, модули и расширения. О наиболее интересных сегодня и поговорим.
Читать дальше →

Темное искусство функциональной верификации цифровых микросхем

Reading time3 min
Views6.1K

Сегодня, в субботу 26 февраля, на Сколковской Школе Синтеза Цифровых Схем Михаил Коробков проводит занятие по технологиям функциональной верификации: constrain solvers, cover bins и concurrent assertions. Примеры, которые мы подготовили для школы, вращаются вокруг протокола AXI для систем на кристалле, вопросы про который спрашивают например на интервью в хардверное отделение компании Meta и другие.

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

Суть деятельности Verification Engineer заключается в создание фреймворков, которые тестируют хардверные дизайны на прочность, посылая к ним псевдослучайные транзакции и учитывая покрытие интересных сценариев (functional coverage). Базовые элементы этих технологий должен знать и хороший RTL Design Engineer.

Приглашаем присоединяться к трансляции занятия на канале школы в YouTube, в субботу 26 февраля с 12.00 до 15.00:

Процесс верификации блока микросхемы:

Планы Intel до 2024 — самое главное

Reading time2 min
Views10K


В нашем блоге мы нечасто публикуем долгосрочные планы: они обычно не очень конкретны, имеют тенденцию корректироваться и в целом интересны скорее экспертам, нежели потребителям. Однако из любого правила есть исключения. На прошедшем несколько дней назад мероприятии для инвесторов руководство Intel озвучило весьма любопытные, на наш взгляд, перспективы по ключевым направлениям деятельности компании.
Если вам интересно, каким образом концепция «разноядерности» будет внедрена в серверные процессоры Intel Xeon и когда нам ждать наступления «ангстремной эры» — добро пожаловать под кат.
Читать дальше →

Объяснение фильтра Калмана в картинках

Reading time9 min
Views50K
image

Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.

Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Читать дальше →

Пишем 3D-рендерер в стиле первой PlayStation

Reading time14 min
Views19K
Я занялся новым хобби-проектом, который мне очень нравится. Я создаю вымышленную консоль, источником вдохновения для которой стали технологии эпохи PS1. Проект довольно масштабный, но сегодня я хочу поговорить о рендеринге, который стал моим первым шагом к его реализации. В этой статье я подробно расскажу о том, что узнал в процессе исследования PS1 и других ретроконсолей. И, разумеется, о том, как я реализовал рендеринг в вымышленной консоли, которую назвал Polybox. Я не буду объяснять рендеринг 2D-спрайтов, потому что это довольно просто, а статья и так вышла достаточно длинной.

Вот конечный результат, который я получил в консоли Polybox:


Polybox!
Читать дальше →

Как разработать микросхему, от идеи до результата. Часть 4. DRC/LVS/PEX

Reading time12 min
Views6.6K
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.




В этой части мы:

  1. Запустим Design Rule Check, чтобы проверить возможность произвести нашу схему
  2. Запустим Device Extraction для сравнения нашего Layout с целевой схемой.
  3. Произведём сравнение наших компонентов из Layout и нашей схемы, которую мы нарисовали в XSCHEM.
  4. Сгенерируем netlist с паразитными конденсаторами и резисторами (PEX).
  5. Просимулируем netlist с паразитными конденсаторами и резисторами.
  6. Сгенерируем LEF файл.
  7. Подведём итоги этой серии статей.
Читать дальше →

Живые классики фантастики и фэнтези

Reading time8 min
Views19K

Порой кажется и многие читатели придерживаются мнения, что автор становится классиком только после смерти. Его книги должны пройти проверку временем, сформировать отдельное направление или оказать значительное влияние на развитие жанра и культуры в целом, получить литературных последователей. Если спросить поклонников жанров о классиках фэнтези и фантастики, среди популярных имен точно будут Джон Толкин, Клайв Льюис, Роберт Говард, Говард Лавкрафт, Рэй Брэдбери, Фрэнк Герберт, Артур Кларк и Айзек Азимов. Однако и среди наших, еще живых и продолжающих творить, современников есть писатели, которые благодаря своим идеям и влиянию на жанры уже могут по праву называться классиками. И в отличие от своих предшественников, наследие которых определено и неизменно, они еще могут порадовать читателя новыми романами. И вот несколько тому примеров. 

Читать далее

Моделирования электроприводов, основы (для детей от 7-ми лет)

Reading time7 min
Views12K

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

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

Именно так пишутся все знаменитые методы, знаменитой Бауманки, по которым китайский язык можно выучить за ночь перед экзаменом.

Другие статьи по электроприводу от Юрия Николаевича:

Синхронные двигатели с постоянными магнитами на роторе: управление (синус и/или трапеция)

Электропривод с ШИМ – способ улучшения динамики контура тока

Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока

Модельно-ориентированное проектирование. Построение активного выпрямителя (на основе математической модели)

Читать далее

Реализации машины в qemu

Reading time5 min
Views8K

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

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

Читать далее

Базовые концепции аллокаторов

Reading time10 min
Views19K

Находясь в поисках какой-то агрегированной информации о стандартных приёмах, используемых при проектировании кастомных аллокаторов, я обнаружил, что существует достаточное количество статей о том, как аллокаторы работают в C++, каких-то базовых вариантах или наоборот очень специфических версиях, но ничего достаточно общего. Попался только замечательный доклад замечательного Андрея Александреску про неправильную архитектуру std::allocator и собственно базовые концепции построения своего нового самого крутого в мире аллокатора. Эта статья является довольно вольным переводом второй части его выступления с моими небольшими дополнениями. Конечно же, категорически рекомендую посмотреть оригинальный доклад, но, если вы любитель текстовых версий, прошу под кат.

Выделить знания...

Фразы, которых вы не должны слышать от опытного стоматолога (чем наш джун отличается от senior’а)

Reading time7 min
Views16K
image

— Пациент, вам так больно? А так?

Если стоматолог вас так спрашивает, то поздравляю: он не очень много понимает в своей работе. Либо вы находитесь в ОМС-клинике, и у врача просто нет подходящих инструментов для работы. Привычка спрашивать, больно или нет, характерна для интернов, которые ещё не до конца знают, что делают. В современной стоматологии пациенту не должно быть больно вообще в принципе. Достаточно долгое обезболивание, КТ, рентген, операционный микроскоп (а мы работаем только под ними) позволяют достаточно полно увидеть картину и не спрашивать. Как сказал один из моих пациентов с хорошим полисом: «Я больше никогда не вернусь в ОМС-стоматологию, потому что у вас быстро и вообще не больно». Так и должно работать.

— Этот инструмент уже не новый, но всё ещё рабочий. Можно его использовать? Ведь это экономно!

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

— Я не знаю, сколько времени это займёт, но сделаю как можно лучше.

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

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

Пошаговый запуск программы в Linux x86, или как добраться до main()?

Reading time18 min
Views25K


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

Многозадачность и многопоточность — распространенные заблуждения и недопонимания

Reading time11 min
Views24K

Когда я предложил перевести на русский мою последнюю статью Easy Concurrency with Python Shared Objects на английском, поступило предложение "написать в несколько раз короче и понятнее". Просьба более чем обоснована. Поскольку я уже порядка десяти лет пишу многопоточку и БД, то описываемые мной логические связи выглядели самоочевидно, и я ошибочно расчитывал на аудиторию из трех с половиной человек, которые сидят сейчас где-то в яндексе или гугле. Судя по всему, они там и сидят, но тема им не интересна, поскольку в питоне нет настоящих потоков, а значит для этих людей такого языка программирования не существует. Потому я немножко снижаю планку и делаю общий обзор проблематики параллельных вычислений для людей, которые в них разбираются, но не являются экспертами в области.


Из-за чего весь сыр-бор?

Читать дальше →

Архитектура PlayStation 3, часть 1: Cell

Reading time24 min
Views41K

В 2006 году Sony выпустила долгожданную игровую консоль "следующего поколения". Это блестящая (хоть и тяжелая) машина, чья базовая аппаратная архитектура развивает идеи Emotion Engine из PS2, то есть фокусируется на векторных вычислениях для достижения высокой производительности, даже ценой сложности.

В то же время, их новый "суперпроцессор", Cell Broadband Engine, был разработан в эпоху кризиса инноваций. Он должен будет идти в ногу с развитием тенденций в области мультимедиа.

Читать далее

Дебажим U-boot на реальном железе

Reading time6 min
Views16K

Продолжение предыдущей статьи, в которой мы ускорили разработку под embedded linux. Рабочая станция + sftp сервер + nfs сервер ускорили на порядок (10х) доставку изменений кода на целевое железо. Теперь не нужно часами компилировать код. В этой статье продолжаем очеловечивать разработку. На этот раз прикручиваем полноценную графическую IDE и пошаговую отладку кода на целевом железе с помощью программатора J-Link. Но пока только загрузчика U-boot. И автоматизируем развертывание рабочей среды разработчика с помощью Docker.

Читать далее

Information

Rating
4,922-nd
Date of birth
Registered
Activity