Add notes on memory.
This commit is contained in:
parent
fe69e8e9e3
commit
3443356e69
34
1/FH/notes/unit-02.md
Normal file
34
1/FH/notes/unit-02.md
Normal file
@ -0,0 +1,34 @@
|
||||
# Unit 2
|
||||
|
||||
## Cáculos Con Memoria
|
||||
|
||||
### Cálculo de canal
|
||||
|
||||
DDRX-YYYY where X is the type of DDR being used, and YYYY the frequency. It can
|
||||
also be expressed as PC(X)-ZZZZ where ZZZZ is the máximum theoretical
|
||||
transfer rate (MTTR) of the memory. To calculate the ZZZZ value from YYYY
|
||||
you must do `YYYY * 64 / 8 = ZZZZ MB/s`. To calculate the external
|
||||
frequency you must divide the YYYY value by 2, for the two bits, and for
|
||||
internal you must divide the YYYY value by the prefetch value, which is:
|
||||
|
||||
- DDR: 2
|
||||
- DDR2: 4
|
||||
- DDR3: 8
|
||||
|
||||
### Cálculo de Latencia
|
||||
|
||||
Para calcular el tiempo ocioso de un CPU cuando accede a memoria, se
|
||||
calcula usando la frecuencia externa. Con esto se ha de convertir de
|
||||
frecuencia en (nano) segundos, de ahí se ha de multiplicar por el número de
|
||||
ciclos de latencia (CL), y finalmente multiplicar este número por la frecuencia
|
||||
de reloj de la CPU.
|
||||
|
||||
E.g.
|
||||
|
||||
```calc
|
||||
CL=5; CPU Freq=2.2GHz; DDR-800
|
||||
800/2 = 400 MHz
|
||||
1/400 = 2.5 ns
|
||||
2.5 * 5 = 12.5 ns
|
||||
12.5 * 2.2 GHz = 28 cycles
|
||||
```
|
Loading…
Reference in New Issue
Block a user