DATOS IDENTIFICATIVOS 2016_17
Asignatura (*) COMPUTADORS Código 17234107
Titulación
Grau d'Enginyeria Informàtica (2010)
Ciclo 1r
Descriptores Cr.totales Tipo Curso Periodo Horarios y datos del examen
6 Obligatòria Segon 1Q
Modalidad y lengua de impartición
Departamento Enginyeria Informàtica i Matemàtiques
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 Aprofundeix en la programació a baix nivell dels computadors introduïda a l'assignatura de 'Fonaments de Computadors', sobretot en els aspectes de les Entrades i Sortides, utilitzant una plataforma hardware basada en un processador ARM.

Competències
Tipo A Código Competencias Específicas
 A7 Capacitat per definir, avaluar i seleccionar plataformes hardware i software per al desenvolupament i l’execució de sistemes, serveis i aplicacions informàtiques.
 CM9 Capacitat de conèixer, comprendre i avaluar l'estructura i arquitectura dels computadors, així com els components bàsics que els conformen.
Tipo B Código Competencias Transversales
 B3 Capacitat per resoldre problemes amb iniciativa, presa de decisions, autonomia i creativitat. Capacitat per saber comunicar i transmetre els coneixements, habilitats i destreses de la professió d’enginyer tècnic en informàtica.
 B8 Capacitat de treballar en grup i en un entorn multilingüe i multidisciplinar.,
Tipo C Código Competencias Nucleares
 C4 Expressar-se correctament de manera oral i escrita en una de les dues llengües oficials de la URV.

Resultats d'aprenentage
Tipo A Código Resultados de aprendizaje
 A7 Reforça el coneixement de l’organització i el funcionament dels subsistemes de l’estructura Von Neumann: Processador, Memòria i Entrada/Sortida.
Sap utilitzar les eines del Llenguatge Assemblador per generar programes en L.M. dels processadors ARM.
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.
 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
 C4 Produeix un text escrit adequat a la situació comunicativa

Continguts
tema Subtema
1 Introducció 1.1 Repàs del llenguatge màquina de processadors ARM
1.2 Visió general del sistema NDS
2 Organització interna d'un sistema programable 2.1 Components del computador
2.2 Regulació de l'accés al bus (Chip Select)
2.3 Controlador d'adreces de memòria
2.4 Zones de memoria reflectides
2.5 Accés als registres d'entrada/sortida
3 Organització interna de la plataforma NDS 3.1 Interconnexió dels components principals
3.2 Mapes de memòria i de registres d'entrada/sortida
3.3 Exemple de controlador d'entrada/sortida: botons
4 Controladors de les pantalles NDS 4.0 Introducció als gràfics per computador (2D)
4.1 Interconnexió dels components gràfics
4.2 Modes de fons gràfics
4.3 Bancs de Vídeo-RAM
4.4 Mode Frame Buffer
4.5 Registres de control dels fons
4.6 Fons de text
4.7 Fons de rotació/escalat
4.8 Objectes gràfics en moviment (sprites)
5 Sincronització d'Entrada/Sortida 5.1 Necessitat de la sincronització d'E/S
5.2 Sincronització per enquesta
5.3 Sincronització per interrupcions
5.4 El controlador d'interrupcions
5.5 Gestió de les rutines de servei d'interrupció (RSI)
5.6 Sincronització per interrupcions de temps
6 Processos de transferència d'Entrada/Sortida 6.1 Transferència mitjançant CPU
6.2 Transferència mitjançant DMA (Direct Memory Access)
6.3 El controlador de DMA
6.4 Exemples de transferència per DMA
7 Controlador de so de la NDS 7.1 Característiques bàsiques
7.2 Reproducció de so mostrejat
7.3 So polifònic i variació de freqüència
7.4 Accés hardware al controlador de so
8 Comunicació entre els processadors ARM9 i ARM7 8.1 Necessitats de comunicació entre processadors
8.2 Sincronització mitjançant IPCSYNC
8.3 Exemple de sincronització
8.4 Transferència d'informació mitjançant IPCFIFO
8.5 Exemple de transferència

Planificació
Metodologías  ::  Pruebas
  Competencias (*) Horas en clase
Horas fuera de clase
(**) Horas totales
Activitats Introductòries
1 0 1
Sessió Magistral
A7
CM9
16 16 32
Resolució de problemes, exercicis a l'aula ordinària
A7
CM9
10 22 32
Pràctiques a laboratoris
A7
CM9
24 24 48
Atenció personalitzada
4 0 4
 
Proves de desenvolupament
A7
CM9
2 16 18
Proves pràctiques
A7
CM9
B3
B8
2 0 2
Proves objectives de tipus 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

Metodologies
Metodologías
  descripción
Activitats Introductòries Presentació de l'assignatura
Sessió 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ó de problemes, exercicis a l'aula ordinària Problemes i exercicis que es resoldran a classe per tal de reforçar els coneixements teòrics
Pràctiques a laboratoris 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ó personalitzada Hores de consulta per esclarir dubtes sobre teoria, problemes o la pràctica

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

Avaluació
Metodologías Competencias descripción Peso        
Proves pràctiques
A7
CM9
B3
B8
Es realitzarà un programa utilitzant C i llenguatge màquina de l'ARM, per tal d'implementar un joc sobre la plataforma NDS. El programa es desenvoluparà en dues fases. Els alumnes formaran grups de fins a 4 components, cadascun dels quals s'encarregarà de programar unes tasques concretes en cada fase. Al final de cada fase, es realitzarà una entrevista personalitzada a cada membre del grup. Les notes seran independents de la resta del grup, i es limitaran en funció del número de parts dels components del grup integrades. La nota de pràctiques de l'assignatura serà la mitjana de les dues notes obtingudes a les entrevistes, sense exigir nota mínima en cada part. 30
Proves de desenvolupament
A7
CM9
Examen de 2 hores on caldrà resoldre un problema concret, que consistirà en implementar un programa sobre la plataforma NDS per realitzar tasques que requeriran Entrada/Sortida d'informació, tot utilitzant C i llenguatge màquina de l'ARM. A la solució presentada, l'alumne haurà de demostrar que domina les tècniques bàsiques de la programació de l'Entrada/Sortida d'informació (accés a registres d'E/S, sincronització per enquesta/interrupció). 40
Proves objectives de tipus test
A7
CM9
Examen tipus test sobre el Moodle amb unes 30 preguntes de resposta única sobre 4 opcions, on les opcions incorrectes resten 1/3 del valor de l'opció correcta, respecte a tots els conceptes explicats a classe de teoria. 30
Otros  
 
Otros comentarios y segunda convocatoria

S'exigirà una nota mínima de 4 sobre 10 en cada una dels apartats d'avaluació de l'assignatura (mitjana de les pràctiques, problema i test), per tal de tenir dret a aprovar l'assignatura, tant en primera com en segona convocatòria.

L'assignatura s'aprova si la mitjana ponderada de les proves, arrodonida a la unitat, és superior o igual a 5 sobre 10.

L'avaluació en segona convocatòria té la mateixa estructura que en primera convocatòria, és a dir, pràctiques (dues fases), problema i test, però només serà necessari presentar-se de les parts que en primera convocatòria en les que s'hagi de superar la nota mínima. També es permetrà presentar-se a pujar nota de les parts superades, però caldrà tenir en compte que la nota definitiva serà la de l'última solució presentada, fins i tot en el cas que s'obtingués un resultat pitjor que en primera convocatòria.

Durant la realització de totes les proves no es permetrà l'utilització de cap mena de dispositiu electrònic, ni tampoc es permetrà consultar cap mena d'apunts.

Durant la realització de l'examen es fixarà un temps límit que s'haurà de respectar estrictament. Es rebutjaran totes les solucions presentades un segon després del temps límit, la qual cosa suposarà una nota de No Presentat en aquella convocatòria.

No es guardaran notes entre cursos acadèmics.


Fonts d'informació

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

També hi haurà els material desenvolupat pels propis professors de l'assignatura, disponible al Moodle en forma de fitxers PDF

Complementària

Recomanacions

Asignaturas que continúan el temario
ESTRUCTURA DE COMPUTADORS/17234108
ESTRUCTURA DE SISTEMES OPERATIUS/17234113

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

Asignaturas que se recomienda haber cursado previamente
FONAMENTS DE COMPUTADORS/17234002
FONAMENTS DE PROGRAMACIÓ/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.