460-2034/02 – Computer Architecture and Parallel Systems (APPS)
Gurantor department | Department of Computer Science | Credits | 6 |
Subject guarantor | Ing. Petr Olivka, Ph.D. | Subject version guarantor | Ing. Petr Olivka, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 2 | Semester | winter |
| | Study language | English |
Year of introduction | 2015/2016 | Year of cancellation | 2020/2021 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
The aim of this subject is to acquaint students with a technical equipment of computers and principles of operation of individuals parts. The selected principles are demonstrated on microcomputers, personal computers and GPU (available architectures).
Students by completion of this course will get basic knowledges about computer parts and they will understand the base principles of the computer operation. During practical parts of course students will learn to programm microcomputer, multicore computer and GPU. The will also learn the base principles of the assembly language programming.
Teaching methods
Lectures
Tutorials
Experimental work in labs
Summary
Students in the course will get basic knowledges about computer parts and they will understand the base principles of the computer operation.
Compulsory literature:
[1] Olivka, P.: Computer Architecture and Paralles Systems, http://poli.cs.vsb.cz/edu/apps/eng
[2] Olivka, P.: Assembly Language Programming, http://poli.cs.vsb.cz/edu/soj
[3] Olivka, P., Seidl, D.: Syllabus for laboratory exercises, http://poli.cs.vsb.cz/edu/apps
[4] Patterson, D.: The Top 10 Innovations in the New NVIDIA Fermi Architecture, and the Top 3 Next Challenges. 2009.
Recommended literature:
Way of continuous check of knowledge in the course of semester
During the semester are students evaluated in labs.
E-learning
Other requirements
Programming in C language.
Prerequisities
Co-requisities
Subject has no co-requisities.
Subject syllabus:
1. Production technology of digital circuits. Computer architectures according to the von Neumann and Harvard, the essential characteristics and operating principles.
2. Machine instructions, addressing, address space. Computer performance measurements.
3. Principles of communication with peripherals, I/O gates, program controlling, interrupts, priorities solving.
4. CISC and RISC processors, basic features and incentives for the creation, concatenation, prediction jumps, hazards, basic RISC representatives.
5. Intel, developmental series, the basic features and internal architecture.
6. Processors from other companies, their properties and applications. Signal processors.
7. Monolithic computers, requirements for the construction, properties and usage, typical integrated peripherals. Microchip and Atmel microcontrolers.
8. Memory organization in computers, memory hierarchy. Internal memory, static, dynamic, virtual memory organization. External memory - magnetic, optical, magneto-optical. IDE PATA / SATA.
9. Bus, division of the addresses to signals, data and control. Bus cycle. Basic features of PCI, AGP and PCI Express technology. USB.
10. Video adapter and display units. Principles of displays unit and image creation.
11. Modern trends in computer architecture. Parallel systems and computer architecture .
12. Advanced GPU architecture – CUDA. GPU computing history.
13. GPU parallel architecture.
14. Super computing and clusters. High Performance Computing.
Labs:
1. Safety training, development Kit introduction, programming IDE, simple application.
2. Pulse wide modulation, LED control, simple animation.
3. Pulse wide modulation, LED control, RGB color composition, animation with button use.
4. LCD display control, color composition, use of fixed size font.
5. LCD control, displaying graphical and text information, simple application with buttons control.
6. I2C bus, expander and LED control.
7. I2C bus, FM radio module control. display RDS information.
8. Revision of micro-controller programming.
9. Multi thread application, algorithm design for multiple thread.
10. Programming of basic algorithm with multiple thread, comparison of sequential and parallel implementation.
11. Technology CUDA, base program concept, simple application with vectors and matrices.
12. Technology CUDA, digital image processing, simple image transformation programming.
13. Technology UCDA, simple graphical animations.
14. Revision of parallel programming.
Project:
The project is individual work of students between laboratory assignments.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction