Carrera de Medicina Computación I TRABAJO PRÁCTICO N° 1 Ciclo lectivo: 2019 Alumnos: Feldmann Micaela Soledad (Grupo 2) Gonzalez Santiago Nicolas (Grupo 2) Orellana Di Nubila Justina Paz (Grupo 4) Gunther Daniela Maimara (Grupo 1) Profesor: Ing. AGUIRRE, Carlos Emanuel 1) - Periodos más importantes de la historia de la computación. MÁQUINAS MECÁNICAS (antes de 1930) Siglo VXII Blaise Pascal "La Pascalina" Siglo XX Niklaus Wirth Lenguaje de programación estructurado "Pascal". Final Siglo XVII Gottfried Leibnitz Calculadora mecánica "Rueda de Leibnitz" Siglo XIX 1° máquina de programación y almacenamiento "telar de Jacquard" Joseph-Marie Jacquard. 1823 Charles Ballage Máquina Diferencial Máquina Analitica. 1890 Hernan Hollerit Máquina programadora: contar, leer, ordenar automáticamen te datos. NACIMIENTO DE LAS COMPUTADORAS ELECTRÓNICAS (1930-1950) Primeras Computadoras Electrónicas (Se programaban externamente) Computadoras basadas en el modelo Von Neumann (Se almacenaba en la memoria) 2) - Acontecimientos computadoras: importantes de cada generación de → PRIMERA GENERACIÓN (1950 A 1959) Se caracteriza por la aparición de computadoras comerciales. Durante este periodo, las computadoras eran utilizadas sólo por profesionales. Estaban encerradas en habitaciones con acceso restringido únicamente al operador o a especialistas en computación. Las computadoras eran voluminosas y usaban tubos de vacío como interruptores electrónicos. En esta época las computadoras eran asequibles sólo para las grandes organizaciones. → SEGUNDA GENERACIÓN (1959-1965) Las computadoras de dicha generación utilizaban transistores en lugar de tubos de vacío. Esto redujo su tamaño así como su costo y las puso al alcance de las empresas medianas y pequeñas. Dos lenguajes de programación de alto nivel, FORTRAN y COBOL, se inventaron y facilitaron la programación. Estos dos lenguajes separaron la tarea de la programación de la tarea de la operación de la computadora. Un ingeniero civil podía escribir un programa en FORTRAN para resolver un problema sin involucrarse en detalles electrónicos de la arquitectura de la computadora. → TERCERA GENERACIÓN (1965-1975) La invención del circuito integrado (transistores, cableado y otros componentes en un solo chip) redujeron el costo y el tamaño de las computadoras aún más. Las minicomputadoras aparecieron en el mercado. Los programas empaquetados, popularmente conocidos como paquetes de software, se volvieron disponibles. Una pequeña empresa podía comprar un paquete que necesitaba (por ejemplo, para contabilidad) en lugar de escribir su propio programa. Una nueva industria nació, la industria del software. → CUARTA GENERACIÓN (1975 -1985) Vio nacer las microcomputadoras. La primera calculadora de escritorio (Altair 8800) se volvió disponible en 1975. Los avances en la industria de la electrónica permitieron que subsistemas de computadoras completos cupieran en una sola tarjeta de circuito. Esta generación también vio la aparición de las redes de computadoras → QUINTA GENERACIÓN (empezó en 1985) Esta generación de duración indefinida comenzó en 1985. Presenció la aparición de las computadoras laptop y palmtop, mejoras en los medios de almacenamiento secundarios (CDROM, DVD, etc.), el uso de la multimedia y el fenómeno de la realidad virtual. 3) MODELO DE VON NEUMANN En la actualidad cada computadora se basa en dicho modelo. El modelo de Von Neumann examina el interior de la computadora (la caja negra) y define como se realiza el procesamiento. Se basa en tres ideas: CUATRO SUBSISTEMAS El modelo define una computadora como cuatro subsistemas: memoria, unidad lógica aritmética, unidad de control y entrada/salida. Memoria: es el área de almacenamiento, donde los programas y los datos se almacenan durante el procesamiento. Unidad lógica aritmética (ALU): es donde el calculo aritmético y las operaciones lógicas toman lugar. Si una computadora es un procesador de datos, usted debería poder realizar operaciones aritméticas con los datos (por ejemplo, sumar una lista de números). También podría realizar operaciones lógicas con ellos (por ejemplo, encontrar el menor de dos elementos de datos como en el ejemplo anterior) Unidad de control: determina las operaciones de la memoria, de la ALU y del subsistema de entrada/salida. Entrada/salida: el subsistema de entrada acepta datos de entrada y el programa desde el exterior de la computadora; el subsistema de salida envía el resultado del procesamiento al exterior. La definición del subsistema de entrada/salida es muy amplia; también incluye los dispositivos de almacenamiento secundarios como un disco o cinta que almacena datos y programas para procesamiento. Un disco se considera un dispositivo de salida cuando almacena los datos que se obtienen como resultado del procesamiento y se considera un dispositivo de entrada cuando usted lee datos del disco. CONCEPTO DE PROGRAMA ALMACENADO El modelo de Von Neumann establece que el programa debe almacenarse en la memoria. Esto es totalmente diferente de la arquitectura de las primeras computadoras en las cuales sólo se almacenaban los datos en la memoria. El programa para una tarea se implementaba mediante la manipulación de una serie de interruptores o al cambiar el sistema de cableado. La memoria de las computadoras modernas aloja tanto un programa como sus datos correspondientes. Esto implica que ambos, tanto los datos como el programa, deben tener el mismo formato porque se almacenan en la memoria. De hecho, se guardan como patrones binarios (una secuencia de ceros y unos) en la memoria. EJECUCIÓN SECUENCIAL DE INSTRUCCIONES Un programa en el modelo de Von Neumann se conforma de un número finito de instrucciones. En este modelo, la unidad de control trae una instrucción de la memoria, la interpreta y luego la ejecuta. En otras palabras, las instrucciones se ejecutan una, después de otra. Desde luego, una instrucción puede requerir que la unidad de control salte a algunas instrucciones previas o posteriores, pero esto no significa que las instrucciones no se ejecutan de manera secuencial. 4) PARTES DE UNA CPU La unidad central de procesamiento (CPU) realiza operaciones con los datos. Tiene tres partes: 1. Unidad lógica aritmética (ALU) 2. Unidad de control 3. Una serie de registros 1. La unidad lógica aritmética (ALU) realiza operaciones aritméticas y lógicas. Operación Aritmética Las operaciones unarias más simples son el incremento (sumar 1) y el decremento (restar 1). Las operaciones binarias más simples son la suma, la resta, la multiplicación y la división. La unidad de control, como se verá en breve, es responsable de la selección de una de estas operaciones. Operación Lógica La operación unaria lógica más simple es la operación NOT. Las operaciones binarias lógicas más simples son AND, OR Y XOR. La unidad de control es responsable de la selección de una de estas operaciones. 2. Unidad de control Es como la parte del cerebro humano que controla la operación de cada parte del cuerpo. El control se logra a través de líneas de control que pueden estar activas o inactivas. Por ejemplo, una ALU simple necesita realizar tal vez diez operaciones diferentes. Para especificar estas operaciones se necesitan cuatro líneas de control desde la unidad de control al ALU. Cuatro líneas de control pueden definir 16 situaciones diferentes (24), diez de las cuales pueden usarse para operaciones aritméticas y lógicas. El resto puede utilizarse para otros propósitos. Puede designar una línea de control inactiva como O y una línea de control activa como 1; los estados de las líneas de control pueden designarse como 0000, 0001, 0010... 1111. Se puede definir 0000 (todas las líneas de control inactivas) para denotar ninguna operación, 0001 para denotar incremento, 0010 para denotar decremento y así por el estilo. 3. Registros. Los registros son localidades de almacenamiento independientes que alojan los datos temporalmente. Se necesitan varios registros para facilitar la operación del CPU. Registro de datos: En el pasado, las computadoras sólo tenían un registro para alojar por turnos uno de los datos de entrada (el otro dato de entrada venia directamente de la memoria) o el resultado. Actualmente las computadoras utilizan docenas de registros dentro del CPU para acelerar las operaciones debido a que cada vez más las operaciones complejas se realizan usando hardware (en vez de usar software) y se requieren varios registros para mantener los resultados intermedios. Por simplicidad, sólo mostramos tres registros generales: dos para entrada de datos y uno para salida de datos (registros RI, R2 Y R3) en la figura. Registro de instrucción: Hoy día, las computadoras almacenan en la memoria no sólo datos sino también el programa correspondiente. El CPU es responsable de buscar las instrucciones, una por una, desde la memoria, almacenarlas en el registro de instrucciones, interpretarlas y ejecutarlas. Controlador de programa: Otro registro común en el CPU es el contador de programa. El contador de programa hace un seguimiento de la instrucción que se ejecuta actualmente. Después de la ejecución de la instrucción, el contador se incrementa para apuntar a la dirección de la siguiente instrucción en la memoria. EL DISCO MAGNÉTICO Un disco magnético es uno o más discos apilados uno encima de otro. Los discos se cubren con una película magnética delgada. La información se almacena y se recupera de la superficie del disco usando una cabeza de lectura/escritura para cada superficie magnetizada del disco. Organización de la superficie. Para organizar los datos almacenados en el disco, cada superficie se divide en pistas, las cuales a su vez se dividen en sectores. Las pistas están separadas por un espacio entre pistas y los sectores están separados por un espacio entre sectores. Acceso a datos. Un disco magnético se considera un dispositivo de acceso aleatorio. No obstante, un sector es el área de almacenamiento más pequeña a la que puede tener acceso a la vez. Un bloque de datos puede almacenarse en uno o más sectores y recuperarse sin necesidad de recuperar el resto de la información en el disco. Rendimiento. Depende de varios factores; los más importantes son la velocidad de rotación, el tiempo de búsqueda y el tiempo de transferencia. La velocidad de rotación define qué tan rápido gira el disco. El tiempo de búsqueda define el tiempo para mover la cabeza de lectura/escritura a la pista deseada donde se almacenan los datos. El tiempo de transferencia define el tiempo para mover los datos del disco al CPU o a la memoria. 5) LEY DE MOORE Ley creada por el cofundador de Intel, Gordon Earl Moore, que previó en 1965 que el número total de transistores integrados en un circuito sería doblado cada dos años. Teoría que se ha mantenido por más de 40 años y el pronóstico ha demostrado ser exacto. LENGUAJES DE PROGRAMACIÓN Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que este pueda comunicarse con los dispositivos hardware y software existentes. Lenguajes de alto nivel: se pueden portar a muchas computadoras diferentes, permitiendo al programador concentrarse en la aplicación en lugar de las complejidades de la computadora. Se diseñaron para liberar al programador de los detalles del lenguaje ensamblador. Los lenguajes de alto nivel comparten una característica con los lenguajes simbólicos: deben convertirse a lenguaje de máquina. Este proceso se llama compilación. Con los años, se desarrollaron varios lenguajes, en particular BASIC, COBOL, Pascal, Ada, C, C++ y Java. Ventajas - Resultan en un código fuente más fácil de leer, escribir y mantener por los humanos. En general, permite emplear menos líneas de código en comparación con lenguaje máquina. - Permiten escribir un código válido ejecutable en distintos tipos de máquinas y sistemas operativos. - Emplean paradigmas de programación. Lenguajes de bajo nivel: son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel por excelencia es el código máquina. 6) Tipos de memoria que existen en una computadora. RAM (Random Access Memory): nuestra computadora no podría funcionar sin su existencia. En la RAM se guarda distinto tipo de información, desde los procesos temporales como modificaciones de archivos, hasta las instrucciones que posibilitan la ejecución de las aplicaciones que tenemos instaladas en nuestra PC. Por tal motivo, es utilizada constantemente por el microprocesador, que accede a ella para buscar o guardar temporalmente información referente a los procesos que se realizan en la computadora. Dentro de las memorias RAM existen distintos tipos de tecnologías que se diferencian principalmente por su velocidad de acceso y su forma física. Entre ellas encontramos las DRAM, SDRAM, RDRAM, entre otras. ROM, Read Only Memory: como su nombre lo indica se trata de una memoria sólo de lectura, ya que la mayoría de estas memorias no pueden ser modificadas debido a que no permiten su escritura. La memoria ROM viene incorporada a la motherboard y es utilizada por la PC para dar inicio a la BIOS, lo cual es básicamente un programa que posee las instrucciones adecuadas para guiar a la . computadora durante el arranque La diferencia fundamental que existe entre la memoria RAM y la ROM radica en la velocidad, ya que la ROM al tratarse de un tipo de memorial secuencial necesita recorrer todos los datos hasta hallar la información que está buscando, mientras que la RAM trabaja de manera aleatoria, lo que hace que acceda a la información específica de manera directa. 11) a) Convertir las siguientes unidades: ● 1 Gigabyte a Kilobytes. ● 4500 KiloBytes a Megabytes. ● 25 Megabytes a Kilobytes. ● 80 Bytes a Bits. - 1 Gb a Kb: 1 Gb 1024 Mb 1 Mb 1024 Kb 1Mb 1024 Mb 1024Kb 1.048.576 Kb = 1.024Mb x 1024Kb = 1.048.576 1Mb *Rta: 1 Gb = 1.048.576 Kb. - 4500 Kb a Mb: 1 Mb 1024 Kb 4500 Kb = 4500 Kb x 1 Mb = 4.395 Mb 1024 Kb *Rta: 4500 Kb = 4395 Mb. - 25 Mb a Kb 1 Mb 25 Mb 1024 Mb x = 25 Mb x 1024 Kb = 25.600 Kb 1 Mb *Rta: 25 Mb = 25.600 Kb. - 80 bytes a bit 1 bytes 80 bytes 8 Bit x = 80 bytes x 8 bit 1 bytes *Rta: 80 bytes = 640 bit. b) Cuántos bit equivalen a 2 MB. = 640 bit 8 bit 1 Kb 1 Mb 1 byte 1024 byte 1024 Kb 2 Mb 2048 KB 2048 Kb 1 Kb 1 byte = 1024 byte 2048 Kb x 1024 byte = 1 Kb 8 bit = 2.097.152 byte x= x = 2.097.152 byte x 8 bit = 16.777.216. bit 1 byte *Rta: 2 Mb equivalen a 16.777.216 bit c) Datos Documentos de la Universidad = 1.324.235 Kb Vídeos = 1500 Mb Archivos de Música = 2,5 Gb Documentos de la universidad 1 Mb x 1024 Kb 1.324.235 Kb x = 1 Mb x 1.324.234 Kb = 1293,20 Mb 1024 Kb 1 Gb x 1024 Mb 1293,20 Mb x = 1Gb x 1293, 20 Mb = 1,3 Gb 1024 Mb 2.097.152 byte Videos 1500 Mb 1024 Mb x 1 Gb Doc. Universidad Videos Archivos Música x = 1500 Mb x 1 Gb = 1024Mb 1,5 Gb 1,3 Gb 1,5 Gb 2,5 Gb 5,3 Gb *Rta: No podemos almacenarlo en un DVD. d) Datos: Cds = 700 Mb Pendrive = 8 Gb's 1 Gb 8 Gb 1024 Mb x x = 8 Gb x 1024Mb = 8.192Mb 1 Gb 8 Gb = 8192 Mb 1 CD X 700 Mb 8192 Mb X = 8192 Mb x 1 CD = 11,7 CD's 700Mb *Rta: Un pendrive de 8 Gb's equivale a 12 Cd's. Bibliografía: Forouzan Behrouz A. "Introducción a las ciencias de la Computación".