Computer Architecture (and Low-Level Programming)
Online Information Index and Lecture Session Breakdown
(* UNDER CONSTRUCTION *)
Sketch of Lecture Sessions
- Class introduction (week 1)
- Goals and expectations of this course
- Review of basic architecture:
block diagram of a generic computer and basic
program execution
- Architecture design goals
- Low-level programming issues (weeks 2-3)
- High-level language support
- Parameters, local variables
- High-level language calling convensions
- Architecture support for high-level languages
- Co-routines and "processes"
- Using several stacks
- State of computation ("process")
- Re-entrant code
- Transfer of control: RESUME operation
- Pseudo-operations and the process of assembly and linking
- Macros (outline)
- Assembly: pass I
- Assembly: pass II
- Address fixup tables, relocatable object files
- The linking process and executable files
- Libraries, dynamic linking
- Monitors and debuggers: debugging low-level programs
- Viewing and modifying registers and data
- Running, single-stepping, breakpoints
- Trace and watch
- Symbolic debuggers
- A RISC Architecture and Assembly Language - MIPS (weeks 4-8)
-
RISC vs. CISC
-
Computer performance measures
-
CISC design basics
-
RISC design basics
-
MIPS organization and architecture
-
Register set
-
Instruction formats
-
Addressing modes
-
MIPS assembly language
-
Branch instructions
-
Arithmetical and logical instructions
-
Load/store instructions
-
The arithmetical and logical unit (ALU)
-
Arithmetic operations on integers
-
Logical operations
-
Status bit generation
-
MIPS ALU
-
The control unit and the datapath
-
The Branch execution unit
-
Hard wired control
-
Single cycle control
-
The MIPS Data-path
-
Processor bus interface
-
Microprogramming
-
The control logic unit
-
Multiple cycle hard-wired control
-
Microprogram control
-
Issues in modern architectures (weeks 9-12)
-
Advanced data formats: floating point standards
-
Addition, subtraction and multiplication on fixed point numbers
-
The IEEE standard for floating point number representation,
-
Addition subtraction and multiplication of floating point numbers
-
The MIPS floating Point Unit
-
Associative memory and caches
-
Locality of reference
-
The "small is fast" principle
-
Stack memory
-
Modular memory
-
Associative memory
-
Address mapping (paging, segmentation, virtual memory)
-
Direct mapping
-
Associative mapping
-
Set-associative mapping
-
Cache write policies
-
Cache design principles
-
Cache management in the MIPS
-
Hardware support of virtual memory
-
Memory management in the MIPS
-
Pipelining
-
Principles of pipeline design
-
Instruction pipeline
-
Functional pipeline
-
Synchronization and control of pipelines
-
The MIPS instruction pipeline
-
Performance of pipelined computers
-
Co-processor and multiprocessor systems
-
Classification of parallel computers
-
Speedup of parallel systems
-
Special purpose co-processors
-
Array processors and vector processor
-
The ILLIAC IV
-
Systolic arrays
-
Multiprocessor systems
-
Data decomposition vs functional decomposition
- System Issues (weeks 12-13)
- Machine control operations and interrupts
- Protection support instructions
- Interrupts: hardware and software
- Atomic operations
- Special control operations
-
Inter-process/processor communication
- Error detection and correction
- Parity and error detection
- Principles of error correction
- Single-bit error correction: Hamming code
- Hamming + parity and beyond
- Correcting erasures
- Parallel communication (hardware handshake)
- Serial communication
- USART device, serial communication
- Hardware level: RS232, RS422
- Hardware and software (XON-XOFF) handshakes
Online Exercises
Web pages for exercise sessions and assignments can be accessed
here.
Other Online Material
- Slides for week 1 lectures, (sans figures -
postscript).
- Slides for week 2-3 lectures, (postscript).
- Slides for week 4-5 lectures, (postscript).
- Slides from Patterson and Hennesy. Copyright 1998 Morgan Kaufmann
Publishers.
- Chapters 1-4, powerpoint, or
postscript.
- Chapter 5, powerpoint, or
postscript.
- Chapter 6, powerpoint, or
postscript.
- Chapters 7-9, powerpoint, or
postscript.
Back to main page of this course
Back to BGU CS HomePage