Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: подскажите доступные чипы Cortex-A8 с FPU или Cortex-A9 (вроде бы там FPU по дефолту)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
yes
нашел у ТИ аналог ОМАР 3

http://focus.ti.com/docs/prod/folders/print/am3505.html

# NEON SIMD Coprocessor and Vector floating point (FP) co-processor

сам по себе NEON SIMD это не то, как я понял регистры у него общие с VFP, и далеко не во всяком кортексе при наличии NEON есть и VFP

--------------

может есть менее пафосный производитель чипов, который производит такие кортексы и продает для лоу-вольюм приложений?
KRS
Цитата(yes @ May 4 2010, 18:48) *
нашел у ТИ аналог ОМАР 3

Вообще AMxx это industrial(automative) аналог OMAP, там DDR2 уже можно цепялть и ethernet есть.

Вообще 35xx серия доступна поштучно! В отличии от 34xx которая в серийных смартфонах.
Только AM35xx недавно вышел, поэтому его тяжело купить сейчас.
А OMAP35xx без проблем продаются у них у всех есть Neon.
yes
Цитата(KRS @ May 5 2010, 00:23) *
Вообще AMxx это industrial(automative) аналог OMAP, там DDR2 уже можно цепялть и ethernet есть.

Вообще 35xx серия доступна поштучно! В отличии от 34xx которая в серийных смартфонах.
Только AM35xx недавно вышел, поэтому его тяжело купить сейчас.
А OMAP35xx без проблем продаются у них у всех есть Neon.


NEON не нужен, нужен VFPLite (VFPv3)
если я что-то не понимаю - объясните пожалуйста: NEON это single precision SIMD, а VFPLite это double precision
эмуляция даблов через синглы не быстрее эмуляции через инты, поэтому NEON не нужен

OMAP35xx поэтому мне не интересны
а АМ3517 / АМ3505 (ну и ОЕМ ОМАРах) кроме NEON есть и VFP

или я неправильно понял описания ТИ?
KRS
Цитата(yes @ May 5 2010, 13:44) *
если я что-то не понимаю - объясните пожалуйста: NEON это single precision SIMD,

Не совсем SIMD это single instruction multiple data, на интеле (MMX, SSEx).
А по типам да, NEON только 32 бит float поддерживает.

Вообще AM35xx будут не только OEM. Просто сейчас в продаже только киты есть.
SimpleSoft
Цитата(yes @ May 5 2010, 12:44) *
NEON не нужен, нужен VFPLite (VFPv3)
если я что-то не понимаю - объясните пожалуйста: NEON это single precision SIMD, а VFPLite это double precision
эмуляция даблов через синглы не быстрее эмуляции через инты, поэтому NEON не нуже

или я неправильно понял описания ТИ?


В Cortex™-A8 Technical Reference Manual написано:
Цитата
The VFP coprocessor
provides a floating-point computation coprocessor that is fully compliant with the
ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic,
referred to in this document as the IEEE 754 standard. The VFP coprocessor supports
all data-processing instructions and data types in the VFPv3 architecture and is
described in the ARM Architecture Reference Manual.
Designed for the processor, the VFP coprocessor fully supports single-precision and
double-precision add, subtract, multiply, divide, multiply and accumulate, and square
root operations.
Conversions between fixed-point and floating-point data formats, and
floating-point constant instruction are provided.

а VFPv3 есть и в OMAP35xx
yes
Цитата(SimpleSoft @ May 6 2010, 09:54) *
а VFPv3 есть и в OMAP35xx


а это где-то явно написано?

или точно уверены, что при использовании ОМАР35хх дабловые инструкции выполняются железом, а не эксепшином?

если есть платка с ОМАРом - можете проверить?

из АРМовских док (Cortex-A8 TRM) следует, что VFP (имплементация FPULite) является опцией и существуют ядра как вообще без сопроцессора, так только с поддержкой NEON, так и с поддержкой NEON и VFPv3 (даже больше - имплементаций VFP возможно две разных: с 16 регистрами и 32)

какое ядро использовано в ОМАР35хх я не сумел понять из ТИ-шных док, но складывается впечатление, что только NEON, VFPv3 нет

