Hallo, Für eine wissenschaftliche Arbeit suche ich strukturierte Informationen über die Klassifizierung von Prozessoren, doch diese sind nirgends zu finden. Was ich gefunden habe ist folgendes: Eine Einteilung von Prozessoren kann anhand von mehreren Indikatoren durchgeführt werden. Diese wären: - Die ISA ("Instruction Set Architecture"): darunter zählt: Akkumulator-Architektur, Stack-Architektur, Register-Speicher-Architektur, Register-Register-Architektur (auch Load-/Store-Architektur) - Die Entwurfsphilosophie (RISC oder CISC) - Die Flynnsche Klassifikation (SISD, SIMD, MISD, MIMD) - Und die allgemeine interne Architektur (!?) (Von-Neumann-Architektur, Harvard-Architektur, etc.) Mein Problem ist: 1. Die nicht einheitlichen Definitionen der einzelnen Architekturen 2. Die Vollständigkeit (gibt es noch mehr?) 3. Unter was für einen Oberbegriff kann man die Von-Neumann-Architektur, Harvard-ARchitektur, etc. fassen? Wie stehen die einzelnen Kriterien zueinander (z.B. RISC-Architektur verlangt eine Load-/Store-Architektur)? Kennt jemand zufällig eine klar strukturierte, wissenschaftliche Quelle? mfg Thorsten (Pseudoname)
Thorsten schrieb: > Hallo, > > Für eine wissenschaftliche Arbeit suche ich strukturierte Informationen > über die Klassifizierung von Prozessoren, doch diese sind nirgends zu > finden. Wundert mich nicht wirklich. > Was ich gefunden habe ist folgendes: > > Eine Einteilung von Prozessoren kann anhand von mehreren Indikatoren > durchgeführt werden. Diese wären: > - Die ISA ("Instruction Set Architecture"): darunter zählt: > Akkumulator-Architektur, Stack-Architektur, > Register-Speicher-Architektur, Register-Register-Architektur (auch > Load-/Store-Architektur) Also meines Wissens meint ISA normalerweise die Befehlssatz-Familie, z.B. x86, MIPS, SPARC. > - Die Entwurfsphilosophie (RISC oder CISC) Oh, gibt es sowas überhaupt noch? Zumindest reinrassige CISC doch nicht mehr. > - Die Flynnsche Klassifikation (SISD, SIMD, MISD, MIMD) > - Und die allgemeine interne Architektur (!?) (Von-Neumann-Architektur, > Harvard-Architektur, etc.) Ist das nicht externe Architektur - ausser Du interessierst Dich nur für Mini-CPUs die allen Speicher intern haben? > Mein Problem ist: > 1. Die nicht einheitlichen Definitionen der einzelnen Architekturen Wirst Du nichts finden. > 2. Die Vollständigkeit (gibt es noch mehr?) Wirst Du auch nicht finden, da kann man sich nahezu beliebig viele weitere Kriterien ausdenken. > 3. Unter was für einen Oberbegriff kann man die Von-Neumann-Architektur, > Harvard-ARchitektur, etc. fassen? Wie stehen die einzelnen Kriterien > zueinander (z.B. RISC-Architektur verlangt eine > Load-/Store-Architektur)? > > Kennt jemand zufällig eine klar strukturierte, wissenschaftliche Quelle? Für eine wissenschaftliche Arbeit würde ich mir ansehen was andere schon gemacht haben. Dann würde ich übernehmen was für mich brauchbar ist und mir ansonsten etwas passendes ausdenken. Das Klassifizierungsschema muss zum Thema Deiner Arbeit passen. Es hat keinen Sinn nach einem Kriterium zu klassifizieren das vorhersagbar keinen Unterschied für die Ergebnisse machen kann.
Jasch schrieb: > Also meines Wissens meint ISA normalerweise die Befehlssatz-Familie, > z.B. x86, MIPS, SPARC. Klar, aber die kann man klassifizieren, und darum geht es hier. > Oh, gibt es sowas überhaupt noch? Zumindest reinrassige CISC doch nicht > mehr. Aber die Klassifikation gibt es noch. Insbesondere im Lehrbuch. >> - Und die allgemeine interne Architektur (!?) (Von-Neumann-Architektur, >> Harvard-Architektur, etc.) > > Ist das nicht externe Architektur - ausser Du interessierst Dich nur für > Mini-CPUs die allen Speicher intern haben? Von-Neumann/Harvard ist ohnehin eine problematische Klassifikation. Ist etwas Harvard, weil der Core zum Cache oder Speicher hin zwischen Befehls- und Datenbus trennt (ARM9,486) und von-Neumann andernfalls (ARM7,386)? Oder betrifft das eher die Adressräume? Mir scheint nur Letzteres sinnvoll zu sein, aber die Literatur favorisiert Ersteres. Zu Lebzeiten der Harvard Mark 1 und von John von Neumann war das noch deckungsgleich, aber mittlerweile schon längst nicht mehr. Insofern muss man in diesem Aspekt deutlich den Unterschied zwischen ISA (interessiert den Programmierer) und Implementation Architecture (... nur noch den Chipdesigner) betonen. Weil Hv/vN irgendwie zu beidem passt und dabei verschieden sein kann.
Thorsten schrieb: > Kennt jemand zufällig eine klar strukturierte, wissenschaftliche Quelle? Vielleicht kommt ja am Ende dabei eine raus? ;-)
Es gibt auch noch zwei verschieden Arten der Speicherorganisation -> Big-Endian bzw. Little-Endian.
Thorsten schrieb: > - Die ISA ("Instruction Set Architecture"): darunter zählt: > Akkumulator-Architektur, Stack-Architektur, > Register-Speicher-Architektur, Register-Register-Architektur (auch > Load-/Store-Architektur) Speicher/Speicher (Transport Triggered) http://www.maxim-ic.com/app-notes/index.mvp/id/3222 http://www.cse.iitk.ac.in/users/moona/students/9411161.pdf/ http://en.wikipedia.org/wiki/One_instruction_set_computer (und die anderen ZISC, NISC (zero/no instruction set computer)) > - Die Entwurfsphilosophie (RISC oder CISC) > - Die Flynnsche Klassifikation (SISD, SIMD, MISD, MIMD) > - Und die allgemeine interne Architektur (!?) (Von-Neumann-Architektur, > Harvard-Architektur, etc.) > > Mein Problem ist: > 1. Die nicht einheitlichen Definitionen der einzelnen Architekturen > 2. Die Vollständigkeit (gibt es noch mehr?) > 3. Unter was für einen Oberbegriff kann man die Von-Neumann-Architektur, > Harvard-ARchitektur, etc. fassen? Computerarchitektur/Prozessorarchitektur? > Wie stehen die einzelnen Kriterien zueinander > RISC-Architektur verlangt eine Load-/Store-Architektur Ja/Nein/Vielleicht. Zwei Beispiele wo die Unterscheidung/Klassifizierung u.U. schwierig wird. MSP430 kleiner Befehlssatz, viele Register, aber keine Load/Store-Architektur. ARM-Befehlssatz: Sehr viele Befehle (Conditional execution), allgemein aber als RISC klassifiziert
A. K. schrieb: > Jasch schrieb: > >> Also meines Wissens meint ISA normalerweise die Befehlssatz-Familie, >> z.B. x86, MIPS, SPARC. > > Klar, aber die kann man klassifizieren, und darum geht es hier. Man kann sie sicher klassifizieren, nur klassifiziert das dann auch den Prozessor? Ein Intel Core z.B. ist doch nach aussen CISC und intern praktisch RISC, wird auch von den üblichen Compilern meistens als Load-/Store-Architektur behandelt, was bringt es also? >> Oh, gibt es sowas überhaupt noch? Zumindest reinrassige CISC doch nicht >> mehr. > > Aber die Klassifikation gibt es noch. Insbesondere im Lehrbuch. ;-) Ach ja, die Lehrbücher... >>> - Und die allgemeine interne Architektur (!?) (Von-Neumann-Architektur, >>> Harvard-Architektur, etc.) >> >> Ist das nicht externe Architektur - ausser Du interessierst Dich nur für >> Mini-CPUs die allen Speicher intern haben? > > Von-Neumann/Harvard ist ohnehin eine problematische Klassifikation. Ist > etwas Harvard, weil der Core zum Cache oder Speicher hin zwischen > Befehls- und Datenbus trennt (ARM9,486) und von-Neumann andernfalls > (ARM7,386)? > > Oder betrifft das eher die Adressräume? Mir scheint nur Letzteres > sinnvoll zu sein, aber die Literatur favorisiert Ersteres. Zu Lebzeiten > der Harvard Mark 1 und von John von Neumann war das noch deckungsgleich, > aber mittlerweile schon längst nicht mehr. Also in meinen Augen ist das klar: es hat nichts mit (virtuellen) Adressräumen zu tun (dann wäre ja fast alles Harvard), es hat auch nichts mit getrennten I/D-Caches zu tun - die helfen zwar sind aber mehr so "Harvard für Arme". Nur wenn man mindestens getrennte physische Adressbereiche hat und eigentlich wenn man total getrennte Busse für Code und Daten hat ist es Harvard (OK, real wohl Modified Harvard). Nur so kann das einen merkbaren Unterschied machen - von Sicherheit (Code auf dem Stack? Hahaha!) bis Performance (Code und Daten parallel nachladen? Ja, wie jetzt, na klar, wie denn sonst?).
Jasch schrieb: > Man kann sie sicher klassifizieren, nur klassifiziert das dann auch den > Prozessor? ... und ich sach grad noch, bring nicht ISA und IA durcheinander. ;-) > Ein Intel Core z.B. ist doch nach aussen CISC und intern > praktisch RISC, Na und? Was ändert das an der ISA? > wird auch von den üblichen Compilern meistens als > Load-/Store-Architektur behandelt, Will's nicht hoffen, denn das wär verschenkte Leistung.
Arc Net schrieb: > MSP430 kleiner Befehlssatz, viele Register, aber keine > Load/Store-Architektur. Aber auch kein Bisschen RISC. Die PDP-11 (oder TI 990) hat m.W. noch nie jemand als RISC bezeichnet und die Ähnlichkeit ist doch recht markant. Andererseits ist IBM POWER Architektur ziemlich klar RISC, aber IBM hatte das C vorsorglich schon von Anfang an als "complexity" übersetzt. Denn das trifft es faktisch besser als der Fokus auf die Anzahl Befehle. Davon gabs schon anfangs ziemlich viele. Ich würde mich dem daher anschliessen und den Unterschied in der strukturellen Komplexität sehen, also der Komplexität des Ablaufs auf einer einfachen sequentiellen Maschine für diesen Befehlssatz. > ARM-Befehlssatz: Sehr viele Befehle (Conditional execution) Was hat Predication denn mit der Anzahl Befehle zu tun? Die Bedingung ist ebenso ein Operand des Befehls wie die Register und vergrössert weder die Anzahl der Befehle, noch nennenswert die Komplexität des Cores. Dass es in der Assembler-Notation anders aussieht ist irrelevant.
Welchem Zweck soll denn die Klassifikation dienen? Wissenschaftlich hin oder her, ohne den genauen Zweck der Klassifikation zu wissen, kannst Du nach beliebigen Kriterien (z.B. Name der Großmutter des Prozessordesigners) klassifizieren. Ob dies dann bei der Lösung des aktuellen Problems hilfreich ist, ist eine andere Geschichte. Klassifikation nur um der Klassifikation willen ist keine Wissenschaft! Murkser
Ja klar, mit einer RISC/CISC Klassifikation kannst du dich aktuellen Implementierungen von Highend-Prozessoren nicht wirklich nähern, denn deren Komplexität hat diese Klassifikationen schon lange hinter sich gelassen. Aber darum geht es nicht immer. Gewöhnlich fängt man beim Verständnis klein an und hangelt sich nach oben. Im Matheunterricht der Schule wirst du ja auch nicht gleich am Anfang mit Topologiefragen beworfen. Zur schematische Modellbildung von Strukturen und Abläufen in einfachen Implementierungen bringt das schon was. Du kannst in der Lehre zur Rechnerarchitektur die Leute nicht gleich mit den Internas eines Sandy Bridge plagen (so man die überhaupt genau genug kennen würde). Da eignet sich die olle MIPS R3000 Struktur weitaus besser. Beispielsweise im Vergleich mit den Abläufen in einem CISC-Modell vergleichbar zu MSP430, angereichert um eine MMU.
Als leichte Lektüre kann ich "great microprocessors of the past and present" empfehlen (im Netz an vielen Stellen zu finden).
Murkser schrieb: > Klassifikation nur um der Klassifikation willen ist keine Wissenschaft! Räusper - ich fürchte, ein erheblicher Teil der Wissenschaft besteht gerade daraus. Die Praxis richtet sich wie Helmut Kohl (nicht gerade als IT-Spezialist bekannt) danach was hinten rauskommt. Die Frage ist z.B. nicht RISC oder CISC, sondern was leistet der Prozessor praktisch, und allenfalls theoretisch könnte man sich fragen, ob eine gegebene Menge Harwarefunktionen mit einem anderen Befehlssatz mehr leisten könnte, in Wirklichkeit ist das nie nachprüfbar, denn es gibt nun mal keinen Prozessor, der wahlweise CISC oder RISC ausführen kann, kann es auch nicht geben. RISC ist überhaupt nur deswegen so bekannt geworden, weil es die Werbestrategen zu einer bestimmten Zeit für sich entdeckt haben als Argument, diese Maschine zu kaufen ohne weiter nachzudenken, ob sie besser ist als eine andere. Zu einer bestimmten Zeit und mit einer bestimmten Ausstattung an Hardware war ein beschränkter Befehlssatz auch sinnvoll, wobei aber festzustellen ist, dass der Leitungsschub etwa der SPARC-Architektur auch auf die Registerstrukur zurückzuführen war. Andrerseits ist die Unterscheidung auch willkürlich, da komplexe Befehle wie etwa die Blocktransfers des Z80 ja schliesslich nicht benutzt werden müssen, der Compiler kann sie auch aus den Einzelbefehlen risc-mässig zusammensetzen. Solche Befehle müssen also der Leistung nicht schaden, wie Weiterentwicklungen des Z80 mit modernem Silizium beweisen. Ich höre hier lieber auf, denn man kann tatsächlich mindestens ein Buch drüber schreiben, die Frage ist nur wofür das gut sein soll. Ausserdem wäre es bei Erscheinen total überholt. Heute erhebt sich eigentlich nur die Frage, was leistet das System (nicht der Prozessor!), möglichst nach einem unabhängigen, aber geeigneten Benchmark gemessen, und läuft die Software, die ich brauche. Wie die Innereien wissenschaftlich zu klassifizieren wären, interessiert mich kaum noch. Meinetwegen könnte mein Arbeitsplatzrechner auch auf einem Havard-Prozessor laufen, und wenn dafür doppelt soviel Speicher notwendig wäre, was soll's. Gruss Reinhard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.