Escuela Politécnica Superior de Ingeniería de Gijón. Curso 2010-2011

OBJETIVOS

El objetivo de esta asignatura es la comprensión de la estructura y funcionamiento interno de un computador. Para ello se presenta primero al alumno un tema introductorio, en el que se explica cómo es la información manejada por los computadores. Después, se aborda el estudio del computador utilizando un modelo del mismo (modelo von Neumann). Usando este modelo como guía se analizan cada uno de los sistemas que integran un computador, que son el sistema de memoria, la unidad central de proceso y el sistema de entrada/salida. Una vez conocidos los componentes básicos del computador, se estudiará el computador en funcionamiento, presentando su capacidad para ejecutar algoritmos, y así, resolver problemas de procesamiento de información. Para poner énfasis en esta faceta crucial de los computadores, se estudia su programación en lenguaje ensamblador. Finalmente, la asignatura se completa con una breve introducción a los sistemas operativos.

PROGRAMA DE TEORÍA

Parte I: Fundamentos

1. La información digital (Duración aproximada: 8 horas)
1.1. Introducción (concepto de código binario)
1.2. Sistemas de numeración
1.3. Representación de naturales
1.4. Representación de enteros (signo-magnitud, complemento a dos, aritmética)
1.5. Representación de reales (coma fija, coma flotante)
1.6. Representación de caracteres (propiedades de los códigos alfanuméricos, códigos ASCII, ISO y Unicode)


Parte II: El computador von Neumann

2. Introducción a la arquitectura von Neumann (Duración aproximada: 1 hora)
2.1. Máquinas especifica, programable, y programable de programa almacenado
2.2. Unidades funcionales del computador y principios de funcionamiento

3. Unidad Central de Proceso (CPU) (Duración aproximada: 10 horas)
3.1. Conceptos preliminares (estructura interna, esquema de funcionamiento y niveles de descripción)
3.2. Descripción del nivel de máquina convencional (registros, modos de direccionamiento, y juegos de instrucciones; ejemplos de codificación y ejecución de programas para una CPU elemental)
3.3. Descripción del nivel de micromáquina (microoperaciones, señales de control, y pasos de ejecución de instrucciones)
3.4. Unidad aritmético lógica
3.5. Unidad de control (diseño cableado y microprogramado)

4. Programación en lenguaje ensamblador (Duración aproximada: 10 horas)
4.1. Conceptos generales de ensambladores
4.2. Un ensamblador para la CPU elemental
4.3. Programación de algoritmos en ensamblador
4.4. Concepto de pila de un programa
4.5. Procedimientos y paso de parámetros

5. Sistema de memoria (Duración aproximada: 2 horas)
5.1. Concepto de espacio de direcciones y mapa de memoria
5.2. Diseño de dispositivos de memoria mediante chips de memoria
5.3. Diseño de un mapa de memoria mediante dispositivos de memoria

6. Sistema de E/S (Duración aproximada: 7 horas)
6.1. Introducción a los dispositivos periféricos
6.2. Interfaces (concepto, estructura y funcionamiento de una interfaz genérica)
6.3. Direccionamiento de las interfaces
6.4. Ejemplos de periféricos elementales (pantalla y teclado)
6.5. E/S programada
6.6. Interrupciones (concepto, fases de atención a una interrupción, mecanismos de identificación y gestión de prioridad, implementación a nivel de micromáquina)

7. Introducción a los sistemas operativos (Duración aproximada: 2 horas)
7.1. Funciones de un sistema operativo mínimo
7.2. Mecanismos de llamada a los servicios del sistema operativo
7.3. Ejemplos de programación usando servicios del operativo
7.4. ROM de arranque de un computador

PROGRAMA DE PRÁCTICAS

Bloque práctico 1: Simulación del funcionamiento de una CPU elemental
Se practican los conceptos relativos al funcionamiento de una CPU elemental en sus niveles de máquina convencional y micromáquina. Para ello se utiliza un simulador interactivo de dicha CPU.

Bloque práctico 2: Programación de la CPU elemental en lenguaje ensamblador
Se practican los conceptos básicos de programación en ensamblador, tales como la programación de las estructuras básicas de control y el uso de los modos de direccionamiento para el acceso a los datos de los programas. También se realizarán ejercicios de programación de procedimientos y paso de parámetros a través de la pila. Se utiliza para ello un ensamblador diseñado para la CPU elemental.

Bloque práctico 3: Simulación del sistema de E/S de un computador elemental
El alumno practica el diseño de un mapa de memoria, ubicando periféricos en dicho mapa. Después se utilizan estos periféricos para practicar las técnicas de E/S básicas (E/S programada e interrupciones). Para ello utiliza un simulador de un computador elemental.