|
Описание отличий семейства ARM7, 720, 922, 926 и т.д. |
|
|
|
 |
Ответов
|
Mar 27 2009, 00:40
|

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

|
Цитата(aaarrr @ Mar 26 2009, 20:47)  но все имеют гарвардскую архитектуру. Как вы отличаете архитектуры. Всмысле, что в ARM9 более или менее гарвардского чем в ARM7? Цитата Я так понимаю все 9-ые имеют гарвардскую архитектуру и только поэтому отделены от 7-ых ? Думаю разработчики ARM вообще не заморачиваются такой ерундой как разделение архитектур на гарвард, нейман и т.д. Они просто делают свою работу. Что же касается вашего вопроса, разве отличий с wiki мало? : - длина конвеера - раздельный кеш
|
|
|
|
|
Mar 27 2009, 12:14
|

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

|
Цитата(aaarrr @ Mar 27 2009, 14:03)  Да, надо было с самого начало добавить приставку "псевдо". Память вовсе не обязательно сидит на общей шине - TCM, например, подключаются отдельно. Не суть важно. Есть хоть какой-то адресуемый участок памяти в котором располагается код, и куда по определению нельзя добраться как к блоку данных (прочитать/изменить)? Все эти доп шины - это так мелкие ускоряющие фичи, не меняющие архитектуру в корне. Цитата(GetSmart @ Mar 27 2009, 14:09)  AVR в этом плане "убогий" гарвард. Либо "гарвард" в чистом смысле (аля AVR) убогая идея. Так как не позволяет выполнять код из рамы. И ещё ограничивает командам доступ к разным адресным простанствам. Ну если поставить заместо Flash RAM - то нет проблем можно будет модифицировать код! Но в этом и есть разительное отличие архитектур. Низя адресовать всю память линейно!
|
|
|
|
|
Mar 27 2009, 12:37
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(defunct @ Mar 27 2009, 15:30)  Раздельные шины применительно к общей памяти это просто ускоритель. Раздельные шины в комплексе с раздельной памятью - это гарвард. Хорошо, а как назовем раздельные шины с раздельным кэшем? И чем это решение будет хуже п.2? Цитата(defunct @ Mar 27 2009, 15:30)  Прилепите к шине инструкций непосредственно ПП, получим гарвардскую систему. В случае с TCM дело именно так и обстоит.
|
|
|
|
|
Mar 27 2009, 12:56
|

кекс
     
Группа: Свой
Сообщений: 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. Раз есть арбитраж получаем - непрогнозированную латентность выборки данных и команд.
|
|
|
|
|
Mar 27 2009, 13:02
|
Гуру
     
Группа: Свой
Сообщений: 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. Раз есть арбитраж получаем - не прогнозированую латентность выборки данных и команд. Если уж есть кэш, то эти два пункта существуют по определению.
|
|
|
|
|
Mar 27 2009, 13:21
|

кекс
     
Группа: Свой
Сообщений: 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 изначально, либо лежит в некешируемом регионе памяти.
|
|
|
|
|
Mar 27 2009, 14:21
|
.
     
Группа: Участник
Сообщений: 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  То есть она вполне сопоставима с улучшениями вроде гарварда и 5-стадийности. Просто меня мой шеф напряг своей новящевой идеей про ARM9. Как и все "потребители" (в противовес разработчикам) он искренне верит, что ARM9 в 3-5 раз круче ARM7. Именно семейство круче. То есть если у проца есть "лейбл" ARM9, то это то, что надо. К примеру он предлагает закладываться на LPC31xx и LPC32xx, которые даже внутреннего флэша не имеют. У меня же есть большие сомнения что этот кастрированный ARM9 будет выполнять большой линейный код (без циклов), находящийся во внешней 32 битной флэш быстрее к примеру Cortex-M3 с внутренней флэш. То, что определёнными усилиями можно заставить выполняться небольшую часть кода (десятки кб) на полной частоте проца (266 МГц) конечно я понимаю. Но остальная бОльшая часть кода (сотни кб) будет выполняться даже медленней (в 2 и более раз) чем даже на LPC21/22/23/24. Я прав?
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 27 2009, 15:10
|

кекс
     
Группа: Свой
Сообщений: 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 и будет быстро.
|
|
|
|
|
Mar 27 2009, 15:29
|
.
     
Группа: Участник
Сообщений: 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 процедур по килобайту устроит?  Я клоню к тому, что все они в кэш не влезут. А так как они вызываются по очереди, то когда исполнение вернётся к первой, то она из кэша уже сотрётся.
Сообщение отредактировал GetSmart - Mar 27 2009, 15:34
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
Сообщений в этой теме
GetSmart Описание отличий семейства ARM7, 720, 922, 926 и т.д. Mar 26 2009, 16:30 aaarrr Цитата(GetSmart @ Mar 26 2009, 19:30) Пож... Mar 26 2009, 16:46 KRS C точки зрения обычного программиста ядра ARM7 и A... Mar 26 2009, 17:41 aaarrr Цитата(KRS @ Mar 26 2009, 20:41) C точки ... Mar 26 2009, 17:49 GetSmart ЦитатаSome chips, such as the Cortex-M3, support o... Mar 26 2009, 18:41  GetSmart Цитата(defunct @ Mar 27 2009, 05:40) Как ... Mar 27 2009, 08:27              aaarrr Цитата(defunct @ Mar 27 2009, 16:44) Прим... Mar 27 2009, 13:54               aaarrr Цитата(GetSmart @ Mar 27 2009, 17:21) Но ... Mar 27 2009, 14:38                GetSmart Цитата(aaarrr @ Mar 27 2009, 19:38) Где и... Mar 27 2009, 14:57                 aaarrr Цитата(GetSmart @ Mar 27 2009, 17:57) Код... Mar 27 2009, 15:00                 aaarrr Цитата(GetSmart @ Mar 27 2009, 18:29) 100... Mar 27 2009, 15:45                 defunct Цитата(GetSmart @ Mar 27 2009, 17:29) Вы ... Mar 27 2009, 17:49    GetSmart Цитата(defunct @ Mar 27 2009, 16:43) Этог... Mar 27 2009, 12:09  GetSmart Цитата(defunct @ Mar 27 2009, 05:40) Как ... Mar 27 2009, 13:04   defunct Цитата(GetSmart @ Mar 27 2009, 15:04) Всп... Mar 27 2009, 14:04 GetSmart Взять например LPC29xx. Указано что это ARM9 (968)... Mar 27 2009, 15:57 aaarrr Цитата(GetSmart @ Mar 27 2009, 18:57) Ест... Mar 27 2009, 16:05  defunct Цитата(aaarrr @ Mar 27 2009, 18:05) Зато ... Mar 27 2009, 16:07  GetSmart Цитата(aaarrr @ Mar 27 2009, 21:05) Зато ... Mar 27 2009, 16:09 aaarrr Цитата(defunct @ Mar 27 2009, 19:07) А об... Mar 27 2009, 16:12 GetSmart Цитата(aaarrr @ Mar 27 2009, 21:12) TCM -... Mar 27 2009, 16:24  aaarrr Цитата(GetSmart @ Mar 27 2009, 19:24) Руч... Mar 27 2009, 16:35 DRUID3 ...а еще в ARM9 часто присутствует float-coprocess... Mar 27 2009, 18:31 aaarrr Насчет часто Вы, пожалуй, погорячились - это и зде... Mar 27 2009, 19:57 GetSmart Подводя (промежуточный?) итог, я выяснил, что ARM7... Mar 27 2009, 20:06 defunct Кстати, вот хорошая ссылка, по вопросу насчет архи... Mar 28 2009, 01:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|