DATOS IDENTIFICATIVOS 2017_18
Asignatura (*) COMPUTADORES Código 17234107
Titulación
Grado en Ingeniería Informática (2010)
Ciclo
Descriptores Cr.totales Tipo Curso Periodo
6 Obligatoria Segundo 1Q
Lengua de impartición
Català
Departamento Ingeniería Informática y Matemáticas
Coordinador/a
ROMANÍ ALSO, SANTIAGO
Correo-e pere.millan@urv.cat
santiago.romani@urv.cat
david.gameza@urv.cat
Profesores/as
MILLAN MARCO, PEDRO
ROMANÍ ALSO, SANTIAGO
GÁMEZ ALARI, DAVID
Web http://moodle.urv.net/moodle/course/view.php?id=31532
Descripción general e información relevante Profundiza en la programació a bajo nivel de computadores introducida en la asignatura de 'Fundamentos de los Computadores', sobretodo en los aspectos de las Entradas y Salidas, utilizando una plataforma hardware basada en un procesador ARM.

Competencias
Tipo A Código Competencias Específicas
 A7 Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
 CM9 Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.
Tipo B Código Competencias Transversales
 B3 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
 B8 Capacidad de trabajar en un entorno multilingüe y multidisciplinar.
Tipo C Código Competencias Nucleares

Resultados de aprendizaje
Tipo A Código Resultados de aprendizaje
 A7 Refuerza el conocimiento de la organización y el funcionamiento de los subsistemas de la estructura Von Neumann: Procesador, Memoria y Entrada / Salida.
Sabe utilizar las herramientas del Lenguaje Ensamblador para generar programas en L.M. los procesadores ARM.
Sabe enlazar rutas escritas en Lenguaje Ensamblador de ARM con un programa escrito en lenguaje C.
Utiliza herramientas de depuración para hacer el seguimiento de los programas escritos en L.M.
Entiende la funcionalidad de los interfaces entre el computador y los dispositivos periféricos, es decir, los controladores de E / S.
Analiza los métodos de sincronización por encuesta y por interrupción, y diseñar rutinas que utilicen estos métodos de manera eficaz y eficiente.
Comprende el método de transferencia de información a través de controladores de acceso directo a memoria (DMA), y diseña rutinas que utilicen este método de manera eficaz.
Conoce otros sistemas más sofisticados para manejar las transferencias de Entrada / Salida, basados en procesadores auxiliares especializados.
 CM9 Reforça el coneixement de l’organització i el funcionament dels subsistemes de l’estructura Von Neumann: Processador, Memòria i Entrada/Sortida.
Entén el format de les instruccions i les dades del Llenguatge Màquina dels processadors ARM, així com saber ubicar aquesta informació dins la memòria del computador.
Analitza un conjunt significatiu d’instruccions i modes d’adreçament del L.M. dels processadors compatibles ARM.
Sap utilitzar les eines del Llenguatge Assemblador per generar programes en L.M. dels processadors ARM.
Tradueix estructures algorísmiques (seqüencials, condicionals, iteratives) a Llenguatge Assemblador d'ARM.
Converteix funcions de programes escrits en llenguatge C a l’equivalent en Llenguatge Assemblador d'ARM, és a dir, subrutines amb el pas de paràmetres i retorn de resultats, tant per valor com per referència.
Sap enllaçar rutines escrites en Llenguatge Assemblador d'ARM amb un programa escrit en llenguatge C.
Utilitza eines de depuració per fer el seguiment dels programes escrits en L.M.
Entén la funcionalitat dels interfícies entre el computador i els dispositius perifèrics, és a dir, dels controladors d’E/ S.
Analitza els mètodes de sincronització per enquesta i per interrupció, i dissenyar rutines que utilitzin aquests mètodes de manera eficaç i eficient.
Comprèn el mètode de transferència d'informació a través de controladors d'accés directe a memòria (DMA), i dissenya rutines que utilitzin aquest mètode de manera eficaç.
Coneix altres sistemes més sofisticats per manegar les transferències d'Entrada/Sortida, basats en processadors auxiliars especialitzats.
Tipo B Código Resultados de aprendizaje
 B3 És capaç de resoldre problemes de forma enginyosa, amb iniciativa i creativitat, tenint en compte els conceptes de l'assignatura.
Realitza les exposicions de forma correcta i eficaç en el context de l'assignatura. La transmisió d'informació és rellevant i oportuna als temes treballats.
 B8 Participa i col·labora activament en les tasques de l'equip, porta a terme la seva aportació individual en el temps previst, té en compte l'aportació dels altres i retroalimenta de forma constructiva.
Tipo C Código Resultados de aprendizaje

Contenidos
tema Subtema
1 Introducción 1.1 Repaso del lenguaje máquina de processadors ARM
1.2 Visión general del sistema NDS
2 Organización interna de un sistema programable 2.1 Componentes del computador
2.2 Regulación del acceso al bus (Chip Select)
2.3 Controlador de direcciones de memoria
2.4 Zonas de memoria reflejadas
2.5 Acceso a los registros de entrada/salida
3 Organitzación interna de la plataforma NDS 3.1 Interconnexión de los componentes principales
3.2 Mapas de memoria y de registros de entrada/salida
3.3 Ejemplo de controlador de entrada/salida: botones
4 Controladores de las pantallas NDS 4.0 Introducción a los gráficos por computador (2D)
4.1 Interconnexión de los componentes gráficos
4.2 Modos de fondos gráficos
4.3 Bancos de Vídeo-RAM
4.4 Modo Frame Buffer
4.5 Registros de control de los fondos
4.6 Fondos de texto
4.7 Fondos de rotación/escalado
4.8 Objetos gráficos en movimiento (sprites)
5 Sincronización de Entrada/Salida 5.1 Necesidad de la sincronización de E/S
5.2 Sincronización por encuesta
5.3 Sincronización por interrupciones
5.4 El controlador de interrupciones
5.5 Gestión de las rutinas de servicio de interrupción (RSI)
5.6 Sincronización por interrupciones de tiempo
6 Procesos de transferencia de Entrada/Salida 6.1 Transferencia mediante CPU
6.2 Transferencia mediante DMA (Direct Memory Access)
6.3 El controlador de DMA
6.4 Ejemplos de transferencia por DMA
7 Controlador de sonido de la NDS 7.1 Características básicas
7.2 Reproducción de sonido muestreado
7.3 Sonido polifónico y variación de frecuencia
7.4 Acceso hardware al controlador de sonido
8 Comunicación entre los procesadores ARM9 y ARM7 8.1 Necesidades de comunicación entre procesadores
8.2 Sincronización mediante IPCSYNC
8.3 Ejemplo de sincronización
8.4 Transferencia de información mediante IPCFIFO
8.5 Ejemplo de transferencia

Planificación
Metodologías  ::  Pruebas
  Competencias (*) Horas en clase
Horas fuera de clase
(**) Horas totales
Actividades introductorias
1 0 1
Sesión magistral
A7
CM9
16 16 32
Resolución de problemas/ejercicios en el aula ordinaria
A7
CM9
10 22 32
Prácticas en laboratorios
A7
CM9
24 24 48
Atención personalizada
4 0 4
 
Pruebas de desarrollo
A7
CM9
2 16 18
Pruebas prácticas
A7
CM9
B3
B8
2 0 2
Pruebas objetivas de tipo test
A7
CM9
1 12 13
 
(*) En el caso de docencia no presencial, serán las horas de trabajo con soporte virtual del profesor.
(**) Los datos que aparecen en la tabla de planificación son de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías
  descripción
Actividades introductorias Presentació de l'assignatura
Sesión magistral Explicació teòrica dels continguts de l'assignatura. Sempre que es pugui s'utilitzarà material propi (documents PDF) que es projectarà amb el canó de vídeo
Resolución de problemas/ejercicios en el aula ordinaria Problemes i exercicis que es resoldran a classe per tal de reforçar els coneixements teòrics
Prácticas en laboratorios Desenvolupament d'un programa sobre la plataforma NDS, amb rutines escrites en llenguatge màquina del processador ARM i parts escrites en llenguatge C. El programa consistirà en un joc matricial
Atención personalizada Hores de consulta per esclarir dubtes sobre teoria, problemes o la pràctica

Atención personalizada
descripción
Hores de consulta: http://deim.urv.cat/personal/llistat/15.html

Evaluación
Metodologías Competencias descripción Peso        
Pruebas prácticas
A7
CM9
B3
B8
Se realizará un programa utilizando C y lenguaje máquina del ARM, para implementar un juego sobre la plataforma NDS. El programa se desarrollará en dos fases. Los alumnos formarán grupos de hasta 4 componentes. Al final de cada fase, se realizará una entrevista personalizada a cada miembro del grupo. Las notas serán independientes del resto del grupo, y se limitarán en función del número de partes de los componentes del grupo integradas. La nota de prácticas de la asignatura será la media de las dos notas obtenidas en las entrevistas, sin exigir nota mínima en cada parte. 30
Pruebas de desarrollo
A7
CM9
Examen de 2 horas donde será necesario resolver un problema concreto, que consistirá en implementar un programa sobre la plataforma NDS para realizar tareas que requerirán Entrada/Salida de información, utilizando C y lenguaje máquina del ARM. En la solución presentada, el alumno deberá demostrar que domina las técnicas básicas de la programación de Entrada/Salida de información (acceso a registros de E/S, sincronización per encuesta/interrupción). 40
Pruebas objetivas de tipo test
A7
CM9
Examen tipo test sobre el Moodle con unas 30 preguntas de respuesta única sobre 4 opciones, respecto a todos los conceptos explicados en clase de teoría. 30
Otros  
 
Otros comentarios y segunda convocatoria

Se exigirá una nota mínima de 4 sobre 10 en cada una de las partes de evaluación de la asignatura (media de las prácticas, problema, test), para tener derecho a aprobar la asignatura, tanto en primera como en segunda convocatoria.

La asignatura se aprueba si la media ponderada de las pruebas, redondeada a la unidad, es superior o igual a 5 sobre 10.

La evaluación en segunda convocatoria tiene la misma estructura que la primera convocatoria, es decir, práctica (dos fases), problema y test, pero solo será necesario presentarse de las partes que en primera convocatoria no se hayan presentado o no se haya llegado al 4 sobre 10. También se permitirá presentarse a subir nota en las pruebas superadas, pero habrá que tener en cuenta que la nota definitiva será la de la última solución presentada, incluso en el caso que se obtuviese un resultado peor que en primera convocatoria.

Durante la realización de todas las pruebas no se permitirá la utilización de ningún tipo de dispositivo electrónico, ni tampoco se permitirá consultar ningún tipo de apuntes.

Durante la realización del examen se fijará un tiempo límite que se deberá respetar estrictamente. Se rechazarán todas las soluciones presentadas un segundo después del tiempo límite, lo cual supondrá una nota de No Presentado en esa convocatoria.

No se guardarán notas entre cursos académicos.


Fuentes de información

Básica William Holh, ARM Assembly Language: Fundamentals and Techniques, CRC Press, 2009

También habrá los materiales desarrollados por los propios profesores de la asignatura, disponibles en el Moodle como ficheros PDF

Complementaria

Recomendaciones

Asignaturas que continúan el temario
ESTRUCTURA DE COMPUTADORES/17234108
ESTRUCTURA DE SISTEMAS OPERATIVOS/17234113

Asignaturas que se recomienda cursar simultáneamente
PROGRAMACIÓN/17234114

Asignaturas que se recomienda haber cursado previamente
FUNDAMENTOS DE COMPUTADORES/17234002
FUNDAMENTOS DE PROGRAMACIÓN/17234001
(*)La Guía docente es el documento donde se visualiza la propuesta académica de la URV. Este documento es público y no es modificable, excepto en casos excepcionales revisados por el órgano competente o debidamente revisado de acuerdo la normativa vigente.