# Computer Architecture

### Computer Performance
1. Response Time: When can i get the output(clock)
2. Through Put: What many things can a computer do in a time(clock)
3. CPI: clock-cycle per instruction
4. Clock-cycles: instruction-count * cycles per instruciton
5. CPU Time: (Instruction-count*CPI)/Clock-rate
### Organization
Performance Dependency
X means Depends
| | Instruction<br>count | CPI | Clock<br>Rate |
| -------- | ----------------- | ---- | ---------- |
| Program | X | X | |
| Instruction-Set | X | X | |
| Organization | | X | X |
| Technology | | | X |
| Compiler | X | X | |
### Power
1. Dynamic Power
2. Static Power
#### Multi-Things
1. Multi-core: better throughput
2. Multi-programming: better response time
### Instructions ~ (C=A+B)
1. Stack
* Push A
* Push B
* Add
* Pop C
2. Accumulator
* Load A
* Add B
* Store C
3. Register(register-memory)
* Load R1 A
* Add R1 B
* Store C R1
4. Register(Load-Store)
* Load R1 A
* Load R2 B
* Add R3 R1 R2
* Store C R3
### General Purpose Register
##### ADV
1. hold variables
2. memory traffic reduce-speed up
3. Code Density Improved-Registers have shorter name
### Key Usage
1. hold variables
2. parameter passing
3. expression evaluation
4.