¿Por qué no puede usar los pines de E / S del microprocesador como pines de chip para ROM y RAM?

0

He estado leyendo un libro de texto sobre sistemas embebidos llamado An Embedded Software primer por David E Simon (gran libro por cierto). Estoy tratando de responder a las preguntas después de cada capítulo, terminé los primeros 2 capítulos, en el capítulo 3 hay una pregunta

  

¿Por qué no puedes usar los pines de E / S del microprocesador como pines de chip para ROM y RAM?

Normalmente codificas los pines de dirección para hacer esto.
 Lo que también me hizo pensar, ¿puede usar los pines de datos y los pines de direcciones como pines de E / S para un procesador (como los pines de E / S puede escribir ciertos bits de pines de datos ALTOS)? Si no, ¿cuál es la diferencia entre ellos? / O pines tienen más capacidad de conducción actual?

    
pregunta Teja Allani

3 respuestas

1

Puede, siempre y cuando solo quiera acceder a un tipo de memoria a la vez.

Por lo general, un micro extrae las instrucciones de la ROM en uno o dos ciclos y los datos de la RAM en los próximos ciclos. Lavar y repetir. Las líneas IO no responderán lo suficientemente rápido para que decodifique las primeras líneas de dirección para hacer esto.

Puede usar las líneas IO para seleccionar bancos de memoria. Por ejemplo, si tenía una gran cantidad de datos almacenados en RAM o chips ROM, podría dividir esto en bancos y utilizar las líneas de IO para seleccionar entre bancos.

    
respondido por el RoyC
0

Los chips ROM y RAM tienen exactamente la cantidad de líneas de dirección que necesitan, por lo que cualquier patrón formará una dirección válida, por lo que el IC siempre responde en el bus.

Obviamente, eso no es lo que quieres, porque solo quieres una respuesta, así que generas la señal de activación de chip en una lógica de compuerta que compara el rango de direcciones (es decir, las líneas de dirección que no van al chip de memoria).

En la C64, algunos GPIO también entran en esta lógica de puerta para permitir el cambio de ciertas áreas entre la ROM y la RAM. La línea de habilitación de escritura también se usa en esa lógica, por lo que las escrituras siempre se dirigen a la RAM, lo que permite copiar el contenido de la ROM para su posterior manipulación.

Lo mismo se hizo en las PC con la memoria del BIOS: en el inicio, la EEPROM del BIOS se asignaría, luego el código del BIOS copiaría el contenido a la RAM en la misma dirección, luego deshabilitaría la EEPROM (porque es más lento que RAM regular).

    
respondido por el Simon Richter
0

Las preguntas formuladas en los libros (libros de texto) generalmente se basan en lo que se dice / discute en el libro. La pregunta formulada

  

¿Por qué no puedes usar los pines de E / S del microprocesador como pines de chip para ROM y RAM?

es una amplia, que requiere una definición precisa de los términos que figuran en ella, al menos

  • ¿Qué es el pin I / O?
  • ¿Qué señal de activación de chip es?

Escanee la versión en línea del libro para aclararlo, y desafortunadamente las definiciones son débiles en relación con esta pregunta.

La página 73 tiene el título pines de E / S que no da una definición de qué son (en particular, qué otros pines existen, y cuáles son la diferencia entre sus clases).

El mismo problema con chip enable , se menciona varias veces, y usted sabe que está allí, el libro explica cómo operarlo y se asumió que su propósito Está claro basándose en la descripción de cómo debe ser operado.

Aún más confuso para esta pregunta es la figura 3.19 en la página 74, donde los pines marcados I / O se usan para controlar EEPROM. EEPROM es una subclase de ROM, por lo que esta imagen significa que realmente puedes usar los pines de E / S para controlar la ROM (de nuevo, no encontré el término chip habilitado correctamente definido).

Bien, ahora con la respuesta correcta a esta pregunta, de acuerdo con el libro. Lo encontrarás en la página 68 que dice eso

  

PAL impulsará las señales de activación de chip

No puedo ver el libro completo en línea, pero supongo que esta afirmación se basa en la premisa de que CE suele ser una función compleja de dirección y otras señales de control; estas señales se envían a PAL (lógica de cola) que tiene un solo chip habilitar la señal de salida para un dispositivo específico en el circuito.

Otras consideraciones relacionadas con la pregunta:

  • Qué son los pines de E / S: los pines de dirección de Z80 son pines de salida, no pines de E / S. Los pines de datos son pines de E / S. No hay otros pines bidireccionales en Z80;
  • Ciclo de bus y operación síncrona: probablemente sea una mala idea iniciar el ciclo de acceso ROM / RAM con múltiples señales (por ejemplo, usar líneas de dirección) ya que puede que no sea físicamente posible, y debería haber cierta lógica entre la creación de una sola Señal estroboscópica informando al dispositivo sobre su activación. Si bien es posible controlar dispositivos con entradas sin almacenamiento intermedio (dispositivos asíncronos), los dispositivos síncronos necesitarán señales de habilitación de reloj y chip (activador del dispositivo) como entradas para iniciar la operación;
  • es una muy mala idea que la señal de entrada de chip enable esté controlada por otra señal de entrada, cuando I / O pin está en la entrada modo. Estas situaciones causarán conflictos en el bus, sobrecorriente y daño físico de los chips (debido a que varios chips pueden pensar que están seleccionados y comenzar a enviar datos al bus). Por lo tanto, chip enable debería ser por defecto el pin de salida del curcuit hacia el cable CE de entrada de ROM / RAM.
respondido por el Anonymous

Lea otras preguntas en las etiquetas