ECTS credits ECTS credits: 4.5
ECTS Hours Rules/Memories Student's work ECTS: 70.5 Hours of tutorials: 2 Expository Class: 18 Interactive Classroom: 22 Total: 112.5
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Architecture and Technology
Center Higher Technical Engineering School
Call: Second Semester
Teaching: With teaching
Enrolment: Enrollable
This course has as objective to let students know the fundamental aspects of current microprocessors and future technology trends. A special emphasis will be made on multicore architectures. Another important objective is to correlate the different architectural elements of the processor and the performance that may be achieved through programming.
PROGRAM
The program of theory concepts will be developed during a total of 18 classes. A total of 22 hours will de devoted to labs and resolution of practical cases.
THEORY
Topic 1: Fundamentals of computer design.
Introduction.
Classification of computers.
Concept and types of parallelism.
Classification of parallel architectures.
Multicore processors. Concepts.
Performance scaling in microprocessors.
Performance evaluation.
Topic 2: Parallelism at instruction level. Segmentation.
MIPS architecture: single- and multi-cycle implementations.
Stream segmentation. Basic concepts.
Execution risks:
Structural
Data: blocking and forwarding.
Control: jump handling.
Exceptions
Practical cases
Topic 3. Processing cores. Parallelism at instruction level.
Static and dynamic multiple emission.
MIPS with static dual broadcast
Dynamic multicast
Static multiple broadcast and static scheduling
Dynamic planning
Hardware-based speculation
Energy Efficiency
Topic 4: Shared Memory Subsystem
Introduction
Cache Coherence Protocols
Snooping Protocols (UMA architectures with scalable network)
Example of snooping protocol
Directory-based protocols (physically distributed memory multiprocessor architectures (CC-NUMA))
Example of a directory-based protocol
PROBLEMS AND CASE STUDIES (4 hours).
A total of four hours will be devoted to the resolution of problems and case studies related to the concepts described in the theory classes.
LABS (18 hours)
BLOCK 1: Influence of the cache subsystem in the processor performance (6 hours)
BLOCK 2: Performance optimization for multicore systems (12 hours).
Basic:
Hennessy, John .L. Y Patterson, David. L., Computer Architecture: A Quantitative Approach, 5 Edition, USA, Morgan Kaufmann, 2011, 978-0123838728.
Patterson, David. A. y Hennessy, John .L., Computer Organization and Design ARM Edition: The Hardware Software Interface, 4 Edición, USA, Morgan Kaufmann, 2017, 978-0128017333.
These are classical references for computer architecture courses covering all the topics of this course.
Complementary:
Shen, J.P. Y Lipasti, M.H., Modern Processor Design: Fundamentals of Superscalar Processors, 3 Edición, USA, Waveland Press, 2013, 9781478610762.
Interesting reference, that also covers a significant part of the contents of the course, with emphasis in superscalar processors.
NOTE: All relevant references are currently available from publishers in their catalogue. In addition, links to relevant information and pdfs corresponding to free online material relevant to the subject and to the presentations used in the theory classes, including the "lecture notes" mentioned above, will be provided through the virtual campus.
To contribute to achieve the competences described in the document "Grao de Enxeñería Informática na USC" (CG4, CG6, CG9, TR1, TR2, TR3, FB5, RI1, RI2, RI9, RI14, TI2).
CG4: Capacity to define, to evaluate and to select hardware and software platform for the development and execution of systems, services and computer applications, according to the adquared knowledge according to the stablished in section 5 of "Acuerdo del Consejo de Universidades del 03/03/2009 para los títulos oficiales en el ámbito de la Ingeniería Técnica Informática".
CG6: Ability to design and develop centralized or distributed computer systems or architectures integrating hardware, software and networks according to the knowledge acquired according to section 5 of the "Acuerdo del Consejo de Universidades del 03/03/2009 para los títulos oficiales en el ámbito de la Ingeniería Técnica Informática".
CG9: Ability to solve problems with initiative, decision making, autonomy and creativity. Ability to know how to communicate and transmit the knowledge, skills and skills of the Computer Engineering profession
TR1. Instrumental: capacity for analysis and synthesis. Ability to organize and plan. Oral and written communication in Galician, Spanish and English. Ability to manage information. Problem resolution. Decision making.
TR2. Personal: Teamwork. Work in a multidisciplinary and multilingual team. Skills in interpersonal relationships. Critical thinking. Ethical commitment.
TR3. Systemic: Autonomous learning. Adapting to new situations. Creativity. Initiative, entrepreneurial spirit. Motivation for quality. Sensitivity for environmental issues.
FB5. Knowledge of the structure, organization, operation and interconnection of the computer systems, the fundamentals of its programming, and its application for solving problems specific to Engineering.
RI1. Ability to design, develop, select and evaluate applications and computer systems, ensuring their reliability, safety and quality, in accordance with ethical principles and current legislation and regulations.
RI2. Ability to plan, conceive, deploy and direct projects, services and IT systems in all areas, leading its implementation and continuous improvement and assessing its economic and social impact.
RI9. Ability to know, understand and evaluate the structure and architecture of computers, as well as the basic components that make them up.
RI14. Knowledge and application of the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming.
TI2. Ability to select, design, deploy, integrate, evaluate, build, manage, exploit and maintain hardware, software and network technologies, within the parameters of cost and quality.
Competences associated to the Computer Engineering module:
To adquire a complete vision of the architecture and orgranization of state of the art microprocessors, from conventional single core to multicore systems.
Regular Classes (18 hours): during these classes, the professor will present briefly the contents of the program of theory.
Labs (18 hours): these classes will be devoted to develop the labs proposed for the course. The students will be the active elements in these classes, and the professor will guide the learning process by answering the different questions raised by them. Labs guides and objectives will be provided through the virtual campus of the USC.
Classes for resolution of exercises (4 hours): during these classes, the questions and problems proposed for the different parts of the course will be resolved. The objective is that these exercises motive the students to gain insight into the contents of the course.
Development of competences:
CG4 and CG6: the material contributes to develop these competences through the knowledge of the architecture of the microprocessors and the main memory system. In the lectures the main concepts are developed and numerous examples are shown; In interactive classes students have the opportunity to perform exploration exercises related to these issues, and in interactive classes of a practical nature, students design programs that later evaluate on computer platforms. All these actions allow the student to acquire the ability to define, evaluate and select hardware platforms and centralized or distributed computer architectures, as far as the microprocessor and the main memory system are concerned.
CG9: In solving problems, and especially in the proposed practices, students implicitly develop this competence. In many cases the exercises are open, which forces decision making, autonomously seek information and the application of creative solutions. The two practices that arise are of sufficient complexity to allow the autonomous and creative exploration of the different solutions and commitments that the requirements allow. Students must submit problems in writing and a memory of each of the practices. The teacher emphasizes the importance of the quality of the communication of results, giving precise indications in this regard. Almost all the students have the opportunity to present to the rest of their classmates their solution of some of the proposed exercises. In this phase the professed works with the students the capacity of effective communication of results in a limited time.
TR1: The following aspects are developed:
- Ability of analysis and synthesis: the two practical cases are intended to enhance the ability of the students. Basically they consist of carrying out a series of experiments in which they obtain experimental data. They should then analyze the results and make a coherent interpretation of the results.
- Capacity of organization and planning: all the exercises and practices to be delivered have strict deadlines of delivery, so that this is why the students have a clear incentive to improve their capacities of organization and planning. To help students, in the case of internships, in addition to the deadline, the number os sessions recommended are indicated.
- Oral and written communication in native and foreign languages: the quality of presentation and writing of the reports of the practices appear in the evaluation criteria. We spend some time discussing how the structure of the reports and the most relevant aspects should be to achieve quality results. During the interaction with the students in the practical classes, when attending the doubts of the students, the professor has as a rule not to look at the computer screen, and therefore the student has to verbally explain to the teacher the problem in clear and concise way. As far as the foreign language is concerned, students have to consult manuals and documents in English to carry out some of the exercises and practices.
- Problem solving: there are some "problems" that require a greater degree of elaboration, with open solutions in which the student has to assume certain reasonable assumptions.
TR2: The following aspects are developed:
- Teamwork: The practices are carried out in groups of two people, which requires some coordination. On the other hand, for the resolution of exercises and problems, students are encouraged to discuss the issues as a team.
- Critical reasoning: Students participate in solving issues and problems in interactive classes. They are asked to think and criticize the solutions proposed by other colleagues.
- Ethical commitment: there will be a special incidence in avoiding plagiarism for the injustice that results, and for the risks involved for the students: it will be made known that there is an anti-plagiarism regulation at the School that can have serious consequences, and that the teacher will not hesitate in applying it if clear cases are detected.
TR3: The following aspects will be developed:
- Autonomous learning: some parts of the subject are not explained in detail in class and are simply provided material for autonomous study. In the practices it is necessary to deepen in some concepts that were not explained in detail in class, reason why the own student has to deepen in these concepts in autonomous way.
- Creativity: this is a criteria that is evaluated in the practices - creativity and elegance of the solutions provided. On the other hand, some of the problems proposed are very open, which requires some degree of creativity to provide an elegant solution.
- Motivation for the quality: this is a criterion that is valued in the note of practices and exercises, making an explicit emphasis in this aspect when proposing the statements. It explains with examples what the objective is and how to achieve it in terms of quality and the student has the incentive to apply it due to the evaluation criteria.
- Sensitivity to environmental issues: special attention will be paid to the problem of power / energy consumption of microprocessors, and the need to reduce it to contribute to a sustainable society. On the other hand, when it is necessary to deliver exercises or practice reports it is indicated that it uses the least possible paper, and with austere materials (eg staple binding, etc).
FB5: the subject deepens in the knowledge acquired by the students of the architecture of microprocessors and main memory systems. Special emphasis is placed on the lectures on the implications of the architecture in the programming model (for multi-threaded programming and vector programming). The second practice allows to develop this competence as students have to program an Engineering problem (of limited complexity) in order to exploit to the maximum the capabilities to accelerate the computations present in the current microprocessors.
RI1: in the two practices of the subject, the students have to develop a small application that allows to evaluate certain aspects of the microprocessors that are used as test platform. Special emphasis is placed on the reliability and quality of the programs carried out, discussing the importance of these issues and as an incentive of these, are taken into account in the evaluation criteria.
RI2 and RI9: The microprocessor and memory system is an essential part of any computer system. Therefore, the contents that are taught in relation to the knowledge of the microprocessors and the memory system contribute to the development of these competences. The aspects of energy and power consumption that we address are also essential in assessing the economic and social impact of any project.
RI14: as part of the contents on microprocessors, we approach the study of multicore microprocessors, from the point of view of its architecture and its possible future evolution. We introduce the student in parallel and concurrent programming through the second practic e, in which the student has to parallelize a problem with multi-thread and vector techniques.
TI2: the different teaching activities we do, as well as the incentives of the evaluation system contribute to develop the different aspects of this competence, within the framework that affects the microprocessor and the memory system, and to some extent, the software programming model .
Regarding the ""Competencias asociadas al módulo de Enxeñería de Computadores" within the grade:
- Acquire a complete view of the architecture and organization of current microprocessors from single core systems to multi-core systems.
All the teaching activities of the subject are focused to work this competence in depth.
REQUIREMENTS TO PASS IN ANY EXAMINATION:
To pass the subject, it will be essential to obtain the minimum passing score (5 out of 10) both in the continuous assessment part and in the exam part.
Contributions to the final grade and evaluation criteria:
- Labs (50%): the work performed will be graded according to the degree of achievement according to specifications, methodology and rigor, and presentation of results. You cannot pass the practicals if you score below 4 out of 10 in any of them.
- Final Exam (50%): at the end of the course an exam will be performed, asking short questions about the contents of the course to determine the degree of assimilation of the different concepts.
Attendance to classes is not mandatory except for the practical classes dedicated to solving exercises in small groups, which will be evaluated in the classroom, and one class per practice session that will be announced by the professor in advance.
Extraordinary and July evaluation: it will not be possible to be evaluated of the labs in this evaluation. The distribution of the final grade will be as in the regular evaluation.
Conditions for the qualification “Non presentado”: not to deliver any lab nor perform the exam.
For 4.5 ECTS credits, the personal work of a student should be about 67.5 hours, distributed in the following way:
- Autonomous work: 25 hours, devoted to the assimilation of the theoretical contents of the course, and preparation of assigments by the professor to make presentations of different topics at class.
- Writing exercises, conclusions and other assigments: 12 hours, basically devoted to solve problems and exercises.
- Programming/experimentation: 20 hours, devoted to the resolution of the labs and preparation for presentation of results.
- Evaluation activities: 10.5 hours, devoted to the exam and additional activities related with the avaliation of labs and exercises.
The scheduling of tasks will try to achieve a uniform distribution of workload during the course. However, this distribution may vary at some hot spots such us when presenting results of the labs or problems and exercises.
This course is designed to achieve a high student participation during its development. It is important to have a clear understanding of the basic concepts related to computers studied in the subject Computer Fundamentals, as the subject will be built upon them.
The course will be taught in Spanish
Dora Blanco Heras
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- Phone
- 881816462
- dora.blanco [at] usc.es
- Category
- Professor: University Professor
Natalia Seoane Iglesias
- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- Category
- Professor: University Lecturer
Cesar Alfredo Piñeiro Pomar
- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- cesaralfredo.pineiro [at] usc.es
- Category
- Professor: Intern Assistant LOSU
Tuesday | |||
---|---|---|---|
09:30-11:30 | Grupo /CLIL_01 | Spanish | Computer Room I4 |
Wednesday | |||
12:00-14:00 | Grupo /CLIL_03 | Spanish | Computer Room I4 |
Thursday | |||
10:00-12:00 | Grupo /CLIL_05 | Spanish | IA.S2 |
17:00-18:30 | Grupo /CLE_01 | Spanish | Classroom A2 |
Friday | |||
12:00-14:00 | Grupo /CLIL_02 | Spanish | IA.14 |
01.14.2025 10:00-14:00 | Grupo /CLIL_05 | Work Classroom |
01.14.2025 10:00-14:00 | Grupo /CLIL_04 | Work Classroom |
01.14.2025 10:00-14:00 | Grupo /CLE_01 | Work Classroom |
01.14.2025 10:00-14:00 | Grupo /CLIL_01 | Work Classroom |
01.14.2025 10:00-14:00 | Grupo /CLIL_02 | Work Classroom |
01.14.2025 10:00-14:00 | Grupo /CLIL_03 | Work Classroom |
06.02.2025 10:00-14:00 | Grupo /CLIL_02 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLIL_03 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLE_01 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLIL_05 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLIL_04 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLIL_01 | Classroom A3 |
06.02.2025 10:00-14:00 | Grupo /CLIL_01 | Classroom A4 |
06.02.2025 10:00-14:00 | Grupo /CLIL_02 | Classroom A4 |
06.02.2025 10:00-14:00 | Grupo /CLIL_03 | Classroom A4 |
06.02.2025 10:00-14:00 | Grupo /CLE_01 | Classroom A4 |
06.02.2025 10:00-14:00 | Grupo /CLIL_05 | Classroom A4 |
06.02.2025 10:00-14:00 | Grupo /CLIL_04 | Classroom A4 |
06.27.2025 16:00-20:00 | Grupo /CLE_01 | Classroom A1 |
06.27.2025 16:00-20:00 | Grupo /CLIL_05 | Classroom A1 |
06.27.2025 16:00-20:00 | Grupo /CLIL_04 | Classroom A1 |
06.27.2025 16:00-20:00 | Grupo /CLIL_01 | Classroom A1 |
06.27.2025 16:00-20:00 | Grupo /CLIL_02 | Classroom A1 |
06.27.2025 16:00-20:00 | Grupo /CLIL_03 | Classroom A1 |