Checking date: 31/05/2022

Course: 2022/2023

Computer Organization
Study: Bachelor in Computer Science and Engineering (218)


Department assigned to the subject: Department of Systems Engineering and Automation

Type: Electives
ECTS Credits: 6.0 ECTS


Branch of knowledge: Engineering and Architecture

Requirements (Subjects that are assumed to be known)
- Programming (1st course, 1st semester) - Computer Structure (2nd course, 1st semester) - Operating Systems (2nd course, 2nd semester) - Computer Architecture (3rd course, 1st semester)
The objective of this course is for the student to learn about the evolution and internal structure of computer architectures and the main factors that influence the performance of a computer. Among the concepts that will be studied in depth are: (i) the necessary conditions for parallelism, (ii) the design of the instruction repertoire, (iii) the microarchitecture of the processor, and (iv) the main internal parallelism techniques that are applied in current processors to improve their performance (caches in the processor, dynamic instruction scheduling, hop prediction, superscalarity). Finally, superscalar, supersegmented and VLIW machines will be discussed as an evolution of processors searching for a higher degree of instruction-level parallelism.
Skills and learning outcomes
Description of contents: programme
1. Introduction to computation in parallel. Concept of parallelism and historic evolution. 2. General organization of a computer. 3. Conditions for the parallelism and analysis of the abilities. Analysis of dependencies. Levels of parallelism process and size of the grain. Characteristics of the performance. Theory performance models. 4. Segmentation fundaments. Basic concepts about segmentation. Structures for controlling functional segmented units. 5. Segmented processors. Basic stages of a segmented processor with a static instructions planning. Types of risks and their possible solutions. Multicicle performance. Dynamic instructions planning. Dynamic jumps prediction. 6. Superscalar structures, supersegmented and VLIW. Superscalar and supersegmented processor concept. Uses of a superscalar processor and of supersegmented ones. VLIW processors.
Learning activities and methodology
1. Theory classes. Presentation of the main concepts. Discussion and clarification of doubts about the concepts. We will work on transparencies that will be given to students to facilitate learning and a text or basic reference texts required in the course. (2,5 ECTS) 2. Classes of practical exercises. Sessions in which problems are posed, and students are left in groups to present their solutions. (2,5 ECTS) 3. Laboratories. Students (in small teams) will be offered practical case studies, and they should study them and then take the simulation data and analyze it. Knowledge of the topics covered in masterclasses and practical classes in the subject will be used. A preliminary study will be carried out, work will be carried out in the laboratory, and a written report will be delivered with the results and proposed solutions. (1 ECTS)
Assessment System
  • % end-of-term-examination 0
  • % of continuous assessment (assigments, laboratory, practicals...) 100
Calendar of Continuous assessment
Basic Bibliography
  • J. L. HENNESSY y D.A. PATTERSON. Computer Architecture: A Quantitative Approach. Fourth Edition. Ed Elsevier 2007.
  • J. SILC et al,. ¿Processor Architecture¿. Springer Verlag, 1999.
Additional Bibliography
  • A.R. OMONDI. The Microarchitecture of Pipelined and Superscalar Computers. Kluwer Academic Publishers, 1999.
  • H. S. STONE. High Performance Computer Architecture. Ed Addison Wesley, 1993.
  • P. M KOGGE. The Architecture of Pipelined Computers. Ed Mc Graw Hill, 1981.

The course syllabus may change due academic events or other reasons.