Von neumann harvard

13
Descripción de la arquitectura de Von Neumann y Harvard, realizada mediante investigación y recopilación de varios sitios con el fin de obtener información más detallada sobre dichos temas. Arquitectura de Von Neumann y Harvard Descripción y características SSCC

description

Arquitectura de harvard y von neumann

Transcript of Von neumann harvard

Page 1: Von neumann   harvard

Índice

0

Descripción de la arquitectura de Von

Neumann y Harvard, realizada mediante

investigación y recopilación de varios

sitios con el fin de obtener información

más detallada sobre dichos temas.

Arquitectura

de Von

Neumann y

Harvard Descripción y características

SSCC

Page 2: Von neumann   harvard

Arquitectura de Von Neumann

1

Arquitectura de Von Neumann ____________________________________________ 2

Unidad central de proceso ___________________________________________________ 4

ALU _____________________________________________________________________________ 5

Unidad de Control _________________________________________________________________ 5

Memoria Principal _________________________________________________________ 6

Controlador de Entrada/Salida _______________________________________________ 6

Buses del sistema __________________________________________________________ 7

Características: ____________________________________________________________ 8

Arquitectura de Harvard _________________________________________________ 9

Características: ___________________________________________________________ 11

Referencias Bibliográficas: ______________________________________________ 12

Page 3: Von neumann   harvard

Arquitectura de Von Neumann

2

Autor: Santiago Cuásquer

Tema: Arquitectura de Von Neumann y Arquitectura de Harvard.

Objetivo: Describir las dos arquitecturas y sus características.

Desarrollo:

Arquitectura de Von Neumann En 1994, John Von Neumann se incorporó al proyecto ENIAC. El grupo al que

pertenecía tenía por objetivo mejorar la forma como se introducían los

programas en un computador y pensaron en almacenarlos en forma de

números; Von Neumann tomando en cuenta aquel objetivo, propuso la creación

de un computador denominado EDVAC, el cual funcionaba con números

binarios, realizaba las operaciones de suma, resta y multiplicación en forma

automática, mientras que la división era programable, además tenía una

capacidad de 1000 palabras.

Este computador fue el inicio para la arquitectura conocida actualmente en los

computadores y no se le debe atribuir tan solo a Von Neumann, sino a los

ingenieros Eckert y Mauchly quienes trabajaron en el desarrollo de las

máquinas. En el Instituto de Estudios Avanzados de Princeton, Von Neumann

junto con Arthur Burks realizaron un artículo que a pesar de haber sido

realizado hace más de cuarenta años, posee la mayor parte de los conceptos

sobre arquitectura vistos en los computadores modernos de la actualidad.

Ilustración 1 - Arquitectura de Von Neumann

Page 4: Von neumann   harvard

Arquitectura de Von Neumann

3

La mayoría de sistemas informáticos actuales siguen al pie de la letra la

arquitectura propuesta por Von Neumann en el diseño EDVAC, se caracteriza

por el sistema operativo instalado internamente.

Dicha arquitectura consta básicamente de los dispositivos de entrada y salida,

la unidad central de proceso, en la que a su vez se encuentra la unidad

aritmética lógica (ALU) y la unidad de control (UC), una memoria principal y los

buses de control.

Los computadores que cuentan con este tipo de arquitectura realizan los

siguientes pasos secuencialmente:

1. Enciende el ordenador y obtiene la siguiente instrucción desde la

memoria en la dirección indicada por el contador del programa y la

guarda en el registro de instrucción.

2. Aumenta el contador de programa en la longitud de la instrucción para

apuntar a la siguiente.

3. Decodifica la instrucción mediante la unidad de control. Éste se encarga

de coordinar el resto de componentes del ordenador para realizar una

función determinada.

4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del

programa permitiendo operaciones repetitivas, es también capaz de

cambiar cuando se ha cumplido cierta condición aritmética y de esa

forma está disponible para poder procesar otros datos, todo según la

lógica anterior.

La especificación detallada de los elementos del cuadro de la ilustración 1, es

la siguiente:

Unidad Central de Proceso (CPU)

o Unidad Aritmética Lógica (ALU)

Banco de registros

Registro de datos

Registro de direcciones

Registro de control

o Unidad de control

Contador de programa

Registro de instrucción

Decodificador

Reloj

Secuenciador

Memoria Principal

o Memoria RAM

o Memoria ROM

Controlador de entrada/salida

o Periféricos entrada

o Periféricos salida

Buses del sistema

Page 5: Von neumann   harvard

Arquitectura de Von Neumann

4

o Bus de datos

o Bus de direcciones

o Bus de control

Tabla 1 - Estructura y funciones según Von Neumann

Unidad central de proceso

También abreviado como CPU o UCP, es el lugar donde se ejecutan las

instrucciones dadas por el sistema operativo mediante los periféricos de

entrada; está implementado en un único circuito integrado llamado

microprocesador.

Ilustración 2 - UCP

Dentro del CPU tenemos la unidad aritmética lógica ALU y la unidad de control

UC, a su vez dentro de cada una de estas tenemos otros subelementos.

Memoria

•Almacenar datos (leer, escribir).

•Almacenar programas

CPU

•Ejecutar operaciones sobre datos

•Ejecutar algoritmos

Input/Output

•Recibir nuevos datos

•Entregar resultados

Page 6: Von neumann   harvard

Arquitectura de Von Neumann

5

ALU

Unidad Aritmética Lógica, es la encargada de realizar las operaciones que le

ordene la Unidad de Control, estas operaciones son de tipo lógico (OR, AND,

NOT) y matemáticos (operaciones básicas). Normalmente los datos con los

que se opera y los resultados de tales operaciones, se encuentran

almacenados en los bancos de registros.

Ilustración 3 - ALU

Banco de registros

Proporciona un espacio de almacenamiento para los datos con que trabaja el

CPU. Los registros se cargan con información de la memoria principal antes de

comenzar a operar, cuando se necesita liberar el espacio de los bancos de

registro para manipular nuevos datos, su valor se escribe en la memoria

principal. Operar con datos que se encuentran en los bancos de registro es

mucho más fácil que tratar con los almacenados en la memoria principal.

El banco de registro a su vez se divide en tres sub-registros más:

Registros de Datos: Guarda la información con que se trabaja.

Registros de Direcciones: Guardan direcciones de memoria en las que

puede haber datos.

Registros de control: Controlan el estado de la CPU.

Unidad de Control

Se encarga de leer las instrucciones máquina almacenadas en la memoria

principal, enviarlas al ALU para ser procesadas y consiguientemente estar en la

capacidad de generar las señales necesarias para controlar y coordinar el resto

de las unidades funcionales de un ordenador. Consta de las siguientes partes

fundamentales:

Contador de programa: Registro que apunta a la dirección de memoria

de la próxima instrucción a ejecutar.

Registro de instrucción: guarda la instrucción que se está ejecutando.

Decodificador: Interpretar la instrucción a realizar.

Reloj: Genera una señal de sincronía.

Page 7: Von neumann   harvard

Arquitectura de Von Neumann

6

Secuenciador: Activa en el orden adecuado las diferentes unidades

funcionales para ejecutar la instrucción.

Además cuenta con un par de buses que transportan la información entre los

elementos del CPU; el bus de datos transporta la información que se está

procesando, mientras el bus de control proporciona toda la señalización

necesaria para realizar el trabajo de forma ordenada.

Ilustración 4 - Registros

Memoria Principal

La memoria principal también es conocida como memoria RAM, físicamente

consta de circuitos electrónicos que almacenan valores binarios en cada celda

de la memoria, esos datos guardados corresponden a datos e instrucciones de

los programas a ejecutar.

La memoria principal tiene menor capacidad que la memoria secundaria, pero a

su vez es más rápida, lo que permite un acceso rápido a las instrucciones y

datos que se manipulan.

Ilustración 5 - Memoria Principal

Controlador de Entrada/Salida

Es un elemento que controla el flujo de la información que entra y/o sale del

sistema informático.

Page 8: Von neumann   harvard

Arquitectura de Von Neumann

7

Las técnicas más utilizadas en gestión de dicha información son:

Polling o espera activa: El CPU se encarga de la transferencia de la

información revisando continuamente el estado de los periféricos, resulta

ineficiente.

Uso de interrupciones 1 : Transfiere la información pero el dispositivo

notifica de cambios mediante una interrupción.

DMA: Acceso Directo a Memoria, este controlador se encarga de toda la

transferencia de información mediante bloques y realizando

conversiones de ser necesario, al finalizar el envío de datos, utiliza una

interrupción quedando así listo para enviar información de nuevo. Es el

más eficiente.

Buses del sistema

Los buses son las vías de comunicación sincrónicos que funcionan gobernados

por un reloj para transportar información sin colisiones de datos, existe un bus

de datos especial para cada tipo de comunicación dentro del UCP, en total son

tres:

Bus de Datos: Es el cual transporta la información que se está

procesando o las instrucciones del programa que se está usando.

Bus de Direcciones: Se usa para indicar el origen y/o destino de los

datos. En el bus de direcciones se indica la posición de memoria en la

que se está accediendo al momento.

Bus de control: El bus de control proporciona señales para coordinar las

diferentes tareas que se realizan en el sistema informático. Algunas de

las señales que se pueden encontrar son:

o CLK2: Frecuencia de reloj

o CS3: Activa el chip a utilizar.

o Ready: verificación de disponibilidad del dispositivo.

o R/W: Operación de lectura y escritura.

1 Conocida también como interrupción de hardware, señal recibida por el procesador de un ordenador,

indicando que debe interrumpir el curso de ejecución actual. 2 Reloj o Clock en inglés.

3 Chip Select

Page 9: Von neumann   harvard

Arquitectura de Von Neumann

8

Ilustración 6 - Buses del UCP

Un ejemplo de procesador con la arquitectura de Von Neumann puede ser

AMD o Intel.

Características:

Se caracteriza porque el programa que ejecuta el sistema informático

está almacenado internamente.

Los programas se guardan en forma numérica (números binarios), al

contrario de aquella época en la que se usaban tarjetas perforadas.

Las operaciones realizadas son básicas, tales como sumas, restas u

operaciones lógicas.

Utiliza el mismo dispositivo para almacenamiento tanto de las

instrucciones como para los datos, a diferencia de la Arquitectura de

Harvard.

El procesador posee una distribución modular y jerarquizada de sus

elementos internos, lo cual permite una comunicación más fácil entre los

mismos.

La base de funcionamiento del ordenador consiste en la extracción

sucesiva de instrucciones de la memoria, interpretación de las mismas,

extracción de memoria de los datos implicados en la operación, envío al

ALU.

Aún se usa en la arquitectura de los computadores actuales.

Uso más eficiente de la memoria, con menos operaciones y más

flexibles.

Más simple arquitectónicamente.

Page 10: Von neumann   harvard

Arquitectura de Harvard

9

Arquitectura de Harvard En el mismo tiempo que ENIAC, Howard Aiken construyó en Harvard un

computador electromagnético llamado Mark-I, a la cual le sigue una con relés

nombrado Mark-II y un par de máquinas con tubos al vacío, la Mark-III y Mark-

IV. Estas últimas fueron construidas después de las primeras máquinas de

programa almacenado; el término Arquitectura de Harvard fue acuñado para

describir este tipo de máquina con memorias diferentes para procesar datos e

instrucciones.

Ilustración 7 - Arquitectura de Harvard

Una de las memorias contiene solamente las instrucciones del programa

(memoria del programa), y la otra sólo almacena datos (memoria de datos),

cada una con su propio bus de comunicación.

Existen dos buses en esta arquitectura, el de control y de instrucciones; ambos

buses son totalmente independientes, lo que permite que la UCP pueda

acceder de forma independiente y simultánea a la memoria de datos y a la de

instrucciones. La longitud de los datos y las instrucciones puede ser distinta, lo

que optimiza el uso de la memoria general.

Además de los buses independientes, la UCP puede acceder a los daros para

completar la ejecución de una instrucción, y al mismo tiempo leer la siguiente

instrucción a ejecutar.

Page 11: Von neumann   harvard

Arquitectura de Harvard

10

Ilustración 8 - Buses en la Arquitectura Harvard

La optimización de la memoria caché es un tema muy importante para el

diseño de una computadora; ésta es una memoria de gran velocidad para

guardar datos que el procesador necesita, haciendo que el rendimiento sea

mucho mayor.

La arquitectura de Harvard ofrece una solución particular para este problema.

Gracias a la utilidad de guardar instrucciones datos en cachés separadas, se

mejora este inconveniente, pero 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. Ésta arquitectura suele usarse en procesadores

de señal digital, usados habitualmente en productos para procesamiento de

audio y video.

Ilustración 9 - Arquitectura Harvard, microprocesador

Un ejemplo de procesador con esta arquitectura es el TMS320 C55x de Texas

Instruments4 o el Atmel AVR5.

4 También conocida como TI es una industria electrónica fabricante de semiconductores y tecnología

para ordenadores. 5 Compañía de semiconductores y microprocesadores; el AVR es un microprocesador con arquitectura

Harvard, diseño simple y fácil programación.

Page 12: Von neumann   harvard

Arquitectura de Harvard

11

Características:

Funcionaban con memorias separadas para procesar instrucciones y

datos, a diferencia de la arquitectura de Von Neumann.

Disminuye el cuello de botella en el acceso de memoria.

Controladores embebidos, RAM para los datos y ROM para las

instrucciones.

El tiempo de acceso a las instrucciones puede superponerse con el de

los datos, logrando una mayor velocidad en cada operación.

Instrucciones y datos de distinto largo. El tamaño de las instrucciones no

está relacionado con el de los datos, y por lo tanto puede ser optimizado

para que cualquier instrucción ocupe una sola posición de memoria de

programa, logrando así mayor velocidad y menor longitud de programa.

La ventaja del uso de esta arquitectura es cuando la frecuencia de

lectura de las instrucciones y los datos es aproximadamente la misma.

Esta arquitectura se usa principalmente en procesadores de señales

digitales como audio y video.

Page 13: Von neumann   harvard

Bibliografía

12

Referencias Bibliográficas:

Hennessy, John & Patterson, David. (1993). Arquitectura de Computadores,

enfoque cuantitativo. 1era Edición. 1993.

Institut Puig Castellar, Santa Coloma de Gramenet. (n.d.). Arquitectura de Von

Neumann. Extraído el día 25 de Agosto del 2012 desde

http://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud2/na1/

Díez Fernández, M. (2012). Operaciones auxiliares con tecnologías de la

comunicación e información. Extraído el día 25 de Agosto del 2012 desde

http://www.cpraviles.com/materiales/pcpi/PCPI/indexfee9.html?page_id=891

Mitnik, Rubén. (2008). Arquitectura de Computadores. Extraído el día 26 de

Agosto del 2012 desde

http://intrawww.ing.puc.cl/siding/public/ingcursos/cursos_pub/descarga.phtml?id_curso_ic=2

055&id_archivo=76451

Wikipedia.org (2012). Arquitectura de Von Neumann. Extraído el día 26 de

Agosto del 2012 desde http://es.wikipedia.org/wiki/Arquitectura_de_Von_Neumann

Universidad de la República de Uruguay. (n.d.). Extraído el 26 de Agosto del

2012 desde http://www.fing.edu.uy/tecnoinf/cursos/arqcomp/material/teorico/arq-

teorico05.pdf

Wikipedia.org (2012). Arquitectura de Harvard. Extraído el día 26 de Agosto del

2012 desde http://es.wikipedia.org/wiki/Arquitectura_Harvard