Strony

wtorek, 5 stycznia 2021

Podsumowanie dekady

czyli,
 Co się zmieniło przez 5 lat, cd: może SPEED to nie wszystko ale ...
taki "półpełny" komentarz na koniec roku/dekady/a może nawet pewnego etapu (d)ewolucji.
A miało być tak wspaniale ...

A tu prawdopodobnie:
- mój ostatni samochód spalinowy
[link]
- mój ostatni komputer PC (x86)

 Dlaczego x86 przegra? z ARM'em 

  • Patrząc na kod x86 - jednym rozkazem ładuje się daną z pamięci i umieszcza w rejestrze obliczeniowym, gdy a ARMie aby to wykonać potrzeba dwie procedury wskazać adres adrp i załadować dane ldr. -  PLUS dla x86 .  
  • Ale aby przyśpieszyć działanie komputera, procesory wykonują więcej niż jedno polecenie (nie koniecznie w kolejności!!!) w jednym takcie, przewidując konflikty [np. (2+2)*3 trzeba poczekać na wynik dodawania i dopiero pomnożyć]. W x86 każdy rozkaz procesora może zajmować od 1 do 15 bajtów, więc trudno przewidzieć, gdzie się kończy, gdzie następne, zgadnąć czy to dana czy adres. W ARM jest stała długość każdego rozkazu, więc prościej w kodzie maszynowym odnaleźć kolejne polecenia dla procesora  PLUS dla ARM  Dodatkowo w Architekturze ARM przetwarzanie danych jest wyłącznie na rejestrach, to wielkie ograniczenie w stosunku do x86 ale z drugiej strony zmniejsza zakres poszukiwań dla algorytmu konfliktów.
  • Intel wprowadzając coraz szersze rejestry danych (instrukcje wektorowe MMX 64bit w 1996r. - aktualnie AVX-512 umożliwia wykonywanie operacji równoległych na 16 liczbach 32 bitowych). Ale przy szybkości obliczeń równoległych przy użyciu GPU "kart graficznych" wygląda to żenująco śmiesznie -  PLUS dla (i)GPU ale w  architekturze ARM  [2012r - Uczę się pisać CUDA]. W lutym mają się pojawić pierwsze układy graficzne Intel Xe (zintegrowane i zewnętrzne karty graficzne), ale soory, nikt już nie uciszy ARMa (tak jak to zrobili z Huawei). 
    Nie przypuszczałem, że to powiem: wielkie dzięki Apple Mac M1 ARM"
     *)1/32 !)1/64  c++: FP32-flouat, FP64-double         |   GFLOPs (TFLOPS)  
                              | GPU name|       FP32*MHz  | FP16 | FP32 | FP64 | 
    Intel Core i9-9900K| 14nm |  8C/16T | 16(AVX512)*2500 |      |  914 |  535 | CPUx86 
    Intel i7-9700 GPU  | 14nm | UHD 630 |      192*2*1200 |  920 |  460 |  115 |INTEL iGPU
    AMD Ryzen 5 2400G  | 14nm | Vega 11 |      704*2*1250 | 3520 | 1760 |  440 |iGPU AMD 
    nVidia GTX 1050Ti  |      |         |      768*2*1392 |   33!| 2138 |   67*|  GPU 
    Intel i5-9300H+1650| 12nm | GTX1650 |     1024*2*1560 | 6390 | 3195 |  100*|  GPU
    Intel Iris Xe      | 10nm | G7 96EU |      768*2*1300 | 4000 | 2000 |  500 |INTEL iGPU
    Apple Mac Mini M1  |  5nm | Apple A14X    1024*2*1278 | 5200 | 2600 |  650 |ARM iGPU
  • Półtora roku temu ARM opublikował taką grafikę, delikatnie tylko piszą o rynku mobilnych laptopów (aby nie denerwować lidera), że za dwa lata będziemy lepsi. 
    Wieli prawdziwy rynek to rynek serwerowy, "Przez ostatnie 11 lat wyrażenie „serwer ARM” było prawie oksymoronem" - cytat z strony www.extremetech.com Autorzy przedstawia obliczenia całkowitego kosztu eksplantację serwera ARM Graviton2, AMD Epyc 7571, Intel Xeon Platinum 8259CL. Artykuł kończy się obliczeniami, że procesor ARM daje 40% oszczędność. Oczywiście to stwierdzeni wywołało burze komentarzy po tym artykule, że AMD porównano stary procesor a nie nową wersję, a czy test jest zoptymalizowany pod rozkazy AVX2 Intela. Czyli już nie Intel kontra AMD jest trzeci gracz ARM.
 HISTORIA ARM - róznice | założenia 
Wg danych z Wikipedii pierwszy prototyp ARM-1 1983 roku, jest to ulepszona wersja procesora MOS 6502 firmy MOS Technology oraz ważną różnice w stosunku do innych architektur jest użycie kodu warunkowego na początku każdej instrukcji. Oraz drugie ważne źródło wywiad z Johnem Biggsem "Czy ARM zawsze będzie projektować chipy o zmniejszonej liczbie instrukcji? Tak, zawsze będziemy RISC (...) Idea RISC polega na tym, że skupiasz się na instrukcjach wykonywanych (bardzo szybko) przez chip w 80% przypadków (...) Głównym powodem, dla którego Intel tworzy złożone układy z zestawami instrukcji, jest jego dziedzictwo - cała koncepcja RISC pojawiła się dopiero po pojawieniu się 8086." Intel nie można łatwo przejść na nowy kod/strukturę z powodu problemów z kompatybilnością wsteczną z istniejącym oprogramowaniem.

 WAŻNE DATY DLA PROCESORÓQ ARM  
WAŻNE (w przygotowaniu)
1996 - NOKIA 9000 Communicator  Intel 386 24 MHz 
1998 - BlackBerry 950  Intel 386
1998 - NOKIA 6110 -  pierwszy telefon GSM, w którym zastosowano procesor  ARM
2000 - iPAQ PDA na StrongARM = ARM produkowany przez Intela
2002 - Sony Ericsson P800 ARMv9 156MHz
2004 - NOKIA 6630 ARM926EJ-S 220MHz [ARM9]
2007 - iPhone (1 generacja) ARM
2012 - Raspberry Pi ARM1176JZF-S 700MHz (ARM11)

Brak komentarzy:

Prześlij komentarz