La arquitectura de harvard y su funcionamiento


000Tanto los lenguajes de programación estructurados como orientados a objetos, son lenguajes
de alto nivel.
Dado que se nos pregunta por las diferencias entre unos y otros la citaremos
a continuación:
ô¾ Mientras que los estructurados utilizan la asignación y almacenamiento en variables
como constructor básico y sobre ésta construyen instrucciones de control secuencial,
alternativo e iterativo, los orientados a objetos se basan en la interacción de una serie
de objetos que son capaces de almacenar tanto los datos como las operaciones sobre
ellos.
ô¾ Los programas estructurados se basan en la idea de secuencia de instrucciones que se
tienen que ejecutar como una receta (es la trascripción de un algoritmo). En cambio
en los OO, el programa se basa en la interacción entre una serie de objetos.
ô¾ En los programas estructurados se utilizan variables que hacen referencia a una celda o
conjunto de celdas de memoria donde se almacenan valores. En los OO además de
las variables, se utilizan objetos que incluyen éstas y sus operaciones y se almacenan
conjuntamente.
ô¾ La estructuración se realiza en los estructurados mediante funciones y/o que reciben
llamadas de otras funciones y/o procedimientos. En los OO la estructuración se realiza
mediante los objetos y las llamadas se realizan de unos objetos a los métodos de
otros.
La diferencia fundamental de la arquitectura de Harvard respecto a la de von Neuman, se
basa en el mapa de memoria. Mientras que la segunda incorpora un solo mapa de
memoria continuo para el almacenamiento de datos y operaciones, la arquitectura de
Harvard incluye dos mapas de memoria diferenciados: uno para datos y otros para
instrucciones (programa).
La ventaja principal de la arquitectura Harvard respecto a la von Neuman, consiste en que al
tener los datos y programa almacenados en memorias distintas y al poder acceder a cada
una de ellas de forma independiente desde la Unidad de Control, se puede ganar en
velocidad de acceso. Esto es debido a que se puede leer o escribir datos en una memoria
mientras que se van leyendo las siguientes instrucciones a ejecutar.
Como inconveniente de esta arquitectura Harvard, tenemos que el tamaño de cada memoria
es fijo y por tanto, es posible que se nos llene una memoria estando la otra medio vacía.
Este problema no ocurre en la arquitectura von Neuman ya que la cantidad de memoria
destinada a programas y datos, puede ser cambiada dinámicamente por el sistema
operativo en función de las necesidades que requiera la ejecución de los programas.

Modos de direccionamiento


Procedimiento que permite determinar el operando y su hubicacion .El objeto es la instrucción, operando o resultado que se desea redireccionar. La dirección del objeto es el identificador que nos permite especificar donde se encuentra el objeto. No se indican direcciones absolutas, se utilizan relativas por el ahorro de espacio, el código es rehubicable y se simplifica cuando se utilizan vectores.
Tipos de direccionamiento: Inmediato, directo y relativo, indirecto e implícito.

Levy clasifica el software de un ordenador desde el punto de vista funcional. Para ello divide
el software en 5 niveles o capas funcionales. Cada uno de ellos se considera como un
intérprete que recibe unas instrucciones de un determinado tipo y actúa de acuerdo a ellas.
1. El nivel más interno es el llamado nivel de proceso de micro-órdenes o microinstrucciones,
también llamado firmware. En este nivel la máquina realiza
transferencias entre registros interpretando las órdenes de RT. Este nivel describe los
pasos de ejecución de una instrucción máquina.
2. El segundo nivel es el de la CPU. Es el nivel que ve el programador en ensamblador
por eso la interpretación se hace partiendo de las instrucciones máquina. Como
vemos en la figura anterior, es el nivel que se suele tomar como la frontera entre HW y
SW.
3. El tercer nivel es el sistema operativo, consistente en un conjunto de programas que
ayudan al usuario con la explotación del computador. Es, por tanto, una capa SW que
rodea al HW para facilitar su utilización proporcionando una gran cantidad de
funciones como son la asignación de recursos a los distintos procesos en ejecución,
control del almacenamiento auxiliar del computador, etc.
4. El siguiente nivel serían los lenguajes de alto nivel y los niveles de código objeto
producido al compilar el código fuente de alto nivel. Este nivel puede acceder al HW a
través del sistema operativo o a través de las instrucciones de ensamblador.
5. Por encima tendríamos las aplicaciones finales del computador.

Concepto de arquitectura del computador



En relación con los nivels de Levy, la arquitecura del computador corresponde al nivel de instrucciones máquina. Incluye los siguientes:
Juego de instrucciones máquina .- conjunto de instrucciones de máquina de los mecanismos de direccionamiento mediante los cuales se calculan las direcciones de datos e instrucciones
Tipos y formatos de los operandos .- sobre los que ejecutan las instrucciones máquina, de ello depende precisión y resolución de los datos.
Mapas de memoria y de E/S .- es importante el número y mapas de memoria y de E/S. Ej: en la arquitectura de Von Neuman (un mapa de memoria) en la de Havard (dispone de dos). Otro aspecto importante es el tamaño de estos mapas (dependen del numero de bits).
Secuencias de ejecucción .- como se van seleccionando las distintas instrucciones para er entregadas.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *