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:

 

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