Was machen die Transistoren, Register und ALUs?

Orchidee

Lt. Junior Grade
Registriert
Feb. 2009
Beiträge
268
Ich versuche gerade verschiedene Fachbegriffe zusammen zu fügen:

Ein Signal (wie sieht so ein Signal aus, denn die Daten müssen ja wieder zurück? Header?, Wort?), gekennzeichnet durch Frequenz und genau definierten Flanken für 0 und 1 erreicht die CPU über FSB, HT, QPI, DMI usw. Der Ursprung ist egal, ob vom Betriebssystem, einem Compiler, der einen Code in Maschinensprache (0, 1) übersetzt hat, ob von Festplatte oder der Maus, denn irgendwann erreicht alles was sich im PC abspielt die CPU, da sie alles steuert oder steuern lässt (Stichwort DMA). Eine CPU besteht aus Register, Cache, ALU, Steuerwerk und Memory Management.
Der zentrale und grundlegende Begriff hierbei ist Transistor. Eine moderne CPU hat Millionen Transistoren.
Ein Transistor ist ein regelbarer Widerstand. Er hat drei Anschlüsse: Emitter, Basis und Kollektor. Durch einen höheren Basisstrom wird die Kollektor - Emitter - strecke niederohmiger und umgekehrt. Da eine relativ geringe Änderung des Basisstroms eine relativ hohe Änderung des Kollektor - Emitterstroms bewirkt, kommt es zu einem Verstärkungseffekt. Je nachdem, wo man das Ausgangssignal abnimmt, bzw. einspeist, kann man eine hohe Spannungsverstärkung (Basisschaltung), eine hohe Stromverstärkung (Kollektorschaltung) oder eine hohe Leistungsverstärkung (Emitterschaltung) erzielen.
Durch entsprechende Ansteuerung kann man den Transistor auch als Schalter benutzen.
In der CPU wird die Eigenschaft des Transistors ausgenutzt, indem (und jetzt geht es los, wie machen das Transistoren?) das eingangs erwähnte Signal zuerst ... Und-Oder Gatter...Die Registersätze verschiedener Arten von Prozessoren unterscheiden sich in der Art, der Anzahl und der Größe der zur Verfügung stehenden Register:
Adressregister, Datenregister, Stackregister...Datenregister werden benutzt, um Operanden für die ALU und deren Resultate zu speichern. Bei älteren Prozessoren gab es teilweise nur ein einziges solches Register, den Akkumulator. Prozessoren neuerer Generation besitzen oft mehrere Datenregister mit Akkumulatorfunktion....
Eine ALU kann meistens zwei Binärwerte mit gleicher Stellenzahl (n) miteinander verknüpfen.


Kann mir einer zu dem blauen Text was sagen, aber sonst natürlich auch? Ich nehme alles, nur muss es stimmen. Mir fehlen irgendwie die grundlegenden Zusammenhänge von Transistor aufwärts.

Jetzt kommen die Definitionen aus Wikipedia. Gehört nicht zur Arbeit, nur Info.

In CPUs stehen Register an der Spitze der Speicherhierarchie und sind daher die schnellste Möglichkeit, Daten zu manipulieren, da der Zugriff unabhängig vom Daten- oder Adressbus erfolgt.

Caches sind Zwischenspeicher, die die letzten verarbeiteten Daten und Befehle enthalten und so die rasche Wiederverwendung ermöglichen. Sie stellen die zweite Stufe der Speicherhierarchie dar.

Zu den zentralen Aufgaben des Prozessors gehören arithmetische und logische (ALU) Operationen (der Arithmetic Logical Unit, kurz ALU), das Lesen und Schreiben von Daten im Arbeitsspeicher, das Ausführen von Sprüngen im Programm sowie die Steuerung und Verwaltung der Peripheriegeräte.

Das Steuerwerk folgt bei der Abarbeitung eines Maschinenprogramms dem Von-Neumann-Zyklus.

