Pull to refresh
4
Алексей@f-tech

User

0,1
Rating
Send message

ЯВУ всё-таки не содержат неоднозначностей

UB в С/С++ и чудесная математика в JS смотрят на Вас с укоризной.

В 1970–80-е годы пиксель выходит за пределы лабораторий

Всё-таки значительно раньше:
- блинкерные табло на ж/д вокзалах появились в самом начале 60-х;
- бегущая строка на лампах накаливания - ещё до Второй мировой войны.

В статье не упомянули тот момент, что ИИ ходил на пересдачу 10 раз :)

During testing, GPT-5.4 attempted the challenge 11 times and succeeded once.

Despite the breakthrough, experts say AI reasoning remains experimental and inconsistent. Human mathematicians still need to verify every step of AI-generated solutions.

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

Вот подробности, которые удалось найти в открытом доступе:
https://epoch.ai/frontiermath/tiers-1-4/benchmark-problems (примеры задач)
https://bnaskrecki.faculty.wmi.amu.edu.pl/epoch/summary-anonym.pdf (отчёт самого Наскрэцки о ходе эксперимента)

Скорее в галлюцинации смешались попытка проверить Errata каких-то очень старых поколений (вроде правда были проблемы с GPIO), регистры от Cortex и странная логика реакции на ошибку.

Иногда есть смысл проверять фактическое состояние пина, например отловить КЗ по выходу. Но это делалось бы через GPIOx->IDR.

И ещё компилятор может начудить с while(1); и оптимизировать пустой по его мнению цикл. Сам в таких случаях использую while(1) __nop(); или аналоги.

Кто-то на чипах первой половины 1980-х запускает 3D шутер. А у кого-то на Core i7 рендер кнопки в браузере тормозит.

( Ушёл, стирая слёзы с седой бороды )

Глянул иллюстрации к прошлой статье. Получается, что (Тацп + Тсохр) всегда меньше того периода, в который требовалось уложиться. И мешал только вклинивающийся между этих операций процесс вычислений, верно?

А возможна ли была такая реализация, когда мы разделяем приоритеты задач: опрос АЦП и сохранение в EEPROM выполняются с высоким, а обработка данных - с низким? Сейчас поясню.

Нам понадобится два программных неблокирующих FIFO буфера. В один прерывание складывает данные от АЦП, а в другой функция обработки данных помещает результат.

Обработчик прерываний:
• В начале каждого цикла опрашиваем АЦП и помещаем данные во входной буфер.
• Если в выходном буфере есть данные для записи, стартуем цикл записи в EEPROM, иначе сразу выходим - пусть работает основная функция.

Функция вычислений (крутится в poll-цикле):
• Если во входном буфере появились данные, извлекаем их и обрабатываем.
• Если в результате получили полезные данные для записи, помещаем их в выходной буфер. Они будут записаны в EEPROM при старте очередного цикла.

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

Дополню сам себя. Я не очень понимаю, как этому чипу подавать входные данные. Потому что даже типичный рукописный символ потребует матрицы 64х64 при разрешении сканирования 300dpi. То есть 4К входных аналоговых параметров. В МРТ, как мне выдал гугл, матрица до 256х256, то есть 64К входных сигналов. Это столько ножек у чипа?!
(да-вы-угораете?!.jpg)

Значит, надо как-то организовать чипу ввод-вывод во вменяемом форм-факторе.

  • Вариант самый безумный: на материнской плате 4К миниатюрных лазерных диодов, N фотодиодов в качестве приёмников, в корпусе чипа тысячи отшлифованных microfiber выводов, ответный разъем такой же.
    PRO: скорость ограничена только временем включения-выключения лазерных диодов.
    CON: стоимость нескольких тысяч лазерных диодов.

  • Ввод данных по быстродействующему последовательному интерфейсу. Интерфейс аналоговый, уровни храним как DRAM, очень недолго (но нам хватит). Чтобы было ещё быстрее, используем multi-lane.
    PRO: вменяемое количество линий ввода-вывода.
    CON: нам по-прежнему нужны 4К лазерных диодов, только уже на чипе.

  • Вариант сродни предыдущему, но лазерных диодов сильно меньше. Мы их используем только как условные источники питания, а фотонный поток на входы нейросети делим и регулируем отдельными элементами. Что это может быть? На ум приходят микрозеркала (MEMS) или жидкие кристаллы.
    PRO: требуемый размер кристалла и его цену мы скорее всего уменьшили.
    CON: MEMS и ЖК имеют быстродействие переключения на порядки больше пикосекунд. Мы не можем использовать на полную быстродействие собственно фотонного перемножителя матриц.

С лучом света вы правы. А вот на печатной плате из текстолита FR4 сигналы распространяются примерно вдвое медленнее.
(Это очень грубо, без учёта частоты и соседних слоёв / дорожек)

