JOHN VON NEUMANN (1903-1957)
Fue uno de los más grandes matemáticos del siglo XX. Húngaro-estadounidense que realizó contribuciones importantes en física cuántica, análisis funcional, teoría de conjuntos, ciencias de la computación, economía, análisis numérico, cibernética, hidrodinámica, estadística y muchos otros campos de la matemática.
Fue seleccionado para la primera facultad del Instituto para Estudios Avanzados. Trabajo en el Proyecto Manhattan. Resolvió pasos fundamentales de la física nuclear. Se le considera el padre de la teoría de juegos.
Fue pionero de la computadora digital moderna, y de la aplicación de la teoría de operadores a la mecánica cuántica. Creo el concepto de programa almacenado, lo que permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. Esto dio a las computadoras flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos. Su nueva tecnología usaba el sistema Binario en vez del Decimal.
ARQUITECTURA DE VON NEUMANN
Es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos. Nace a raíz de su colaboración en el proyecto ENIAC. En 1949, había encontrado y desarrollado la solución a este problema.
La organización de esta arquitectura es la siguiente:
Consta de 5 partes: La unidad aritmético-lógica, o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida, y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes. Realiza, los siguientes pasos:
1.- Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de 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. Está 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 así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda tomar decisiones, que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
¿QUE ES UN PROCESADOR?
La CPU, es un componente digital capaz de interpretar instrucciones de forma ordenada, de procesar datos y de generar la información requerida.
Se encarga de controlar todas las tareas y procesos que se realizan dentro del ordenador: la memoria disponible, información a procesar, etc..
Consta de dos partes:
Unidad de Control y Unidad Aritmetologica.
Estructura de un procesador:
Funcionamiento de un procesador:
El PC (Program Counter), contiene la dirección de la instrucción a ejecutar. La UC (Unidad de control), genera las señales necesarias para activar la memoria (mediante el Bus de Control) y introduce la dirección del PC en el bus de direcciones.
La memoria, recibe la señal e introduce el dato que obtiene dentro de la dirección pedida, en el bus de datos. Activa una señal de control para indicarle a la CPU, que ya ha realizado la instrucción.
La CPU recibe la señal y envía el dato obtenido al registro de instrucción (en la UC). Ahora se actualiza el PC con la siguiente instrucción. El dato arriba al descodificador y este genera las señales para poder ejecutar la instrucción.
Una vez realizada la instrucción completa, la UC, introduce el resultado en el bus de datos, y en el bus de control envia una señal para activar la memoria, y en el bus de direcciones introduce el contenido de la dirección de destino.
CRONOLOGÍA DE LOS PROCESADORES
PROCESADOR | BITS | MARCA | VELOCIDAD (aprox) |
4004 (a.1971)
| 4
| INTEL
| 740KHz
|
8008 (a.1972)
| 8
| INTEL
| 740KHz
|
i8008
| 14
| INTEL
| 2MHz
|
MOS6502 (a.1975)
| 8
| MOS Technology
| 1,79MHz
|
Zilog Z80 (a.1976)
| 8
| Zilog
| 1,77MHz
|
iAPX 86 & i8088 a,1978/79)
| 16
| INTEL
| 4,77MHz
|
iAPX 286 (a.1982)
| 16
| INTEL
| 6/8MHz inicialmente
|
I386 (a.1985)
| 32
| INTEL
| 33MHz
|
AMD80386 (a.1991)
| 32
| AMD
| 40MHz
|
i486 (a.1989)
| 32
| INTEL
| 40MHz a 120MHz
|
PENTIUM (a.1993)
| 32
| INTEL
|
PENTIUM PRO (a.1995)
| 64
|
|
166MHz a 650MHz
|
PENTIUM II (a.1997)
| 64
| INTEL
|
PENTIUM III (a.1999)
| 64
| INTEL
|
PENTIUM IV (a.2000)
| 64
| INTEL
|
AMD586
| 64
| AMD
|
233 a 550 MHz
|
K5 (a.1996)
| 32
| AMD
|
K6-2 (a.1997)
| 32
| AMD
|
DUAL CORE
| 64
| INTEL
|
|
LÓGICA CABLEADA
Es una forma de realizar controles, en la que el tratamiento de datos se efectúa en conjunto con contactores o relés auxiliares, frecuentemente asociados a temporizadores y contadores.
En informática, utiliza compuertas lógicas discretas.
Circuitos creados con un cierto valor de entrada, para que nos den una salida.
LÓGICA PROGRAMADA
Son dispositivos logicos programables (PLD), los cuales no tienen una función establecida. Antes de utilizarlo, tiene que ser programado.
RISC: (Reduced Instruction Set Computer)
Es un tipo de microprocesador con las siguientes características fundamentales:
Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
Solo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
CISC: (Complex Instruction Set Computer)
Los microprocesadores cisc tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operacioens complejas entre operandos situados en la memoria o en los registros internos, en contraposicion a la arquitectura RISC.
Mips: (millones de instrucciones por segundo)
Es una forma de medir la potencia de los procesadores, sin embargo esta medida solo es útil para comparar procesadores con el mismo juego de instrucciones y usando benchmarks que fueron compilados por el mismo compilador y con el mismo nivel de optimización.
Mflops: (millones de operaciones de punto flotante por segundo)
Para usarlos como medida de rendimiento de punto flotante una referencia estándar debe ser establecida para todas las computadoras de interés. Uno de ellos es el estándar LINPACK.
BENCHMARK
Es una técnica utilizada para medir el rendimiento de un sistema o componente del mismo, (benchmark=comparativa).
Se entiende que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto y poder comparar los resultados con máquinas similares.
CACHE
Es una memoria más pequeña y rápida, la cual almacena copias de datos ubicados en la memoria principal que se utilizan con más frecuencia. Cuando se accede por primera vez a un dato, se hace una copia en la caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.
¿Que son los niveles de cache? ¿Donde están situados los niveles de cache?
Cuanto más cercana al procesador más rápida, más cara y más pequeña. Debido a esto usamos los niveles de cache L1, L2, L3 y L4.
L1: Conocido como caché interno, es el nivel más cercano a la CPU (mismo núcleo) con lo que el acceso se produce a la velocidad de trabajo del procesador. Presenta un tamaño muy reducido. Dividido en dos partes: Una para datos (localidad temporal) y otra para instrucciones (localidad espacial)
L2: Conocido como caché externo, inicialmente se instalaba en la placa base. Ahora generalmente vienen incorporados en el procesador.
L3: Se encuentra en algunas placas base, procesadores y tarjetas de interfaz.
L4: Se encuentra ubicado en los periféricos y en algunos procesadores.
Si el procesador necesita un dato de la memoria, comprueba nivel a nivel en cual de ellos se encuentra. El sistema se complementa con un algoritmo que es capaz de colocar los datos que más utilizas en los niveles más cercanos al procesador.