La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización del Computador I

Presentaciones similares


Presentación del tema: "Organización del Computador I"— Transcripción de la presentación:

1 Organización del Computador I
Introducción e Historia

2 Introducción ¿Qué es una computadora? Stallings:
“Máquina digital electrónica programable para el tratamiento automático de la información, capaz de recibirla, operar sobre ella mediante procesos determinados y suministrar los resultados de tales operaciones.” En vista de que lo que vamos a estudiar es la respuesta a la pregunta "¿qué es una computadora?", es bueno empezar por dar una definición de "computadora", la que tenemos adelante nuestro: "Máquina digital electrónica programable para el tratamiento automático de la información, capaz de recibirla, operar sobre ella mediante procesos determinados y suministrar los resultados de tales operaciones." para mi es una porquería, en el sentido de que responde en forma ad-hoc para justificar lo que estamos por hacer, que es estudiar una "computadora" de esas que se apoyan sobre un escritorio, se prenden, bootean, se cuelgan (si usan Windows) y demás. Yo soy partidario de las definiciones más abstractas y abarcativas y en este caso prefiero una definición del tipo: "Objeto capaz de realizar un cómputo por ejecución de un algoritmo." Ahora bien, dado que lo que deseamos hacer es estudiar una de esas licuadoras con esteroides que usamos para jugar al C&C, la definición que nos acaba de aportar Pepe no debiera herirnos el orgullo.

3 Introducción Por qué estudiar organización y arquitectura de computadoras? Diseñar mejores programas de base: compiladores, sistemas operativos, y drivers Optimizar programas Construir computadoras Evaluar su desempeño Entender los “compromisos” entre poder de computo, espacio y costos Otra de las respuestas que debe ser respondida es "¿por qué alguien querría estudiar organización y arquitectura de computadoras?". La respuesta más fácil es "hay gente para todo", pero la verdad es que las computadoras son, hoy, una parte fundamental de la sociedad en la que vivimos, y como tal su buen o mal desempeño tiene gran impacto en la vida de todos. Algunas de las razones en las que nosotros (profesionales de la informática) podemos encontrar motivación son: ...

4 Arquitectura vs Organización
Arquitectura: atributos visibles al programador Set de registros internos, Set de instrucciones, bits utilizados para representar los datos, mecanismos de direccionamiento de memoria, acceso a dispositivos de entrada y salida, etc. Organización: cómo se implementan Señales de control, tecnología de la memoria Ejemplos: Las instrucciones las ejecuta directo el hardware o son interpretadas por microprogramas? La multiplicación es realizadad directamente por un componente o se realizan muchas sumas? En la transparencia anterior hablé de "arquitectura y organización de computadoras". Llamamos arquitectura a los atributos visibles al programador (de bajo nivel, ese que le habla a las piezas de la computadora "en su idioma" y no en C++); la organización será la forma en la que se combinan circuitos para que ese "idioma" haga que la computadora lleve a cabo las tareas que se espera que desarrolle.

5 Arquitectura vs. Organización
Toda la familia x86 de Intel comparte la misma arquitectura básica Esto asegura la compatibilidad de código Al menos la de programas antiguos. De hecho podemos ejecutar el DOS, diseñado para el primer procesador de la familia (el 8086), en un computador basado en, por ejemplo, Pentium 4 . La organización cambia entre diferentes versiones de una misma familia Por ejemplo, toda la familia Intel, desde el 8086, hasta el Pentuim 4, comparten la misma arquitectura básica. Esto quiere decir que hay cambios puesto que la cantidad de registros no es la misma, estos no son del mismo tamaño, etc. pero que es posible ejecutar un programa desarrollado para 8086 en un Pentium 4 sin mayores inconvenientes. Por otro lado, en lo que respecta a la organización, no tengo que decirles que un Pentium 4 (dos cores a 2.6GHz) implementa algunas mejoras respecto del modesto 8086 (un core a 8MHz).

6 Componentes No hay una clara distinción entre asuntos relacionados con la organización y los relevantes con la arquitectura Principio de equivalencia Hardware-Software: “Cualquier cosa que puede ser hecha por software puede ser hecha en hardware y cualquier cosa que puede ser hecha con hardware puede ser hecha con software” El problema es lo borroso de la linea que divide arquitectura de organiación; en este punto, la discusión se torna bastante pastosa porque siempre que creamos que estamos parados frente a una división tajante, es posible encontrar aspectos que están más vinculados al concepto de software que al de hardware y viceversa. Este problema radica en el hecho de que existe un principio que dice que: "Cualquier cosa que puede ser hecha por software puede ser hecha en hardware y cualquier cosa que puede ser hecha con hardware puede ser hecha con software" Esto va a quedar realmente claro cuando profundicemos sobre los conceptos de software y hardware que veremos en el curso pero, por lo menos, no debiera resultarles tirado de los pelos.

7 Estructura vs. Función La Estructura es la forma en que los componentes se relacionan entre sí. La función es la operación que realizan los componentes individuales como parte de una estructura Vinculado al concepto de organización están los conceptos de estructura y función. Llamaremos estructura a la forma en la que los componentes se relacionen entre sí para desarrollar una tarea, y función a las operaciones particulares que esos componentes desarrollan en el marco de una estructura particular.

