Procesory Marvell Armada XP
Urządzenie posiada także jednostkę obliczeń zmiennoprzecinkowych pojedynczej i podwójnej precyzji, w celu zagwarantowania, że operacje zmiennoprzecinkowe są wykonywane tak szybko, jak jest to możliwe. Struktura potokowa rdzenia Sheeva jest zmienna w zakresie od 6 do 10 poziomów. Dodatkowo wspiera ona rozwiązania takie jak wykonywanie poza kolejnością (ang. out-of-order execution ) oraz przewidywanie skoków. Struktura potokowa zawsze działa na optymalnym poziomie zasobów, ze względu na prognozowanie skoków i ich adresów.
Kolejnym podstawowym czynnikiem wpływającym na wydajność jest zintegrowana pamięć podręczna (ang. cache ). Pamięci podręczne są małymi zasobami pamięci dla instrukcji i danych, które ze względu na ich lokalność, mogą przetwarzać dane szybciej niż zewnętrzne pamięci. Armada XP posiada trzy poziomy pamięci podręcznej. Pierwszym jest niewielka pamięć podręczna zerowego poziomu L0 (ang. Level 0 Cache ) o pojemności 4 kB, która jest mapowana bezpośrednio na odpowiedni rdzeń i potrzebuje tylko 2 cykli zegarowych w celu uzyskania dostępu do instrukcji lub danych. Rozwiązanie to dostarcza korzyści zarówno w kwestii szybkości jak i energooszczędności. Kolejny poziom stanowi pamięć podręczna L1 o pojemności 32 kB, z którą rdzeń komunikuje się w czasie 6 cykli zegarowych. Jeżeli żądanej instrukcji nie można znaleźć w tym miejscu, rdzeń przystępuje do komunikacji z trzecią warstwą – pamięcią podręczną poziomu drugiego L2, a uzyskanie dostępu trwa 26 cykli zegarowych. W zależności od wersji produktu, Armada XP posiada pamięć podręczną L2 o pojemności do 2 MB (w przypadku czterordzeniowego modelu MV78460). Pamięć ta jest współdzielona przez wszystkie rdzenie i może być rozdysponowana pomiędzy nie w sposób dynamiczny i elastyczny, gwarantując wykonywanie operacji z optymalną szybkością. Ponadto, mechanizm spójności sprzętowej pamięci podręcznej jest zintegrowany, aby utrzymywać spójność danych. Chroni to rdzeń przed odczytem danych zawartych w pamięci podręcznej wówczas, gdy inny rdzeń ją zapełnia. Dzięki temu można być pewnym, że wszystkie rdzenie pracują z bieżącymi informacjami i nie ma dostępu do nieaktualnych danych.
Jako interfejs pamięci, Armada XP wykorzystuje standard DDR2/DDR3, który obsługuje energooszczędny DDR3L, gdzie „L” oznacza niski pobór mocy (ang. low power ) przy napięciu zasilania 1,35 V. Ten kontroler pamięci ma znaczenie ze względu na niskie opóźnienia i wysoką przepustowość, zawiera także wsparcie dla rozszerzenia dostępu do fizycznej przestrzeni adresowej „LPAE” (ang. Large Physical Address Extension ), co umożliwia zaadresowanie nawet do 1 TB pamięci. Rozwiązanie to daje procesorowi firmy Marvell wielką przewagę nad układem Cortex-A9, który nie posiada tej funkcjonalności. W rodzinie Cortex wsparcie to nie zostało zaimplementowane w urządzeniach poniżej modelu Cortex-A15.
Urządzenia peryferyjne
Jedną z nadzwyczajnych zalet wszystkich wbudowanych procesorów firmy Marvell jest szerokie spektrum urządzeń peryferyjnych zintegrowanych w kompletnych systemach elektronicznych zawartych w układach scalonych, w skrócie SOC (ang. System On Chip ). W tym przypadku w obudowie FCBGA o wymiarach 23 mm x 23 mm (732 wyprowadzenia). Gwarantuje to, że rachunek materiałów (ang. bill of materials ) wokół procesora jest utrzymywany na umiarkowanym poziomie (zobacz przykład czterordzeniowego MV78460, rys. 3).
W zależności od wersji, poszczególne modele zostały wyposażone w kilka użytecznych interfejsów na 16, 12 lub 7 torach SerDes (ang. Serializer/Deserializer ), co jest znaczną zaletą w ujęciu rachunku materiałów. Gigabit Ethernet jest dostępny na trzech spośród czterech portów, gdzie MAC (ang. Media Access Control ) wspiera Energooszczędny Ethernet „EEE” (ang. Energy-Efficient Ethernet ), więc to energooszczędne rozwiązanie może być wykorzystane wtedy, gdy warstwa fizyczna jest zgodna z EEE. Wszystkie powszechne interfejsy Ethernetu zostały zapewnione, włączając w to RGMII oraz QSGMII. Ostatecznie dane z czterech portów SGMII (każdy po 1,25 Gb/s) są zestawione w pojedynczej parze różnicowej o transferze danych na poziomie 5 Gb/s. W połączeniu z osiągnięciem dalszych oszczędności energii, powoduje to zredukowanie liczby wyprowadzeń.
Armada XP zawiera także do 4 interfejsów PCI Express Gen 2. Do połączenia elementów takich jak FPGA, dostępna jest 8/16/32-bitowa magistrala sprzętowa oraz powszechnie stosowane, zintegrowane rozwiązania SPI, UART, SDIO oraz I2C.
Fakt, że Armada XP wspiera kolejny blok urządzeń peryferyjnych z 32 interfejsami TDM, czyni go idealnym procesorem do zastosowań w systemach VoIP (ang. Voice Over Internet Protocol ).
Dostępne są także maksymalnie trzy porty USB 2.0 ze zintegrowaną warstwą fizyczną, co umożliwia wygodne podłączanie zewnętrznych urządzeń peryferyjnych, umożliwiając działanie procesora, jako urządzenie host lub device. Dostępne są także 2 interfejsy SATA o transferze danych do 3 Gb/s do podłączania zewnętrznych dysków twardych.
Wiele środowisk pracy wymaga graficznego przedstawienia informacji dla użytkownika na wyświetlaczach LCD. Żeby temu sprostać, procesor Armada XP wyposażony jest w kontroler LCD, który może obsługiwać rozdzielczości do 1600 x 1200 pikseli, np. UXGA. W tabeli 1 przedstawiono przegląd różnych modeli procesora Armada XP wraz z listą urządzeń peryferyjnych dostępnych dla każdego z nich.
Tab. 1. Przegląd produktów z rodziny Armada XP wraz z wykazem ich urządzeń peryferyjnych
MV78460 | MV78260 | MV78230 | |
Jednostka centralna | 4 rdzenie, do 1,6 GHz |
2 rdzenie, do 1,6 GHz |
2 rdzenie, do 1,6 GHz |
pamięć podręczna L2 | 2 MB | 1 MB | 1 MB |
DRAM | 64 bity+ECC | 64 bity+ECC | 32 bity+ECC |
PCI Express Gen 2.0 | 4 * PCIe | 2 * PCIe | 2 * PCIe |
Gigabit Ethernet | 4 porty | 4 porty | 3 porty |
Tory SerDes | 16 torów PCIe/SGMII/SATA/ QSGMII/ETM |
12 torów PCIe/SGMII/SATA/ QSGMII/ETM |
7 torów PCIe/SGMII/SATA/ QSGMII/ETM |
Magistrala urządzenia | 8/16/32-bitowa | 8/16/32-bitowa | 8/16-bitowa |
SATA II | 2 porty ze zintegrowaną warstwą fizyczną | ||
USB2.0 | 3 porty ze zintegrowaną warstwą fizyczną | ||
Interfejs TDM | 32 kanały | ||
Inne | Interfejs SPI, SDIO/MMC, 4*UART, 2*I²C, bezpieczne bootowanie, silnik enkrypcji | ||
Niektóre urządzenie peryferyjne mogą być zwielokrotnione przez inne bloki |