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

 
 
> Описание отличий семейства 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

Сообщений в этой теме
- 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
|||- - defunct   Цитата(GetSmart @ Mar 27 2009, 16:21) Есл...   Mar 27 2009, 15:10
|||- - GetSmart   Цитата(defunct @ Mar 27 2009, 20:10) Мне ...   Mar 27 2009, 15:29
|||- - 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 Текстовая версия Сейчас: 19th July 2025 - 19:47
Рейтинг@Mail.ru


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