8 Funciones Las funciones básicas de una computadora son:
Procesamiento de Datos Almacenamiento de datos Transferencia de Datos Control Algunas funciones básicas que una computadora (más bien sus componentes) realiza son: ...

9 Visión Funcional Transferencia de datos Control Almacenamiento
Luego, si disponemos estas funciones en un diagrama, podríamos ver cómo las tareas que cotidianamente desarrollamos frente a la compu recurren a estas funciones básicas para ser llevadas a cabo. Almacenamiento de datos Procesamiento de datos

10 Operaciones (Transferencia de Datos)
Ej: Teclado a Monitor Control Almacenamiento de datos Procesamiento de datos

11 Operaciones (Almacenamiento)
Transferencia de datos Ej: Grabar un documento Control Almacenamiento de datos Procesamiento de datos

12 Operaciones (procecamiento desde/hasta almacenamiento)
Transferencia de datos Ej: Modificar el saldo de una cuenta Control Almacenamiento de datos Procesamiento de datos

13 Operaciones (procesamiento desde almacenamiento a E/S)
Transferencia de datos Ej: Imprimir un resumen de cuenta Control Almacenamiento de datos Procesamiento de datos

14 Estructura (computadora)
periféricos Computador Unidad Central de Proceso (CPU) Memoria Principal Sistema de Interconexión (Bus) Computador Entrada Salida (I/O) Líneas de comunicación Veamos ahora una computadora desde el punto de vista estructural. Si hacemos Zoom sobre la caja de metal que tenemos sobre el escritorio, lo que podemos ver es que esta está compuesta por una CPU, una memoria principal, un módulo que se ocupa de I/O y algún mecanismo de conexión entre estos componentes.

15 Estructura (CPU) CPU Computer Unidad Aritmética y Registros Lógica
I/O Registros System Bus CPU Interconexión Interna de la CPU Memory Unidad de Control Si insistimos en ver más, una CPU está compuesta por registros, que no son más que cajoncitos en dónde se pueden guardar datos, una ALU, que se ocupa de hacer las cuentas, sean estas aritméticas o lógicas, una unidad de control que será la encargada de definir el flujo de los datos entre los registros y la ALU definiendo qué operación será realizada y algún medio sobre el cual estas componentes se puedan comunicar.

16 Estructura (UC) Unidad de Control CPU Lógica Secuencial
ALU Control Unit Internal Bus Unidad de control de registros y decodificadores Registers Memoria de control Hay un dicho que me encanta que dice que el burro no consigue novia por lindo, sino por insistente (la versión original es inapropiada para este ámbito); así que si seguimos pretendiendo meternos en las tripas de una compu, podemos mirar más allá y una unidad de control se vería como un módulo implementando la lógica de ejecución secuencial, una unidad de control de registros y una pequeña porción de memoria de control.

17 Que significa todo esto?
Un ejemplo Un aviso de segunda mano… MHz?? L1 Cache?? MB?? PCI?? USB?? Zoom out, zoom out, zoom out... Nos ponen adelante nuestro una compu y su cuadro de especificaciones. A ninguno de ustedes le resulta raro leer este tipo de cosas, pero todos sabemos qué quieren decir en el fondo... bueno, eso es lo que vamos a tratar de aprender en este curso; a descifrar, más allá de la intuición, a qué se refieren este tipo de detalles que aparentemente miden el rendimiento, o las posibilidades, de una computadora. Que significa todo esto?

18 Algunas abreviaturas Medidas de capacidad y velocidad:
Kilo- (K) = mil = 103 y 210 Mega- (M) = 1 millón = 106 y 220 Giga- (G) = 1000 millones = 109 y 230 Tera- (T) = 1 billón = 1012 y 240 Peta- (P) = 1000 billones = 1015 y 250 Algunas abreviaturas que nos van a ser de utilidad y que por supuesto ya conocen... Normalmente se usan para medir en base diez (lo que entendemos los humanos) o en base dos (lo que entienden las computadoras) Que una medida corresponda a potencias de 10 ó 2 depende de la magnitud a medir.

19 Algunas abreviaturas Hertz = ciclos por segundo (frecuencia)
1 MHz = 1,000,000 Hz 1GHz = 1,000 MHz La velocidad del procesador se mide en MHz o GHz. Byte = unidad de almacenamiento 1 KB = 210 = 1024 Bytes 1 MB = 220 = 1,048,576 Bytes La memoria principal (RAM) se mide en MB El almacenamiento en disco se mide en GB para sistemas chicos, en TB para sistemas mas grandes. Word (palabra) = unidad de transferencia: cantidad de bits que pueden moverse simultáneamente dentro de la CPU 8 bits, 16 bits, 32 bits, 64 bits Aplicaciones de estas abreviaturas son a la medida de tiempo más usada en computación, que son los Hertz. Los Hertz en realidad son una medida de frecuencia y por lo tanto nos dirán la cantidad de veces que algo se repite, por ejemplo un pulso de reloj. Ya vamos a ver cómo esta noción de reloj está presente en una computadora. Un Hertz corresponde a un ciclo por segundo, es decir que cada un segundo, el evento medido comienza a repetirse. Otra aplicación son los bytes, concepto que define una unidad de almacenamiento. Un byte agrupa una cierta cantidad de bits (que es la unidad mínima de información). La palabra Bit es un acrónimo para Binary Digit que siendo 0 ó 1 es la menor cantidad de información manipulable en una computadora digital. El concepto de palabra definirá la unidad de transferencia dentro de una computadora y normalmente será un múltiplo del tamaño del byte.

