Computer Structures and Architectures
Code  Completion  Credits  Range  Language 

BIESAP.21  Z,ZK  5  2P+1R+2C  English 
 Course guarantor:
 Lecturer:
 Tutor:
 Supervisor:
 Department of Digital Design
 Synopsis:

Students understand basic digital computer units and their structures, functions, and hardware implementation: ALU, control unit, memory system, inputs, outputs, data storage and transfer. In the labs, students gain practical experience with the design and implementation of the logic of a simple processor using modern digital design tools.
 Requirements:

Input knowledge: Basic knowledge of physical principles of digital circuits (transistors as switches, implementation of registers, data storage principles) and fundamentals of discrete mathematics (number representation systems, Boolean algebra).
 Syllabus of lectures:

1. Introduction, basic architecture of a computer, data representation.
2. Logic functions and their descriptions, combinatorial circuits, implementation using gates.
3. Sequential circuits. Synchronous design, implementation using gates and flipflops. Mealy and Moore automata.
4. Typical combinatorial and sequential components of a computer, their implementations (encoder, adder, counter, register).
5. Data, its representation and processing.
6. Arithmetic operations with signed numbers. Fixpoint and floating point numbers.
7. Implementation of arithmetic operations.
8. Memories  memory cell structure, static and dynamic memories.
9. Cache memories, virtual memory system.
10. Instructions and machine code.
11. Instruction set architecture, addressing modes.
12. Interrupts, buses.
13. Control units, basic types of processors.
 Syllabus of tutorials:

1. Adders, gates, practical implementation.
2. Boolean algebra, minimization, gates.
3. Combinatorial circuits, converters.
4. Minimization, gatelevel design, logic functions.
5. Sequential circuits, counter, sequence matching.
6. Sequential design, graph of transitions, table, implementation using Dtype flipflops and gates.
7. Architecture of the AVR processor, sample program.
8. Arithmetics, addition, negative numbers, overflow, complement code.
9. Program  shifts, ASCII.
10. Test, project assignment. Assembler.
11. Project work  display.
12. Arithmetic programs, shifts, control of peripherals.
13. Project result presentations.
 Study Objective:

The module teaches basic knowledge of digital computer construction principles, how a computer performs its operations, what the machine code is and how it is related to higher programming languages.
 Study materials:

1. Patterson D. A., Hennessy J. L. : Computer Organization and Design: The Hardware/Software Interface (5th Edition). Morgan Kaufmann, 2014. ISBN 9780128012857.
2. Wakerly J. F. : Digital Design: Principles and Practices (5th Edition). Pearson, 2018. ISBN 9780134460093.
3. Mano M.M., Ciletti M.D. : Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog (6th Edition). Pearson, 2017. ISBN 9780134549897.
 Note:
 Further information:
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Bachelor Specialization Computer Engineering, 2021 (compulsory course in the program)
 Bachelor Specialization, Information Security, 2021 (compulsory course in the program)
 Bachelor Specialization, Software Engineering, 2021 (compulsory course in the program)
 Bachelor Specialization, Computer Science, 2021 (compulsory course in the program)
 Bachelor Specialization, Computer Networks and Internet, 2021 (compulsory course in the program)
 Bachelor Specialization Computer Systems and Virtualization, 2021 (compulsory course in the program)
 Bachelor Specialization, Computer Engineering, Version 2024 (compulsory course in the program)