2190250
      Computer Architecture and Organization
    2nd
      semester Jan-May 2023
    classroom
      :  Tuesday  9:00-12:00 room 302 ISE
    
    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
    Quantum computing
    
    
    Announcement
     
      10 Jan 2023   start
      of the class  
      1 Mar 2023   midterm exam will be on 7 March 2023, 9-10:30,
    Eng building 1, room 304
    
    
       
    
        . . .
    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  
    
    
    
    
    
    
    Memory 
    
    Graphic Processing Unit
    
    Quantum
        Computing  (2023)  (optional, NOT in final exam) 
    
    Programming
    
    Videos
    
      -  Introduction: Technology    https://youtu.be/_S8QKZsT3wk 
        
 
      - Performance and Power   (2023)  https://youtu.be/LfeKCRZ4Zhg
 
      - RISC-V instruction set (2023) https://youtu.be/LLopfT1eLoU
 
      - RISC-V assembly language programming (2023)  https://youtu.be/lT9PctFVfeI
 
      - Integer arithmetic (2023)  https://youtu.be/Qh2dxCNVuQg
 
      - Floating point arithmetic (2023)  https://youtu.be/hdi98kYub30
 
      - Processor: datapath (2023) https://youtu.be/JHxIDFGUPtc
 
      - Processor: control  (2023)  https://youtu.be/7YkipmN2Ras
 
      - Detailed control sequence of RISC-V with timing diagram  https://youtu.be/4Sal1Goe2WE
 
      - RISC-V simulator with controls. (including demo)  https://youtu.be/YI43OAhvTOw
 
      - How to add a new instruction to RISC-V simulator 
          https://youtu.be/YoYxkNfTs9g
 
      - Basic pipeline  https://youtu.be/6N4sa9y7fz4
 
      - Branch prediction. https://youtu.be/SEKx0IAdBac
 
      - Pipeline implementation https://youtu.be/m-X_oxCD95o
 
      - Memory technologies  https://youtu.be/AS8_mKs976Q
 
      - Cache memory  https://youtu.be/I9vi2AvT-0I
 
      - History and development of GPU https://youtu.be/oSgqueF-EYU
 
      - GPU application  https://youtu.be/PeMOFkr-vwc
 
      - GPU simulator: NPU  https://youtu.be/bJYS0Vrkt_0
 
      - Running NPU simulation https://youtu.be/nFH5Nhad9nM
 
      - Introduction to Quantum Computing: Basics https://youtu.be/6GNcpvODYK8
 
      - Demonstrate on IBM quantum platform  https://youtu.be/YD6X47B2GW0
 
      - Quantum algorithms   https://youtu.be/ngSx4LVvjIs
 
      - Demonstration of Deutsch-Jozsa algorithm  https://youtu.be/tAlsdyrkYxE
 
    
    
    
    Tools
     Tools
        for assembly language programming
    Venus, RISC-V online interpreter
    Compiler Explorer   select
    "RISC-V riscv32gcc" compiler  
    Andrew Waterman, Krste Asaovic (eds), The RISC-V instruction set manual,
      volume 1: User-level ISA, version 2.2 (2017)  (
        pdf )
    Logic design tool:  LogicWork5
      tutorial    
    Cache simulation  trx,zip   
    cache-py.txt
    GPU simulator (NPU)  npsim4.zip  
    (for Windows)   xnpu4.zip 
    (for MacOS)  windows executable (asm4.exe and sim4.exe zip
    )
    Homework
    see
    Assignment in myCourseVille of the class
    Additional
      information
    IEEE
          754 number converter  (2023)
    Transistor level simulation of an antique CPU:  6502 used in the
      iconic Apple II machine
    http://visual6502.org/JSSim/index.html
    
    Reference
      textbook
    Computer
      Organization and Design: The hardware/software interface (RISC-V edition)
      2nd edition,
      D. Patterson, J. Hennessy, Morgan Kaufman, 2020.  link
        to Amazon
    
    last
      update 10 May 2023