20 Algunas abreviaturas Medidas de tiempo y espacio:
Mili- (m) = milésima = 10 -3 Micro- () = millonésima = 10 -6 Nano- (n) = mil millonésima= 10 -9 Pico- (p) = billonésima = Femto- (f) = mil billonésima = De la misma forma en la que vimos medidas por encima de la unidad; algunas medidas por debajo de la unidad son:

21 Un ejemplo Milisegundo = milésima de segundo
El tiempo de acceso de los HD suele ser de 10 a 20 milisegundos. Nanosegundo = mil millonésima de segundo El tiempo de acceso a RAM suele ser de 50 a 70 nanosegundos. Micron (micrómetro) = millonésima de un metro Los circuitos en los chips de una computadora hasta hace algunos años se medían en micrones (o micras). Actualmente se los mide en nanometros (nanotechnology) Y los ejemplos asociados son en general utilizadas para fracciones de base 10. Para caracterizar fracciones de tiempo o distancia.

22 Un ejemplo 133,000,000 ciclos/segundo = 7.52 ns/ciclo
Notar que el tiempo de un ciclo es inversamente proporcional a la frecuencia del reloj. Un bus operando a 133 MHz tiene un tiempo de ciclo de 7.52 nanosegundos (T = 1/F): 133,000,000 ciclos/segundo = ns/ciclo Usando esto, podemos caracterizar el tiempo que dura un ciclo de nuestro famoso reloj. De esta forma, si un bus opera a 133 MHz, entonces sabemos que en un segundo ocurren ciclos, luego, un ciclo dura 1/ partes de segundo, equivalente a 7.52 nanosegundos. Volvamos al aviso...

23 Un ejemplo El microprocesador es el “cerebro” del sistema. Ejecuta las instrucciones de los programas. Este es un Pentium III (Intel) corriendo a 667MHz. El bus del sistema mueve datos dentro de la computadora. Cuando más rapido el bus mejor la performance. Este corre a 133MHz. Ahora, volviendo al aviso, ya sabemos que nuestro procesador tiene un reloj que opera a 667 MHz, lo que como ya veremos definirá la cantidad de instrucciones que podrán ser ejecutadas por unidad de tiempo (humano). Por otro lado, también sabemos que el reloj que rije el comportamiento de la memoria (SDRAM) opera a 133 MHz y por lo tanto nos dice cada cuanto tiempo esta puede ser accedida, ya sea para escribir o leer.

24 Un ejemplo Las computadoras con mucha memoria principal pueden correr programas más grandes con mayor velocidad que las computadoras que tienen poca memoria. RAM es la sigla para nombrar a memoria de acceso aleatorio. Esto significa que si se conoce su locación, los contenidos pueden ser accedidos directamente (y no en forma secuencial como por ejemplo las viejas unidades de cinta). El cache es un tipo de memoria temporaria que puede ser accedida más rápidamente que la memoria del sistema. Ambas son de tipo RAM.

25 Un ejemplo Este sistema tiene 64MB de una memoria dinámica RAM sincrónica (SDRAM) . . . … y 2 niveles de cache de memoria, el cache de nivel 1 (L1) es más chica y (seguramente) más rapida que la cache L2. Para clarificar el aviso, RAM es la denominación de la memoria de acceso aleatorio (lo que significa que si conocemos la posición de un cierto dato, este puede ser accedido sin la necesidad de referenciar otras posiciones) y muchas veces se utiliza para denominar a la memoria principal del sistema. Por último, una cache es una memoria temporal, más pequeña y veloz que la memoria principal, utilizada para acceder datos en forma más eficiente. SDRAM se refiere a un tipo particular de RAM que funciona en forma dinámica y sincrónica. Que las cache sean denominadas L1 y L2 proviene del hecho de que en general las memorias se estructuran en forma piramidal de forma de que las más rápidas, por ser más caras, son de menor tamaño y se utilizan para intentar mejorar el rendimiento general del sistema.

26 Un ejemplo La capacidad de HD determina la cantidad y el tamaño de los datos que podemos almacenar. Este es de 30GB RPM es la velocidad de rotacion del disco. En gral, cuanto más rapido gira el disco más datos puede enviar a la RAM por unidad de tiempo. Como todos ya saben, los discos rígidos se miden a través de su capacidad, la cantidad de revoluciones por minuto que son capaces de dar (más adelante veremos por qué este es un factor de relevancia) y el tipo de conexión (bus de expansión) al que se encuentra conectado.

27 Un ejemplo EIDE (enhanced integrated drive electronics): Especificación de la interfaz que describe cómo el HD debe comunicarse con otros componentes. Un CD-ROM puede almacenar entre 640 y 700MB de datos. 48x describe su velocidad. EIDE es un tipo particular de conexión. Y bueh... el CDROM y su velocidad.