Ух! В детстве первым компом был клон ZX Spectrum. До сих пор храню схемы как память ) И замечательная книга Ларченко и Родионова помогла научиться не только игрушки на нём запускать.

А потом, уже в сознательном возрасте, пришлось и археотехом заняться. Когда потребовалось эмулировать дисковод для старых японских ЧПУ. Всё, что можно было сделать "не как у современных IBM PC/AT", там было сделано. Интерфейс Shugart, формат дискеты с чередованием секторов 1:3, файловая система RT-11.

Много пафоса, мало фактов о том, как же это на самом деле работает.

Про нулевой нагрев – очевидно неправда.
- Затухание и рассеяние в оптоволокне никто не отменял.
- Лазерное излучение на входах чипа надо чем-то генерировать, а КПД маломощных полупроводниковых лазеров обычно не более 50%.
- Далее, если сами вычисления используют интерференцию, и на приёмнике случилось взаимное гашение волн (деструктивная интерференция), то где-то обязана случиться и конструктивная интерференция. С большой вероятностью эта энергия тоже уйдёт в тепло.

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

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

Честно говоря, нет. Чем меньше у отдела HR ресурсов, тем больше резюме станут рандомно отправляться в помойку. А токсичные практики никуда не денутся.

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

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

Спасибо за список. Allwinner и Rockchip довольно нишевые, кмк, я раньше в эту сторону не смотрел. Теперь буду иметь в виду.

Всем чипам из списка нужна внешняя NAND, большинству – DDR. Было бы честно плюсовать их к стоимости процессоров. В целом решение получается намного круче "голого" STM32F7xx, это очевидно.

Но иногда такие объемы памяти просто не нужны. А нужен deep sleep с потреблением в несколько мкА и сохранением состояния системы.

Что было в моем случае: если упрощенно - приемник и ретранслятор. Слушал несколько каналов (цифровой поток порядка 1 Mbps); демодуляция, декодирование и разбор протокола – в софте. Снаружи там чисто аналоговая часть, выход компаратора с детектора огибающей смотрел прямо в чип.

Сохранял услышанное на SD карту. Что-то должен был передать дальше. Собственно, большую часть SRAM съели буферы, сам код и логика были достаточно простые. Батарейное питание. Конфигурация – через файл на той же SD карте.

Точную модель контроллера уже не вспомню, простите. Что-то из F7хх серии в корпусе LQFP-144.

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

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

Предвидя возражения, уточню: это не про затягивание разработки (сроки и TTM никто не отменял), а про окупаемость затрат на "мозги" и на "сделать хорошо".

Процессоры под линукс зачастую дешевле

Не соглашусь с формулировкой. Иногда дешевле, но не зачастую.

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

Инструмент выбирается под задачу. Где-то линукс в самый раз, где-то RTOS, и там тоже есть драйвера периферии и различные стеки "из коробки". А иногда приходится отказываться не только от ОС, но и от HAL библиотек, и делать закат солнца вручную. Глазами отсматривать, какой ассемблерный код сгенерил компилятор и бороться, без преувеличения, за несколько тактов на самых горячих участках. Задачи разные бывают, как и железо.

Что выгоднее: влить деньги в "железо подороже + Linux" или "железо подешевле + bare metal + ФОТ", тоже зависит от вводных. Это если по уму. А если жить по принципу "пофиг на себестоимость, за все платит пользователь", то мы с этого и начали ветку )

Почти :)

Например, ужался и в STM32F7xx серии влез в младшую модель на $1.4 дешевле (там цены в районе $10). А тот чип еще и в корпусе LQFP-144 вместо LQFP-208 (допустим линий I/O нам хватает там и там). Это 64 точки пайки, примерно по $0.01 каждая. Чуть меньше надо места на плате, чуть проще трассировка, чуть выше ремонтопригодность...

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

Борьба за проценты все еще выгодна, только уже в другой области – где используют слабые однокристаллки (SoC). Там "влез" по памяти и быстродействию в более дешевый чип – сэкономил, например, $2 на каждом устройстве. А серия в 10 тыс. штук. Как правило профит в $20k окупает содержание программистов, умеющих в оптимизацию.

Потому что в любом варианте транскрипцией адекватно звучание все равно не передать.
На слух его кто-то мог бы записать и как Хван Ен-Шин.

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

Имелись в виду совсем старые клавиатуры, времён первых IBM PC/XT и AT

Вот такие

1

Information

Rating
3,832-nd
Location
Россия
Registered
Activity

Specialization

Инженер встраиваемых систем, Системный инженер
Старший
C
Программирование микроконтроллеров
Embedded linux
Разработка драйверов
Обратная разработка
Git
Английский язык