Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I J. Arturo Olvera López 1. Conceptos preliminares 2 Computadoras - Historia Blaise Pascal, 1642 Gottfried Leibniz, 1671 ......... Charles Babbage, 1816 3 Computadoras ● Era actual 4 Organización general de una computadora ● Unidades: Entrada ALU Salida Memoria CPU Almacenamiento Sec. 5 Arquitectura general de una computadora CPU ALU Salida Memoria Control Entrada Almac. 6 Arquitectura general de una computadora 7 Arquitecturas multi nucleo ● ● ● GPU Inicios: Silicon Graphics International – Surge en 1982 – 1992-> Libera – A mediados de 1990 proliferan juegos 3D: 8 GPUs ● Las tareas gráficas consumen recursos (procesador) ● Apartir del año 2000, aparecen las primeras GPU: – Cada ALU producía un color por pixel (x,y) y un dato pixel shader – Años después se aprovecha este tercer dato 9 GPUs NVIDIA (a partir de 2006): Plataforma CUDA (Compute Unified Device Architecture) para GPU ● • - Cada ALU puede: llevar a cabo operaciones simples de precisión flotante Acceso de R/W en memoria Acceso a memoria compartida (Cache controlado por software) - Por tanto cada unidad en GPU -> Núcleo • CUDA: C, C++, Fortran 10 GPU/CUDA ● Resolver problemas de manera paralela 11 Estándar 12 Sistema operativo 13 Sistema Operativo ● ● Necesidad de control/administración de la computadora Funciones/Gestiona: – – – – – Procesos Memoria principal Sistema de archivos Sistema de E/S y comunicaciones Dispositivos 14 Sistema operativo ● Tipos / Clasificación: Mono Tareas Multi Mono Centralizado Usuarios Recursos Distribuido Multi 15 Lenguajes 16 Lenguajes ● Instrucciones a la computadora 17 Lenguajes Ensambladores De máquina tipos Interpretados Alto nivel •• •• •• •• CC FORTRAN FORTRAN(1957, (1957,FORmula FORmulaTRANslator) TRANslator) COBOL COBOL(1959, (1959,COmmon COmmonBusiness BusinessOriented OrientedLanguaje) Languaje) PASCAL PASCAL(1971) (1971) 18 Lenguaje Ensamblador 19 Lenguaje C 20 Lenguaje C ● Alto nivel ● Historia: – BCPL 1967 – B 1969 – C - > 1972 , Dennis Ritchie 21 Fases en lenguaje C 22