IS1200 Computer Hardware Engineering 7.5 credits

Datorteknik, grundkurs

After this course, the student will be able to

  • Describe and explain the micro-architecture of a pipelined processor
  • Describe and explain priority interrupt handling and direct memory access
  • Write assembler-language programs for simple calculations and input/output
  • Describe, explain and use hardware and software priority used by operating systems
  • Describe and explain cache memory and piplining in order to discuss qualitative aspects of computers
  • Describe, explain and write low-level C-code
  • Describe and explain the relationship between C-code and assembler code
  • Describe and explain time-sharing the processor and how programs use semaphores to cooperate
  • Educational level

    First cycle
  • Academic level (A-D)

    B
  • Subject area

    Techonology
  • Grade scale

    A, B, C, D, E, FX, F

Course offerings

Spring 13 Kista for programme students

Spring 13 CINEK CELTE for programme students

Spring 13 SFINX for programme students

  • Periods

    Spring 13 P3 (7.5 credits)
  • Application code

    61197
  • Start date

    2013 week: 2
  • End date

    2013 week: 11
  • Language of instruction

    Swedish
  • Campus

    KTH Kista
  • Number of lectures

  • Number of exercises

  • Tutoring time

    Daytime
  • Form of study

    Normal
  • Number of places

    No limitation
  • Schedule

    Schedule (new window)
  • Course responsible

    P Johan B Wennlund <jwd@kth.se>
  • Teacher

    Fredrik L R Lundevall <flu@kth.se>
    Jan I Andersson <janande@kth.se>
  • Target group

    Only for SFINX

Spring 14 for programme students

Learning outcomes

After this course, the student will be able to

Describe and explain the micro-architecture of a pipelined processor

Describe and explain priority interrupt handling and direct memory access

Write assembler-language programs for simple calculations and input/output

Describe, explain and use hardware and software priority used by operating systems

Describe and explain cache memory and piplining in order to discuss qualitative aspects of computers

Describe, explain and write low-level C-code

Describe and explain the relationship between C-code and assembler code

Describe and explain time-sharing the processor and how programs use semaphores to cooperate

Course main content

Computer engineering fundamentals: What is a program, and how is it executed inside a pipelined processor.

Addressing methods in assembly language.

The C language for Java programmers.

Subroutines - the C language level, the assembler language level and hardware support.

Computer Arithmetic: Binary representation of integers and floating pointnumbers - how computers perform calculations.

Low-level programming: combining C code and assembler code.

Static and dynamic variables on the C level and on the assembler language level.

Argument passing: pointers, call by reference and call by value.

Communication between the central processing unit, the memory system, and the input/output subsystem, using a simple processor bus.

Communication, priority interrupt handling and direct memory access.

RISC architecture fundamentals including the cache memory concept.

There are six laboratory sessions treating:

* Assembler language programming

* Input/output

* Interrupt handling

* Combining C and assembler code

* Processor architecture and cache memories

* Time-sharing the processor

Eligibility

Completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B and English corresponding to English A. For students who received/will receive their final school grades after 31 December 2009, there is an additional entry requirement for mathematics as follows: documented proficiency in mathematics corresponding to Mathematics A. And the specific requirements of mathematics, physics and chemistry corresponding to Mathematics D, Physics B and Chemistry A.

Prerequisites

Fundamental knowledge of programming and digital electronics

Literature

Litteratur

Datorsystem - Program- och maskinvara, Mats Brorsson

Upplaga: Förlag: Studentlitteratur År: 1999

ISBN: 91-44-01137-7

Övrig litteratur

Nios II Processor Handbook Chapter 3 and 8

Föreläsnings-anteckningar (PowerPoint)

Exempelsamling med lösningar

Lab-PM

Examination

  • LAB1 - Laboratory Work, 4.5 credits, grade scale: P, F
  • TEN1 - Examination, 3.0 credits, grade scale: A, B, C, D, E, FX, F

Requirements for final grade

Passed written examination (TEN1; 3 hp) grading A-E
passed laborative sessions (LAB1; 4,5 hp).

Offered by

ICT/Software and Computer system

Contact

Wennlund, Johan ( jwd@kth.se )

Examiner

P Johan B Wennlund <jwd@kth.se>

Version

Course plan valid from: Autumn 08.
Examination information valid from: Autumn 07.