Bei der Memory Management Unit (MMU), auch Speicherverwaltungseinheit, handelt es sich um eine Funktionseinheit von Mikroprozessoren, die zum Zugriff auf den Arbeitsspeicher oder sonstige Hardware das Übersetzen von virtuellen Adressen in physische Adressen bewerkstelligt. Sie ermöglicht damit den Zugriff auf den gesamten virtuellen Adressraum, den ein Betriebssystem mit Hilfe der virtuellen Speicherverwaltung zur Verfügung stellt.

Ein Transistor ist ein regelbarer Widerstand. Er hat drei Anschlüsse: Emitter, Basis und Kollektor. Durch einen höheren Basisstrom wird die Kollektor - Emitter - strecke niederohmiger und umgekehrt. Da eine relativ geringe Änderung des Basisstroms eine relativ hohe Änderung des Kollektor - Emitterstroms bewirkt, kommt es zu einem Verstärkungseffekt. Je nachdem, wo man das Ausgangssignal abnimmt, bzw. einspeist, kann man eine hohe Spannungsverstärkung (Basisschaltung), eine hohe Stromverstärkung (Kollektorschaltung) oder eine hohe Leistungsverstärkung (Emitterschaltung) erzielen.
Durch entsprechende Ansteuerung kann man den Transistor auch als Schalter benutzen.
 
Zuletzt bearbeitet:
studierst du theoretische informatik? oder warum interessierst du dich so fuer details..
 
Nein, sonst wüsste ich es. Aber es ist mir einfach schleierhaft, wie eine Ansammlung von Transistoren, wenn es nur die sind, eine CPU ausmachen.:rolleyes:
 
nur kurz was zum thema:

so ein signal sieht (unter perfekten bedingungen) ganz einfach wie ein rechtecksignal aus. heißt, dass du den schaltzustand über der zeit aufträgst. jetzt kann das signal (im einfachsten fall) nur 0 oder 1 sein. also entweder haste ne spannung anliegen, oder du hast keine spannung anliegen. transistoren fungieren hierbei als schalter, was aufgrund ihrer bauweise möglich ist. stell dir einfach nen lichtschalter vor. jetzt kann man nach cmos logik aus.... 3 transistoren meine ich n "nand" gatter bauen, also ein "not und", ebenso ein "nor" "not or" und ein "not"... aus diesen gattern kann man dann flipflops bauen und diese wiederum können zb zählen, teilen oder solche spässken

sorry, wenn das unbefriedigend kurz is.... muss jetz aba zur uni ^^
 
Irgendwie ist der ganze Text ziemlich durcheinander, weil dort zwischen verschiedenen Ebenen hin- und hergesprungen wird. Wen interessiert denn ein Transistor, wenn es um Register geht?

Aber zu den Registern: Sie sitzen sehr zentral in der CPU, lassen sich also innerhalb kürzester Zeit auslesen und beschreiben.

Ein Beipiel dazu: Deine CPU soll einen Addier-Befehl ausführen, dieser Befehl liegt jetzt im Befehlsregister und beinhaltet z.B. auch die Adressen für die beiden Datenwörter, die addiert werden sollen(Operanden) und die Adresse für das Ergebnis. Die Operanden sind dann schon im Register gespeichert und werden dann, wenn der Addier-Befehl ausgeführt wird, in die Arithmetisch-Logische-Einheit(ALU) geladen.
In der ALU findet dann die Addition statt, wonach das Ergebnis dann wieder zurück in das Operanden-Register gespeichert wird. Das wäre jetzt eine CPU mit einer 3-Adress-Architektur, weil wir einem Befehl 2 Operanden-Adressen und eine Ergebnis-Adresse mitgeben können.

