Sistemas operativos modernos
el caso del ciclo anterior, sería preciso añadir una cuarta instrucción, y ello haría un poco más lenta la detección de un dispositivo inactivo. En el diseño de computadoras, prácticamente todo implica concesiones, y lo mismo suce de aquí. La E/S con correspondencia en memoria tiene sus desventajas. Primera, casi todas las computadoras actuales tienen alguna forma de caché para palabras de memoria. Poner en ca ché un registro de control de dispositivo sería desastroso. Consideremos el ciclo en código en samblador que presentamos antes, pero con uso de caché. La primera referencia a P U E R T 0 _ 4 haría que su valor se colocara en el caché. Todas las referencias posteriores simplemente toma rían el valor del caché y no se preocuparían por preguntar al dispositivo. Entonces, cuando por fm el dispositivo esté listo, el software no tendrá forma de saberlo. El ciclo se repetiría en for ma indefinida. Para evitar esta situación con E/S con correspondencia en memoria, el hardware debe con tar con la capacidad de inhabilitar de manera selectiva el uso de caché, por ejemplo, para una página específica. Esto aumenta la complejidad tanto del hardware como del sistema operati vo, que tiene que administrar el uso selectivo de caché. Segunda, si sólo hay un espacio de direcciones, todos los módulos de memoria y todos los dis positivos de E/S tendrán que examinar todas las referencias a la memoria para determinar a cuáles deben responder. Si la computadora tiene un solo bus, como en la figura 5-3a, es sencillo obligar a todo mundo a examinar cada dirección. Las lecturas y escrituras de memoria de la CPU se efectúan por este bus de alto ancho de banda (a) (b) Figura 5-3. a) Arquitectura de un solo bus. b) Arquitectura de memoria de bus dual. Sin embargo, la tendencia en las computadoras personales modernas es tener un bus de alta velocidad dedicado a la memoria, como se muestra en la figura 5-3b, recurso con el que, por cierto, también cuentan los mainframes. Este bus está diseñado para opfimizar el desem peño de la memoria, sin hacer concesiones por la lentitud de los dispositivos de E/S. Los sis temas Pentium incluso tienen tres buses externos (memoria, PCI, ISA), como se muestra en la figura 1 - 11 . El problema de tener un bus de memoria aparte en las máquinas con correspondencia en memoria es que los disposifivos de E/S no pueden ver las direcciones de memoria a su paso por el bus de memoria, así que no fienen forma de responder. Una vez más, es preciso tomar
RkJQdWJsaXNoZXIy MjI4NDcx