Computer Structures and Architectures
Code  Completion  Credits  Range  Language 

BIESAP  Z,ZK  6  2P+1R+2C  English 
 Vztahy:
 It is not possible to register for the course BIESAP if the student is concurrently registered for or has already completed the course BISAP (mutually exclusive courses).
 It is not possible to register for the course BIESAP if the student is concurrently registered for or has previously completed the course BISAP (mutually exclusive courses).
 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:

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, combinational circuits, implementation using gates.
3. Sequential circuits. Synchronous design, implementation using gates and flipflops. Mealy and Moore automata.
4. Typical circuit components of a computer, their implementations (encoder, adder, counter, register).
5. Arithmetic operations with numbers in fixedpoint representation.
6. Architecture of the AVR processor; machine code and assembler.
7. Implementation of arithmetic operations with numbers in foating point. representation.
8. Processor data path; arithmetic and logic unit.
9. Memories  memory cell structure, static and dynamic memories, LIFO & FIFO memories.
10. Buses & interrupts.
11. Memory hierarchical system, cache memory.
12. Processor control units, RISCs & CISC 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. Douša, J., Pluháček, A. „Introduction to Computer Systems“. Praha: ČVUT, 2000. ISBN 8001021033.
2. Gajski, D. D. „Principles of Digital Design“. Prentice Hall, 1996. ISBN 0133011445.
3. Friedman, A. D., Menon, P. R. „Theory and Design of Switching Circuits“. Computer Science Press, 1975. ISBN 0914894528.
4. McCluskey, E. J. „Logic Design Principles“. PrenticeHall, 1986. ISBN 0135397685.
5. Sasao, T. „Switching Theory for Logic Synthesis“. Springer, 1999. ISBN 0792384563.
 Note:
 Further information:
 https://courses.fit.cvut.cz/BIESAP/
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Bachelor branch Security and Information Technology, in English, 20152020 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Software Engineering, in English, 20152020 (compulsory course in the program)
 Bachelor branch Computer Science, in English, 20152020 (compulsory course in the program)
 Bachelor branch Computer Science, in English, 20152020 original version (compulsory course in the program)