Abstracciones y Tecnologías

Abstracciones y tecnologias

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Abstracciones y Tecnologías por Mind Map: Abstracciones y Tecnologías

1. Es relevante por:

1.1. Las computadoras y la revolución de informatica.

1.2. Actividades que AHORA son viables.

1.3. Avances tecnologicos que afectan a sociedades.

1.4. Avances de hardware que favorecen la creación de nuevas apps.

2. Clases de computadoras

2.1. Computadoras de Escritorio

2.1.1. Uso particular. Buen rendimiento a bajo costo.

2.2. Servidores

2.2.1. Ejecución de grandes programas, multiples usuarios y accesibles a través de la red. Capacidad de expansión y fiabilidad.

2.3. SuperComputadoras

2.3.1. Alto rendimiento y coste Formados por cientos o miles de procesadores y mucho almacenamiento.

2.4. Internet Datacenters

2.4.1. Alberga muchos servidores (CLUSTERS). Brinda refrigeración, potencia y ancho de red.

2.5. Computadoras Embebidas

2.5.1. Cubren necesidades especificas. Clase más numerosa. Rendimiento limitado. Enfasis en la realización de una función única lo mejor posible.

3. Objetivos

3.1. Determinar los aspectos que afectan el rendimiento.

3.1.1. El redimiento de una máquina depende:

3.1.1.1. 1. Algoritmo elegido.

3.1.1.1.1. Determinar el no. de sentencias.

3.1.1.2. 2. Software de sistema utilizado para crear y traducir el programa a lenguaje máquina (Lenguaje de programación, compilador y arquitectura).

3.1.1.2.1. Determinar el no. de instrucciones de computar para cada sentencia.

3.1.1.3. 3. Efectividad del computador a la hora de ejecutar instrucciones. (Procesador, memorias, hardware y SO)

3.1.1.3.1. Determinar cómo de rapido se ejecutan las instrucciones y operaciones de E/S.

3.2. Aspectos relacionados con la implementación de distintos tipos de software.

3.2.1. Aplicaciones complejas

3.2.1.1. Proceadores de textos

3.2.1.2. Librerias

3.3. Conocer asapectos básicos de diseño de computadoras modernas,

3.3.1. El hardware del computador solo es capaz de ejecutar instrucciones de bajo nivel extremadamente simples.

3.3.1.1. Distintas capas de software hasta llegara al hardware.

4. Más allá de un programa

4.1. Software de sistema

4.1.1. Sistema Operativo

4.1.1.1. Gestión básicas de la operaciones de E/S Asignación de almacenamiento y memoria. Reparto de recursos entre apliaciones.

4.1.2. Compiladores

4.1.2.1. Programa que traduce un programa escrito en un lenguaje de alto nivel en instrucciones que el hardware puede entender. Actualmente es un software complejo.

4.2. De alto nivel a máquina

4.2.1. Hardware solo entiende 1 y 0. Números en base 2 o binario. Conocidos como bit. Las instrucciones son colecciones de bits que el computador entiende.

4.2.2. Existen lenguajes que traducen de una notación simbólica a binario: Lenguaje Ensamblador.

4.2.3. El lenguaje bianrio que entiende la máquina se le denomina lenguaje máquina.

4.3. Beneficios de los lenguajes de alto nivel

4.3.1. Permite pensar a los programadores pensar en un lenguaje más natural.

4.3.2. Incrementar la productividad del programador.

4.3.3. Permite que los programas sean independientes del computador.

5. Bajo la cubierta

5.1. Componentes clásicos de un ordenador

5.1.1. Entrada

5.1.2. Salida

5.1.3. Ruta de datos y de control o Procesador

5.1.4. Memoria

5.2. Máquina de Von Neumman

5.3. Contenido de un computador

5.3.1. Placa base: Contiene circuitos integrados o chips. Tres partes:

5.3.1.1. La que conecta con los dispositivos de E/S.

5.3.1.2. La memoria: construidas a partir de pastillas de DRAM (Dynamic Random Access Memory)

5.3.1.2.1. Memoria caché: es un tipo de memoria más pequeña y rápida. Actua como buffer de la memoria DRAM. SRAM (Static Random Access Memory).

5.3.1.3. Procesador o CPU: parte activa de la placa base. El procesador contine:

5.3.1.3.1. La ruta de datos, encargada de realizar las operaciones aritméticas

5.3.1.3.2. La ruta de control: indica la ruta de datos, a la memoria y a los disp. E/S qué hacer de acuerdo a las instrucciones del programa,

5.4. Almacenamiento de información

5.4.1. Memoria Principal, volátil, DRAM

5.4.2. Memoria secundaria, no volátil.

5.4.2.1. Discos duros.

5.4.2.2. Discos ópticos

5.4.2.3. Memoria flash

5.5. Interfaz hardware-software

5.5.1. ISA (Instruction Set Architecture) o arquitectura, es la interfaz entre el hardware y software de más bajo nivel.

5.5.2. El SO encapsula los detalles de la: E/S, Asignacion de memoria y Otras funciones de bajo nivel.

5.5.3. El principio de abastracción es el que permite el desarrollo de sistemas complejos basándose en la ocultación de los detalles de bajo nivel.

6. Rendimiento

6.1. Definición

6.1.1. Medir respuesta o tiempo de ejecución

6.1.2. Medir el throughput (cantidad de trabajo completado por unidad de tiempo)

6.2. Relación entre rendimiento y tiempo de ejecución

6.2.1. Rendimiento de x es inversamente proporcional al tiempo de x

6.2.2. Para dos computadoras: ( Rendimiento de x / Rendimiento de y ) = ( Tiempo de y / Tiempo de x ) = n

6.2.2.1. x es n veces más rápido que y

6.3. Midiendo el rendimiento

6.3.1. Los computadores se diseñan utilizando un reloj, que marca la realización de determinados eventos en el hardware Ciclos de reloj

6.3.2. Periodo de reloj: es el tiempo que se tarda en completar un ciclo de reloj. Su unidad es el segundo s.

6.3.3. Frecuencia de reloj: es la inversa del periodo de reloj. Su unidad son los hercios Hz.

6.4. Rendimiento de la CPU

6.4.1. Relación entre los ciclos de reloj y el tiempo de ejecución.

6.4.1.1. Tiempo = No ciclos del programa x Duración de un ciclo

6.4.1.2. Tiempo = No ciclos del programa / frecuencia de reloj

6.5. Ciclos por instrucción

6.5.1. Ciclos de CPU = No. instrucciones x CPI

6.5.1.1. CPI ciclos por instrucción es el número medio de ciclos de reloj

6.5.1.2. El CPI nos permite comparar dos implementaciones distintas bajo la misma arquitectura.

7. Evolución de los dispositivos de cálculo

7.1. Válvulas

7.1.1. 1941 ENIAC

7.1.2. 1945 Jhon Von Neumman

7.2. Transistores

7.2.1. Invención en 1947

7.2.2. CDC 1604

7.3. Circuitos integrados

7.3.1. Primer circuito integrado en 1964

7.3.2. CDC 6400

7.4. Microprocesadores

7.4.1. Década de los 70

7.4.2. Intel 4004

7.4.3. Computadoras personales...

7.5. Redes de computadores y más