Sześciokąt Qualcomm — Qualcomm Hexagon

Sześciokąt
Projektant Qualcomm
Bity 32-bitowy
Wprowadzono 2006 (QDSP6)
Projekt 4-drożny wielowątkowy VLIW
Rodzaj Zarejestruj się-Zarejestruj
Kodowanie Naprawiono 4 bajty na instrukcję, do 4 instrukcji w multiinstrukcji VLIW
otwarty Prawnie zastrzeżony
Rejestry
Ogólny cel 32-bitowy GPR: 32, można sparować z 64-bitowym

Hexagon to nazwa marki rodziny cyfrowych procesorów sygnałowych (DSP) firmy Qualcomm . Hexagon jest również znany jako QDSP6, co oznacza „cyfrowy procesor sygnałowy szóstej generacji”. Według Qualcomm architektura Hexagon została zaprojektowana tak, aby zapewnić wydajność przy niskim poborze mocy w różnych aplikacjach.

Każda wersja Hexagon posiada zestaw instrukcji i mikroarchitekturę. Te dwie cechy są ze sobą ściśle powiązane.

Hexagon jest używany w chipach Qualcomm Snapdragon, na przykład w smartfonach, samochodach, urządzeniach do noszenia i innych urządzeniach mobilnych, a także jest używany w elementach sieci telefonii komórkowej.

Architektura zestawu instrukcji

Urządzenia komputerowe mają zestawy instrukcji, które są ich najniższymi, najbardziej prymitywnymi językami. Typowe instrukcje to te, które powodują dodanie, pomnożenie lub połączenie dwóch liczb w inny sposób, a także instrukcje, które kierują procesor, gdzie ma szukać w pamięci następnej instrukcji. Istnieje wiele innych rodzajów instrukcji.

Asemblery i kompilatory, które tłumaczą programy komputerowe na strumienie instrukcji – strumienie bitów – które urządzenie może zrozumieć i wykonać (wykonać). Gdy strumień instrukcji jest wykonywany, integralność funkcji systemu jest wspierana przez użycie poziomów uprawnień instrukcji. Uprzywilejowane instrukcje mają dostęp do większej liczby zasobów urządzenia, w tym do pamięci. Hexagon obsługuje poziomy uprawnień.

Pierwotnie instrukcje Hexagon działały na liczbach całkowitych, ale nie na liczbach zmiennoprzecinkowych, ale w wersji 5 dodano obsługę zmiennoprzecinkową.

Jednostka przetwarzająca, która obsługuje wykonywanie instrukcji, jest zdolna do wysłania w kolejności do 4 instrukcji (pakietu) do 4 Jednostek Wykonawczych na każdy zegar.

Mikroarchitektura

Mikroarchitektura to fizyczna struktura chipa lub komponentu chipa, która umożliwia urządzeniu wykonywanie instrukcji. Dany zestaw instrukcji może być zaimplementowany przez różne mikroarchitektury. Magistrale – kanały transmisji danych – dla urządzeń Hexagon mają szerokość 32 bitów. Oznacza to, że w jednym kroku można przenieść 32 bity danych z jednej części chipa do drugiej. Mikroarchitektura Hexagon jest wielowątkowa, co oznacza, że ​​może jednocześnie przetwarzać więcej niż jeden strumień instrukcji, zwiększając szybkość przetwarzania danych. Hexagon obsługuje bardzo długie słowa instrukcji, które są grupami czterech instrukcji, które mogą być wykonywane „równolegle”. Wykonywanie równoległe oznacza, że ​​wiele instrukcji może działać jednocześnie bez konieczności ukończenia jednej instrukcji przed rozpoczęciem następnej. Mikroarchitektura Hexagon obsługuje pojedynczą instrukcję, wiele operacji na danych, co oznacza, że ​​gdy urządzenie Hexagon otrzyma instrukcję, może wykonać operację na więcej niż jednym fragmencie danych w tym samym czasie

Według szacunków z 2012 r. Qualcomm dostarczył 1,2 miliarda rdzeni DSP wewnątrz swojego systemu na chipie (SoC) (średnio 2,3 rdzeń DSP na SoC) w 2011 r., a 1,5 miliarda rdzeni zaplanowano na 2012 r., co czyni QDSP6 najczęściej dostarczaną architekturą DSP ( CEVA miała około 1 miliarda rdzeni DSP wysłanych w 2011 roku, co stanowi 90% rynku DSP licencjonowanego przez IP).

Architektura Hexagon została zaprojektowana tak, aby zapewnić wydajność przy niskim poborze mocy w różnych aplikacjach. Posiada takie funkcje, jak wielowątkowość wspomagana sprzętowo , poziomy uprawnień, bardzo długie słowo rozkazowe (VLIW) , pojedyncze dane wielokrotne rozkazu (SIMD) oraz instrukcje nastawione na wydajne przetwarzanie sygnału. Wielowątkowość sprzętowa jest zaimplementowana jako wielowątkowość czasowa baryłkowa - wątki są przełączane w trybie round-robin w każdym cyklu, więc rdzeń fizyczny 600 MHz jest prezentowany jako trzy rdzenie logiczne 200 MHz przed wersją V5. Hexagon V5 przełączył się na dynamiczną wielowątkowość (DMT) z przełączaniem wątków na braki L2, oczekiwanie na przerwanie lub na specjalne instrukcje.

Na Hot Chips 2013 firma Qualcomm ogłosiła szczegóły dotyczące ich procesora DSP Hexagon 680. Qualcomm ogłosił rozszerzenie Hexagon Vector Extensions (HVX). HVX został zaprojektowany, aby umożliwić przetwarzanie znacznych obciążeń obliczeniowych dla zaawansowanego obrazowania i wizji komputerowej na procesorze DSP zamiast na procesorze. W marcu 2015 r. Qualcomm ogłosił swoje Snapdragon Neural Processing Engine SDK, który umożliwia akcelerację AI za pomocą procesora, GPU i Hexagon DSP.

Qualcomm jest lwia paszcza 855 zawiera ich 4 generacji silnika na urządzeniu AI, który zawiera sześciokątne 690 DSP i sześciokątne tensora przyspieszenia (HTA) dla przyspieszenia AI .

Wsparcie oprogramowania

System operacyjny

Portu z Linux dla Hexagon biegnie pod hypervisor warstwy ( „Hexagon Virtual Machine”) i została połączona z 3,2 wydaniu jądra . Oryginalny hiperwizor jest zamkniętym źródłem, a w kwietniu 2013 r. Qualcomm wydała minimalną implementację hiperwizora typu open source dla QDSP6 V2 i V3, „Hexagon MiniVM” na licencji BSD .

Kompilatory

Wsparcie dla Hexagon zostało dodane w wersji 3.1 LLVM przez Tony'ego Linthicum. Obsługa Hexagon/HVX V66 ISA została dodana w wersji 8.0.0 LLVM . Istnieje również oddział GCC i binutils, który nie jest utrzymywany przez FSF .

Przyjęcie bloku SIP

DSP Qualcomm Hexagon są dostępne w Qualcomm Snapdragon SoC od 2006 roku. W Snapdragon S4 (MSM8960 i nowsze) są trzy rdzenie QDSP, dwa w podsystemie Modem i jeden rdzeń Hexagon w podsystemie Multimedia. Rdzenie modemowe są programowane wyłącznie przez firmę Qualcomm i tylko rdzeń multimedialny może być programowany przez użytkownika.

Są one również wykorzystywane w niektórych Femtocell procesorów Qualcomm, w tym FSM98xx, FSM99xx i FSM90xx.

Integracja z innymi firmami

W marcu 2016 roku ogłoszono, że oprogramowanie do przetwarzania dźwięku AudioSmart firmy półprzewodnikowej Conexant zostało zintegrowane z Hexagon firmy Qualcomm.


W maju 2018 wolfSSL dodał obsługę Qualcomm Hexagon. Jest to wsparcie dla uruchamiania operacji kryptograficznych wolfSSL na DSP. Oprócz korzystania z operacji kryptograficznych została później dodana specjalistyczna biblioteka zarządzania obciążeniem operacji.

Wersje

Wydano sześć wersji architektury QDSP6: V1 (2006), V2 (2007-2008), V3 (2009), V4 (2010-2011), QDSP6 V5 (2013, w Snapdragon 800); i QDSP6 V6 (2016, w Snapdragon 820). V4 ma 20 DMIPS na miliwat, działając z częstotliwością 500 MHz. Szybkość zegara Hexagon waha się w 400-2000 MHz dla QDSP6 i 256-350 MHz dla poprzedniej generacji architektury QDSP5.

