Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Arquitectura de Computadoras: Von Neumann vs. Harvard, Apuntes de Sistemas de Comunicación Digital

Una comparación histórica entre las arquitecturas de computadoras von neumann y harvard. Desde su origen en la década de 1940 hasta el desarrollo de la arquitectura moderna, se explica cómo ambas arquitecturas han evolucionado y cómo difieren en su organización de datos y programas. Además, se discuten sus ventajas y desventajas, y se mencionan algunos casos de uso actuales.

Qué aprenderás

  • ¿Qué ventajas y desventajas tiene cada arquitectura?
  • ¿Cómo se diferencian las arquitecturas de computadoras Von Neumann y Harvard?
  • En qué casos se utiliza cada arquitectura en la actualidad?

Tipo: Apuntes

2018/2019

Subido el 08/03/2019

jujus123
jujus123 🇲🇽

1 documento

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Arquitectura de Von Neumann y
arquitectura Harvard
Hoy en día tenemos bastante aceptado que el "corazoncito"
de un ordenador es el procesador (CPU), íntimamente
ligado a la memoria principal.
No obstante, no siempre fue así en la historia de la
computación y los primeros computadores. A ésta forma de
organizar el funcionamiento de los ordenadores le
llamamos "Arquitectura de Von Neumann" por el
matemático John Von Neumann, que la describió en los
años 50 para el desarrollo del computador EDVAC... y
básicamente, ha aguantado hasta hoy.
No es la única forma de construir ordenadores. Hay otra
manera, empleando dos memorias separadas, a la que
llamamos "Arquitectura Harvard", por ser la que se utilizó
en el ordenador Harvard Mark I, de la universidad de
Harvard.
Mucho ha llovido desde quepublicó en 1945 un
memorandum titulado First Draft of a Report on the
EDVAC1.
Según parece, Von Neumann no plasmó una idea
totalmente original, pues con anterioridad, ya hablaban de
ella otros investigadores, como John Presper Eckert o John
William Mauchly, sin embargo, esa manera de construir
ordenadores ha llegado hasta nuestros días íntimamente
ligada a su nombre.
La idea nos es muy familiar: básicamente, consiste en
utilizar un procesador que sea capaz de leer y escribir en
una memoria, en la cual se almacenan una serie de órdenes
o instrucciones para ese procesador y también los datos
necesarios para realizar esas órdenes... estamos
hablando... ¡de un programa!
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Arquitectura de Computadoras: Von Neumann vs. Harvard y más Apuntes en PDF de Sistemas de Comunicación Digital solo en Docsity!

Arquitectura de Von Neumann y

arquitectura Harvard

Hoy en día tenemos bastante aceptado que el "corazoncito" de un ordenador es el procesador (CPU), íntimamente ligado a la memoria principal.

No obstante, no siempre fue así en la historia de la computación y los primeros computadores. A ésta forma de organizar el funcionamiento de los ordenadores le llamamos "Arquitectura de Von Neumann" por el matemático John Von Neumann, que la describió en los años 50 para el desarrollo del computador EDVAC... y básicamente, ha aguantado hasta hoy. No es la única forma de construir ordenadores. Hay otra manera, empleando dos memorias separadas, a la que llamamos "Arquitectura Harvard", por ser la que se utilizó en el ordenador Harvard Mark I, de la universidad de Harvard. Mucho ha llovido desde quepublicó en 1945 un memorandum titulado First Draft of a Report on the EDVAC 1. Según parece, Von Neumann no plasmó una idea totalmente original, pues con anterioridad, ya hablaban de ella otros investigadores, como John Presper Eckert o John William Mauchly, sin embargo, esa manera de construir ordenadores ha llegado hasta nuestros días íntimamente ligada a su nombre. La idea nos es muy familiar: básicamente, consiste en utilizar un procesador que sea capaz de leer y escribir en una memoria, en la cual se almacenan una serie de órdenes o instrucciones para ese procesador y también los datos necesarios para realizar esas órdenes... estamos hablando... ¡de un programa!

