Computer Architecture 2
The students are trained for solving problems related to design, configuration and utilization of general purpose computers. Lectures and laboratory exercises stimulate associating architectural and organizational concepts with recent case studies. In particular, the students are acquainted with detailed organization of a simplified processor, performance metrics, instruction set architectures, dynamic pipeline scheduling, memory hierarchy, multi-processor and multi-core systems, and consequences which affect software design.
- distinguish the roles of major components of a computer including CPU, memory, buses and I/O devices.
- predict activity on the memory bus of a simple procesor, as a consequence of execution of short machine code snippets
- demonstrate the implementation of simple instructions at the logic level
- summarize design principles of instruction set architectures RISC and x86
- solve small-scale problems by complementing C with assembly
- summarize the organization of superscalar processors with dynamic pipeline scheduling
- illustrate stages of physical address generation in presence of caches and virtual memory
- explain the implementation of coarse-grained parallelism on multi-core and multi-processor computers
Forms of Teaching
The course includes three hours of lectures per week.Exams
The knowledge tests include the midterm exam (40%), the final exam (45%), two short tests in class and three tests in the laboratory (15%).Laboratory Work
The course includes two laboratory exercises. http://www.zemris.fer.hr/~ssegvic/ar2/index_en.htmlConsultations
Consultations are held once a week within a time slot of two hours.Seminars
The students may earn additional credits by completing a technical seminar. The subject of the seminar must be registered before the mid-term exam.
|Type||Threshold||Percent of Grade||Threshold||Percent of Grade|
|Laboratory Exercises||40 %||15 %||40 %||0 %|
|Mid Term Exam: Written||0 %||40 %||0 %|
|Final Exam: Written||0 %||45 %|
|Exam: Written||50 %||80 %|
|Exam: Oral||20 %|
Week by Week Schedule
- Introduction. Trends in VLSI technology, computer architecture, and processor performance. Roles of major components in the Von Neumann's computer model including CPU, memory, buses and I/O devices. Implementing a shared bus with three-state buffers. Problem solving exercises.
- Simplified model of the processor organization. Tracking the memory activity during the execution of short machine code snippets. Problem solving exercises.
- Hardwired control in a 8-instruction processor model. Implementation of simple instructions at the gate level. Components of control unit: sequence counter, decoder, logic array, clock generator. Problem solving exercises.
- Implementation of control in the model of the microprogrammable processor: microprogrammable processor model, organization and structure of the microprogrammable control unit, microinstruction formats. Problem solving exercises.
- Hardware/software interface: stacks, exceptions, creation of executable files, memory layout of a typical process. Problem solving exercises.
- Computer architecture classifications with respect to parallelism (Flynn), control flow (instruction, data), and instruction sets (CISC, RISC, VLIW). Computer performance: introduction of the parameter CPI, SPEC benchmark collections. Problem solving exercises.
- Instruction set architectures RISC and x86. Data path of a modern RISC processor. Problem solving exercises.
- Midterm exam.
- The concept of pipelined data processing. Pipeline hazards: structural, data, and control. Organization of a pipelined RISC processor.
- Aggresive exploitation of instruction-level parallelism. Superscalar organization. Dynamic scheduling. Register renaming. Branch prediction. Case studies.
- Memory hierarchy. Approaches for improving the bandwidth of the main storage. Cache organization: direct-mapped, fully associative and set-associative. Replacement algorithms. Cache coherency. Case studies. Problem solving exercises.
- Virtual memory system. Physical and logical address spaces. Address mapping by paging and segmentation. TLB-s and multi level page tables. Replacement policies. Case studies. Problem solving exercises.
- Forms and levels of parallelism. Parallel architectures. Multiprocessor SIMD computers. Vector processors.
- Multiprocessor MIMD computers. Multiprocessor cache coherency. Synchronization of processes and threads. Multicore processors. Graphic processors.
- Final exam