Course syllabus
The course is given by the Department of Computer Science and Engineering
Contact
Examiner: Rhouma Rhouma rhouma@chalmers.se Lectures 1-8
Lecturers : Sergei Dytkov sergei.dytckov@chalmers.se Lectures 9-10, Demos 5-6
Elias Hallqvist elias.hallqvist@chalmers.se Lectures 11-16, Demos 7
Andreas Wieden andreas.wieden@chalmers.se Demos 1-4
Lab Admin : Roman Melnik melnik@chalmers.se Labs 1-4
TAs: to be added
Course Purpose
The course will provide basic knowledge in the design of digital circuits and an understanding of how such circuits can be used to build a simple computer. The course also provides an introduction to programming in assembly language and machine language. The different parts of the course together provide a very good theoretical and practical basis for further studies in both computer technology and programming technology courses.
Schema
Course literature
- Basic Computer Technology for the University's Engineering Programmes, Roger Johansson, Göteborgs Mikrovaror (GMV), 2021 , ISBN: 978-91-89280-30-4
- Sample collection (on-line)
- The Flisp Handbook. Handed out at the first lecture and available at the D&IT department's study office.
- Laboratory memo (4st). Available for download via link under the module Laboratory sessions.
- An electronic copy of the Flisp handbook and the simulator software DigiFlisp can be downloaded from the website of Göteborgs Mikrovaror.
- Direct link to the Flisp handbook
- The sample collection list online : Exempelsamling Datorteknik where some examples will be taken to the Demos sessions
Structure of the course
The teaching consists of lectures, demonstrations, group exercises and four compulsory laboratory sessions. Lectures and demonstrations are devoted to theory and review of exercise examples. Group exercises are mainly devoted to preparation for the laboratory work, as well as preparation for the exam. The laboratory sessions are carried out in the department's course laboratory in groups of two students. Each laboratory session is normally performed during a 4-hour scheduled laboratory session. In order to start a laboratory session, well-executed laboratory preparations are required, which must be presented and approved by a supervisor during the group exercise that precedes each laboratory session.
Initially, various basic digital circuits called logic gates are described. These realize various logic functions such as AND, OR and NOT. The logic gates are used to construct digital building blocks that are then used to build a simple computer. The computer and its building blocks are developed and tested step by step during the first three laboratory sessions. The course ends with a laboratory session where the student writes programs for the simple computer in assembler and in machine language.
Intended learning outcomes
Knowledge and understanding:
- describe binary codes such as NBCD code, alphanumeric codes, Excess-n codes and Gray code
- describe addition and subtraction with 2-complementary arithmetic.
- describe the structure and function of the computer, show how the control unit, data path, registry file, arithmetic and logic unit (ALU) are connected in a central unit at block level
- describe and analyze the function and structure of the automatic control unit and explain how instructions are built up from control sequences
- explain the principle of the stored program
- describe a programmer's image of a processor, (instruction set and method of addressing)
- describe elementary exception handling in computer systems.
- describe different types of memory technologies such as ROM, PROM, FLASH, static RAM and dynamic RAM.
- explain the concept of memory hierarchy.
- describe synchronous and asynchronous bus protocols and multiplex technology.
Skills and abilities:
- describe and use binary codes for arithmetic.
- perform conversion of numbers between decimal, binary, and hexadecimal representation.
- perform addition and subtraction with binary integers without characters.
- perform addition and subtraction with binary numbers with 2-complementary arithmetic.
- using Boolean algebra, describe, analyze, and construct combinatorial networks (such as selectors, distributors, he-ladders, shift registers, etc.) typically used to build a computer's central unit
- using Boolean algebra, describe and analyze sequence networks (memory elements and counters) that are typically used to build a computer's central processing unit.
- analyze/construct a simple ALU and design Control signal sequences for basic ALU operations
- analyze a simple data path, as well as construct and design control signal sequences for transmissions between registers, ALUs and memory.
- describe, analyze and construct simple assembly programs, organized in subroutines.
- Translating code between machine and assembly programs (assemble, disassemble)
- describe and analyze decoding logic for primary memory with digital components.
- describe and analyze simple memory-addressed IO with digital components
- describe and explain the most common primary memory technologies (static/dynamic RAM, ROM and FLASH memory).
- have the ability to understand the interaction between hardware and software.
- have insights into how basic knowledge in computer technology is a prerequisite for understanding and working with issues related to computer performance, energy consumption, environmental impact, real-time properties, reliability and vulnerability to data breaches.
- analyze and construct control signal sequences based on the semantics of instructions.
- construct sequence grids (memory elements and counters) typically used to build a computer's central unit using Boolean algebra.
- construct primary memory decoding logic with digital components.
- Construct simple memory-addressed IO with digital components.
Examination
Written exams will be given on 17 January 2025, 08 April 2025 and 20 August 2025
Approved laboratory sessions (4 pieces).
The final grade is determined by the exam result.
Grade limits Chalmers: 3, 4, 5
Link to the syllabus in the Study Portal Introduction to computer engineering
Link to syllabus in university of Gotenburg Kursguide - Course Syllabus
Course summary:
| Date | Details | Due |
|---|---|---|