Program Status Word

De la Viquipèdia, l'enciclopèdia lliure

La paraula d'estat del programa (PSW) és un registre que fa la funció de registre d'estat i comptador de programa, i de vegades més. El terme també s'aplica a una còpia del PSW emmagatzemat. Aquest article només discuteix el PSW a l'IBM System/360 i els seus successors, i segueix la convenció d'IBM de numerar bits que comencen amb 0 com a l'extrem esquerre (la majoria significatiu) bit.[1]

Tot i que es poden provar o configurar determinats camps dins del PSW utilitzant instruccions no privilegiades, la prova o la configuració dels camps restants només es poden dur a terme mitjançant instruccions privilegiades.[2]

Dins del PSW hi ha el codi de condició de dos bits, que representa banderes zero, positiu, negatiu, desbordament i similars dels registres d'estat d'altres arquitectures. Les instruccions de ramificació condicional proveen això codificat com un valor de quatre bits, amb cada bit que representa una prova d'un dels quatre valors de codi de condició, 23 + 22 + 21 + 20. (Com que IBM utilitza la numeració de bits big-endians, el valor de màscara 8 selecciona el codi 0, el valor de màscara 4 selecciona el codi 1, el valor de màscara 2 selecciona el codi 2 i el valor de màscara 1 selecciona el codi 3).[3]

El PSW de 64 bits descriu (entre altres coses):

En els primers casos de l'arquitectura (System/360 i primer System/370), l'adreça d'instrucció era de 24 bits; en casos posteriors (XA/370), l'adreça d'instrucció era de 31 bits més un bit de mode (mode d'adreçament de 24 bits si és zero; mode d'adreçament de 31 bits si és un) per a un total de 32 bits.

En els casos actuals de l'arquitectura (z/Architecture), l'adreça d'instrucció és de 64 bits i el propi PSW és de 128 bits.El PSW es pot carregar mitjançant la instrucció LOAD PSW (LPSW o LPSWE). El seu contingut es pot examinar amb la instrucció Extract PSW (EPSW).[4]

Exemple de format per IBM 360[modifica]

Amb l'arquitectura IBM 360, el PSW consta de 64 bits. Els primers 32 bits només es poden veure afectats pel sistema operatiu.

Quan l'ordinador s'engega, es carrega un PSW des de l'adreça 0. Com que el PSW conté l'adreça d'instrucció, comença immediatament l'execució d'un programa.

Els bits del PSW són:

nombre de bits significat
8 Màscara del sistema, indica quines interrupcions estan permeses.
4 La clau de protecció, es compara amb una clau de la memòria per comprovar si es permet l'accés a la memòria.
4 AMWP ASCII: afecta el funcionament de les instruccions decimals.
Comprovació de la màquina: indica si es permet que una fallada provoqui una interrupció.
Espera: si aquest bit és 1, la CPU espera una interrupció.
Problema: si aquest bit és 1, la CPU es troba en estat de problema. Aleshores no es permeten instruccions privilegiades.
16 Interruptcode, la causa d'una interrupció
2 Longitud d'instrucció, una instrucció té una longitud de 16, 32 o 48 bits.
2 Codi de condició
4 Màscara de programa, especifica quins errors causats pel programa (com ara la divisió per zero) poden provocar una interrupció.
24 Adreça d'instruccions (comptador de programes)

Referències[modifica]