Type A
|
Code |
Competences Specific | | A7 |
Be able to define, evaluate and select hardware and software platforms for the development and execution of IT systems, services and applications. |
| CM9 |
Know, understand and evaluate the structure and architecture of computers, and the basic components that comprise them. |
Type B
|
Code |
Competences Transversal | | B3 |
Be able to solve problems with initiative, make decisions, be creative, use critical reasoning and communicate and transmit knowledge, abilities and skills in the field of the profession of technical IT engineer. |
| B8 |
Be able to work in groups and in a multilingual and multidisciplinary environment. |
Type C
|
Code |
Competences Nuclear |
Type A
|
Code |
Learning outcomes |
| A7 |
Reinforce their knowledge of the organisation and functioning of Von Neumann structure subsystems: processor, memory, and input/output.
Know how to use assembly language tools to generate programs in machine language for ARM processors.
Sap enllaçar rutines escrites en Llenguatge Assemblador d'ARM amb un programa escrit en llenguatge C.
Use debugging tools to monitor programs written in machine language.
Understand the functions of the interfaces between the computer and peripheral devices, in other words, the input/output drivers.
Be able to analyse polling- and interrupt-based synchronisation methods, and design routines that use these methods effectively and efficiently.
Understand the method of information transfer through direct memory access (DMA) controllers, and design routines that use this method effectively.
Know other more sophisticated systems to manage the Input/Output transfer, based on specialised auxiliary processors.
| | CM9 |
Reinforce their knowledge of the organisation and functioning of Von Neumann structure subsystems: processor, memory, and input/output.
Understand the format of the instructions and the Machine Language data of ARM processors, and know how to locate this information in the memory of the computer.
Be able to analyse a significant set of instructions and addressing modes of the machine language of ARM-compatible processors.
Know how to use assembly language tools to generate programs in machine language for ARM processors.
Translate algorithmic structures (sequential, conditional, iterative) to ARM assembly language.
Convert functions of programs written in the language C to the equivalent in ARM assembly language, in other words, subroutines with parameter passing and result return, both by value and by reference.
Know how to link routines written in ARM assembly language with a program written in the language C.
Use debugging tools to monitor programs written in machine language.
Understand the functions of the interfaces between the computer and peripheral devices, in other words, the input/output drivers.
Be able to analyse polling- and interrupt-based synchronisation methods, and design routines that use these methods effectively and efficiently.
Understand the method of information transfer through direct memory access (DMA) controllers, and design routines that use this method effectively.
Know other more sophisticated systems to manage the Input/Output transfer, based on specialised auxiliary processors.
|
Type B
|
Code |
Learning outcomes |
| B3 |
Configure a system of switches.
Be able to solve problems in an ingenious manner using initiative and creativity whilst taking into account the concepts of the subject.
| | B8 |
Participates and collaborate actively in the team tasks, carries out personal contribution within the time allotted, takes into account the contributions of others and gives constructive feedback.
|
Type C
|
Code |
Learning outcomes |
Topic |
Sub-topic |
1 Introduction |
1.1 Overview of the NDS system |
2 Internal organization of a programable system |
2.1 Components of a computer
2.2 Bus access regulation (Chip Select)
2.3 Memory address controller
2.4 Reflected memory zones
2.5 Access to input/output registers |
3 Internal organization of the NDS platform |
3.1 Interconnection of the main components
3.2 Maps of memory and input/output registers
3.3 Example of an input/output controller: buttons |
4 NDS screens controllers |
4.0 Introduction to computer graphics (2D)
4.1 Interconnection of the graphic components
4.2 Graphic background modes
4.3 Bancs of Video-RAM
4.4 Frame Buffer mode
4.5 Background control registers
4.6 Text backgrounds
4.7 Rotation/Scale backgrounds
4.8 Movable graphical objects (sprites) |
5 Input/Output synchronization |
5.1 Necessity for I/O synchronization
5.2 Synchronization by polling
5.3 Synchronization by interruptions
5.4 Interrupt controller
5.5 Management of interrupt service routines (ISR)
5.6 Syncrhonization by time interruptions |
6 Processes of Input/Output transfers |
6.1 Transfers through CPU
6.2 Transfers through DMA (Direct Memory Access)
6.3 The DMA controller
6.4 Examples of DMA transfers |
7 NDS Sound controller |
7.1 Basic features
7.2 Playing sampled sound
7.3 Polifonic sound and frequency variation
7.4 Access to the sound controller hardware |
8 Communication between ARM9 and ARM7 processors |
8.1 Necessity for communication between processors
8.2 Synchronization through IPCSYNC
8.3 Example of synchronization
8.4 Information transfer through IPCFIFO
8.5 Example of transfer |
Methodologies :: Tests |
|
Competences |
(*) Class hours
|
Hours outside the classroom
|
(**) Total hours |
Introductory activities |
|
1 |
0 |
1 |
Lecture |
|
16 |
16 |
32 |
Problem solving, exercises in the classroom |
|
10 |
22 |
32 |
Laboratory practicals |
|
24 |
24 |
48 |
Personal attention |
|
4 |
0 |
4 |
|
Extended-answer tests |
|
2 |
16 |
18 |
Practical tests |
|
2 |
0 |
2 |
Multiple-choice objective tests |
|
1 |
12 |
13 |
|
(*) On e-learning, hours of virtual attendance of the teacher. (**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies
|
Description |
Introductory activities |
Presentació de l'assignatura |
Lecture |
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 |
Problem solving, exercises in the classroom |
Problemes i exercicis que es resoldran a classe per tal de reforçar els coneixements teòrics |
Laboratory practicals |
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 |
Personal attention |
Hores de consulta per esclarir dubtes sobre teoria, problemes o la pràctica |
Description |
Hores de consulta: http://deim.urv.cat/personal/llistat/15.html |
Methodologies |
Competences
|
Description |
Weight |
|
|
|
|
Practical tests |
|
It will be required to make a program using C and ARM machine language, in order to implement a game on the NDS platform. The program will be developed in two phases. Students will join in groups of up to 4 members, each one will be in charge of developing some tasks for each phase. At the end of each phase every member will be interviewed individually. The grades will be independent with respect to the rest of the group, and maybe limited according to the number of parts of each member that have been integrated into the final program. The final grade of the practical tests will be computed as the arithmetic mean of the two grades of the interviews. It will be required to achieve a minimum grade of 4 in each phase in order to have the right to compute the final grade of the subject. |
30 |
Extended-answer tests |
|
A 2 hours exam in which it will be required to solve a specific problem, consisting in implement a program on the NDS platform to do tasks that need input/output of information, using C and ARM machine language. In the given solution, the student must demonstrate that he/she has a sound understanding of the basic techniques for programming processes for Input/Output information (acces to I/O registers, sincronization through polling/interruption). |
40 |
Multiple-choice objective tests |
|
Multiple-choice test in the Moodle with about 30 questions of single answer over 4 options, about every concept explained in the regular lectures. |
30 |
Others |
|
|
|
|
Other comments and second exam session |
It will be required a minimum grade of 4 out of 10 in every assessment of the subject (in each phase of the practical tests, extended-answer test, objective multiple-choice test), in order to have the right to pass the subject, either in first and second call. The subject will be passed if the weighted mean of the assessments, rounded to the unity, is above or equal to 5 out of 10. The evaluation in the second call presents the same structure than in the first call, i.e., practical tests (two phases), extended-answer test and objective multiple-choice test, but it will only be necessary to go in for the tests with grades below the minimum (4 out of 10). Students that want to improve their grades will also be allowed to take again their passed tests, although it must be understood that the final grade will be the one corresponding to the last provided solution, although it was worse than the previous one. During the completion of all the tests, it will not be allowed the use of any electronic device, nor to consult any writen notes. During the extended-answer test, the time limit should be strictly respected. All solutions submitted just a second after the time limit will be rejected, which will lead to a grade such as not submited exam on that call. |
Basic |
William Holh, ARM Assembly Language: Fundamentals and Techniques, CRC Press, 2009
|
There are also available, at the Moodle space, the didactic materials developed by the same professors of the subject. |
Complementary |
|
|
Subjects that continue the syllabus |
COMPUTER STRUCTURE/17234108 | OPERATING SYSTEM STRUCTURES/17234113 |
|
Subjects that are recommended to be taken simultaneously |
|
Subjects that it is recommended to have taken before |
FUNDAMENTALS OF COMPUTERS/17234002 | THE FUNDAMENTALS OF PROGRAMMING I/17234001 |
|
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation. |
|