Mathematisches Modell, auf dem aktuelle Computer aufgebaut sind


8

Es heißt: "Die Turing-Maschine ist nicht als praktische Computertechnologie gedacht, sondern als hypothetisches Gerät, das eine Computermaschine darstellt. Turing-Maschinen helfen Informatikern, die Grenzen der mechanischen Berechnung zu verstehen." [Wikipedia]

Auf welchem ​​Modell werden aktuelle Maschinen gebaut?

Antworten:


5

Diejenige, die typischen CPUs am nächsten kommt, ist wahrscheinlich die Registermaschine oder die Direktzugriffsmaschine ( RAM ). Ein RAM hat

  • eine unendliche Anzahl von Registern, von denen jedes eine beliebig große Anzahl speichert,
  • eine Reihe von Operationen an diesen Registern (normalerweise) {+1,=0}),
  • eine Programmiersprache, die diese Operationen sowie Steuerstrukturen zum Schleifen / Verzweigen enthält (bis / wenn ein Register gilt 0) und
  • ein Programmzähler, der auf die nächste Operation zeigt (in einigen Programmen).

Echte CPUs sind mit einigen Änderungen ziemlich ähnlich:

  • Es gibt nur endlich viele Register (die möglicherweise nur virtuell existieren), und jedes speichert nur Zahlen mit begrenzter Größe.
  • Es gibt mehr Operationen.

Abgesehen davon ist es in der Tat sehr nah. Es ist üblich , das RAM - Modell Rechnung zu erweitern Speicherhierarchie , die Ergebnisse viel mehr anwendbar macht.


Ich denke, dass das RASP-Maschinenmodell (Random-Access Stored Program) einem alltäglichen Computer noch näher kommt
Vor dem

Was Raphael gesagt hat, ist nicht ganz richtig: Sie dürfen keine beliebig großen Zahlen speichern. Tatsächlich kann im RAM-Modell jedes Register / jede Speicherzelle gespeichert werdenO(logn)Informationsbits. Dies bedeutet jedoch, dass Ihre Maschinenwortgröße umso größer ist, je größer Ihre Eingabe ist. Dies gilt natürlich nicht für Computer.
A.Schulz

@ A.Schulz: Wenn Sie das RAM-Modell auf diese Weise kritisieren wollen, sollten Sie auch Turing-Maschinen dafür kritisieren, dass sie unendlich viele Bänder haben. Diese Modelle sind in Ordnung, da sie die Realität (sehr große, aber begrenzte Ressourcen) auf mathematisch nützliche Weise idealisieren (ungefähr "sehr groß" mit "unendlich", um bestimmte Aspekte der Berechnung zu untersuchen, bei denen es nicht um begrenzte Ressourcen geht).
Andrej Bauer

1
@AndrejBauer: Ich habe das RAM-Modell nie kritisiert. Die Skalierung ist ein wichtiges Konzept für alle vernünftig leistungsfähigen Rechenmodelle. Andernfalls würden wir mit regulären Sprachen stecken bleiben. Technisch gesehen verfügt ein Computer jedoch nur über begrenzte Ressourcen und ist daher eine endliche Zustandsmaschine / ein endlicher Automat.
A.Schulz

@ A.Schulz Das kann davon abhängen, wer spricht und worüber sie sprechen. In der Berechenbarkeitstheorie ist eine solche Einschränkung eher hinderlich als relevant. In der Komplexitätstheorie ist es sicher relevant; Die spezifische Einschränkung hängt dann von dem Kostenmodell ab, mit dem gearbeitet werden soll.
Raphael

3

Von Neumann-Maschine , und wenn Sie etwas Mathematischeres bevorzugen, schauen Sie sich stattdessen die RAM-Maschine an .


3
Das ist eine Computer - Architektur , kein mathematisches Modell.
Massimo Cafaro

"Ich muss noch einen Satz hinzufügen." - Das ist ein totes Zeichen dafür, dass dies ein Kommentar und keine Antwort sein sollte. Möchten Sie Ihren Beitrag erweitern oder soll ich ihn konvertieren?
Raphael

3
Raphael hat nicht recht. Kommentare können lang sein, die Antwort kann so einfach wie "Ja" sein. Wenn es sich um einen Kommentar oder eine Antwort handelt, ist dies keine Frage der Länge, sondern des Inhalts.
Val

2
Die Antwort ist in Ordnung, da sie die Frage vollständig beantwortet. Von Neumanns Maschinen (lassen Sie uns nicht über "Maschine" vs. "Architektur" streiten) wurden speziell für den Bau tatsächlicher Computer entwickelt. Und da Wikipedia sie gut beschreibt, sehe ich nicht, was ich sonst noch sagen könnte. Es ist nicht meine Schuld, dass die Frage eine einfache Antwort hat.
Andrej Bauer

@ MassimoCafaro: Was genau ist der Unterschied? Von Neumanns Entwürfe sind genauso mathematisch wie Turing-Maschinen. Verwechseln Sie eine bestimmte Präsentation nicht mit der mathematischen Idee. Zum Beispiel können Turing-Maschinen in Form von "Bändern", "Köpfen" und "Steuerzuständen" oder in Form von "einem Satz von Vierfachen" und einer "Übergangsfunktion" beschrieben werden. Obwohl einer von ihnen "mathematischer" klingt, sind sie beide Mathematik.
Andrej Bauer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.