--------------------

UPD: off: армовские уродливые манагеры сменили достаточно простую систему наименований типа ядро ARM1136JF - все понятно про поддерживаемую ISA, а теперь Сортекс и хрен поймешь какая неонка внутре. дибилизьм на марше
SimpleSoft
Цитата(yes @ May 6 2010, 11:35) *
а это где-то явно написано?

или точно уверены, что при использовании ОМАР35хх дабловые инструкции выполняются железом, а не эксепшином?

если есть платка с ОМАРом - можете проверить?

из АРМовских док (Cortex-A8 TRM) следует, что VFP (имплементация FPULite) является опцией и существуют ядра как вообще без сопроцессора, так только с поддержкой NEON, так и с поддержкой NEON и VFPv3 (даже больше - имплементаций VFP возможно две разных: с 16 регистрами и 32)

какое ядро использовано в ОМАР35хх я не сумел понять из ТИ-шных док, но складывается впечатление, что только NEON, VFPv3 нет

--------------------

UPD: off: армовские уродливые манагеры сменили достаточно простую систему наименований типа ядро ARM1136JF - все понятно про поддерживаемую ISA, а теперь Сортекс и хрен поймешь какая неонка внутре. дибилизьм на марше


В документации встречается упоминание:

OMAP35x Technical Reference Manual (Rev. F)
стр. 168:
Цитата
– NEON™ SIMD coprocessor (VFP lite + media streaming instructions)


стр. 207:
Цитата
3.1.2 Features
...
– Neon single instruction, multiple data (SIMD) coprocessor (VFP light + media streaming instructions)


стр. 212:
Цитата
3.2.2.1 ARM Overview
The public ARM Cortex-A8 processor incorporates the technologies available in the ARM7 architecture.
These technologies include Neon for media and signal processing and Jazelle RCT for acceleration of
realtime compilers, Thumb-2 technology for code density and the VFPv3 floating-point architecture.
For details, see the public ARM Cortex-A8 Technical Reference Manual.


VFP на Linux'е

Что касается WinCE, то в Visual Studio 2008 реализована поддержка VFP, т.е. код он создаёт.

---
Пирмер:
С++
Цитата
fStrip /= (j);


