Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
HISTORIA DE LA COMPUTADORA: PRIMERAS COMPUTADORAS: -Abacos. -Calculadoras mecanicas. -Sistemas basados en reles: interruptor que abre o cierra circuitos electronicos independientes. LINEA DE TIEMPO: PRIMERA GENERACION 1822: 1ra computadora macanica. Calculo de polinomios de segundo grado. Fracaso. 1834: MAQUINA ANALITICA. Lady Lovelace y Charles Babbage. 1ra computadora digital. Funciones algebraicas y almacenamiento de numeros. Tarjetas perforadas. 1847: Version mas pequena de la primera computadora. No se construyo. 1918: ENIGMA. Cifrar transacciones bancarias. 1930-1942: Primera computadora digital binaria. Sistemas de ecuaciones lineales. ABC: Atanasoff Berry Computer. 1943: COLOSSUS. Descifrar mensajes alemanes. 1939-1944: HARVARD MARK 1. Electromecanico. IBM y Harvard. Basado en la maquina analitica de Babbage. Sistema decimal. Tubos al vacio. Lenguaje maquina. Tarjetas perforadas. 1946: ENIAC. Mauchly y Eckert. Se programaba cableando. Decimal. Participo Von Neumann que instalo el concepto de "programa almacenado". 1948: MANCHESTER MARK 1. Programa almacenado: datos quedan en memoria. Nuevo lenguaje de programacion (Alan Turing). Ordenador: maquina que cumpla ser de proposito general. 1949: UNIVAC: Primera computadora comercial. Cintas magneticas. Censo USA. UNIVAC II: mas rapida y mas memoria. JOHNNIAC: Tarjetas perforadas. 1955: IBM 650. Producida en masa. Funciono hasta 1969. IBM 704. Hardware de punto flotante. SEGUNDA GENERACION (1955-1966) 1947: TRANSISTORES: mas baratos, mas chicos y menos disipacion del calor (silicio). Mainframes: se escribian los programas en papel y luego se perforaban las tarjetas. Procesos por lotes. Microprogramacion. 1957: FORTRAN. Lenguaje de alto nivel mas antiguo. 1959: IBM 1401. Leer, copiar e imprimir. No calculos numericos. 1962: IBM 7094. Buena para computos, fines cientificos. TERCERA GENERACION (1965-1980) 1958: CIRCUITOS INTEGRADOS. Bajo costo, mayor desempeno. 1964: MULTIPROGRAMACION. Corre mas de un programa de manera simultanea. Microcomputador. Mesa de laboratorio 1968: INTEL. 1972: LENGUAJE C. 1975: ALTAIR 8800. Primera computadora personal. 1976: CRAY 1/APPLE I. Primer supercomputadora. Procesamiento vectorial. 1978: APPLE II: Se podia aumentar la RAM. Creacion de MICROSOFT. CUARTA GENERACION (1980- ) 1981: IBM PC (Personal Computer). 1982: COMMODORE 64. 1983: IBM XT, con disco rigido. 1984: Sony y el primer CD. Macintosh. -NACE LINUX- 1993: PENTIUM. SPD: CONCEPTOS BASICOS. INFORMATICA: Ciencia que estudia el procesamiento de la informacion. Nace con el desarrollo de las computadoras. COMPUTADORA: Maquina que procesa informacion siguiendo las instrucciones de un programa. Medios de entrada y salida. Informacion expresada en forma digital binaria. Clasificacion: 1. Por proposito: -General: realiza diferentes actividades. -Especifico: cumple con una funcion determinada. 2. Por capacidad de proceso: -MICROCOMPUTADORAS: PC para una sola persona. -MINICOMPUTADORAS: medio para 30 o 40 usuarios. -MACRO O MAINFRAMES: sistemas bancarios. -SUPERCOMPUTADORAS: admin de reactores nucleares. COMPONENTES DE UNA COMPU: Ambas partes estan intimamente relacionadas de forma que una no puede operar sin la otra. 1. HARDWARE: parte fisica. 2. SOFTWARE: parte inmaterial. CLASIFICACION DEL SOFTWARE: ORGANIZACION POR NIVELES: USUARIO SOFT DE APLICACIONES Y DEL SIST SISTEMAS OPERATIVOS HARDWARE SISTEMAS OPERATIVOS: Primer programa que entra en funcionamiento. Gestiona y coordina: fisico y logico. LENGUAJE DE PROGRAMACION: Mediante estos se le indica a la computadora que tarea debe realizar y como. SOFTWARE DE USO GENERAL: Estructura para un gran numero de aplicaciones. Se venden como paquetes y documentacion orientada al usuario. SOFTWARE DE APLICACIONES: Realizar tareas especificas. Procesan datos y general informacion para el usuario. HARDWARE: DEFINICION: Conjunto de dispositivos fisicos que lo componen. UPC, MEMORIA y PERIFERICOS. COMPONENTES DE LA COMPUTADORA: Cuatro componentes. -Dispositivos de entrada. -Dispositivos de salida. -Unidad central de proceso (UPC). -Memoria. MEMORIA PRINCIPAL: -Donde se guarda la informacion. -Guarda el programa que esta siendo ejecutado juntos con los datos de entrada y salida de la ejecucion. -La unidad minima es un byte. -Dividida en celdas de un bit. -FUNCIONAMIENTO: Asignando una direccion numerica binaria a cada palabra (cadena de bits). Se realizan dos operaciones: lectura y escritura. RD (Registro de Direccion) y RIM (Registro de Intercambio de Memoria). Conectada a la UPC y a los perifericos mediante buses de direcciones, de datos y de control. -PROCESO DE LECTURA Y ESCRITURA: Por el bus de direcciones llega un numero de direccion que se almacena en el RD. Por el bus de control llega una senal que indica si la operacion es leer o escribir. Escritura: Por el bus de datos llega la palabra que se quiere escribir, almacenada en el RIM y se escribe donde indica RD. Lectura: Se lee la informacion que se encuentra almacenada en el RD y se escribe en el RIM. -Intercambia informacion con el procesador. -Velocidad: A mayor capacidad se reduce la velocidad. -TIPOS DE MEMORIA: -ROM (Read Only Memory): Se almacenan rutina de arranque y de forma permanente. No volatil. -RAM (Random Access Memory): De lectura y escritura. Necesita alimentacion electrica. Volatil. -OPTIMIZACION DE MEMORIA: Necesidad de memorias mas rapidas y con mas capacidad. Memoria cache: mayor costo, mayor velocidad, menor capacidad. Memoria virtual: usa mas memoria de la que dispone, ayudada por el disco. UNIDAD CENTRAL DE PROCESAMIENTO (UCP): -Donde se procesa la informacion recibida. Procesador. -Formada por UC y UAL. -Microchip que consta de circuitos electronicos que permiten realizar operaciones elementales con la informacion. -Clasifica las instrucciones que recibe. Controla su ejecucion. -Lee zonas de memoria que almacena los argumentos de las instrucciones. -Funcionamiento regido por pulsos de reloj. -OPERACIONES BASICAS UC: -Leer el contador de programa. -Almacenar el contenido de la direccion de memoria. -Averiguar si la instruccion necesita argumentos. -Leer los argumentos y almacenarlos en los registros. -Ordena a la ALU que ejecute el computo. -Almacena el result de la ejecucion. -Actualiza el CP con la sig instruccion. -OPERACIONES BASICAS ALU: -Recibe instrucciones con sus argumentos y las ejecuta mediante operadores fisicos. -Consta de una serie de registros. -Operaciones realizadas sobre binarios: Logicas y Aritmeticas. -OPERACIONES BASICAS BUS: -Medio por el cual los componentes principales de la computadora se comunican. Comunicacion en serie: Mouse. Comunicacion en paralelo: Impresora. -BUS DE DIRECCIONES: canal de comunicaciones. -BUS DE DATOS: se transmite la instruccion o dato. -BUS DE CONTROL: controla el uso y acceso a las lineas de datos y de direcciones. EXPRESIONES NUMERICAS: DEFINICION: Conjunto de simbolos y reglas que se utilizan para representar datos numericos o cantidades. Se caracterizan por su base. -DECIMAL: base 10. Formado por (0,1,2,3,4,5,6,7,8,9). -BINARIO: base 2. Utiliza los simbolos (1,0). Cada digito de un numero de este sistema se denomina bit. -OCTAL: base 8. Formado por (0,1,2,3,4,5,6,7). -HEXADECIMAL: base 16. (0,1,2,3,4,5,6,7,9,A,B,C,D,E,F) CONVERSION ENTRE LOS SISTEMAS: DECIMAL A BINARIO: Dividir el numero decimal hasta que una de las divisiones se haga 0 o no se pueda seguir dividiendo. BINARIO A DECIMAL: Se repite el siguiente proceso para cada uno de los digitos. DECIMAL A OCTAL: Dividir el numero decimal hasta que una de lasdivisiones se haga 0 o no se pueda seguir dividiendo. OCTAL A DECIMAL: Se repite el siguiente proceso para cada uno de los digitos. 4701(10) es igual a: DECIMAL A HEXADECIMAL: Se divide el numero decimal y los cocientes sucesivos por 16 hasta obtener un cociente igual a cero. HEXADECIMAL A DECIMAL: HEXADECIMAL A BINARIO: Se sustituye cada digito hexadecimal por su representacion binaria segun la siguiente tabla. OCTAL A BINARIO: Se sustituye cada digito octal por sus correspondientes tres digitos binarios segun la siguiente tabla. DECIMAL A BINARIO (FRACCIONES): Multiplicacion sucesiva por 2. BINARIO A DECIMAL (FRACCIONES): DECIMAL A OCTAL (FRACCIONES): Multiplicacion sucesiva por 8. OCTAL A DECIMAL (FRACCIONES): DECIMAL A HEXADECIMAL (FRACCIONES): Multiplicacion sucesiva por 16. HEXADECIMAL A DECIMAL (FRACCIONES): OCTAL O HEXADECIMAL A BINARIO (FRACCIONES): Se sustituye cada digito por su equivalente en la tabla. CALCULO DE CANT. DE DIGITOS: METODOS DE CALCULO DE DIGITOS: -USO DE POTENCIAS: -USO DE LOGARITMOS: OPERACIONES ARITMETICAS: SUMA: el resultado se forma sumando los digitos de cada columna de los consumados mas el acarreo que viene de la columna anterior. Cada uniddad de acarreo tiene el mismo valor de la base del sistema. -SUMA BINARIA: -SUMA OCTAL: 1 1 1 4 0 7 4 0 6 4 7 2 5 6 7 5 3 0 0 6 6 6 3 6 1 4 7 -SUMA HEXADECIMAL: 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 0 MULTIPLICACION: Se realiza del mismo modo que en el sistema numerico decimal. -BINARIA: acarreo < 61-3=9 ÷ L 5 -OCTAL: Multiplico, paso de decimal a octal y acarreo. -HEXADECIMAL: REPRESENTACION DE NUMEROS BINARIOS CON SIGNO: SIGNO-MAGNITUD: -Representa tanto numeros positivos como negativos. -El MSB se utiliza para indicar el signo y los bits restantes representan la magnitud del numero. -Posee dos representaciones del cero: el 0 y el -0. COMPLEMENTOS BINARIOS: Valor que cuando se agrega al numero original da como resultado cero. COMPLEMENTO A UNO: Se obtiene invirtiendo el estado de los bits que conforman la cifra en todas sus posiciones. Cuenta con dos representaciones del cero. COMPLEMENTO A DOS: Obtener el complemento a uno de la cifra y luego sumarle uno. CONVERSION DE SIGNO-MAGNITUD A DECIMAL: Tomo el MSB y si este es 0 el numero es positivo y si es 1 es negativo. Tomar el resto de los bits y convertirlo a Binario sin Signo. CONVERSION DE COMPLEMENTO A DOS A DECIMAL: El MSB nos va a indicar el signo. Si es 0(positivo) se procede como Signo-Magnitud, si es 1(negativo) se puede obtener de dos formas. 1. Obtener el complemento del complemento, luego convertimos a decimal y le agregamos el signo negativo. 5 -7×6=42 1 107 42(io) = 52(8) 7✗7 = 49 1 10) 49 (lo)= 61 (8) t 5= 66 2. Representar el valor del MSB agregando el signo negativo para luego sumar el resto de los valores como se realiza con binario sin signo. MINIMOS Y MAXIMOS: SUMA BINARIA COMPLEMENTO A 2: 1. DOS NUMEROS POSITIVOS: Debe dar un numero positivo. Si el numero alcanzado estuviera fuera del rango permitido se producira un OVERFLOW que derivara en un resultado erroneo por sobrecarga de datos. 2/3. UN NUMERO POSITIVO Y UN NUMERO NEGATIVO: El resultado debe poseer el signo del que tenga mayor valor absoluto. 4. SUMA DE DOS NUMEROS NEGATIVOS: El resultado debe ser siempre un numero negativo por lo que el MSB debe ser siempre 1. ARITHMETIC OVERFLOW: El acarreo cambia el resultado o incluso el signo de la operacion por estar trabajando en la cantidad incorrecta de bits. JERARQUIA DE MEMORIAS: INTRODUCCION: Los programas comparten en la memoria su codigo y sus datos. -Estrategia de optimizacion de rendimiento: posibilitar a la CPU el acceso ilimitado y rapido tanto al codigo como a los datos. INCONVENIENTE: cuanto mas capacidad tienen las memorias, mas lentas y costosas resultan. LEY DE LOCALIDAD: Los programas acceden a una porcion del espacio de direcciones. -Localidad temporal: si se referencia un elemento tendra a ser referenciado pronto. -Localidad espacial: los elementos cercanos a el tendran que ser referenciados pronto. JERARQUIAS DE MEMORIA: Organizada por niveles (cada uno mas pequeno, mas caro y mas rapido que el anterior). Todos los datos de un nivel se encuentran tambien en el nivel siguiente. EJEMPLO: CPU CACHE RAM DISCO RED TERMINOLOGIA BASICA: -El nivel superior (mas cercano al procesador) es mas rapido y pequeno que el nivel inferior. -Minima unidad de informacion en una jerarquia de dos niveles. -BLOQUE. -ACIERTO (HIT): un acceso a un bloque de memoria que se encuentra en el nivel superior. -FALLO (MISS): el bloque no se encuentra en ese nivel. -FRECUENCIA DE ACIERTOS: fraccion de accesos a la memoria encontrados en el nivel superior. -FRECUENCIA DE FALLOS (1-frecuencia de aciertos): fraccion de accesos a memoria no encontrados en el nivel superior. -TIEMPO DE ACIERTO: tiempo necesario para acceder a un dato presente en el nivel superior de la jerarquia. -PENALIZACION DE FALLO: tiempo necesario para sustituir un bloque de nivel superior por el correspondiente bloque del nivel mas bajo. -Tiempo de acceso: necesario para acceder a la primera palabra de un bloque en un fallo. -Tiempo de transferencia: para transferir las restantes palabras del bloque. (Ancho de banda). CARACTERISTICAS DE LAS JERARQUIAS DE MEMORIA: -UBICACION DEL BLOQUE: donde puede ubicarse un bloque en el nivel superior. -IDENTIFICACION DEL BLOQUE: como se encuentra un bloque en el nivel superior. -SUSTITUCION DE BLOQUE: que bloque debe reemplazarse en caso de fallo. -ESTRATEGIA DE ESCRITURA: que ocurre en una escritura. PRIMER NIVEL: MEMORIA CACHE. -Memorias muy rapidas. -Poca capacidad. -Se interponen entre el procesador y la memoria principal. UBICACION DE UN BLOQUE EN LA CACHE: -Correspondencia directa: debe ir solamente a un lugar. -Asociativa: en cualquier lugar. -Asociativa por conjuntos: un conjunto es un grupo de dos o mas bloques de cache. IDENTIFICACION DE UN BLOQUE DE CACHE: Cada bloque contiene una etiqueta que identifica la direccion en la estructura de bloque. BUSQUEDA DE BLOQUE: -CACHE ASOCIATIVA: puede estar en cualquier lado, hay que buscarlo en todas las etiquetas. -CACHE DE CORRESPONDENCIA DIRECTA: solo se debe buscar una etiqueta. -CACHE ASOCIATIVA POR CONJUNTOS: se debe buscar en todas las etiquetas del conjunto. SUSTITUCION DE BLOQUES: Ante un fallo de cache es necesario traer un bloque nuevo y ubicarlo en algun lugar del nivel superior. -Si existe algun bloque con datos no validos, el reemplazo se hace en ese lugar. -Si es de mapeo directo no hay problema ya que el nuevo bloque puede ir en un solo lugar. -En caso de caches asociativas el bloque puede ubicarse en diferentes lugares: -ALEATORIO: mediante algun mecanismo de hardware se seleccionan uniformemente los bloques candidatos. -PSEUDO ALEATORIO: para obtener una distribucion con un comportamiento reproducible util durante la depuracion del hardware. -LEAST RECENTLY USED (LRU): Disminuye la posibilidad de desechar informacion que se necesitara pronto. El bloque sustituido es aquel que hace mas tiempo que no se usa ESTRATEGIAS DE ESCRITURA: -DIRECTA: se escribe en el bloque cache y en el de memoria del nivel inferior. -POSTESCRITURA: se escribe solo en el bloque cache. El bloque modificado se escribe en la memoria principal solo cuando es reemplazado. VENTAJAS DE CADA POLITICA: -PE: Las escrituras se realizan a velocidad de la cache. Multiples escrituras de un bloque requieren una unica escritura en la memoria de nivel inferior. -ED: Los fallos de lectura no ocasionanescrituras en el nivel inferior. Mas facil de implementar. Mantiene coherente la memoria cache y la memoria inferior. TIPOS DE FALLOS DE CACHE: -FORZOSOS: Fallos de arranque. El acceso al bloque no esta en el cache y debe ser traido. -DE CAPACIDAD: No puede contener todos los bloques necesarios durante la ejecucion del programa. -DE CONFLICTO: Se puede descartar un bloque y posteriormente recuperarlo si a un conjunto le corresponden demasiados bloques. SEGUNDO NIVEL DE JERARQUIA: MEMORIA PRINCIPAL (RAM/DISCO). -Nivel de memoria virtual. -Rendimiento: latencia, ancho de banda. -Mas lento que el superior. MEMORIA RAM: Random Access Memory. -Volatiles. -Lectura/escritura. Permite seleccionar cualquier direccion de memoria de forma directa. -SRAM (STATIC RAM): Mas cara, menor capacidad, mayor velocidad. -DRAM (DINAMIC RAM): Capacitor como elemento de memoria, direccionamiento doble, mas barata, mayoor capacidad, mas lenta, memorias en masa. TERCER NIVEL DE JERARQUIA: MEMORIA VIRTUAL. -Esquema similar al del nivel cache. -Estrategia de manejo orientada al SO mas que al rendimiento del HW. -Terminologia: Segmento o pagina se refieren a un bloque. Fallo de segmento o pagina se refieren a un fallo. -El reemplazo de los fallos lo maneja el SO. -El tamano de la direccion del procesador determina el tamano de la memoria virtual. -El nivel mas bajo de memoria virtual (discos) se comparte con el sistema de archivos del sistema operativo. UBICACION DE BLOQUES EN MEMORIA PRINCIPAL: -Disminuir la frecuencia de fallos debido al costo que esto tiene. IDENTIFICACION DE UN BLOQUE: La memoria virtual implementa una estructura de datos indexada por el numero de pagina o segmento. ESTRATEGIAS DE REEMPLAZO: -Meta principal: minimizar los fallos de pagina por su coste elevado en tiempo. -Algoritmo de sustitucion: LRU. ESTRATEGIA DE ESCRITURA: Una escritura al nivel mas bajo de memoria virtual es costosa en tiempo. El SO trata de evitar accesos al disco. Utiliza la estrategia de POSTESCRITURA. Inconveniente: Falta de coherencia entre RAM y discos. Martina ;
Compartir