#008 - Zaczarowane Jabłko #2

1:12:06
 
Udostępnij
 

Manage episode 288343609 series 2566477
Stworzone przez Semihalf, odkryte przez Player FM i naszą społeczność - prawa autorskie są własnością wydawcy, a nie Player FM, a dzwięk jest przesyłany bezpośrednio z ich serwerów. Naciśnij przycisk Subskrybuj, aby śledzić aktualizacje Player FM, lub wklej adres URL kanału do innych aplikacji podcastowych.
W ósmym odcinku rozprawiamy się z potocznymi opiniami na temat wydajności procesora Apple M1.
Tym razem bierzemy pod lupę konstrukcję nowego procesora M1 firmy Apple, który wywołał spore zamieszanie na rynku ultrabooków. Bazując na własnych, bogatych doświadczeniach z architekturą ARM, weryfikujemy doniesienia medialne usuwając jednocześnie kolejne zasłony dymne, które można napotkać wśród opisów "rewelacyjnych" wyników M1. Wyjaśniamy zasady budowy nowoczesnych procesorów i podajemy źródła rzetelnej wiedzy. Staramy się również odpowiedzieć na pytanie, jak rozwiązania Apple wpłyną długofalowo na cały rynek procesorów ARM, choć przewidywanie przyszłości należy do dziedziny niezupełnie inżynierskiej.
Prowadzący: Radosław Biernacki, Maciej Czekaj, Stanisław Kardach
Hashtag: Arm, Apple, M1
### Plan odcinka, część #2
# 0:23 - Translacja kodu x86 -> ARM
# 4:30 - Rozkazy x86 potrafią operować na pamięci (model pamięci)
# 8:50 - Ograniczenia translacji
# 10:00 - Translacja vs emulacja
# 11:30 - Wydajność translacji na M1
# 13:30 - WAŻNE: różnice modelu pamięci i wyzwania translacji!
# 18:00 - M1 TSO (Total Store Ordering)
# 23:26 - Wątek poboczny: Izolacja CPU
# 28:13 - koniec wątku pobocznego
# 28:50 - Roseta 1 i Roseta 2
# 30:36 - TDP i testy porównawcze
# 35:30 - Segmentacja rynku zastosowań procesora
# 37:26 - Jądro OSX
# 40:42 - Troche o ograniczeniach TDP
# 44:12 - Wydajność podsystemu DRAM o SWAP
# 45:22 - Podsumowanie #4 (ewolucja a nie rewolucja)
# 46:40 - Polityka informacyjna Apple
# 49:43 - wątek poboczny: Historia bywa przewrotna, Apple vs IBM, wertykalna struktura Apple
# 51:47 - koniec wątku pobocznego
# 52:55 - ARM otwiera ISA?!?
# 56:30 - wątek poboczny: Linux i samo-modyfikujący się kod
# 1:00:47 - koniec wątku pobocznego
# 1:01:20 - Apple AMX
# 1:06:30 - Czy ARM przejmie rynek PC?
# 1:10:35 - Zakończenie
### Linki
# 0:23 - Translacja X86 -> ARM:
- Jak robi to Apple:
- Jak Transitive umarł: https://www.itjungle.com/2011/09/26/tfh092611-story06/
- Jak robi to Microsoft:
- Niskopoziomowa analiza: https://blogs.blackberry.com/en/2019/09/teardown-windows-10-on-arm-x86-emulation
- Kompleksowa analiza WOW64: https://wbenny.github.io/2018/11/04/wow64-internals.html
- Qemu User Mode Emulation: https://qemu.readthedocs.io/en/latest/user/index.html
- Narzędzia do skrośnego przygotowywania dystrybucji Debiana/Ubuntu: https://wiki.debian.org/EmDebian/CrossDebootstrap
# 18:00 - TSO
- Slajdy poglądowe o Total Store Ordering: https://www.cis.upenn.edu/~devietti/classes/cis601-spring2016/sc_tso.pdf
- Hack do włączania dla każdego procesu w OSX na M1: https://github.com/saagarjha/TSOEnabler
# 25:00 - Łatki kernela do "Total CPU Isolation"
https://lwn.net/Articles/816298/
# 28:50 - Roseta1 i Roseta 2
- Rosetta 2: https://appleinsider.com/inside/rosetta-2
- Rosetta 1 (w 2006 przy przejściu PowerPC -> Intel) będąca modyfikacją technologii QuickTransit:
- https://en.wikipedia.org/wiki/QuickTransit
- Prezentacja o QuickTransit na KVM Forum 2008: https://www.linux-kvm.org/images/9/98/KvmForum2008%24kdf2008_2.pdf
# 1:01:20 - Apple AMX
https://gist.github.com/dougallj/7a75a3be1ec69ca550e7c36dc75e0d6f
https://nod.ai/comparing-apple-m1-with-amx2-m1-with-neon/
https://medium.com/swlh/apples-m1-secret-coprocessor-6599492fc1e1

10 odcinków