Evolución de las Computadoras M. en C. Erika Vilches 1˚ Generación Tubos de Vacío ENIAC (Electronic Numerical Integrator And Computer) Diseñada y contruida por John Mauchly y John Presper Eckert, Universidad de Pennsylvania Primer computador electrónico de propósito general del mundo. El proyecto fue una respuesta a necesidades militares durante la Segunda Guerra Mundial. BRL (Ballistics Research Laboratory) → Agencia responsable del desarrollo de tablas de tiro y de trayectoria para nuevas armas. Dificultad para elaborarlas con exactitud y en un tiempo razonable. Sin las tablas → nuevas armas eran inútiles. 200 personas que con calculadoras de mesa resolvían las ecuaciones necesarias. Mauchly y Eckert proponen construir un computador de propósito general usando tubos de vacío para utilizarlo en las aplicaciones de la BRL. 1943 → Propuesta aceptada por el ejército Se construye la ENIAC ENORME!!! Peso de 30 toneladas Espacio de 15,000 pies cuadrados 18,000 tubos de vacío Consumía 140 Kilowatios de potencia 5,000 sumas por segundo ENIAC era una máquina decimal y no binaria. Su memoria consistía de 20 acumuladores, cada uno capaz de contener un número decimal de 10 dígitos. Dígito → Anillo de 10 tubos de vacío En un momento dado, solo 1 de los tubos estaba en estado ON representando 1 de los 10 dígitos. Inconveniente → Tenia que ser programado manualmente mediante conmutadores y conectando y desconectando cables. ENIAC se terminó en 1946, demasiado tarde para ser utilizado durante la guerra Su primera misión → Realizar cálculos para determinar la viabilidad de la bomba de hidrógeno. Su uso en una función distinta para la que fue construido demuestra su naturaleza de propósito general. ENIAC fue desmontada en 1955 La máquina de von Neumann Cargar y modificar programas para la ENIAC → Tarea extremadamente tediosa Concepto del programa-almacenado → Representar el programa de forma adecuada para ser guardado en la memoria junto con los datos John von Neumann, 1945 → Propuesta para un nuevo computador, EDVAC (Electronic Discrete Variable Computer). 1946 → von Neumann inicia el diseño de un nuevo computador de programaalmacenado → IAS 1952 → Se completa el IAS Estructura general del computador IAS: Una memoria principal que almacena tanto datos como instrucciones Una unidad aritmético lógica (ALU) capaz de hacer operaciones con datos binarios Una unidad de control que interpreta las instrucciones en memoria y provoca su ejecución Un equipo de entrada salida (E/S) dirigido por la unidad de control Estructura del computador IAS Todos los computadores de hoy en día tienen la misma estructura general y funcionamiento. La memoria del IAS → 1,000 posiciones de almacenamiento llamadas palabras de 40 dígitos binarios (bits) cada una. Tanto los datos como las instrucciones se almacenan ahi Los números se pueden representar en forma binaria. Cada instrucción tiene también un código binario. Formatos de memoria del IAS Cada número se representa con un bit de signo y 39 bits de valor. Una palabra puede contener también dos instrucciones de 20 bits Cada instrucción consiste de: Un código de operación de 8 bits (codop) que especifica la operación a realizar Una dirección de 12 bits que indica una de las palabras de la memoria (numeradas de 0 a 999) La Unidad de Control dirige a la IAS captando instrucciones de la memoria y ejecutando una a una. Tanto la Unidad de Control como la ALU contienen posiciones de almacenamiento, llamadas registros Registro Temporal de Memoria (MBR, Memory Buffer Register) → Contiene una palabra que debe ser almacenada en la memoria, o es usado para recibir una palabra procedente de la memoria. Estructura expandida de la computadora IAS Registro de Dirección de Memoria (MAR, Memory Address Register) → Especifica la dirección en memoria de la palabra que va a ser escrita o leída en MBR. Registro de Instrucción (IR, Instruction Register) → Contiene los 8 bits del código de operación de la instrucción que se va a ejecutar. Registro Temporal de Instrucción (IBR, Instruction Buffer Register) → Empleado para almacenar temporalmente la instrucción contenida en la parte derecha de una palabra en memoria. Contador de Programa (PC, Program Counter) → Contiene la dirección de la próxima pareja de instrucciones que van a ser captadas de la memoria. Acumulador (AC) y Multiplicador cociente (MQ , Multiplier Quotient) → Se emplean para almacenar operandos y resultados de operaciones de la ALU temporalmente. Ej: multiplicar 2 números de 40 bits = un número de 80 bits. Los más significativos se almacenan en el AC y los menos significativos en el MQ. En los años 50’s → Nace la industria de computadores con dos compañías Sperry e IBM dominando el mercado. En 1947 Eckert y Mauchly forman la EckertMauchly Computer Corporation para fabricar computadores con fines comerciales. Primera máquina de éxito → UNIVAC I (Universal Automatic Computer) Utilizada por la oficina del censo para sus cálculos en 1950. La Eckert-Mauchly Computer Corporation formo luego parte de la división UNIVAC De la Sperry-Rand Corporation → Siguieron haciendo maquinas sucesoras de la primera. UNIVAC I → Primer computador comercial de éxito. Diseñada para aplicaciones tanto científicas como comerciales. Operaciones algebraicas con matrices, problemas de estadística, reparto de primas para las compañías de seguros de vida, problemas logísticos, etc... UNIVAC II → Más memoria y más aplicaciones. Sale al mercado a final de los 50’s Tendencias: Los avances en la tecnología permiten construir computadoras más potentes Los programas escritos para las viejas máquinas pueden seguirse ejecutando en las nuevas La división UNIVAC inicia la serie de computadoras 1100 Modelo UNIVAC 1103 y sus sucesores estaban diseñados principalmente para aplicaciones científicas que implicaban cálculos largos y complejos. Otras compañias se centraron en el campo de la gestión, lo que conllevaba el procesamiento de grandes cantidades de textos. Esta separación desapareció hace muchos años pero fue patente durante algunos años. IBM Construyó la Mark I y era entonces el principal fabricante de equipos de procesamiento con tarjetas perforadas. 701 → Su primer equipo con programas almacenados electrónicamente, en 1953. Diseñado para aplicaciones científicas. 702 → Presentados en 1955, tenían varias característica de hardware que los hacían adecuados para aplicaciones de gestión. Los computadores 700/7000 situaron a IBM como el fabricante de computadoras dominante. 2˚ Generación Transistores Sustitución de tubos de vacío → Transistores Transistores Más pequeños Más baratos Disipan menos calor Pueden ser usados de la misma forma que los tubos de vacío Un tubo de vacío requiere cables, placas de metal, una cápsula de cristal y vacío Transistor →Dispositivo de estado sólido, hecho con silicio Inventado en 1947 Computadoras completamente transistorizadas estuvieron disponibles a final de los 50’s IBM, NCR y RCA fueron los primeros Se introdujeron: Unidades lógicas y aritméticas y unidades de control mas complejas Uso de lenguajes de programación de alto nivel Soft ware del sistema con la computadora Aparece la empresa DEC (Digital Equipment Corporation) Fundada en 1957 Saca su primera computadora → PDP-1 Iniciaron el desarrollo de los minicomputadores IBM 7094, representativa de las computadoras de segunda generación IBM 7094, diferencias con la IAS: Uso de canales de datos Canal de datos → Módulo de E/S independiente con su propio procesador y su propio conjunto de instrucciones. El CPU no ejecuta instrucciones detalladas de E/S. Instrucciones almacenadas en la memoria principal Ejecutadas con un procesador de uso especifico para el canal de datos mismo. El CPU inicia una transferencia de E/S enviando señales de control al canal de datos El canal de datos realiza esta tarea independientemente del CPU Esto libera al CPU de una carga de procesamiento considerable El multiplexor → Punto de conexión central de los canales de datos, el CPU y la memoria Organiza los accesos a la memoria desde el CPU y los canales de datos 3˚ Generación Circuitos Integrados Componente discreto → Transistor simple y autocontenido Transistores, resistencias, capacidades, etc. Se fabricaban separadamente, encapsulados en sus propios contenedores. Soldados o cableados juntos en tarjetas de circuitos en forma de panel Instalados en computadoras, osciloscopios y otros equipos electrónicos. Cuando un dispositivo necesitaba un transistor, había que soldar el transistor Tenia la forma de un pequeño tubo de metal y contenía una pieza de silicio del tamaño de la cabeza de un alfiler. Proceso caro y engorroso. Primeras computadoras de segunda generación aprox. 10,000 transistores Creció a cientos de miles de transistores 1958 → Se inventa el circuito integrado Comienzo de la era de la microelectronica Invención del circuito integrado Significa literalmente “Pequeña electrónica” Tendencia hacia la reducción del tamaño de los circuitos electrónicos digitales. Circuito entero → en un pequeño trozo de silicio En vez de ensamblar componentes discretos hechos a partir de trozos de silicio separados en el mismo circuito. Cientos e incluso miles de transistores al mismo tiempo en una sola oblea de silicio Pueden ser conectados con un proceso de metalización para formar circuitos Relación entre oblea, chip y compuerta Se divide una fina oblea de silicio en una matriz de pequeñas áreas, cada una de unos pocos milímetros cuadrados Se fabrica el mismo patrón de circuito para cada área, y la oblea se divide en chips Cada chip consiste en muchas puertas más una serie de puntos para conexiones de entrada y salida Chip → Encapsulado en una carcasa que lo protege y proporciona patas para conectar dispositivos fuera del chip Varios de estos elementos → tarjeta de circuito impreso → Circuitos mas complejos Inicialmente solo podían fabricarse y encapsularse juntas unas pocas compuertas o celdas de memoria. Primeros circuitos integrados → de pequeña escala de integración (SSI, Small-Scale Integration) Tiempo pasó → encapsular más y más componentes en un mismo chip Crecimiento en el número de transistores en el CPU Ley de Moore Ley de Moore Propuesta por Gordon Moore, cofundador de Intel en 1965 Obser vo que el numero de transistores que se podrían integrar en un solo chip se duplicaba cada año y se predecía correctamente que esto continuaría en un futuro cercano. El ritmo disminuyó duplicándose cada 18 meses en los 70’s Ha mantenido esta velocidad desde entonces Consecuencias de la Ley de Moore: El precio de un chip ha permanecido prácticamente invariable a través de este periodo de rápido crecimiento en densidad El costo de la lógica de la computadora y de la circuitería de memoria ha caido a una velocidad drástica Los elementos de la lógica y la memoria están más próximos en chips más densamente encapsulados → Longitud de las interconexiones eléctricas ha disminuido → Incrementa la velocidad operativa La computadora es mas pequeña → más adecuada para mas entornos Reducción de las necesidades de potencia y refrigeración Las interconexiones de los circuitos integrados son mucho mas fiables que las conexiones soldadas → Con mas circuitos en cada chip hay menos conexiones entre chips 1974 → IBM tenía un firme dominio del mercado con sus máquinas de la serie 7000 Anuncia el Sistema/360, una nueva familia de productos de computadoras Era INCOMPATIBLE con las máquinas IBM anteriores Transición difícil para los clientes existentes Paso difícil pero necesario Romper con las limitaciones de la serie 7000 Producir un sistema capaz de evolucionar con la nueva tecnología de circuitos integrados Estrategia exitosa tanto técnica como financieramente El 360 fue el éxito de la decada Consolido a IBM como el dominante absoluto en las ventas de computadoras Cuota de mercado por encima del 70% Con algunas modificaciones y ampliaciones, la arquitectura del 360 permanece hasta hoy en día en los grandes computadores → Mainframes de IBM Familia Sistema/360 Primera familia de computadores que se planeo Amplio rango de prestaciones y precios Los distintos modelos eran compatibles entre si Un programa escrito para un modelo se podia ejecutar en otro modelo de la serie → Diferente tiempo de ejecución Características de una familia Conjunto de instrucciones similar o idéntico Sistemas operativos similares o idénticos Velocidad creciente Número creciente de puertos de E/S Tamaño de memoria creciente Costo creciente Características clave de la familia Sistema/360 DEC PDP-8 En el mismo año que IBM lanzo su primer Sistema/360 La mayoría de las computadoras requerían una habitación con aire acondicionado Lo bastante pequeño para ser colocado en lo alto de una mesa de laboratorio No podía hacer todo lo que hacían las grandes computadoras 16,000 dólares → Suficientemente barato para que cada laboratorio tuviera uno Las computadoras de la serie Sistema/360 costaban cientos de miles de dólares El PDP-8 estableció el concepto de minicomputador, abriendo el camino a una industria de miles de millones de dólares DEC → Vendedor de minicomputadores #1 Segundo fabricante de computadoras detrás de IBM Los últimos modelos del PDP-8 → La estructura de bus Bus PDP-8 → Omnibus 96 hilos conductores separados Control, direccionamiento y datos Todos los componentes del sistema comparten un conjunto de caminos → Uso controlado por el CPU DEC PDP-8 Últimas Generaciones Mas allá de la 3˚ Generación hay menos acuerdo general en la definición de las generaciones de computadoras. Se sugieren la 4˚ y 5˚ Generación basadas en los avances de la tecnología de los circuitos integrados. Integración a gran escala (LSI, Large Scale Integration) → Más de 1,000 componentes en un simple chip de circuito integrado Integración a muy grande escala (VLSI, Very-Large Scale Integration) → Más de 10,000 componentes por chip Chips VLSI actuales → Más de 100,000 componentes 4˚ Generacion El microprocesador 1971 Gilbert Hyatt patentó el microprocesador Ted Hoff en Intel introduce el 4-bit 4004, un VLSI de 2300 componentes para crear un circuito para una calculadora. IBM introduce el floppy de 8 pulgadas Intel anunció la primer microcomputadora, la MCS-4. 1972 - Intel produce los microprocesadores de 8 bits, el 8008 y el 8080. Gary Kildall escribe su programa para controlar el microprocesador CP/M. Sistema operativo para manejar los discos flexibles para el micro de Intel. Intel lo rechazó y entonces lo vendió por su cuenta y pronto el CP/M se convirtió en el SO estándar para las microcomputadoras de 8 bits. Bushnell creó el ATARI y el exitoso juego del “pong”. 1973 - Robert Metcalfe en Xerox PARC creo Ethernet como la base para las redes de área local LAN, posteriormente fundó 3COM. 1974 - Xerox desarrolló la estación de trabajo Alto. ALTO 1976 – Steve Jobs y Steve Wozniak desarrollan la computadora personal Apple. Alan Shugart introduce el floppy de 5¼ 1980 - IBM firma un contrato con Microsoft Co. para que las nuevas computadoras tengan su sistema operativo. 1984 - Apple Computer introduce la Macintosh. 5˚ Generación 1991 - World-Wide Web (WWW) fue desarrollado por Tim Berners-Lee y liberado por CERN. 1993 – El primer navegador Web llamado Mosaic fue creado por el estudiante Marc Andreesen y el programador Eric Bina. 1994 - Netscape Navigator 1.0 fue liberado en diciembre. 1996 - Microsoft no reconoció la importancia del Web, pero finalmente liberó su navegador Explorer 3.0 en el verano. Componentes Principales de una Computadora Computadora La computadora es un dispositivo electrónico con las características: Construida por diferentes dispositivos electrónicos. Contiene dispositivos de almacenamiento para datos y programas. Provista de unidades de entrada y salida. Tiene un sistema de buses para comunicar las diversas unidades. Funciones Procesar Datos Interpretar y ejecutar comandos de entrada y salida Realizar cálculos y operaciones lógicas Almacenar Información Datos Programas Transferir datos Control de dispositivos Componentes Principales Unidad Central de Procesamiento (procesador) Controla el funcionamiento de la computadora y lleva a cabo sus funciones de procesamiento de datos. Memoria Principal Almacena Datos Unidades de Entrada y Salida Transfiere datos entre la computadora y el entorno externo Medios de interconexión Mecanismo que proporciona la comunicación entre los 3 componentes. Unidad Central de Procesamiento El CPU consiste de uno o más chips dispuestos dentro de la “tarjeta madre” de la computadora (motherboard) El CPU controla todos los dispositivos y lleva a cabo el procesamiento de los datos, de ahí que sea el componente más interesante y a la vez más complejo. Componentes Principales Unidad Central de Procesamiento Unidad de Control Unidad Aritmético Lógica Registros Interconexiones Unidad Central de Procesamiento! Unidad ! Aritmética Lógica! do ra! m Co ta u p Interconexión ! Interna! Memoria! Bus del sistema E/S! CPU! Unidad ! de Control! Registros! Unidad de Control (UC) Controla la operación del CPU y por lo tanto a la computadora Unidad Aritmética Lógica (ALU) Ejecuta las funciones de procesamiento de datos Registros Proveen almacenamiento interno al CPU Interconexiones del CPU Mecanismos que facilitan la comunicación entre los componentes. Organización de los Equipos Actuales Fundamentos de Sistemas Operativos Sistema Operativo Programa que administra los recursos de la computadora, proporciona servicios a los usuarios y planifica la ejecución de los programas. Objetivos: Comodidad: Un SO hace que la computadora sea más fácil y cómoda de usar. Eficiencia: Un SO permite que los recursos de la computadora se utilicen de forma eficiente. Sistema Operativo como interfaz entre el usuario y la computadora (Ser vicios) Creación de programas: Proporciona una variedad de servicios (utilerías) y medios para ayudar al usuario (programador) en la elaboración de programas. Ejecución de programas: Para ejecutar un programa es necesario realizar una serie de tareas, tales como: Cargar las instrucciones y los datos en memoria principal. Preparar los dispositivos de e/s y otros recursos. Operaciones de entrada y salida (e/s): Las funciones de e/s se realizan a nivel de hardware por lo que resultan complicadas y difíciles de usar. El SO provee dichas funciones de manera amigable, sólo debe pensar en términos de lecturas y escrituras. Manejo del sistema de archivos: El sistema operativo permite al usuario acceder y manipular la información almacenada utilizando nombres simbólicos, en lugar de la localización física en el medio de almacenamiento. Acceso al sistema: En el caso de un sistema compartido o público, el SO controla el acceso como un todo y a los recursos específicos. Detección de errores y respuesta. El SO debe responder de forma que se supere la condición de error con el menor impacto en la aplicación. Abortar, reintentar, o simplemente notificar el error. Contabilidad: Almacena estadísticas de uso de los recursos. SO como Administrador de Recursos El Sistema Operativo se encarga de controlar los recursos de la computadora que le permiten mover, almacenar y procesar información, así como controlar estas funciones. En otras palabras, el SO es un mecanismo de control de las funciones básicas de la computadora. Visto como controlador de recursos, el SO provee las siguientes funciones: Manejo de Memoria. Protección. Asignación de recursos y planeación. Contabilidad. Procesamiento de Información Los sistemas operativos se pueden clasificar dependiendo de: Tipo de Acceso Interactivo Por lotes Tipo de programación Monoprogramación Multiprogramación ó multitarea Tiempo compartido Tipo de Acceso Interactivo El usuario interactúa con el hardware Si existía un error la computadora se detenía y se indicaba la condición de error (tarjetas perforadas). Por lotes El programa se introduce en una cola de lotes. El lote es un conjunto de programas similares. Cuando el programa termina, la salida es dada al usuario. Tipo de Programación Monoprogramación Trabaja en un solo programa. La memoria se divide en dos partes: Sistema Operativo Programa Multiprogramación ó multitarea Varios programas La memoria correspondiente al programa se divide en varias partes para almacenar los distintos programas. Tiempo Compartido Tiempo compartido Se ejecutan varios trabajos pero no en procesamiento por lote, sino de forma interactiva.