реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Описание отличий семейства ARM7, 720, 922, 926 и т.д.
aaarrr
сообщение Mar 27 2009, 12:37
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 27 2009, 15:30) *
Раздельные шины применительно к общей памяти это просто ускоритель.
Раздельные шины в комплексе с раздельной памятью - это гарвард.

Хорошо, а как назовем раздельные шины с раздельным кэшем? И чем это решение будет хуже п.2?

Цитата(defunct @ Mar 27 2009, 15:30) *
Прилепите к шине инструкций непосредственно ПП, получим гарвардскую систему.

В случае с TCM дело именно так и обстоит.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 12:56
Сообщение #17


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 27 2009, 14:37) *
Хорошо, а как назовем раздельные шины с раздельным кэшем?

Intel называет это Dual Independent Bus (DIB) и Separate code and data caches. Т.е. своими именами без подведения под какую-то черту.

Цитата
И чем это решение будет хуже п.2?

1. Ресурс(память) один, а шины две. Кеш не панацея всю память на разместит. Ресурс все равно надо делить - а значит меньше производительность.
2. Сложнее в реализации - т.к. для дележки требуется арбитраж.
3. Раз есть арбитраж получаем - непрогнозированную латентность выборки данных и команд.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 13:02
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 27 2009, 15:56) *
1. Ресурс(память) один, а шины две. Ресурс надо делить - меньше производительность.

Производительность ARM926EJ при работе из TCM (честный Гарвард в вашей интерпретации) и из кэша практически одинаковая (кэш немного быстрее).

Цитата(defunct @ Mar 27 2009, 15:56) *
1. Ресурс(память) один, а шины две. Ресурс Кеш не панацея всю память на разместит.

Вам часто приходится работать со всей памятью? Не панацея, но и не от безделья придуман.

Цитата(defunct @ Mar 27 2009, 15:56) *
2. Сложнее в реализация - т.к. для дележки требуется арбитраж.
3. Раз есть арбитраж получаем - не прогнозированую латентность выборки данных и команд.

Если уж есть кэш, то эти два пункта существуют по определению.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 27 2009, 13:04
Сообщение #19


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(defunct @ Mar 27 2009, 05:40) *
Как вы отличаете архитектуры. Всмысле, что в ARM9 более или менее гарвардского чем в ARM7?
....
Думаю разработчики ARM вообще не заморачиваются такой ерундой как разделение архитектур на гарвард, нейман и т.д. Они просто делают свою работу.

Вспомнил. Читая про Cortex-M3 сразу наткнулся на описание кардинального отличия от ARM7 - это гравардская архитектура, хотя адресное пространство общее.

Цитата(KRS @ Mar 26 2009, 22:41) *
о всем этом можно узнать из одного документа ARM Arhitecture Referrence Manual, в каждой команде указано для какой версии ядра она работает - ARM7 это v4, а ARM9 это v5. Но с этим всем компилер прекрасно справляется (если писать на С )

Спасибо. Скачал из сети (в вики кажется ссылка) под названием 14128.pdf

Сообщение отредактировал GetSmart - Mar 27 2009, 13:55


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 13:21
Сообщение #20


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 27 2009, 15:02) *
Производительность ARM926EJ при работе из TCM (честный Гарвард в вашей интерпритации) и из кэша практически одинаковая (кэш немного быстрее).

Кто и как измерял? Результат тут будет сильно зависеть от множества параметров - таких как размер кода, количество branch инструкций, объем данных обрабатываемых программой и их размещение.

Не сомневаюсь какой-то крайний случай типа:

while( temp--);

может работать из кеш памяти быстрее.

Цитата(aaarrr @ Mar 27 2009, 15:02) *
Вам часто приходится работать со всей памятью? Не панацея, но и не от безделья придуман.

