Course Information

INFO2425 Computer Architecture

COURSE CODE:       INFO 2425

COURSE TITLE:       Computer Architecture

CREDITS:                    4

LEVEL:                         2

PRE-REQUISITES:          INFO 1503 AND INFO 1504

COURSE DESCRIPTION:

This course covers the fundamentals of the operation and design of computers from the programmer’s and architect’s point of view. It describes the components of a computer, functions of each component, and how components interact with each other and with software.

COURSE RATIONALE:

All students of computing should have an understanding of the computers functional components, their characteristics, their performance and their interactions. The purpose of this course is to introduce you to the design of the main components of a computer and provide a foundation for other courses such as operating systems, networks and programming languages. It is for those who wish to design better programs, including system software such as compilers, operating systems, device drivers and evaluate computer system performance.

CONTENT:

  • Digital Logic
  • Data Representation
  • Instruction Set Architectures
  • Processor Structure and Function
  • Control Unit
  • Bus Interconnection
  • Cache Memory
  • I/O Architecture

LEARNING OUTCOMES:

Upon completion of the course, students will be able to:

  • Identify the main concepts, design issues, implementation tradeoffs of:
    • The major computer components
    • The interaction between these components
  • Describe the representation and manipulation of data on the computer
  • Evaluate computer performance
  • Select appropriate computer hardware for a given environment
  • Assess articles dealing with computer hardware in technical journals

ASSESSMENT:

Method of Evaluation

Percentage of Grade

Restriction

Coursework

         2 Assignments (20%)

           (problem sets)

 

         2 1-hr Exams (20%)

 

40 %

 

Final Examination

     One 2-hours written paper

     (Covers entire course – all           

       lectures, readings and  

       tutorials.)

 

60%

Fail Theory Regulation

Students must get a passing grade on final examination to pass the course.

TEACHING STRATEGIES:

  • Lectures, Class discussions
  • Tutorials, Problem solving sessions

RESOURCES:

  1. Stallings William, Computer Organization and Architecture: Designing for Performance, Prentice-Hall.
  2. Null, Linda and Lobur, Julia. The Essentials of Computer Organization and Architecture. Jones and Bartlett Publishers.

COURSE CALENDAR:

Week

Topic

1,2

Digital Logic – logic gates, combinational circuits(adder, decoder, multiplexer), sequential circuits(SR, D and JK flip-flops, parallel registers, binary counter), karnaugh maps

3,4

Data Representation – integer representation, integer arithmetic, floating-point representation, floating point arithmetic; Assignment 1

5,6

Instruction Set Architectures – design issues, types of operations, addressing modes, a light introduction to MIPS

7,8

Processor Structure and Function – processor organization, register organization, instruction cycle, instruction pipelining, RISC and CISC computers; Exam 1

9

Control unit – control unit operation, hardwired control unit, microprogrammed control unit, microinstructions; Assignment 2

10

Bus Interconnection – bus structure, multiple-bus hierarchies, bus design issues

11

Cache Memory – cache memory principles, cache design, direct, associative and set-associative mapping; Exam 2

12

I/O architecture – external devices, I/O modules, programmed I/O, interrupt I/O, Direct Memory Access, the external I/O interface

13

     Review