Kann man den Prozessor anders Programmieren ?


jonai

Still Fresh
Joined
Aug 28, 2006
Messages
67
Hallo erstmal, hier meine Quelle:
http://de.wikipedia.org/wiki/MMX

Mit der MMX Technologie konnte auf älteren Rechnern sehr große Datenmengen verarbeiten, wenn damit die gleiche Operation durchgeführt werden sollte (Praktisch für Multimediakram, Vektorrechnung etc.). Allerdings hatte man beim Programmieren das Problem, dass man keine eigenen Register wie bei SSE dafür zur Verfügung hatte, sondern auf die Register zurückgreifen musste die man schon kannte.
Das bedeutet doch, dass sich an der Hardware nichts geändert hat, sondern nur an der Methode wie sie für eine Aufgabe verwendet wird oder ?

Könnte man nicht einen ähnlichen Ansatz auf dem Gp2x realisieren um mehr um für kritische Anwendungen mehr Performance zu bekommen ?
Es gibt ja 2 Prozessoren mit eigenen Registern, die man gleichzeitig nutzen kann. Man müsste die Register eben leider anders als vorgesehen nutzen.

Was denkt Ihr dazu ? Bitte korrigiert mich wenn ich Stuss rede...
 
Intel spendiert, um mit MMX arbeiten zu können, dem Prozessor 57 weitere Befehle und führt vier neue Datenformate ein

d.h. Der prozessor hat 57 weitere assembler befehle durch die die verarbeitung von Videodaten etc. beschleunigt wird.

Leider kann man einem prozessor nicht so einfach neue befehle beibringen also wird das ganze so nicht klappen.
 
jonai said:
Allerdings hatte man beim Programmieren das Problem, dass man keine eigenen Register wie bei SSE dafür zur Verfügung hatte, sondern auf die Register zurückgreifen musste die man schon kannte.
Das bedeutet doch, dass sich an der Hardware nichts geändert hat, sondern nur an der Methode wie sie für eine Aufgabe verwendet wird oder ?
Die Hardware hat sich schon geändert (sonst wäre ja nicht der Prozessor MMX, sondern nur die Software). Man HAT eigene Register dafür, nur hat man diese an dieselben Adressen gelegt wie bereits bekannte Register, damit sich die Betriebssysteme nicht auf ZUSÄTZLICHE Register einstellen mußten. Eine Applikation benutzt dann entweder die neuen (MMX-) oder die alten (FPU-) Register, die Hardware muß dazwischen unterscheiden können, nur das Betriebssystem erfährt nichts davon.
Man benutzt die Register also nicht anders, als es Hardwareseitig vorgesehen ist (geht ja auch gar nicht), sondern nur anders, als das Betriebssystem denkt. Bzw. denken würde, wenn es darüber nachdenken würde, was es aber meistens nicht tut.
:wink:
 
Elektranox said:
es gibt übrigens Prozessoren, denen man so neue Befehle beibringen kann. Ich weiß aber gerade nicht mehr wie die heißen :S
Du meinst sicher FPGAs (Field Programmable Gate Array). Kann man schon nett mit spielen...
 
ivanovic said:
Du meinst sicher FPGAs (Field Programmable Gate Array). Kann man schon nett mit spielen...
Wobei man der Form halber noch sagen sollte, dass FPGAs keine Prozessoren sind, sondern programmierbare Hardwarebausteine. Natuerlich kann man da CPUs reinbasteln, aber im Prinzip ist jede digitale Logik damit abbildbar. Bspw. verwendet das Schachprogramm Hydra FPGA Karten, um direkt Schachzuege zu berechnen.
 
Der ARM lässt sich über CoProzessoren erweitern. Hier in dem Chippaket was im GP2x steckt sind auch ein paar wenige Funktionen verbaut - aber alles Spezialfunktionen wie z.B. fürs Videoplayback.
 
IntelCPU's lassen sich auch erweitern. Nur bezweifle ich, daß jemend (nicht intelentwickler) den Microcode kennt, um ihn zu erweitern. Man kann bei den Teilen, den Microcode (der der den ASM-Code in "echte" HW umsetzt) nachladen. So9 werden z.B. Bugs behoben.
 
Back
Top