Перейти к содержанию
    

3 минуты назад, jcxz сказал:

Из этого можно предположить, что размер кеша там варьируется от 128КБ до 512КБ.

Да х.з.  мне показалось, что это их представление о ТСМ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

03.06.2022 в 11:30, mantech сказал:

Да х.з.  мне показалось, что это их представление о ТСМ.

TCM vs Flash - какая может быть связь??  :wacko2:

Также видим:

 image.thumb.png.47b0a6229fe310108310d57577a35143.png

Т.е. - это явно возможность конфигурирования размера кеша.

Это очень(!) хорошие возможности кеширования. Я так понимаю - NUC907 тут отдыхает.  :wink:

 

Да - в моделях с 1МБ флеша, кешируемыми могут быть только нижние 512КБ. Но имхо - это не страшно. Вряд-ли для абсолютно всего объёма кода/данных необходим максимально быстрый доступ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, jcxz сказал:

TCM vs Flash - какая может быть связь??

Я не про то, под кэшем я подразумеваю не флеш-ускоритель, а нормальный кэш данных и инструкций в ядре, как в М7 и А серии кортексов... Ну или L1 кэш, как его в процах именуют.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

03.06.2022 в 11:42, mantech сказал:

Я не про то, под кэшем я подразумеваю не флеш-ускоритель, а нормальный кэш данных и инструкций в ядре, как в М7 и А серии кортексов... Ну или L1 кэш, как его в процах именуют.

"без кеша совсем" и "кеш не в ядре" - это совершенно разные понятия? Не находите? Многократно разные по скорости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, dimka76 сказал:

Если Линукс не нужен...

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

Цитата

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 минут назад, Arlleex сказал:

и возложить их на программистов линуксы.

Ну да, есть разумное зерно))))))

27 минут назад, jcxz сказал:

"без кеша совсем" и "кеш не в ядре" - это совершенно разные понятия?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 это возможность установить линукс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, dimka76 сказал:

По DMIPS   ARM926EJ-S примерно 1.2 DMIPS/MHz

Cortex-M4 примерно 1.25 DMIPS/MHz.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 03.06.2022 в 14:47, mantech сказал:

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

Глядя в мануал этого AT32F43x, трудно понять - как именно подключено ядро к кешу инструкций? Судя по BusMatrix шины ICODE/DCODE имеют отдельный путь к FLASH. Но по какому пути идут обращения, когда кеш включен? По ветке SRAM? Или же включение блоков ОЗУ в состав кеша FLASH, переносит эти блоки как бы в состав FLASH и тогда обращение к ним будет идти по ветке BusMatrix "FLASH"?

Мне думается - 2-й вариант более вероятный. А значит задержек доступа к инструкциям почти не будет. Даже с учётом того, что эта шина шириной всего = 32 бита. Но ведь работает она на частоте ядра.

Но даже если там вариант N1 подключения, то самому программисту никто не мешает разнести быстрый код и данные этого кода, в разные блоки SRAM1/SRAM2.

 

PS: Или отчего, по вашему, такие задержки должны возникать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, jcxz сказал:

Мне думается - 2-й вариант более вероятный.

Может и так. Не берусь утверждать, забыл уже просто, но смутно помню, что ширина шины у кэша 64 бита была и т.к. проц использует конвейер, то может 32х бит и не хватить...

ЗЫ. Когда начинал осваивать процы кортекс А, а именно IMX6S, то в первую очередь сделал простую тестилку производительности, запустил проц с программой в ДДР и статической памятью, с кэшем и без, так вот в случае с ДДР скорость без кэша в 40!!! раз медленнее, ну и понятно, к ДДР доступ медленный, но в случае со статикой меня очень удивило - 10 раз разница, хотя по частоте она только в 2 раза медленнее 800 проц 400 статика, и шина 32 бита у нее была тоже... Вот  и делаю выводы.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 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бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, jcxz сказал:

И в каком именно МК "ширина шины 64бита"? Они во всех разные - от 32 бит до 256 бит

С М7 не работал еще, а 64 на сколь помню, было в IMX6

19 минут назад, jcxz сказал:

И M4 всё равно не может поглощать команды быстрее чем 1 инструкция/такт.

В таком случае да, больше 32 бит на частоте проца смысла не имеет. Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz. ? По этой логике должно быть где-то 0.85  с учетом ветвления...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 03.06.2022 в 15:54, mantech сказал:

Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz. ?

Видимо тем, что в составе системы команд имеются MAC-инструкции (и другие DSP-инструкции), которые при расчёте DMIPS считаются за несколько операций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 03.06.2022 в 13:57, dimka76 сказал:

Зато Cortex-M4 более современное ядро, например по interrupt latency легко обыграет ARM926EJ-S...

Ну смотря какие interrupt-ы и смотря какая задача. Потому как FIQ в "настоящем" ARM (ARM926EJ-S - как раз он) существенно быстрее, чем любое прерывание в Cortex-M4 (по суммарной задержке в тактах).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 03.06.2022 в 15:54, mantech сказал:

Но тогда это не знаю, чем объяснить - Cortex-M4 примерно 1.25 DMIPS/MHz?

DMIPS != MIPS. А еще сюда же добавляем "фишки" конкретных реализаций, например, 64-битную шину AXI к ОЗУ, которая будет грузить LDRD/STRD одним шинным циклом, соответстенно, на синтетическом тесте скорости попугаев прибавится еще:new_russian: Это безотносительно к какому-либо вышеупомянутому экземпляру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...