Forum: PC Hard- und Software Prozesorklassifizierungen


von Thorsten (Gast)


Lesenswert?

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)

von Jasch (Gast)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

Thorsten schrieb:

> Kennt jemand zufällig eine klar strukturierte, wissenschaftliche Quelle?

Vielleicht kommt ja am Ende dabei eine raus? ;-)

von Thorsten (Gast)


Lesenswert?

Vielen Dank für die Antwort ;)

von GeraldB (Gast)


Lesenswert?

Es gibt auch noch zwei verschieden Arten der Speicherorganisation -> 
Big-Endian bzw. Little-Endian.

von Arc N. (arc)


Lesenswert?

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

von Jasch (Gast)


Lesenswert?

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?).

von (prx) A. K. (prx)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Murkser (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

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.

von Andreas D. (rackandboneman)


Lesenswert?

Als leichte Lektüre kann ich "great microprocessors of the past and 
present" empfehlen (im Netz an vielen Stellen zu finden).

von Reinhard Kern (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.