Cap´ıtulo
2.4. Processor Local Bus
El bus PLB es parte de la arquitectura de buses IBM CoreConnect, y es un bus s´ıncrono de alto desempe˜no dise˜nado para conexi´on de procesadores a dispositivos perif´ericos de alta velocidad. Tiene las siguientes caracter´ısticas [35], [36]:
Traslape de transferencias de lectura y escritura, que permite la transferencia de dos datos por ciclo de reloj para una m´axima utilizaci´on del bus.
Direcciones desacopladas y buses de lectura y escritura con capacidad de transac- ci´on dividida para tener un ancho de banda mejorado.
Segmentado de direcciones que reduce la latencia del bus al traslapar la latencia asociada a una petici´on con una transferencia de datos en curso en la misma direcci´on.
Capacidad para abortar de forma atrasada la petici´on de un maestro para reducir la latencia asociada con peticiones de aborto.
Latencia de arbitraje reducido mediante un protocolo de petici´on/cesi´on oculta (traslapada) del bus.
La arquitectura del bus soporta hasta 16 maestros y cualquier n´umero de esclavos.
Cuatro niveles de prioridad de petici´on para cada maestro permitiendo imple- mentaciones del bus PLB con varios esquemas de arbitraje.
Soporta transferencias de datos de 16, 32 y 64 bits de datos.
Capacidad de direcciones de lectura de palabras que permite a los dispositivos esclavos captar la l´ınea de datos en cualquier orden (secuencial o la primer palabra primero).
Protocolo de transferencia secuencial de bloques de datos (byte, media palabra y palabra) en ambas sentidos.
Transferencias de memoria protegida y no protegida, que deja a los dispositivos esclavos habilitar o deshabilitar la precaptaci´on de instrucciones o datos.
2.4.1.
Dispositivos esclavos
La anchura de los buses de datos en el PLB es de 64 bits y del bus de direcciones es 32 bits. A pesar de que algunos perif´ericos pueden parametrizar las anchuras an- teriores, solamente los buses de datos de 64 bits est´an soportados. Los perif´ericos que
son menores a 64 bits pueden ser adjutantos al PLB con una restricci´on en su direcci´on.
El ajuste din´amico del tama˜no del bus resulta en ciclos de conversi´on, los cuales son ciclos de transferencia extras que retransfieren datos cuando la transferencia inici- ada por un maestro es m´as grande que la respuesta del esclavo. Todos los esclavos del bus PLB requieren entregar l´ogica de cero cuando est´an inactivos.
Todos los dispositivos esclavos en el bus PLB que requieren un espacio de direc- ciones continuo deber´an implementar un anexo al bus PLB que sea tan amplio como la anchura del bus de datos del PBL, independientemente de la anchura del dispositivo. Por convenci´on, los registros en todos los dispositivos esclavos PLB son alineados a palabras (los ´ultimos dos bytes de la direcci´on son 00), independientemente del tama˜no de los datos en el registro o el tama˜no del perif´erico.
Existe una descripciones de pines del bus PLB tanto para dispositivos maestros como esclavos, sin embargo, los perif´ericos que se implementar´an en esta tesis son con- figurados como esclavos. Por esta raz´on solo se presentar´a la descripci´on de se˜nales del bus para un perif´erico esclavo, como se aprecia en la Tabla 2.1 [35].
En la Figura 2.6 se muestra el esquema de interconexi´on de perif´ericos maestros y esclavos al ´arbitros el bus [36].
Arbitraje Habilitadores de direcciones y transferencia Bus de escritura de datos Control Bus de lectura de datos Estado y control
Arbitro central del bus
Maestros PLB Maestros PLB
Control del bus
Habilitadores de direcciones y transferencia Bus de escritura de datos Control Esclavos PLB Bus de lectura de datos Estado y control Bus compartido
Se˜nal E/S Descripci´on
Clk E Reloj del bus Reset E Reset del bus
addAck S Direcci´on reconocida MBusy[0:N-1] S Indicador de ocupado MErr[0:N-1] S Indicador de error
rdBTerm S Transferencia de bloques de datos de lectura terminada rdComp S Indicador de transferencia de lectura completa
rdDAck S Dato de lectura reconocido rdDBus[0:63] S Bus de lectura de datos
rdWdAddr[0:3] S Direcci´on de la palabra para lectura rearbitrate S Indicador de rearbitraje del bus SSize[0:1] S Tama˜no del bus de datos
wait S Indicador de espera
wrBTerm S Transferencia de bloques de datos de escritura terminada wrComp S Indicador de transferencia de escritura completa
wrDAck S Dato de escritura reconocido abort E Indicaci´on de petici´on de aborto ABus[0:31] E Bus de direcciones
BE[0:7] E Byte activo busLock E Seguro del bus
compress E Indicador de transferencia de datos comprimidos guarded E Indicador de transferencia protegida
lockErr E Indicador de error en el seguro del bus MSize[0:1] E Tama˜no del bus de datos del maestro ordered E Indicador de sincron´ıa en la transferencia PAValid E Indicador de direcci´on primaria v´alida pendPri[0:1] E Prioridad de la petici´on pendiente pendReq E Indicador de petici´on pendiente del bus
rdBust E Indicador de transferencia de bloques de datos de lectura rdPrim E Indicador de petici´on de lectura de secundario a primario reqPri[0:1] E Prioridad de petici´on actual
RNW E Lectura y no escritura
SAValid E Indicador de direcci´on secundaria v´alida size[0:3] E Tama˜no de transferencia
type[0:2] E Tipo de transferencia
wrBurst E Indicador de transferencia de bloques de datos de escritura wrDBus[0:63] E Bus de datos de escritura
wrPrim E Indicador de petici´on de escritura de secundario a primario Tabla 2.1: Se˜nales del bus PLB para un perif´erico esclavo.