Einige Leute genießen es , "Homebrew" -CPUs aus einfacheren ICs zu bauen.
Gibt es einen Namen für "Chips, aus denen man eine CPU bauen kann, wenn man genug davon hat"? Gibt es einen Namen für die anderen Chips, "Chips, aus denen man keine CPU bauen kann, egal wie viele davon Sie haben"?
Man kann eine CPU aus ausreichend großen Mengen von 4: 1-Mux-Chips bauen ( Multiplexer sind die taktische Nuke von Logic Design ). Man kann eine CPU aus (etwas größeren) Mengen von 2-in-NAND-Gattern bauen. Oder von 2-in-NOR-Gattern. Oder von ein paar (vielleicht einem) CPLD oder FPGA.
Jedoch,
Eine CPU kann nicht allein aus 2-in-XOR-Gattern aufgebaut werden. Man kann eine CPU nicht allein aus der Diodenwiderstandslogik bauen . Man kann eine CPU nicht allein aus Flip-Flops vom Typ D bauen.
Gibt es einen Begriff oder eine Phrase zur Unterscheidung dieser beiden Kategorien von Chips, der weniger umständlich ist als "Chips, aus denen man eine CPU bauen kann"?
quelle
Antworten:
Sie müssen in der Lage sein, NICHT und eines von UND und ODER zu tun. Unter Verwendung der Demorganschen Gesetze kann eine dieser Funktionen in die andere und von dort in alle anderen logischen Funktionen umgewandelt werden.
Dies wird als funktionale Vollständigkeit oder Ausdrucksadäquanz bezeichnet. Die Komponenten oder Funktionen, die ein solches System erzeugen, werden als Sheffer-Funktionen (nach Henry Sheffer, der einen Beweis zu diesem Thema veröffentlicht hat) oder als alleinige ausreichende Operatoren bezeichnet.
Interessant ist auch die Tatsache, dass Sie ein Quartett von NAND-Gates zu einem D-Flip-Flop und von dort zu einer Speicherzelle kombinieren können, die auch zur Erstellung der Turing-Vollständigkeit erforderlich ist.
Der Artikel von ProofWiki zu diesem Thema ist gut zu lesen.
quelle
Der Satz "Chips, aus denen Sie einen Computer bauen können" kann zu Turing-Komplettmaschinen zusammengesetzt werden. Der Rest kann nicht.
Alle Logikgatter können aus Sätzen von entweder nur NAND- oder nur NOR-Gattern zusammengesetzt werden. Wenn Ihr fraglicher IC als einer oder mehrere von diesen fungieren kann, kann er zu einer Turing-Maschine gemacht werden.
Ich kenne keinen bestimmten Begriff, um eine solche Menge zu beschreiben.
Diese Fragen können auch helfen:
/programming/4908893/what-logic-gates-are-required-for-turing-completeness
/programming/7284/what-is-turing-complete
quelle
Ich stimme der Ansicht zu, dass 4: 1-Multiplexer wunderbar sind. Vor ein paar Jahren habe ich einen 8K-bankvermittelten Speichercontroller für einen Atari 2600 implementiert, der eine einzelne 74xx153 / 74xx253 und eine RC-De-Glitching-Schaltung verwendet. Die Steuerung muss sowohl einen Ausgang bereitstellen, der umgekehrt zum A12-Eingang ist, als auch A6 zwischenspeichern, wenn A11 hoch und A12 niedrig ist. "Damals" (Anfang der 1980er Jahre) verwendeten Bank-Switching-Kassetten entweder benutzerdefiniertes Silizium oder drei TTL-Chips. Mit einem handelsüblichen 74xx153 (der damals verfügbar war) kann die Arbeit jedoch in einem Chip erledigt werden.
quelle