Перейти к содержанию
    

Обратите внимание на ARMv7-M у Cortex M7 и Thumb® / Thumb-2 у Cortex M4. Если я не ошибаюсь, опять отказались от экономии размера программного кода и инструкции позволяют адресовать больше регистров.

Cortex-M3, -M4, -M7, все они реализуют одну и ту же архитектуру ARMv7-M с набором команд Thumb 2, так что никто ни от чего не отказался и продолжает экономить память, а очень жаль, ибо последняя стоит копейки и урезать набор инструкций из-за сомнительной экономии в пару десятков процентов мне кажется абсурдным.

Изменено пользователем menzoda

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cortex-M3, -M4, -M7, все они реализуют одну и ту же архитектуру ARMv7-M с набором команд Thumb 2, так что никто ни от чего не отказался и продолжает экономить память, а очень жаль, ибо последняя стоит копейки и урезать набор инструкций из-за сомнительной экономии в пару десятков процентов мне кажется абсурдным.

Вообще-то скорость доступа к памяти тоже имеет значение. МКстроители лезут из кожи вон, чтобы иметь возможность заявить "zero-wait-states execution out of on-chip flash memory". А вы предлагаете усложнить им жизнь ещё сильнее :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, сама ARM заявляет преимуществом урезанного набора команд именно экономию памяти, а не скорость доступа к ней, поэтому я и рассматриваю данное заявление с этой стороны. Во-вторых, мне кажется длина инструкции не влияет на скорость доступа к памяти. Да, 32-битную шину провести сложнее, чем 16-битную, но ведь инструкции там не 16-битные, а смешанного типа, так что всё-равно приходится иметь дело с длинными инструкциями. Да и если судить по взрослым ядрам того же ARM большая длина инструкций никак не мешает им (ядрам) работать на высокой частоте. Ну и в-третьих, по моему, набор инструкций одной длины поддерживать легче, ядро было бы проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что выгоднее - определяется соотношением скорости работы памяти и скорости АЛУ.

Для первых рисков выгоднее было выбирать из относительно быстрой (на тот момент) памяти широкие команды, а АЛУ сделать попроще, чтобы быстрее работало.

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

Нынешние "риски" всё больше начинают напоминать классический CISC.

Похоже, на современном уровне развития технологии Thumb-2 получается выгоднее.

В ближайшее время процессоры будут становиться всё сложнее и сложнее, пока не придумают ещё более быструю память.

И тогда снова вернутся к идее RISC.

C'est la vie.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, сама ARM заявляет преимуществом урезанного набора команд именно экономию памяти, а не скорость доступа к ней, поэтому я и рассматриваю данное заявление с этой стороны. Во-вторых, мне кажется длина инструкции не влияет на скорость доступа к памяти..

Чтобы не казалось, загляните в reference manual на любой M3/M4 с flash. :)

Увидите, что при частоте CPU уже приближающейся к 200МГц, частота flash остаётся ~20-30МГц.

Учитывая, что к примеру в STM32F4x шина выборки команд шириной ==128бит, получается, что для одной 128бит выборки кода на частоте

CPU ==168МГц нужно 6-8тактов, а если эта выборка заполнена сплошь 32-битными инструкциями, то выполнится она за 4 такта и ещё 2-4 такта

CPU будет стоять ожидая следующей выборки. И это не учитывая других bus masters на шине.

 

У других вендоров M3/M4 всё примерно так же. Ну за исключением Tiva с её 256-битной шиной предвыборки.

Конечно почти во всех последних ядрах уже есть кеши, но всё-же всё-же.... малый размер инструкции это не только размер кода, но часто и скорость выполнения тоже.

 

Да и если судить по взрослым ядрам того же ARM большая длина инструкций никак не мешает им (ядрам) работать на высокой частоте.

Только исключительно благодаря кешам и только!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

речь про DP FPU

У STM32F7xx только single...

 

The STM32F756xx devices are based on the high-performance ARM® Cortex®-M7 32-bit RISC core operating at up to 200 MHz frequency. The Cortex®-M7 core features a single floating point unit (SFPU) precision which supports all ARM® single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances application security.
Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот уже и FreeScale навострилась седьмые Кортексы клепать:

Freescale Plans Extreme Performance for Kinetis MCUs with ARM® Cortex®-M7 Core

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://launchpad.net/gcc-arm-embedded: gcc 4.8 2014q3 update release

 

Features:

* Support the new cpu cortex-m7.

И много чего ещё...

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а в readme.txt, оказывается, нужные комбинации ключей под разные ядра прописаны!

 

https://launchpad.net/gcc-arm-embedded/4.8/...load/readme.txt

https://launchpad.net/gcc-arm-embedded/4.8/...oad/release.txt

 

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И, кстати, пока ещё ключей типа fpu64 не просматривается нигде ... ))

Я читал обзор по ARM где-то. Они уже разработали 64 битный проц. Пишут что совместимость полная с 32-ух битным. Особо отмечено, что учтены грабли x86 процов.

Пишут что плавучка тоже 64 битная + значительно расширена система комманд. Ну и всякие там SIMD и NEON ... 8 ядер и так далее ... ))

Понятно, что это всё для PDA и т.п.

А тут ещё глядишь как то странно анонс win10 вчера прозвучал .... "Windows 10 - это ещё один шаг к объединению нескольких версий ОС компании, устанавливаемых на смартфоны, компьютеры и игровые консоли Xbox. Отныне разработчики смогут создавать универсальные приложения, совместимые со всеми упомянутыми выше устройствами. Соответствующие инструменты уже доступны в Microsoft Visual Studio 2013 Update 2. " Есть ощущение, что наконец ARM процы будут поддерживаться. Или я ошибаюсь? ))

 

Короче, ещё немного и какое-нибудь моё устройство под виндой будет работать ... :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вроде все железки, где -mfpu=vfpv3-d16, и есть с 64-х битные FPU, в отличии от -mfpu=fpv5-sp-d16 (hint: sp - Single Precision)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если верить CoreMark, новый камушек уже сравним по производительности с Pentium II.

 

 

Где вы это прочли (про двойную точность)? Я специально на этот счет в даташите на STM32F756xx копалась, но там везде написано "single floating point precision".

Как??? :(

пойду повешусь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сайте Atmel появилось объявление:

"Atmel Samples New Family of High-performance ARM Cortex-M7-based MCUs Enabling Next-Generation IoT, Industrial and Automotive Applications"

http://www.atmel.com/about/news/release.as...ce=tcm:26-63538

 

- Expanding the Atmel | SMART Portfolio, First Devices Run up to 300MHz and Include Up to 384kByte SRAM Configurable as Tightly Coupled Memory (TCM) or System Memory and Up to 2Mbyte On-chip Flash - Combination of Ethernet AVB and Media LB Peripherals with the Cortex-M7 DSP Extensions Make Them Ideal for Automotive Connectivity and Audio Applications

 

Это чего? Уже образцы раздают? :)

Что-то никак не могу найти, даже как у Atmel'а Cortex-M7 станет называться (это SAM с каким номером? SAM7 уже занято под ARM7). Ссылки же с этой страницы ведут в никуда (туда, где Cortex-M7 даже не упоминается).

 

P.S. Вот тут еще в блоге про него чуть-чуть написано: http://blog.atmel.com/2014/09/24/arm-unvei..._source=Eloqua/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И чего они так мало SRAM закладывают в M7? Нехватает ведь, почти всегда. Блин, и тут опять придётся выкручиваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...