Computadores 1
Organización del Curso
Objetivos del Curso
El objetivo principal del curso es lograr un conocimiento profundo de los sistemas basados en computador para aplicaciones industriales. Dicho conocimiento se centrará de forma particular en la arquitectura y programación de los computadores.
Para ello el alumno deberá estar capacitado para la valoración, selección, el desarrollo de sistemas, la implantación de los mismos y su explotación para aplicaciones propias de la ingeniería industrial.
El alumno conocerá la estructura de un computador, su funcionamiento interno, su uso y el desarrollo de sistemas software para aplicaciones industriales, tanto fuera como dentro de línea.
Contenidos del curso
El curso consta de 40 Lecciones de duración variable estructuradas en cinco bloques:
Nº |
Contenido |
Tiempo |
|
Introducción |
|||
1 |
Presentación. Conceptos básicos. Historia. Tipos de computadores. Computadores en la ingeniería y en la industria. Niveles y descripciones. Dualidad HW/SW. Descripción básica del computador Von Neuman. |
2 horas |
|
2 |
Hardware y Software del computador. Elementos de un computador. Software del computador. Sistemas operativos (UNIX, DOS, WINDOWS, VMS, Otros). Arranque y operación del computador. Estructura y ejecución de aplicaciones. Entorno de usuario. |
2 horas |
|
3 |
Estaciones de trabajo UNIX. Descripción básica. Sistema operativo. |
2 horas |
|
Estructura del computador |
|||
4 |
Estructura del computador. Unidades básicas. Periféricos. Sistemas basados en computador. |
2 horas |
|
5 |
Buses. Características técnicas. Buses internos y externos. Buses locales. Estructuras multibus Puentes. VME. PCI. Futurebus+. SCSI. USB. IEEE 488. |
2 horas |
|
6 |
CPU. Estructura básica de la CPU. ALU. Registros. Unidad de control. Flags. Ciclo básico de la CPU. |
2 horas |
|
7 |
Memoria. Tipos de memoria. RAM. ROM. EPROM. EEPROM. Tecnologías de construcción. Estructura de una unidad de memoria. Jerarquía. Memoria caché. Memoria modular. Memoria Asociativa. Memoria virtual. |
4 horas |
|
8 |
Entrada/Salida. Independiente y mapeada en memoria. Interrupciones. Controladores y buses. |
4 horas |
|
9 |
Procesadores. Microprocesadores. Microcontroladores. Procesadores vectoriales. Bit-slices. |
2 horas |
|
10 |
Periféricos. Periféricos para automatización. |
4 horas |
|
Funcionamiento del computador |
|||
11 |
Funcionamiento básico. Ejecución de instrucciones. Ciclos de la CPU. Funcionamiento de una CPU. LTR. Microoperaciones. |
4 horas |
|
12 |
Direccionamiento. Memoria y entrada salida. Modos de direccionamiento. |
2 horas |
|
13 |
Codificación. Tipos de datos y Formatos de instrucción. Códigos detectores y correctores. |
4 horas |
|
14 |
Juegos de instrucciones. RISC. CISC. VLIW. |
2 horas |
|
15 |
Lenguaje ensamblador. Ensambladores genéricos. Ensamblador Z-80. |
2 horas |
|
16 |
Gestión de Entrada/Salida. E/S programada, por interrupción y por acceso directo a memoria. |
2 horas |
|
17 |
Comunicaciones. Comunicación serie/paralelo. Síncrona/asíncrona. Conmutación de paquetes. RS-232. Redes de comunicaciones. Computadores en red. Modelo OSI. Ethernet. ATM. Buses de campo. |
2 horas |
|
18 |
Procesadores especiales. Procesadores subordinados. Coprocesadores. Coordinación de procesadores. Estructuras de bus y políticas de control. |
2 horas |
|
19 |
Aspectos avanzados de la CPU. Microprogramación. CPUs segmentadas, supersegmentadas y superescalares. |
2 horas |
|
20 |
Arquitecturas especiales. Computo paralelo y distribuido. Sistemas embebidos. |
2 horas |
|
Programación de computadores |
|||
21 |
Programación. Ciclo de vida e ingeniería de software. El estilo de programación. Programación defensiva. Programación de calidad. Componentes. Instrumentalización. |
2 horas |
|
22 |
Especificación y análisis de requerimientos. |
4 horas |
|
23 |
Diseño. Arquitectura software. Sistemas simples, multitarea y de tiempo real. |
4 horas |
|
24 |
Compiladores y lenguajes. Herramientas de programación. |
2 horas |
|
25 |
Lenguajes de programación. Areas de aplicación: sistemas, aplicaciones, RT, IA. Lenguajes: BASIC, FORTRAN, Lisp, C, C++, Ada, Prolog. |
2 horas |
|
26 |
Lenguaje C. Historia. Entorno. Herramientas. Estructura de un programa C. Tipos de datos. Básicos. Vectores. Estructuras. Uniones. Campos de bits. Tipos de usuario. Conversiones. Operadores y expresiones. Sentencias de control Funciones Preprocesador C Punteros. Punteros y vectores. Aritmética de punteros. |
8 horas |
|
27 |
El sistema operativo para el programador. Servicios y librerías. Librería estándar ANSI C. Interacción con el sistema operativo. Procesos. |
2 horas |
|
28 |
Programación orientada a objetos. Análisis y diseño. |
2 horas |
|
29 |
Lenguaje C++. Azúcar sintáctico. Sobrecarga. Clases. Herencia. Patrones y excepciones. Streams. STL. Características avanzadas. Librerías de clases. Espacios de nombres. |
6 horas |
|
30 |
Programación de sistemas de tiempo real. Análisis y diseño. |
2 horas |
|
31 |
Lenguaje Ada. Características fundamentales. Aplicaciones multitarea. |
2 horas |
|
32 |
Programación de sistemas distribuidos. TCP/IP. RPC. CORBA. MPI. Análisis y diseño. |
4 horas |
|
33 |
Prueba y depuración. |
4 horas |
|
34 |
Control de configuración. |
2 horas |
|
35 |
Documentación y Mantenimiento. |
2 horas |
|
36 |
Estado del arte en software de computadores. |
2 horas |
|
Explotación de sistemas de computadores |
|||
37 |
Administración de sistemas. |
2 horas |
|
38 |
Selección e implantación de sistemas basados en computadores. |
1 hora |
|
39 |
Explotación de los computadores. Tipos de software. Sistemas operativos básicos: Windows, UNIX y VMS. Sistemas de tiempo real. Sistemas en red. Servidores y clientes. Servicios y protocolos. |
3 horas |
|
40 |
Computadores para control. Control digital directo. Control supervisor. Control distribuido y jerárquico. Control avanzado e inteligente. |
4 horas |
Conocimientos Previos
Los alumos debe tener unos ciertos conocimientos provios para poder seguir el curso. Estos conocimientos se agrupan en:
Organización
Profesor
Ricardo Sanz
Laboratorio de Automática
Tel: 91 336 30 61
Bibliografía Recomendada
No existe un libro de texto específico para el curso; sin embargo, si que existe una amplia bibliografía de utilidad para profundizar en los contenidos del curso. Algunos de los textos recomendados son:
Arquitectura de Computadores
Programación básica
Programación en C
Programación en C++
Algorítmos y Estructuras de datos
Ingeniería de Software