XSL Content

Computer Architecture26018

Centre
Faculty of Science and Technology
Degree
Double Degree in Physics and Electronic Engineering
Academic course
2024/25
Academic year
4
No. of credits
6
Languages
Spanish
Basque
Code
26018

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based3045
Seminar57.5
Applied classroom-based groups1015
Applied computer-based groups1522.5

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

En este curso se estudian los principios básicos de diseño y funcionamiento de un computador de propósito general. Se parte de su estructura básica (arquitectura de Von Neumann) y sus elementos principales (unidad central de proceso -CPU-, memoria, dispositivos de entrada/salida, para pasar a ver en detalle dichos componentes. A continuación es estudia en profundidad la estructura y función de la CPU: señales, ciclos de lectura y escritura, mapa del espacio de direcciones, ejecución de instrucciones. El curso se centra entonces en la programación de un microprocesador: modos de direccionamiento, repertorio de instrucciones, técnicas de programación. Por último se estudia el mecanismo de excepciones (incluyendo las interrupciones) y su relación con la entrada/salida y con los sistemas operativos.



Es conveniente haber cursado la asignatura Electrónica Digital para tener unos conocimientos mínimos del diseño de circuitos digitales con puertas lógicas, así como de lógica booleana.



En el ejercicio profesional de un ingeniero en electrónica se necesita entender cómo funciona un computador. Así mismo, en el caso de realizar diseños basados en microprocesadores, SoCs, PICs, etc, resulta útil tener conocimientos que permitan programar en lenguaje ensamblador o al menos ser capaces de comprender código escrito en lenguaje ensamblador.

Skills/Learning outcomes of the subjectToggle Navigation

Competencias proporcionadas: Comprensión de los principios básicos de funcionamiento de los computadores al nivel más profundo tanto en hardware como en software. Capacidad de diseñar un computador sencillo. Capacidad de programar y de comprender programas escritos lenguaje ensamblador. Ser consciente de lo que sucede realmente cuando se diseña y ejecuta un programa en un lenguaje de alto nivel. Comprensión de los mecanismos básicos de entrada/salida y gestión de eventos en tiempo real. Comprensión de cómo el núcleo de un sistema operativo puede gestionar los recursos del hardware de un computador.

Theoretical and practical contentToggle Navigation

1. FUNDAMENTOS.

Perspectiva histórica. Arquitectura de Von Neumann. Buses. Ciclos de lectura y escritura. Mapa de espacio de direcciones de la CPU.

2. DISPOSITIVOS DE MEMORIA.

Tipos de dispositivos de memoria. Estructura y método de acceso. Descodificación de direcciones. Mapeos de dispositivos en el espacio de direcciones de la CPU.

3. REPRESENTACIÓN DE DATOS.

Binario, octal, decimal y hexadecimal. Números enteros: representación sin signo y con signo, concepto de rebose. Números de coma flotante. Representación de caracteres.

4. EJECUCIÓN DE PROGRAMAS.

Codificación de instrucciones. Contador de programa. Fases de la ejecución. Buses y señales de la CPU. Operaciones de lectura y escritura.

5. MODOS DE DIRECCIONAMIENTO.

Concepto de modo de direccionamiento. Modos directos a registro. Modos indirectos a memoria a través de registros. Modos directos a memoria. Modos inmediatos. Modos implícitos.

6. INSTRUCCIONES.

Tipos de instrucciones. Movimiento de datos. Instrucciones aritméticas. Instrucciones lógicas. Desplazamientos y rotaciones. Control de programa. Control del sistema.

7. PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR.

Lenguaje ensamblador y programa ensamblador. Pseudoinstrucciones. Implementación de estructuras de decisión. Implementación de estructuras iterativas. Subrutinas y paso de parámetros. Representación de estructuras de datos.

8. EXCEPCIONES.

Concepto de excepción y necesidad del mecanismo de excepciones. Estados de privilegio. Procesamiento de excepciones. Tabla de vectores. Tipos de excepciones. Interrupciones.

9. ENTRADA/SALIDA.

Dispositivos de entrada/salida. E/S paralelo y serie. E/S por programa (sondeo). E/S por interrupciones. E/S por DMA.

PRÁCTICAS EN SESIONES DE LABORATORIO.

MethodologyToggle Navigation

En GA se resolverán ejercicios relacionados con el contenido de la asignatura.

En GO se realizarán cinco prácticas consistentes en la resolución de ejercicios de programación a bajo nivel de un computador y de uso de la interfaz hardware/software, implementando las soluciones en sistemas reales.

Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 75
    • Realization of Practical Work (exercises, cases or problems) (%): 25

Ordinary Call: Orientations and DisclaimerToggle Navigation

Prueba escrita compuesta de cuestiones y ejercicios de carácter teórico-práctico. (85%)

La asistencia y aprovechamiento de las sesiones prácticas y la calidad de las soluciones a los ejercicios desarrollados en ellas tendrá un peso del 15%. Las prácticas no son obligatorias pero en caso de no haberlas realizado la puntuación correspondiente será cero.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

Prueba escrita similar a la de la convocatoria ordinaria (con un peso del 85%), más un ejercicio específico del tipo de los realizados en las sesiones prácticas, a resolver por escrito pero sin la posibilidad de implementación en un sistema real (con un peso del 15%). Los estudiantes que lo deseen podrán conservar la nota resultante de la evaluación de las prácticas con su peso del 15% y realizar solamente la otra parte de la prueba escrita (peso del 85%).

BibliographyToggle Navigation

Basic bibliography

* Computadores y microprocesadores. A.C. Downton. Addison-Wesley, 1993

* Fundamentos de los computadores. P. de Miguel Anasagasti. Paraninfo, 2007.

* El µP Motorola 68000. José María Alcaide (disponible en eGela).

* The 68000 Microprocessor. James L. Antonakos. Prentice-Hall, 2003.

* Manuales de referencia del µp 68000 y del sistema entrenador 68Fil (que se emplea en las prácticas).

Web addresses

En el curso correspondiente en eGela se proporcionan enlaces a recursos de interés en Internet.

GroupsToggle Navigation

01 Teórico (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-16

13:00-14:00 (1)

16-29

09:30-10:30 (2)

16-30

12:00-13:00 (3)

01 Seminar-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-20

12:00-13:00 (1)

01 Applied classroom-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
18-18

13:00-14:00 (1)

21-29

12:00-13:00 (2)

01 Applied computer-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
23-26

15:00-18:00 (1)

29-29

15:00-18:00 (2)

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-16

13:00-14:00 (1)

16-29

09:30-10:30 (2)

16-30

12:00-13:00 (3)

31 Seminar-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-20

12:00-13:00 (1)

31 Applied classroom-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
18-18

13:00-14:00 (1)

21-29

12:00-13:00 (2)

31 Applied computer-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
24-27

15:00-18:00 (1)

29-29

15:00-18:00 (2)