Ensamblador - Donde se decodifican las E/S

 
Vista:

Donde se decodifican las E/S

Publicado por Mario (1 intervención) el 09/04/2002 18:10:52
Donde se decodifican las direcciones de Entrada/Salida, o mejor dicho, de los ports ?
En las mismas controladoras de cada periferico, o se decodifica en el bus del motherboard ?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Hoy en día...

Publicado por Jorge (126 intervenciones) el 21/04/2002 06:51:52
... es difícil dar una respuesta. Sobre todo porque hay muchas cosas "onBoard".
Sin embargo, no creo que cambie mucho; vamos con un poco de teoría:

Internamente, la CPU decodifica el acceso a un port y pone en "0" la línea que indica a la circuitería que el proximo acceso se hace a un puerto de E/S.

Los datos se envian en la parte baja del bus de datos y la dirección en los 16 bits más bajos del bus de direcciones. Los dispositivos "saben" a qué direcciones están conectados (obviamente es algo un poco más complicado, en realidad los ports son fijos y los dispositivos, generalmente, ocupan direcciones consecutivas, etc...) y mediante un decodificador (en el dispositivo) se identifica a quién fue el llamado.
Digo esto por lo siguiente: es complicado que el mapeo sea directamente en el bus de direcciones, ello requeriría que cada slot en la mother tuviese un rango de direcciones disponibles, sin embargo una placa de video la podes conectar en cualquier slot y no pasa nada.
Lo que hace la BIOS y los programas de inicialización del kernel del sistema operativo es una detección de dispositivos conectados.

Espero que esto sea cierto (suena lógico, no?) y que no te cause problemas...

Recordá que hay espacios de direcciones de E/S reservados para usos específicos (3F8, 2F8, 3C8, 3C9, 3DA, etc...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar