Term
| What is computer architecture? |
|
Definition
| science and art of selecting and interconnecting hardware components to create computer that meet functional, performance, and cost requirements |
|
|
Term
| What are several goals for computer architecture? |
|
Definition
1. functional 2. reliable 3. performance 4. low cost 5. low power/energy |
|
|
Term
| Why is it important to build a computer that fits the application domain? |
|
Definition
| Difference application domain might have different requirements |
|
|
Term
| What are advantage of hardware? what are disadvantage of hardware? |
|
Definition
ADV: parallelism, faster DIS: less flexible |
|
|
Term
|
Definition
| instruction set architecture |
|
|
Term
| What is instruction level parallelism? |
|
Definition
| many operations performed simultaneously |
|
|
Term
| give an example of instruction level parallelism |
|
Definition
|
|
Term
| what is data level parallelism? |
|
Definition
| distributing data across different computing nodes (computing in parallel) |
|
|
Term
| give an example of data level parallelism |
|
Definition
|
|
Term
| what is thread level parallelism |
|
Definition
|
|
Term
| give an example of thread level parallelism |
|
Definition
|
|
Term
| what is the difference of data level parallelism and thread level parallelism? |
|
Definition
|
|
Term
| What are two strategies RISC processors use? |
|
Definition
| instruction level parallelism and use of caches |
|
|
Term
| What are three important criteria in server? |
|
Definition
1. availability 2. scalability 3. efficient throughput |
|
|
Term
| what are two criteria in warehouse scale computers? |
|
Definition
1. price-performance 2. power |
|
|
Term
| What is task level parallelism? |
|
Definition
| execute tasks in parallel |
|
|
Term
| what's difference between thread level parallelism and task level parallelism? |
|
Definition
|
|
Term
| which parallelism can be applied to single instruction stream, single data stream? |
|
Definition
| instruction level parallelism |
|
|
Term
| give an example of single instruction stream, single data stream |
|
Definition
|
|
Term
| which parallelism can be applied to single instruction stream, multiple data stream? |
|
Definition
|
|
Term
| give an example of single instruction stream, multiple data stream |
|
Definition
|
|
Term
| which parallelism can be applied to multiple instruction stream, multiple data stream? |
|
Definition
| task level parallelism, request level parallelism |
|
|
Term
| give an example of multiple instruction stream, multiple data stream |
|
Definition
|
|
Term
| give a equation to calculate dynamic energy for 0->1 or 1->0 transition |
|
Definition
|
|
Term
| give a equation to calculate dynamic power |
|
Definition
| 1/2 * c * v^2 * frequency switched |
|
|
Term
| give a equation to calculate frequency switched |
|
Definition
|
|
Term
| reducing in voltage will cause frequency switched to do what? |
|
Definition
| reducing the frequency, since it takes longer time for capacitors to charge and discharge now |
|
|
Term
| what is dynamic voltage-frequency scaling |
|
Definition
| reduce voltage when not using the computer |
|
|
Term
| what's the difference between latency and throughput? |
|
Definition
latency: time throughput: work/time |
|
|
Term
| what are two reasons MIPS sucks? |
|
Definition
1. work per instruction is different (ADD might have 2 instructions but SUB might have 1 instructions) 2. ISAs are not the same(in intel, ADD might be 3 instructions but AMD, ADD might be 1 instructions) |
|
|
Term
| what is the equation for program run time? |
|
Definition
|
|
Term
| derive latency and through put from program run time equation |
|
Definition
| remove inst/prog from program run time equation -> becomes latency |
|
|
Term
|
Definition
performance optimization is limited by fraction which cannot be optimized. This means need to decrease fraction which cannot be optimized using principal of locality |
|
|
Term
| what is the most important technique used to improve performance? |
|
Definition
|
|
Term
| what is disadvantage of over-using pipelining? |
|
Definition
1. frequency will be limited by registers 2. if too much stages, then too much overhead for branching(we use a lot of branching in our codes!) |
|
|
Term
| why increasing transistors will increase CPI? |
|
Definition
| increase transistors -> area increase -> more CPI |
|
|
Term
| How to measure dynamic instruction? |
|
Definition
|
|
Term
| How does CPI break down work? |
|
Definition
|
|
Term
| How to understand frequency switched? |
|
Definition
|
|