Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Computer Architecture

The course is not on the list Without time-table
Code Completion Credits Range Language
AE4B35APO Z,ZK 6 2P+2C English
Garant předmětu:
Lecturer:
Tutor:
Supervisor:
Department of Control Engineering
Synopsis:

Subject provides overview of basic building blocks of computer systems.

Explanation starts from hardware side where it extends knowledge

presented in the subject Structures of computer systems.

Topics covers building blocks description, CPU structure,

multiple processors interconnections, input/output subsystem

and basic overview of network and busses topologies.

Emphasis is placed on clarification of interconnection of

hardware components with software support, mainly lower levels

of operating systems, device drivers and virtualization techniques.

General principles are more elaborated during presentation

of examples of multiple standard PU architectures.

Exercises are more focused on the software view to the contrary.

Students are lead from basic multi threading programming

to the interaction with raw hardware.

Requirements:

Basic knowledge of C language and area of combinatorial and sequential

logic circuits. Basic knowledge of command line and compilers use

in POSIX standard conformant environment (i.e. Linux) is invited.

Syllabus of lectures:

1. Architecture, structure and organization of computers and its subsystems.

Data and numbers representation and storage in computer systems (signed integer numbers, IEEE-754).

2. CPU concept and techniques development. RISC (load-store) and CISC processors

comparison. Pipelining, jump prediction and super-scalar CPU.

3. Processors networks, parallel systems and interconnection networks.

Topologies, communication. Symmetric multiprocessing, NUMA architectures.

4. Hierarchical concept of memory subsystem, memory management, data consistency,

from MSI till MOESI protocols, control instructions and atomic operations.

5. I/O computer subsystem, I/O control. Peripherals,

DMA, data consistency considerations for DMA operations.

6. Computer system, Technical and organization means.

External events processing (interrupts), exceptions, real time clocks.

7. Computer networks, network topologies, communication. LAN, MAN, WAN

and control area networks.

8. Parameters passing for subroutines and operating system implemented virtual instructions.

Stack frames, register windows, privilege modes switching and system calls

implementation.

9. Multi-level computer organization, virtual machines. Conventional

(ISA) architecture and implementation dependant microarchitecture.

Portable bytecode and virtual programming environments (Java,

C#/.Net). Virtualization techniques (i.e. XEN, VMWARE) and

paravirtualization.

10. Classic register memory-oriented CISC architecture.

Principles demonstrated on FreeScale M68xxx/ColdFire architecture.

MMU implementation, cache, busses etc.

11. INTEL x86 processor family from 8086 to EMT64, main focus

on 32-bit and 64-bit operating modes supplemented with compatibility

dictated 16-bit 8086 mode and 80286 segmented approach and

why it is used minimally by todays OSes. SIMD instruction examples (MMX, SSE).

12. Short overview of RISC architectures and CPUs optimized for embedded

applications - ARM, ColdFire and PowerPC.

13. Common system and I/O buses used in computer systems (ISA,

PCI, PCIexpress, USB, SCSI, SATA, VME,.). Main focus paid

to replacement of parallel busses by multilane serial busses.

Advantages and disadvantages of this approach for RT control.

14. Analog and digital I/O interfacing, data acquisition and processing

system.

Syllabus of tutorials:

1. Introduction, labs program, safety, real time (RT) control

2. Basic introduction to Linux operating system environment

Task 1 - Practice of algorithm implementation in C language

3. Task 2 - Processes and signals

4. Task 3 - Threads

5. Task 4 - Networking and sockets

6. Task 5 - Serial communication

7. Reserve for task 1 - 5 completion

8. Description of the main task - position and revolution control of DC motor. Input IRC, output PWM, visualization

9. Test. 3 theoretical tasks from seminaries topics and practical part

10. Independent solving of main task

11. Independent solving of main task

12. Independent solving of main task

13. Main task hand in and presentation

14. Assessment

<

Study Objective:

The course gives an overview of computer architecture and teach students the operation of a typical computing machine.

Study materials:

[1] Hennessy, J. L., and D. A. Patterson. Computer Architecture: A

Quantitative Approach, 3rd ed. San Mateo, CA: Morgan Kaufman, 2002.

ISBN: 1558605967.

[2] Patterson, D. A., and J. L. Hennessy. Computer Organization and

Design: The Hardware/Software Interface, 3rd ed. San Mateo, CA: Morgan

Kaufman, 2004. ISBN: 1558606041.

[3] Andrew S. Tanenbaum: Structured Computer Organization. Printice Hall, 2006. ISBN-10:0131485210.

[4] Andrew S. Tanenbaum: Computer Networks. Prentice Hall 2003. ISBN-10:0-13-066102-3.

[5] Andrew S. Tanenbaum: Modern Operating Systems. Prentice Hall 2001

[6] Hyde, R.: The Art of Assembly Language, 2003, 928 pp.

ISBN-10 1-886411-97-2

ISBN-13 978-1-886411-97

http://webster.cs.ucr.edu/AoA/

[7] Bach., M., J.: The Design of the UNIX Operating System,

Prentice Hall, 1986

[8] Bayko., J.: Great Microprocessors of the Past and Present

http://www.cpushack.com/CPU/cpu.html

Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-03-27
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet12820604.html