¿Qué es la estructura Vonne-Iman?
Introducción a la estructura:
Cuando se trata del desarrollo de computadoras, no podemos dejar de mencionar al científico estadounidense von Neumann. Desde principios del siglo XX, los científicos de los campos de la física y la electrónica han estado debatiendo qué tipo de estructuras deberían usarse para construir máquinas que puedan realizar cálculos numéricos. La gente está obsesionada con el decimal, que es el método de conteo común utilizado por los humanos. Por lo tanto, en ese momento, el llamado al desarrollo de computadoras analógicas era más fuerte y poderoso. 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 de las computadoras digitales. Al mismo tiempo, también dijo que el programa de cálculo se programaba de antemano y luego la computadora realizaba cálculos numéricos de acuerdo con la secuencia de cálculo predeterminada.
La gente llama a esta teoría de von Neumann la arquitectura de von Neumann. Desde EDVAC hasta las computadoras más avanzadas de la actualidad, todas utilizan la arquitectura von Neumann. Entonces von Neumann es el padre de las computadoras digitales.
La gente llama al sistema informático electrónico diseñado utilizando este concepto y principio una computadora de "estructura Von Norman". Los procesadores de arquitectura von Norman utilizan la misma memoria y la transfieren a través del mismo bus.
Contenido
Características
El procesador de arquitectura Von Neumann tiene las siguientes características:
1: Debe haber memoria;
p>
2: Debe haber un controlador;
3. Debe haber una unidad aritmética para completar operaciones aritméticas y lógicas
4. La comunicación debe tener dispositivos de entrada y dispositivo de salida.
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 las siguientes funciones:
Enviar los programas y datos requeridos a la computadora.
Debe tener la capacidad de memorizar programas, datos, resultados intermedios y resultados de cálculos finales durante mucho tiempo.
Capaz de completar diversos procesamientos de datos, como aritmética, operaciones lógicas y transmisión de datos.
Los resultados del procesamiento se pueden enviar al usuario según sea necesario.
Para poder completar las funciones anteriores, el ordenador debe tener cinco componentes básicos.
? Incluyendo:
Dispositivos de entrada para ingresar datos y programas;
Memoria para almacenar programas y datos;
Unidades aritméticas para completar el procesamiento de datos;
Controlador utilizado para controlar la ejecución del programa;
Dispositivo de salida, resultados del procesamiento de salida.
¿Cuello de botella
? Separar la CPU y la memoria no es perfecto, pero da como resultado lo que se conoce como un cuello de botella de von Neumann: el flujo de tráfico (tasa de transferencia de datos) entre la CPU y la memoria es bastante pequeño en comparación con la capacidad de la memoria. En las computadoras modernas, el tráfico es muy pequeño en comparación con la eficiencia de la CPU. En algunos casos (cuando la CPU necesita ejecutar algunas instrucciones simples sobre datos enormes), el flujo de datos se convierte en una limitación muy seria para la eficiencia general. La CPU estará inactiva mientras se ingresan o envían datos a la memoria. Debido a que la velocidad de la CPU y la capacidad de la memoria crecen mucho más rápido que el tráfico en ambos lados, el problema del cuello de botella está empeorando. El cuello de botella de von Neumann apareció por primera vez en el discurso de John Backus cuando ganó el Premio ACM Turing en 1977. Según Bacos:
"... de hecho, existen formas de cambiar los dispositivos de almacenamiento que son más avanzadas que pasar grandes cantidades de datos a través de un cuello de botella de von Neumann. La palabra cuello de botella es más que una simple descripción del El problema del flujo de datos en sí mismo y, lo que es más importante, también es un cuello de botella intelectual que limita nuestro pensamiento a un modo de "carácter por carácter". Esto nos hace tener miedo de pensar en conceptos más amplios, por lo que la programación se convierte en una cuestión de planificación y refinamiento. El cuello de botella de Neumann es el flujo de datos de caracteres, y la mayor parte del problema no son las características de los datos, sino cómo encontrarlos”
El caché entre la CPU y la memoria resuelve el problema de eficiencia de Von Neumann. cuello de botella. Además, el establecimiento de algoritmos predictores de ramas también ayuda a aliviar este problema.
El "cuello de botella de inteligencia" discutido por Bacos en 1977 ha cambiado mucho. Bacos no tiene ningún impacto obvio en la solución de este problema. La programación moderna funcional y orientada a objetos rara vez realiza operaciones de "mover grandes cantidades de valores dentro y fuera de la memoria" como los primeros Fortran, pero para ser justos, estas operaciones ocupan la mayor parte del tiempo de ejecución de la computadora.
La arquitectura de la CPU se puede dividir en arquitectura von Neumann y arquitectura Harvard.
Arquitectura
Existen muchos procesadores centrales y microcontroladores que utilizan la arquitectura von Neumann. Además del 8086 de Intel mencionado anteriormente, las otras CPU de Intel, ARM7 de ARM y los procesadores MIPS de MIPS también utilizan la estructura de von Neumann.
En 1945, von Neumann propuso por primera vez el concepto de "programa almacenado" y el principio binario. Más tarde, la gente llamó al sistema informático electrónico diseñado utilizando este concepto y principio una computadora de "estructura tipo Von Neumann". Los procesadores de arquitectura Von Neumann utilizan la misma memoria y se transfieren a través del mismo bus.
El procesador de arquitectura Von Norman tiene las siguientes características: debe tener memoria; debe tener un controlador para realizar operaciones aritméticas y lógicas; debe tener dispositivos de entrada y salida para hombre-computadora; comunicación.
Estructura de Harvard
? La arquitectura Harvard es una estructura de memoria que separa el almacenamiento de instrucciones del programa y el almacenamiento de datos. Primero, la CPU lee el contenido de las instrucciones del programa en la memoria de instrucciones del programa, lo decodifica para obtener la dirección de datos y luego lee los datos en la memoria de datos correspondiente y realiza la siguiente operación (generalmente ejecución). La separación del almacenamiento de instrucciones del programa y el almacenamiento de datos permite que las instrucciones y los datos tengan diferentes anchos de datos. Por ejemplo, las instrucciones del programa para el chip PIC16 de Microchip tienen 14 bits de ancho, mientras que los datos tienen 8 bits de ancho.
Los microprocesadores con arquitectura Harvard suelen tener mayor eficiencia de ejecución. Si las instrucciones del programa y las instrucciones de datos se organizan y almacenan por separado, la siguiente instrucción se puede leer por adelantado durante la ejecución. Hay muchos procesadores centrales y microcontroladores que utilizan la arquitectura Harvard. Además de los chips de la serie PIC de Microchip mencionados anteriormente, 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 estructura de Harvard se refiere a la arquitectura independiente del programa y el espacio de datos. El propósito es reducir el cuello de botella al acceder a la memoria 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, y en el procesamiento de canalización, también hay una operación de recuperación. Si se accede al programa y a los datos a través de un bus, se producirán conflictos entre la recuperación y la recuperación, lo que es muy perjudicial para la eficiencia de ejecución de los bucles de cálculo intensivo. La estructura de Harvard básicamente puede resolver el conflicto entre indexación y recuperación de números. El acceso a otro operando solo puede utilizar una estructura Harvard mejorada, como dividir el área de datos nuevamente y agregar un conjunto de buses como TI. O como AD, el caché de instrucciones se puede utilizar para almacenar parte de los datos en el área de instrucciones.
En el algoritmo DSP, una de las tareas más importantes es intercambiar información con la memoria, incluidos datos muestreados, coeficientes de filtro e instrucciones de programa como señales de entrada. Por ejemplo, si multiplica dos números almacenados en la memoria, necesita recuperar tres números binarios de la memoria, que son los dos números que se multiplicarán y una instrucción del programa que describe cómo hacerlo. La estructura interna del DSP es generalmente una estructura de Harvard. Hay al menos cuatro grupos de buses en el chip: bus de datos del programa, bus de direcciones del programa, bus de datos y bus de direcciones de datos. Esta separación del bus de programa y del bus de datos permite que las palabras de instrucción (de la memoria del programa) y los operandos (de la memoria de datos) se obtengan simultáneamente 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 el bus DMA, 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 a tiempo y mejorando la velocidad informática. Entonces, para DSP, el bus interno es un recurso. Cuantos más autobuses haya, más compleja será la funcionalidad. La arquitectura SuperHarvard (abreviada como SHARC) se basa en la arquitectura Harvard y agrega un caché de instrucciones y un controlador de E/S especial.
Los procesadores de arquitectura Harvard tienen dos características obvias: se utilizan dos módulos de memoria independientes para almacenar instrucciones y datos respectivamente. Cada módulo de memoria no permite que las instrucciones y los datos coexistan y se utilizan dos buses independientes como una ruta de comunicación dedicada; entre la CPU y cada memoria, sin dependencias entre los dos buses.
? La estructura Harvard mejorada tiene las siguientes características estructurales: para lograr el procesamiento paralelo, tiene un bus de direcciones independiente y un bus de datos independiente; El bus de direcciones públicas se utiliza para acceder a dos módulos de almacenamiento (módulo de almacenamiento de programas y módulo de almacenamiento de datos), y el bus de datos públicos se utiliza para completar la transmisión de datos entre el módulo de almacenamiento de programas o el módulo de almacenamiento de datos y la CPU.