Logo ČVUT
Loading...
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2011/2012

Machine Code and Data

Login to KOS for course enrollment Display time-table
Code Completion Credits Range
XD36SKD Z,ZK 4 14+6c
Lecturer:
Jiří Kačer
Tutor:
Jiří Kačer, Miroslav Šnorek
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/XD36SKD/

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
roomKN:E-308
Kačer J.
07:30–09:00
ODD WEEK

(lecture parallel1)
Karlovo nám.
Lab K308
roomKN:E-308
Kačer J.
07:30–09:00
EVEN WEEK

(lecture parallel1)
Karlovo nám.
Lab K308
Time-table for summer semester 2011/2012:
Time-table is not available yet
The course is a part of the following study plans:
Generated on 2012-7-9
For updated information see http://bilakniha.cvut.cz/en/predmet11667904.html