Ältere CPU's waren z.B. als 1-Adress-Architektur ausgeführt. Dort musste man erstmal den ersten Operanden in einen Akkumulator laden, wenn man eine Addition ausführen wollte.
Erst dann, wenn der erste Operand im Akkumulator ist, kann man den Additions-Befehl mit der Adresse des 2ten Operanden ausführen. Danach musst du noch einen weiteren Befehl ausführen, der das Ergebnis wieder zurück in das Operandenregister schreibst. Du benötigst also drei Befehle zur Ausführung einer Addtion, während die 3-Adress-Architektur nur einen benötigt.
Achja, der Akkumulator ist übrigens ein Register, welches ein Datenwort speichern kann und befindet sich meistens in der Nähe eines ALU-Eingangs. Der Akkumulator speichert einen solange, wie er von einem neuen überschrieben wird.
 
@meeee, ich weiß, es ist noch etwas wirr, aber ich bin ja noch an der Entwicklung eines Textes in kurzer Form, den auch ich verstehe und alle Fachbegriffe beinhaltet, die man je nach Neugier weiter nachschlagen kann. Es muss also ein sehr Tiefer Einblick gegeben werden.
@mirakulix, super Einführung, erschlägt fast alles.
@totosati, nein nein, alles klar. Je einfacher für mich, desto besser. Ins komplizierte kann ich immer noch gehen.

Zum ertsen blauen Teil: Es gibt nicht so etwas wie Datenpakte bei Ethernet, sondern der Prozessor wird über Interrupts in der Ausführung eines Befehls gesteuert. Bei Mehrkernprozessoren wird das wohl sehr viel effektiver gesteuert werden können. Es ist aber noch nicht so klar, wie das mit den Daten ist. Ein Programm z.B holt sich Daten von der Festplatte und schreibt diese in den Speicher. Muss das die CPU wissen? Das Programm könnte ja erst später die CPU veranlassen die Daten einzulesen und in den Registern zu bearbeiten.

Zum zweiten blauen Teil:
In der CPU wird die Eigenschaft des Transistors ausgenutzt, indem...

…Transistoren zu Gattern und die wiederum zu Schaltnetzen verknüpft werden und somit arithmetische und logische Operationen durchgeführt werden können. Also, Die Anordnung der Transistoren ergibt ein Gatter und die wiederum Gatter-Schaltnetze und erlaubt gemäß der Programminstruktionen eine arithmetische Operationen (Addition, Subtraktion, Multiplikation ...) und logische Operationen (AND, OR, XOR, NOT).
Ein ideales Signal (Datenwort) in Rechtecksform (01001...) wird Bit für Bit in ein Register (z.B. 32bit, 64bit) als Binärwert (0 oder 1) gespeichert. Jedes Bit eines Registers ist ein Eingangswert für ein 1-Bit-ALU Gatter, der zweite Eingangswert für das 1-Bit-ALU Gatter kommt aus einem anderen Register. Die breite des Registers bestimmt die Anzahl der 1-Bit-ALU Gatter. Bei einem 64-Bit Prozessor ist ein Register 64 Bit breit, hat also veranschaulicht 64 Zellen und benötigt 64 ALU-1Bit Gatter. Die Mux-Steuerleitungen sind mit jeder von ihnen verbunden, so dass alle die gleiche Operation ausführen, siehe z.B Addition von binären Werten. Also, jedes 1-Bit-ALU Gatter weiß wie z.B. bei einer Addition 1 mit 0 verknüpft werden soll.
Gatter werden zumeist zusammen mit Dioden und Transistoren elektronisch implementiert. Ergebnisse von Logikgattern können wiederum als Eingangssignale für ein anderes Gatter verwendet werden, sodass sich vielseitige Schaltungen realisieren lassen (Flipflop).
Am Ausgang eines Schaltnetzes liegt dann das Ergebnis der Operation an, welches wiederum in ein Register geschrieben wird. Der Akkumulator ist z.B. ein Register, welches ein Datenwort (z.B. 32 Bit oder 64 Bit) speichern kann und befindet sich meistens in der Nähe eines ALU-Eingangs. Der Akkumulator speichert einen solange, wie er von einem neuen überschrieben wird.

Erkenntnis: Ein Computer funktionier nur, da ein Transistor nichtmechanische Schaltvorgänge machen kann.
 
Zurück
Oben