¿Qué es la estructura de von Noyman?

La estructura de von Neumann, también conocida como estructura de Princeton, es una estructura de memoria que combina memoria de instrucciones de programa y memoria de datos. La dirección de almacenamiento de instrucciones del programa y la dirección de almacenamiento de datos apuntan a diferentes ubicaciones físicas en la misma memoria, por lo que el ancho de las instrucciones y los datos del programa son los mismos. Por ejemplo, las instrucciones y los datos del programa del procesador central Intel 8086 son ambos de 16 bits. ancho.

Introducción a la estructura:

Hablando del desarrollo de las computadoras, no podemos dejar de mencionar al científico estadounidense von Neumann. Desde principios del siglo XX, los científicos en física y electrónica han debatido qué estructura debería usarse para construir máquinas que pudieran realizar cálculos numéricos. A la gente le preocupa el sistema decimal, el método de conteo al que los humanos están acostumbrados. Por lo tanto, el llamado al desarrollo de computadoras analógicas fue más fuerte y poderoso en ese momento. A mediados de la década de 1930, el científico estadounidense von Neumann propuso audazmente abandonar el sistema decimal y utilizar el binario como base del sistema numérico para las computadoras digitales. Al mismo tiempo, también dijo que los programas de cálculo están preprogramados y luego la computadora realiza cálculos numéricos de acuerdo con la secuencia de cálculo establecida por las personas de antemano.

La gente llama a esta teoría de von Neumann la arquitectura von Neumann. Desde EDVAC hasta las computadoras más avanzadas de la actualidad, todas utilizan la arquitectura von Neumann. Por tanto, von Neumann es el padre indiscutible de los ordenadores digitales.

Los sistemas informáticos electrónicos diseñados utilizando este concepto y principio se denominan colectivamente ordenadores de "estructura Von Norman". Los procesadores de arquitectura Von Norman utilizan la misma memoria y transmiten a través del mismo bus.

Contenido

Características El procesador de estructura Von Neumann tiene las siguientes características:

1: Debe haber una memoria;

2: Hay debe ser un controlador;

3: Debe haber una unidad aritmética para completar operaciones aritméticas y operaciones lógicas;

4: Debe haber dispositivos de entrada y dispositivos de salida, utilizados para humanos comunicación de la máquina.

: Además, los programas y datos se almacenan de manera uniforme y funcionan automáticamente bajo el control del programa

Función

Una computadora basada en la arquitectura von Neumann debe tener la siguientes funciones:

Enviar los programas y datos requeridos al ordenador.

Debe tener capacidad de memoria a largo plazo de programas, datos, resultados intermedios y resultados de cálculo finales.

La capacidad de completar diversas operaciones aritméticas, lógicas y transmisión de datos y otras capacidades de procesamiento de datos.

Capaz de enviar resultados de procesamiento a los usuarios según sea necesario.

Para poder completar las funciones anteriores, la computadora debe tener cinco componentes básicos,

que incluyen:

Dispositivos de entrada para ingresar datos y programas;

Memoria que almacena programas y datos;

Unidad aritmética que completa el procesamiento de datos;

Controlador que controla la ejecución del programa;

Dispositivo de salida de resultados de procesamiento de salidas .

Cuello de botella

? Separar la CPU y la memoria no es perfecto, pero conducirá al llamado cuello de botella de von Neumann: el flujo entre la CPU y la memoria (tasa de transferencia de datos) es bastante pequeño en comparación con la capacidad de la memoria En las computadoras modernas, la tasa de flujo es muy pequeña en comparación con la eficiencia de la CPU. En algunos casos (cuando la CPU necesita ejecutar algunas instrucciones simples con una gran cantidad de datos), el flujo de datos se vuelve. una limitación muy grave para la eficiencia general. La CPU estará inactiva mientras se ingresan o envían datos a la memoria. Dado que la tasa de crecimiento de la velocidad de la CPU y la capacidad de la memoria es mucho mayor que el tráfico entre las dos partes, el problema del cuello de botella se está volviendo cada vez más grave. El cuello de botella de von Neumann fue la primera vez que John Backus apareció en su discurso de aceptación del Premio ACM Turing de 1977. Según Backus:

"... de hecho, existe un dispositivo de almacenamiento de cambios. El método es más avanzado que hacer circular un. gran cantidad de datos a través del cuello de botella de von Neumann El término cuello de botella no es solo una descripción del flujo de datos del problema en sí, sino que, lo que es más importante, también es una forma de limitar nuestro pensamiento a "un patrón a la vez". de los cuellos de botella de inteligencia nos disuade de pensar en conceptos más amplios, por lo que la programación se convierte en una cuestión de planificar y especificar el flujo de datos de caracteres a través del cuello de botella de von Neumann, y la mayor parte del problema no son las características de los datos, sino cómo encontrarlos. información.

La memoria caché entre la CPU y la memoria resuelve el problema de rendimiento del cuello de botella de von Neumann. Además, el establecimiento del algoritmo de predicción de rama también ayuda a aliviar este problema. El "cuello de botella de inteligencia" discutido por Backus. En 1977 ha cambiado mucho, y la solución de Backus a este problema no ha tenido un impacto significativo. La programación funcional moderna y la programación orientada a objetos se han vuelto menos "intensivas" que las primeras "operaciones de movimiento de valores dentro y fuera de la memoria". ", pero para ser justos, estas operaciones ocupan la mayor parte del tiempo de ejecución de la computadora.

