User Tools

Site Tools


buzzword

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
buzzword [2014/01/17 19:19]
rachata
buzzword [2014/01/24 19:10]
rachata
Line 94: Line 94:
   * Tradeoffs between control-driven and data-driven   * Tradeoffs between control-driven and data-driven
     * What are easier to program?     * What are easier to program?
- * Which are easy to compile? +    ​* Which are easy to compile? 
- * What are more parallel (does that mean it is faster?) +    * What are more parallel (does that mean it is faster?) 
- * Which machines are more complex to design?+    * Which machines are more complex to design?
     * In control flow, when a program is stop, there is a pointer to the current state (precise state).     * In control flow, when a program is stop, there is a pointer to the current state (precise state).
   * ISA vs. Microarchitecture   * ISA vs. Microarchitecture
     * Semantics in the ISA     * Semantics in the ISA
- * uArch should obey the ISA +    ​* uArch should obey the ISA 
- * Changing ISA is costly, can affect compatibility.+    * Changing ISA is costly, can affect compatibility.
   * Instruction pointers   * Instruction pointers
   * uArch techniques: common and powerful techniques break Vonn Neumann model if done at the ISA level   * uArch techniques: common and powerful techniques break Vonn Neumann model if done at the ISA level
Line 163: Line 163:
     * Performance     * Performance
     * Optimization opportunity     * Optimization opportunity
 +
 +===== Lecture 4 (1/22 Wed.) =====
 +
 +  * Semantic gap
 +    * Small vs. Large semantic gap (CISC vs. RISC)
 +    * Benefit of RISC vs. CISC
 +  * Micro operations/​microcode
 +    * Translate complex instructions into smaller instructions
 +  * Parallelism (motivation for RISC)
 +  * Compiler optimization
 +  * Code optimization through translation
 +  * VLIW
 +  * Fixed vs. variable length instructions
 +    * Tradeoffs
 +      * Alignment issues? (fetch/​decode)
 +      * Decoding issues?
 +      * Code size?
 +      * Adding additional instructions?​
 +      * Memory bandwidth and cache utilization?​
 +      * Energy?
 +    * Encoding in variable length instructions
 +  * Structure of Alpha instructions and other uniform decode instructions
 +    * Different type of instructions
 +    * Benefit of knowing what type of instructions
 +      * Speculatively operate future instructions
 +  * x86 and other non-uniform decode instructions
 +    * Tradeoff vs. uniform decode
 +  * Tradeoffs for different number of registers
 +    * Spilling into memory if the number of registers is small
 +    * Compiler optimization on how to manage which value to keep/spill
 +  * Addressing modes
 +    * Benefits?
 +    * Types?
 +    * Different uses of addressing modes?
 +  * Various ISA-level tradeoffs
 +  * Virtual memory
 +  * Unalign memory access/​aligned memory access
 +    * Cost vs. benefit of unaligned access
 +  * ISA specification
 +    * Things you have to obey/​specifie in the ISA specification
 +  * Architectural states
 +  * Microarchitecture implements how arch. state A transformed to the next arch. state A'
 +  * Single cycle machines
 +    * Critical path in the single cycle machine
 +  * Multi cycle machines
 +  * Functional units
 +  * Performance metrics
 +    * CPI/IPC
 +      * CPI of a single cycle microarchitecture
 +
 +===== Lecture 5 (1/24 Fri.) =====
 +
 +  * Instruction processing
 +    * Fetch
 +    * Decode
 +    * Execute
 +    * Memory fetch
 +    * Writeback
 +  * Datapath & Control logic in microprocessors
 +  * Different types of instructions (I-type, R-type, etc.)
 +  * Control flow instructions
 +  * Non-control flow instructions
 +  * Delayed slot/​Delayed branch
 +  * Single cycle control logic
 +  * Lockstep
 +  * Critical path analysis
 +    * Critical path of a single cycle processor
 +  * Combinational logic & Sequential logic
 +  * Control store
 +  * Tradeoffs of a single cycle uarch
 +  * Dynamic power/​Static power
 +  * Speedup calculation
 +    * Parallelism
 +    * Serial bottleneck
 +    * Amdahl'​s bottleneck
 +  * Design principles
 +    * Common case design
 +    * Critical path design
 +    * Balanced designs
 +  * Multi cycle design
  
buzzword.txt · Last modified: 2015/04/27 18:20 by rachata