Computer Structures and Architectures
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-SAP.21 | Z,ZK | 5 | 2P+1R+2C | English |
- Garant předmětu:
- 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 flip-flops. 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. Fix-point 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, gate-level design, logic functions.
5. Sequential circuits, counter, sequence matching.
6. Sequential design, graph of transitions, table, implementation using D-type flip-flops 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 978-0128012857.
2. Wakerly J. F. : Digital Design: Principles and Practices (5th Edition). Pearson, 2018. ISBN 978-0134460093.
3. Mano M.M., Ciletti M.D. : Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog (6th Edition). Pearson, 2017. ISBN 978-0134549897.
- Note:
- Further information:
- No time-table 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)