Go to:
Logótipo
You are here: Start > EEC0138

Computers

Code: EEC0138     Acronym: COMP

Keywords
Classification Keyword
OFICIAL Electronics and Digital Systems

Instance: 2018/2019 - 1S

Active? Yes
Responsible unit: Department of Electrical and Computer Engineering
Course/CS Responsible: Master in Electrical and Computers Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEEC 65 Syllabus 3 - 8 70 216

Teaching language

Portuguese

Objectives

This course introduces the principles of operation of a modern computer and its overall architecture, with particular emphasis on the contribution of each subsystem to the overall performance. Beyond this aspect of "Computer Architecture", which will be given a special focus to the MIPS architecture, this course also aims to equip students with skills to handle design and microprocessor-based embedded systems in general and in particular PIC32 microcontroller.

Learning outcomes and competences

After completing this course, students should be able to:
- Identify and describe the major subsystems of a personal computer: processing unit, memory and peripherals;
- Explain and evaluate the performance of computers in simple scenarios involving the performance equation of and Amdahl's law;
- Classifying and characterizing the types of instructions in a processing unit;
- Explain the basic principle of encoding instructions and identify their impact on performance;
- Write simple programs in Assembly language involving arithmetic, Boolean, comparison and jump operations;
- Describe the operation of a unicycle processing unit;
- Describe and explain the concept of "pipeline" and its impact on performance;
- Describe the operation of a pipelined processing unit;
- Apply knowledge of finite state machines to the analysis of the control unit of a pipelined processing unit;
- Identify data and control hazards that can arise in a pipelined processing unit;
- Calculate the impact of conflicts in the performance of a “pipeline” in simple scenarios;
- Distinguish between static and dynamic memories, and identify the respective areas of use;
- Explain the principle of operation of both types of memories;
- Identify the various levels of the memory hierarchy in a personal computer;
- Explain the working principle of “cache” memory;
- Describe the organization of a “cache” memory (associativity) and handling of miss accesses;
- Numerically evaluate the influence of memory hierarchy on performance;

Additionally, students should be able to:
- Design, build, and test a simple microcomputer (CPU + Mem + I/O);
- Recall the characteristics of the main types of peripherals and interfaces (interconnection ways and communication buses) in microcontrollers in general and in PIC32 in particular;
- Write code in assembly language and C for the PIC32 microprocessor;
- Use the Microchip MPLAB IDE for writing and debugging programs;
- Develop small systems, including identification of necessary peripherals, their interconnection to the microcontroller through the most appropriate interfaces and buses, and writing code that fulfills the functional requirements presented.
- Describe in the form of a report, the developed work.

Working method

Presencial

Program

- Introduction. Areas of application of computers and their characteristics. Programs: high-level languages, low-level languages. Conceptual model of program execution.
- Components of a computer: CPU (data path and control unit), memory, peripheral input/output. Evolution of processors and memories technology.
- Understanding the performance of CPUs. Performance equation. Benchmarks (SPEC). Energy consumption. Amdahl's Law.
- Instruction set of a processor. Types of instructions: arithmetic, logical, comparison and jump. Addressing modes. instructions coding.
- Basic concepts of programming in "assembly" language. Assembler.
- Organization of a processing unit. Unicycle organization of a CPU. Pipelining concept. Organization of a pipeline data path. Pipeline control. Pipeline conflicts: data and control hazards. Strategies for dealing with conflicts. Impact of conflict on performance.
- Static and Dynamic Memory: organization and conceptual model. Memory hierarchies.
- Cache Memory: Principle of operation, internal organization, associativity, handling cache misses. CPU performance with cache memory. Reduction of penalties associated with access misses.

Mandatory literature

David A. Patterson, John L. Hennessy; Computer organization and design. ISBN: 978-0-12-374493-7
Lucio Di Jasio; Programming 32-bit Microcontrollers in C: Exploring the PIC32, Newnes, 2008. ISBN: 978-0-75-068709-6

Teaching methods and learning activities

In the theoretical classes the main issues about the computer architecture in general, and MIPS architecture in particular will be exposed (accompanied by the solving of exercises).

In laboratory classes, the PIC32 microcontroller will be presented with special emphasis in its programming using C language. The first classes will present the main peripherals embedded into the PIC32 after which will follow a project developed by students.

Software

MPLAB @ http://www.microchip.com/mplab/
MARS @ http://courses.missouristate.edu/KenVollmar/MARS/

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 70,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de relatório/dissertação/tese 16,00
Estudo autónomo 55,00
Frequência das aulas 65,00
Trabalho laboratorial 80,00
Total: 216,00

Eligibility for exams

• Attendance at laboratory classes in accordance with the provisions in the General Evaluation Rules.
• Obtaining a positive grade in the laboratory component (L).

Calculation formula of final grade

Final grade = 70% x 30% x T + L
T: Weighted average of 2 tests (60% to the best and 40% for the worst).
L: Sum of components: Project and Report.
IMPORTANT: L cannot exceed T by more than 4 points!

FEATURE: Students who do not pass by the above formula can perform a “recourse exam” on the subject of both tests, which if positive will allow obtaining a final grade equal to 10. To apply for this exam, students will have to have:
- A component L of at least 10.
- A component T of at least 6.

Examinations or Special Assignments

Tests:
2 tests (with no consultation) with duration of 75 minutes to perform during the class period.
Special Assignments:
Project to be conducted in laboratory classes and ending with the completion of a final report.

Special assessment (TE, DA, ...)

Not aplly.

Classification improvement

The improvement of both components can be made in the following school year:
- The component T through an exam covering the topics given in lectures
- The component L through the development of a new project

Observations

All grades are given on a scale from 0 to 20.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-09-22 at 01:30:38 | Acceptable Use Policy | Data Protection Policy | Complaint Portal