Ich erinnere mich, dass ich in der Schule gelernt habe, dass man jede logische Schaltung nur aus NAND
oder - NOR
Gattern konstruieren kann.
Zunächst frage ich mich, ob es tatsächlich so gemacht wird: dh wenn Intel eine CPU herstellt, bauen sie dann alle Register usw. mit NAND
/ NOR
gates oder haben sie eine andere ausgefallenere Art, Dinge zu tun?
Zweitens frage ich mich, ob die Konstruktion von allem auf diese Weise die Ausbreitungsverzögerung im Vergleich zu einer Schaltung erhöht, die auch mit //- AND
Gattern OR
erstellt wurde NOT
.
Ich weiß, dass bei der Verwendung von PMOS
/ NMOS
-Konfigurationen zum Erstellen von Gates ein AND
oder an OR
als 2 Stufen herauskommt, im Gegensatz zu a NAND
oder a NOR
, die beide nur 1 sind. Da ich weiß, dass Sie eine AND
aus 2 kaskadierten NAND
s und eine OR
aus 2 kaskadierten NOR
s machen können, it scheint, als würde die Ausbreitungsverzögerung nicht zunehmen, solange die Hersteller sowohl NAND
s als auch NOR
s verwenden.
Hat jemand einen Einblick in all dies, insbesondere was wirklich mit hergestellten ICs gemacht wird?
Zunächst frage ich mich, ob es tatsächlich so gemacht wird: dh wenn Intel eine CPU herstellt, bauen sie dann alle Register usw. mit
NAND
/NOR
gates oder haben sie eine andere ausgefallenere Art, Dinge zu tun?
Register bestehen nicht aus Gattern, meistens sind es dedizierte Schaltkreise. Sie können als mit Invertern hergestellt angesehen werden ( NOT
), aber nur bis zu einem gewissen Grad.
In der CMOS-Technologie basiert die Everlogic-Schaltung auf dem Inverter: NOR
Und NAND
Gates sind im Grunde nur Inverter mit mehreren Eingängen, die auf clevere Weise angeordnet sind. Die invertierenden Gatter sind also schneller als die nicht invertierenden, die nur invertierende Gatter mit a NOT
am Ausgang sind.
Auch in der dynamischen Logik ist es einfacher, zwei invertierende Blöcke zu kaskadieren, als NOT
überall Gatter zu platzieren.
Beachten Sie, dass in einigen Fällen eine Schaltung aus getrennten Blöcken bestehen kann, sodass es einen Fall geben kann, in dem der Ausgang über einen oder mehrere Inverter zum Puffern verbunden ist.
Und das hat noch einen weiteren Vorteil: Integration . Eine kleine Anzahl unterschiedlicher Gates hilft bei der Gestaltung der Schaltung und der Vereinheitlichung der Leistung. Häufig enthalten Bibliotheken Logikblöcke auf unterschiedlichen Komplexitätsstufen: Transistor, Gatter, Operator oder höher.
Kurz gesagt, ja, schnelle Prozessoren verwenden meistens invertierende Gatter.
Bei CMOS neige ich dazu, mir einen Grundbaustein als einen Inverter vorzustellen, dem eine willkürliche Kombination aus unabhängigen „und“- und „oder“-Gattern ohne Zwischenverbindungen zwischen ihnen vorangeht; alle folgenden Funktionen:
not (X and (Y or Z))
not (X or (Y and Z))
not (X and Y and Z)
not (X or Y or Z)
haben im Wesentlichen die gleichen Siliziumkosten, obwohl nur die beiden letzteren Namen haben. Der Versuch, die ersten beiden Funktionen mit einer Kombination von NAND- oder NOR-Gattern zusammenzusetzen, würde etwas ergeben, das viel größer und langsamer wäre als eine direkte Realisierung.
llakais
NAND
undNOR
Gates zu verwenden, und so wenige davon wie möglich? Wird dies fast immer zu einem besseren Design führen (in Bezug auf die Anzahl der Verzögerungen/Gatter), als wenn ich das Problem mit einem vollständigen Repertoire an Gattern angehen und dann // Gatter durch ihre / -Äquivalente ersetzenAND
würde ?OR
NOT
NAND
NOR
Klatsch
W5VO
Klatsch