Code |
14332
|
Year |
1
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
-
|
Learning outcomes |
This course unit aims to provide students with knowledge on: A) Structure and mode of operation of digital computers; B) High-level and machine-level programming languages; C) Execution of the instructions by the processor; D) Performance analysis and performance improvement techniques; E) Organization of memory; F) Microprocessors versus microcontrollers; G) Programming in low-level language (Assembly).
At the end of the curricular unit, students should be able to describe the internal structure of a digital processor and how programs are run. The student must also know the main features of other elements that constitute a digital computer such as memory and peripheral input/output. The student must therefore be to understand the architecture of a digital computer, what are its main elements and how they interrelate. This will allow the student to follow the constant technological evolution of the area.
|
Syllabus |
Theoretical classes - Introduction to computer architecture: input/output units, memory, processing unit; - Computer technology and historical evolution; - Architecture of Von Neumann, memory of data and programs; - Representation codes; - Structure of processors: registers, ALU (Aritmetic and Logic Unit), control unit; - Buses: control, data and address; - Memory hierarchy: cache, main memory, secondary memory - Performance evaluation; - Techniques for performance improvement: RISC & CISC architectures, pipelining, parallelism, multiprocessing, GPU, compilation techniques; - Microcomputer architectures (Harvard) - Arduino and Raspberry Pi boards; - Embedded Systems;
Practical classes - Programming in Assembly language x86, using the FASM assembler; - Programming using the Arduino microcontroller and expansion cards (shields);
|
Main Bibliography |
[1] “Arquitetura e organização de computadores”, William Stallings, Pearson, 2017; [2] “Computer Systems - Digital Design, Fundamentals of Computer Architecture and Assembly Language”, Ata Elahi, Springer, 2018; [3] “Essentials of Computer Architecture”, Douglas Comer, Second edition, CRC Press, 2017; [4] “Computer Architecture: A Quantitative Approach”, John L. Hennessy, David A. Patterson; Morgan Kaufmann Publishers, 6th Edition, 2017; [5] “ARQUITETURA DE COMPUTADORES”, 5ª Edição Atualizada, José Delgado, Carlos Ribeiro, FCA, 2014 [6] Texts available on the course unit page and class notes;
|
Teaching Methodologies and Assessment Criteria |
Theoretical lessons: exposure of concepts; Practical lessons: resolution of practical exercises in computer lab;
Evaluation: assessment of theoretical knowledge (T): test or exam=12 points (mandatory) assessment of practical knowledge (P): two practical works (TP1+TP2) =3+5=8 points (mandatory) Final grade (F): T + P Admission to exam: F >= 6, be present at the evaluation test and carry out the two quoted works.
Attribution of the classification of "NA-Not Admitted": - non-compliance with the minimums; - proven fraud in any evaluation element;
In case of doubt, the defense/justification of any of the evaluation elements may be requested.
|
Language |
Portuguese. Tutorial support is available in English.
|