Computer Organization

Credits
7.5
Types
Compulsory
Requirements
This subject has not requirements, but it has got previous capacities
Department
AC
The subject deals with the basic computer organization in order to support high-level programming languages, both at the point of view of the data types used by the programs and for the most common control statements.

Teachers

Person in charge

  • Jordi Tubella Murgadas ( )

Others

  • Adrià Armejach Sanosa ( )
  • Agustín Fernández Jiménez ( )
  • Angel Toribio Gonzalez ( )
  • Antonio Jose Peña Monferrer ( )
  • David Álvarez Robert ( )
  • Joan Manuel Parcerisa Bundo ( )
  • Jose M. Cela Espin ( )
  • Josep-Llorenç Cruz Diaz ( )
  • Octavio Castillo Reyes ( )
  • Roger Baig Viñas ( )
  • Rubén Tous Liesa ( )
  • Toni Cortés Rosselló ( )

Weekly hours

Theory
2.7
Problems
1.3
Laboratory
1
Guided learning
0
Autonomous learning
7.5

Competences

Technical Competences

Common technical competencies

  • CT1 - To demonstrate knowledge and comprehension of essential facts, concepts, principles and theories related to informatics and their disciplines of reference.
    • CT1.1A - To demonstrate knowledge and comprehension about the fundamentals of computer usage and programming, about operating systems, databases and, in general, about computer programs applicable to the engineering.
    • CT1.1B - To demonstrate knowledge and comprehension about the fundamentals of computer usage and programming. Knowledge about the structure, operation and interconnection of computer systems, and about the fundamentals of its programming.
  • CT3 - To demonstrate knowledge and comprehension of the organizational, economic and legal context where her work is developed (proper knowledge about the company concept, the institutional and legal framework of the company and its organization and management)
    • CT3.6 - To demonstrate knowledge about the ethical dimension of the company: in general, the social and corporative responsibility and, concretely, the civil and professional responsibilities of the informatics engineer.
  • CT5 - To analyse, design, build and maintain applications in a robust, secure and efficient way, choosing the most adequate paradigm and programming languages.
    • CT5.2 - To know, design and use efficiently the most adequate data types and data structures to solve a problem.
  • CT6 - To demonstrate knowledge and comprehension about the internal operation of a computer and about the operation of communications between computers.
    • CT6.2 - To demonstrate knowledge, comprehension and capacity to evaluate the structure and architecture of computers, and the basic components that compound them.
  • CT7 - To evaluate and select hardware and software production platforms for executing applications and computer services.
    • CT7.1 - To demonstrate knowledge about metrics of quality and be able to use them.

Transversal Competences

Sustainability and social commitment

  • G2 [Avaluable] - To know and understand the complexity of the economic and social phenomena typical of the welfare society. To be capable of analyse and evaluate the social and environmental impact.
    • G2.1 - To analyse the global situation in a systematic and critic way. To be capable of recognising the social and environmental implications of the professional activity of computer science. To understand the role of engineering as a profession, its role in the society and the ethical and professional responsibility of the technical informatics engineer. To value the compromise with equal opportunities principles, peace culture and democratic values.

Objectives

  1. Understand the hierarchical levels of a computer.
    Related competences: CT1.1B, CT1.1A,
  2. Understand the ISA of a standard RISC processor and the qualitative and quantitative performance implications of its design.
    Related competences: CT7.1, CT6.2, CT1.1B,
  3. To know how to represent and perform operations with integers in various formats: two's complement, sign-magnitude and bias.
    Related competences: CT1.1B, CT1.1A,
  4. To know how to represent and perform operations with real numbers in IEEE 754 floating-point format.
    Related competences: CT1.1B, CT1.1A,
  5. Understand how data structured in vectors, matrices and tuples are stored and accessed.
    Related competences: CT5.2, CT1.1B,
  6. To learn how to translate high-level programs to assembly language (and vice versa) using a standard ABI. The high-level elements to be translated are expressions, conditionals, loops and subroutines.
    Related competences: CT6.2, CT5.2, CT1.1B, CT1.1A,
  7. Design arithmetic units for multiplication and division operations with natural numbers.
    Related competences: CT1.1B,
  8. Understand and manage the exception and interrupt concepts.
    Related competences: CT1.1B,
  9. Understand the internal structure and operation of cache memory, especially aspects that affect system performance.
    Related competences: CT7.1, CT6.2, CT1.1B,
  10. Understand the usefulness of virtual memory, its basic functioning and the support hardware required.
    Related competences: CT7.1, CT6.2, CT1.1B,
  11. Understand compilation, linkage and loading processes in software development.
    Related competences: CT1.1A,
  12. Meet task completion deadlines.
    Related competences: CT3.6,
  13. Understand the factors that affect microprocessor performance, consumption, sustainability and impact on the environment.
    Related competences: CT7.1, CT6.2, G2.1, CT1.1B,

Contents

  1. Item 1. Introduction
    Hierarchical description of the computer at different levels of abstraction. Performance metrics. Energy consumption metrics. Amdahl's law.
  2. Item 2. Assembler and basic data types.
    Introduction to MIPS. Operands. Representation of natural numbers, integers and characters. Pointers, vectors and strings. Instruction formats.
  3. Item 3. Program translation
    Logic operations and shifts. If and while statements. Subroutines. Compilation, linkage and loading.
  4. Item 4. Arrays.
    Array storage. Sequential access to vectors and matrices.
  5. Item 5. Integer and floating point arithmetic.
    Integers: addition, subtraction, multiplication and division. Floating point: representation, addition, multiplication and rounding.
  6. Item 6. Cache Memory.
    Concepts and terminology. Direct mapping. Block diagrams and performance metrics. Associativity. Replacement. Multilevel caches.
  7. Item 7. Virtual Memory.
    Motivation and terminology. Address translation. Handling misses. TLB.
  8. Item 8. Exceptions / Interrupts.
    Basic MIPS concepts and hardware support. Detailed functioning of an exception and model generic handling routine. Specific cases: TLB miss. System calls. Interrupts.

Activities

Activity Evaluation act


Topic assimilation: Introduction

Topic 1 activities
Objectives: 1 13
Contents:
Theory
2h
Problems
0.5h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Topic assimilation: Assemblers and basic data types

Topic 2 activities
Objectives: 2 3 5 6
Contents:
Theory
5h
Problems
2h
Laboratory
2h
Guided learning
0h
Autonomous learning
9h

Topic assimilation: Program translation

Topic 3 activities
Objectives: 2 6 11
Contents:
Theory
7h
Problems
3h
Laboratory
3h
Guided learning
0h
Autonomous learning
13h

Topic assimilation: Arrays

Topic 4 activities
Objectives: 2 5 6
Contents:
Theory
3h
Problems
1h
Laboratory
2h
Guided learning
0h
Autonomous learning
7h

Topic assimilation: Integer and floating point arithmetic

Topic 5 activities
Objectives: 4 7
Contents:
Theory
6h
Problems
3h
Laboratory
3h
Guided learning
0h
Autonomous learning
14h

Mid-semester exam (EP)

This exam will reflect the learning objectives for the activities designed to facilitate assimilation of topics 1 to 5.
Objectives: 1 2 3 4 5 6 7 11 13
Week: 9 (Outside class hours)
Type: theory exam
Theory
1.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Topic assimilation: Cache memory

Topic 6 activities
Objectives: 9
Contents:
Theory
7h
Problems
3h
Laboratory
3h
Guided learning
0h
Autonomous learning
14h

Topic assimilation: Virtual memory

Topic 7 activities
Objectives: 10
Contents:
Theory
4h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h

Topic assimilation: Exceptions and interrupts

Topic 8 activities
Objectives: 8
Contents:
Theory
2h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h

Analysis of the environmental implications of computer manufacture, use and recycling

Task designed to evaluate the transferable competency in sustainability
Objectives: 12 13
Contents:
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
7h

Theory
0h
Problems
3h
Laboratory
0h
Guided learning
0h
Autonomous learning
26.5h

Laboratory exam (EL)

This exam will reflect the learning objectives for the activities designed to facilitate assimilation of topics 1 to 6.
Objectives: 2 3 4 5 6 7 9 11 12
Week: 13 (Outside class hours)
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
0h

Final Exam (EF)

This exam will reflect the learning objectives for the activities designed to facilitate assimilation of topics 1 to 8.
Objectives: 1 2 3 4 5 6 7 8 9 10 11 12 13
Week: 15 (Outside class hours)
Type: theory exam
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Teaching methodology

Theory classes will combine lectures, in which the lecturer presents, explains and exemplifies the topics of study, with open discussion on issues raised and their advantages and disadvantages.

Problem-solving classes will be based on three different approaches: resolution by the lecturer commented on by students; resolution by students individually; and resolution by students in groups. Once students have completed problems, the lecturer will provide feedback on errors.

Laboratory classes will be similar to problem-solving classes, except that exercises will be worked on in pairs using semi-automatic correction tools. Laboratory exercises will be assessed on an ongoing basis to encourage diligence in students.

Evaluation methodology

Marks will be awarded based on two components: the theory/problem-solving mark (NT) and the laboratory mark (NL), accounting for 80% and 20% of the final mark, respectively.

NT is obtained from a mid-semester exam (EP) mark, accounting for 20% of the total mark, and a final exam (EF) mark, accounting for 60% of the total mark. The EP mark can be recuperated through the EF mark, since the corresponding weight (20%) is applied to the maximum of the two marks.

NL is obtained from a laboratory exam (EP) and a continuous assessment (AC) mark, accounting for 85% and 15% of the NL, respectively. The AC mark is based on laboratory session tasks and the corresponding preparatory work.

The formula for calculating the final mark for the course is:

Mark = max(EP*0.20 + EF*0.60, EF*0.80) + (EL*0.85 + AC*0.15)*0.20

Bibliography

Basic:

Web links

Previous capacities

Students are expected to understand the operation of a simple computer, its structure and internal functioning in blocks, as well as the basic elements of the high-level languages used to program simple applications.

They should be able to personally organise the study of this and related subjects and have a basic grounding in mathematics sufficient for the analysis, abstraction and synthesis required for the course.