一次内存读,硬件走了几步
一次普通的内存读,硬件到底走了几步?
Vorlage kopieren, dann ein Modell wählen. Es spielt den Interviewer und fragt dich Szene für Szene ab, statt dir die Antwort hinzulegen.
Auf einem Telefon mit installierter App öffnet das System die App direkt. In WeChat lassen sich keine externen Apps öffnen — öffne es zuerst im Browser.
Am Ende des kopierten Textes steht der Lösungsschlüssel, mit dem das Modell dich bewertet. Lies ihn nicht vorher — es zählt, dass du selbst darauf gekommen bist.
这一份的分水岭是一问:翻译缓存没命中,和一个页根本不在内存里,是同一件事吗? 两者差三到四个数量级,一个纯硬件几十周期,一个要陷进内核 —— 分不清这两个,线上看到 fault 数飙升时就不知道该往哪查。
前面几幕会逼你自己算出「一张页表要 4MB、每个进程一张」,然后自己推出为什么必须分级、为什么必须有那个缓存。
顺带回答一个很多人记反的问题:虚拟内存的主要目的到底是不是「内存不够时拿磁盘顶上」。
Was diese Übung trainiert
Dieser Text im Repository (am Ende der Datei steht die Auflösung — du wirst sie sehen)
Schon gemacht?
Melde dich an, um festzuhalten, dass du diese Aufgabe geübt hast — beim nächsten Mal siehst du, wann das war.
Notizen von Leuten, die das gemacht haben
So funktioniert es
Diese Reihe lehrt, statt zu verhören: sie führt dich, statt zu bohren, bis dir nichts mehr einfällt. Wenn du hängst, fragt sie zuerst, auf welcher Ebene (nie gehört / weiß es, aber nicht warum / weiß warum, kann es aber nicht anwenden), und entscheidet dann, was sie gibt. Erst nach zwei Anläufen sagt sie es direkt — und lässt dich es danach in eigenen Worten wiederholen.
Sie fragt unablässig nach Zahlen: „das kostet etwas“ oder „das ist schneller“ wird abgebrochen. Eine Schlussfolgerung ohne Größenordnung ist auswendig gelernt — genau das trainiert diese Reihe.
So fängst du an
- Eine auswählen, öffnen, den Prompt kopieren.
- In ein ganz neues, leeres Gespräch einfügen, nichts sagen, auf die erste Frage warten.
- Rechne damit, Größenordnungen nennen zu müssen: wie viele Nanosekunden, wie viele Mikrosekunden, um welchen Faktor langsamer. „Weiß ich nicht“ ist in Ordnung — sie notiert es und macht weiter.
Vier Zurufe, jederzeit möglich
跳过sofort zur nächsten Szene换个说法diese Stelle aus einem anderen Blickwinkel erklären直说吧die Antwort ganz sagen und mich danach wiederholen lassen复盘direkt zum Abschluss springen und die Auswertungskarte ausgeben
Drei Fallen
- Lies das Lösungsblatt am Ende nicht vorher — der Abschnitt „so denkt man es sich falsch“ ist die Antwort auf jede Frage.
- Greif nicht sofort zum Fachwort. „Das ist ein TLB-Miss“ ist leicht gesagt; zu sagen, um wie viel billiger er als ein Page Fault ist, zählt.
- Wenn sie anfängt, dich zu loben, verweise sie auf die Regel „lob mich nicht“. Führen ist kein Bemuttern.
Für das Gefühl für Größenordnungen: erst Random Reads, dann das erste Byte. Für Produktionsanalyse: malloc, TCP-Stockungen, Kontextwechsel. Für nebenläufigen Code: Umordnung und False Sharing.
Anmelden, um eine Notiz zu schreiben.