Original geschrieben von Arminio
es ist immer wieder interessant die unterschiedlichen Aussagen von _.ut und D'Espice zu Prozessoren zu lesen
Das kommt zu einem großen Teil daher, dass es in der Welt der Computertechnik keine wirklich klaren Klassifizierungen gibt. Viel Fragen kann man eigentlich nur mit "Es kommt darauf an" beantworten.
Beispiel CISC und RISC. Zwischen einem Komplexen und einem reduzierten Befehlssatz unterscheiden einige Leute nur anhand der Zahl der Instruktionen. Ein PPC G4 hat aber deutlich mehr Instruktionen, als ein 68000. Diese Leute behaupten dann, ein G4 wäre ja gar kein richtiger RISC-Prozessor mehr (schon oft gehört). Es heißt aber nicht Big Instruction Set Computing, sondern Complex Instruction Set Computing. Ein RISC und ein CISC unterscheiden sich nicht (nur?) in der Quantität, sondern (auch?) in der Qualität der Befehle. Im Vergleich zur verkorksten x86-Architektur könnte man die sauber designte 68000er-Architektur sicherlich als Reduced bezeichnen, im Vergleich zu wirklichen RISC-Architekturen aber keinesfalls. (Es gibt noch andere Kritereien)
Desgleichen bei der Sache mit dem Cache. Es kommt drauf an, wie Programmiert worden ist. Ist das Programm so aufgebaut, dass es häufig auf große Teile des Arbeitsspeichers zugreifen muss, wirkt sich der langsame Bus stark aus, ist der Code so optimiert, dass möglichts wenig auf den Speicher zugrgriffen werden muss, wirkt der langsame Bus kaum aus. Wie stark sich ein schnellerer Speicherbus im Allltag auswirken würde, kann keiner genau sagen.
Ich bin gestern über eine Seite von Apple gestolpert, die genau das Problem beschreibt.
http://developer.apple.com/hardware/ve/performance_memory.html da heißt es Optimire den Speicherverbrauch zuerst, dann erst Micro-Optimiere den Code. Es gibt keinen Grund, die Elemente eines großen Arrays zu verschieben, wenn man doch einfach die Pointer verschieben kann. Auf so optimierte Programme wirkt sich der langsame Speicherbus nicht so stark aus.
Die ganze Prozessortechnik ist mittlerweile so komplex geworden und hat so ein Eigenleben entwickelt, dass es in der Informatik einen Zweig gibt, der das Verhalten von Prozessoren erforscht. Man sollte ja eigentlich denken, dass das Verhalten bekannt sein sollte, wo Prozessoren doch von Menschen entwickelt worden sind.
Genauso ist es aber auch in andernen Bereichen, z.B. bei der Unterscheidung zwischen Emulatoren und Virtuellen Maschinen. Schon hier gibt es keine klaren Grenzen. Was ist dann aber der Sheepshaver für Be OS oder gar die Classic-Umgebung?
P.S. @ D'Espice: BASIC ist kein Compiler, sondern ein Interpreter. Zumindesten war es damals so, bei den modernen Versionen von Basic stimmt das auch nicht mehr ganz.
