Computer Science Department CCNY
CS342
Computer Organization:
Hardware/Software Interface
- Computer Abstraction.
- The role of performance.
- Computer arithmetic:
- Computer representation of integers, fractions, rational, irrational numbers;
- Negative number representation and arithmetic;
- Multiplication algorithms,
- Division algorithms
Students will explore arithmetic instructions using (SPIM) simulator.
- Machine language, instruction set architecture,
- Representing instructions in the computer,
- Addressing modes
- Control instructions
- Procedure call instructions
- RISC versus CISC instructions
Students will perform projects using SPIM simulator and assembler.
- Construction of arithmetic logic unit(ALU)
- Design of 32 bit ALU
- Carry lookahead
- Overflow detection
Student will design complete 4bit ALU using VHDL and simulate it
(using MAXPLUS2 Software from ALTERA Corp.)
- The processor
- Datapath
- Single clock cycle control
- Multiple clock cycle control
- Microprogramming
- RISC versus CISC
Student will design controller using graphical FSM design tools and VHDL.
- Pipelining
- Pipelined datapath
- Pipelined control
- Control and data hazards, stalls
- Branch hazards
- Reducing hazards: data forwarding
- Branch prediction, speculative execution, register renaming techniques.
Students will explore pipelining using SPIM simulator
- Memory
a) Caches
b) Virtual memory
- Memory Hierarchy
- Performance issues ( page faults , cache misses)
Students will explore cache performance using the Dinero simulator.
Students will have to write a program that "kills" cache performance.
- I/O Devices
- Disks
- Storage devices(RAID)
- Buses
- Bus Hierarchies
- Networks
Student will perform quantitative analysis of I/O performance.
- Commercially available architectures ( Alpha, Pentium, Sparc, Mips
Vax-11) will be described. RISC versus CISC.
- Multiprocessors
Superscalar processors, Shared Memory, Distributed Shared Memory Multiprocessors. SMP( symmetric multiprocessing).