Wersje QDSP6 Węzeł procesu, nm Data Liczba jednoczesnych wątków Zegar na wątek, MHz Całkowity zegar rdzenia, MHz Produkt
QDSP6 V1 65 Październik 2006
QDSP6 V2 65 grudzień 2007 6 100 600
QDSP6 V3 (1. generacja) 45 2009 6 67 400
QDSP6 V3 (2. generacja) 45 2009 4 100 400
QDSP6 V4 (V4M, V4C, V4L) 28 2010-2011 3 167 500
QDSP6 V5 (V5A, V5H) 28 2013 3 200 lub więcej z DMT 600
642 14 2017 Wyżlin

630

QDSP6 V6 lub 680 14 2016/2017 4 500 2000 Wyżlin

820/821/636/660

682 10 2017 Wyżlin

835

683 11 2020 Wyżlin

662/460

685 10/11 2018/2019 (3 TOPY) Wyżlin

845/670/675/678/710/712

686 11/8 2019/2021 (3.3 BLUZY) Wyżlin

665/480

688 8 2019/2020 (3.6 TOPY) Wyżlin

730(G)/732G

690 7 2019 (7 TOPÓW) Wyżlin

855/855+

692 8 2020 (5 TOPÓW) Wyżlin

720G/690

694 8 2020 (4.7 GÓRY) Wyżlin

750G

696 7 2020 (5.4 GÓRY) Wyżlin

765(G)/768G

698 7 2020 (15 TOPÓW) Wyżlin

865/865+/870

770 5/6 2021 (12 TOPÓW) Wyżlin

778G/780G

780 5 2021 (26 TOPÓW / 32 TOPY) Wyżlin

888/888+

Dostępność w produktach Snapdragon

Zarówno rdzenie Hexagon (QDSP6), jak i pre-Hexagon (QDSP5) są używane w nowoczesnych układach SoC firmy Qualcomm, QDSP5 głównie w produktach z niższej półki. QDSP modemu (często pre-Hexagon) nie są pokazane w tabeli.

Wykorzystanie QDSP5:

Pokolenie Snapdragona Identyfikator chipsetu (SoC) Generowanie DSP Częstotliwość DSP, MHz Węzeł procesu, nm
S1 MSM7627, MSM7227, MSM7625, MSM7225 QDSP5 320 65
S1 MSM7627A, MSM7227A, MSM7625A, MSM7225A QDSP5 350 45
S2 MSM8655, MSM8255, APQ8055, MSM7630, MSM7230 QDSP5 256 45
S4 Odtwórz MSM8625, MSM8225 QDSP5 350 45
S200 8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625Q QDSP5 384 45 LP

Zastosowanie QDSP6 (sześciokąt):

Pokolenie Snapdragona Identyfikator chipsetu (SoC) Wersja QDSP6 Częstotliwość DSP, MHz Węzeł procesu, nm
S1 QSD8650, QSD8250 QDSP6 600 65
S3 MSM8660, MSM8260, APQ8060 QDSP6 (V3?) 400 45
S4 Prime MPQ8064 QDSP6 (V3?) 500 28
S4 Pro MSM8960 Pro, APQ8064 QDSP6 (V3?) 500 28
S4 Plus MSM8960, MSM8660A, MSM8260A, APQ8060A, MSM8930,
MSM8630, MSM8230, APQ8030, MSM8627, MSM8227
QDSP6 (V3?) 500 28
S400 8926, 8930, 8230, 8630, 8930AB, 8230AB, 8630AB, 8030AB, 8226, 8626 QDSP6V4 500 28 LP
S600 8064T, 8064M QDSP6V4 500 28 LP
S800 8974, 8274, 8674, 8074 QDSP6V5A 600 28 KMm
S820 8996 QDSP6V6 2000 14 FinFet LPP


Obsługiwany kodek sprzętowy

Różne kodeki wideo obsługiwane przez układy SoC Snapdragon.

D - dekodować; E - kodowanie

FHD = FullHD = 1080p = 1920x1080px

HD = 720p, który może mieć rozmiar 1366x768px lub 1280x720px

Seria Lwia paszcza 200

Różne kodeki wideo obsługiwane przez serię Snapdragon 200.

Kodek Wyżlin

200

Wyżlin

200

Qualcomm

205

Wyżlin

208/210

Wyżlin

212

Dostępność 2013 2013 2017 2014 2015
Sześciokąt QDSP5 QDSP6 536 536 536
H263 D i E D i E D i E D i E D i E
VC-1
H.264 D i E D i E D i E D i E D i E
10-bitowy H.264 - - - - -
VP8 D i E D i E D i E D i E D i E
H.265 D HD i E HD D HD i E HD D HD i E HD D FHD i E HD D FHD i E HD
H.265 10-bitowy - - - - -
H.265 12-bitowy - - - - -
VVC
VP9 - - - - -
VP9 10-bitowy - - - - -
AV1 - - - - -

