Advanced Networking and Computing - Yamin LI

年度

  • 2016 年度版

Instructor

Goal and Theme

Most modern CPUs can exploit 3-level parallelism: (1) The CPUs can dispatch multiple instructions from an instruction stream in every clock cycle to exploit the instruction-level parallelism (ILP). (2) The CPUs can execute multiple threads simultaneously to exploit the thread-level parallelism (TLP). And (3) There are multiple cores in a single CPU chip so that it can execute multiple programs in parallel to exploit the job-level parallelism (Chip multiprocessors). To achieve high-performance in scientific computations, Wallace Tree, Goldschmidt algorithms and Newton-Raphson algorithms are used to speedup the operations of the multiplications, division, and square root. For computer/CPU design, the Verilog HDL (Hardware description language) is widely used by both academia and industry.

授業の到達目標

Through this lecture, students will learn how to design high-performance CPU in Verilog HDL. After finishing the lecture, students should become a professional in Verilog HDL and in CPU designs.

Abstract

The contents of the lecture include technology and performance evaluation, instruction architectures, pipelining, floating point adder design, Wallace Tree, Goldschmidt algorithms, Newton-Raphson algorithms, FPU/CPU design, multithreading/multicore CPU design, instruction scheduling and branch prediction, Scoreboard and Tomasulo algorithms, cache and TLB design, PS/2 Keyboard and mouse, VGA controller, and PCI Bus. In the last two classes, students will present their work related to this course.

Schedule

テーマ内容
1 Performance Evaluation Introduction, computer performance evaluation, and Hardware Description Languages (HDLs)
2 Pipelining and Verilog HDL Instruction architectures and pipelined CPU design in Vrilog HDL
3 Pricise Interrupt Interrupts and exceptions, pricise interrupt in pipelined CPU
4 Floating Point Adder Design IEEE 754 floating-point formats, FPU addition and subtraction
5 Wallace Tree Multiplication and Wallace Tree Circuit
6 Goldschmidt Algorithms Goldschmidt divison and square root algorithms
7 Newton-Raphson Algorithms Newton-Raphson divison and square root algorithms
8 FPU/CPU Design Advanced CPU/FPU design
9 Cache and TLB Memory hierarchy, cache, MMU, TLB, and CPU design with caches and TLBs
10 Multithreading CPU Design Threads and multithreading CPU Design
11 Multicore CPU Design Cache coherency protocols and Multicore CPU Design
12 Input and Output Systems PS/2 Keyboard and mouse, VGA controller, and PCI Bus
13 Supercomputers High-performancs computers and interconnection network
14 Presentations Present your theme
15 Presentations Present your theme

授業時間外の学習 (準備学習・復習・宿題等)

Write Verilog HDL codes for CPU design or develop interconnection networks, and prepare presentation slides

Materials

Online materials

References

1. Computer Architecture: A Quantitative Approach, Fifth Edition, John L. Hennessy and David A. Patterson, Morgan Kaufmann Publishers, Inc. 2011.
2. Computer Principles and Design in Verilog HDL, Yamin Li, John Wiley & Sons, ISBN 978-1-118-84109-9, 2015.

Evaluation Method

Based on attendance and presentations

情報機器使用

Bring note-PC to the lecture

学生の意見 (授業改善アンケート等) からの気づき

None