# Review 1: Computer Architecture

 $$10^{-12}$$ pico $$10^{-9}$$ nano $$10^{-6}$$ micro $$10^{-3}$$ milli $$10^{3}$$ Kilo $$10^{6}$$ Mega $$10^{9}$$ Giga $$10^{12}$$ Tera

Performance

Response Time: Time taken to do a particular task

Throughput: Total workdone per unit time

$$!Performance = \frac{1}{\text{Execution Time or Response Time}}$$
$$!\frac{Performance_{x}}{Performance_{y}} = \frac{Execution_{y}}{Execution_{x}}$$

Clock Period: Duration of a clock cycle. e.g., 250 ps (picosecond)

Clock frequency: Number of clock cycles per second. e.g., 40 GHz or $$40\times{10}^{9}\frac{cycles}{second}$$

$$!\text{Program CPU Time} = \text{# of CPU Clock Cycles}\times\text{Clock Cycle Time or Clock Period} = \frac{\text{CPU Clock Cycles}}{\text{Clock Rate}}$$

However,

$$!\text{CPU Clock Cycles}=\text{Instruction count of a program(IC)}\times\text{# of cycles per instruction(CPI)}$$

Therefore,

$$!\text{Program CPU Time}=\frac{IC\times{CPI}}{\text{Clock Rate}}$$

Weighted Average CPI:

$$!CPI_(\text{weighted avg})=\frac{\sum_{i}^{}IC_i\times{CPI_i}}{\text{Total Instruction Count}}$$

MIPS(Million Instructions Per Second):

$$!MIPS=\frac{\text{Instruction Count}}{\text{CPU Time}\times{10}^6}$$

Substituting CPU Time in the above equation,

$$!MIPS=\frac{\text{Clock Rate}}{\text{CPI}\times{10}^6}$$