Microprocessor Systems

Year
1
Academic year
2020-2021
Code
01000340
Subject Area
Digital Systems and Computers
Language of Instruction
Portuguese
Other Languages of Instruction
English
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Compulsory
Level
1st Cycle Studies

Recommended Prerequisites

Computer Programming (preferably in C language); Laboratory of Digital Systems

Teaching Methods

The theoretical sessions are taught with the help of slides that summarize the contents and provide pointers for the recommended bibliography. The students are advised to read the slides in advance in order to take full advantage of the explanations and develop a critic attitude with respect to the concepts and ideas that are taught.

The lab sessions consist in weekly assignments that apply and illustrate the contents taught during the theoretical courses. The students are supposed to do most of the assignment at home, with the lab contact hours being meant for overcoming eventual difficulties

Learning Outcomes

Microprocessor Systems provides a global view about the functioning of modern computers, filling the gap between the contents taught during the courses of high-level programming languages and digital systems design. At the end of the curricular unit the student is expected to acquire the following skills: (i) proficiency in C programming by fully understanding the interaction between software and hardware; (ii) programming using assembly languages; (iii) knowledge about modern computer architectures and trade-offs that must be taken into account during design; and (iv) understanding the principle of abstraction by layers that enables to built complex engineering systems.

Work Placement(s)

No

Syllabus

Module 1: C language and Hardware

-C Language (revision of basic concepts)

-Pointers and memory addressing

-Memory zones: code segment, static memory, stack, heap and dynamic allocation

-Management of dynamic memory

-I/O ports, interruption and hardware programming

 

Module 2: Assembly for MIPS

-Basic arithmetic instructions

-Reading and writing in the memory

-Mechnisms for controlling the execution flow

-Instruction codification

-make-ing an Executable

 

Module 3: Introduction to Computer Architecture

-CPU organization (datapath and control unit)

-Parallel execution using Pipelining

-Memory Hierarchy

-New trends in computer architecture

Head Lecturer(s)

Nuno Miguel Mendonça da Silva Gonçalves

Assessment Methods

Assessment
Frequency: 25.0%
Laboratory work or Field work: 25.0%
Exam: 50.0%

Bibliography

•          Computer Organization and Design: The Hardware/Software Interface (5th Edition), by D. Patterson and J. Hennessy,  2013

•          The C Programming Language (2nd Edition) by Kernighan and Ritchie, ISBN 0131103628

•          The Datacenter as a Computer (2nd Edition) by Barroso and Holzle, 2013