Seria Lwia paszcza 400

Różne kodeki wideo obsługiwane przez serię snapdragon 400.

Kodek Wyżlin

400

Wyżlin

410/415

Wyżlin

425/427

Wyżlin

429/439

Wyżlin

450

Wyżlin

460

Wyżlin

480

Dostępność IV kwartał 2013 r. 2014/2015 I kwartał 2016/III kwartał 2017 II kwartał 2018 r. II kwartał 2017 I kwartał 2020 r. I kwartał 2021 r
Sześciokąt QDSP6 QDSP6 V5 536 (256 KB) 536 546 683
H263 D i E D i E D i E D i E D i E D i E D i E
VC-1
H.264 D i E D i E D i E D i E D i E D i E D i E
10-bitowy H.264 - - - - - - D i E
VP8 D i E D i E D i E D i E D i E D i E D i E
H.265 - D i E D i E D i E D i E D i E D i E
H.265 10-bitowy - - - - - -
H.265 12-bitowy - - - - - -
VVC - - - -| - -
VP9 - - - - D i E D i E
VP9 10-bitowy - - - - - -
AV1 - - - - - - -
Ilość klatek

wsparcie dekodowania

HD 60 kl./s
FHD 60 kl./s FHD 60 kl./s FHD 60 kl./s
Ramka wideo

oceń wsparcie

Kodowanie

HD 60 kl./s
FHD 60 kl./s FHD 60 kl./s FHD 60 kl./s

Seria Lwia paszcza 600

Różne kodeki wideo obsługiwane przez serię snapdragon 600.

Kodek Lwia paszcza 600 Lwia paszcza 610 Lwia paszcza 650/652/653 Lwia paszcza 630 Lwia paszcza 632 Lwia paszcza 636/660 Lwia paszcza 662 Lwia paszcza 665 Lwia paszcza 670 Lwia paszcza 690
Dostępność I kwartał 2013 r. I kwartał 2015 r. II kwartał 2018 r. I kwartał 2020 r. II kwartał 2019 r. 2019 II kwartał 2020 r.
Sześciokąt QDSP6 V4 QDSP6 V50 QDSP6 V56 642 546 680 683 686 685 692
H263 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
VC-1 D & ?
H.264 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
10-bitowy H.264 - - - - - - - - -
VP8 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
H.265 - D i E D i E D i E D i E D i E D i E D i E D i E
H.265 10-bitowy - - - D & ? - D & ? - D & ? D i E
VVC - - - - - - - - - -
VP9 - - D & ? D i E D i E D i E D i E D i E D i E D i E
VP9 10-bitowy - - - - - - - - -
AV1 - - - - - - - - - -
FPS
Obsługa szybkości klatek dekodowania wideo HD 60 kl./s HD 120 kl./s HD 240 kl./s HD 240 kl./s HD 240 kl./s HD 60 kl./s HD 240 kl./s HD 240 kl./s HD 240 kl./s
FHD 30 kl/s FHD 60 kl./s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s FHD 60 kl./s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s
Brak 4K Brak 4K 4K30 fps 4K30 fps 4K30 fps 4K30 fps Brak 4K 4K60 fps 4K60 fps 4K60 fps
Obsługa szybkości klatek kodowania wideo HD 60 kl./s HD 60 kl./s HD 240 kl./s HD 240 kl./s HD 240 kl./s HD 60 kl./s HD 240 kl./s HD 240 kl./s HD 240 kl./s
FHD 30 kl/s FHD 30 kl/s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s FHD 60 kl./s FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s
Brak 4K Brak 4K 4K30 fps 4K30 fps 4K30 fps 4K30 fps Brak 4K 4K30 fps 4K30 fps 4K30 fps
Formaty HDR
Wyświetlacz i

odtwarzanie nagranego dźwięku

HDR10 , HLG
Wideo

nagranie

HDR10 , HLG

Seria Lwia paszcza 700

Różne kodeki wideo obsługiwane przez serię snapdragon 700.

Kodek Wyżlin

710/712

Wyżlin

720G

Wyżlin

730G/732G

Wyżlin

765/765G

/768G

Wyżlin

778G

Wyżlin

780G