En efecto, hoy nos resulta familiar, sin embargo, con anterioridad a los años 50 debemos tener en cuenta que el concepto de programa era muy distinto.

Por aquel entonces, ya existían algunos computadores -u ordenadores, o como los quieras llamar-. Su misión fundamental era hacer gran cantidad de cálculos... pero en general, siempre los mismos cálculos, sobre un montón de datos de entrada distintos.

Ya sabemos que eran ordenadores lentos y pesados... pero para la época suponían todo un alarde tecnológico. Se acababa de "inventar" una nueva disciplina: la electrónica digital... es decir, la electrónica que mediante unos componentes que trabajaban con valores discretos, eran capaces de realizar operaciones aritméticas y lógicas... Se habían construito todo tipo de circuitos que eran capaces de sumar, restar, etc... utilizando la electricidad para representar números.

Aprovechando esos circuitos se construyeron los primeros ordenadores, que no eran (a la vista de hoy en día) sino calculadoras gigantes. Combinando varios de esos circuítos digitales aritméticos y lógicos se podía realizar cálculos bastante complejos... incluso repetirlos muchas veces para distintos datos, obteniendo enormes tablas de resultados... eso es, en cierto modo un "programa".... esas enormes calculadoras se podían "programar" para hacer grandes tablas de cálculos... y cuando terminasen se podían reutilizar para realizar otras tablas con otros cálculos distintos... todo ello de manera más o menos automática.

El problema es que ese "programa" no estaba en un disco duro como hoy en día... El programa consistía en recombinar los circuitos... es decir... reordenarlos. Si para programar un cálculo había que hacer primero una suma y luego una resta era necesario reordenar los cables que salían de un circuito sumador para que entraran en un

numéricamente, desde luego), acompañadas de la localización de los operandos o datos necesarios para llevar a cabo esa instrucción. La localización de los operandos, es decir, el lugar donde deben guardarse los valores y los resultados también estará en la misma memoria.

La idea ha evolucionado hasta nuestros días con el mismo esquema básico, aunque lógicamente, con un nivel de complejidad mucho mayor.

En la wikipedia podemos ver éste esquema, que representa la idea de esa arquitectura:

Simple en su concepción: una memoria principal que contiene tanto instrucciones y referencias a los operandos (el programa) como los propios operandos (los datos).

Por supuesto, hoy en día, el esquema se ha ido concretando con los componentes funcionales de una CPU moderna: una unidad de control que lee las instrucciones y los datos de la memoria principal y organiza el trabajo del resto de los componentes de la CPU, una unidad aritmético-lógica (ALU), que concentra todos los circuitos que realizan operaciones aritméticas y lógicas, así como una serie de registros (almacenes de datos en el interior de la CPU) que sirven como almacenes temporales de datos para las operaciones que hace la ALU y sus resultados, y otras tareas comununes, como saber por dónde se va ejecutando el programa (Registro contador de programa -IP: Instruction Pointer-). También es necesaria una comunicación con el mundo exterior ("el mundo real")... esquematizada con los sistemas de Entrada/Salida capaces de traer y llevar datos desde y hacia los dispositivos periféricos.

Pero bueno... Hablemos de la otra alternativa: la arquitectura Harvard.

Está claro que se hacía necesario almacenar un programa en forma de una secuencia de instrucciones, pero a diferencia de la arquitectura de Von Neumann, en la arquitectura Harvard se propone que el programa esté totalmente separado de los datos con los que trabaja: es decir, el programa en una memoria, y los datos en otra memoria independiente.

Es una idea... pero plantea algunos problemas en su construcción y su rendimiento. Por un lado, hay que duplicar los sistemas de comunicación entre la CPU y la memoria, lo cual hace más complejo su diseño... pero por otro, y más importante, es que las memorias de hoy en día no son demasiado rápidas si comparamos su funcionamiento con la CPU. Es decir, llevar o traer cosas