28 Un ejemplo Los puertos permiten el movimiento de datos entre el sistema y los dispositivos externos. Luego, el aviso nos indica los puertos de expansión con los que cuenta el sistema. Este sistema tiene 4 puertos.

29 Un ejemplo Los puertos serial envían datos como una serie de pulsos sobre 1 o 2 líneas físicas de transmisión. Se los denomina comúnmente puertos RS-232, por la norma que utilizan para manejar la transmisión de dichos pulsos. Los puertos paralelos envían los datos como un pulso sobre varias líneas de datos. USB, universal serial bus, es una interfaz serie mucho mas inteligente (y reciente) que se “auto-configura” (plug and play). Un puerto se llama serial cuando los datos que transporta viajan uno detrás del otro sobre un mismo canal conductor y el puerto clásico de este tipo se rige por el estandar RS-232. Los puesrtos paralelos, a diferencia de los seriales, son capaces de enviar datos por más de un canal en forma paralela. Los puertos USB (Universal Serial Bus) es un puerto serie pero con características especiales que lo hacen muy interesante, como la posibilidad de autoconfigurarse negociando la forma en la que se comunicará con el dispositivo conectado.

30 Un ejemplo Los buses del sistema puede ser ampliados con buses dedicados a la E/S. El PCI, peripheral component interface, es un ejemplo. Este sistema tiene dos dispositivos PCI: una tarjeta de sonido y un modem. Así, podemos seguir y ver que existen otros conectores para expandir nuestro sistema. Por ejemplo PCI (Periferal component interface), al que en este caso están conectados un modem y una tarjeta de sonido. Además los computadores poseen internamente conetores para agregar dispositivos PCI si se los requiere.

31 Un ejemplo El numero de veces por segundo que la imagen del monitor se refresca se llama “tasa de refresco”. El dot pitch se relaciona con cuan clara es la imagen. Este monitor tiene un dot pitch de 0.28 mm y una tasa de refresco de 85Hz. Para ir terminando, se describe el monitor y las capacidades de la placa de video, que se encuentra conectada a un bus especial para manejo de video 3d denominado AGP. La tarjeta de video contiene memoria y programas para manejar el monitor.

32 El ejemplo … por dentro Viéndolo sobre el mother...

33 Organización del Computador 1
Historia

34 Historia Generación Años Características hasta 1945
hasta 1945 Sistemas mecánicos y electro-mecánicos 1 1945 – 1954 Tubos al vacío (válvulas), tableros 2 1955 – 1965 Transistores y sistemas por lotes 3 1965 – 1980 Circuitos integrados 4 desde 1980 VLSI - Computadores personales y super computadoras La historia de la computación, más bien de las computadoras, se suele estudiar por generaciones delimitadas por la tecnología sobre la cual estaban construidas. Este cuadro muestra cómo esta historia está divida y ahora vamos a ver un poco en detalle cada una de estos grupos.

35 Primeras “computadoras”
Ábacos Calculadoras mecánicas Sistemas basados en relés En vista de la definición que se dio al principio, la generación 0 es un poco ficticia, pero es bueno revisarla para entender de dónde venimos. En la primera generación encontramos, como primeros exponentes de relevancia desde el punto de vista técnico la máquinas mecánicas y las electromecánicas basadas en el uso de relés. Un relé es un dispositivo EM que funciona de la misma forma que una perilla de luz salvo por el hecho de que no se necesita un humano para modificar su estado. El cambio de estado está dado por la aplicación de una carga sobre un eletrimán, que mueve un contacto metálico cerrando un circuito y dejando pasar la corriente.

36 Maquinas diferenciales de Babbage
1822: Primera “computadora“ (mecánica) Usaba el método de las diferencias finitas para el cálculo de polinomios de 2do grado. Requería aprox partes. Fracaso en el intento 1847: Otra versión más “pequeña“ No llego a construirse Fue reproducida por el Museo de Ciencia en 1985

37 Maquina analítica (1834) Primera Computadora Digital (mecánica)
Calculaba cualquier función algebraica y almacenaba números. Se programaba con tarjetas. Charles Babbage y Ada Lovelace. Fracaso en el intento...

38 Harvard Mark I (1939-1944) IBM y la universidad de Harvard
Electromecanico, ruedas! 800km de cables! Basado en la maquina analitica de Babagge Decimal 0.3 a 10 segundos por cálculo Programable mediante una cinta de papel Se uso hasta 1959 Grace Hooper: popularizo el nombre “Bug” Escribió en su cuaderno de trabajo :"Relé #70 Panel F insecto en Relé".

39 Primera Generación 1940-1955 Utilizan tubos al vacío
Enormes (20,000 tubos) y lentas (un ciclo  1 seg.) Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina. Toda la programación se hacía en lenguaje máquina (conectando cables en un tablero por ejemplo). No existían los sistemas operativos. En 1950 se introducen las tarjetas perforadas. El cambio de generación se da a partir de la introducción de los tubos de vacío puesto que permiten la construcción de circuitos mucho más complejos. El tubo de vacío se basa en un hecho observado por Edison cuando estaba inventando la lamparita; en en aquel momento Edison, una vez que ya había situado el filamento en una ampolla sellada al vacío, percibió que, a pesar de que el filamento se quemó a la misma velocidad que cuando no usaba este tipo de ampollas, existía un flujo de electrones desde el cátodo (electrodo con carga negativa) hacia el ánodo (electrodo con carga positiva); así nace el concepto de Diodo. DeForest fue el que se dio cuenta de que era posible situar una grilla (control grid) entre el cátodo y el ánodo de forma que si esta grilla era cargada en forma negativa los electrones no fluían y que al cargarla positivamente, los electrones fluían hacia el ánodo debido a la diferencia de potencial generada por las cargas. Este último, por poseer tres elementos es denominado Triodo... recuerdan el relé, bueno, es lo mismo con la diferencia que ahora no tenemos piezas mecánicas molestas, pero por sobre todo lentas.

40 Atanasoff Berry Computer (1939 - 1942)
Primera computadora digital (binaria) No era de propósito general Resolvía sistemas de ecuaciones lineales. John Atanasoff y Clifford Berry de la Iowa State University.

41 Colossus (1943) Desarrollo Británico
Diseñada para descrifar los mensajes encriptados por los alemanes Participo Turing No se conoció hasta los 80 Maquina Alemana “Enigma” 150,000,000,000,000,000,000 combinaciones.

42 ENIAC (1946) Electronic Numerical Integrator and Computer
John Mauchly and J. Presper Eckert (Pennsylvania) Primera computadora de propósito general Se programaba “cableando” Construida entre para calcular trayectoria de las misíles. Pero se terminó tarde… Von Newman participó de las últimas etapas del proyecto Se usó hasta 1955

43 ENIAC - Detalles Decimal (no binaria) 20 acumuladores de 10 dígitos
Programada manualmente usando switches 18,000 válvulas 30 toneladas ! 2.40 m ancho x 30 m largo ! 140 kW de consumo 5,000 adiciones por segundo 500 Flops Pentium 2.4Ghz hace 2.4 GFlops! => veces mas Rapida!

44

45 El modelo de von Neumann
Antes: programar era conectar cables… Hacer programas era mas una cuestión de ingeniería electrónica Cada vez que había que calcular algo distinto había que reconectar todo. Mauchly y Eckert (ENIAC) documentaron la idea de almacenar programas como base de la EDVAC Pero no lo publicaron…

46 John Von Neumann 1903 (Hungría) – 1957 Dr. en matemática y química
Publicó y publicitó la idea de programa almacenado en memoria Hay quienes dicen que no fue idea suya John Von Neumann fue quien hizo famosa la idea de almacenar los programas con el objetivo de saldar la necesidad de no tener que reprogramar la máquina cada vez que se debía realizar un cómputo. Lo incomprensible de esto es que el concepto de programar ya había sido automatizado con anterioridad en el siglo 19. Ahora, como se puede apreciar, este "paso atrás" implicó la modificación del paradigma sobre el que se asentaba el concepto de computadora empujándonos una distancia enorme hacia adelante. Sobre el hecho de que no fue él de creador del concepto, no seremos nosotros los que resolvamos esta discrepancia histórica, pero me resulta llamativo que te roben una idea como esa y nada ocurra; es decir, te roban esa idea y sos un gil.

47 von Neumann/Turing Los datos y programas se almacenan en una misma memoria de lectura-escritura Los contenidos de esta memoria se direccionan indicando su posición sin importar su tipo Ejecución en secuencia (salvo que se indique lo contrario) Nace, a partir de esto, lo que se llama el modelo Von Neumann / Turing cuyas principales características son:... Después volveremos sobre los conceptos detrás del modelo de cómputo de Turing.

48 Manchester Mark I (1948) También llamada Baby
Usada para demostrar el concepto de programa almacenado En 1948 se contrató a Turing para el desarrolo de un lenguaje de programación para la máquina

49 Primer programa de la HM1
000   CI = S   001   A = A - S   010   A = - S   011   If A < 0, CI = CI + 1   100   CI = CI + S   101   A = A - S   110   S = A   111   HALT Obtenía el máximo factor propio de A

50 UNIVAC (1949) Primera computadora comercial
Eckert-Mauchly Computer Corporation (Universal Automatic Computer) Incorpora el uso de cintas magnéticas Cálculos para el censo de USA Fin de los 50’ - UNIVAC II +rápida +memoria

51

52 Tarjetas perforadas

53 JOHNNIAC (1954) Clone de la IAS Máquina que funcionaba con tarjetas.

54 IBM 650 (1955) Primera computadora producida en masa
Fuera de circulación en 1969

55 IBM 704 (1955) Primera máquina comercial con hardware de punto flotante 5 KFLOPS.

56 Segunda generación 1955-1966 Se introducen los transistores.
Más baratos Mas Chicos Menos disipación de calor Silicio (arena) Distinción entre diseñadores, constructores, programadores, operadores y personal de mantenimiento. Mainframes en salas acondicionadas. Se escribían los programas en papel, luego se perforaban las tarjetas Los operadores toman las tarjetas del programa y colocan también los del compilador. Se crea el proceso por lotes que agrupa trabajos. Nace la microprogramación La segunda generación está signada por el surgimiento del transistor. El transistor no es más que in triodo pero de estado sólido. Se tiene una placa algún material que funciona como conductor y luego sólo se le activa con pequeñas cargas de corriente para permitir o bloquear el paso de la carga.

