Эти схемы используются и ныне - например в обратной связи в радиоустройствах, для управления усилением. Да и виртуальная земля очень удобна, когда необходимо создать отрицательное и положительное напряжение без импульсных преобразователей напряжения.
2+2 умножить на 2 — действительно 8, если уж на то. Возможно, правильнее было бы написать 2+2, умноженное на 2. Но даже так, без интонационного акцента вариант интерпретации этого текста как (2+2)*2 более предпочтителен.
P.S. под отключить SD0, я имел в виду, оставить только тот интерфейс, к которому подключена SD-карта. У меня на плате к SD0 подключена EMMC FLASH, а микросд - к SD1
К MMC на цинке, похоже, относятся интерфейсы SD0 и SD1. Если в SDT отключить интерфейс SD0, то имя будет "/dev/mmcblk0___". p2 означает второй раздел.
Если вы хотите грузить систему с, например, USB или SATA диска, то надо указать в devicetree соответствующий файл устройства. Конкретное имя не подскажу, но можете его найти в интернете или выяснить эмпирически - включая и выключая различные устройства в дереве.
buildroot тоже не предполагает изменения собранного набора пакетов. Тем не менее, вы можете доставить туда opkg, настроить его, и устанавливать что душе угодно. Ну или там арч какой-нибудь поднять
Вполне работоспособно, разве что у вас FS будет readonly. Вернее, все изменения в рантайме вы в QSPI не запишете. А ещё на QSPI долго грузится прошивка. Прям сильно долго, я бы сказал. Думаю, полный образ (а это мегабайт 150) будет грузиться около часа
В следующей статье как раз буду писать, как разом собирать всё из buildroot. У него есть все настройки и для ATF и для U-Boot и для всего остального кроме FSBL и PMUFW.
Забавный момент, однако мы замечаем даже разницу между 0.2 и 0.4 мкс. Почему? Потому что таких задач много, и суммарно они дают очень хорошо видимые тормоза.
Кроме того, а про какие задачи речь? Калькулятор обычный? Наверно, конечно, если перейти обратно на дизайн сайтов эпохи web1.0, то их грузить будет гораздо проще, но это такое себе решение. В целом, современные браузеры представляют из себя структуру сложности уровня ядра ОС.
Современные задачи требуют больших мощностей, большой производительности на такт и высоких частот. Из-за большого объёма данных, которые надо обрабатывать в реальном времени. Самая распространенная задача такого рода - игры. Благодаря играм, высокопроизводительные процы являются распространенными, а соответственно дешёвыми, и я как радиоинженер могу позволить себе систему, которая считает модели за пару часов, а не за пару недель, и стоила она мне не несколько миллионов, а пару сотен тысяч.
К сожалению, плохо оптимизированный софт является прямым следствием дешёвого высокопроизводительного железа. Однако тут не новая архитектура нужна, а... Ну не знаю, ГОСТ какой-нибудь (не надо меня проклинать на годы диареи, пожалуйста, это просто шутка). И предлагаемая вами архитектура наоборот ухудшит ситуацию, так как писать код с высоким уровнем параллелизма тяжело, намного тяжелее эффективных околооднопоточных приложений - современная индустрия не простит вам кратного увеличения стоимости и(ли) времени разработки.
А кто будет раздавать задачи агентам и по какому критерию?
Как понять, нужны ли задаче FPU блоки, или предсказание переходов, например?
Кроме того, какой объем кэша должен быть у такого агента, будет ли он одинаковым у всех агентов или разным? Можно попробовать переложить задачу такого распределения на систему и ИИ какой-нибудь, однако, как мне кажется, такой подход только наоборот увеличит количество транзисторов у CPU, при этом с потерей в производительности. В целом, мне видится, что такая архитектура очень сильно упирается в скорость памяти и шин данных, а их ограничивает не техпроцесс, а физика длинных линий и скорость света.
К тому же стоит рассматривать верные сценарии использования - да, для браузера и офиса сойдёт и старенький i7-4xxx, или даже i5 (а мне его даже для разработки хватает), но как бы и в новых сериях есть аналоги. Какой-нибудь pentium последних поколений или ryzen3, особенно всяких U и HS серий (такие ставятся, например, в мини ПК). Однако обычно люди не запускают браузер и офис одновременно с играми. Почему некоторые люди для офиса покупают игровые процессоры - уже другой вопрос.
Эти процессы близки друг к другу, возможно даже используют какие-то общие переменные, да и выполняют они не что-то сложное, что имеет смысл разносить на разные ядра. Потому что разные ядра в связанных процессах сразу поднимают вопрос синхронизации памяти.
Вообще, кмк, если уж вы про эту проблему имели ввиду, то лучшим решением являются гетерогенные процессоры, где на "маленькие" ядра сгружается всякая бытовуха, и из довольно много (в новых интелах, вроде, 16 маленьких против 8 больших), а большие ядра работают редко но метко, так сказать - считают всякие фотошопы, физические модели и игры.
И даже так слишком увеличивать количество ядер неэффективно, так как у каждого ядра свой L1 кэш, а точный профиль даже простых задач нам до конца неизвестен.
Это уже решенное решение. К сожалению, оно не подходит для современных процессов. Дело в том, что каждая отдельная задача/поток совершают операции последовательно. Это буквально то, что им нужно делать, иначе никак — сначала нужно вычислить А, и из него вычислить Б; не получится делать это параллельно.
Те задачи, которые хорошо считаются параллельно, и при этом им не хватает SIMD возможностей CPU, уже давно считаются на GPU.
Сейчас bluepill с оригинальными stm32 найти тяжело, и даже клон там может оказаться "с особенностями". Так, мы недавно закупали с али 10шт таких, и приехавшие МК отваливаются в reset handler при отключении jtag пинов (у оригинальных такой проблемы нет, а отключение этих выводов "кубик" генерирует автоматически, если использовать SWD)
К тому же, я не просто так привел Nucleo - оригинальные в рублях стоят около 4000, и это при том, что их производится больше, и сам МК в них дешевле. Потому, я считаю, что с учётом того, что мдровские контроллеры дороже, и у этих плат, в отличие от китайских (да и даже от маленьких нуклео) грамотно сделана система питания и выведена периферия, цена вполне себе норм — не похоже, что они ставят большую наценку от себестоимости.
P.S. да, функционал данного контроллера не сильно отличается от f103 (хотя имеет пару необычных особенностей, мне понравилось)
Но, конечно, подороже, чем, например, STMовские Nucleo. С другой стороны, у ST объём производства и рынок больше, так что могут позволить себе меньшую стоимость.
Эти схемы используются и ныне - например в обратной связи в радиоустройствах, для управления усилением. Да и виртуальная земля очень удобна, когда необходимо создать отрицательное и положительное напряжение без импульсных преобразователей напряжения.
Сужение ДН антенны это и есть то, что называют ее усилением. Так-то антенна пассивное устройство, она ничего не усиливает
Эта информация нужна чтобы исправлять ошибки, когда система не грузится. Там показаны этапы - запуск модулей ядра.
Если же по какой-то причине у меня не будет грузиться, например, windows, то всё что я могу сделать - это переустановить её целиком.
2+2 умножить на 2 — действительно 8, если уж на то. Возможно, правильнее было бы написать 2+2, умноженное на 2. Но даже так, без интонационного акцента вариант интерпретации этого текста как (2+2)*2 более предпочтителен.
Можно зафиксировать за интерфейсами конкретные номера. Можно почитать в обновлённом разделе Device Tree (продолжение).
P.S. под отключить SD0, я имел в виду, оставить только тот интерфейс, к которому подключена SD-карта. У меня на плате к SD0 подключена EMMC FLASH, а микросд - к SD1
К MMC на цинке, похоже, относятся интерфейсы SD0 и SD1. Если в SDT отключить интерфейс SD0, то имя будет "/dev/mmcblk0___". p2 означает второй раздел.
Если вы хотите грузить систему с, например, USB или SATA диска, то надо указать в devicetree соответствующий файл устройства. Конкретное имя не подскажу, но можете его найти в интернете или выяснить эмпирически - включая и выключая различные устройства в дереве.
SoM и отладочные платы вполне присутствуют даже на алиэкспресс
buildroot тоже не предполагает изменения собранного набора пакетов. Тем не менее, вы можете доставить туда opkg, настроить его, и устанавливать что душе угодно. Ну или там арч какой-нибудь поднять
Вполне работоспособно, разве что у вас FS будет readonly. Вернее, все изменения в рантайме вы в QSPI не запишете. А ещё на QSPI долго грузится прошивка. Прям сильно долго, я бы сказал. Думаю, полный образ (а это мегабайт 150) будет грузиться около часа
В следующей статье как раз буду писать, как разом собирать всё из buildroot. У него есть все настройки и для ATF и для U-Boot и для всего остального кроме FSBL и PMUFW.
Забавный момент, однако мы замечаем даже разницу между 0.2 и 0.4 мкс. Почему? Потому что таких задач много, и суммарно они дают очень хорошо видимые тормоза.
Кроме того, а про какие задачи речь? Калькулятор обычный? Наверно, конечно, если перейти обратно на дизайн сайтов эпохи web1.0, то их грузить будет гораздо проще, но это такое себе решение. В целом, современные браузеры представляют из себя структуру сложности уровня ядра ОС.
Современные задачи требуют больших мощностей, большой производительности на такт и высоких частот. Из-за большого объёма данных, которые надо обрабатывать в реальном времени. Самая распространенная задача такого рода - игры. Благодаря играм, высокопроизводительные процы являются распространенными, а соответственно дешёвыми, и я как радиоинженер могу позволить себе систему, которая считает модели за пару часов, а не за пару недель, и стоила она мне не несколько миллионов, а пару сотен тысяч.
К сожалению, плохо оптимизированный софт является прямым следствием дешёвого высокопроизводительного железа. Однако тут не новая архитектура нужна, а... Ну не знаю, ГОСТ какой-нибудь (не надо меня проклинать на годы диареи, пожалуйста, это просто шутка). И предлагаемая вами архитектура наоборот ухудшит ситуацию, так как писать код с высоким уровнем параллелизма тяжело, намного тяжелее эффективных околооднопоточных приложений - современная индустрия не простит вам кратного увеличения стоимости и(ли) времени разработки.
А кто будет раздавать задачи агентам и по какому критерию?
Как понять, нужны ли задаче FPU блоки, или предсказание переходов, например?
Кроме того, какой объем кэша должен быть у такого агента, будет ли он одинаковым у всех агентов или разным? Можно попробовать переложить задачу такого распределения на систему и ИИ какой-нибудь, однако, как мне кажется, такой подход только наоборот увеличит количество транзисторов у CPU, при этом с потерей в производительности. В целом, мне видится, что такая архитектура очень сильно упирается в скорость памяти и шин данных, а их ограничивает не техпроцесс, а физика длинных линий и скорость света.
К тому же стоит рассматривать верные сценарии использования - да, для браузера и офиса сойдёт и старенький i7-4xxx, или даже i5 (а мне его даже для разработки хватает), но как бы и в новых сериях есть аналоги. Какой-нибудь pentium последних поколений или ryzen3, особенно всяких U и HS серий (такие ставятся, например, в мини ПК). Однако обычно люди не запускают браузер и офис одновременно с играми. Почему некоторые люди для офиса покупают игровые процессоры - уже другой вопрос.
Эти процессы близки друг к другу, возможно даже используют какие-то общие переменные, да и выполняют они не что-то сложное, что имеет смысл разносить на разные ядра. Потому что разные ядра в связанных процессах сразу поднимают вопрос синхронизации памяти.
Вообще, кмк, если уж вы про эту проблему имели ввиду, то лучшим решением являются гетерогенные процессоры, где на "маленькие" ядра сгружается всякая бытовуха, и из довольно много (в новых интелах, вроде, 16 маленьких против 8 больших), а большие ядра работают редко но метко, так сказать - считают всякие фотошопы, физические модели и игры.
И даже так слишком увеличивать количество ядер неэффективно, так как у каждого ядра свой L1 кэш, а точный профиль даже простых задач нам до конца неизвестен.
Это уже решенное решение. К сожалению, оно не подходит для современных процессов. Дело в том, что каждая отдельная задача/поток совершают операции последовательно. Это буквально то, что им нужно делать, иначе никак — сначала нужно вычислить А, и из него вычислить Б; не получится делать это параллельно.
Те задачи, которые хорошо считаются параллельно, и при этом им не хватает SIMD возможностей CPU, уже давно считаются на GPU.
А для чего вы make от sudo запускаете?
Так вот из-за кого мне приходится вводить капчу по несколько раз на день
Ну я же написал "доступный", а не "дешёвый" ;)
Сейчас bluepill с оригинальными stm32 найти тяжело, и даже клон там может оказаться "с особенностями". Так, мы недавно закупали с али 10шт таких, и приехавшие МК отваливаются в reset handler при отключении jtag пинов (у оригинальных такой проблемы нет, а отключение этих выводов "кубик" генерирует автоматически, если использовать SWD)
К тому же, я не просто так привел Nucleo - оригинальные в рублях стоят около 4000, и это при том, что их производится больше, и сам МК в них дешевле. Потому, я считаю, что с учётом того, что мдровские контроллеры дороже, и у этих плат, в отличие от китайских (да и даже от маленьких нуклео) грамотно сделана система питания и выведена периферия, цена вполне себе норм — не похоже, что они ставят большую наценку от себестоимости.
P.S. да, функционал данного контроллера не сильно отличается от f103 (хотя имеет пару необычных особенностей, мне понравилось)
Я у миландра на сайте нашёл ссылку:
https://ldm-systems.ru/catalog/milandr
Вот эти вполне доступные и вроде как сейчас в наличии (если верить каталогу):
https://ldm-systems.ru/product/19036
https://ldm-systems.ru/product/19001
Но, конечно, подороже, чем, например, STMовские Nucleo. С другой стороны, у ST объём производства и рынок больше, так что могут позволить себе меньшую стоимость.
Есть дистрибьюторы. Мб есть на ЧиД, смдру или аймаксай