Navigation

1C18TNS1006 - Architecture of Computer Systems

Course specification
Type of study Bachelor academic studies
Study programme
Course title Architecture of Computer Systems
Acronym Status Semester Number of classes ECTS
1C18TNS1006 mandatory 3 2L + 2E 6.0
Lecturers
Lecturer
Lecturer/Associate (practicals)
Prerequisite Form of prerequisites
Learning objectives
Introduction to basic concepts and relationships related to computer architecture and organization; Introduction to mathematical concepts of data storage and representation; Introduction to computer arithmetic; Introduction to logical foundations of data processing on computers; Studying the construction and functionality of the computer processor, including considerations related to instruction sets; Introduction to machine instructions and assembly language; Studying various types of memory in computer systems; Studying the bus and connections that enable communication between hardware components; Studying the I/O subsystem; Introduction to algorithms for error detection and correction; Laying the groundwork for the follow-up course Computer Organization and Architecture 2.
Learning outcomes
Students should master the following: Understanding the history of information technology development; Knowledge of generations of electronic computers; Differentiation between digital and analog computing technologies; Understanding the functional characteristics of computers; Understanding computer data representation; Ability to manually perform basic arithmetic operations on integers in different number systems and in various forms of denoted numbers; Knowledge of the IEEE 754 standard; Skill to minimize a given logical function in various ways; Skill to construct and appropriately represent a simple combinatorial or sequential network graphically; Understanding the significance, history of origin, and characteristics of the Von Neumann computer concept; Understanding the basics of computer processor organization (central processing unit); Understanding memory hierarchy; Knowledge of basic I/O modules and the operations that characterize them; Understanding basic algorithms for error detection and correction; Basics of programming in machine language; Differentiation between computer architecture and organization.
Content
1. Basic ideas and concepts. History of computer systems. Introduction to the mathematical foundations of data storage. 2. Numbers and their notation. Conversion between different number systems. Representation of marked numbers. 3. Integers and integer arithmetic. 4. BCD numbers. Packed and unpacked BCDs. 5. “Real” numbers and the corresponding arithmetic. 6. Digitization. Representing text, sound and image in a computer. 7. Basics of digital logic: Boolean algebra, logical elements, minimization of logical functions. 8. Combinational and sequential logic. 9. Von Neumann's concept of the computer. RAM. 10. Bus. I/O. 11. Central data processing unit (processor). Multiprocessor systems. 12. Error detection and correction. 13. Introduction to machine instructions.
Teaching Methods
Lectures. Guided discussion. Classroom exercises.
Literature
  1. Nenad Mitić, Uvod u organizaciju računara, Matematički fakultet, Beograd, 2013. ISBN: 978-86-7589-079-9 (Original title)
Evaluation and grading
Colloquium(s). Written (practical) test. Theoretical exam, as a combination of oral exam and written test.