Diskussion:Register (Prozessor)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

alte Diskussionen[Quelltext bearbeiten]

Kenn mich echt nicht in Computerdingen aus. Aber wird das alles wirklich so geschrieben?? --Wst

Ein paar kleinere Fehler habe ich entfernt. Das übrige dürfte aber so im großen und ganzen schon richtig sein

Mir fehlt ein Hinweis auf Schieberegister

Dieser Artikel sagt:

Indexregister speichern den Offset zu einer Basisadresse, der oft vorzeichenbehaftet ist.

Dies widerspricht sich m.E. mit dem Artikel Adressierung (Datenverarbeitung), in gerade der Indexregister NICHT das Offset hat.

Ob jetzt dieser Artikel hier oder der Artikel Adressierung (Datenverarbeitung) die richtige Aussage trifft, kann ich nicht sagen.

Danke, --Abdull 13:55, 16. Mär 2005 (CET)

Im Artikel Adressierung (Datenverarbeitung) wird keine andere Aussage getroffen. Dort steht: Bei der indizierten Adressierung wird das so genannte Indexregister zu jeder Adressangabe hinzuaddiert.
Und das was hinzuaddiert wird, ist der Offset. --Supaari bla!bla! 23:47, 18. Jul 2006 (CEST)
das ist aber der Inhalt des Indexregisters.--Staro1 04:54, 22. Apr. 2007 (CEST)[Beantworten]

Kostenverhältnisse?[Quelltext bearbeiten]

Weiß jemand, wieviel ein Byte Registerspeicher kostet? Ich hätte gerne eine Vergleichsliste von Festplatte, Arbeitsspeicher, Cache und Register, welches wie schnell ist und wie viel ein Byte kostet (Kann man sich bei Festplatten und Arbeitsspeicher ja ausrechnen, bei Registern leider nicht mehr...) RedNifre 16:26, 18. Jul 2006 (CEST)

Kommt immer drauf an: Bei einem Prozessor mit heute n * 10.000.000 Transistoren machen die 48 Transistoren eines Byte-Registers (ok, plus Select-Logik usw.) sehr wenig aus. Bei einem Embedded Chip oder simplem I/O-Chip mag es mehr sein, aber einzelne Register sind heutzutage praktisch vernachlässigbar. Nimm also den Prozessorpreis und dividiere grob durch 1 Mio, dann hat man eine Daumenregel. --PeterFrankfurt 23:06, 18. Jul 2006 (CEST)

befehle in registern?[Quelltext bearbeiten]

"zum Zwischenspeichern von Befehlen" das wäre mir neu. natürlich kann man im prizip alles in registern speichern. der begriff register meint nicht nur die speicherplätze auf die sich die CPU befehle beziehen. register und latches gibt es über all in der digitaltechnik. man könnte register vielleicht mit:"kleiner digitalspeicher aus FFs mit namen" beschreiben.

2006-09-23T18:10:58 Moritzgedig
Moritzgedig, zuerstmal, lösch bitte nicht anderer Beiträge weg, um was zu schreiben, und unterzeichne bitte deine Beiträge. Zum anderen, steht in DIESEM Artikel auch was von "Befehlsregister", die Google-Maschine liefert so zehntausend Hits für "Befehlsregister", und natürlich besitzen die Dekodierer des Steuerwerks spezielle Steuerregister. Warum du ob all dieser offensichtlichen Indizien mit Fachbegriffen wie "Latches" hantierst, ist mir jetzt allerdings schleierhaft. GuidoD 18:40, 23. Sep 2006 (CEST)

gibts da kein bild eines registers??

genau, eine schaltung hätte ich gerne :-) icq: 190737101

Da braucht man nur bei Flipflop zu schauen, das ist praktisch ein 1-Bit-Register, ganz unten dort ist ein Bild von einem 8-Bit-Register. Hmm, das könnte man vielleicht wirklich auch hierher kopieren. --PeterFrankfurt 22:15, 22. Sep. 2007 (CEST)[Beantworten]
Ok, hab ich mal gemacht. --PeterFrankfurt 22:18, 22. Sep. 2007 (CEST)[Beantworten]

Special Function Register[Quelltext bearbeiten]

Staro1, durch deine Änderungen im Zuge meines LA zu SFC wird dieser Artikel erst recht zur Theoriefindung. Es gibt, wie ich auf der LA-Seite geschrieben habe, keinen allgemeingültigen Begriff "Special Function Register" für das Prozessor Status Word, I/O-Kontrollregister etc. Die zwei gegebenen Beispiele 8051 und C167 sind die einzigen µC, die das Kontrukt einer Registerbank für die nicht ALU-Register "SFC" nennen. Bei wenigen anderen Prozessoren (bspw. AVR) heißt dieses Konstrukt anders oder ist nicht existent. Daher ist es auch nicht richtig, hier eine allgemeine Beziehung zu konstruieren. -- Janka 20:51, 21. Apr. 2007 (CEST)[Beantworten]

Diesen "Vorwurf" musst du dann nicht mir sondern Atmel und Philips machen.--Staro1 03:15, 22. Apr. 2007 (CEST)[Beantworten]


Schieberegister[Quelltext bearbeiten]

Das Register vielleicht auch mit aufnehmen

Nach dem Titel dieses Artikels ist das hier aber weniger angebracht. Es gibt ja schließlich schon den Artikel Schieberegister, und was es mit Computern zu tun hat, findet man im Link zu Akkumulatorfunktion und dann noch weiterführenden Links. --PeterFrankfurt 22:40, 5. Jun. 2007 (CEST)[Beantworten]

Ist denn nicht mal ein kurzer Hinweis bzw ein Verweis sinnvoll?

Also im Artikel geht es ja mehr um die anwendungstechnische Unterscheidungen wie Datenregister und Statusregister. Ein Schieberegister ist dagegen mehr die elektrische Unterscheidung von z. B. einem parallelen Latch, das würde also aus der bisherigen Gliederungslogik herausfallen. Da müsste man schon ein ganz neues Kapitel aufmachen, was für elektrische Registertypen denn verwendet werden. Aber vielleicht gar keine schlechte Idee, vielleicht machen wir ja in der Richtung mal was. --PeterFrankfurt 20:14, 6. Jun. 2007 (CEST)[Beantworten]

Spezielle Register[Quelltext bearbeiten]

kann jemand Memory Data Register und Memory Address Register und Memory Buffer Register in den Artikel integrieren? Ich bin mir nicht sicher, wo die hingehören--FeddaHeiko 11:38, 8. Aug. 2008 (CEST)[Beantworten]

Hmm. Ich denke nicht, das das tatsächlich "Register" in dem Sinne sind, wie er im deutschen Fachgebrauch verwendet wird. Beides sind einfach Latches, die die internen Busbreiten und Timings auf die externen anpassen. Man kann nicht willkürlich vom Programm aus drauf zugreifen, was für den deutschen Begriff "Register" essentiell ist. Es gibt zudem Mikroprozessoren (vor allem alte Designs), die keine solchen "Register" benötigen, da der interne und der externe Bus denselben Takt und dieselbe Breite besitzen und der jeweilige interne Adresszähler über Puffer und nicht über ein Latch an die Adressleitungen gelegt wird.
Mein Vorschlag: Einbau der Inhalte in Mikroprozessor und weg mit diesen Babelunfällen. -- Janka 22:08, 8. Aug. 2008 (CEST)[Beantworten]

Mikrokontroller[Quelltext bearbeiten]

Die Steuerregister von Mikrokontrollern sind hier aber etwas kurz gekommen? mfg fsk

Welche meinst Du denn da? Die sind doch erstmal mit denen von Mikroprozessoren identisch, es kommen höchstens ein paar Sachen wie Watchdog und diverse I/O-Register hinzu, die sonst in der Peripherie liegen und hier dann mit integriert sind. Das ist dann aber so individuell je nach Ausführung, dass man nicht viel Allgemeingültiges dazu schreiben kann. --PeterFrankfurt 01:25, 4. Sep. 2008 (CEST)[Beantworten]

Sementregister[Quelltext bearbeiten]

Man sollte vielleicht erwähnen, dass die Segement-Register nur im Real-Modus eine Adresse speichern, sonst eher einen Index.--plaicy 15:40, 6. Jan. 2009 (CET)[Beantworten]

Abgrenzung zu Speicher[Quelltext bearbeiten]

Sehe ich das richtig das "direkt Verbunden" bedeutet das Register nicht erst, wie Speicher, über einen Bus Addressiert werden müssen? --62.143.115.173 18:39, 21. Mai 2009 (CEST)[Beantworten]

Im Prinzip schon. Moderne Prozessoren haben allerdings auch einen CPU-internen Bus, der Werte vom Registersatz in Pufferregister der Funktionseinheiten lädt. Ausserdem sind die Register durchnummeriert und haben mit Register Renaming quasi eine MMU. Nur dass man meist keine Registeradressen berechnen kann, hmmm, das fehlt noch so ein bischen ;-) ... aber im Prinzip stimmt das schon so. Wenn du allerdings nach "Abgrenzung zu Speicher" fragst, nunja, ein Registersatz ist auch ein Speicherblock, nur eben ein besonderer, so wie ja auch Memory Mapped I/O Speicherbereiche vom Hauptspeicher besser zu unterscheiden sind. GuidoD 19:20, 21. Mai 2009 (CEST)[Beantworten]

