Machine Code and Data
Code | Completion | Credits | Range |
---|---|---|---|
X36SKD | Z,ZK | 4 | 2+2c |
- Lecturer:
- Jiří Kačer
- Tutor:
- Jiří Kačer
- Supervisor:
- Department of Computer Science and Engineering
- Synopsis:
-
The objective of the course is to teach the students the basic operations of a computer, with emphasis on the relationships between the instruction set, architecture, and low-level (assembly) programming. Lectures present a programming model of the computer using building blocks such as registers, ALU, and memory. In the seminars, students will learn the assembly languages of at least two particular processors and practice them on simulators as well as actual microcomputers.
- Requirements:
-
https://service.felk.cvut.cz/courses/XE36SKD/
Active participation in the labs is required for obtaining the credits. 1 test.
- Syllabus of lectures:
-
1.Introduction, von Neumann and Harvard computer architectures.
2.Number systems in computers, operations with numbers, text representations.
3.Representing decimal numbers: fixed point, floating point, IEEE-754
4.Instruction set architectures: registers, accumulator, stack-oriented
5.Basic parts of a simple von-Neumann computer
6.Basic cycle of a simple computer
7.Register and stack architectures
8.Instruction types and structures, addressing modes
9.Symbolic expression of instructions and addressing modes
10.Assembly languages for RISC and CISC processors
11.Assembler, directives, absolute/relative compilation, segments
12.Interrupts, I/O instructions
13.Memory subsystem, memory management
14.Assembler vs. higher-level languages
- Syllabus of tutorials:
-
The labs take place in the department's laboratories. Students will use 8-bit AVR microcomputers and the AVR Studio development system. The test covers topics from lectures as well as seminars and labs.
1.Seminar: Introduction, credit and exam requirements. Number systems: binary, octal, hexadecimal; conversions.
2.Seminar: Fixed-point and floating-point arithmetic. Problems with rounding, normalization.
3.Seminar: AVR microcomputer architecture, instruction set, simple examples.
4.Lab: TEST. Introduction to AVR Studio: Writing, compiling and debugging a simple program.
5.Lab: Experiments with data transfer and ALU instructions.
6.Lab: Experiments with memory operations, arrays, indexing, tables.
7.Lab: Experiments with subroutines, parameter passing, stack.
8.Lab: Project - controlling a display.
9.Lab: Project - A/D converter, interrupts.
10.Lab: Complex project.
11.Lab: Analysis of a program compiled from a high-level language.
12.Lab: Accumulator-oriented instruction set, simple programs for the 8051 microcontroller.
13.Lab: Floating-point operations in x86 microprocessors.
14.Lab: Credits
- Study Objective:
- Study materials:
-
1.Slavik, P.: Machine Oriented Languages, Skriptum ČVUT Praha, 2003.
2.Váňa, V.: Mikrokontroléry ATMEL AVR - popis procesoru a instrukční soubor, BEN - tech. literatura, Praha, 2003
3.Váňa, V.: Mikrokontroléry ATMEL AVR - assembler, BEN - tech. literatura, Praha, 2003
4.AVR 8-bit Instruction Set. Technical manual, ATMEL Corporation, 2002. http://www.atmel.com
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Computer Technology- structured studies (compulsory course)
- Softwarové inženýrství (elective specialized course)
- Web a multimedia (elective specialized course)
- Manažerská informatika (elective specialized course)
- Inteligentní systémy (elective specialized course)