Go to:
Esta página em português Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
You are here: Start > EIC0016

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Microprocessors and Personal Computers

Code: EIC0016     Acronym: MPCP

Classification Keyword
OFICIAL Computer Arquitechture

Instance: 2014/2015 - 2S Ícone do Moodle

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

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 190 Syllabus since 2009/2010 1 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
João Paulo de Castro Canas Ferreira

Teaching - Hours

Lectures: 2,00
Recitations: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
João Paulo de Castro Canas Ferreira 2,00
Recitations Totals 7 14,00
António José Duarte Araújo 6,00
João Paulo de Castro Canas Ferreira 2,00
João Paulo Filipe de Sousa 6,00
Mais informaçõesLast updated on 2015-02-12.

Fields changed: Learning outcomes and competences, Fórmula de cálculo da classificação final, Bibliografia Complementar, Componentes de Avaliação e Ocupação, Lingua de trabalho

Teaching language




The PC-compatible desktop and portable computers have become an everyday tool in modern societies. PC architecture reflects the current technological development, but also defines the limits of the computer's capabilities and performance. At the core of the PC-compatible computer, the IA-32 ISA is the most widespread instruction set architecture in use today. Both computer architecture and ISA have a deep impact on the day-to-day practice of informatics engineers.


The course unit Microprocessors and Personal Computers aims to develop, combine and apply concepts in the areas of Computer Architecture and Programming Languages. On the one hand, the course explores the relationships between the CPU instruction set and low-level programming (assembly language). On the other hand, recognizing that the architecture of modern personal computers goes far beyond the architecture of the CPU, the course addresses the general architecture of a PC, including data storage subsystem and other peripherals. The discussion is based on the family of microprocessors Intel IA-32, used in the vast majority of personal computers. Upon successful completion of this course, students will have acquired the ability to identify and describe the architecture of personal computers in use today, as well as the ability to apply assembly programming to the implementation of any algorithm.


  • Scientific component: 60%
  • Technological component: 40%

Learning outcomes and competences

After completing this course, students will:

  • Identify and describe the major subsystems of a personal computer;
  • Explain and evaluate the contribution of each subsystem to the overall performance;
  • Use tools for compiling and debugging (MASM, debugger);
  • Describe the architecture of instruction set IA-32;
  • Develop short programs in IA-32 assembly language ;
  • Explain the operation of programs written in IA-32 assembly language;
  • Explain the mechanisms for invocation of subroutines;
  • Use modular subroutines to implement programs;
  • Use the math co-processor (floating point instructions);
  • Establish the correspondence between code and C code "assembly";
  • Describe and assess the performance of data storage systems (magnetic disks);
  • Describe, select and evaluate the performance of different methods of communicating with peripherals (polling, interrupts, DMA)
  • Explain the principles of operation of buses for communication with peripherals.
  • Identify and describe the organization of symmetric multiprocessors (multi-core) with shared memory.
  • Explain the tecnhological trends that justify the use of multi-core architectures.

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)


EIC0083: principles of assembly language programming and computer organization.


EIC0012: basic principles of C/C++ language programming.


  1. Introduction to microprocessors and microcomputers. Architecture of the IA-32 microprocessor. Addressing modes. Functionality and organization of an "assembler".

  2. Instructions for data transfer, arithmetic and logic. Flow control instructions: conditional and unconditional jumps.

  3. Subroutines (invocation, parameter passing). Modular programming.

  4. Math co-processor.

  5. Peripheral Interface: polling, interrupts, DMA. Buses for communication with peripherals.

  6. Data storage subsystem.

  7. Introduction to symmetric multiprocessors.

Mandatory literature

Kip R. Irvine; Assembly language for intel-based computers. ISBN: 0-13-049146-2

Complementary Bibliography

David A. Patterson, John L. Hennessy; Computer organization and design. ISBN: 978-0-12-374493-7

Teaching methods and learning activities

Theorical classes: Oral presentation of the different topics of the course. This presentation will be supported, when possible, with examples and its discussion.

Practical classes: The methodology of the practical classes is based in the presentation, discussion, and resolution of problems that will be tested in a personal computer.


Visual Studio


Technological sciences > Engineering > Computer engineering

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 50,00
Teste 50,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Eligibility for exams

The student cannot miss more than 25% of the planned practical sessions..

Calculation formula of final grade

Student evaluation has the following components:

  • Two tests (M1 and M2)
  • Final exam

Missing components count as zero.

The two tests make up the distributed evaluation.

The tests have two parts: 1) multiple-choice questionnaire, with a duration of 45 min (closed book); 2) written programming exercise (30 min).

The grade for the distributed evaluation (DE) is given by:

DE = (M1 + M2)/2

The final grade is given by:

Final grade= maximum(0.5 x exam + 0.5 x DE; exam grade)

For successful completion of the course unit, the student must fullfil all the following conditions:

  • Grade for distributed evaluation equal to or greater than 6.5 (in 20) in the current or in previous years;
  • Exam grade equal to or greater than 7.0 (in 20);
  • Final grade (rounded to units) equal to or greater than 10 (in 20).

Closed-book exam, 2:00H.

Special assessment (TE, DA, ...)

Students admitted to special exams according to the general regulations will take an exam with a total duration of 2:30H (if they do not have the minimum required grade in the distributed evaluation).

Classification improvement

The course  grade can be improved by taking the appeal exam (similar to the regular exam).


The development of microcomputer applications requires knowledge of computer architecture, microprocessors, low-level programming languages (assembly) and interfacing to external physical devices. This course unit comes in course plan after the course “Computer Architecture and Orgabization” and its objective is to develop and apply these concepts in the context of the Intel IA-32 processor line.

Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-05-22 at 14:38:20