Course syllabus for Introduction to computer engineering

Course syllabus adopted 2021-02-26 by Head of Programme (or corresponding).

Overview

  • Swedish nameGrundläggande datorteknik
  • CodeLEU432
  • Credits7.5 Credits
  • OwnerTIDAL
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Electrical Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 62123
  • Maximum participants175
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0116 Examination 4.5 c
Grading: TH
2.5 c2 c0 c0 c0 c0 c
  • 10 Jan 2022 am L
  • 12 Apr 2022 pm L
  • 18 Aug 2022 pm L
0216 Laboratory 3 c
Grading: UG
1.5 c1.5 c0 c0 c0 c0 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Admitted to the Bachelor program

Aim

This course is intended to give an introduction to digital systems in general and computer systems in particular. Thereby it also provides the prerequisites for subsequent courses in digital design and computer systems design. Finally it aims to give students insight about the multitude of applications in which various digital systems are used.

Learning outcomes (after completion of the course the student should be able to)

About the computer: 

  • Describe the computer structures and organization.

The student should be able to 

    • give a block-level description of how the data-path, register file, and arithmetic logic unit (ALU) are connected.
  • Describe and analyze/design the basic parts of the central processing unit. 

The student should be able to 

    • analyze/design a single ALU and design control signal sequences for basic ALU operations, and 
    • analyze a single data path and construct and design control signal sequences for transfers between registers, ALU, and memory. 
  • Explain how the instructions are created using control signal sequences. 

The student should be able to use examples to explain and describe instruction formats, instruction decoding, and instruction execution. 

  • Describe and analyze the control unit 

The student should be able to

    • describe how the control signal sequences can be realized with either hard-wired logic or micro-programmed logic, and
    • analyze and design control signal sequences from instruction semantics. 
  • Explain the core functions of the primary memory and describe, analyze, and realize the main memory's connection to the CPU. 

The student should be able to

    • describe different types of primary memory such as ROM, PROM, FLASH, SRAM, and DRAM, and explain the usefulness of each type for different purposes;
    • explain the concept of memory hierarchies; 
    • describe, analyze, and realize address decoding logic for the primary memory, and
    • describe, analyze and realize simple memory addressed I/O with digital components. 
  • Explain/describe how the bus links the CPU and memory. 

The student should be able to describe synchronous and asynchronous bus protocols and multiplexing. 

  • Describe basic exception handling in computer systems. 

The student should be able to: 

    • explain various hardware and software exception handling, such as restart, software-initiated exceptions, and externally generated exceptions (interrupts), 
    • describe how the restart and software-initiated exception are performed in the controller, and 
    • describe how interrupts are handled in the CPU. 

About digital technology: 

  • Describe and use binary codes. 

The student should be able to 

    • convert numbers between decimal, binary, and hexadecimal representation, and 
    • perform addition, subtraction, multiplication, and division of binary integers. 
  • Describe and analyze the computer's structure as a programmable digital system. 

The student should be able to describe, analyze and construct the combinatorial and sequential circuits used to build a CPU. The combinatorial circuits considered here consist (mainly) of simple circuits such as multiplexers, de-multiplexers, full adders, bit shifters, etc. The sequential circuits considered here consist of memory elements and counters. 


About programming in assembler:

  • Explain the stored program principle. 

The student should be able to describe how a sequence of machine instructions stored in memory is executed. 

  • Describe the programmer's model of the machine. 

The student should be able to describe the processor register set, explain the various types of instruction groups and addressing modes and describe them with examples. 

  • Describe, analyze, and design simple assembly language programs organized into subroutines. 

The student should be able to

    • structure programs using subroutines and stack management, and 
    • write small routines including software-controlled and interrupt-driven input and output and delays.

Content

* The essential elements and concepts of digital technology and different number systems.
* Using Boolean algebra to construct combinatorial networks and synchronous sequential circuits.
* The computer's digital building blocks (ALU, data path, controller, memory, input and output devices).
* The traditional processor architecture (data-path and control unit and its instruction set) as a synchronously operating digital machine.
* Coding in machine language and assembly language.

Organisation

Scheduled teaching consists of lectures, demonstrations, and supervised coding and simulation exercises. There are also supervised laboratory sessions for which students are required to prepare beforehand.
Throughout the course, the student will design increasingly complex digital building blocks of digital and computer systems. The theory is presented in lectures and demonstrations. Students construct their building blocks and test their designs with the help of simulators during exercises. The building blocks are subsequently realized in hardware during the lab sessions. The realization is completed by linking the building blocks into a computer and programming it.

Literature

See the course homepage.

Examination including compulsory elements

To pass the course the student must pass a written examination and the laboratory work. Based on the written examination the final grade is either U, 3, 4 or 5.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.