ARM zaprezentowało swój najnowszy projekt procesora — Cortex-A77. Podobnie jak zeszłoroczny Cortex-A76, to rdzeń przeznaczony do zadań klasy premium w smartfonach i różnych urządzeniach. Projektant skupił się na zwiększeniu liczby wykonywanych komend na cykl (IPC). Częstotliwości taktowania i zużycie energii pozostały na poziomie zbliżonym do Cortex-A76.

Obecnie ARM stara się szybko zwiększyć wydajność swoich rdzeni. Zgodnie z planami, od Cortex-A73 z 2016 roku aż do projektu Hercules z 2020 roku firma zamierza zwiększyć moc CPU o 2,5 razy. Już przejścia z 16 nm na 10 nm, a następnie na 7 nm pozwoliły na podniesienie częstotliwości taktowania, a w połączeniu z architekturą Cortex-A75 i następnie Cortex-A76, według szacunków ARM, osiągnięto już 1,8-krotny wzrost wydajności. Teraz rdzeń Cortex-A77 pozwoli na zwiększenie wydajności o kolejne 20% przy tej samej częstotliwości taktowania dzięki wzrostowi IPC. Oznacza to, że 2,5-krotny przyrost w 2020 roku staje się całkowicie realny.

Pomimo wzrostu IPC o 20%, według szacunków ARM, zużycie energii A77 nie wzrosło. Kompromis w tym przypadku polega na tym, że obszar chipu A77 jest około 17% większy niż A76 przy tych samych normach technologicznych. W rezultacie koszt pojedynczego rdzenia nieco wzrośnie. Porównując osiągnięcia ARM z liderami branży, warto wspomnieć, że AMD w Zen 2 zwiększyło IPC o 15% w porównaniu do Zen+, podczas gdy wartość IPC rdzeni Intel od wielu lat pozostaje na tym samym poziomie.

Okno wykonania z reorganizacją sekwencji komend (size of out-of-order window) zostało powiększone o 25%, do 160 jednostek, co pozwala rdzeniowi na zwiększenie równoległości obliczeń. Już w Cortex-A76 znajdował się duży bufor adresów skoków (Branch Target Buffer), a w Cortex-A77 został on zwiększony o 33%, do 8 KB, co pozwala modułowi prognozującemu skoki efektywnie radzić sobie ze wzrostem liczby równoległych instrukcji.

Jeszcze bardziej interesującą nowością jest całkiem nowy 1,5-KB cache, w którym przechowywane są makrooperacje (MOP) zwracane z modułu dekodowania. Architektura procesora ARM dekoduje instrukcje z aplikacji użytkownika na mniejsze makrooperacje, a następnie dzieli je na mikrooperacje, które są przekazywane już do rdzenia wykonawczego. Cache MOP jest używany w celu zmniejszenia wpływu pominiętych gałęzi i resetów, ponieważ teraz makrooperacje są przechowywane w oddzielnym bloku i nie wymagają ponownego dekodowania - co zwiększa ogólną przepustowość rdzenia. W niektórych obciążeniach nowy blok stanowi niezwykle przydatne uzupełnienie standardowego cache'a instrukcji.


W rdzeniu wykonawczym dodano czwarty blok ALU oraz drugi blok gałęziowania. Czwarty ALU zwiększa ogólną przepustowość procesora 1,5 razy dzięki możliwości wykonywania instrukcji realizowanych w jednym cyklu (takich jak ADD i SUB) oraz dwu-cyklowych operacji całkowitych, takich jak mnożenie. Pozostałe dwa ALU mogą przetwarzać tylko podstawowe instrukcje jednocyklowe, podczas gdy ostatni blok jest obciążany bardziej złożonymi operacjami matematycznymi, takimi jak dzielenie, mnożenie z kumulacją itd. Drugi blok gałęziowania wewnątrz rdzenia wykonawczego podwaja liczbę równoczesnych przejść gałęzi, z którymi rdzeń może pracować, co jest przydatne w przypadkach, gdy dwie z sześciu wysłanych komend dotyczą przejść gałęzi. Wewnętrzne testy w ARM wykazały wzrost wydajności dzięki wykorzystaniu tego drugiego bloku przejść.


Wśród innych zmian w rdzeniu znajduje się dodanie drugiego potoku szyfrowania AES, zwiększenie przepustowości pamięci, udoskonalony mechanizm prefetchingu danych nowej generacji, który pozwala zwiększyć efektywność energetyczną i jednocześnie zwiększyć przepustowość systemu DRAM, optymalizacja pracy cache'a i tak dalej.


Największy wzrost obserwuje się w Cortex-A77 w operacjach całkowitych oraz obliczeniach z przecinkiem. Potwierdzają to wewnętrzne testy ARM w SPEC, które wykazały wzrost wydajności o 20% w operacjach całkowitych i 35% w obliczeniach z przecinkiem. Ulepszenia przepustowości pamięci znajdują się w zakresie 15–20%. Ogólnie, optymalizacje i zmiany w A77 średnio dają 20-procentowy wzrost wydajności w porównaniu z poprzednią generacją. Dzięki nowszym standardom technologicznym, takim jak 7 nm ULV, możemy uzyskać dodatkowe korzyści w końcowych chipach.


ARM opracowała Cortex-A77 do pracy w konfiguracji 4+4 big.LITTLE (4 mocne rdzenie i 4 proste energooszczędne). Jednak biorąc pod uwagę powiększoną powierzchnię nowej architektury, wielu producentów w celu obniżenia kosztów może zaprezentować konfiguracje 1+3+4 lub 2+2+4, które są już aktywnie stosowane, gdzie tylko jedno lub dwa rdzenie będą pełnoprawnymi, nieokrojonymi A77.

Źródło: 3dnews.ru