В пределах работы программы, да - часто вся память используется. Другой вопрос, что на конкретном временном интервале выполняющем какой-то конкретный алгоритм/обработку чего-то, задействовано немного памяти, и на этом получается эффект от кеша. Правда данные которые надо обрабатывать разбросаны по разным участкам памяти, и часто получены через DMA, т.е. львиная доля данных требует invalidate изначально, либо лежит в некешируемом регионе памяти.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 13:29
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 27 2009, 16:12) *
Кто и как измерял? Результат тут будет сильно зависеть от множества параметров...

Ну, я, например, измерял dhrystone'ом. Аналогичные результаты можно увидеть и у Атмела.
Не спорю, можно придумать задачу, на которой TCM получит преимущество, но в общем случае работа с памятью напрямую и через кэш очень слабо отличается.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 13:44
Сообщение #22


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 27 2009, 15:29) *
Не спорю, можно придумать задачу, на которой TCM получит преимущество, но в общем случае работа с памятью напрямую и через кэш очень слабо отличается.

Подытожив, я хочу сказать, что словосочетанием Гарвардская Архитектура отличия между ARM7 и ARM9 выражать неправильно. Применительно к ARM9 ядру - да можно построить на нем гарвардскую систему, но применительно к существующим МК, т.е. к конкретным системам на ARM9 ядре слово Гарвардская Архитектура может не иметь никакого отношения.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 13:54
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Mar 27 2009, 16:44) *
Применительно к ARM9 ядру - да можно построить на нем гарвардскую систему, но применительно к существующим МК, т.е. к конкретным системам на ARM9 ядре слово Гарвардская Архитектура может не иметь никакого отношения.

Не могу согласиться с подобным выводом, т.к. подавляющее большинство систем, построенных на ARM9, имеют раздельный кэш/TCM, и к Гарвардской архитектуре отношение все-таки имеют.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 14:04
Сообщение #24


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(GetSmart @ Mar 27 2009, 15:04) *
Вспомнил. Читая про Cortex-M3 сразу наткнулся на описание кардинального отличия от ARM7 - это гравардская архитектура, хотя адресное пространство общее.

У Cortex-M3 и система команд несовместимая с ARM7.
IMHO, если планируете работать с конкретными готовыми МК, то лучше не на ядро смотреть, а на то, что на нем слеплено.
Различие в ядрах имеет смысл смотреть если планируется лепить свой SoC.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 27 2009, 14:21
Сообщение #25


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(defunct @ Mar 27 2009, 18:44) *
... т.е. к конкретным системам на ARM9 ядре слово Гарвардская Архитектура может не иметь никакого отношения.

Если можно, приведите конкретные примеры ARM9 без гарварда.

Цитата(defunct @ Mar 27 2009, 19:04) *
IMHO, если планируете работать с конкретными готовыми МК, то лучше не на ядро смотреть, а на то, что на нем слеплено.

Я вообще-то также думаю. К примеру фича NXP с 128 битной флэш могла бы претендовать на новое семейство ARM smile.gif То есть она вполне сопоставима с улучшениями вроде гарварда и 5-стадийности.

Просто меня мой шеф напряг своей новящевой идеей про ARM9. Как и все "потребители" (в противовес разработчикам) он искренне верит, что ARM9 в 3-5 раз круче ARM7. Именно семейство круче. То есть если у проца есть "лейбл" ARM9, то это то, что надо. К примеру он предлагает закладываться на LPC31xx и LPC32xx, которые даже внутреннего флэша не имеют. У меня же есть большие сомнения что этот кастрированный ARM9 будет выполнять большой линейный код (без циклов), находящийся во внешней 32 битной флэш быстрее к примеру Cortex-M3 с внутренней флэш. То, что определёнными усилиями можно заставить выполняться небольшую часть кода (десятки кб) на полной частоте проца (266 МГц) конечно я понимаю. Но остальная бОльшая часть кода (сотни кб) будет выполняться даже медленней (в 2 и более раз) чем даже на LPC21/22/23/24. Я прав?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 14:38
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Mar 27 2009, 17:21) *
Но остальная бОльшая часть кода (сотни кб) будет выполняться даже медленней (в 2 и более раз) чем даже на LPC21/22/23/24. Я прав?

