Para conocer las Transacciones Publicadas de PCIe, debe comprender qué es una "escritura publicada" para las PCI heredadas y qué es una lectura de PCI heredada.
Para una lectura de PCI heredada, y de hecho se lee en la mayoría de los buses, la CPU envía un comando de lectura y la dirección de lectura espera a que el dispositivo responda con los datos y una señal de "Hecho" de algún tipo. Básicamente es una cosa tipo Comando y Respuesta.
Las escrituras normales en un bus PCI heredado, y muchos otros buses, son similares, excepto que el comando es la señal de escritura + dirección + datos y la respuesta es simplemente "hecho". El problema con esto es que para muchos sistemas el "hecho" no es necesario y solo toma tiempo. Si el periférico al que está escribiendo puede aceptar escrituras a toda velocidad, entonces no se necesita en absoluto.
Una "escritura publicada" es una escritura que no espera a una "finalización". La CPU asume que el ciclo de escritura se completará con cero estados de espera, por lo que no espera a que se complete. Esto acelera la escritura considerablemente. Para empezar, no tiene que esperar la respuesta realizada, sino que también permite una mejor canalización de la ruta de datos sin mucha penalización de rendimiento.
En la tierra PCIe se publican todas las escrituras. Pero PCIe las llama "transacciones publicadas" porque hay muchos tipos de escrituras (escrituras de memoria, escrituras de E / S, escrituras de configuración, etc.). También hay un par de otras transacciones que no tienen una respuesta.
La razón por la que se publican todas las escrituras es porque la naturaleza serial y basada en paquetes de PCIe hace que la "respuesta" sea muy lenta. Es común que una sola palabra leída tome varios microsegundos para completarse. Entonces, a pesar de que el bus está funcionando a 2.5 gigabits / segundo, solo podría obtener unos 4 megabytes / segundo si se lee una sola palabra. Cambie eso a escrituras publicadas de una sola palabra y el ancho de banda llegará a unos 60 megabytes / segundo. Cambie a escrituras publicadas de varias palabras y tendrá hasta unos 250 megabytes / segundo.
No hay tal cosa como una lectura publicada, en ningún bus, porque todas las lecturas requieren una respuesta (a.k.a. los datos que estás leyendo).