2011-12-27 14 views
8

Solo quiero saber la diferencia entre los puertos de E/S y la memoria de E/S, porque estoy bastante confundido. Y si alguien explica el uso de eso, sería genial. Y con el uso quiero decir, cuando se prefieren los puertos de E/S y cuando se prefiere la memoria de E/S.diferencia entre los puertos de E/S y la memoria de E/S

Respuesta

10

No hay diferencia conceptual entre las regiones de memoria y I regiones de E/S: dos de ellos se accede mediante la afirmación de las señales eléctricas en el bus de direcciones del bus y el control

Mientras que algunos fabricantes de CPU implementar un único espacio de direcciones en sus fichas otros decidieron que los dispositivos periféricos son diferentes de la memoria y, por lo tanto, merecen un espacio de direcciones separado. Algunos procesadores (más notablemente, la familia x86) tienen líneas eléctricas de lectura y escritura separadas para los puertos de E/S e instrucciones especiales de la CPU para acceder a los puertos.

Linux implementa el concepto de puertos de E/S en todas las plataformas en las que se ejecuta, incluso en plataformas donde la CPU implementa un solo espacio de direcciones. La implementación del acceso a puertos a veces depende de la marca y el modelo específicos de la computadora host (porque los diferentes modelos usan diferentes conjuntos de chips para mapear las transacciones de bus en el espacio de direcciones de memoria).

Incluso si el bus de periféricos tiene un espacio de direcciones separado para los puertos de E/S, no todos los dispositivos asignan sus registros a los puertos de E/S. Si bien el uso de los puertos de E/S es común para las placas periféricas ISA, la mayoría de los dispositivos PCI mapean los registros en una región de direcciones de memoria. Generalmente, se prefiere este enfoque de memoria de E/S, ya que no requiere el uso de instrucciones de procesador de propósito especial; Los núcleos de CPU acceden a la memoria de forma mucho más eficiente, y el compilador tiene mucha más libertad en la asignación de registros y la selección del modo de direccionamiento cuando accede a la memoria.

Más detalles en http://www.makelinux.net/ldd3/chp-9-sect-1

Cuestiones relacionadas