Der Mikroprozessor muss 16-Bit sein (formale Begründung)

, :

R — ( )
A — ( )
C — ( )

, ( — , ):

A = C = 2 ^ R

Die Einhaltung dieser Bedingung bedeutet, dass jede Zelle die Adresse einer anderen Zelle aufnehmen kann und umfassende Informationen über die ausgeführte Aktion enthält. Das Reduzieren des Adressraums ist mit Links zu nicht vorhandenem Speicher und einer Erhöhung mit redundanten Informationen behaftet, die erforderlich sind, um die Fähigkeit sicherzustellen, den gesamten Speicher zu adressieren. Gleiches gilt für den Befehlsraum. Somit hört unsere hypothetische Menge nicht auf, unendlich zu sein, sondern wird definierbarer.

Gibt es andere Bedingungen, die die oben genannten Kriterien erfüllen und offensichtlich sind, ohne näher auf die Details der Entwicklung einer Architektur auf niedriger Ebene einzugehen? Ja, es gibt mindestens eine solche Bedingung:

R = 2 ^ n Die

Einhaltung dieser Bedingung bedeutet, dass zur Angabe der Anzahl beliebiger Bits in einer Zelle eine ganzzahlige Anzahl von Bits erforderlich ist (auch hier ist ein Überschuss oder ein Mangel aus Gründen der einfachen Schreibbarkeit und der Zuverlässigkeit des Maschinencodes unerwünscht )

Offensichtlich ist n = 4 der minimal akzeptable Wert, da 256 Bytes Speicher mit n = 3 nur zum Programmieren von Weihnachtsgirlanden geeignet sind. Bei n= 5 Wir erhalten die Speichermenge, die den neuesten Fortschritten in der IT entspricht. Wenn wir jedoch annehmen, dass der Hauptzweck des vom Prozessor adressierten Speichers darin besteht, den Maschinencode (Engine) zu speichern, und die Daten, die diese Engine manipuliert, aus dem Adressraum entfernt werden (dh wenn wir annehmen, dass externe Geräte ihre Träger sind), dann diese Speichermenge (16 GB) wird eindeutig redundant sein. In der Tat fällt im RAM moderner Computer nur ein kleiner Teil des Speichers auf den Anteil des Maschinencodes, der Rest sind Daten. Darüber hinaus steht die Trennung von Code und Daten auf Hardwareebene im Einklang mit der Idee eines guten Stils sowohl im Mikroprozessordesign als auch in der Assembler-Programmierung. In Megabit Maschinencode, geschrieben in effektivem Acme (vorausgesetzt, die Daten werden aus der Adresse des vom Prozessor adressierten RAM entnommen),kann eine volle Achse aufnehmen. Wenn dieser Speicher nicht ausreicht (um beispielsweise Multitasking zu implementieren), können Sie mehrere Prozessoren verwenden, da die "Arbeitsteilung" im IT-Bereich in der Regel auch zur Bequemlichkeit der Entwicklung von Programmen und zur Effektivität ihrer Funktionsweise beiträgt. Um Multitasking zu implementieren, kann im Prinzip nichts mit einem Prozessor auskommen: Wir können beispielsweise eine schnelle Schnittstelle für den Datenaustausch zwischen RAM und externem Speicher implementieren. Glücklicherweise können Sie mit einer kleinen Menge RAM nicht sequentiell, sondern parallel (in einem „Frame“) aktualisieren dass jeder Teil des Prozessorspeichers in wenigen Ticks überschrieben werden kann.In der Regel trägt es zur Bequemlichkeit der Entwicklung von Programmen und zur Wirksamkeit ihrer Funktionsweise bei. Um Multitasking zu implementieren, kann im Prinzip nichts mit einem Prozessor auskommen: Wir können beispielsweise eine schnelle Schnittstelle für den Datenaustausch zwischen RAM und externem Speicher implementieren. Glücklicherweise können Sie mit einer kleinen Menge RAM nicht sequentiell, sondern parallel (in einem „Frame“) aktualisieren dass jeder Teil des Prozessorspeichers in wenigen Ticks überschrieben werden kann.In der Regel trägt es zur Bequemlichkeit der Entwicklung von Programmen und zur Wirksamkeit ihrer Funktionsweise bei. Um Multitasking zu implementieren, kann im Prinzip nichts mit einem Prozessor auskommen: Wir können beispielsweise eine schnelle Schnittstelle für den Datenaustausch zwischen RAM und externem Speicher implementieren. Glücklicherweise können Sie mit einer kleinen Menge RAM nicht sequentiell, sondern parallel (in einem „Frame“) aktualisieren dass jeder Teil des Prozessorspeichers in wenigen Ticks überschrieben werden kann.Damit kann jeder Teil des Prozessorspeichers mit wenigen Ticks überschrieben werden.Damit kann jeder Teil des Prozessorspeichers mit wenigen Ticks überschrieben werden.

