#008 - Zaczarowane Jabłko #1

MAR 25, 202181 MIN
Poziom niżej

#008 - Zaczarowane Jabłko #1

MAR 25, 202181 MIN

Description

W ósmym odcinku rozprawiamy się z potocznymi opiniami na temat wydajności procesora Apple M1.<br /><br />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 rozwiazania 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.<br /><br />Prowadzący: Radosław Biernacki, Maciej Czekaj, Stanisław Kardach<br /><br />Hashtag: Arm, Apple, M1<br /><br />### Plan odcinka, część #1<br /><br /># 0:23 - Wstęp<br /># 4:44 - Na jakiej podstawie analizujemy procesor<br /># 6:14 - Czy ISA ARM ma znaczenie?<br /># 8:30 - Jak działa nowoczesny procesor<br /># 11:20 - Dlaczego wszystkie procesory działają bardzo podobnie<br /># 12:55 - Odstępstwa od procesorów superskalarnych<br /># 14:34 - W czym faktycznie różnią się procesory<br /># 18:20 - Na co procesor wydatkuje energię elektryczną<br /># 20:50 - Dlaczego nie zawsze więcej znaczy lepiej<br /># 24:30 - Coś za coś - czyli konsumpcja energii a wydajność<br /># 30:00 - Gdzie jest magia w jabłku? - dlaczego M1 jest tak wydajny?<br /># 32:40 - Jak działają mikro-benchmarki<br /># 39:37 - Podsystem pamięci w M1<br /># 50:30 - Interconnect jako sieć pakietowa<br /># 51:47 - Nietypowy cache L3 w M1?<br /># 57:29 - L2 jako punkt koherencji w M1? (słynny NSObjects i ref counting)<br /># 1:04:32 - Podsumowanie #1<br /># 1:07:43 - Opóźnienie L1 w M1<br /># 1:08:55 - Podsumowanie #2 (nie magia)<br /># 1:10:12 - Registry renaming<br /># 1:12:30 - Dekoder rozkazów i SMT<br /># 1:18:58 - M1 jako awangarda w mikro-architekturze?<br /><br />### Linki<br /><br /># 4:44 - Testy od AnandTech<br /><a href="https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested" rel="noopener">https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested</a><br /><br /># 13:02 - VLIW <br /><a href="https://en.wikipedia.org/wiki/Very_long_instruction_word" rel="noopener">https://en.wikipedia.org/wiki/Very_long_instruction_word</a><br /><br /># 13:25 - Alternatywne architektury procesorów<br />Microsoft EDGE ISA - procesor grafowy <br /><a href="https://www.theregister.com/2018/06/18/microsoft_e2_edge_windows_10/" rel="noopener">https://www.theregister.com/2018/06/18/microsoft_e2_edge_windows_10/</a><br /><br />Ian Goddard o EDGE CPU i Mill CPU<br /><a href="https://millcomputing.com/topic/microsoft-e2-edge-processor/" rel="noopener">https://millcomputing.com/topic/microsoft-e2-edge-processor/</a><br /><br />Procesor RAW<br /><a href="https://apps.dtic.mil/sti/pdfs/AD1007208.pdf" rel="noopener">https://apps.dtic.mil/sti/pdfs/AD1007208.pdf</a><br /><br />Procesor Mill<br /><a href="https://millcomputing.com/" rel="noopener">https://millcomputing.com/</a><br /><br /># 24:33 - Big-little<br /><a href="https://www.usenix.org/system/files/conference/hotpower14/hotpower14_hahnel.pdf" rel="noopener">https://www.usenix.org/system/files/conference/hotpower14/hotpower14_hahnel.pdf</a><br /><br /># 30:30 - Parametry mikroarchitektury procesora na bazie procesorów Intela i AMD<br /><a href="https://en.wikichip.org/wiki/intel/microarchitectures/coffee_lake" rel="noopener">https://en.wikichip.org/wiki/intel/microarchitectures/coffee_lake</a><br /><a href="https://en.wikichip.org/wiki/amd/microarchitectures/zen_2" rel="noopener">https://en.wikichip.org/wiki/amd/microarchitectures/zen_2</a><br /><br /># 31:59 - Andnatech, Apple M1<br /><a href="https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested" rel="noopener">https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested</a><br /><br /># 49:00 - Dougall Johnson <br /><a href="https://dougallj.github.io/applecpu/firestorm.html" rel="noopener">https://dougallj.github.io/applecpu/firestorm.html</a><br /><a href="https://twitter.com/dougallj" rel="noopener">https://twitter.com/dougallj</a><br /><br /># 50:50 - Interconnect IP od Arteris<br /><a href="https://www.arteris.com/" rel="noopener">https://www.arteris.com/</a><br /><br /># 55:37 - Wykresu latencji L3 na Apple M1<br /><a href="https://pasteboard.co/JUeihtx.png" rel="noopener">https://pasteboard.co/JUeihtx.png</a><br /><br /># 1:10:45 - Tomasulo Algorithm - Registry Renaming<br /><a href="https://www.youtube.com/watch?v=PZZvhqnch5o" rel="noopener">https://www.youtube.com/watch?v=PZZvhqnch5o</a><br /><a href="https://www.youtube.com/watch?v=D29BgTLHYbk" rel="noopener">https://www.youtube.com/watch?v=D29BgTLHYbk</a><br /><a href="https://www.udacity.com/course/high-performance-computer-architecture--ud007" rel="noopener">https://www.udacity.com/course/high-performance-computer-architecture--ud007</a><br /><br /># 1:12:50 Power 10<br /><a href="https://www.hotchips.org/assets/program/conference/day1/HotChips2020_Server_Processors_IBM_Starke_POWER10_v33.pdf" rel="noopener">https://www.hotchips.org/assets/program/conference/day1/HotChips2020_Server_Processors_IBM_Starke_POWER10_v33.pdf</a>