Credits
6
Types
Compulsory
Requirements
This subject has not requirements
, but it has got previous capacities
Department
AC
Web
https://docencia.ac.upc.edu/FIB/GIA/FC/
Mail
jverdu@ac.upc.edu
Teachers
Person in charge
- Javier Verdu Mula ( jverdu@ac.upc.edu )
Others
- Xavier Martorell Bofill ( xavim@ac.upc.edu )
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Transversals
Basic
Especifics
Generic
Objectives
-
Knowledge about the features and limitations, especially about accuracy error, of the different data representation formats in a computer
Related competences: CB1, CE03,
Subcompetences- Implementation of basic operations
- From the representation of basic data to advanced formats
-
Knowledge about a processor architecture based on Von Neumann model, as well as its key components
Related competences: CG2, CG3, CT3, CB4, CE05, CE11,
Subcompetences- Understand the cost and energy consumption of executing an instruction
- Memory hierarchy and its properties, especially the locality
- Parallelism with SIMD
-
Knowledge about logical memory space, from how it is used to how some contents are managed
Related competences: CB4, CE19,
Subcompetences- Usage and management of libraries in the memory
-
Knowledge about the basic concepts of an Operating System and understand the impact on performance and energy consumption of a system
Related competences: CG4, CG9, CB5, CE06, CE11,
Subcompetences- File system and I/O
- Memory and process management
-
Knowledge about the procedure to create and debug a program, as well as its requirements
Related competences: CG9, CB5, CE03, -
Ability to discus and compare the resolution of problems and practical exercises
Related competences: CE28, CG5, CG8, CT2, CT6, CB4, CE06, CE07, -
Understand the relation between the course and the AI area
Related competences: CG9, CB1,
Contents
-
Course Introduction
A brief introduction about the course, topics, and its relation with the AI area -
Data Representation
This lesson is focused on the data representation with different complexity levels, their limitations and the implementation of basic operations -
Processor Architecture
Introduction of the processor architecture, based on the Von Neumann's model, and its components -
Memory Hierarchy
Present the memory hierarchy properties, especially the concepts of locality and reutilization, and the potential impact on performance and energy consumption -
Introduction of parallelism based on SIMD
Introduction of the concept and key aspects of SIMD parallelism -
Implications of executing an instruction
Description of consequences related to cost, potential bottlenecks and energy consumption, from the architecture point of view, when executing an instruction -
Logical Memory Space
Presentation of basic points to understand the aim, build, usage, and management of the logical memory space -
Introduction of libraries
Presentation of the concept and purpose behind the libraries as well as the required management from the point of view of the logical memory space -
Create Executables
Introduction of compilation and interpretation processes, including the debugging as well. Comparison of requirements and limitations of generated executables -
Impact of Operating Systems on performance and energy consumption
Define Operating Systems and their key aspects that impact on the system performance and energy consumption -
Basic components of Operating Systems
Present I/O and File System subsystems of the Operating System, from the point of view and detail level of program developer. Besides, aspects of memory management are also introduced
Activities
Activity Evaluation act
Course Introduction
This activity presents the goals, contents, and the way to work in the course. Besides, in the lab, useful key points will be introduced required to fulfill the practice sessions.Objectives: 7
Contents:
Theory
0.5h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
3h
Data Representation and Basic Operations
This lesson includes the data representation, from basic concepts, types of numbers, and finally, advanced data representation. Besides, other points, such as data precision and basic operations will be also addressedObjectives: 1
Contents:
Theory
5.5h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
10h
Processor Architecture
We introduce the architecture of uniprocessor systems, from the Von Neumann architecture and its key components. Besides, we also present the conseqüences of executing an instruction, among other reasons to understand potential bottlenecks and the cost of executing an instruction, especially in relation to the energy consumption and its relation with the architecture.Objectives: 2
Contents:
Theory
8h
Problems
0h
Laboratory
8h
Guided learning
0h
Autonomous learning
16h
Program Execution and its environment
This lesson comprises two parts. The first one explains how to generate a program (both if it was a compiled or an interpreted program). The second part presents the Operating System and a set of concepts and features to understand its relevance for the program execution and its impact on the performance and the energy.Objectives: 4 5
Contents:
Theory
6h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
14h
Logical memory
We present the logical memory address space and its key features, as well as understand the concept behind the libraries and their main aspects.Objectives: 3
Contents:
Theory
6h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
12h
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The course is based on classroom theory and laboratory. The lectures follow the program set out in this syllabus, are usually based on material provided through slides.On the lectures, the course promotes a dialogue between teacher and students by providing activities carried out jointly based on particular aspects of the current topic.
Laboratory sessions follow the same subjects and are based on two different types of lectures: 1) practice sessions using a computer and using some wordings; 2) exercises/problems to be solved in the whiteboard or through a presentation/explanation for the other students.
Evaluation methodology
There are two exams for the theory part:- PT: The partial theory control (20%)
- FT: The final theory exam (35%)
- FL: The final lab exam (35%)
- SL: the marks of tracking lab (10%) come from individual tests performed in particular lab sessions.
Regular Assessment: The final mark (NF) of the course comes from
NF = 35%FL + 10%SL + MAX(55%FT; (20%PT+35%FT))
Reassessment: will be done on June. Only the students that have failed the course (i.e. those have done the partial and/or final theory exams) can have the chance to do the Reassessment exam (only theory). If the student pass the exam, the highest mark of the exam and, thus the highest final mark of the course will be 7.
Bibliography
Basic
-
Computer systems : a programmer's perspective
- Bryant, Randal E; O'Hallaron, David,
Pearson,
2016.
ISBN: 9781292101767
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004062589706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Documentació de l'assignatura https://docencia.ac.upc.edu/FIB/GIA/FC/