Estoy en el proceso de escribir un controlador para el Intel 8259A PIC y usar el hoja de datos correspondiente para referencia.
La hoja de datos contiene una imagen del controlador y su conexión al bus del sistema:
Entiendolospinesylaconexión,peronopuedoenvolvermicabezaalrededordeuno:lalíneaA0.
Tienedosdescripcionesenlahojadedatos.Elprimeroeselsiguiente:
A0
EstaseñaldeentradaseusajuntoconlasseñalesWRyRDpara escribircomandosenvariosregistrosdecomandos,asícomoleerel Variosregistrosdeestadodelchip.Estalíneapuedeseratadadirectamente. aunadelaslíneasdedirección.
EchandounvistazoalosICW(palabrasdecomandodeinicialización),puedoentendercómoseutilizaelA0para"escribir comandos [...] [...]". Las líneas de dirección se designan con una "A" inicial y un número final, que es igual a su posición en la matriz de líneas de dirección, comenzando en 0. Por lo tanto, A 0 significa la primera línea de dirección de la dirección autobús.
Pero las líneas de dirección se utilizan para direccionar la memoria primaria, es decir, la RAM. Sin embargo, el Intel 8259A no accede directamente a la RAM.
Entonces, ¿por qué ese bit se llama A 0 y cómo se puede vincular [...] directamente a una de las líneas de dirección [...] "?
Y por qué 0, específicamente, si la segunda descripción dice esto:
LÍNEA DE DIRECCIÓN A0: Este pin actúa junto con los pines CS, WR y RD. Es utilizado por el 8259A para descifrar varias palabras de comando La CPU escribe y el estado que la CPU desea leer. Es típicamente conectado a la línea de dirección de la CPU A0 (A1 para 8086, 8088) .
(2 nd énfasis añadido.)
Entonces, ¿es A 1 para x86 y A 0 para esos otros procesadores compatibles con 8259A solamente? ¿Por qué A 1 para x86 entonces? Eso significa potencias de 2, que no veo uso en este contexto.
¿Cuál es el propósito de ese bit 0 y su nombre aquí?