diseño de un solo ciclo con memoria compartida para datos e instrucciones

0

Esta no es realmente una pregunta sobre electrónica, es más una pregunta sobre diseño lógico.
Espero que este sea el lugar correcto para preguntar.

¿Cómo es posible que dos no utilicen un diseño de ciclo único? ¿Tiene una sola memoria para datos e instrucciones?

Quiero decir, ¿por qué no es posible acceder a esa memoria única con la dirección que encontramos en la PC y luego acceder a ella nuevamente utilizando la dirección que encontramos en las instrucciones?

Gracias

    
pregunta gion

1 respuesta

5

Su pregunta es hacer algunas suposiciones que no debería. Sin embargo, usted mismo ha respondido esto en gran parte.

En general, una memoria puede hacer un acceso a la vez. Dado que la obtención de la instrucción y la obtención del operando son dos accesos separados en dos direcciones separadas, deben realizarse de forma secuencial con las memorias tradicionales. Incluso si no es así, primero hay que buscar la instrucción antes de saber que la operación requiere una búsqueda de datos y luego a qué dirección. La secuencia lógica es inherentemente secuencial.

Dicho esto, existen varias técnicas de aceleración más allá del esquema conceptualmente simple de un procesador tradicional. Sería demasiado largo entrar en ellos aquí, pero tres que se me ocurren de inmediato son el almacenamiento en caché, la canalización y las memorias de instrucciones y datos por separado. Todos estos se utilizan en diversas extensiones en los productos actuales. Los verdaderos procesadores modernos ya no son tan simples como lo que supones en tu pregunta.

Por ejemplo, la mayoría de los microcontroladores pequeños usan una arquitectura de Harvard, lo que significa instrucciones separadas y memorias de datos. Pueden acceder a accesos simultáneos ya que son memorias separadas. Sin embargo, todavía existe el problema de tener que buscar y decodificar las instrucciones antes de saber qué, si es que hay algo, hay que leer o escribir en la memoria de datos. Por lo general, esto se trata en varias extensiones mediante la canalización, la búsqueda previa y otras técnicas.

Aquí no puedo reproducir un curso completo de nivel universitario sobre arquitectura de computadoras, pero espero que te haya dado suficientes palabras clave para que puedas encontrar mucha más información por tu cuenta.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas