|
Описание отличий семейства ARM7, 720, 922, 926 и т.д. |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Mar 26 2009, 17:41
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
C точки зрения обычного программиста ядра ARM7 и ARM9 очень похожи, в ARM9 побольше команд (например есть очень полезные BLX - позволяют не извращаться с вызовом процедур в разных форматах ARM, THUMB, загрузка с перестановкой байт...) о всем этом можно узнать из одного документа ARM Arhitecture Referrence Manual, в каждой команде указано для какой версии ядра она работает - ARM7 это v4, а ARM9 это v5. Но с этим всем компилер прекрасно справляется (если писать на С ) Есть еще некоторые системные отличия внутреннего устройства, кеши, шины данных, но на программу это влияет только с точки зрения быстродействия.
Вот новая архитектура v7 ( Cortex-M3 например) вот она сильно отличается! Прерывания, системные регистры совсем другие. Но этой архитектуры даже в АRM Arhitecture Referrence Manual нету у нее отдельный.
АRM Arhitecture Referrence Manual можно с ARM скачать (нужна регистрация ) или в местных закромах был!
|
|
|
|
|
Mar 26 2009, 18:41
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата Some chips, such as the Cortex-M3, support only the Thumb-2 instruction set. Хмм. Я раньше думал, что он оба режима поддерживает. Такую ещё ссылку нарыл http://www.chipnews.ru/html.cgi/arhiv/07_07/stat_1.htmЦитата(aaarrr) Только в тех ARM9, что имеют архитектуру v5TEJ (ARM926, 946 и т.д.), у остальных (ARM920, 922, 940) ровным счетом тот же набор команд, что и у ARM7TDMI. Судя по википедии некоторые 9-ые ничем от 7-ых ни отличаются. Кроме 5-стадийности. Я так понимаю все 9-ые имеют гарвардскую архитектуру и только поэтому отделены от 7-ых ?
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
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, 08:27
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(defunct @ Mar 27 2009, 05:40)  Как вы отличаете архитектуры. Всмысле, что в ARM9 более или менее гарвардского чем в ARM7? Она влияет на MIPS/Mhz. Цитата Думаю разработчики ARM вообще не заморачиваются такой ерундой как разделение архитектур на гарвард, нейман и т.д. Они просто делают свою работу.
Что же касается вашего вопроса, разве отличий с wiki мало? : - длина конвеера - раздельный кеш С этим как раз неопределённо. Конвеер у 9-ого длиннее всегда, но это явно сделано из-за гарварда. А кэша иногда вообще нет, судя по той же вики.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 27 2009, 12:09
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(defunct @ Mar 27 2009, 16:43)  Этого мало, т.к. память лежит на общей шине и адресное пространство одно - общее и для кода и для данных. Как раз общее адресное пространство ни о чём не говорит ни с точки зрения программиста, ни с точки зрения архитектуры. У LPC23,24 рама поделена на несколько независимых блоков, к которым могут иметь одновременный доступ несколько разных устройств. Наример USB писать через DMA в свой блок и проц читать данные из другого блока. Цитата Модель программиста ARM7/ARM9 неизменна. В то время как для AVR - который классический гарвард, модель программиста значительно отличается от ARM, как раз из-за того, что код и данные лежат в разных адресных пространствах по одинаковым адресам. AVR в этом плане "убогий" гарвард. Либо "гарвард" в чистом смысле (аля AVR) убогая идея. Так как не позволяет выполнять код из рамы. И ещё ограничивает командам доступ к разным адресным простанствам. ИМХО в плане архитектуры заметное улучшение от ARM7 к следующей идёт по цепочке - гарвард - конвейер - кэш - ну и далее. Хотя чего-то принципиального до сих пор не пойму. Эти улучшения можно было бы обзывать 750, 760 , 770 и так далее архитектурами.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
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 - то нет проблем можно будет модифицировать код! Но в этом и есть разительное отличие архитектур. Низя адресовать всю память линейно!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|