Dezember 26, 2024

HL-1.tv

Das Lübecker Statdfernsehen

Eine kurze Tour durch den PDP-11, den einflussreichsten Mikrocomputer aller Zeiten

Eine kurze Tour durch den PDP-11, den einflussreichsten Mikrocomputer aller Zeiten

Eine kurze Tour durch den PDP-11, den einflussreichsten Mikrocomputer aller Zeiten

saccade.com

Die Geschichte der Computer kann in drei Epochen unterteilt werden: die Geschichte der Großrechner, der Mikrocomputer und der Mikrocomputer. Mikrocomputer bildeten eine wichtige Brücke zwischen den ersten Großrechnern und den heute allgegenwärtigen Mikrocomputern. Dies ist die Geschichte des PDP-11, des einflussreichsten und erfolgreichsten Mikrocomputers aller Zeiten.

Gegenwärtig werden Mikrocomputer in einer Vielzahl von Anwendungen verwendet. Sie dienten als Kommunikationscontroller, Instrumentencontroller, große Systemprozessoren, Tischrechner und Echtzeit-Datenerfassungsprozessoren. Sie legten aber auch den Grundstein für große Fortschritte im Hardware-Engineering und trugen maßgeblich zu modernen Betriebssystemen, Programmiersprachen und interaktivem Computing, wie wir es heute kennen, bei.

In der heutigen Computerwelt, in der auf jedem Computer eine Variante von Windows, Mac oder Linux läuft, ist es schwer zu sagen, welche CPUs sich unter dem Betriebssystem befinden. Aber es gab eine Zeit, in der Unterschiede in der CPU-Architektur ein großes Problem waren. Der PDP-11 hilft zu erklären, warum das so ist.

Der PDP-11 wurde 1970 eingeführt, zu einer Zeit, als die meisten Computer auf teuren GE-, CDC- und IBM-Computern ausgeführt wurden, zu denen nur wenige Menschen Zugang hatten. Es gab keine Laptops, Desktops oder PCs. Die Programmierung wurde von wenigen Firmen durchgeführt, hauptsächlich in Assembler, COBOL und Fortran. Die Eingabe erfolgte auf Lochkarten, und die Programme wurden in nicht-interaktiven Gruppen ausgeführt.

Obwohl der erste PDP-11 bescheiden war, legte er den Grundstein für die Eroberung von Mikrocomputern, die eine neue Generation von Computern leichter verfügbar machen und die Computertechnik im Wesentlichen revolutionieren würden. PDP-11 half bei der Geburt UNIX-Betriebssystem Und das Programmiersprache C. Es wird auch die nächste Generation von Computerarchitekturen stark beeinflussen. Während der 22-jährigen Lebensdauer des PDP-11 – ein Zeitraum, der nach heutigen Maßstäben unerhört ist – wurden mehr als 600.000 PDP-11 verkauft.

Siehe auch  Es gibt keine Lösung für das Problem, dass Intel-Prozessoren der 13. und 14. Generation abstürzen – also bleibende Schäden entstehen

Die frühen PDP-11-Prototypen waren nicht übermäßig beeindruckend. Der erste PDP-11 11/20 kostet 20.000 US-Dollar, wird aber mit nur etwa 4 KB RAM ausgeliefert. Ich benutzte Papierband für die Speicherung und hatte einen Fernschreiber ASR-33-Druckercontroller, der 10 Zeichen pro Sekunde druckt. Aber es hatte auch eine beeindruckende orthogonale 16-Bit-Architektur, acht Register, 65 KB Adressraum, eine Zykluszeit von 1,25 MHz und einen flexiblen UNIBUS-Hardwarebus, der zukünftige Peripheriegeräte unterstützte. Dies war eine erfolgreiche Kombination für seinen Schöpfer, die Digital Equipment Corporation.

Die anfängliche Implementierung des PDP-11 umfasste Echtzeit-Instrumentensteuerung, Anlagenautomatisierung und Datenverarbeitung. Da sich der PDP-11 einen guten Ruf für Flexibilität, Programmierbarkeit und Erschwinglichkeit erworben hat, wurde er in Ampelsteuerungssystemen, dem Nike-Raketenabwehrsystem, der Flugsicherung, Kernkraftwerken sowie Schulungs- und Kommunikationssystemen für Marinepiloten eingesetzt. Es leistete auch Pionierarbeit bei der Text- und Datenverarbeitung, die wir heute als selbstverständlich ansehen.

