Werbung
Die ARM-Architektur steckt inzwischen in Millionen von mobilen Geräten und steht wie keine zweite für den aktuellen Trend zu immer sparsamen, aber gleichzeitig bei Bedarf auch leistungsstarken Prozessoren. Dabei handelt es sich schon lange nicht mehr um einfache Rechenhardware, die Millionen von Additionen pro Sekunde gleichzeitig ausführen kann, sondern die als System on a Chip (SoC) inzwischen fast alle Prozesse verarbeitet, die in einem Smartphone oder Tablet anfallen. Mehr und mehr rückt die ARM-Architektur auch in Bereiche vor, die von vielen sparsamen Kernen profitieren. Dazu gehören Netzwerkswitches, NAS, Embedded-Hardware und Server mit eben solchen speziellen Anforderungen.
Doch wie genau ein solcher Prozessor funktioniert lässt sich kaum noch nachvollziehen. Mehrere Milliarden Transistoren arbeiten inzwischen in einem modernen SoC. Deren einzelne Funktionsweise und Abhängigkeiten sind nicht mehr zu durchblicken. Doch wie alle Technologien hat auch das ARM-Design vor einigen Jahren klein angefangen. Im Oktober 1983 startet ARM noch unter dem Namen Acorn RISC Machine mit der ersten ARMv1-Architektur, die allerdings nie konkret in einem Produkt verbaut wurde. Erst mit ARMv2 war es im April 1985 soweit. Angesichts der Taktfrequenz von 8 MHz bei 4 MIPS (Million Instructions per Second) war man hinsichtlich der Rechenleistung natürlich stark limitiert. Einen Cache haben damalige Prozessoren noch gar nicht besessen. Mit rund 30.000 Transistoren ist man auch weit von der heutigen Komplexität entfernt.
Rückblickend eignen sich solche "einfachen" Architekturen, um das Grundprinzip eines Prozessors und die Vorgänge darin zu verstehen. Unter www.visual6502.org ist nun eine Simulation verfügbar, welche die Vorgänge innerhalb eines solches Prozessors zeigt. Neben der ARMv1-Architektur gibt es auch noch einen Motorola 6502 sowie 6800 zu sehen. Was die Simulation genau zeigt, ist folgendes:
Die Entwickler haben die Prozessoren dazu abfotografiert, was aufgrund der weitaus gröberen Fertigung noch problemlos möglich ist. Daraus wurde ein Vektor-Polygon-Modell erstellt, welches jede Komponente des Prozessors darstellt. Im Falle des 6502 sind dies 20.000, bei der ARMv1-Architektur etwa 30.000. Die Kontakte der einzelnen Bausteine untereinander waren ebenfalls sichtbar und konnten daher im digitalen Modell abgebildet werden. Daraus entstand in der Folge eine Simulation auf Transistor-Level.
Datenschutzhinweis für Youtube
An dieser Stelle möchten wir Ihnen ein Youtube-Video zeigen. Ihre Daten zu schützen, liegt uns aber am Herzen: Youtube setzt durch das Einbinden und Abspielen Cookies auf ihrem Rechner, mit welchen Sie eventuell getracked werden können. Wenn Sie dies zulassen möchten, klicken Sie einfach auf den Play-Button. Das Video wird anschließend geladen und danach abgespielt.
Ihr Hardwareluxx-Team
Youtube Videos ab jetzt direkt anzeigen
Die digitalen Modelle können auch echte Programme durchlaufen. So ist der 6502 in der Lage den Ablauf von Atari-Spielen zu simulieren. Das Rendering der Polygone korrespondiert dabei mit dem Low- und High-State der Transistoren. Es kann also sehr genau dargestellt werden, wie der Chip genau funktioniert, welche Transistoren schalten und welche Register gerade verwendet werden. Auch die internen Bus-Systeme sind so abgebildet werden und externe Pins lassen sich beeinflussen, so dass eine externe Programmierung möglich ist. Wer möchte kann sich die einzelnen Schritte auch Takt für Takt anschauen und versuchen sie nachzuvollziehen.
Für all diejenigen, die schon immer wissen wollten, wie ein Prozessor funktioniert und welche Prozesse bereits für eine simple Addition angestoßen werden müssen, für den ist das Projekt und die Darstellung des Prozessors in digitaler Form sicherlich aufschlussreich.