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

Computers

Code: EEC0138     Acronym: COMP

Keywords
Classification Keyword
OFICIAL Electronics and Digital Systems

Instance: 2011/2012 - 1S Ícone do Moodle

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 41 Syllabus (Transition) since 2010/2011 3 - 8 87 216
Syllabus 3 - 8 87 216

Teaching language

Portuguese

Objectives

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

After completing this course, students will 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 fundamental performance equation and Amdahl's law;
- Classify and categorize the types of instructions of a processing unit;
- Explain the basic principles of instruction encoding and identify its impact on performance;
- Write simple programs in assembly language involving Boolean and arithmetic operations, tests and jumps;
- Describe the operation of a single-cycle processing unit;
- Specify simple extensions of the single-cycle processing unit;
- Describe and explain instruction pipelines and their impact on performance;
- Describe the operation of a pipelined processing unit;
- Apply state machines to the analysis of the control unit of a pipeline;
- Identify data and control conflicts that may occur in a pipelined instruction unit; a processing unit in the pipeline;
- Assess the impact of pipeline conflicts on performance for simple scenarios;
- Distinguish between static and dynamic memories, and identify their applications;
- Explain the working principle of the two types of memories;
- Identify the different levels of the memory hierarchy of a personal computer;
- Explain the operation principle of cache memories;
- Describe the organization of a cache memory (associativity) and the handling of cache misses; treatment of access failures.
- Evaluate numerically the influence of the memory hierarchy on performance (for simple scenarios);

Additionally, students should be able to:
- design, assemble and test a simple embedded system (CPU+Mem+I/O);
- reviewing the characteristics of the main types of peripherals and interfaces (forms of interconnection and communication buses) on microcontrollers in general and on the PIC32 in particular.
- writing code in assembly and C language for the PIC32 microcontroller;
- use the Microchip MPLAB IDE for writing and debugging programs;
- develop small systems, including identification of necessary peripherals, its interconnection to a microcontroller through the most appropriate interfaces and buses, and writing code that meets the defined functional requirements.
- describe in the form of a report the work developed.

Program

- Introduction. Computers: application areas of and their characteristics. Programming: high-level languages, low-level languages. Conceptual model of program execution.
- Components of a computer: CPU (datapath and control unit), memory, input/output peripherals. Technological evolution of processors and memories.
- Understanding the performance of CPUs. The basic performance equation. Benchmarks (SPEC). Power consumption. Amdahl's Law.
- Instruction set of a processor. Types of instructions: arithmetic, logical, comparison and jump. Address modes. Instruction encoding. Synchronization instructions.
- Basic concepts of assembly programming. Assembler.
- Organization of a processing unit. Single-cycle CPU. Pipelining. Organization of a pipelined datapath. Pipeline control. Pipeline hazards: data and control conflicts. Strategies for handling conflicts. Impact of conflicts on performance.
- Static and dynamic memories: organization and conceptual model. Memory hierarchies.
- Cache memories. Principles of operation, internal organization, associativity, handling of cache misses. Performance of a CPU with cache. Reduction of the 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 theoretical classes, the computer architecture topics will be presented, with the MIPS architecture as main example, all accompanied by the resolution of exercises.

In laboratory classes, PIC32 microcontroller will be presented with special emphasis in its programming using C language. The first classes will show several peripherals embedded in the PIC32 after which students will carry out a project.

Software

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

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 70,00
Exame 1,00 2011-10-18
Exame 1,00 2011-12-15
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 90,00 2011-12-16
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 10,00 2011-12-16
Total: - 0,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Estudo autónomo 20 2011-10-18
Estudo autónomo 20 2011-12-15
Total: 40,00

Eligibility for exams

- cannot miss more laboratory classes than allowed by the rules;
- have to reach a positive grade in the laboratory component (L);

Calculation formula of final grade

70% x T + 30% x L
T: Average of the 2 mini-tests.
L: Sum of components: Project and Final report.
IMPORTANT: L can not exceed T in more than 4 points!

Examinations or Special Assignments

Tests:
2 mini-tests (without consultation) lasting 75 minutes, to be held during the classes.
Special Assignments:
Project to be conducted in laboratory classes and ending with the presentation of a final report.

Special assessment (TE, DA, ...)

Not applicable.

Classification improvement

As this is a course with distributed evaluation without final exam, the classification improvement is made ​​possible by the repetition of frequency in the following year.
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-28 at 08:17:17 | Acceptable Use Policy | Data Protection Policy | Complaint Portal