La arquitectura de la unidad central de procesamiento se puede dividir en: estructura de Von Neumann y estructura de Harvard

Hay muchos procesadores centrales y microcontroladores que utilizan la estructura von Neumann. Además del Intel 8086 mencionado anteriormente, hay otros procesadores centrales de Intel, ARM7 y MIPS que también utilizan la estructura von Neumann.

En 1945, von Neumann propuso por primera vez el concepto de "programa almacenado" y el principio binario. Más tarde, la gente utilizó este concepto y los sistemas informáticos electrónicos diseñados en principio se denominan colectivamente computadoras de "estructura Von Neumann". La estructura de Neumann utiliza la misma memoria y transmite a través del mismo bus.

La estructura de Von Neumann tiene las siguientes características: debe tener una memoria, debe tener una unidad aritmética; para completar operaciones aritméticas y operaciones lógicas; debe tener dispositivos de entrada y salida para la comunicación persona-computadora

Estructura Harvard

? almacenamiento de datos. El procesador central primero lee el contenido de las instrucciones del programa de la memoria de instrucciones del programa y lo decodifica para obtener la dirección de datos, luego lee los datos de la memoria de datos correspondiente y realiza la siguiente operación (generalmente la ejecución). y el almacenamiento de datos puede hacer que las instrucciones y los datos tengan diferentes anchos de datos, como los de Microchip. Las instrucciones del programa del chip PIC16 tienen 14 bits de ancho y los datos tienen 8 bits de ancho.

Los microprocesadores de estructura Harvard generalmente tienen mayor. La eficiencia de ejecución y las instrucciones de su programa y las instrucciones de datos se organizan y almacenan por separado. Además de los chips de la serie Microchip PIC mencionados anteriormente, hay muchos procesadores centrales y microcontroladores. también están la serie MC68 de Motorola, la serie Z8 de Zilog, la serie AVR de ATMEL y ARM9, ARM10 y ARM11 de ARM.

La arquitectura Harvard se refiere a una arquitectura independiente para el espacio de programas y datos, que está diseñada para reducir la memoria. acceso al cuello de botella cuando el programa se está ejecutando.

Por ejemplo, en la operación de convolución más común, una instrucción recupera dos operandos al mismo tiempo. Durante el procesamiento de la canalización, también hay una operación de recuperación de instrucciones. y se accede a los datos a través de un bus, la recuperación de instrucciones y la recuperación de datos deben ser Se producirán conflictos, lo que es muy perjudicial para la eficiencia de ejecución de bucles con operaciones grandes. La estructura de Harvard básicamente puede resolver el conflicto entre la recuperación de índices y la recuperación de números. Para acceder a otro operando, solo puede usar la estructura Harvard mejorada. Por ejemplo, como TI, el área de datos se divide y se agrega un bus adicional. O utilice el caché de instrucciones como AD, y el área de instrucciones puede almacenar parte de los datos.

En el algoritmo DSP, una de las tareas más importantes es intercambiar información con la memoria, que incluye datos de muestra, coeficientes de filtro e instrucciones de programa como señales de entrada. Por ejemplo, si multiplica 2 números almacenados en la memoria, necesita tomar 3 números binarios de la memoria, es decir, 2 números a multiplicar y 1 instrucción de programa que describe cómo hacerlo. El DSP generalmente adopta la estructura de Harvard, que tiene al menos cuatro conjuntos de buses en el chip: bus de datos del programa, bus de direcciones del programa, bus de datos y bus de direcciones de datos. Este bus de programa y de datos separados permite la adquisición simultánea de palabras de instrucción (de la memoria del programa) y operandos (de la memoria de datos) sin interferir entre sí. Esto significa que se pueden preparar instrucciones y operandos simultáneamente en un ciclo de máquina. Algunos chips DSP también contienen otros buses, como buses DMA, etc., que pueden completar más trabajo en un solo ciclo.

Esta estructura de múltiples autobuses es como configurar una autopista que se extiende en todas direcciones dentro del DSP, asegurando que la unidad informática pueda obtener los datos requeridos de manera oportuna y mejorando la velocidad informática. Por lo tanto, para DSP, el bus interno es un recurso. Cuantos más buses haya, más funciones complejas se pueden completar. Arquitectura SuperHarvard (arquitectura superHarvard, abreviada como SHARC), que agrega un caché de instrucciones (caché) y un controlador de E / S dedicado a la arquitectura Harvard.

El procesador de arquitectura Harvard tiene dos características obvias: utiliza dos módulos de memoria independientes para almacenar instrucciones y datos respectivamente. Cada módulo de memoria no permite que coexistan instrucciones y datos, respectivamente. como una ruta de comunicación dedicada entre la CPU y cada memoria, y no hay conexión entre estos dos buses.

? La estructura Harvard mejorada tiene las siguientes características estructurales: para lograr procesamiento paralelo, tiene un bus de direcciones independiente y un bus de datos independiente, y utiliza un bus de direcciones común para acceder a dos módulos de almacenamiento (módulo de almacenamiento de programa); y módulo de almacenamiento de datos), el bus de datos público se utiliza para completar la transmisión de datos entre el módulo de almacenamiento de programas o módulo de almacenamiento de datos y la CPU.