Re: pamięć cashe w procku - do czego potrzebna ?

Autor: Arek Wołowicz (wolek_at_pf.pl)
Data: Tue 16 Sep 2003 - 07:55:23 MET DST


Witam.
peligroso napisał:
> Od dłuższego czasu próbuję się dowiedzieć co daje zwiększona
> pamięć cashe, a do czego zupełnie nie jest potrzebna ?
> Wszędzie wszyscy piszą , że raz jest to widoczne a raz nie, tylko nigdzie
> nie mogę się dowiedzieć kiedy różnica jest do zauważnia)

Pomędrkuje troszke ;)
Pamięć cache pojawiła się w czasach 386 (jeśli chodzi o pecety).
W 486 była już w procesorze (AMD zdaje się już w swoich 386 montował).
Po co ? Szybkość działania procesora jest dużo większa od działania
pamięci, kiedyś pamięci miały czasy dostępu wysokie (kilkadziesiąt
nanosekund), więc pojawiło się zapotrzebowanie na coś co będzie
pośrednikiem między wolną pamięcią a szybkim procesorem (jego
rejestrami).
Zasada działania jest prosta, używane obszary pamięci skopiować do
szybkiego cache'u i procesor nie musi już czekać na wolną pamięć główną.
Cache jest adresowany zawartością (pamięć asocjacyjna), zawiera adres +
dane z pod tego adresu, więc gdy procek odwołuje się do konkretnego
adresu, kontroler cache sprawdza czy nie ma tego w cache'u. Jeśli jest
to proc dostaje szybko swoje dane. Jeśli nie ma to kontroler ładuje z
pamięci głównej problemowe dane, wraz z sąsiednimi, gdyż zazwyczaj
procek odwołuje się do danych sekwencyjnie.
Im więcej cache, tym więcej danych z pamięci głównej można w nim zapisać
tym mniej odwołań do niej, tym szybsza praca systemu :>

To tak na dziendobry :>
chcesz wiedzieć więcej, poszukaj na googlach. Mase takich opracowań leży
na sieci. Jest też troszke książek.

Pozdrawiam,
Wołek.

-- 
Wołek | wolek[at]pf.pl | www.wolek.prv.pl


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 11:12:43 MET DST