ARM NEON

L'ARM NEON également appelé Advanced SIMD ou encore « MPE » (de l'anglais media processing engine, littéralement « moteur de calcul de médias ») est une unité de calcul de type SIMD, accélérant les calculs de type DSP, apparu en 2009 et intégré à la série de microprocesseurs ARM Cortex-A, d'architecture ARMv7A. Elle reprend certains principes des SIMD précédents d'ARM, mais apporte 3 fois plus de performance que celui du processeur VFP (de l'anglais « vector floating point » pour virgule flottante vectorielle) présent dès l'ARMv5 (VFPv2) et deux fois plus que le SIMD implémenté dans l'ARMv6 en plus de l'unit VFP[1]. Dans l'architecture ARMv7, le VFP est remplacé par VFPv3 (VFPlite pour la révision r1p1 du Cortex-A8) et le SIMD par l'Advanced SIMD ou NEON.

Caractéristiques générales

Si les unités VFP sont compatibles avec la norme IEEE 754[2], assurant ainsi un bon niveau de précision, ça n'est pas le cas de Neon[3],[4].

Il contient 32 registres 64 bits qui peuvent être combinés pour former 16 registres 128 bits. Ceux-ci sont partagés avec le FPU (VFPlite, VFPv3 ou VFPv4 selon les modèles) du processeur. Ces registres sont considérés comme des vecteurs d'éléments qui sont tous du même type avec les particularités suivantes [1]:

  • Les types de données peuvent également être de type entier, signés ou non-signés sur 8, 16, 32 ou 64 bits, ou des flottants simple précision ;
  • Les mêmes instructions peuvent être exécutées sur tous les canaux de calcul.

Il fournit l'accélération des calculs vectoriels, standardisé pour les applications de traitement du signal ou des médias. Par exemple, filtre de couleurs au format ARGB, des opérations sur des vecteurs de type (x, y, z) ou bien de la compression et décompression d'un signal audio ou vidéo.

Il est obligatoirement inclus dans l'ARM Cortex-A8, mais, tout comme le VFP est optionnel sur l'ARM Cortex-A9 MPCore[5].

Il supporte l'accélération des codecs MPEG-4, H.264, On2 VP6/7/8, Real, AVS.

NEON peut faire du décodage MP3 sur un processeur fonctionnant à 10 MHz et peut encoder et décoder le codec audio GSM AMR à 13 MHz.

Il contient un jeu d’instruction, un registre de fichiers séparé et de l’exécution matérielle indépendante[6].

Jeu d'instructions

Le jeu d'instructions de Neon partageant les mêmes registres que celui de VFP, ils peuvent être complémentaire dans le traitement de leurs données.

ARMv7

Au sein de l'architecture ARMv7, le jeu d'instructions peut être divisé en différentes catégories[7] :

  • Déplacement des données : chargement depuis la mémoire, sauvegarde en mémoire, copie d'un registre à un autre ;
  • Arithmétique : addition, soustraction, multiplication, différence absolue, maximum, minimum, saturation arithmétique, réciproque, racine carrée, multiplication-addition, multiplication-soustraction, division par 2-addition, multiplication-accumulation, opération dépendant d'une valeur scalaire ;
  • Logique : opérateurs applicables à des champs de bits, tels que ou, ou exclusif, et, négation et mise à zéro.
  • Comparaison : sur une valeur absolue ou la donnée d'un registre, >, ≥, =, ≤, <.
  • Compression, décompression : données conservées dans les registres ou les 'canaux' de traitement dans des vecteurs.
  • En fonction des implémentations, il peut exécuter jusqu'à 4 opérations 32 bits, 8 opérations 16 bits ou 16 opérations 8 bits simultanément[8]

ARMv8

ARMv8 fonctionne en 2 modes, Aarch32, compatible avec ARMv7 et Aarch64 bénéficiant pleinement des avancées de la nouvelle architecture.

Support logiciel de NEON

Ne10

ProjectNe10 est une bibliothèque logicielle libre comportant des optimisations pour NEON en assembleur pour différentes fonctions tels que l'algèbre linéaire, le traitement du signal ou le traitement d'image, crée à la base par Zhang Yang (张洋), d'ARM[9].

Compilateur GNU

Depuis 2008, le compilateur GNU GCC comporte des algorithmes d'auto-vectorisation pour les SIMD[10], il supporte notamment NEON avec l'auto-vectorisation du code source. Les premiers tests de vectorisation ont été faits par Jun Zhou de l'université de Griffith, en Australie[7] ils donnent une plus grande efficacité consommation électrique/puissance de calcul aux SIMD des ARM que ceux des x86. Les optimisations manuelles semblent également donner de bien meilleurs résultats. Cela a conduit à différentes techniques d'amélioration de la vectorisation automatique des boucles (ou auto-vectorisation).

La version 4.7 de GCC auto-vectorise en 128 bits par défaut, et repasse en 64 bits, si ça n'est pas possible[11].

Depuis la version 4.8.0, sortie le , il comporte un nouveau modèle de vectorisation pour améliorer l'auto-vectorisation à destination de ce SIMD[12]. Il faut noter qu'en raison de sa non-conformité avec la norme de précision IEEE 754, il est davantage orienté multimédia que calcul scientifique, il faut utiliser l'option -funsafe-math-optimizations pour bénéficier de l'auto-vectorisation.

Algèbre linéaire

Autres

Parmi les logiciels comportant des optimisations en assembleur pour NEON, on peut citer :

  • La bibliothèque d'encodage/décodage multimédia ffmpeg[14].
  • La bibliothèque de compression/décompression vidéo x264 pour le codec H.264[15].
  • La bibliothèque de traitement d'image jpeg libjpeg-turbo, modification de libjpeg avec le support de l'accélération de différents SIMD par optimisation en assembleur.
  • La bibliothèque de rendu géométrique Cairo (bibliothèque Pixmap du projet, depuis la 0.22.0[16]).
  • La bibliothèque graphique libre de dessin vectoriel 2D, Skia, utilisé par Android[15], Chrome OS (et Chromium OS), Chrome (et Chromium), Firefox, FirefoxOS.
  • La bibliothèque de chiffrement OpenSSL depuis la version 1.0.1[17]
  • La bibliothèque de chiffrement NaCl de Daniel J. Bernstein (en cours d'optimisation en )[18], dont des développeurs d'OpenSSL veulent s'inspirer pour implémenter Curve25519 dans OpenSSL[19].
  • La bibliothèque libre BlueZ de gestion du bluetooth notamment sous Linux[15].

Annexes

Bibliographie

Liens externes

(en + ja + zh-CN) « NEON », sur arm.com
(en) « NEON™ Support in Compilation Tools Development Article » ((en) « version PDF », sur infocenter.arm.com)
(en) « Optimizing Code for ARM Cortex-A8 with NEON SIMD » [archive du ], sur pixhawk.ethz.ch (consulté le ) explications sur le fonctionnement de Neon et certains moyens pour optimiser le code.
(en) Jiangning Liu, « The implementation of AArch64 Neon™ in LLVM » [archive du ], sur hellogcc.org (consulté le )

Notes et références

Read other articles:

La savana nella stagione secca in Tanzania La stagione secca è un periodo annuale di scarse precipitazioni nella zona tropicale in climatologia. Può essere sommariamente considerato come un periodo di circa sei mesi (l'equivalente di primavera ed estate nelle zone temperate, cioè all'incirca da aprile a ottobre) con bassa piovosità ed è contrapposta alla stagione delle piogge. Veduta del fiume Niger, al culmine della stagione secca (Bamako, Mali) Nella stagione secca, di fatto, la cintur...

 

 

Kakatua maluku Status konservasi Rentan (IUCN 3.1)[1] Klasifikasi ilmiah Kerajaan: Animalia Filum: Chordata Kelas: Aves Ordo: Psittaciformes Superfamili: Cacatuoidea Famili: Cacatuidae Subfamili: Cacatuinae Tribus: Cacatuini Genus: Cacatua Subgenus: Cacatua Spesies: C. moluccensis Nama binomial Cacatua moluccensisGmelin, 1788 Kakatua maluku atau dalam nama ilmiahnya Cacatua moluccensis adalah burung berukuran sedang, dengan panjang sekitar 52 cm, dari genus Cacatua. Bu...

 

 

Bridge between Manhattan and the Bronx, New York This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Alexander Hamilton Bridge – news · newspapers · books · scholar · JSTOR (August 2010) (Learn how and when to remove this template message) Alexander Hamilton BridgeAlexander Hamilton Bridge crossing the Harlem Ri...

22nd Governor of Nevada; United States Senator from Nevada (1974–1987) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Paul Laxalt – news · newspapers · books · scholar · JSTOR (August 2018) (Learn how and when to remove this template message) Paul LaxaltGeneral Chair of the Republican National CommitteeIn...

 

 

Cet article est une ébauche concernant l’Alaska. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Pour les articles homonymes, voir Matanuska. Borough de Matanuska-Susitna Le glacier Ruth. Administration Pays États-Unis État Alaska Chef-lieu Palmer Fondation 1964 Démographie Population 93 925 hab. (2012) Densité 2 hab./km2 Géographie Coordonnées 62° 24′ nord, 149° 35′&...

 

 

Legio XVIIIDescrizione generaleAttiva40 a.C.-9 d.C. Tipolegione romana CampiCastra Vetera (15 a.C. - 5 d.C.) Battaglie/guerreguerra civile, Augusto (41 a.C.-31 a.C.)germanica, Druso maggiore (13-9 a.C.)germanica, Tiberio (8 a.C., 4-5 d.C.)Foresta di Teutoburgo (9) ComandantiDegni di notaP. Quintilio Varo Voci su unità militari presenti su Wikipedia La Legio XVIII[1] era una legione romana arruolata probabilmente nel 41-40 a.C. da Ottaviano, il futuro primo imperatore romano Augusto, ...

PlatoonPoster filmSutradaraOliver StoneProduserArnold KopelsonDitulis olehOliver StonePemeranTom BerengerWillem DafoeCharlie SheenPenata musikGeorges DelerueSinematograferRobert RichardsonPenyuntingClaire SimpsonPerusahaanproduksiHemdale Film CorporationDistributorOrion PicturesTanggal rilis 19 Desember 1986 (1986-12-19) Durasi120 menitNegara Amerika SerikatBahasaInggrisAnggaran$6 jutaPendapatankotor$138.530.565[1]SekuelBorn on the Fourth of July Platoon adalah film Am...

 

 

Canadian philosopher (1936–2023) Ian HackingCC FRSC FBAHacking in 2009Born(1936-02-18)February 18, 1936Vancouver, British Columbia, CanadaDiedMay 10, 2023(2023-05-10) (aged 87)Toronto, Ontario, CanadaAlma materUniversity of British ColumbiaTrinity College, CambridgeSpouses Laura Anne Leach ​(divorced)​ Nancy Cartwright ​(divorced)​ Judith Baker ​(died 2014)​Children3Era20th-century philosophyRegionWe...

 

 

Kirsten DunstDunst saat penayangan perdana Spider-Man 3 di New York.LahirKirsten Caroline Dunst30 April 1982 (umur 42)Tahun aktif1989 - sekarangPenghargaanSaturn Award Pemeran Muda Terbaik1994 Interview with the Vampire Kirsten Caroline Dunst (lahir 30 April 1982) adalah aktris film Amerika berdarah Jerman dan Swedia. Film-film yang pernah dibintanginya antara lain Spiderman, Spiderman 2, Spiderman 3 dan Wimbledon. Filmografi Tahun Film Peran Keterangan 1989 New York Stories Lisa's...

Disambiguazione – Se stai cercando altri significati, vedi Eulero (disambigua). Disambiguazione – Euler rimanda qui. Se stai cercando altri significati, vedi Euler (disambigua). Leonhard Euler, dipinto di Jakob Emanuel Handmann Leonhard Euler (AFI: [ˈleːɔnhaʁt ˈɔʏlɐ] ascoltaⓘ), in italiano noto come Eulero (AFI: [euˈlɛro]) (Basilea, 15 aprile 1707 – San Pietroburgo, 18 settembre 1783) è stato un matematico, fisico e astronomo svizzero. È considerato il più import...

 

 

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁�...

 

 

1950 Japanese filmUntil We Meet AgainYoshiko Kuga and Eiji Okadain Until We Meet AgainDirected byTadashi ImaiWritten byYōko MizukiToshio YasumiRomain Rolland (novel)Produced byShizuo SakagamiStarringEiji OkadaYoshiko KugaCinematographyShunichirō NakaoEdited byYaeko KatōYoshiki NagasawaMusic byMasao ŌkiProductioncompanyTohoDistributed byTohoRelease date March 21, 1950 (1950-03-21) [1]Running time111 minutes[1]CountryJapanLanguageJapanese Until We Meet Again (...

City in Minnesota, United States City in Minnesota, United StatesSaint BonifaciusCityLocation of Saint Bonifaciuswithin Hennepin County, MinnesotaCountryUnited StatesStateMinnesotaCountyHennepinGovernment • MayorKerry Taylor[1]Area[2] • Total1.04 sq mi (2.70 km2) • Land1.04 sq mi (2.69 km2) • Water0.00 sq mi (0.00 km2)Population (2020) • Total2,307 • Densit...

 

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

 

 

Italo-cileniLuogo d'origine Italia Popolazione52.006 cittadini italiani.[1]ca. discendenti:300.000 (1989)[2]150.000 (2004)[3]600.000 (2014)[4] Linguaitaliano, spagnolo ReligioneCattolicesimo Distribuzione  Cile52.006 cittadini italiani.[1]ca. discendenti:300.000 (1989)[2]150.000 (2004)[3]600.000 (2014)[4] Manuale La famiglia Alessandri nel 1920, dalla quale vengono due Presidenti del Cile: Arturo Alessandri (al cen...

French biblical scholar This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Marie-Joseph Lagrange – news · newspapers · books · scholar · JSTOR (May 2019) (Learn how and when to remove this message) You can help expand this article with text translated from the corresponding article in French. (March 2011) ...

 

 

Southern Sting season Southern Sting1998 seasonHead coachRobyn BroughtonManagerJackie BarronCaptainBernice MeneMain venueCentennial HallSeason resultsWins–losses8–3Season placing2nd Team colours Southern Sting seasons← 1997 1999 → The 1998 Southern Sting season saw the Southern Sting netball team compete in the 1998 Coca-Cola Cup league season. 1998 was the inaugural season for the league. Together with Auckland Diamonds, Bay of Plenty Magic, Capital Shakers, Canterb...

 

 

For the lake, see Lake Barrine. Map all coordinates using OpenStreetMap Download coordinates as: KML GPX (all coordinates) GPX (primary coordinates) GPX (secondary coordinates) Suburb of Tablelands Region, Queensland, AustraliaLake BarrineQueenslandTea house and cruises, Lake Barrine, 2000Lake BarrineCoordinates17°14′46″S 145°38′27″E / 17.2461°S 145.6408°E / -17.2461; 145.6408 (Lake Barrine (centre of locality))Population170 (2021 census)[1...

金刚狼3:殊死一战Logan電影海報基本资料导演詹姆斯·曼高德监制 賽門·金柏格 赫欽斯·帕克 蘿倫·舒勒·唐納(英语:Lauren Shuler Donner) 编剧史考特·法蘭克[*]麥可·葛林 (編劇)詹姆斯·曼高德剧本 麥可·葛林 史考特·法蘭克(英语:Scott Frank) 詹姆斯·曼高德 故事詹姆斯·曼高德原著《金鋼狼》羅伊·湯瑪士(英语:Roy Thomas)藍·韋恩(英语:Len Wein)約翰·羅密塔(英语:J...

 

 

Социоло́гия молодёжи — отрасль социологии, изучающая молодёжь как социальную общность, особенности социализации вступающих в жизнь поколений, особенности образа жизни молодёжи, формирования её жизненных планов, целей и ценностных ориентаций, в том числе профессион...