Belege fehlen[Quelltext bearbeiten]

Hätte gerne Belege, weil mir die Einleitung schon komisch vorkommt: "Register sind in der Regel höchstens so groß wie die Wortgröße des Prozessorkerns (8, 16, 32 oder 64 Bit)." Alle heutigen Desktop-Prozessoren haben Register, die breiter sind als die Wortbreite des Prozessorkerns, z.B. die Register xmm0- bis xmm7 (128 Bit) und seit neustem auch ymm0 bis ymm15 (256 Bit). Das ist mittlerweile Standard. Jetzt möchte ich gerne wissen, wer behauptet hat, dass Register "in der Regel höchstens so groß wie die Wortgröße des Prozessorkerns", ob der Urheber dieser Feststellung die SSE- und AVX-Register vielleicht aus der Definition ausklammert, oder ob sich der Satz einfach auf eine Zeit bezieht, in der es noch keine Vektor-Erweiterungen in Prozessoren gab. Ohne Belege kann ich das weder nachprüfen noch, falls nötig, korrigieren.

Ich möchte auch darauf hinweisen, dass es in der Wikipedia eine Belegpflicht gibt, außer bei sehr trivialen Sachen ("Die Erde ist annähernd kugelförmig"), da braucht man natürlich keine Belege. Was aber hier im Artikel steht ist weder trivial noch liegt es für mich auf der Hand, wo man das alles nachlesen kann. Dass in der Wikipedia nur strittige Aussagen belegt werden müssen, ist ein Mythos (bzw. es kann sein, dass es in der Anfangszeit so war, aber heute ist das nicht mehr so, siehe wie gesagt WP:BEL). --TheRandomIP (Diskussion) 15:45, 13. Jan. 2016 (CET)[Beantworten]

(OT) "Dass in der Wikipedia nur strittige Aussagen belegt werden müssen, ist ein Mythos" - nö, ergibt sich aus den drei dickgedruckten Regeln unter WP:BEL - auch heute noch.
Dennoch stimmt natürlich, dass es genügt, wenn 1 Person (halbwegs glaubhaft, also kein WP:BNS-Fall) eine Aussage anzweifelt, um eine Belegpflicht zu begründen.
(OT - Ende)
Dass alle heutigen Prozessoren z.T. breitere Spezialregister haben ~ wäre ich mir nicht so sicher.
Ich kenne mich mit den ganzen Handy- und Embedded-Chips nicht gut genug aus. Aber ob ein Waschmaschinen-Steuerchip ebenfalls Vektor-Gleitkomma-Register besitzt...
--arilou (Diskussion) 13:55, 25. Jan. 2016 (CET)[Beantworten]


