2190250 Computer Architecture and Organization

2nd semester Jan-May 2022
classroom :  Tuesday  9:00-12:00, online

Official syllabus

COMP ARCH ORG

Computer evolution and performance; computer structure, function, and interconnection; memory hierarchy; cache memory; virtual memory; storage; input/output; operating system support; process; interrupt; system call; instruction set; processor structure and function; pipelining; super-scalar processors; multi-core computers.

Aim

Today digital technology permeates every corner of our society. There are three big trends that shape our future. The first one is the coming of Artificial Intelligence.  The second one is the rise of Automation.  The last one the revolution of technology to transfer money.  These advancements rely on the power of computing. This class introduces an overview of modern computer system.

Topics

Computer Technology
Instructions
Arithmetic
Processor
Memory
Graphic Processing Unit

Announcement

  11 Jan 2022   start of the class
  22 Feb 2022  Midterm exam will be on 1 March 9:30-11:00, on zoom.  Three questions will be published at the time on MCV.
  28 Apr 2022 Final exam is on Monday, 9 May, 2022, start at 9:30, duration 1:30 hour. online in MCV

  . . .

Assessment

40%   in-class work,   simple question at break,  quiz at the end of lecture 
30%   midterm (1:30 hours)  around first week of March
30%   final (2 hours) 

Lecture

Computer Technology
Basics

Processor 

<midterm exam>


Memory

Graphic Processing Unit

Programming

Videos

  1. Introduction: Technology    https://youtu.be/_S8QKZsT3wk 
  2. Performance and Power   https://youtu.be/tZJQ9XLl86Y
  3. Instruction  part 1: RISC-V  https://youtu.be/k9Lkiz8GS88
  4. Instruction  part 2: data, binary number, branch, instruction encoding  https://youtu.be/Z7PeBG3hv6w
  5. Arithmetic:  add, subtract, multiply, divide integers   https://youtu.be/8AT7Sty0r7E
  6. Floating-point arithmetic     https://youtu.be/KBpgZHG-rn4
  7. RISC-V simulator  Demo online RISC-V interpreter. https://youtu.be/TZ6RjTv_gLE
  8. Demo floating point arithmetic with Venus   https://youtu.be/ittl8ffQNec 
  9. RISC-V assembly language programming  https://youtu.be/nh3xYrSxn3w
  10. Compiling C to RISC-V assembly language  https://youtu.be/AsDMXXKgvpU
  11. Compiling Floating point op (optional, not include in the exam)  https://youtu.be/OETW1QKO7gI
  12. Basic logic design  https://youtu.be/zYQx4JJ8Jyg
  13. Basic Flip-Flop and demo of logic simulator https://youtu.be/7SS9YRCA5oo
  14. Processor instruction execution.  https://www.youtube.com/watch?v=iGoyB_0qXYE
  15. Control unit.  https://www.youtube.com/watch?v=X17kvp8s2P0
  16. Detailed control sequence of RISC-V with timing diagram  https://youtu.be/4Sal1Goe2WE
  17. RISC-V simulator with controls. (including demo)  https://youtu.be/YI43OAhvTOw
  18. How to add a new instruction to RIS-V simulator  https://youtu.be/YoYxkNfTs9g
  19. <Midterm materials stops here.>

  20. Challenge of performance design of modern processor: Recap  https://youtu.be/r_LjZ1vD8kU
  21. Pipeline part 1:  pipeline organization and hazard  https://youtu.be/myITS4tAjY8
  22. Pipeline part 2:
  23.    pipeline control a) buffering between stages  https://youtu.be/P87zCotSF1A
  24.    pipeline control b) control signals  https://youtu.be/fUPwkXzkIPA
  25.    pipeline control c) (optional) register forwarding  https://youtu.be/1A4POVBJhpo
  26. Memory design part 1: cache memory  https://youtu.be/uKioRhmliVM
  27. Memory design part 2: memory technology, direct-map cache  https://youtu.be/DvJ4CWOYbDk
  28. Memory design part 3: cache performance  https://youtu.be/2Q5ASgBwFZc
  29. Measuring cache performance:  cache simulation   https://youtu.be/lpGWMJKe1Ys
  30. Multiprocessor and GPU  https://youtu.be/25fJx-w_eOs
  31. GPU development and applications  https://youtu.be/p9VXRqhkOYk
  32. GPU, concrete example, NPU (live, uncut)  https://youtu.be/d6exmfk82EY
  33. Demo GPU simulator (NPU)  https://youtu.be/VMJaQ6YrGZY
  34. Intro to programming with CUDA (by Tongjai Yampaka)  https://www.youtube.com/watch?v=FL240cnJIRM
  35. Future of computing:  Introduction to Quantum Computers (not in the exam). https://youtu.be/roHZzVN-BvM
  36. Bonus: Demo an experiment with a real RISC-V board.  https://youtu.be/X9oAt5V24ys

Tools

Tools for assembly language programming

Venus, RISC-V online interpreter
Compiler Explorer   select "RISC-V riscv32gcc" compiler 

Logic design tool:  LogicWork5   tutorial   
Cache simulation  trx,zip    cache-py.txt
GPU simulator (NPU)  npsim4.zip   (for Windows)   xnpu4.zip  (for MacOS)

Homework

see Assignment in Mycourseville of the class

Additional information

information on web:  Basic flip flop 

    https://www.electronicsforu.com/technology-trends/learn-electronics/flip-flop-rs-jk-t-d

Reference textbook:

Computer Organization and Design: The hardware/software interface (RISC-V edition)
D. Patterson, J. Hennessy, Morgan Kaufman, 2018.  link to Amazon

Transistor level simulation of an antique CPU.  6502 is used in the iconic Apple II machine.
    http://visual6502.org/JSSim/index.html

last update 29 Apr 2022