Dostępność TBA I kwartał 2020 r. ? ?
Sześciokąt 685 692 688 696
H263 D i E D i E D i E D i E
VC-1 D i E D i E D i E D i E
H.264 D i E D i E D i E D i E
10-bitowy H.264 - - ? ?
VP8 D i E D i E D i E D i E
H.265 D i E D i E D i E D i E
H.265 10-bitowy D D D i E D i E
H.265 12-bitowy - - - -
VVC - - - -
VP9 D i E D i E D i E D i E
VP9 10-bitowy D D D D
AV1 - - - -
FPS
Ramka wideo

oceń wsparcie

Rozszyfrowanie

HD 240 kl./s HD 240 kl./s HD 240 kl./s HD 480 kl./s
FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s ?
4K 30 kl./s 4K 30 kl./s 4K 30 kl./s 4K 60fps
Ramka wideo

oceń wsparcie

Kodowanie

HD 240 kl./s HD 240 kl./s HD 240 kl./s HD 480 kl./s
FHD 120 kl/s FHD 120 kl/s FHD 120 kl/s ?
4K 30 kl./s 4K 30 kl./s 4K 30 kl./s ?
Formaty HDR
Wyświetlacz i

odtwarzanie nagranego dźwięku

10-bitowy HDR HDR10 , HLG HDR10 , HLG , HDR10+
Wideo

nagranie

Nie dotyczy Nie dotyczy HDR10 , HLG HDR10 , HLG , HDR10+
Zdjęcie

nagranie

Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy 10-bitowy HEIF HDR

Seria Snapdragon 800

Różne kodeki wideo obsługiwane przez serię Snapdragon 800.

Kodek Wyżlin

800

Wyżlin

801

Wyżlin

805

Wyżlin

810

Wyżlin

820/821

Wyżlin

835

Wyżlin

845/850

Wyżlin

855/855+

Wyżlin

865/865+

/870

Wyżlin

888

Dostępność II kwartał 2013 r. I kwartał 2014 I kwartał 2014 III kwartał 2014 IV kwartał 2015 r.

III kwartał 2016

II kwartał 2017 I kwartał 2018 r. 2019 2019

2021

IV kwartał 2020
Sześciokąt QDSP6 V5 QDSP6 V5 QDSP6 V50 QDSP6 V56 680 682 685 690 698 780
MPEG-4 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
H263 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
VC-1 D i E D i E D i E D i E D i E D i E
H.264 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
10-bitowy H.264 Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy D i E D i E D i E D i E
VP8 D i E D i E D i E D i E D i E D i E D i E D i E D i E D i E
H.265 Nie dotyczy D i E 720P30 D i E D i E D i E D i E D i E D i E D i E D i E
H.265 10-bitowy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy D D D i E D i E D i E D i E
VP9 Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy D D i E D i E D i E D i E D i E
VP9 10-bitowy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy D D D i E D i E D i E D i E
AV1 Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy
VVC Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy Nie dotyczy
FPS
Rozszyfrowanie

FPS

HD@120 HD@240 HD@480 HD@480 HD@960
FHD@60 FHD@120 FHD@240 FHD@240 ?
4K@30 4K@60 ? 4K@120
Nie dotyczy 8K@30
Kodowanie

FPS

HD@120 HD@240 HD@480 HD@480 HD@960
FHD@60 FHD@120 FHD @240 FHD @240 ?
4K@30 4K @60 4K@60 4K@120
Nie dotyczy 8K@30
Formaty HDR
Wyświetlacz i

odtwarzanie nagranego dźwięku

Nie dotyczy HDR HDR10 ,

HLG

HDR10 , HLG ,

HDR10+ , Dolby Vision

Wideo

nagranie

Nie dotyczy HDR10 ,

HLG

HDR10 , HLG ,

HDR10+

HDR10 , HLG ,

HDR10+ , Dolby Vision

Zdjęcie

nagranie

Nie dotyczy 10-bitowy HEIF HDR

Próbka kodu

To jest pojedynczy pakiet instrukcji z wewnętrznej pętli FFT :

{ R17:16 = MEMD(R0++M1)
  MEMD(R6++M1) = R25:24
  R20 = CMPY(R20, R8):<<1:rnd:sat
  R11:10 = VADDH(R11:10, R13:12)
}:endloop0

Qualcomm twierdzi, że ten pakiet odpowiada 29 klasycznym operacjom RISC; zawiera dodawanie wektorów (4x 16-bit), złożone operacje mnożenia i obsługę pętli sprzętowych. Wszystkie instrukcje pakietu są wykonywane w tym samym cyklu.

Zobacz też

Bibliografia

Zewnętrzne linki