Architecture of Computer Systems

Acronym
1C18TNS1006
Status
mandatory
Semester
3
Number of classes
2L + 2E
ECTS
6.0
Study programme
Technical education and Informatics
Module
Type of study
Bachelor academic studies
Lecturer/Associate (practicals)
Lecturer/Associate (for OTC)
Prerequisite / Form of prerequisites

No data

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.

Course contents

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.

Literature
  1. Nenad Mitić, Uvod u organizaciju računara, Matematički fakultet, Beograd, 2013. ISBN: 978-86-7589-079-9

    (Original)
Evaluation and grading

Colloquium(s). Written (practical) test. Theoretical exam, as a combination of oral exam and written test.

Teaching Methods

Lectures. Guided discussion. Classroom exercises.