• No se han encontrado resultados

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.