Die Wirkung des PDP-11 manifestiert sich auffallend in der Programmierung der Montage des Geräts.

Grundlagen der Assembler-Programmierung

Vor der Erfindung von Hochsprachen wie Python, Java und Fortran wurde in Assemblersprache programmiert. Die Programmierung in Assemblersprache kann mit sehr wenig RAM und Speicherplatz durchgeführt werden – perfekt für eine Umgebung in den frühen Tagen der Computertechnik.

Die Assemblersprache ist ein Low-Level-Zwischenformat, das in eine Maschinensprache konvertiert wird, die dann direkt von einem Computer ausgeführt werden kann. Es ist zurückhaltend, weil Sie Aspekte der Computerarchitektur direkt manipulieren. Einfach ausgedrückt, bewegt die Assembler-Programmierung Ihre Daten Byte für Byte durch Hardware- und Speicherregister. Was die PDP-11-Programmierung anders machte, war das elegante Design des Mikrocomputers. Jede Anweisung hat ihren Platz, und jede Anweisung macht Sinn.

Siehe auch  Helvetii startete am 3. Februar 2023

Der 16-Bit-Adressraum bedeutet, dass jedes Register bis zu 64 KB RAM verarbeiten kann, wobei die höchsten 4 KB für speicherabgebildete Ein- und Ausgänge reserviert sind. PDP-11s können mit Registry-Clips insgesamt 128 KB RAM verarbeiten (mehr dazu gleich). Obwohl also PDP-11-Systeme mit nur 4 KB RAM ausgestattet waren, waren sie durch den geschickten Einsatz früher Programmiertechniken immer noch produktiv.

Programm in Assemblersprache

Dieses Konzept lässt sich am einfachsten anhand eines Beispiels eines einfachen PDP-11-Assemblersprachenprogramms verstehen, das wir weiter unten besprechen werden. Schlüsselwörter, die mit „.“ beginnen Sie sind Anweisungen an die Versammlung. .globl Exportieren Sie eine Beschriftung als Symbol für den Link zur Verwendung durch das Betriebssystem. .text Gibt den Beginn des Codesegments an. .data Gibt den Beginn eines separaten Datensegments an. Schlüsselwörter, die auf „:“ enden, sind Taxonomien. Die Assembler-Programmierung verwendet Labels, um den Speicher symbolisch zu manipulieren. (Hinweis: mit der Terminologie PDP-11 und Codierung, kein Text nach/Kommentar.)

Schlüsselwörter Übersetzung
.globl _main Exportieren Sie die Bezeichnung _main als Einstiegspunkt für das zu verwendende Betriebssystem
.Text Beginn des Anweisungsblocks, in dem sich der Nur-Lese-Code befindet
_main: MOV VAL1, R0 Kopieren Sie den Wortwert in den Speicherplatz VAL1 in Register 0
Fügen Sie $10, R0 hinzu Addieren Sie 10 zum Wert in Register 0
MOV R0, VAL1 Kopieren Sie den Wert in Register 0 in den Speicherplatz VAL1
_.Daten Beginn des Datensegments, wo Daten gelesen/geschrieben werden
VAL1: .word $100 Behalten Sie 2 Byte Speicher, um Val1 zu halten, konfiguriert auf 100

Obwohl numerische Werte für Speicheradressen verwendet werden können, erleichtert die Verwendung von Etiketten anstelle von codierten Adressen die Programmierung und macht den Code im Speicher neu positionierbar. Dies gibt dem Betriebssystem Flexibilität beim Ausführen des Codes und stellt sicher, dass jedes Programm schnell und effizient ist.

Siehe auch  Die Übersetzer von Persona 3 und Persona 4 haben die Credits des Spiels hinterlassen

Die Datensammlerdirektive platziert Daten in einem Speichersegment, das gelesen und geschrieben werden kann. Der Speicherteil des Codes ist schreibgeschützt, um zu verhindern, dass Programmierfehler das Programm beschädigen und Abstürze verursachen. Diese Trennung von Befehlen und Daten auf dem PDP-11 wird „Aufteilen von Befehlen und Daten“ genannt. Diese Funktion erhöht nicht nur die Stabilität, sondern verdoppelt auch den Adressraum, indem 64 KB für Code und 64 KB für Daten aktiviert werden – dies galt zu dieser Zeit als große Innovation. Dementsprechend machten die X86-Mikrocomputer von Intel ausgiebigen Gebrauch von Sektoren.