DADES IDENTIFICATIVES 2023_24
Assignatura (*) COMPUTADORS Codi 17234107
Ensenyament
Grau en Enginyeria Informàtica (2010)
Cicle 1r
Descriptors Crèd. Tipus Curs Període
6 Obligatòria Segon 1Q
Llengua d'impartició
Català
Departament Enginyeria Informàtica i Matemàtiques
Coordinador/a
ROMANÍ ALSO, SANTIAGO
Adreça electrònica pere.millan@urv.cat
santiago.romani@urv.cat
victoreduardo.navas@urv.cat
francescxavier.iglesias@urv.cat
Professors/es
MILLAN MARCO, PEDRO
ROMANÍ ALSO, SANTIAGO
NAVAS MONTENEGRO, VICTOR EDUARDO
IGLESIAS MARCA, FRANCESC XAVIER
Web http://https://campusvirtual.urv.cat/local/alternatelogin/index.php
Descripció general i informació rellevant <div>DESCRIPCIÓ GENERAL DE L'ASSIGNATURA: 'Computadors' aprofundeix en l'aprenentatge de la programació a baix nivell introduïda a l'assignatura de 'Fonaments dels Computadors', centrant-se en els aspectes relacionats amb els controladors d’Entrada/Sortida, és a dir, connexió al bus i accés als registres d’Entrada/Sortida, així com la sincronització de l'accés als controladors mitjançant tècniques d'enquesta i interrupció. Tots aquests conceptes s'exemplifiquen utilitzant la plataforma Nintendo® DS, que incorpora dos processadors ARM i diversos controladors interns d'E/S (pantalles, botons, temporitzadors, DMA, so, etc.).</div>

Competències
Tipus A Codi Competències Específiques
 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.
Tipus B Codi Competències Transversals
 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.,
 CT3 Resoldre problemes de manera crítica, creativa i innovadora en el seu àmbit d’estudi
  CT4 Treballar de forma autònoma i en equip amb responsabilitat i iniciativa
Tipus C Codi Competències Nuclears

Resultats d'aprenentage
Tipus A Codi Resultats d'aprenentatge
 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.
Tipus B Codi Resultats d'aprenentatge
 B3 És capaç de resoldre problemes de forma enginyosa, amb iniciativa i creativitat, tenint en compte els conceptes de l'assignatura.
 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.
 CT3 Identifica la situació plantejada com un problema en l’àmbit de la disciplina i té la motivació per afrontar-lo
Segueix un mètode sistemàtic per dividir el problema en parts, identifica les causes i aplica els coneixements propis de la disciplina
Dissenya una solució nova utilitzant els recursos necessaris per afrontar el problema
Inclou els aspectes concrets de la solució proposada en un model realista
Reflexiona sobre el model proposat i es capaç de trobar-hi limitacions i proposar millores
  CT4 Identifica el propi rol dins del grup i coneix els objectius i tasques del grup
Comunica i actua dins del grup per facilitar la cohesió i el rendiment
Es compromet amb les tasques i l’agenda del grup
Col·labora dins del grup en un bon clima de treball i en la resolució de problemes
Tipus C Codi Resultats d'aprenentatge

Continguts
Tema Subtema
1 Introducció 1.1 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 temporals
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 al hardware del 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ó
Metodologies  ::  Proves
  Competències (*) Hores a classe
Hores fora de classe
(**) Hores totals
Activitats Introductòries
1 0 1
Sessió Magistral
A7
CM9
18 18 36
Resolució de problemes, exercicis a l'aula ordinària
A7
CM9
14 14 28
Pràctiques a laboratoris
A7
CM9
20 20 40
Atenció personalitzada
4 0 4
 
Proves de desenvolupament
A7
CM9
2 10 12
Proves pràctiques
A7
CM9
B3
B8
2 16 18
Proves objectives de tipus test
A7
CM9
1 10 11
 
(*) En el cas de docència no presencial, són les hores de treball amb suport vitual del professor.
(**) Les dades que apareixen a la taula de planificació són de caràcter orientatiu, considerant l’heterogeneïtat de l’alumnat

Metodologies
Metodologies
  Descripció
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 que es resoldran a classe (amb participació dels alumnes) 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 normalment consistirà en un joc sobre una matriu de cel·les
Atenció personalitzada Hores de consulta per esclarir dubtes sobre teoria, problemes o les pràctiques

Atenció personalitzada
Descripció

Temps reservat per resoldre dubtes dels alumnes de manera individual. Les reunions podran ser presencials o en línia, en horaris concertats prèviament per correu electrònic.

Horari oficial de consulta: http://deim.urv.cat/personal/llistat/15.html


Avaluació
Metodologies Competències Descripció Pes        
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, així com un programa de test específic per a provar el funcionament de les tasques implementades (obligatori). Al final de cada fase caldrà pujar el codi font al servidor git del departament, dins les dates límit establertes per cada fase i convocatòria. És molt recomanable anar pujant commits progressius, i no un únic commit amb l'última versió. 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 tasques integrades al programa final. La nota de pràctiques de l'assignatura serà la mitjana aritmètica de les dues notes obtingudes a les entrevistes. 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ó, etc.), així com la programació a baix nivell del computador (llenguatge màquina). 40%
Proves objectives de tipus test
A7
CM9
Examen tipus test sobre el Moodle amb unes 12 preguntes sobre tots els conceptes explicats a classe de teoria. Les preguntes poden ser de resposta única sobre 4 opcions, on les opcions incorrectes resten 1/3 del valor de l'opció correcta, o bé de resposta calculada, on les respostes incorrectes no resten. 30%
Altres  
 
Altres comentaris i segona convocatòria

S'exigirà una nota mínima de 4 sobre 10 en cada un dels apartats d'avaluació de l'assignatura (cada fase de la pràctica, 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 en les que en primera convocatòria no s'hagi superat la nota mínima (4 sobre 10), la resta de notes es conservaran íntegres entre convocatòries. 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à la utilització de cap mena de dispositiu electrònic, ni tampoc es permetrà consultar cap tipus de documentació.

Els exàmens de test i del problema es realitzaran de forma presencial. Les entrevistes de practiques es podran realitzar tant presencialment com mitjançant videoconferència, segons ho estableixi el professor corrector.


Fonts d'informació

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

Les principals fonts d'informació son els materials docents desenvolupats pels propis professors de l'assignatura, disponibles al Moodle.

Complementària

Recomanacions

Assignatures que en continuen el temari
ESTRUCTURA DE COMPUTADORS/17234108
FONAMENTS DE SISTEMES OPERATIUS/17234112
ESTRUCTURA DE SISTEMES OPERATIUS/17234113

Assignatures que es recomana cursar simultàniament
PROGRAMACIÓ/17234114

Assignatures que es recomana haver cursat prèviament
FONAMENTS DE COMPUTADORS/17234002
FONAMENTS DE PROGRAMACIÓ I/17234001
FONAMENTS DE PROGRAMACIÓ II/17234131
(*)La Guia docent és el document on es visualitza la proposta acadèmica de la URV. Aquest document és públic i no es pot modificar, llevat de casos excepcionals revisats per l'òrgan competent/ o degudament revisats d'acord amb la normativa vigent