Es handelt sich um einen 8-bit-Prozessorkern, den es offenbar nur
bei Cypress in ihren PSoC-Schaltkreisen gibt.
Das interessante an diesen Schaltkreisen ist natürlich nicht die
mal wieder andere Prozessorarchitektur, sondern die
konfigurierbaren Analog- und Digital-Schaltungsblöcke.
Der Prozessor bietet keine berauschende Performance wie die ATmegas; er ist eher vergleichbar mit den schnelleren PICs oder 8051ern. Seine Stärke liegt ausschließlich in seiner Peripherie. Dort befindet sich auch ein sehr schneller Multiplizierer+Addierer, wie man ihn zur Realisierung digitaler Filter braucht.
Noch zu schreiben!
Der Prozessor in klarer Harvard-Architektur besitzt:
Diese fünf Register haben keine (Alias-)Adresse und müssen über spezielle
Befehle angesprochen werden. So lässt sich SP nur mittels »SWAP A,SP« setzen.
Der Zugriff auf Spezialregister erfolgt ebenfalls über gesonderte Befehle;
allerdings werden diese im Operandenteil mit dem Schlüsselwort »reg«
generiert. (Also nicht mit »IN« und »OUT« gängiger Prozessoren.)
Hingegen zum Zugriff auf den Programmspeicher gibt es andere Mnemonics
mit kuriosem Namen, nämlich »INDEX« und »ROMX«.
Beim »System Supervisor Call« (SCC, vergleichbar mit einem Softwareinterrupt
beim 80x86) braucht man nur zu wissen, wie die
8 RAM-Speicherplätze am Ende des RAM zu füttern sind, damit dieser Befehl
das tut, was man beabsichtigt. Es erscheint klar, dass sich »hinter« dem
Flash-Speicher noch ein fest programmierter ROM befindet, der den Kode für den
SCC-Aufruf enthält. Der, und das Supervisor-Bit im Flag-Register interessieren
nur denjenigen (Cypress-Mitarbeiter), der Zugang zu jenem ROM hat.
Um bei der überwältigenden Menge der Spezialregister (hierüber werden auch der Analog- und Digitalteil konfiguriert wie bei einem FPGA) nicht gleich die Nerven zu verlieren, gibt es von Cypress ein Werkzeug namens »PSoC Designer«, welches den konfigurierenden Startup-Kode ausspuckt. (Ungetestet).
Noch zu schreiben!
Noch zu schreiben!