Skip to main content

Computer Organization

Credits
7.5
Types
Compulsory
Requirements
This subject has not requirements , but it has got previous capacities
Department
AC
Web
http://docencia.ac.upc.edu/FIB/grau/EC
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

Others

Weekly hours

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

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.
  • 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)
    Theory
    0h
    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)
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    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)
    Theory
    0h
    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.