mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 3 минуты назад, jcxz сказал: Из этого можно предположить, что размер кеша там варьируется от 128КБ до 512КБ. Да х.з. мне показалось, что это их представление о ТСМ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 03.06.2022 в 11:30, mantech сказал: Да х.з. мне показалось, что это их представление о ТСМ. TCM vs Flash - какая может быть связь?? Также видим: Т.е. - это явно возможность конфигурирования размера кеша. Это очень(!) хорошие возможности кеширования. Я так понимаю - NUC907 тут отдыхает. Да - в моделях с 1МБ флеша, кешируемыми могут быть только нижние 512КБ. Но имхо - это не страшно. Вряд-ли для абсолютно всего объёма кода/данных необходим максимально быстрый доступ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 (изменено) · Жалоба 8 минут назад, jcxz сказал: TCM vs Flash - какая может быть связь?? Я не про то, под кэшем я подразумеваю не флеш-ускоритель, а нормальный кэш данных и инструкций в ядре, как в М7 и А серии кортексов... Ну или L1 кэш, как его в процах именуют. Изменено 3 июня, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 03.06.2022 в 11:42, mantech сказал: Я не про то, под кэшем я подразумеваю не флеш-ускоритель, а нормальный кэш данных и инструкций в ядре, как в М7 и А серии кортексов... Ну или L1 кэш, как его в процах именуют. "без кеша совсем" и "кеш не в ядре" - это совершенно разные понятия? Не находите? Многократно разные по скорости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 183 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 2 часа назад, dimka76 сказал: Если Линукс не нужен... Для моих задач линукс как раз был бы нужен, ибо это позволило бы снять с себя часть задач и возложить их на программистов линуксы. Цитата https://www.arterychip.com/en/product/AT32F437.jsp Спасибо, для себя принял на вооружение. Интересный экземпляр, но логистику и доступность нужно ковырять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 15 минут назад, Arlleex сказал: и возложить их на программистов линуксы. Ну да, есть разумное зерно)))))) 27 минут назад, jcxz сказал: "без кеша совсем" и "кеш не в ядре" - это совершенно разные понятия? Вопрос терминологии. По мне, флеш-ускоритель и нормальный кэш - это разные понятия, т.к. в посл. время использую подход, когда программа и данные находятся в ОЗУ, при том, что флеш-ускоритель мне никак бы не помог, а вот кэш данных и инструкций - совсем другое дело. Вообщем на вкус и цвет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 62 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба On 6/3/2022 at 12:17 PM, mantech said: Вопрос терминологии. По мне, флеш-ускоритель и нормальный кэш - это разные понятия, т.к. в посл. время использую подход, когда программа и данные находятся в ОЗУ, при том, что флеш-ускоритель мне никак бы не помог, а вот кэш данных и инструкций - совсем другое дело. Вообщем на вкус и цвет... В контексте данной темы NUVOTON ARM9 300 МHz, что какой вам даст выигрыш наличие кэш по отношению к Cortex-M4 288 MHz ? По DMIPS ARM926EJ-S примерно 1.2 DMIPS/MHz Cortex-M4 примерно 1.25 DMIPS/MHz. Зато Cortex-M4 более современное ядро, например по interrupt latency легко обыграет ARM926EJ-S. На вычислениях думаю тоже обыграет. Единственный плюс данного NUVOTON это возможность установить линукс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба 48 минут назад, dimka76 сказал: По DMIPS ARM926EJ-S примерно 1.2 DMIPS/MHz Cortex-M4 примерно 1.25 DMIPS/MHz. Это быстродействие ядра, причем "в вакууме", т.е. нет никаких задержек доступа к данным и инструкциям, то, что в реальности это далеко не так, думаю понятно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба В 03.06.2022 в 14:47, mantech сказал: Это быстродействие ядра, причем "в вакууме", т.е. нет никаких задержек доступа к данным и инструкциям, то, что в реальности это далеко не так, думаю понятно... Глядя в мануал этого AT32F43x, трудно понять - как именно подключено ядро к кешу инструкций? Судя по BusMatrix шины ICODE/DCODE имеют отдельный путь к FLASH. Но по какому пути идут обращения, когда кеш включен? По ветке SRAM? Или же включение блоков ОЗУ в состав кеша FLASH, переносит эти блоки как бы в состав FLASH и тогда обращение к ним будет идти по ветке BusMatrix "FLASH"? Мне думается - 2-й вариант более вероятный. А значит задержек доступа к инструкциям почти не будет. Даже с учётом того, что эта шина шириной всего = 32 бита. Но ведь работает она на частоте ядра. Но даже если там вариант N1 подключения, то самому программисту никто не мешает разнести быстрый код и данные этого кода, в разные блоки SRAM1/SRAM2. PS: Или отчего, по вашему, такие задержки должны возникать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 (изменено) · Жалоба 6 минут назад, jcxz сказал: Мне думается - 2-й вариант более вероятный. Может и так. Не берусь утверждать, забыл уже просто, но смутно помню, что ширина шины у кэша 64 бита была и т.к. проц использует конвейер, то может 32х бит и не хватить... ЗЫ. Когда начинал осваивать процы кортекс А, а именно IMX6S, то в первую очередь сделал простую тестилку производительности, запустил проц с программой в ДДР и статической памятью, с кэшем и без, так вот в случае с ДДР скорость без кэша в 40!!! раз медленнее, ну и понятно, к ДДР доступ медленный, но в случае со статикой меня очень удивило - 10 раз разница, хотя по частоте она только в 2 раза медленнее 800 проц 400 статика, и шина 32 бита у нее была тоже... Вот и делаю выводы. Изменено 3 июня, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба В 03.06.2022 в 15:25, mantech сказал: Может и так. Не берусь утверждать, забыл уже просто, но смутно помню, что ширина шины у кэша 64 бита была и т.к. проц использует конвейер, то может 32х бит и не хватить... Конвейер - это Вы наверно про M7? А здесь M4, где ничего такого нет. И M4 всё равно не может поглощать команды быстрее чем 1 инструкция/такт. Единственный момент - это возможность спаривания инструкций загрузки/выгрузки. Вот на неё тактов уже может не хватить - не будет спаривания. Ну или если другой bus-master полезет в ту же область памяти - тоже или будут приостановки в работе CPU или bus-error у этого bus-master-а. И в каком именно МК "ширина шины 64бита"? Они во всех разные - от 32 бит до 256 бит (мне известные Cortex-M). Но такие широкие потому, что FLASH как правило работает на частоте ниже ядра. А между CPU и кешем, работающим на частоте ядра, для M4 думаю - вполне достаточно 32бит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 3 июня, 2022 Опубликовано 3 июня, 2022 (изменено) · Жалоба 19 минут назад, jcxz сказал: И в каком именно МК "ширина шины 64бита"? Они во всех разные - от 32 бит до 256 бит С М7 не работал еще, а 64 на сколь помню, было в IMX6 19 минут назад, jcxz сказал: И M4 всё равно не может поглощать команды быстрее чем 1 инструкция/такт. В таком случае да, больше 32 бит на частоте проца смысла не имеет. Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz. ? По этой логике должно быть где-то 0.85 с учетом ветвления... Изменено 3 июня, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба В 03.06.2022 в 15:54, mantech сказал: Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz. ? Видимо тем, что в составе системы команд имеются MAC-инструкции (и другие DSP-инструкции), которые при расчёте DMIPS считаются за несколько операций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 183 4 июня, 2022 Опубликовано 4 июня, 2022 · Жалоба В 03.06.2022 в 13:57, dimka76 сказал: Зато Cortex-M4 более современное ядро, например по interrupt latency легко обыграет ARM926EJ-S... Ну смотря какие interrupt-ы и смотря какая задача. Потому как FIQ в "настоящем" ARM (ARM926EJ-S - как раз он) существенно быстрее, чем любое прерывание в Cortex-M4 (по суммарной задержке в тактах). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 183 4 июня, 2022 Опубликовано 4 июня, 2022 · Жалоба В 03.06.2022 в 15:54, mantech сказал: Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz? DMIPS != MIPS. А еще сюда же добавляем "фишки" конкретных реализаций, например, 64-битную шину AXI к ОЗУ, которая будет грузить LDRD/STRD одним шинным циклом, соответстенно, на синтетическом тесте скорости попугаев прибавится еще Это безотносительно к какому-либо вышеупомянутому экземпляру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться