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

 
 
> Описание отличий семейства ARM7, 720, 922, 926 и т.д.
GetSmart
сообщение Mar 26 2009, 16:30
Сообщение #1


.
******

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



Кто подскажет ссылку или PDF с заданной темой. Хорошо знаком с ARM7TDMI. Собираюсь подсесть на ARM9 и хотя бы познакомиться с 10 и 11. Но их так много расплодилось, что я в замешательстве.

Пожалуйста без ответов типа ищи на сайте arm.com. Лучше подскажите имя конкретного файла как например arm7tdmi.pdf. Нужно описание именно отличий семейств, а не полное описание каждого семейства, при том, что в них 95% может совпадать.


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


Гуру
******

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



По системе команд некоторые 9-е ничем не отличаются от 7-х, но все имеют гарвардскую архитектуру.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 00:40
Сообщение #3


кекс
******

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



Цитата(aaarrr @ Mar 26 2009, 20:47) *
но все имеют гарвардскую архитектуру.

Как вы отличаете архитектуры. Всмысле, что в ARM9 более или менее гарвардского чем в ARM7?

Цитата
Я так понимаю все 9-ые имеют гарвардскую архитектуру и только поэтому отделены от 7-ых ?

Думаю разработчики ARM вообще не заморачиваются такой ерундой как разделение архитектур на гарвард, нейман и т.д. Они просто делают свою работу.

Что же касается вашего вопроса, разве отличий с wiki мало? :
- длина конвеера
- раздельный кеш
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 09:42
Сообщение #4


Гуру
******

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



Цитата(defunct @ Mar 27 2009, 03:40) *
Всмысле, что в ARM9 более или менее гарвардского чем в ARM7?

Раздельные шины инструкций/данных у ядра.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 11:43
Сообщение #5


кекс
******

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



Цитата(aaarrr @ Mar 27 2009, 11:42) *
Раздельные шины инструкций/данных у ядра.

Этого мало, т.к. память лежит на общей шине и адресное пространство одно - общее и для кода и для данных.
В Intel Pentium есть DIB и раздельный кеш, это тоже гарвард?
Модель программиста ARM7/ARM9 неизменна. В то время как для AVR - который классический гарвард, модель программиста значительно отличается от ARM, как раз из-за того, что код и данные лежат в разных адресных пространствах по одинаковым адресам.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 12:03
Сообщение #6


Гуру
******

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



Цитата(defunct @ Mar 27 2009, 14:43) *
Этого мало, т.к. память лежит на общей шине и адресное пространство одно - общее и для кода и для данных.

Да, надо было с самого начало добавить приставку "псевдо".
Память вовсе не обязательно сидит на общей шине - TCM, например, подключаются отдельно.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 12:14
Сообщение #7


кекс
******

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



Цитата(aaarrr @ Mar 27 2009, 14:03) *
Да, надо было с самого начало добавить приставку "псевдо".
Память вовсе не обязательно сидит на общей шине - TCM, например, подключаются отдельно.

Не суть важно.
Есть хоть какой-то адресуемый участок памяти в котором располагается код, и куда по определению нельзя добраться как к блоку данных (прочитать/изменить)?
Все эти доп шины - это так мелкие ускоряющие фичи, не меняющие архитектуру в корне.

Цитата(GetSmart @ Mar 27 2009, 14:09) *
AVR в этом плане "убогий" гарвард. Либо "гарвард" в чистом смысле (аля AVR) убогая идея. Так как не позволяет выполнять код из рамы. И ещё ограничивает командам доступ к разным адресным простанствам.

Ну если поставить заместо Flash RAM - то нет проблем можно будет модифицировать код!
Но в этом и есть разительное отличие архитектур. Низя адресовать всю память линейно!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 12:21
Сообщение #8


Гуру
******

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



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

Угу, значит основное свойство Гарвардской архитектуры - это наличие "участка памяти, в котором располагается код, и куда по определению нельзя добраться как к блоку данных", а раздельные шины - это так, мелочь ненужная?
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 27 2009, 12:30
Сообщение #9


кекс
******

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



Цитата(aaarrr @ Mar 27 2009, 14:21) *
а раздельные шины - это так, мелочь ненужная?

Раздельные шины применительно к общей памяти это просто ускоритель.
Раздельные шины в комплексе с раздельной памятью - это гарвард.

Прилепите к шине инструкций непосредственно ПП, получим гарвардскую систему. Прилепите к ней AHB получим, то же, что и ARM7.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2009, 12:37
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 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
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 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
defunct
сообщение Mar 27 2009, 13:21
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 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
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 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
GetSmart
сообщение Mar 27 2009, 14:21
Сообщение #16


.
******

Группа: Участник
Сообщений: 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
defunct
сообщение Mar 27 2009, 15:10
Сообщение #17


кекс
******

Группа: Свой
Сообщений: 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
Сообщение #18


.
******

Группа: Участник
Сообщений: 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

Сообщений в этой теме
- 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


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

 


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


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