03.09.2015 Views

FUNDAMENTOS DE COMPUTADORES

fundamentos de computadores - Departamento de Ingeniería y ...

fundamentos de computadores - Departamento de Ingeniería y ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>FUNDAMENTOS</strong> <strong>DE</strong> <strong>COMPUTADORES</strong><br />

CURSO ACADÉMICO: 2000 / 2001<br />

TITULACIÓN: INGENIERO EN INFORMÁTICA<br />

CICLO: 1º<br />

CURSO: 1º<br />

CUATRIMESTRE: PRIMERO<br />

CARÁCTER: TRONCAL<br />

CRÉDITOS: 9 (6+3)<br />

PROFESOR: MANUEL E. ACACIO, JUAN L. ARAGÓN, MARISOL NAVARRO<br />

<strong>DE</strong>PARTAMENTO: INGENIERÍA Y TECNOLOGÍA <strong>DE</strong> <strong>COMPUTADORES</strong><br />

PÁGINA WEB: www.ditec.um.es/ficomp<br />

A - OBJETIVOS<br />

Que el alumno deje de mirar el computador como una caja negra que ejecuta<br />

programas expresados en algún lenguaje de alto nivel. Comprender que la ejecución de sus<br />

programas implica la existencia de:<br />

- Una forma de representar los datos y las instrucciones mediante valores binarios,<br />

susceptibles de ser almacenados y procesados en forma de señales eléctricas.<br />

- Un programa traductor de los lenguajes de alto nivel a código ejecutable, comprensible<br />

para la máquina.<br />

- Una ruta de datos formada por registros, operadores y buses que los interconectan,<br />

que realiza todo el procesamiento de la información.<br />

En definitiva, adquirir una visión coherente y global de un computador. Todo ello<br />

inspirándose en un moderno microprocesador (de la familia MIPS), de filosofía de conjunto de<br />

instrucciones reducido (RISC), presente en computadores de última generación.


B - PROGRAMA <strong>DE</strong> TEORÍA<br />

Tema 1.- Introducción a los computadores.<br />

1.1. La primera aproximación al computador.<br />

1.2. Principios básicos de los computadores.<br />

1.2.1. Tratamiento de la información.<br />

1.2.2. Codificación de la información.<br />

1.2.3. Parámetros básicos de los computadores.<br />

1.3. Programas e instrucciones.<br />

1.3.1. Tratamiento de las instrucciones.<br />

1.3.2. Fases en la ejecución de una instrucción.<br />

1.3.3. Tipos de instrucciones.<br />

1.3.4. Lenguajes de programación.<br />

1.4. Evolución histórica de los computadores. Generaciones.<br />

1.5. Clasificación de las arquitecturas.<br />

FUENTES: [ANGU96] (Cap.1), [PRIE95] (Cap.1), [TANE2000] (Cap.1), Apuntes Tema 1.<br />

Tema 2.- Representación de la información.<br />

2.1. Introducción.<br />

2.2. Sistemas de numeración.<br />

2.2.1. Representación posicional de los números.<br />

2.2.2. Sistema de numeración en base dos.<br />

2.2.3. Operaciones aritméticas con variables binarias.<br />

2.2.4. Representación en complementos.<br />

2.2.5. Códigos intermedios: octal y hexadecimal.<br />

2.3. Códigos de entrada/salida.<br />

2.4. Detección de errores en la información codificada.<br />

2.5. Representación interna de los datos.<br />

2.5.1. Tipo entero.<br />

2.5.2. Tipo real.<br />

FUENTES: [PRIE95] (Vol.1, Cap.3), Apuntes Tema 2.<br />

Tema 3.- El lenguaje de la máquina.<br />

3.1. Operaciones realizables por un computador.<br />

3.2. Conjunto de instrucciones del MIPS.<br />

3.2.1. Instrucciones aritméticas.<br />

3.2.2. Instrucciones de transferencia de datos.<br />

3.2.3. Instrucciones de salto y bifurcación.<br />

3.2.4. Instrucciones para manejar procedimientos.<br />

3.3. Representación de las instrucciones.<br />

3.3.1. Modos de direccionamiento del MIPS.<br />

3.3.2. Formato de instrucción R.<br />

3.3.3. Formato de instrucción I.<br />

3.3.4. Formato de instrucción J.<br />

3.4. Alternativas a la aproximación de MIPS.<br />

3.5. Ejemplos de programas.<br />

3.5.1. Ejemplo de intercambio de posiciones de memoria.<br />

3.5.2. Ejemplo de ordenación de un array.<br />

3.5.3. Ejemplo para comparar arrays y punteros.<br />

FUENTES: [PATT2000] (Vol.1, Cap. 3), Apuntes Tema 3.<br />

Tema 4.- Construcción de una unidad aritmético lógica (ALU).<br />

4.1. Números negativos.<br />

4.2. Sumas, restas y operaciones lógicas.<br />

4.3. Construcción de una ALU.<br />

4.3.1. Bloques de construcción para construir una ALU.<br />

4.3.2. ALU de un sólo bit.<br />

4.3.3. ALU de 32 bits.


4.4. Algoritmos aritméticos.<br />

4.4.1. Anticipación de arrastre para la suma.<br />

4.4.2. Algoritmos de multiplicación.<br />

4.4.3. Algoritmos de división.<br />

4.5. Operaciones en punto flotante.<br />

4.5.1. Suma en punto flotante.<br />

4.5.2. Multiplicación en punto flotante.<br />

FUENTES: [PATT2000] (Vol.1, Cap. 4) y Apuntes Tema 4.<br />

Tema 5.- Diseño de un procesador monociclo.<br />

5.1. Vision general de la implementación.<br />

5.2. Construcción del camino de datos (monociclo).<br />

5.2.1. Componentes: Archivo de registros y contador de programa.<br />

5.2.2. Componentes: Memoria de datos e instrucciones.<br />

5.2.3. Componentes: Unidad aritmético lógica.<br />

5.2.4. Esquema completo de implementación.<br />

5.3. Diseño de la unidad de control principal.<br />

5.3.1. El control de la ALU.<br />

5.3.2. El resto del control.<br />

5.4. Necesidad de la implementación multiciclo.<br />

FUENTES: [PATT2000] (Vol.1, Cap. 5) y Apuntes Tema 5.<br />

Tema 6.- Diseño de un procesador multiciclo.<br />

6.1. Vision general de la implementación.<br />

6.2. Construcción del camino de datos (multiciclo).<br />

6.2.1. Descomposición de la ejecución de instrucciones en ciclos.<br />

6.2.2. Modificaciones en la estructura del camino de datos.<br />

6.2.3. Esquema completo de implementación.<br />

6.3. Definición del control cableado.<br />

6.3.1. Maquinas de estados finitos.<br />

6.3.2. Necesidad del control microprogramado.<br />

6.4. Definición del control microprogramado.<br />

6.4.1. Objetivos del control microprogramado.<br />

6.4.2. Definición de un formato de microinstrucción.<br />

6.4.3. Creación del microprograma.<br />

FUENTES: [PATT2000] (Vol.1, Cap. 5) y Apuntes Tema 6.<br />

Tema 7.- Gestión de E/S. Buses del Sistema.<br />

7.1. Introducción.<br />

7.2. Elementos de diseño de un bus..<br />

7.2.1. Tipo de líneas de bus.<br />

7.2.2. El acceso al bus.<br />

7.2.3. Temporización.<br />

7.2.4. Incrementar la anchura de banda del bus.<br />

7.3. Tipos de buses.<br />

7.4. Buses estándares.<br />

7.5. Jerarquías de buses múltiples.<br />

7.5.1. Jerarquía tradicional.<br />

7.5.2. Jerarquía de altas prestaciones.<br />

7.6. Papel del SO en las transferencias.<br />

7.7. Órdenes para los dispositivos de E/S.<br />

7.7.1. E/S con correspondencia directa con memoria.<br />

7.7.2. Instrucciones especiales de E/S.<br />

7.8. Métodos de comunicación entre dispositivos E/S y el procesador.<br />

7.8.1. E/S programada. Uso de escrutinio (polling).<br />

7.8.2. E/S conducidas por interrupciones.<br />

7.8.3. Acceso Directo a Memoria: DMA.<br />

FUENTES: Apuntes proporcionados por el profesor.


C - PROGRAMA <strong>DE</strong> PRÁCTICAS<br />

PRÁCTICA 0: INTRODUCCIÓN AL SISTEMA OPERATIVO DOS.<br />

OBJETIVOS: Familiarizarse con los comandos del sistema operativo MS-DOS.<br />

FUENTES: [YRAO90] y Apuntes proporcionados por el profesor.<br />

PRÁCTICA 1 : FORMATO <strong>DE</strong> DISCO EN MS-DOS<br />

OBJETIVOS: Conocer y comprender el formato de almacenamiento y su recuperación en un<br />

disco flexible MS-DOS, lo que define el concepto de fichero en MS-DOS.<br />

Manejo del sistema de numeración hexadecimal como forma de escribir binario.<br />

Experimentar diferentes formas de codificación. Introducir el concepto de tabla.<br />

Manejo de la codificación ASCII.<br />

FUENTES: [YRAO90] y Apuntes proporcionados por el profesor.<br />

PRÁCTICA 2: SIMULADOR <strong>DE</strong>L MIPS R2000/R3000<br />

OBJETIVOS: Realizar distintas prácticas de simulación de ejecución de programas escritos en<br />

ensamblador del MIPS. Comprender el formato del código máquina del MIPS, la<br />

codificación de las instrucciones, etc.<br />

FUENTES: Apuntes proporcionados por el profesor y [PATT2000] (Vol.3, Apéndice A).


D - RECURSOS DIDÁCTICOS<br />

a) - BIBLIOGRÁFICOS:<br />

a.1) BIBLIOGRAFÍA BÁSICA:<br />

[PATT2000] Estructura y diseño de computadores: Interficie Circuitería/Programación.<br />

David A. Patterson y John L. Hennesy. Editorial Reverté. 2000.<br />

[ANGU96] Estructura de computadores. José M. Angulo. Paraninfo. 1996.<br />

[PRIE95] Introducción a la informática. Prieto Lloris y Torres. McGraw Hill.1995.<br />

a.2) BIBLIOGRAFÍA COMPLEMENTARIA:<br />

[TANE2000] Organización de computadoras. Un enfoque estructurado. Andrew S.<br />

Tanembaum. Prentice Hall, 4ª Edición. 2000.<br />

[STALL97] Organización y arquitectura de computadores. W. Stallings. Prentice Hall, 4ª<br />

Edición. 1997.<br />

[HAMA86] Organización de computadoras. V. Carl Hamacher et al. McGraw Hill. 1986.<br />

[YRAO90] Sistema Operativo Dos 6. Jaime de Yraolagoitia. Paraninfo. 1990.<br />

b) - RECURSOS <strong>DE</strong> SOFTWARE Y HARDWARE:<br />

b.1) RECURSOS SOFTWARE:<br />

Los programas usados serán un editor de texto, el PcTools Deluxe R4.21, y el<br />

simulador de MIPS R2000/R3000 para Windows (SPIM v.1.0) ó para Linux (XSPIM v.6.2).<br />

b.2) RECURSOS HARDWARE:<br />

Las prácticas se realizarán en el laboratorio 1-3 de la Facultad de Informática,<br />

utilizando PC´s con sistema operativo Windows, un puesto para cada grupo de dos alumnos.<br />

E - EVALUACIÓN<br />

La evaluación de la asignatura se realiza mediante un exámen de teoría y la entrega<br />

de las prácticas; con ambas pruebas se calcula la nota global de la asignatura. Para que dicha<br />

nota tenga efecto, el alumno ha de presentar una memoria de las prácticas realizadas en el<br />

laboratorio y, en su caso, si el profesor lo considerase conveniente, defenderla en una<br />

entrevista. Tal memoria, junto con la posible entrevista, puntúa, constituyendo el 20% del total<br />

de la asignatura. En el examen de teoría se evalúan los conocimientos teóricos del alumno,<br />

constituyendo la nota obtenida el 80% restante de la asignatura. En condiciones normales,<br />

cada una de las calificaciones obtenidas se conserva hasta las convocatorias de septiembre y<br />

diciembre, inclusive. Además, se valorará la participación del alumno en la realización de los<br />

ejercicios propuestos.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!