CS2507: Computer Architecture

What is this course about?

This is a first course in Computer Architecture.

The course is taught over 12 weeks with 2 lectures per week. There are also six 2-hour laboratory sessions.

The University's formal description of this module can be found by clicking here.

Who should take this module?

This module is offered to second year Computer Science (CK401) students at University College Cork.

How is the course assessed?

The final mark for this course is a combination of a year's work mark and a mark obtained from a written end-of-year examination.

Laboratory work is worth 20% of the overall mark for this subject. The other 80% is associated with a written paper, which you must answer within a 1.5-hour interval.

What texts are recommended?

The essential text for this course is

Tanenbaum, A and Austin, T, Structured Computer Organization , 6th edition, published by Pearson.

When and where are the lectures held?

The lectures will be held during term in the Western Gateway Building (old Cork Greyhound Track), on Mondays in WGBG02 at 10.00 a.m. and on Wednesdays in WGBG03 at 11.00 a.m.

Where can I find details of the lectures?

The lectures closely follow the chapters of the essential class text. You are advised to consult additional material accessible from the Computer Architecture Resources page.

Taking Notes

It is essential that you attend every lecture and take relevant notes. The overheads displayed to support the lecture are the property of the text publisher and cannot be supplied as handouts. As soon as possible after each lecture, you should go over your notes, make sure you understand them and add your own expanded observations on the notes.

Lecture Topics

1. Historical Context

CPU, ALU, registers, Accumulator, PC, SP, stack, main memory, secondary memory, instruction cycle, fetch phase, execute phase.

2. Fundamentals: Number Systems

Revision of unsigned integer representations. Signed numbers: Signed-magnitude, Nine's Complement, Ten's Complement, One's complement, Two's Complement. Number conversions.

3. Fractional Numbers

Fixed point, floating point, IEEE standard floating point representation. Conversions between binary and decimal numbers.

4. Fundamentals: Electric circuits

DC, resistance, resistor colour code and tolerances, Ohm's Law, series circuits, Kirchoff's Second Law, potential divider, Kirchoff's First Law, resistance in parallel circuits, series-parallel circuits, power in DC circuits.

5. Fundamentals: Electric circuits

AC, RMS, inductance, inductive rise time, time constant in an RL circuit, inductive reactance, phase angle, power in inductive circuits, power factor, capacitors, factors affecting capacitance, time constant, capacitive reactance, phase angle, power.

6. Fundamentals: Semiconductors

Resistance, resistivity, conductance, conductivity, semiconductor bonds, doping, acceptor doping, pn junction, potential barrier of pn junction, pn junction forward bias, pn junction reverse bias.

7. Fundamentals: Transistors

Bipolar Junction Transistor, pnp, npn, biasing, operating regions, common base, common emitter, cutoff, cut-in base voltage, saturation, collector current characteristics, switching, inversion, Field Effect Transistor, MOSFET, nMOS, pMOS, CMOS, FET operating regions, cutoff, triode region, pinchoff, drain current characteristics, switching, inversion.

8. Fundamentals: Semiconductor circuits

TTL and CMOS supply voltage levels, Zener diode, voltage regulation, TTL inverter, TTL NAND, input coupling transistor, clamp diode, phase splitter, totem pole, open collector, CMOS inverter, CMOS NAND

9. Computer Systems: Processors and Primary Storage

CPU organization, instruction execution, processor design principles, RISC/CISC, pipelining, superscalar architectures, multiprocessors, primary memory, endianness

10. Computer Systems: Secondary Storage

ECC, Hamming codes, error detection, 1-bit error correction, cache, magnetic disks, IDE, ADA, SATA, SCSI.

11. Computer Systems: Input/Output

RAID levels 0 to 5, solid-state disks, CD-ROM, CD-Recordable, DVD, I/O buses, PCI, PCIe, I/O devices, DSL, character codes, ASCII, UTF-8

12. Digital Logic Level: Gates, Boolean Algebra

BJT inverter, BJT NAND, BJT NOR, truth tables for AND, OR, NOT, NAND NOR, Majority function, implementation of Boolean functions, circuit equivalence, Boolean algebra identities, XOR, positive and negative logic

13. Digital Logic Level: Basic Circuits

Integrated Circuits, multiplexers, multiplexer implementation of truth table, decoders, comparators, 1-bit L/R shifter, half adder, full adder, 1-bit ALU, bit-slice approach to ALU, clocks, SR latch, clocked SR latch, clocked D latch.

14. Digital Logic Level: Memory

15. Digital Logic Level: CPU Chips

16. Digital Logic Level: Buses, Interfacing

17. Microarchitecture Level: Example Microarchitecture, Example ISA

18. Microarchitecture Level: Example Implementation, Microarchitecture Design

19. Microarchitecture Level: Microarchitecture Design, Performance Improvement

20. Microarchitecture Level: Examples

21. Instruction Set: Overview, Data Types

22. Instruction Set: Addressing, Instruction Types

23. Instruction Set: Flow of Control

24. Instruction Set: IA-64 Architecture, Itanium 2

Laboratory Sessions

Practical laboratory sessions are held in WGBG20 on the ground floor of the Western Gateway Building, on Tuesdays and Wednesdays from 9.00 hours to 11.00 hours. You will be notified in class of the date of the first session.

Students are requested to attend only the session to which they have been assigned.

Examination Papers

Sample examination papers can be found here:

CS2507 Examination Papers
Sample Examination Paper 2010