Dies alles hängt mit der Tatsache zusammen, dass alle Hindernisse, die durch die Begrenzung des adressierbaren Speichers auf ein Megabyte verursacht werden, durch die Hardware-Implementierung des Datenaustauschs mit externem Speicher leicht umgangen werden können. Der Vorteil der Verwendung einer 16-Bit-Architektur kann zusätzlich zu den obigen Überlegungen formell begründet werden:

R % n = 0 Die

Einhaltung dieser Bedingung bedeutet, dass Sie eine ganzzahlige Anzahl von Werten im Bereich [0 .. R -1] in einer Speicherzelle platzieren können (Zum Beispiel ist diese Bedingung für n = 5 nicht erfüllt - in diesem Fall ist R.gleich 32 Bit ist ohne Rest nicht durch 5 teilbar). Da die Prozessorkapazität ein grundlegender Parameter ist, kann sich eine solche Eigenschaft in Zukunft als sehr nützlich herausstellen.

Und schließlich ist das Hauptargument für die Nummer 16, die die Grundlage der Low-Level-Architektur bildet, die Tatsache, dass sie den optimalen Befehlsraum festlegt - der PDP-11-Prozessor kann als Beispiel dienen (ebenso wie die Mehrheit der modernen Prozessoren, deren Erweiterung der Bitkapazität praktisch keinen Einfluss hatte auf ihrem Befehlssystem).

Der Klarheit halber werde ich eine Sequenz geben, die die grundlegende Natur der obigen Begründungen widerspiegelt:

2 ^ 0 = 1
2 ^ 1 = 2
2 ^ 2 = 4 (= n )
2 ^ 4 = 16 (= R )
2 ^ 16 = 65536 (= A = C )

Erwähnenswert ist auch, dass seit Beginn der rasanten Entwicklung der IT möglicherweise keine einzige vollständige Lösung vorgeschlagen wurde. Selbst PDP-11 (meiner Meinung nach die erfolgreichste Implementierung) wird den Befehlsraum wahrscheinlich nicht mehr als zu 50% nutzen - ein ziemlich wichtiger Teil davon ist der Sicherungscode sowie Adressierungsmethoden, die formal gültig sind (da sie unter die allgemeinen Regeln fallen), aber wirklich unbenutzt, weil sie entweder zu einem garantierten Einfrieren des Programms führen (MOV - (PC), ...) oder einfach unbrauchbar (MOV R1, R1).

Mit anderen Worten, auf dem Gebiet der Informationstechnologie wurde das „Rad“ noch nicht erfunden, oder alle sind nicht ganz „rund“ - was das „Radfahren“ nicht ganz bequem macht. Vielleicht sind aus diesem Grund „primitive“ Computer (BK, DVK, Spectrum, ...) bis heute sehr gefragt. Zum Beispiel erinnern moderne Softwaretechnologien mit ihrer ganzen Kraft und Zuverlässigkeit als Programmierer an Frankenstein und verursachen ästhetische Widersprüche. Obwohl dies eher erfreulich als ärgerlich ist, ist die Erfindung von nicht erfundenen Rädern mein Hobby. Vielleicht bin ich nicht der einzige, der in diese Richtung denkt, und jemand anderes wird diese Aktivität interessant finden.

Source: https://habr.com/ru/post/de383567/


All Articles