Computer System Organization and Architecture

General

Educational goals

The aim of the course is to give the student the understanding of the structure and operation of a modern serial computer system. Starting from the basic organization of the hardware the course introduces the student to the hardware design principles. The course also offers the foundations to evaluate the performance of computer systems and their sub-units. The laboratory part of the course offers an introduction to microprocessor programming and microcontroller programming. With the successful completion of the course the student will be able to:

  • To know the basic structural components of the computer
  • To understand the interoperability and the importance of the structural elements of the computer and understand the operation of low level programming langiages
  • To write programs in the assembly language
  • To analyze the architectural components of a computer system and compose the suitable architectural solution for the corresponding application
  • To evaluate the performance of a computer system

Course Contents

Course Content

  • Hierarchical Architecture of the serial Computer: Units, actions, interconnection structures (busses)
  • Cache memory: Description of memory systems, basic cache-related concepts, design and organization of cache memory.
  • Main memory: Physical and logical organization of main memory. Connection between cache and main memory
  • Input-output system: External units, I/O subcomponents, I/O through interrupts, I/O through programming, Direct Memory Access (DMA)
  • External memory: Magnetic disks, RAID systems, optical and electronic disks
  • Machine language: Structure, instructino set, operations, operators, instruction format, addressing schemes
  • Central Processing Unit: CPU organization, register organization, architecture taxonomy, fetch-execution cycle, pipelining, control flow prediction, short description of RISC and CISC architectures
  • Control unit: micro-execution, processor control, hardware implementation, microcode implementation
  • Implementation examples of the above architectural choices in real systems

Teaching Methods - Evaluation

Teaching Method
  • Face to face lectures
  • Laboratory excercises
Teaching Organization
Activity Semester workload
Lectures52
Laboratory exercises26
Preparation for laboratory exercises26
Individual study and analysis of literature76
Total 180
Students evaluation

Final exam on the theoretical part of the course (70%)
Laboratory excercises (30%)
30% of the grade in the Lab part is added to the 70% of the grade in the theoretical part only if the student has the required attendance in the Laboratory and his/her grade in the Lab is at least 5.0.

Recommended Bibliography

Recommended Bibliography through "Eudoxus"
  1. Stallings William, "Οργάνωση και Αρχιτεκτονική Υπολογιστών", ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 10η Έκδοση/2016, ISBN: 978-960-418-580-1, Κωδικός Βιβλίου στον Εύδοξο: 59386815
  2. ANDREW S. TANENBAUM, "Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ: ΜΙΑ ΔΟΜΗΜΕΝΗ ΠΡΟΣΕΓΓΙΣΗ", ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, Έκδοση: 4η/2000, ISBN: 960-209-403-6, Κωδικός Βιβλίου στον Εύδοξο: 13759
  3. Hennessy John L. και Patterson David A. "Αρχιτεκτονική Υπολογιστών", ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 4η Έκδοση/2011, ISBN: 978-960-418-326-5, Κωδικός Βιβλίου στον Εύδοξο: 18548925
Complementary international bibliography
  1. Stallings William, "Computer Organization and Architecture", 10th edition, Pearson, 2016
  2. Hennessy John L. and Patterson David A. "Computer Architecture: A Quantitative Approach", 6th edition, Morgan Kaufmann, 2017