Обновить
23

Инженер

21
Подписчики
Отправить сообщение
Нет, я не утверждаю, что кривой нет. Просто зачастую график бывает повернут на 90 градусов, и в определенной зоне мы так же видим наклонную кривую. Но это не значит, что все нормально и вы можете предсказывать причину по следствию.
Верно. Но вот, например, в магазине Твой Дом продается очень вкусный батон собственной выпечки, в последний раз я его брал за 9 с чем-то рублей. Это гораздо дешевле, чем вчерашний батон в магазине у дома. Но никто его ажиотажно не берет. Не приезжают за ним пенсионеры с бесплатным проездом. Никто не увозит все эти батоны кормить свиней. Батоны покупают те, кто ходят в этот магазин, а ходит каждую неделю примерно одинаковое количество людей.
Поэтому я считаю, что вопрос вполне корректен. Вообще, самые корректные ответы будут про себя, потому что про других мы ничего особенно не знаем. Вот Вы — будете больше брать пирожков, батонов?
Ваш вопрос имеет смысл. Вы правы, кто-то станет их покупать, кто раньше не покупал, это даст рост продаж в несколько раз (2-3), но не в 100. Никто из живущих по соседству не перейдет на питание одними пирожками.
Но мой вопрос — для проверки закона эластичности спроса. В соответствии с этим законом мы ожидаем, что есть некая (возможно, непрерывная) кривая, и при падении цены в 100 раз мы увидим значительный рост потребления.

В вашем варианте вопроса мы проверяем гипотезу, что у некоторых людей была недостаточная покупательная способность и только поэтому они не покупали пирожки. Мы можем проверить это: давайте оставим цену 40р, и каждому, кто сегодня в супермаркете пробил чек, но не купил пирожок, будем начислять по 40р на банковскую карту. Теперь у них есть деньги на пирожок. Они купят его в следующий раз? Кажется, опять нет, хотя подари вы им пирожок на кассе, они бы его взяли.
Все дело в том, что на спрос влияет куча факторов, и цена очень часто не является решающей. Если мы снизим цену на лак для ногтей в 10 раз, добьемся ли мы, чтобы его покупали хотя-бы 25% мужчин? Конечно, нет. Вот формулировка Гейтса объясняет, почему это так, а кривая эластичности спроса — нет.
Давайте отделим законы действия экономической системы от своего отношения к ним. Если в экономике есть некоторые эмпирические законы развития, мы не можем повлиять на них через свое отношение. Вообще, любая теория развития, эмпирическая или строго научная, дает нам результат через полезные следствия или предостережения. Например, нам может не нравиться водородная бомба, но термоядерный синтез от этого никуда не денется, и все, что мы можем — пользоваться физикой для улучшения жизни и предсказания последствий, не более того.
Создание ажиотажного спроса было всегда, даже в докапиталистическую эру, как и манипуляции спросом и предложением. Например, в книжке Талеба приводится история Фалеса Милетского, описанная Аристотелем (ее легко нагуглить по этим трем именам). Фалесу позавидовал бы сейчас и Сорос.

