Microprocessors and Personal Computers
| Keywords |
| Classification |
Keyword |
| OFICIAL |
Computer Arquitechture |
Instance: 2009/2010 - 2S
Cycles of Study/Courses
| Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
| MIEIC |
171 |
Syllabus since 2009/2010 |
1 |
- |
6 |
56 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
BACKGROUND
The PC-compatible desktop and portable computers have become an everyday tool in modern societies.
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.
SPECIFIC AIMS
The course unit Microprocessors and Personal Computers aims to develop, combine and apply concepts in the areas of Computer Architecture and Programming Languages. The course explores the relationships between the CPU instruction set and low-level programming (assembly language). The student should also acquire the basic concepts about the architecture of the personal computers used today.
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.
PREVIOUS KNOWLEDGE
EIC0083: principles of assembly language programming and computer organization.
PERCENTUAL DISTRIBUTION
Scientific component: 60%
Technological component: 40%
LEARNING OUTCOMES
After completing the course, students will be able to:
- identify and describe the major subsystems of a personal computer [knowledge & understanding];
- use tools for compiling and debugging (MASM, debugger) [knowledge & understanding];
- describe the architecture of the IA-32 instruction set [knowledge & understanding];
- develop short programs in IA-32 assembly language [engineering design];
- explain the operation of programs written in IA-32 assembly language [engineering analysis];
- explain the mechanisms for invocation of subroutines [knowledge & understanding];
- use modular subroutines to implement programs [engineering design];
- eescribe the IEEE 754 format for floating-point representation of numeric data [knowledge & understanding];
- use the math co-processor (floating point instructions) [engineering design];
- describe the characteristics of SIMD instructions [knowledge & understanding];
- apply MMX instructions to improve performance [engineering design];
- explain the principles of memory system organization for x86 systems with 8- and 16-bit busses [knowledge & understanding];
- design memory decoding circuits [engineering design];
Program
Introduction to the microprocessor and the microcomputer. IA-32 microprocessor architecture. Addressing modes. Instruction coding. Functionality and organization of an Assembler. Data transfer, arithmetic, and logic instructions. Program flow control instructions: unconditional and conditional jumps, subroutine call. Structures and Macros. Modular programming. Inputs and outputs / interfaces to peripherals. Interrupts. Programable peripherals. Arithmetic co-processor. Programming with MMX instructions.
Mandatory literature
Kip R. Irvine; Assembly Language for Intel- Based Computers, Prentice Hall
Complementary Bibliography
Barry B. Brey; The Intel Microprocessors 8086/8088, 80186/80188, ... and Pentium Pro Processor, Prentice Hall
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.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
| Description |
Type |
Time (hours) |
Weight (%) |
End date |
| Attendance (estimated) |
Participação presencial |
64,00 |
|
|
|
Teste |
40,00 |
|
|
|
Exame |
32,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
| Description |
Type |
Time (hours) |
End date |
|
Estudo autónomo |
26 |
|
|
Total: |
26,00 |
|
Eligibility for exams
The average of the 2 mini-tests should be equal or greater than 6 (out of 20)
Calculation formula of final grade
Final Classification=0,6 x exam +1/2 x (mini-test1 +mini-teste2) x 0,4
Warning: an exam classification greater than 7 (out of 20) is required to pass the subject
Special assessment (TE, DA, ...)
Special exam for students that have not previously attained frequency.
Classification improvement
The exam classification can be improved in the recourse exam through the realization of a written test with difficulty similar to that of the exam. The final global classification (including the distributed evaluation) can be improved through the realization of a special written test.
Observations
The development of Microcomputer applications requires knowledge related to Computer Architecture, development of Microcomputers based on Microprocessors, low-level programming languages (Assembly) and interfacing to external physical devices. This course appears in the plan of studies after the course “Computer Architecture” and its objective is to develop and apply these concepts in the context of the Intel IA-32 processor line. A more detail study of the interfacing with external physical devices and its concrete applications are left to the following course “Computer Laboratory”