Arquitectura  de  computadores

+Info
DEPARTAMENTO PROFESOR/ES
Ingeniería Eléctrica Iván Luis Pérez Barrón   (Responsable)
TITULACIONES EN LAS QUE SE IMPARTE LA ASIGNATURA
Titulación Carácter Curso Semestre Créditos Guía Docente
Grado en Ingeniería Informática Obligatoria 3 Primer Semestre 6 pdf
BIBLIOGRAFÍA RECOMENDADA
Organización y arquitectura de computadores / William Stallings ; traducción: Antonio Cañas Vargas ... [et al.] ; coordinación y revisión técnica: Alberto Prieto Espinosa.-- 7ª ed.-- Madrid : Pearson Prentice Hall, cop., 2006
José Mª. Angulo, “Estructura de Computadores”, Paraninfo.
COMENTARIO PROFESOR
Libro de consulta de nivel básico, fundamentalmente para los temas 4 (Memoria interna) y 6 (Entrada/salida).
Pedro de Miguel Anasagasti, “Fundamentos de los Computadores”, Thomson.
COMENTARIO PROFESOR
Libro de consulta con un carácter marcadamente técnico.
Andrew S. Tanenbaum, “Organización de Computadoras: un enfoque estructurado”, Prentice Hall.
COMENTARIO PROFESOR
Libro general de consulta.
John P. Hayes, “Computer Architecture and Organization”, McGraw-Hill.
COMENTARIO PROFESOR
Libro de consulta y ampliación, de nivel avanzado, fundamentalmente para los temas 3 (Necesidades de interconexión. Buses), 4 (Memoria interna), 6 (Entrada/salida), 9 (Funcionamiento de la unidad de control) y 10 (Control microprogramado).
Computer systems organization & architecture / John D. Carpinelli.-- Boston : Addison Wesley, cop. 2001
Fundamentals of computer organization and design / Sivarama P. Dandamundi.-- Ottawa : Springer, [2002]


CONTEXTO
En la asignatura Arquitectura de Computadores se muestra al estudiante una visión de la organización interna en la que se basan los computadores, haciendo especial énfasis en la comprensión de los conceptos generales, de modo que sea capaz de entender no solo los computadores actuales, sino también los de futura aparición. Este enfoque generalista se complementa, en las clases prácticas, mediante el estudio en detalle de un procesador concreto y su programación en bajo nivel mediante el lenguaje ensamblador.
COMPETENCIAS
Competencias generales

CG1. Estar capacitado para analizar, razonar y evaluar de modo crítico, lógico y, en caso necesario, formal, sobre problemas que se planteen en su entorno.

CG2. Estar capacitado para, utilizando el nivel adecuado de abstracción, establecer y evaluar modelos que representen situaciones reales.

CG4. Estar capacitado para transmitir información, ideas, planteamiento de problemas y soluciones, tanto a otros profesionales tecnológicos y científicos, como a personas ajenas a esas disciplinas.
Competencias específicas

CE6. Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.

Tener una noción de la evolución de los computadores a lo largo de sus distintas generaciones.

Comprender la naturaleza jerárquica de la estructura del computador.

Conocer el modo de comunicación a través de buses, así como sus características y propiedades más importantes.

Comprender la existencia de una jerarquía de sistemas de memoria, con las ventajas e inconvenientes de cada nivel de la jerarquía.

Conocer el sistema de entrada/salida del computador, así como las tres maneras de llevar a cabo las tareas de entrada/salida: por programa, a través de interrupciones o mediante acceso directo a memoria.

Dominar la arquitectura interna del procesador, conociendo sus registros (tanto visibles como de control y estado), modos de direccionamiento, repertorio de instrucciones y formatos de las instrucciones.

Ser capaz de poner en práctica el conocimiento de la arquitectura de un procesador concreto mediante la realización de programas en lenguaje ensamblador.

Conocer la técnica de la segmentación de cauce, la mejora de rendimiento que introduce, los casos en los que su aplicación resulta más problemática y las soluciones que se adoptan.

Comprender las funciones de la unidad de control y sus dos posibles estructuras: cableada y microprogramada.
TEMARIO
1. Introducción.
1.1. Funciones básicas del computador.
1.2. Estructura jerárquica del computador.
2. Evolución y prestaciones de los computadores.
2.1. Generaciones de computadores.
2.2. Diseño buscando mejores prestaciones.
3. Necesidades de interconexión. Buses.
3.1. Componentes del computador.
3.2. Funcionamiento del computador.
3.3. Estructuras de interconexión.
3.4. Interconexión con buses.
3.5. Bus PCI.
4. Memoria interna.
4.1. Conceptos básicos sobre sistemas de memoria de computadores.
4.2. Memoria principal semiconductora.
4.3. Corrección de errores.
4.4. Organización avanzada de memorias DRAM.
4.5. Memoria caché.
5. Memoria externa.
5.1. Discos magnéticos.
5.2. RAID.
5.3. Memoria óptica.
5.4. Cinta magnética.
6. Entrada/salida.
6.1. Dispositivos externos.
6.2. Módulos de E/S.
6.3. E/S programada.
6.4. E/S mediante interrupciones.
6.5. Acceso directo a memoria.
6.6. Canales y procesadores de E/S.
6.7. La interfaz externa.
7. Repertorios de instrucciones.
7.1. Características de las instrucciones máquina.
7.2. Tipos de operandos.
7.3. Tipos de operaciones.
7.4. Formatos de instrucciones.
8. Estructura y funcionamiento del procesador.
8.1. Organización del procesador.
8.2. Organización de los registros.
8.3. Ciclo de instrucción.
8.4. Segmentación de instrucciones.
8.5. Procesamiento de interrupciones.
9. Funcionamiento de la unidad de control.
9.1. Microoperaciones.
9.2. Control del procesador.
9.3. Implementación cableada.
10. Control microprogramado.
10.1. Conceptos básicos.
P. Arquitectura de un procesador y programación en lenguaje ensamblador.
P.1. Arquitectura interna del procesador.
P.2. Registros.
P.3. Modos de direccionamiento.
P.4. Pseudoinstrucciones o directivas del lenguaje ensamblador.
P.5. Repertorio de instrucciones.
P.6. Programación en lenguaje ensamblador.