Я приведу вам пример, что и с обычными товарами не всегда работает типичная «кривая эластичности», которую нам преподавали.
Вот в ближайшем супермаркете продаются пирожки с капустой по 40р. Время от времени вы покупали пирожок, скажем, раз в месяц.
Теперь пирожки подешевели и стоят 40 копеек. Что, вы станете покупать по 100 пирожков в месяц? Или, иначе, сколько пирожков вы теперь будете покупать?
Это очень важная мысль, на самом деле. Рассуждение Гейтса реально несет смысл. Предложение следует за спросом, спрос растет, растет и предложение, и поэтому цена падает. А не цена падает из-за роста предложения. То есть причина экономического процесса — растущий спрос.
А нас учили (в техническом ВУЗе, один семестр) наоборот: во главу процесса ставилась цена, с понижением цены возрастает спрос. Но эта логика довольно порочна, получается, что причина всего процесса — падающая цена, хотя легко заметить, что падающая цена на продукт, который вам совсем не нужен, не порождает спрос. Это на самом деле кривая логика, и из-за нее мне казалось, что на курсе экономики нас держали за идиотов.
Объяснение Гейтса прекрасно работает сейчас во многих отраслях сегодняшней глобальной экономики, а привычное объяснение нет. Возьмите, хотя бы, все что продается на Aliexpress или в магазине приложений Google Play.
В отношении ресурсов (металл, уголь) классическое объяснение наверняка работает и сейчас, но это просто неполная модель с кучей ограничений.
Спасибо, теперь понятно. Я отмечу это в теле статьи! Кстати, не хотите написать об этом на хабре? Начало уже положено.
Простите, но ваш ответ напоминает крылатую фразу про «Вы уже перестали пить коньяк по утрам?»
Писать статьи и связно излагать свои выводы довольно трудно, но я постарался максимально прозрачно написать.
Вы не согласны с написанным. Попробуйте тогда так же понятно пояснить.
Мне непонятен ваш комментарий. Почему нужно смотреть не bl1, а bl32, что там нужно увидеть. И к чему замечание про CPSR? Я про него не говорил.
Что касается обработки PSCI — приведите пример, пожалуйства. Специально посмотрел сейчас ARM Trusted Firmware (https://github.com/ARM-software/arm-trusted-firmware/blob/master/bl1/aarch32/bl1_exceptions.S) и не вижу там выполнения собственно кода вызова в режиме Secure Monitor.
Насколько я вижу, код Secure Monitor переключается в режим Secure, находит соответствующую номеру вызова Entry point и перенаправляет исполнение на нее при выходе из режима Monitor. А уж entry point может указывать как на точку входа ОС, либо на точку входа в Fastcall — для управления питания.
Если я не прав — приведите пример, пожалуйста.
Спасибо за комментарий. Да, я имел в виду, что не во всех SoC это действительно присутствует.
Точно, ошибка вышла. SAM-BA называется только программа для PC. А загрузчик называется Boot Program (например, на AT91SAM9G20). Не очень выразительно, вот я и перепутал.
Вот Boot Program — это как раз ROM предзагрузчик и есть.
Эту атаку можно использовать не только для TrustZone. Просто TrustZone в действительности довольно классно защищает доверенную зону и поэтому атаковать TrustZone — это очень эффектно. Еще уместно вспомнить Row Hammer.

Вообще, это вопрос модели угроз и дефект дизайна устройства, а не TrustZone, как технологии. Как раз TZ позволяет ограничить доступ почти к любым устройствам из Normal World. Поэтому, будь в модели угроз устройства предположение о манипуляции рабочей точкой CPU (напряжение, частота), эта атака легко была бы предотвращена. То есть, закрываем от Normal World эту функциональность и делаем вызов TEE для этой операции. Linux/Android будет вызывать TEE для изменения режима, что при нормальном функционировании не будет влиять на производительность. А на момент, когда TEE что-то вычисляет, вызовы по изменению рабочей точки будут задерживаться или блокироваться. Можно еще ограничить частоту вызовов или выполнять их со случайной задержкой.

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

Но в любом случае, все тайное становится явным, и в TrustZone не стоит хранить, конечно, самый главный ключ, который нельзя знать никому. Рано или поздно девайс подключат к внешним источникам питания, генераторам частоты, нагреют, охладят, просверлят отверстия, придумают еще одну атаку и достанут ключик. Поэтому наши регуляторы очень мудро ограничивают сроки жизни ключей в устройствах 1-3 годами, в зависимости от применения.
Да, создатели малинки молодцы. Я не хочу даже с этим спорить. И не хочу провоцировать вас на спор.
Просто скажите, сколько примерно, по вашему опыту, стоит заказать у Broadcom чип типа BCM2837 с нужным содержимым масочного ROM? Просто у меня есть свой опыт в этом вопросе, хочу сравнить.
Спасибо, вот это ценно! Малинка огонь, рвет шаблоны…
Ну что спорить… Я же и говорил, что предзагрузчик — простая программа.
Кстати, минимальный размер Flash, с которой ESP8266 будет работать — 512к…

А по поводу WiFi — в Raspberry разве процессор со встроенным радиомодулем? Нет? Тогда велкам поддерживать все варианты подключения внешнего радиомодуля и все варианты самих модулей. То есть — и варианты подключения по SDIO к разным портам, и всякие SPI. Посмотрите на вполне классический bcm4330, сколько там нужно подключений.
Речь идет ведь о включении в масочный ROM, который должен подходить максимально для всех. Если это ESP8266, то там все понятно, из чипа торчит уже антенна. А если мы говорим о MPU/MCU общего применения, то это далеко не так.
Если stm32F407 впритык, то посоветовать сложно. Типовой ARM926 может будет быстрее вашей STM-ки всего в пару раз. На перспективу развития проекта может хватить или не хватить.
С другой стороны, есть большой выбор из Cortex-A с частотой 0.5-1ГГц и даже с несколькими ядрами, но без Linux там будет сложно запускаться.
Даже ARM926 — это уже ненужное усложнение проекта, если он живет нормально на STM32. Сейчас есть выбор из MCU на Cortex-M7, может туда посмотреть?
То, что вы говорите про парсинг пакетов — это как раз работает хорошо с Ethernet.

С WiFi нет однозначности. Разные сети, логин, пароль, частоты в разных странах. С Ethernet/DHCP/TFTP этого нет. Плюс криптография и довольно сложный протокол, все же.

Насчет низкоуровневого кода — если не на ассемблере, то 64к довольно быстро забиваются.
Да, в Raspberry Pi 3 это делается средствами предзагрузчика. Там загрузка по Ethernet, протоколы TFTP и DHCP, оба не слишком тяжелые. Вполне можно написать код под ARM, вмещающий эти протоколы и LwIP или uIP, который влезет и в 64k.

Вот когда Raspberry Pi будет из предзагрузчика грузиться по WiFi — это будет сложный стек протоколов…
Спасибо за добрые слова!
Под bare-metal вы подразумеваете использование без большой операционки? Нет ничего невозможного.
Можно начать с u-boot, посмотреть, как он работает. Далее, с u-boot можно запустить свою маленькую RTOS или программу. Только, если запускаете RTOS, то надо пускать ее как Linux, командой bootz, а не bootm, в этом случае u-boot выключит MMU, cache и т.п.
Потом, посмотрев на u-boot, можно загрузить свой софт и без него. Если повезет, бывают и bare-metal примеры программ, и порты RTOS на конкретный процессор.

Если выбирать между перечисленными вами, я бы начал с MT6235, потому что он ARM926EJ-S. По своему опыту могу сказать, что эта архитектура для таких применений удобнее, там все значительно проще.
Вообще Cortex-A не очень удобен для работы на голом железе, хотя мы и работаем на нем. Суммарный объем документации раз в 10-20 больше, чем у ARM926. Усилий по включению разных блоков, шин, настройке PLL, частот, MMU, кешей, питания, сброса будет больше.
Linux можно запустить и на m68k. Жаль, нет у меня такого железа :)
Есть uCLinux. Другой вопрос — зачем? Но используется, например, в промавтоматике. Например, этот конвертер RS-Ethernet.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность