La arquitectura Harvard ofrece una solución particular al problema de la velocidad de la CPU frente a la memoria, almacenando instrucciones y datos en cachés separadas para mejorar el rendimiento. Sin embargo, tiene el inconveniente de dividir la cantidad de caché entre las instrucciones y los datos, funcionando mejor solo cuando la frecuencia de lectura de ambos es similar.
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
Arquitectura harvard 2010 1
1.
2. El término proviene de la computadora HARVARD MARK I, que
almacenaba las instrucciones en cintas perforadas y los datos en
interruptores.
HARVARD MARK I
Fue el primer ordenador electromecánico construido en
la Universidad Harvard por Howard H Mark en 1944, con la
subvención de IBM. Tenía 760.000 ruedas y 800 kilómetros de
cable y se basaba en la maquina analítica de charles Babbage
El computador Mark I empleaba señales electromagnéticas para
mover las partes mecánicas. Esta máquina era lenta (tomaba de 3
a 5 segundos por cálculo) e inflexible (la secuencia de cálculos no
se podía cambiar); pero ejecutaba operaciones matemáticas
básicas y cálculos complejos de ecuaciones sobre el movimiento
parabólico de proyectiles.
Funcionaba con relés, se programaba con interruptores y leía los
datos de cintas de papel perforado.
3.
4. Todas las computadoras constan principalmente de
dos partes, la CPU que procesa los datos, y
la memoria que guarda los datos. Cuando hablamos de
memoria manejamos dos parámetros, los datos en sí, y
el lugar donde se encuentran almacenados
(o dirección). Los dos son importantes para la CPU,
pues muchas instrucciones frecuentes se traducen a
algo así como "coge los datos de ésta dirección y
añádelos a los datos de ésta otra dirección", sin saber
en realidad qué es lo que contienen los datos.
5. En los últimos años la velocidad de las CPUs ha
aumentado mucho en comparación a la de las
memorias con las que trabaja, así que se debe poner
mucha atención en reducir el número de veces que se
accede a ella para mantener el rendimiento. Si, por
ejemplo, cada instrucción ejecutada en la CPU
requiere un acceso a la memoria, no se gana nada
incrementando la velocidad de la CPU (este problema
es conocido como limitación de memoria).
6. Se puede fabricar memoria mucho más rápida, pero a
costa de un precio muy alto. La solución, por tanto, es
proporcionar una pequeña cantidad de memoria muy
rápida conocida con el nombre de memoria caché .
Mientras los datos que necesita el procesador estén en
la caché, el rendimiento será mucho mayor que si la
caché tiene que obtener primero los datos de la
memoria principal. La optimización de la caché es un
tema muy importante de cara al diseño de
computadoras.
7. MEMORIA CACHE
Es un conjunto de datos duplicados de otros
originales, con la propiedad de que los datos originales
son costosos de acceder, normalmente en tiempo,
respecto a la copia en la caché. Cuando se accede por
primera vez a un dato, se hace una copia en el caché;
los accesos siguientes se realizan a dicha copia,
haciendo que el tiempo de acceso medio al dato sea
menor.
9. La arquitectura Harvard ofrece una solución particular
a este problema. Las instrucciones y los datos se
almacenan en cachés separadas para mejorar el
rendimiento. Por otro lado, tiene el inconveniente de
tener que dividir la cantidad de caché entre los dos,
por lo que funciona mejor sólo cuando la frecuencia de
lectura de instrucciones y de datos es
aproximadamente la misma. Esta arquitectura suele
utilizarse en DSPs, o procesador de señal digital,
usados habitualmente en productos para
procesamiento de audio y video.
10. Procesador digital de señal
Es un sistema basado en un procesador
o microprocesador que posee un juego de
instrucciones, un hardware y un software optimizados
para aplicaciones que requieran operaciones
numéricas a muy alta velocidad. Debido a esto es
especialmente útil para el procesado y representación
de señales analógicas en tiempo real: en un sistema
que trabaje de esta forma (tiempo real) se reciben
muestras (samples en inglés), normalmente
provenientes de un conversor analógico/digital (ADC).
11. Se ha dicho que puede trabajar con señales analógicas,
pero es un sistema digital, por lo tanto necesitará un
conversor analógico/digital a su entrada y
digital/analógico en la salida. Como todo sistema
basado en procesador programable necesita una
memoria donde almacenar los datos con los que
trabajará y el programa que ejecuta. Si se tiene en
cuenta que un DSP puede trabajar con varios datos en
paralelo y un diseño e instrucciones específicas para el
procesado digital, se puede dar una idea de su enorme
potencia para este tipo de aplicaciones. Estas
características constituyen la principal diferencia de
un DSP y otros tipos de procesadores
17. - Mejora el rendimiento del PC creando dos memorias
cache, una para instrucciones y otra para datos.
18. -Cuando solo hay una memoria cache la divide en dos
disminuyendo el rendimiento en caso de que las
instrucciones o los datos no tengan el mismo espacio.