57 Transistor (1947)

58 FORTRAN (1957) Primer compilador FORTRAN para IBM 704
(Formula Translator)

59 IBM 1401(1959) 4KB de memoria expandible a 16KB.
Buena para leer tarjetas, copiar cintas e imprimir resultados, Mala para cáclulos numéricos. Se utilizaba con fines comerciales (bancos, etc.)

60 IBM 7094 (1962) Buena para hacer cómputos
Se utilizaba con fines científicos.

61 IBM 7094 (1962) IBM 1401 – IBM 7094: los programadores llevan tarjetas
La 1401 lee un lote de tarjetas y los graba en la cinta Un operador lleva la cinta a la 7094 La 7094 realiza los cómputos Un operador lleva la cinta a una 1401 La 1401 imprime las salidas

62 Trabajo en FORTRAN Fortran Monitor System
Comienzo de los Sistemas Operativos

63 DEC PDP-1 (1961) 4K de palabras de 18 bits. US$ 120,000
< 5% del precio de la IBM 7094

64 Primer video-juego. Estudiantes de MIT (1962)
Implementado en una PDP-1

65 Invención del Mouse (1964)

66 Tercera Generación 1965-1980 Se introducen los circuitos integrados
Bajan los costos Sube el desempeño Se introduce la multiprogramación tiempo compartido entre usuarios Se introducen los discos duros La tercera generación surge a partir de la aparición de los circuitos integrados. Esto quiere decir que a partir de ahora será posible empaquetar grandes cantidades de transistores en integrados con funciones de mucha mayor complejidad. Esta lógica de building blocks será la que permita grandes saltos en el diseño de los equipos. De hecho, es a partir de aquí que las computadoras dejarán de ser artefactos raros puesto que se volverán más baratas, más chicas y más poderosas.

67 Circuitos integrados Primer circuito integrado Pentium 4
Jack Kilby (1958) 1 transistor, un capacitor, y 3 resistencias 10x15 mm Pentium 4 55 millones de transistores Un pelo = 75 micrones Transistor Pentium 4 = 0.09 micrones! (90 nanometros)

68 IBM 360 (1964) Multiprogramación Terminales bobas
Software compatible con IBM 7094, 1401 entre otros. Aparece el byte = 8bits

69 DEC PDP-8 (1964) Primer minicomputador
No necesita una habitación con aire acondicionado Lo bastante pequeño para colocarlo en una mesa de laboratorio US$ 16,000

70 Fundación de Intel (1968) Andy Grove, Robert Noyce y Gordon Moore

