SPARC: diferència entre les revisions
Contingut suprimit Contingut afegit
m Corregit: hitecture'') es una > hitecture'') és una |
m Terminologia: adreçament/encaminament |
||
Línia 8:
SPARC és la primera arquitectura RISC oberta i com tal, les especificacions de disseny estan publicades, així més fabricants de microprocessadors poden desenvolupar el seu propi disseny.
Una de les idees innovadores d'aquesta arquitectura és la finestra de registres que permeten fer fàcilment [[compilador]]s d'alt rendiment i una significativa reducció de memòria en
La CPU SPARC està formada d'una unitat sencera, UI (''Integer Unit'') que processa l'execució bàsica i una [[FPU]] (''Floating-Point Unit'') que executa les operacions i càlculs de reals. La IU i la FPU poden o no estar integrades en el mateix xip.
Encara que no és una part formal de l'arquitectura, els PCs basats amb sistemes SPARC de [[Sun Microsystems]] tenen una unitat de maneig de memòria ([[MMU]]) i un gran caché
== Principals característiques ==
* La seva característica distintiva
* 32 registres de sencers de 32 bits.
* 16 registres de [[coma flotant|punt flotant]] de [[64 bits]] (pel cas de [[doble precisió]]) que es poden utilitzar com 32 registres de 32 bits (per a precisió simple).
* Modes
** Immediat, (constants de 13 bits).
** Directe, (offset de 13 bits).
Línia 30:
== Tipus d'instruccions ==
L'arquitectura SPARC te prop de 50 instruccions senceres, poques més que l'anterior disseny RISC, però menys de la
Les instruccions de SPARC es poden classificar en cinc categories:
* LOAD i STORE (L'única manera d'accedir a la memòria). Aquestes instruccions utilitzen dos registres o, un registre i una constant per a calcular l'adreça de memòria
* Instruccions Aritmètico/Lògiques/Desplaçament. Executen operacions aritmètiques, lògiques i de desplaçament de bits. Aquestes instruccions calculen el resultat si
* Operacions del coprocessador. La IU extrau les operacions de punt flotant des de les instruccions del bus de dades i els situa en la cua per la [[FPU]]. La [[FPU]] executa els càlculs de punt flotant amb un nombre fix en unitat aritmètica de punt flotant, (el nombre depèn de l'aplicació). Les operacions de punt flotant són executades concurrentment amb les instruccions de la IU i amb altres operacions de punt flotant quan és necessari. L'arquitectura SPARC també especifica una interfície per la connexió d'un coprocessador addicional.
* Instruccions de Control de Transferència. Aquestes inclouen jumps, calls, traps i branches. El control de transferència
* Instruccions de control de registres Read/Write. Aquestes instruccions s'inclouen per llegir i enregistrar el contingut de diversos registres de control. Generalment la font del destí està implícit en la instrucció.
== Finestra de registres ==
Un tret únic que caracteritza al disseny SPARC, és la finestra amb
Es va acordar per l'especificació de l'arquitectura, poder disposar de 32 registres "visibles" dividits en grups de 8.
Línia 54:
* De r24 a r31, Registres ENTRADA.
Els registres globals són "vistos" per totes les finestres, els locals solament són accessibles per la finestra actual i els registres de sortida
El punter de finestra manté la pista de la finestra que actualment és activa. Existeixen instruccions per "obrir" i "tancar" finestres, per exemple per una instrucció "call", la finestra de registres gira en sentit anti horari; pel
Una interrupció utilitza una finestra fresca, és a dir, obre una finestra nova. La quantitat de finestres és un paràmetre de la implementació, generalment 7 o \d.
L'alternativa més elaborada per circundar lentament la finestra de registres
"Recents investigacions suggereixen que la finestra de registres, trobada en els sistemes SPARC però no en altres màquines RISC comercials, estan en condicions de proveir un rendiment excel·lent per a llenguatges de desenvolupament com [[Lisp]] i [[Smalltalk]]." (R. Blau, P.Foley, etz. 1984).
|