E.U. de Ingeniería Técnica
Informática de Oviedo. Curso 2009-2010
OBJETIVOS
El objetivo de esta asignatura es la comprensión de la estructura y
funcionamiento interno de un computador. Para ello se presentan primero al
alumno dos temas introductorios, que tratan de la representación binaria de la
información, y del almacenamiento y manipulación de dicha información mediante
circuitos digitales. Tras esta parte introductoria, 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. Todos los conceptos relativos al modelo Von Neumann
se estudian primero de forma teórica, y después, aplicados a una familia real
de computadores, la familia PC, con especial énfasis en la explicación de cómo
la unidad central de proceso ejecuta los programas. La asignatura se completa
con una breve explicación de la relación entre arquitectura y sistema
operativo.
PROGRAMA DE TEORÍA
Parte I: Fundamentos
1. La información digital (Duración aproximada: 9 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)
2. Sistemas digitales (Duración aproximada: 9 horas)
2.1. Sistemas combinacionales (concepto, puertas lógicas, multiplexadores,
decodificadores, síntesis de combinacionales)
2.2. Elementos básicos de memoria (biestables y registros)
2.3. Interconexión de componentes (transferencia de información,
sincronización, concepto de bus y lógica triestado)
2.4. El chip de memoria (características y tecnología)
Parte II: El computador von Neumann
3. Introducción a la arquitectura von Neumann (Duración aproximada: 2 horas)
3.1. Máquina especifica frente a máquina programable (ventajas, inconvenientes
y ejemplos)
3.2. Concepto de máquina programable de programa almacenado
3.3. El computador von Neumann (unidades funcionales, principios de
funcionamiento, implementación en la arquitectura PC)
4. Unidad Central de Proceso (CPU) (Duración aproximada: 9 horas)
4.1. Nivel de descripción 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 y para la familia Intelx86)
4.2. Nivel de micromáquina (Estructura interna de la CPU elemental, diseño de
la ALU, microoperaciones y señales de control, diseño de la unidad de control,
breve comparación con la familia Intelx86)
5. Programación en lenguaje ensamblador (Duración aproximada: 16 horas)
5.1. Conceptos generales de ensambladores
5.2. Un ensamblador para la CPU elemental
5.3. Programación de algoritmos en ensamblador
5.4. Procedimientos y paso de parámetros
6. Rudimentos del ensamblador de la familia Intelx86 (Duración aproximada: 6
horas)
7. El sistema de memoria (Duración aproximada: 5 horas)
7.1. Concepto de espacio de direcciones y mapa de memoria
7.2. Diseño de un sistema de memoria mediante chips de memoria
7.3. Tecnología de los sistemas de memoria
8. Sistema de E/S (Duración aproximada: 8 horas)
8.1. Introducción a los dispositivos periféricos
8.2. Interfaces (concepto, estructura y funcionamiento de una interfaz
genérica)
8.3. Direccionamiento de las interfaces (en mapa de memoria y en mapa separado,
ejemplos)
8.4. E/S programada
8.5. 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 para la CPU elemental)
8.6. Gestión de interrupciones en la CPU elemental y en CPUs comerciales
9. Conceptos básicos de sistemas operativos (Duración aproximada: 2 horas)
9.1. Problemática de la inicialización del computador
9.2. Funciones de un sistema operativo
9.3. Mecanismos de llamada a los servicios del sistema operativo (ejemplos)
PROGRAMA DE PRÁCTICAS
Bloque 1: La información digital (2 horas)
En este bloque se trabajan conceptos relativos a sistemas de
codificación de la información digital. En la primera sesión se
repasan conceptos de códigos numéricos y en la segunda de códigos
alfanuméricos.
Bloque 2: Simulación de circuitos digitales (5 horas)
Se diseñan mediante un simulador circuitos digitales básicos, como
multiplexadores y sumadores. Después, a partir de estos circuitos se diseña la
ALU de un computador.
Bloque 3: Simulación del funcionamiento de una CPU elemental (3 horas)
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 4: Programación en lenguaje ensamblador de una CPU elemental (3 horas)
Se practican los conceptos relativos a la programación en ensamblador de
una CPU elemental mediante un ensamblador para ella.
Bloque 5: Programación del sistema de Entrada/Salida (3 horas)
El alumno practicará la programación de los dispositivos de entrada/salida en
un computador basado en la CPU elemental
Bloque 6: Programación en ensamblador de la arquitectura Intelx86 (4 horas)
Se practican los conceptos básicos de programación en lenguaje 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. Se
utiliza para ello el ensamblador de la familia Intelx86.