Curricular Unit:Code:
Computer Architecture831ACPT
Year:Level:Course:Credits:
2UndergraduateComputer Systems Engineering6 ects
Learning Period:Language of Instruction:Total Hours:
Winter SemesterPortuguese/English78
Learning Outcomes of the Curricular Unit:
This course aims to study the internal architecture and operation of a computer with a focus on microprocessor programming and in the interface between hardware and software.
Upon successful completion of this course unit students should be able to:
1. Describe the basic components and the internal structure of a computer
2. Perform binary representation of signed and unsigned integers.
3. Describe the architecture of the MIPS instruction set.
4. Describe the processor instruction cycle.
5. Develop simple MIPS assembly language programs.
6. Use subroutines to implement modular programs.
7. Translate simple C programs into MIPS assembly and vice versa.
8. Process data in floating point representation.
9. Explain the functions of the linker, compiler, and assembler.
10. Analyze processor performance enhancement techniques.
11. Identify the low level I/O mechanisms used by the processor.
Syllabus:
1. Introduction
2. Instruction Set - The language of the machine.
3. Floating Point Representation.
4. The Processor: Datapath and Control.
5. Introduction to “Pipelining”
6. Memory Hierarchy
7. Low-level input / output mechanisms.
Demonstration of the Syllabus Coherence with the Curricular Unit's Objectives:
The program content follows the intended objectives. Being an introductory curricular unit to Computer Architecture, the program topics are organized in order to cover the main components of the computer with an emphasis on the structure, operation and programming of the microprocessor. The fundamental concepts of the organization and internal structure of computers are presented in the introductory chapter, instruction set, information representation and optimization are presented in the following chapters and finally the low-level I / O mechanisms are studied. The learning objectives are achieved by complementing the theoretical concepts with programming examples and exercises executed in a laboratory environment using simulators and physical equipment.
Teaching Methodologies (Including Evaluation):
The transmission of knowledge in this syllabus will be with theoretical oriented lectures and practical classes in laboratory environment. The lectures present the fundamental concepts for understanding the items of the program. In practical classes students solve exercises eventually using physical or virtual equipment (in the context of simulators) where suitable. The final grade is calculated according to the following formula:
practical grade = 0,8 * (project) + 0,2 * worksheets
theoretical grade = (theoretical Test 1 + theoretical Test 2) / 2
final Grade = (2 * theoretical grade + Practical grade) / 3
Both the Practical and Theoretical grade have to be positive (> = 9.5).
If any of the components is not positive the curricular unit will not be completed and the positive component will be preserved according to the regulations.
Demonstration of the Coherence between the Teaching Methodologies and the Learning Outcomes:
The teaching/learning methodology applied in this curricular unit as well as its assessment is perfectly aligned with the objectives to be attained by the students at the end of the term. The theoretical concepts are presented, discussed, applied and evaluated in the context of lectures, which guarantees students a solid foundation to understand the challenges facing this area of knowledge. On the other hand, in the practical classes theoretical concepts are used to solve real problems using hardware and software tools. This combination guarantees student training and allow them to meet the scientific goals, essential to a good understanding of the area. The evaluation process including theoretical tests, practical worksheets and projects also guarantees a good balance between theory and practice. The ultimate goal is to train professionals specialized in state-of-the-art techniques and tools but also ensure their ability to follow future technology developments. In this curricular unit the computer organization and design are presented and evaluated in theoretical component. These concepts are then applied in the resolution of the worksheets and projects in the practical classes.
Reading:
[1] Hennessy & Patterson – Computer organization and design: The Hardware/Software Interface, 5th edition – Morgan Kauffman 2013.
[2] A.S. Tanenbaum - Structured Computer Organization 6th edition – Prentice Hall 2013
[3] Stallings, W –Computer Organization and Architecture 10th edition – Prentice Hall 2015.
[4] José Delgado, Carlos Ribeiro, "Arquitectura de Computadores, 5ª Edição", FCA 2014.