Register sind in der Regel so groß wie die Wortgröße der ALU. Die x86-SSE-Register sind Ausnahmen davon, weil sie Fließkommazahlen verarbeiten sollen. Die Wortgröße der x86-FPU war ursprünglich 64 Bit, während die CPU nur 32 bit Wortgröße hatte. Ganz allgemein ist die x86-"Architektur" aber auch ein sehr schlechtes Beispiel, weil immer wieder was drangeflickt wurde. -- Janka (Diskussion) 14:10, 25. Jan. 2016 (CET)[Beantworten]
Nuja, auch PowerPC-Chips, ARM-Chips usw. haben häufig Vektor-Register, oder 64/80-bit-Gleitkommaregister (bei 32-bit-Architektur). Benutzer:TheRandomIPs Kritik ist imo durchaus berechtigt.
Vielleicht sollte man die Einleitung beschränken darauf, dass Registerbreite ≤ Wortbreite für Allzweck-/Integer-Register gilt, dass jedoch (zusätzlich) spezielle Gleitkomma- oder SIMD-Register vorhanden sein können.
--arilou (Diskussion) 11:04, 5. Feb. 2016 (CET)[Beantworten]
Das geht schon mal in die richtige Richtung, aber was ist ein Allzweck-Register? Ich vermisse da eine genau Abgrenzung. Je nach dem, wo man nachschaut, werden die SMID-Register zu den Allzweck-Registern gezählt, z.B. hier: "Register können in zwei Gruppen eingeteilt werden: Allzweckregister und spezielle Register für besondere Zwecke. Allzweckregister enthalten Daten für allgemeine Operationen, beispielsweise zum Addieren zweier Zahlen [...] Spezielle Register haben einen besonderen Zweck und eine spezielle Bedeutung. Ein gutes Beispiel ist das Aufruflistenzeigerregister. [...] Die meisten Allzweckregister enthalten nur ein einziges Datenelement. (z. B. eine einzelne Ganzzahl, eine Gleitkommazahl oder ein Element eines Arrays). Einige neuere Prozessoren enthalten dagegen größere Register".
Das liest sich so als dass ein Allzweckregister die übergeordnete Bezeichnung für Datenregister ist, worunter auch die Register für Gleitkommaberechnung und die SSE-Register fallen. Der Satz im Artikel "Neben den stets vorhandenen Allzweck- oder Ganzzahl-Registern besitzen viele Prozessorkerne spezielle Register für Gleitkommaberechnungen, mitunter auch für (Ganzzahl- oder Gleitkomma-)SIMD-Befehle" wäre nach dieser Definition von Microsoft nicht korrekt.
Ich möchte ja nicht kleinlich sein, aber bei einem quellenlosen Artikel müsst ihr schon mehr Sorgfalt an den Tag legen. Wenn ihr wenigstens Quellen angeben würdet, hätte man als Leser ja noch eine Chance, selbst nachzuschauen, was der Autor unter einem Allzweck-Register versteht. Ohne Quellen und ohne eine genaue Definition hat der Leser jedoch keine Möglichkeit herauszufinden, welche Definition der Wikipedia-Autor beim Schreiben des Artikels im Sinn hatte.
Bezüglich Quellen: Bitte genau lesen. In den Richtlinien steht: "Angaben, die nur mit Rechercheaufwand bestätigt werden können, [...] sind mit Herkunftsangaben zu belegen." Dass es nicht ohne Rechercheaufwand geht, habe ich gerade demonstriert (indem ich gezeigt habe, dass für einen Begriff verschiedene Definitionen kursieren). --TheRandomIP (Diskussion) 15:38, 5. Feb. 2016 (CET)[Beantworten]
Microsoft bezeichnet doch tatsächlich (zumindest in dieser Quelle) Gleitkommaregister als "Allzweck", dito Vektorregister. Das ist eher ungewöhnlich.
Im Allgemeinen nennt man jene Register "Allzweck", mit denen
  • das "allgemeine Tagesgeschäft" des Prozessors ausgeführt wird
  • für die eine Vielzahl von Operationen bereitstehen zur Behandlung/Verarbeitung verschiedenster Themengebiete.
Zumeist also Ganzzahl-, Binär-, String- UND Adressrechnung. Mit diesen Registern und den darauf möglichen Operationen ist es i.A. möglich, alle anderen (Spezialgebiets-)Rechnungen auch durchzuführen - sie würden (im Prinzip) ausreichen.
Im Gegensatz dazu gibt es (Nicht-Allzweck-/Spezial-)Register, die
  • nur für Adressrechnung geeignet sind (z.B. Stackpointer, Segmentregister),
  • oder nur für spezielle Bitoperationen (Flagregister),
  • oder auf ein spezielles Themengebiet beschränkt sind (Zufallszahlengenerator, Kryptologie, Gleitkommaberechnungen)
  • oder nur lesend verwendet werden können (z.B. Nullwert"register").
Besäße ein Prozessor nur solche Register, dann könnte er keine allgemeinen Aufgaben bearbeiten, wäre also als "Hauptprozessor" eines IT-Geräts nicht einsetzbar. Ich denke, das ist der wesentliche Unterschied. Eine CPU, die nur Allzweckregister besitzt (in von mir genannter Bedeutung; + das nötigste an Hilfen wie z.B. ProgramCounter) kann alles berechnen - wenn auch manches nur langsam. Die nicht-Allzweck-Register sind Beschleuniger für bestimmte Anwendungsfälle, würden aber "alleine" keine allgemeine Datenverarbeitung ermöglichen.
--arilou (Diskussion) 12:00, 19. Feb. 2016 (CET)[Beantworten]
PS: Die Quellenlage des Artikels sehe ich natürlich ebenfalls als kritisch - aber ich hab' halt noch einen 40h-Job "so nebenbei"...


Die Bezeichungen von Microsoft sollten wir tunlichst nicht übernehmen, denn die sind weder eine Autorität im Prozessor- noch im Compilerbau. Die x86-Architektur ist auch ein ganz schlechtes Beispiel für alles, weil es sich um eine schlimme Flickschusterei ohne durchgehende Linie handelt. Man müsste zu jedem Register erst einmal sagen, von welcher Prozessorgeneration man überhaupt spricht, denn oft wurden Funktionen und Verbindungen später nachgerüstet, was ehemalige Spezialregister zu Allzweckregistern machte. -- Janka (Diskussion) 14:21, 19. Feb. 2016 (CET)[Beantworten]

E/A Register[Quelltext bearbeiten]

Was sind E/A Register? --2003:C0:735:B500:F903:374E:D3F4:CDF0 15:09, 2. Mai 2022 (CEST)[Beantworten]