Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad de bus.
Es la interfaz entre el procesador y el exterior. Consta de los siguientes componentes:
-
Drivers y Receivers de direcciones. Los drivers sacan las direcciones al bus y los receivers las
recogen del mismo. La necesidad de sacar las direcciones al bus es obvia, cuando el procesador desea
direccionar a memoria o al sistema de entrada/salida. La utilidad de recoger las direcciones del bus
est relacionada con la cache. Debido a la posibilidad de interaccin con otro procesador en el mismo
sistema, es necesario un mecanismo que mantenga la coherencia de las copias de los datos que
residen simultneamente en ambas cache. Este mecanismo es lo que se llama un Protocolo de
Coherencia Cache y en este caso est desarrollado mediante una tcnica llamada espionaje (snoopy),
consistente en testear constantemente todo trasiego de datos que ocurra en el bus y verificar si los
datos implicados estn o no relacionados con los datos que residen en la cache de este procesador, en
cuyo caso ha de obrarse en consecuencia.
Transceivers de datos (de entrada y de salida) se encargan de depositar o recoger el dato del bus.
Lgica de control de maestro de bus. El Pentium puede cooperar en principio con otro procesador en
lo que sera un sistema multiprocesador. Ambos compartiran el mismo bus local junto con la interfaz
Host-PCI. Es necesario por lo tanto dotar al sistema de un mecanismo de arbitraje que regule los
accesos al bus de los procesadores.
Lgica de control de la cache L2. La cache L2 est fuera del procesador. es lo que se llama una cache
de segundo nivel y es compartida por los dos procesadores.
Internal Cache Control. Es la lgica que controla la cache interna. Se referir a la lgica que dispara
los intercambios de lnea cuando hay un fallo de cache, etc, adems de la lgica de coherencia de los
datos de la cach con los que hay en la memoria.
Generacin y control de paridad. Por cada envo o recepcin de direcciones y/o datos se genera un
control de paridad que debe siempre verificarse. Si en algn momento se detecta un fallo de paridad,
se produce un serio error en el sistema.
Bus de datos.
D[63..0]. Las 64 lneas de dato. Se considera dividido en 8 caminos de datos de un byte cada uno.
BRDY#. Esta seal proviene del dispositivo que est siendo accedido e indica que ste da por terminado
el ciclo de bus al haber ledo y haber ya situado el dato en el bus.
Aunque un dispositivo tenga un bus de 8 bits, al conectarse al bus debera ser capaz de satisfacer una
peticin de hasta 8 bytes (siempre y cuando esto tenga sentido para el dispositivo) en un solo ciclo. De
esto se debe encargar una lgica externa que sirva de adaptador entre el bus del dispositivo y el bus del
procesador.
Bus de direcciones.
El conjunto de lneas ms relacionado con las direcciones son:
A[31..3]: Obsrvese la carencia de las tres lneas de orden inferior
BE#[7..0]: Son las lneas de habilitacin de byte que de alguna manera suplen la falta de las A[2..0]
ADS#: Addres Status. Esta seal inicia una transaccin. Indica que en el bus se ha situado una direccin
con propsitos de acceso.
Cuando se saca una direccin al bus, esta direccin puede estar destinada a acceder a 1 byte, o 2 bytes
o ...8 bytes. Donde se indican cuntos bytes y dnde los supone localizados el procesador dentro del bus
de datos es en las lneas BE#. Cada lnea BE# est asociada con un byte del bus de datos, por ejemplo
BE#3 est asociada con el byte de datos comprendido entre las lneas D[24..31]. Quirese decir que
cuando BE#3 est activa, en una escritura el Pentium va a proporcionar el dato por ese conjunto de lneas
y cuando lee esperar que el dato est situado en esas posiciones.
Seales de control.
Se disponen de las tpicas seales de control que definen los tipos de transaccin:
M/IO#: Indica hacia qu espacio de direcciones va encaminada la transaccin.
D/C#: Distingue entre ciclos de datos/cdigo y ciclos especiales.
W/R#: Indica si el ciclo es de lectura o de escritura.
CACHE#: Indica si el ciclo est relacionado con la cach, lectura de datos para llenar una lnea de cach
o actualizacin de memoria desde una lnea de cache. Si esta lnea no se activa significa que el dato ledo
no se almacenar en la cache, o que el dato escrito procede directamente del procesador.
Ciclos especiales.
Los ciclos especiales son aquellos que no tienen por objeto acceder a datos externos al procesador, sino
manifestar una situacin dentro del mismo. Salvo en un caso, las lneas de direccin no van a contener
una direccin vlida, y las lneas BE contienen la definicin del tipo de ciclo que est transcurriendo.
Shutdown: Es una paralizacin del sistema y ocurre cuando se da una condicin de triple fallo o cuando
se detecta un error de paridad interno.
Se retorna de esta situacin mediante una interrupcin de los tipos NMI, INIT, RESET.
Flush: Se genera tras la ejecucin de instrucciones del tipo INVD (invalidar) o WRINVD (escribir e
invalidar). Es una seal que aparecer despus de haber salvado la cache interna y tiene por objeto avisar
a la cache L2 de que debe volcar sus datos en memoria.
Halt: Se genera tras la ejecucin de la instruccin HALT. Paraliza el procesador. Se sale de esta situacin
tras la activacin de alguna de las interrupciones INTR, NMI, INIT, RESET.
Flush: (Flush signal)
Branch Trace. Bit de traza.
Este ciclo especial se produce tras la activacin del bit de traza. Y se genera siempre que se produzca un
salto efectivo. Indica a la lgica externa la situacin colocando en las lneas de direccin la direccin de
destino del salto. Suple la falta de las lneas A[2:0] con las lneas BT[2:0]
Seales de interrupcin.
Adems de las consabidas: INTR y NMI tambin otras funciones del sistema se invocan mediante un
proceso de interrupcin:
BUSCHK# indica que un ciclo de bus no se ha cumplido satisfactoriamente.
R/S# Detiene la ejecucin del procesador de forma inmediata al comienzo de la siguiente instruccin.
Utilizada en un contexto de comprobaciones y depuracin del procesador.
FLUSH# Causa que los datos internos de la cache sean invalidados.
SMI#: System managemen interrupt
INIT: realiza un reset pero mantiene los contenidos de la cach y el estado de la unidad F.P.
Ciclos encauzados.
El Pentium puede, ya se poda desde procesadores anteriores, gracias a la distincin entre las lneas de
datos y las lneas de direcciones, encadenar varios ciclos de bus montando las direcciones del siguiente
acceso sobre el periodo de datos del ciclo anterior. Con ello se consigue reducir un periodo por ciclo,
salvo en el primer dato. La seal NA# la activa el dispositivo externo para indicar que ya est dispuesto a
recibir la siguiente direccin en el caso de que el procesador tenga intenciones de realizar uno de estos
encadenamiento.
Nota: asociadas con estas notas existen 10 transparencias que permiten, digo yo, comprender algo ms lo
insinuado arriba.