domingo, febrero 01, 2009

¿El que se parecen un UltraSparc y un Z80A?

Leyendo un documento sobre el microprocesador de Sun UltraSPARC, me llamó la atención la existencia de cuatro juegos de registros globales, cuyo uso se controla a través de una serie de campos en el registro PSTATE. Esta técnica no es nueva en el mundo de los microprocesadores, porque existía algo similar en el antiguo Z80A de Zilog: tenía duplicados los registros principales y se podía aprovechar la velocidad de cambio a este juego de registros alternativos para evitar en el tratamiento de interrupciones almacenar todos el banco de registros en la pila. En el caso de la UltraSparc, tiene cuatro juegos de registros globales. Si alguien tiene curiosidad de ver como se selecciona cada juego, puede mirar cif.S, en el código fuente de Linux, aunque este código sólo lo puede ejecutar la CPU en modo privilegiado.

Referencias

  1. UltraSPARC III Cu User's manual
  2. STP1031, UltraSPARCTM-II
  3. OpenSPARC T1 Microarchitecture Specification

Technorati Tags: ,

No hay comentarios: