El coprocesador matem�tico 80287

por Dario Alejandro Alpern

Introducci�n

La interfaz coprocesador-CPU es totalmente diferente que en el caso del 8087. Como el 80286 implementa protecci�n de memoria a trav�s de un MMU basado en segmentaci�n, hubiera sido demasiado caro duplicar esta l�gica en el coprocesador, que una soluci�n como la interfaz 8086/8088 a 8087 hubiera demandado. En vez de ello, en un sistema con 80286 y 80287 la CPU busca y almacena todos los c�digos de operaci�n para el coprocesador. La informaci�n se pasa a trav�s de los puertos F8h-FFh del CPU. Como estos puertos son accesibles bajo el control del programa, se debe tener cuidado en los programas que no se escriban datos en dichos puertos, ya que esto podr�a corromper datos en el coprocesador.

La combinaci�n 8087/8088 se puede caracterizar como una cooperaci�n de compa�eros, mientras que el 80286/287 es m�s una relaci�n amo/esclavo. Esto hace m�s f�cil la sincronizaci�n, ya que la instrucci�n completa y el flujo de datos del coprocesador pasa a trav�s de la CPU. Antes de ejecutar la mayor�a de las instrucciones del coprocesador, el 80286 verifica su pin /BUSY, que est� conectado al 80287 y se�ala si a�n est� ejecutando una instrucci�n previa o encontr� una excepci�n. Por lo tanto la instrucci�n WAIT antes de las instrucciones del coprocesador est� permitida pero no es necesaria.

La unidad de ejecuci�n del 80287 es pr�cticamente id�ntica al del 8087, esto es, casi todas las instrucciones se ejecutan en la misma cantidad de ciclos de reloj en ambos coprocesadores. Sin embargo debido a la comunicaci�n que debe realizar el 80287 con la CPU (alrededor de 40 ciclos de reloj), una combinaci�n 80286/80287 puede tener menor rendimiento de punto flotante que un sistema 8086/8087 corriendo a la misma velocidad de reloj.

Versiones del 80287: El 80287 fue el coprocesador original para el procesador 80286 y se introdujo en 1983. Usa la misma unidad de ejecuci�n interna que el 8087 y tiene la misma velocidad (a veces es m�s lento debido al tiempo que tarda la comunicaci�n con el 80286). Como el 8087, no provee compatibilidad completa con la norma IEEE-754 de punto flotante que apareci� en 1985. El 80287 fue realizado en tecnolog�a NMOS con el formato externo CERDIP de 40 pines. La frecuencia m�xima era de 10 MHz. El consumo de potencia era el mismo que el del 8087 (2,4 watt m�ximo).

El 80287 ha sido reemplazado pon su sucesor m�s r�pido, el 287XL, basado en tecnolog�a CMOS e introducido en 1990. Como tiene la misma unidad de ejecuci�n que el 80387, cumple con la norma IEEE-754 y ejecuta bastante m�s r�pido que su antecesor. A 12,5 MHz consume 675 mW (la cuarta parte que su antecesor).

Nuevas instrucciones del 80287

Aparte de las instrucciones que existen en el 8087, el 80287 posee las siguientes instrucciones: FSTSW AX: Almacena el registro de estado del 80287 en el registro AX.

FSETPM: Sirve para indicarle al coprocesador que la CPU entr� en modo protegido y, que por lo tanto, las direcciones se tratan de una manera diferente que en modo real.

En el 287XL se incluyen las instrucciones que figuran en la secci�n Nuevas instrucciones del 80387.

Nedstat Counter