Ruta de navegación

Contenido de XSL

Introducción a la Arquitectura de Computadores28266

Centro
Facultad de Informática
Titulación
Grado en Inteligencia Artificial
Curso académico
2022/23
Curso
1
Nº Créditos
6
Idiomas
Castellano
Euskera
Código
28266

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4060
P. Laboratorio2030

Guía docenteAlternar navegación

Descripción y Contextualización de la AsignaturaAlternar navegación

La asignatura Introducción a la Arquitectura de Computadores (IOC) es una de las materias básicas del primer curso del Grado en Inteligencia Artificial. Establece las bases de la arquitectura de los computadores y profundiza en aspectos que afectan directamente al rendimiento de un computador como la memoria caché o las arquitecturas segmentadas.



Posteriormente, la asignatura de Sistemas Paralelos y Distribuidos de 2º curso profundizará en arquitecturas más complejas y eficientes, comunes a todas las aplicaciones de Inteligencia Artificial. Además, se trabajarán los conceptos básicos del lenguaje de programación C, que servirán de base para programar aplicaciones paralelas en los próximos cursos.



Como es una asignatura básica, lo aprendido será necesario y útil en muchas asignaturas del grado, especialmente en las asignaturas que expongan el funcionamiento de una computadora y sus componentes (memoria, entrada/salida, etc.). Además, la materia servirá para comprender la influencia que puede tener la máquina en el desarrollo de aplicaciones de inteligencia artificial.



Al tratarse de un tema del 1º curso y del 1º cuatrimestre, no se requieren conocimientos previos en materia de arquitectura de computadores. Será la propia asignatura la que dé las primeras explicaciones sobre estos conceptos.



Una persona experta en Inteligencia Artificial debe ser capaz de identificar el hardware más adecuado y la forma de obtener el mejor rendimiento o la ejecución más eficaz en aplicaciones que requieren grandes volúmenes de datos o tiempos críticos de respuesta, por ejemplo. Esta materia aporta los conocimientos básicos para ello, que se complementarán en los próximos cursos con el resto de asignaturas del módulo de arquitectura, sistemas y redes.

Competencias/ Resultados de aprendizaje de la asignaturaAlternar navegación

RESULTADOS DE APRENDIZAJE

* Describir organización y funcionamiento básico de los componentes de una computadora.

* Describir la relación entre el lenguaje de programación de alto nivel y el lenguaje interno de la máquina.

* Explicar o traza de la ejecución de un programa simple escrito en lenguaje de ensamblaje.

* Desarrollar programas sencillos en lenguaje de programación C.

* Diferenciar los métodos de sincronización de E/S de la computadora y calcular la mejora en la transferencia de datos al utilizar DMA.

* Análizar aspectos que mejoran el rendimiento de los programas: jerarquía de memoria, ejecución segmentada y optimización del código.

* Seleccionar una plataforma de almacenamiento de datos adecuada al contexto de inteligencia artificial.







Contenidos teórico-prácticosAlternar navegación

1 .- Estructura básica de una computadora

1.1 Arquitectura Von Neumann

1.2 Lenguaje máquina

1.3 Jerarquía de memoria

1.4 Subsistema de entrada/salida

1.5 Conexión entre subsistemas: buses

2 .- Paralelismo a nivel de instrucción

2.1 Segmentación lineal

2.2 Procesadores multiciclo

2.3 Técnicas de optimización

2.4 Procesadores superescalares

2.5 Introducción al paralelismo

3 .- Sistemas de almacenamiento.

3.1 Tecnologías de almacenamiento

3.2 Sistemas RAID

3.3 Sistemas de almacenamiento distribuido (SAN, NAS)

3.4 Sistemas de almacenamiento para inteligencia artificial

4 .- Lenguaje C

4.1 Linux y la terminal: conceptos básicos

4.2 Estructura general de un programa

4.3 Tipos de datos y operaciones básicas

4.4 Estructuras de control: if, switch, while, do… while, for

4.5 Funciones: paso de parámetros por valor y referencia

4.6 Estructuras de datos: struct

4.7 Entrada/salida: printf, scanf

4.8 Tiempo de ejecución

MetodologíaAlternar navegación

En esta asignatura se combinan diversas metodologías de enseñanza. Por una parte, se impartirán clases de exposición de los contenidos conceptuales de la materia, con participación del alumnado en debates sobre los mismos. La resolución de cuestiones y problemas en el aula se realizará de forma participativa, proponiendo problemas y ejercicios que desarrollarán individualmente o en grupo.



En un primer momento, los conceptos básicos se abordarán a través del juego y su interiorización se evaluará mediante la creación de materiales didácticos para educación primaria y secundaria (juegos, guías, vídeos...). De esta forma se trabaja el compromiso social y el objetivo 4 de desarrollo sostenible (educación de calidad).



Para tratar el último tema se deberá realizar un pequeño trabajo de investigación, redactar un informe y realizar una presentación del mismo en grupos.



A lo largo de la asignatura se fomentará tanto el trabajo autónomo como el trabajo en equipo a través de las actividades requeridas al alumnado. Se trabajará la comunicación escrita y oral a través de la presentación de trabajos e informes y la discusión y se fomentará en todo momento el uso del pensamiento computacional y crítico.

Sistemas de evaluaciónAlternar navegación

  • Sistema de Evaluación Continua
  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Los porcentajes y tipos de evaluación se especifican en los apartados posteriores. (%): 100

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar navegación

La asignatura tiene dos métodos de evaluación:



EVALUACION CONTINUA

Es el modo de evaluación predeterminado, solamente válido para la convocatoria ordinaria. Exige la participación activa y continua por parte del alumnado: asistir a las clases y los laboratorios, entregar los ejercicios y trabajos (tanto grupales como individuales), realizar las pruebas de evaluación y demás actividades planteadas. En caso de no participar en cualquiera de estas actividades, se pasará a la evaluación global.



La asignatura se evaluará en base a estos elementos:

- Pruebas escritas individuales: 8 puntos (80%) [2 exámenes parciales, Tema 1 (35%) + Temas 2 y 3 (45%)]

- Trabajos grupales: 2 puntos (20%) [Trabajo tema 1 10% + Trabajo tema 3 10%



Para aprobar la asignatura, además de que la nota final sea superior a 5, habrá que obtener un mínimo de 4 puntos (sobre 10) en cada uno de los apartados de evaluación.





EVALUACIÓN FINAL O GLOBAL:

En evaluación global el 100% de la nota se obtendrá a través de un examen.

Para aprobar la asignatura, la nota final debe ser superior a 5.

Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

En la convocatoria extraordinaria el 100% de la nota se obtendrá a través de un examen.

Para aprobar la asignatura, la nota final debe ser superior a 5.

Materiales de uso obligatorioAlternar navegación

El material disponible en el aula virtual (eGela) de la asignatura.

BibliografíaAlternar navegación

Bibliografía básica

Stallings W.

Computer Organization and Architecture. Designing for performance. (11. ed). Pearson, 2019



Tanenbaum A.S., Austin T.

Structured Computer Organization (6. ed), Pearson – Prentice Hall Ed., 2013



J.L. Hennessy, D.A. Patterson

Computer Architecture: A Quantitative Approach. (6. ed). Morgan Kaufmann, 2019



Iñaki Alegria eta Nestor Garay

C Programazio-lengoaia

https://www.elhuyar.eus/es/tienda/d/c-programazio-lengoaia



Félix García, Alejandro. Calderón, Jesús Carretero, Javier Fernández, José María Pérez

Problemas Resueltos de Programación en Lenguaje C, Thomson, 2002.

Bibliografía de profundización

Patterson D.A., Hennessy J.L.
Computer Organization and Design: The Hardware/Software Interface (5. ed). M. Kaufmann, 2013

Revistas

Hello World: https://helloworld.raspberrypi.org/ (indicando el número de revista directamente entra en ella).

Direcciones web

Computer Science For Fun: http://www.cs4fn.org/

Barefoot Computing: https://www.barefootcomputing.org/

Moon: https://compus.deusto.es/https://compus.deusto.es/

Touring Tumble simulagailua: https://edu.turingtumble.com/resources/index.html#simulator

CPUlator computer system simulator: https://cpulator.01xz.net/

GruposAlternar navegación

16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

14:00-15:30 (1)

15:30-17:00 (2)

Profesorado

16 P. Laboratorio-1 (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

17:00-18:30 (1)

Profesorado

31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

09:00-10:30 (1)

10:30-12:00 (2)

Profesorado

31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:00-13:30 (1)

Profesorado