Inte så svårt, men. Kör en BXJ instruktion.Oltronix skrev:Kul! Hur kommer man åt den?
Men, den exekverar inte all JAVA bytekod eftersom det är jätte CISCigt.
För det den inte kan köra drar den exceptions.
https://en.wikipedia.org/wiki/Jazelle
En klassik ARM har fasta 32 bitars opcoder. Iom ARM7 införde man Thumb mode, 16bit instruktioner.
Dessa instruktioner dekodas och kodas om till 32 bitars ARM instruktioner som sedan körs.
Jag har för mig att det fanns en halvcykel över i decodesteget i pipelinen som man utnyttjade för det. (Klassisk fetch-decode-execute pipeline)
Jazelle är samma sak, fast JAVA bytekod. Översättning från Javabytekod till 32 bits ARM kod.
Jag tror att första maskinen med det var ARM 926. (Som inte har många grindar gemensamt med ARM925, som inte kommer från ARM...)
Det lönar sig inte cykelmässigt. JIT is the shit.
I de nya ARMarna är Jazelle borttaget.