Course syllabus for Introduction to computer engineering

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

Overview

  • Swedish nameGrundläggande datorteknik
  • CodeEDA452
  • Credits7.5 Credits
  • OwnerTKDAT
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and 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 49128
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0112 Examination 4.5 c
Grading: TH
0 c4.5 c0 c0 c0 c0 c
  • 10 Jan 2022 am J
  • 31 Maj 2022 am J
  • 18 Aug 2022 pm J
0212 Laboratory 3 c
Grading: UG
0 c3 c0 c0 c0 c0 c

In programmes

Examiner

  • Rolf Snedsböl
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.

Aim

The course will provide an understanding of computer architecture and operation, and therefore a very good theoretical and practical basis for further studies in both computer technology as programming technology courses.

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

describe the computer structures and organisation 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, and - explain architectural concepts such as accumulator architectures, RISC, CISC, stack architectures, and pipelines. * describe and analyze/design the central processing unit¿s basic parts. 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 created the 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 primary memory¿s core functions and describe, analyze, and design 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; - describe, analyze and realize simple memory addressed IOs with digital components; and - 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. within 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. program 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

ISBN:9789144115610, Grundläggande datorteknik - paket, R. Johansson, Studentlitteratur, 2016.

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.