Presentación del cursoUniversidad de AntioquiaInformática I Sesión 03: Capas de Abstracción Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Presentación del cursoUniversidad de AntioquiaInformática I
Presentación del cursoUniversidad de AntioquiaInformática I Es el área de la ciencia y la tecnología que estudia el manejo de la información usando computadores. ¿Cómo procesar datos existentes para extraer nueva información útil para algún propósito? ¿Y cómo hacerlo de manera eficiente? PROGRAMAR ENTENDER LO QUE HAY DETRÁS Informática
Presentación del cursoUniversidad de AntioquiaInformática I Es el proceso mediante el cual transmitimos a un computador las operaciones que queremos que haga. ¡Los computadores no entienden español (ni tampoco inglés)! Debemos traducir del español al lenguaje del computador, que se basa en la electricidad. Programación
Presentación del cursoUniversidad de AntioquiaInformática I Teclado Mouse Pantalla Wi-Fi Audio Core i5, i7 Cortex M15 Registros Cache RAM DD Flash SOFTWARE HARDWARE se guarda se ejecuta se comunica CPU MemoriaI/O Componentes de un computador
Presentación del cursoUniversidad de AntioquiaInformática I Cualquier computador es capaz de hacer exactamente lo mismo, pero diferente. (?) Para hacerle entender a un computador lo que debe hacer, existe una serie de transformaciones que cruzan múltiples capas de abstracción. ¿Porqué es importante la abstracción? Capas de abstracción
Presentación del cursoUniversidad de AntioquiaInformática I Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Capas de abstracción
Presentación del cursoUniversidad de AntioquiaInformática I Ideas, dificultades, oportunidades. Planteamos problemas en “lenguaje natural”, por ejemplo, español. –… lenguajes AMBIGUOS! –“Ahorita voy a hacer una vuelta” –“Los estudiantes que sacaron notas bajas deben repetir la materia” Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Problema
Presentación del cursoUniversidad de AntioquiaInformática I Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Procedimiento paso a paso (para resolver un problema) que debe ser… –Finito: el procedimiento debe terminar. Calcular todos los dígitos decimales del número π » infinito –Preciso: pasos definidos de manera precisa. Receta de cocina: “… no deje que se vuelva grumoso” » Algoritmo: “… no permita que la variabilidad de la densidad de masa supere el 5%” –Computable: pasos que pueden ser calculados por un computador. Encuentre el número primo más grande » no existe Algoritmo
Presentación del cursoUniversidad de AntioquiaInformática I Algortimo AAlgortimo BAlgortimo C Problema Requiere el menor número de pasos. Posibilita la concurrencia. Requiere la mínima cantidad de memoria. Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Algoritmo
Presentación del cursoUniversidad de AntioquiaInformática I Se deshace de las ambigüedades Implementamos programas usando lenguajes de programación Lenguajes para diferentes propósitos: –Fortran: cálculos científicos –Java: internet, móviles –C: control de bajo nivel, velocidad –Python: programación multiparadigma Lenguajes de alto nivel:independientes del procesador Lenguajes de bajo nivel: assembly => uno para cada procesador Fragmento de un programa en C: if grade < 3.0: repeats = 1 else: repeats = 0 Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Programa
Presentación del cursoUniversidad de AntioquiaInformática I Programa en lenguaje C Programa en lenguaje Java Programa en lenguaje Python Algoritmo Se ejecuta más rápido Es más portable Se escribe más rápido Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Programa
Presentación del cursoUniversidad de AntioquiaInformática I Conjunto de instrucciones para controlar el procesador Interface entre el software y el hardware Assembly vs. Machine code instrucciónoperandos => tipos de datos LWR1, 0x8000 ADDR1, R4, R Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores ISA: Instruction Set Architecture
Presentación del cursoUniversidad de AntioquiaInformática I ARM ISAX86 ISAPowerPC ISA Programa Consume menos energía Es más aplicable Es más estable Lo van a estudiar en Electrónica Digital II y III Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores ISA: Instruction Set Architecture
Presentación del cursoUniversidad de AntioquiaInformática I Conjunto de mecanismos y estructuras de hardware que no están expuestas al programador o programa. Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Micro-arquitectura
Presentación del cursoUniversidad de AntioquiaInformática I Micro-Arquitectura La microarquitectura de computadora es la organización fisica que posee cada procesador. Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores
Presentación del cursoUniversidad de AntioquiaInformática I 8086Core i3Core i7 X86 ISA Cuesta menosEs más rápido- Lo van a estudiar en Electrónica Digital II y la electiva Arquitectura de Computadores Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Micro-Arquitectura
Presentación del cursoUniversidad de AntioquiaInformática I Compuertas lógicas que permiten hacer operaciones elementales con bits: Lo van a estudiar en Matemáticas Discretas y en Electrónica Digital I INPUTANDORNOT Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores Circuitos
Presentación del cursoUniversidad de AntioquiaInformática I Elemento base de la electrónica que funciona como un switch. Fabricados con silicio (CMOS) Litografía de 22nm Lo van a estudiar en Electrónica Analógica I y II Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores
Presentación del cursoUniversidad de AntioquiaInformática I Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores COMPILADOR PROGRAMADOR Resumen
Presentación del cursoUniversidad de AntioquiaInformática I Las figuras en esta presentación fueron creadas por el autor de la misma. Además, las imágenes usadas en esta presentación tienen licencia Creative Commons y fueron tomadas de: _TU1JP%28HFZ%29_02.JPG egacy.jpg ods.jpg Créditos