Target Audience

Overall goals of ECE 232

Course Outline

1.     Introduction

·         Terminologies

·         Hardware, Software, Interface

·         The computer design process and scope of the course

·         Moore’s law and historical perspective

·         Application of computer design principles in other designs

2.     Arithmetic for Computers

·         Signed and Unsigned numbers

·         Binary Addition and Subtraction

·         Improving adder performance using Carry Look Ahead and Carry Select Adders

·         Multiplying signed and unsigned numbers

·         IEEE floating point number representation

·         Using Verilog for design

3.     MIPS instructions

·         Basic organization

·         Von Neumann machine, memory, registers

·         Data movement

·         Logical operations

·         Arithmetic operations

·         Instructions for making decisions

·         Supporting procedures in hardware

·         MIPS addressing

·         Translating and starting a program

·         Writing recursive program in assembly language

·         Using SPIM simulator

4.     Understanding Performance

·         CPU performance factors

·         Basic performance evaluation

5.     Processor Datapath and Control Design

·         Simple implementation scheme

·         Multicycle datapath implementation

·         Control system design using state machines

·         Pipelined datapath

·         Pipelined control

·         Data Hazards and stalls

·         Branch Hazards

6.     Memory Hierarchy

·         The basics of Cache

·         Measuring and improving cache performance

·         Virtual memory

7.     Storage and IO sub-systems

·         Disk storage and dependability

·         Direct mapped and memory mapped IO

·         Simple peripheral control design

8.     Overview of contemporary issues

·         Power issues

·         Superscalar architecture

·         Multi-core design: benefits and disadvantages