Habi Hablóg
Declaro:
XML válidoXHTML válido800x600 +
RSS válidoCSS válidoNavegador digno
  Blog   Archivo   Contacto   Administración  

Acerca de

Matemático, informático, aficionado a la electrónica, friki... y otras cosas que no vienen a cuento ni pasan los filtros de palabras.

¿Queríais un blog? Ahí va.

Red antisocial

¡Me van a volver loca! 2.0
La Fragata Portuguesa

Z
¡Me van a volver loca!

Últimos posts

El expediente X que nadie pidió
eNigma
La cuadratura del píxel
Portando desde Spectrum
Inexorable

Últimos comentarios

Habi
NoSupoResolverLaFuncion
Edu
Habi
EnriqueGG

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Zarith: me molaba el negro

Corre, PCW, corre

Habi - 02/09/2011 15:26:13 - Tecnoesoterismo

Aquí viene otro de mis análisis, en este caso hardware: un Sprinter para PCW (una placa aceleradora para PCW, no me refiero al clon ruso de Spectrum).

Pero primero hablemos un poco del PCW: tiene un reloj de 32Mhz, el cual se divide hasta los 4Mhz para el Z80. Además, internamente tiene dos bancos de memoria dinámica, refrescada y decodificada a través del Gate Array.

Es decir, el G.A. se encarga de todo, pero a cambio nos penaliza con un único acceso cada 4 ciclos de procesador (es decir cada microsegundo, igual que el CPC). Eso nos deja una velocidad efectiva reducida de como unos 3,3 Mhz en media. Sin embargo, no hay contención por acceder al G.A. vía I/O, pero eso es otra historia.

Supongamos que ponemos un Z80 a 8Mhz con su señal de reloj correspondiente así sin más; ¿qué ocurriría?

Pues ocurriría que desde su punto de vista podemos hacer 2 accesos SEGUIDOS a memoria cada 8 ciclos. La clave está en la palabra "seguidos", por si no lo he remarcado lo suficiente: eso es algo que no ocurre en el Z80. Es decir, el Gate Array nos frenaría hasta dejarnos a la misma velocidad efectiva que teníamos originalmente.

Para que no se duerma la gente, ahí va una foto del Sprinter:

Como bien podéis ver, tenemos un Z0840008PSC (Z80 a 8Mhz, el doble que el original) por el centro, un banco de memoria en la parte superior (a base de 256K x 4) hasta 1,5MB (512KB instaladas en este caso) y en la esquina inferior derecha una bonita memoria estática de 128KB (TC551001PL).

Atención al detalle del puente usando hilo esmaltado de cobre. Los dos cables que salen (amarillo y negro) van a parar a las señales de 32Mhz (32 = 4 (frecuencia original, cogida del zócalo) * 8 (frecuencia del Sprinter)) y /MDIS (deshabilita el acceso a la RAM interna) respectivamente en el bus.

El Sprinter mapea su memoria a continuación de la instalada en el sistema (512KB en este caso, dando un total de 1MB de los 2MB máximos que admite de forma estándar), en la cual no hay contención pues está gestionada por el propio Sprinter. Sin embargo, tanto el CP/M como el TPA se encuentran en las 128KB inferiores (junto con la memoria de video y el mapeo del teclado).

Y esa es la función de la memoria estática anteriormente mencionada: una shadow RAM. Cuando se lee de las 128KB inferiores (exceptuando el teclado) se lee de esta memoria y no accede a la principal. Cuando se escribe, va a parar a ambas. Con esta chapucilla, la velocidad se ve incrementada.

Hay software mal programado en el que esto genera incompatibilidades de sincronización (por no usar las interrupciones del G.A.) e incluso totales (por los ciclos que tenemos antes de una interrupción). Pero en general, va muy bien.

Y por completitud, ahí va la cara de pistas:

* Ningún animal, Sprinter ni Espinete fue dañado durante la elaboración de este artículo. Gracias a Jaime por prestármelo. En caso de duda, consulte a su farmacéutico.


SyX - 02/09/2011 18:25:35

¿Por qué "despistao" será el comentario de no confundirlo con el clon ruso del zx? xDDD



Habi - 02/09/2011 18:39:58

Créeme que no eres el único (y que por eso lo pongo).



seta - 03/09/2011 0:21:10

Eh, dónde está el botón de +1?



kachorro - 04/09/2011 22:18:53

No veo el Spectrum +3 en las fotos... XDDD




Post cerrado