Pull to refresh
6
0

Пользователь

Send message

Для любителей ПЛИС-ов, ASIC-ов, архитектуры и микроархитектуры — еще про семинары и про конвейеры

Reading time3 min
Views7.6K
Коллеги: как вы возможно уже знаете, компания Imagination Technologies (известная как разработчик GPU внутри Apple iPhone + продолжатель культового проекта Стенфорд/MIPS) вместе с РОСНАНО+МИСиС+МГУ+МФТИ+МИЭТ в Москве, ИТМО в Питере и киевских активистов из КПИ и КГУ — проводит серию семинаров по разработке микросхем и программированию встроенных микропроцессоров. Самый ближайший из этих семинаров будет уже на следующей неделе (18-20 октября в Алма-Ате). В этом посте — текущее почасовое расписание семинаров и немножко эстетичных изображений конвейеров встроенных микропроцессорных ядер, о длине, максимальной частоте и энергопотреблении которых мы немножко поговорим во время семинаров.



Итак расписания:
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments10

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time2 min
Views247K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3+111
Comments68

Тариф «100к+», или как вельми зело огорчить спамера

Reading time12 min
Views65K

Уже не впервые сталкиваюсь, что читатели Хабра не все поголовно умеют правильно бороться со спамом. И я не про SpamAssasin, «Ктозвонил» и прочие приложения для фильтрации информационного мусора, а про несложную, но весьма доставляющую всем сторонам процесса подачу жалобы в ФАС.

Давайте расскажу, как буквально за 15 минут не отрываясь от любимого компьютера подключить спамеру задораздирающий тариф линейки «Административный»: «Административный 100к», «Административный 150к» и вплоть до «Административный 500к» – как повезет.
Читать дальше →
Total votes 207: ↑203 and ↓4+264
Comments259

Как вести переговоры с террористами… партнерами, детьми и вообще с кем угодно

Reading time11 min
Views92K

Есть настоящие профи по управлению проектами или те гении, которые придумывают изящные решения для заказчика. Однако почти в каждом, даже самом многообещающем проекте рано или поздно возникают проблемы. Иногда эти проблемы принимают монструозные масштабы, и команда проекта уже не может справиться с ними самостоятельно. И я тот самый человек, который их решает. Как я это делаю - тема отдельной статьи. Почему практически  каждый раз получается? Ответ прост: всегда  полезен взгляд со стороны. Однако наступил момент, когда этого оказалось мало. Я вляпался в настоящий факап, и единственным выходом из него были переговоры. 

Читать далее
Total votes 152: ↑149 and ↓3+185
Comments177

Физически неклонируемые функции, основанные на частотах

Reading time5 min
Views5.7K

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

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments12

[Пятничное] Теория Жоп

Reading time5 min
Views227K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 399: ↑388 and ↓11+473
Comments107

Сложение двух чисел с плавающей запятой без потери точности

Reading time9 min
Views79K
Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

s = a+b;
z = s-a;
t = b-z;

то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

Total votes 99: ↑97 and ↓2+135
Comments172

Учебный видео-курс по арифметике с плавающей запятой в формате IEEE-754. Часть I

Reading time4 min
Views5K
Арифметика с плавающей запятой хорошо понятна далеко не всем программистам. Раньше я работал в разных IT-фирмах и с удивлением обнаруживал, что даже опытные программисты теряются, когда возникает задача подобрать $\varepsilon$ для сравнения двух чисел с плавающей запятой в коде вроде такого:

if (abs (a-b) < EPS) . . .

Они наивно выбирали одно и то же число типа 1e-8 для всех своих проектов, создавая тем самым потенциальное место проявление суровых ошибок. Более того, они пытались сравнивать два числа типа double вот так:

if (a < b) . . .

не понимая, за что же я их ругал, когда видел подобные глупости. Я уже не говорю о том, какой ужас могла вызвать константа типа 0x400921fb54442d18 (всего лишь число $\pi$), которую можно увидеть в некоторых старых программах или на экране отладчика.


Читать дальше →
Total votes 11: ↑7 and ↓4+8
Comments5

Проблемы репрезентации Империи в Звёздных войнах

Reading time11 min
Views39K

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

Читать далее
Total votes 125: ↑114 and ↓11+140
Comments130

Всё, что вы хотели знать о динамическом программировании, но боялись спросить

Reading time12 min
Views244K
Я был крайне удивлён, найдя мало статей про динамическое программирование (далее просто динамика) на хабре. Мне всегда казалось, что эта парадигма довольно сильно распространена, в том числе и за пределами олимпиад по программированию. Поэтому я постараюсь закрыть этот пробел своей статьёй.

# Весь код в статье написан на языке Python

Основы


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

Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Читать дальше →
Total votes 110: ↑100 and ↓10+90
Comments33

Как это сделано: Оптика для EUV/BEUV литографии

Reading time10 min
Views35K

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

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

Читать далее
Total votes 142: ↑142 and ↓0+142
Comments93

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

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

Вся правда о Soft skills

Reading time10 min
Views29K

Хорошим программистом быть нетрудно — надо всего лишь постоянно учиться. Фреймворки обновляются ежегодно, а популярные языки программирования рождаются каждые пять лет. Вместе с ними нужно изучать инструментарий, лучшие практики, паттерны проектирования и бог знает, что ещё.

Двадцать лет назад все изучали Delphi. Сейчас проекты на Delphi — это глубокое legacy, и все изучают Go. Десять лет назад каждый фронтендер использовал jQuery, а современные фрондендеры могут даже не знать, что это такое.

Так что, правда, учиться надо постоянно.

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

А нужны ли?

Читать далее
Total votes 33: ↑24 and ↓9+24
Comments92

Искусство отладки FPGA: как сократить срок тестирования за счет грамотной разработки

Reading time15 min
Views6K

Давайте попробуем оптимизировать самый времязатратный этап разработки устройств на базе ПЛИС — отладку прошивки. В этой статье мы расскажем о принципе 20/80 при планировании времени, рассмотрим инструменты для отладки FPGA, вспомним Гордона Мура и Уинстона Черчилля (да-да), затроним отладку сложных распределенных систем и внешних интерфейсов, а в конце — разберемся с типичными ошибками и поделимся полезными практическими советами.

Для начала рассмотрим типовой цикл разработки и моделирования FPGA-прошивки:

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments6

Что такое Закон Мура и как он работает теперь? Разбор

Reading time5 min
Views38K
Закон Мура гласит: “Количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца”. Вы наверняка слышали про этот закон. А еще вы наверняка слышали, что он больше не работает.



Но, если посмотреть на реальные цифры реальных процессоров, мы увидим, что Закон Мура, удивительно точно работает по сей день, вот уже 50 лет.

Тем не менее, мы с вами на собственном опыте чувствуем, что прогресс замедлился. Несмотря на двукратный прирост транзисторов, мы не видим двукратного прироста производительности. Поэтому сегодня мы разберёмся. Что не так с Законом Мура?


Но самое интересное, что важный перелом произошел на рубеже нулевых и 2010-х. И нужны были новые решения.

С какими сложностями столкнулось человечество и как мы их обошли? И чего нам ждать, когда закон Мура действительно перестанет работать?
Total votes 8: ↑6 and ↓2+6
Comments21

Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит

Reading time6 min
Views23K

title


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


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


Установка


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


Итак, для запуска приложения у себя на компьютере нужно выполнить следующие команды:


docker pull lingtrain/aligner:v4
docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data и C:\app\img — это папки на вашем компьютере.


Контейнер скачается с репозитория Docker Hub и запустится на 80-м порту. Откроем приложение в вашем любимом браузере по адресу localhost.


Lingtrain app 1


Сделаем три шага: загрузка, выравнивание, генерация.

Смотреть демо
Total votes 60: ↑59 and ↓1+74
Comments45

Лотерея Green Card DV-2022: россиян оставили за железным занавесом. Есть ли шанс получить визу?

Reading time7 min
Views181K

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

Read more
Total votes 42: ↑24 and ↓18+16
Comments120

Intel eASIC N5X — «структурированный ASIC» для 5G и AI

Reading time3 min
Views4.2K


В 2018 году Intel приобрела eASIC — разработчика «структурных ASIC», интересных и перспективных устройств, представляющих собой нечто среднее между классическим ASIC и FPGA. Далее в течение нескольких лет компания использовала ранее сделанные наработки, и вот мы фиксируем знаковое событие: анонсирована новая линейка eASIC N5X, которая совместима с FPGA компании, то есть имеет полное право называться Intel eASIC N5X, продуктом следующего поколения с улучшенной архитектурой и 16-нм техпроцессом.
Давайте посмотрим на характеристики этой линейки, а заодно вспомним, что представляет из себя «структурированный ASIC».
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments8

Английская королевская почта: как Елизавета II отвечает на письма и не только

Reading time6 min
Views23K

Несколько дней назад в королевской семье Британии разгорелся нешуточный скандал. Все дело в интервью, которое дали Опре Уинфри принц Гарри и его супруга Меган Маркл. Уверены, вы видели об этом не только новости, но и кучу мемов.

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

Читать далее
Total votes 20: ↑16 and ↓4+15
Comments9

За один проход

Reading time7 min
Views155K
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:

Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Другие задачи
Total votes 73: ↑72 and ↓1+71
Comments56

Information

Rating
Does not participate
Location
Россия
Registered
Activity