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