71 Lenguaje C (1972) Laboratorio Bell desarrolla el lenguaje C #include
int main(int argc, char* argv) { printf("Hello world...\n”); return 1; }

72 Cray 1 (1976) Seymour Cray Primera supercomputadora
Procesamiento vectorial 12 unidades procesando en paralelo Aprox. 120 MFlops Intel 4 2.4Ghz = 20 veces mas rapida

73 MULTICS (1976) Impulso en el desarrollo de SO “timesharing”

74 Primer microprocesador en un chip Intel
CPU de 4 bits 2300 transistores Usado para calculadoras Dispositivos de control Intel 8080 (1974) 8 bits datos 16 bits direcciones

75 ALTAIR 8800 (1975) Primera computadora personal Tenía un Intel 8080

76 Apple I (1976) Steve Jobs & Steve Wosniak

77 Apple II (1978) Se podía aumentar la RAM Tenía 8 slots de expansión

78 Microsoft (1978) 1975 – Basic para la Altair
1981 acuerdan con IBM el desarrollo de DOS

79 Cuarta generación Desde 1980 Usan VLSI (large scale integration).
> 100,000 componentes por chip Facilita la creación de microprocesadores Intel 8080 (8 bits) IBM PC (1981) con DOS. Intel 80286, y Aparecen las terminales gráficas (GUI) Macintosh Microsoft “adopta” GUI y desarrolla Windows (sobre DOS) Aparecen la filosofía “RISC” La cuarta generación está signada por la aparición de la tecnología que permite empaquetar cantidades enormes de transistores permitiendo la confección de microprocesadores. El resultado es la masificación de la computadora debido a los costos extremadamente bajos de producción.

80 IBM PC (1981) Usa el Intel 8088 Sistema DOS (Microsoft)
1983: XT, con disco rígido

81 Commodore 64 (1982)

82 Sony introduce el CD (1984)

83 Macintosh (1984)

84 Linus Torvalds, Helsinki, Oct. 91
Linux (1991) “Estoy construyendo un sistema operativo gratuito (no es más que un hobby, no será una cosa grande y profesional como GNU) para clones AT (con un 386 o 486).” Linus Torvalds, Helsinki, Oct. 91

85 Pentium (1993) Incorpora ideas de maquinas RISC 1994: Pentium Bug
/ = (Powerpc)   X = , Y = Z = (X/Y)*Y - X (deberia dar 0) Pentium con Bug:

86 Resumen Tubos de vacío - 1946-1957 Transistores - 1958-1964
Small scale integration (SSI) – hasta 1965 Hasta 100 dispositivos en un chip Medium scale integration (MSI) - hasta 1971 100-3,000 dispositivos en un chip Large scale integration (LSI) 3, ,000 dispositivos en un chip Very large scale integration (VSLI) 100, ,000,000 dispositivos en un chip Ultra large scale integration (ULSI) – Mas de 100,000,000 dispositivos en un chip

87 Desarrollo Moore’s Law (1965) Gordon Moore, fundador de Intel
“La densidad de transistores en un circuito integrado se duplicara cada año” Versión contemporánea: “La densidad de chips de silicio se duplica cada 18 meses.” Pero esta ley no puede durar por siempre...

88

89 Desarrollo Rock’s Law Arthur Rock, ejecutivo de finanzas de Intel
“El costo de equipamiento necesario para construir semiconductores se duplicará cada cuatro años” En 1968, construir una planta para chips costaba alrededor de US$ 12,000 Mas o menos lo que salía una casa linda en la periferia de la ciudad Un muy buen sueldo anual de un ejecutivo

90 1.5 Historical Development
Rock’s Law En 2003, una fábrica de chips costaba aprox. US$ 2,500 millones. Esto es mas que el producto bruto de algunos paises chicos como Belize y la República de Sierra Leona.

91 Intel (1) 1971 4004: Primer microprocesador de Intel. Potenció las calculadoras. Características: Bus de datos de 4 bits Espacio de direccionamiento: 32768 bits de ROM 5120 bits de RAM. 16 ports de entrada (de 4 bits) 16 ports de salida (de 4 bits). Contiene alrededor de 2300 transistores

92 Intel (2) 1972 8008: 1974 8080: Características:
Bus de datos de 8 bits Frecuencia máxima de clock: 108 KHz. Espacio de direccionamiento: 16 Kbytes Contiene alrededor de 3500 transistores Intel (2) 1974 8080: Fue el cerebro de la primer computadora personal: La Altair. Es considerado el primer Microprocesador de propósito general. El Sistema Operativo CPM/80 de Digital Research fue escrito para este procesador Características: Bus de datos de 8 bits Alimentación +12V, +5V, y -5V Frecuencia máxima de clock: 2 MHz. Espacio de direccionamiento: 64 Kbytes Contiene alrededor de 6000 transistores NMOS de 6 Micrones A los 6 meses de su lanzamiento Motorola saca el 6800.

93 Intel (3) 1976 Nace Zilog. Z80: En 1974 un ex Ingeniero de Intel, Federico Faggin, funda la compañía Zilog y en 1976 presentan el procesador Z80. Es una evolución del 8080, con una sola tensión de alimentación producto de usar tecnología de integración HMOS. Amplía drásticamente el set de instrucciones del 8080 incluyendo además el manejo de bits propio del Considerado “El” procesador de 8 bits de su época, dominó el mercado de las computadoras personales durante el primer lustro de los 80. 1977 8085: Intel respondió al z80 con una evolución del 8080, el 8085, que al trabajar con HMOS también requería solo +5V. Incluía el generador de reloj y el decodificador para el bus de control, reemplazando a los dos chips de soporte que requería el 8080

94 Intel (4) 1978 8086/8088: El 8086 es el primer procesador de 16 bits. Se presentó en Junio del 78. Introduce el prefetch de instrucciones y su encolamiento en el interior del chip mientras se ejecutan las anteriores (pipeline). Administra la memoria por segmentación. Un año después el 8088 apareció con la misma arquitectura interna pero con un bus externo de 8 bits por compatibilidad con el hardware legacy. En 1981 IBM basó su primer computadora personal en el 8088. Congéneres con algunos meses de retraso en su lanzamiento Motorola (base de las Apple), y Zilog Z8000 1982 80286: Primer procesador de Intel capaz de correr código desarrollado para su predecesor. Transformó en hechos el compromiso de compatibilidad firmado por Intel al lanzar la familia iAPx86. En sus 6 años de producción se instalaron 15 millones de computadoras 286 en el mundo. Primer procesador con capacidades de multitasking y entorno de protección

95 Intel (5) 1985 80386: Primer procesador de 32 bits, fundador de la IA-32 (Intel Architecture 32 bits) que aún está vigente. Todos sus buses son de 32 bits. Frecuencia de clock 33 Mhz transistores: (100 veces la cantidad del 4004). Primer procesador capaz de ejecutar un Sistema Operativo Multitasking Moderno (UNIX). Introduce la memoria cache 1989 80486: Podríamos decir simplemente que es una super integración del con su coprocesador matemático y 8 Kbytes de memoria cache con el controlador correspondiente. Es mucho mas que eso. Fue el primer procesador en sostener un entorno computacional con capacidades gráficas presentables. Mejoró el tiempo de ejecución de gran número de instrucciones del Sus versiones DX2 y DX4 permitieron por primera vez procesar a diferentes clocks dentro y fuera del microprocesador

96 Intel (6) 1993 1995 Pentium: Pentium Pro:
Introduce la capacidad de ejecutar mas de una instrucción por ciclo de clock. 33 y 66 MHz de Clock transistores caché interno de 8 KB para datos y 8 KB para instrucciones Verificación interna de paridad para asegurar la ejecución de instrucciones libre de errores Unidad de punto flotante mejorada. Branch prediction Bus de datos externo de 64 bit Buses internos de 128 y 256 bits Capacidad para gestionar páginas de 4K y 4M en MP Introduce el APIC (Advanced Programmable Interrupt Controller) para mejorar el soporte a sistemas multiprocesador 1995 Pentium Pro: Diseñado para sostener servidores de alta performance y workstations de alta capacidad Incluye un segundo nivel de cache de 256 Kbytes dentro del chip, accesible a la velocidad interna del procesador (200 MHz) Introduce el three core engine Three way superscalar (ejecuta tres instrucciones por ciclo de clock) Ejecución fuera de orden Superior branch prediction Ejecución especulativa 5.5 millones de transistores

97 Intel (7) 1998 PentiumII XEON: 1997 Pentium II:
Intel tiene como política desarrolar productos para diferentes mercados: En línea con esto el PII XEON fue diseñado para su uso en servidores de medio y alto rango, y workstations de alta capacidad gráfica y de procesamiento, ya que incluye innovaciones tecnológicas específicamente diseñadas pensando en este tipo de equipos. Es la línea sucesoria del Pentium Pro. Este procesador combina las mejores características de las generaciones previas de procesadores de Intel. Esto incluye: Escalabilidad de 4 y 8 vías Cache de segundo nivel de hasta 2 Mbytes conectado a un bus auxiliar que trabaja a la velocidad de clock full. 1997 Pentium II: Incorpora tecnología MMX de los Pentium a la arquitectura Three Core Engine 7.5 millones de transistores Se presenta en un encapsulado tipo Cartridge denominado Single Edge Contact (S.E.C) que contiene además un chip de memoria cache de alta velocidad, que controla un cache de primer nivel de 16K para código y otros 16K para datos, y un segundo nivel de cache de 256K, 512K, o hasta 1 Mbyte. Soporta múltiples modos de power saving para operar cuando la computadora está idle:AutoHALT, Stop-Grant, Sleep, and Deep Sleep

98 Intel (8) 1999 Celeron: 1999 Pentium III: 1999 Pentium III XEON:
Se trata de un procesador orientado al mercado de PCs de bajo costo con buena performance para correr aplicaciones de oficina y domicialiarias. Esto incluye: Encapsulado Plastic Pin Grid Array (PPGA) Cache de segundo nivel de 128Kbytes conectado a un bus auxiliar que trabaja a la velocidad de clock full. 1999 Pentium III: Como eje de su mejora introduce a la IA-32 las Streaming SIMD Extensions(SSE). SSE expande el modelo Single Instruction Multiple Data (SIMD) introducido por la tecnología MMX, al procesador Pentium. SSE extiende la capacidad de los registros de 64 bits a 128 bits, y agrega la capacidad de trabajar en punto flotante para los formatos empaquetados. Incluye 70 nuevas instrucciones para utilizar estas mejoras. 9.5 millones de transistores 1999 Pentium III XEON: A las capacidades del Pentium III agrega: Capacidad full de procesamiento, on-die Advanced Transfer Cache

99 Intel (9) 2000 Pentium IV: Introduce la Arquitectura Netburst en reemplazo de Three Core Engine que se utilizaba desde el Pentium Pro. NetBurst permite que las diferentes subunidades del procesador trabajen con diferente frecuencia de clock en función de su contribución a la performance total. Los primeros modelos partieron de clocks de 1,6 Ghz (el 4004 menos de 30 años antes trabajaba a 108 Khz!!!) Mejora las prestaciones multimedia mediante SSE2 y SSE3.

100 Intel (10) 2000 Pentium XEON: 2001 Itanium: 2002 Itanium2: 2003
Es el primer miembro de Arquitectura Netburst para aplicar en servidores de clase enterprise EM Modelo MP (año 2003) soporta Hyperthreading 2001 Itanium: Es el primer miembro de la familia IA-64, es decir la Arquitectura de 64b bits de Intel, desarrollado en conjunto con Hewlett Packard. Utiliza tecnología completamente nueva: Explicitly Parallel Instruction Computing (EPIC) 2002 Itanium2: Mejora la arquitectura EPIC logrando performances que lo hacen sumamente apto para servidores de alto rango clase enterprise, para aplicaciones de data warehouse de gran volumen, y aplicaciones de ingeniería de alta complejidad. 2003 Pentium 4 M: Es el último mirembro de la IA-32 optimizado en performance y mínimo consumo. Permite controlar la operación de Notebooks con 12 o mas horas de autonomía Junto con el chipset Intel 855 y el procesador de conexión a red Intel PRO/Wireless 2100, conforman la tecnología móvil Intel Centrino

101 Algunos Links http://www.computerhistory.org/ http://www.intel.com/
Intel Museum Charles Babbage Institute


Descargar ppt "Organización del Computador I"

Presentaciones similares


Anuncios Google