Нет, не правы. Где источник торможения? Сотни килобайт линейного кода - это что-то из области фантастики.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 27 2009, 14:57
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ Mar 27 2009, 19:38) *
Где источник торможения?

Как это где. Во внешней флэш. 32 бита на 25 МГц допустим. То есть 25 млн. ARM инструкций в секунду.

Цитата
Сотни килобайт линейного кода - это что-то из области фантастики.

Код не обязательно линейный и непрерывный. Ну допустим 1000 процедур почти без циклов, исполняющихся друг за другом.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 15:00
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Mar 27 2009, 17:57) *
Код не обязательно линейный и непрерывный. Ну допустим 1000 процедур почти без циклов, исполняющихся друг за другом.

1000 разных процедур - тоже фантастика.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 15:10
Сообщение #29


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(GetSmart @ Mar 27 2009, 16:21) *
Если можно, приведите конкретные примеры ARM9 без гарварда.

Мне проще привести с классическим гарвардом - STR91x.
Все остальное, что строится на кеше и общей внешней SDRAM - это гибриды. Чем такая система отличается от системы на базе Intel P? да ни чем. А почему тогда IP не гарвард?

Цитата
Просто меня мой шеф напряг своей новящевой идеей про ARM9. Как и все "потребители" (в противовес разработчикам) он искренне верит, что ARM9 в 3-5 раз круче ARM7. Именно семейство круче.

Сравните STR91x и high-end ARM7 (разница там в районе ~40%). И покажите шефу эту разницу.

Цитата
То есть если у проца есть "лейбл" ARM9, то это то, что надо.

Если у проца есть лейб ARM9, то можно расчитывать на тактовую много больше 100Mhz, ARM7 на такой частоте не найти.

Цитата
меня же есть большие сомнения, что этот кастрированный ARM9 будет выполнять большой линейный код (без циклов), находящийся во внешней 32 битной флэш быстрее к примеру Cortex-M3 с внутренней флэш.

Ну скопируйте содержимое флеш в SDRAM и будет быстро.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 27 2009, 15:29
Сообщение #30


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(defunct @ Mar 27 2009, 20:10) *
Мне проще привести с классическим гарвардом - STR91x.

Вы вопрос изначальный помните? Я спрашивал есть ли ARM9 без гарварда и является ли это основным отличием от ARM7.

Цитата
Все остальное, что строится на кеше и общей внешней SDRAM - это гибриды. Чем такая система отличается от системы на базе Intel P? да ни чем. А почему тогда IP не гарвард?

Может и гарвард. Может из-за своей давней истории развития от 8086 к более новым. Хотя пример с ARMом вроде абсолютно аналогичный, но там вроде никто не скрывает и не спорит про гарвард.

Цитата
Сравните STR91x и high-end ARM7 (разница там в районе ~40%). И покажите шефу эту разницу.

40% попугаев? Если сравнивать два конкретных проца, то у каждого есть своя предельная тактовая, которая может перевесить скорость архитектуры конкурента.

Цитата
Если у проца есть лейб ARM9, то можно расчитывать на тактовую много больше 100Mhz, ARM7 на такой частоте не найти.

Это уже какая-то аномалия. Статистически - да, но почему - хз. Можно предположить, что так обстоят дела только из-за небольшого увеличения быстродействия ARM9 (из-за двух шин) и если уж делать новые процы, то со всеми наваротами, увеличивающими быстродействие. Ну и из-за маркетинговых соображений (ARM9 больше нравится потреблятелям).

Цитата
Ну скопируйте содержимое флеш в SDRAM и будет быстро.

Это я знаю. Спрашиваю пока о флэш.

Цитата(aaarrr @ Mar 27 2009, 20:00) *
1000 разных процедур - тоже фантастика.

100 процедур по килобайту устроит? smile.gif
Я клоню к тому, что все они в кэш не влезут. А так как они вызываются по очереди, то когда исполнение вернётся к первой, то она из кэша уже сотрётся.

Сообщение отредактировал GetSmart - Mar 27 2009, 15:34


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01505 секунд с 7
ELECTRONIX ©2004-2016