Disassembly
Цитата
0001A718 ldr r3, j, #0x6C
0001A71C fmsr s0, r3
0001A720 fsitos s1, s0
0001A724 flds s0, [sp,#+36]
0001A728 fdivs s0, s0, s1
0001A72C fsts s0, [sp,#+36]


Ходил по коду - никаких Exception, хотя в настройках компилятора явно указал Enable Float Point Exceptions.
sasamy
Цитата(yes @ May 6 2010, 12:35) *
а это где-то явно написано?


http://e2e.ti.com/support/dsp/omap_applica...201.aspx#128201
Цитата
All versions of OMAP35xx with the ARM Cortex A8 processor have the VFP core which is single and double precision floating point in hardware.
yes
спасибо, понял, что есть.

но вопрос с производительностью
http://markmail.org/message/b2n6t3xsiorikfw6

или после прочтения документов

Cortex A8 (SP, DP)

FADD 9-10 9-10
FSUB 9-10 9-10
FMUL 10-12 11-17
FNMUL 10-12 11-17
FMAC 18-21 19-26
FNMAC 18-21 19-26
FMSC 18-21 19-26
FNMSC 18-21 19-26
FDIV 20-37 29-65
FSQRT 19-33 29-60

-----------------

ARM11 (VFP10)

FADD, FSUB 1 1
FMUL, FNMUL 1 2
FMAC, FNMAC, FMSC, FNMSC 1 2
FDIV, FSQRT 15 29

в табличке для АРМа взято не латенси, а сруаутпут - конвеер там

то есть VFP10 (от ARM11*F) имеет приблизительно в 10 раз большую производительность за такт, если брать частоту АРМа в 200 (lpc32xx), а Кортекса в 500, то вопрос выбора более производительного чипа в пользу Кортекса далеко не очевиден



Цитата(SimpleSoft @ May 6 2010, 13:29) *
0001A71C fmsr s0, r3
0001A720 fsitos s1, s0
0001A724 flds s0, [sp,#+36]
0001A728 fdivs s0, s0, s1
0001A72C fsts s0, [sp,#+36]


если мне память не изменяет, дабловые инструкции АРМа

fdivd d0, d0, d1
и т.п.

то есть в С-шном исходнике
double fStrip;
SimpleSoft
Мой код:
Цитата
float fStrip;


20 циклов на DIV против 15 не так и страшно в моём случае.

Если вам нужен нормальный VFP, попробуйте глянуть на .iMX31
sasamy
Цитата(yes @ May 6 2010, 19:21) *
если брать частоту АРМа в 200 (lpc32xx), а Кортекса в 500, то вопрос выбора более производительного чипа в пользу Кортекса далеко не очевиден


Для меня очевиден - cortex умеет спаривать команды и предсказывать ветвления поэтому при умелой оптимизации код выполняется до 2 раз быстрей на той же частоте, SP за глаза хватает для мультимедиа а их уже NEON с конвеером поддерживает. Смотрите в сторону Sony Playstation 3 - там cell фантастические флопсы показывает smile.gif
yes
Цитата(sasamy @ May 6 2010, 23:56) *
Для меня очевиден - cortex умеет спаривать команды и предсказывать ветвления поэтому при умелой оптимизации код выполняется до 2 раз быстрей на той же частоте, SP за глаза хватает для мультимедиа а их уже NEON с конвеером поддерживает. Смотрите в сторону Sony Playstation 3 - там cell фантастические флопсы показывает smile.gif


да меня сугубо приземленные, практические задачки интересуют, у ОМАР-ов очень хорошо с размерами, особенно когда DDR и FLASH напаиваются сверху

пока удовлетворяет филипсовский LPC32xx - ARM9+VFP9, по сравнению с i.MX-ами всякой ненужной мне мультимедии нет и потребление/размеры/удобство использования лучше
но потихоньку производительность программисты подъели - нужно искать камень поновее, основная трудность - в задаче DP FP много

----------------

поинтересовался ОМАР-ами L-138/137, там DSP SP с некой поддержкой DP, попробовали, но как и предполагалось - в среднем производительность на нашей задачке похуже, понятно, что для 6000 можно было бы код непереносимым сделать и подзаточить для DSP - но этим никто заниматься не будет

а ветвь АРМов (поддержка FP) пошла не туда (для нас), придется наверно к PPC-шкам возвращаться

.....
SimpleSoft
Цитата(yes @ May 7 2010, 11:13) *
а ветвь АРМов (поддержка FP) пошла не туда (для нас), придется наверно к PPC-шкам возвращаться

.....


Если бы взяли плату с OMAP35xx и попробовали перенести проект на неё - тогда можно однозначно сказать "Подходит"/"Нет"
yes
Цитата(SimpleSoft @ May 7 2010, 14:31) *
Если бы взяли плату с OMAP35xx и попробовали перенести проект на неё - тогда можно однозначно сказать "Подходит"/"Нет"


собственно мне хватило почитать линукс форумы,
плату делать со всем реал-тайм трах-тибидохом/ПЛИС и т.п. слишком тяжко.

--------------

хочу поднять тему так как возникла потребность поискать еще DP FPU кроме LPC и iMX

может есть чего-нибудь достойное по потреблению/размеру чипа/интерфейсам?

не обязательно ARM
bookevg
Цитата(yes @ Jul 2 2010, 17:20) *
собственно мне хватило почитать линукс форумы,
плату делать со всем реал-тайм трах-тибидохом/ПЛИС и т.п. слишком тяжко.

--------------

хочу поднять тему так как возникла потребность поискать еще DP FPU кроме LPC и iMX

может есть чего-нибудь достойное по потреблению/размеру чипа/интерфейсам?

не обязательно ARM

Sharc 4-ого поколения - корпус TQFP100 без интерфейса внешней памяти с 3Мбитами ОЗУ или корпус TQFP176 с интерфейсом внешней памяти (SRAM, SDRAM) с 5Мбитами.
При пониженных частотах работают от 1В - энергопотребление зависит
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.