Microprocessors and Personal Computers
| Keywords |
| Classification |
Keyword |
| OFICIAL |
Computer Arquitechture |
Instance: 2011/2012 - 2S 
Cycles of Study/Courses
| Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
| MIEIC |
198 |
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. 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.
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. 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.
PREVIOUS KNOWLEDGE
EIC0083: principles of assembly language programming and computer organization.
PERCENTUAL DISTRIBUTION:
Scientific component: 60%
Technological component: 40%
LEARNING OUTCOMES
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 assembly language IA-32;
- Explain the operation of programs 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 systems aramazenamento data (magnetic disks);
- Distinguish different types of RAID;
- 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;
- Describe the organization of the graphics subsystem of a personal computer.
- Explain the usefulness and overall architecture of a GPU.
Program
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. RAID.
7. Graphics subsystem. GPUs.
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
Barry B.Brey;
The Intel microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Pprocess. ISBN: 0-13-048720-1
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.
Software
MASM
Ollydbg
keywords
Technological sciences > Engineering > Computer engineering
Evaluation Type
Distributed evaluation with final exam
Assessment Components
| Description |
Type |
Time (hours) |
Weight (%) |
End date |
| Attendance (estimated) |
Participação presencial |
48,00 |
|
|
| Test 1 |
Exame |
1,00 |
|
2012-04-18 |
| Test 2 |
Exame |
1,00 |
|
2012-05-30 |
| Exam |
Exame |
2,00 |
|
|
| Study for test 2 |
Exame |
10,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
| Description |
Type |
Time (hours) |
End date |
| Study for test 1 |
Estudo autónomo |
10 |
|
| Autonomous study |
Estudo autónomo |
90 |
|
|
Total: |
100,00 |
|
Eligibility for exams
Admission to exams is based on two closed-book tests (M1 and M2) and two programming exercises (P1 and P2). The programming exercises will be done in class.
The grade for admission to the exams is given by
Admission grade = (2 * M1 + 2 * M2 + P1 + P2)/6
For admission to the exams, the grade must be equal to or larger than 6.0 (in 20).
Test dates: 13/April/2011 and 1/June/2011
Calculation formula of final grade
For successful completion of the course unit, the student must have both
- Exam grade equal to or larger than 7.0 (in 20);
- Final grade (rounded to units) equal to or larger than 10 (in 20).
Final grade= maximum(0.5 x exam + 0.5 x admission grade; exam grade)
Closed-book exam, 2:00H.
Examinations or Special Assignments
N/A.
Special assessment (TE, DA, ...)
Students that are automatically admitted to exams without admission grades will have a special exam of 2:30H.
Classification improvement
The exam grade can be improved in the appeal exam (similar to the regular exam).
The final (global) grade (including the admission grade) can be improved by taking a special exam (similar to the exam used for special evaluation).
Observations
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.