Poll

No polls currently selected on this page!

Repository

Repository is empty

Programming for contemporary processors

Code: 61521
ECTS: 5.0
Lecturers in charge: izv. prof. Domagoj Vrgoč - Lectures
Lecturers: izv. prof. Domagoj Vrgoč - Exercises
English level:

1,0,0

All teaching activities will be held in Croatian. However, foreign students in mixed groups will have the opportunity to attend additional office hours with the lecturer and teaching assistants in English to help master the course materials. Additionally, the lecturer will refer foreign students to the corresponding literature in English, as well as give them the possibility of taking the associated exams in English.
Load:

1. komponenta

Lecture typeTotal
Lectures 30
Exercises 15
* Load is given in academic hour (1 academic hour = 45 minutes)
Description:
COURSE AIMS AND OBJECTIVES: A completion of the Interpretation of Computer Programs course, by further insight into interpretation of programs on modern processors and hardware-software interaction in some detail.

COURSE DESCRIPTION AND SYLLABUS:
1. Programming for the MIPS architecture. A gradual introduction to the abstract MIPS architecture, instruction set and translation to machine code. Memory addressing. Interpreting typical higher level constructs. Programming in assembly language, using simulators.
2. Machine arithmetics. Integer arithmetics. Floating point arithmetics. Compilation of arithmetic expressions and its traps.
3. Exploiting the MIPS microarchitecture. Introducing the MIPS components. The stages of instruction processing. Exploiting on-board parallelism: pipelining. Compilation for pipelining: opportunities and traps.
4. Programming for the memory hierarchy. SRAM, DRAM and files. Mapping virtual memory. Addresses virtual and physical, paging and TLB. IO-devices, interrupts and the memory hierarchy. Compilation for the memory hierarchy - opportunities and traps.

TEACHING AND ASSESSMENT METHODS:
Students' obligations during classes: Lecture attendance, active participation in tutorials, elaboration of homework, passing 2 mid-term exams, participation in structuring a study project.
Signature requirements: Recorded activity at 70% of tutorials, submission of results for 70% of homework, passing grade at all mid-term exams, undertaking a study project.
Taking of exams: Final examination consists of solving the study project and presenting the solution to the teacher. Final grade is based on activity at tutorials, successful elaboration of homework, grades for mid-term exams and grade for the study project solution.
Literature:
  1. Wei-Meng Lee: Beginning Android 4 Application Development
  2. Reto Meier: Professional Android 4 Application Development
  3. D. A. Patterson, J. L. Hennessy: Computer Organization and Design
Prerequisit for:
Enrollment :
Passed : Computing lab 2
Passed : Database systems
3. semester
Izborni predmet 3, 4, 5, 6 - Regular study - Computer Science and Mathematics

4. semester
Izborni predmet 3, 4, 5, 6 - Regular study - Computer Science and Mathematics
Consultations schedule: