#008 - Zaczarowane Jabłko #2
Poziom niżej - En podkast av Semihalf
Kategorier:
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 KardachHashtag: 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: -