Summer 2018 - ENSC 254 D100

Introduction to Computer Organization (4)

Class Number: 1105

Delivery Method: In Person

Overview

  • Course Times + Location:

    May 7 – Aug 3, 2018: Mon, Wed, 8:30–10:20 a.m.
    Burnaby

  • Exam Times + Location:

    Aug 13, 2018
    Mon, 3:30–6:30 p.m.
    Burnaby

  • Prerequisites:

    (ENSC 251 & ENSC 252) or (CMPT 150 & CMPT 225 & enrolled as a Computing Science Major). ENSC 254 is a required course for all Engineering Science Majors and Honours students (no course substitutions are permitted).

Description

CALENDAR DESCRIPTION:

Fundamentals of microprocessor architecture and operation; this includes instruction formats, assembly language programming (procedures and parameter passing, interrupts, etc), and memory and 1/0 port interfaces. Students with credit for, or who are concurrently enrolled in ENSC/CMPT 250 or ENSC 329/MSE 350 cannot take this course for further credit.

COURSE DETAILS:

The course introduces foundation elements of computer architecture and in particular micro-processor architectures, both in the case of general purpose computers and in the particular field of embedded
systems.

The course uses the ARM processor architecture as a reference test case, since ARM devices cover a very large part of the computer market today, form high end smart-phones and tablet to embedded
systems and industrial application. Based on the ARM test-case, the first part of the course describes internal processor components, processor functioning, and its main building blocks (ALU, Register
File, Instruction Decode, I/O interface). Concurrently, the course introduces software concepts such as local and global variables, C to assembly correspondence, function calls, compilation details, memory
handling, stack, heap. In the second part of the course, other aspects of computer architecture will be reviewed, including addressing space, memory, caching, bus architectures, I/O peripherals and
interrupts.

Course Content
Introduction to Computer Architecture;
Internal representation of Data and Instructions ;
Processor ISA (Instruction Set Architecture): Instructions and Programming Modes ;
Assembly Language: Rules and Directives ;
Processor Access to memory: Addressing Modes ;
Arithmetical / Logical Operations ;
Loops and Branches ;
Memory Architecture, Memory control and Caching
Sub-Routines and Stack management ;
Computer Peripherals, Peripheral control and Management ;
Interrupts and Exceptions ;
Processor Architectures and Cache

Grading

  • Written Exams 70%
  • Lab Assignments 30%

Materials

REQUIRED READING:

Carl Hamacher, “Computer Organization and Embedded Systems”, McGraw-Hill.
ISBN: 9780073380650

William Hohl , “ARM Assembly Language: Fundamentals and Techniques”, 2nd Edition,
Taylor & Francis.
ISBN: 9781482229851

Registrar Notes:

SFU’s Academic Integrity web site http://students.sfu.ca/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS