Re: Pytanie typu "PLYTA I PROCESOR"

Autor: Jarek Lis (lis_at_cyber.ict.pwr.wroc.pl)
Data: Wed 04 Oct 1995 - 21:37:29 MET


Raphael Posmyk (raphael.posmyk_at_hamburg.netsurf.de) wrote:
: >W kazdym badz razie ten cache na pewno nie jest sekwencyjnie przeszukiwany.
:
: Zaluzmy: W TAG-RAM sa zapamietywane dla kazdej "cache line" - status
: (dirty albo ok) i fizyczny adres w obrebie cache-RAM (mam tu na mysli
: tylko pojemnik, jezeli zalozymy ze TAG-RAM to zarzadzanie). Tak wiec
: dla kazdej cacheline w cache-RAM musi egzystowac miejsce w TAG-RAM.
: Zwiekszajac wiec ilosc cache-RAM musisz dopasowac TAG-RAM. Wydluza
: sie wiec takze czas przeszukiwania TAG-RAM'u.
:
: Nie wiem czy isnieje jakis inny algoraytm przeszukiwania TAG-RAM'u
: niz sekwencyjny. Ty ?

Oczywiscie. Scalasz komorke zawierajaca rzeczywisty adres fragmentu
z komparatorem, puszczasz magistrala zadany adres i czekasz czy nie
zglosi Ci sie komorka ktora przechowuje dane o adresie zgodnym
z zadanym. Tyle, ze przy wiekszych cache'ach tak sie juz nie da
zrobic.

Tak naprawde to w typowym PC kazde 16 bajtow (a raczej 4 32-bitowe slowa)
cache jest przypisane do pewnych 16bajtowych fragmentow
pamieci DRAM. Zwykle to przypisanie wyznaczaja srodkowe linie adresowe
(A4..An, n~=16). A w TAG RAM sa po prostu zapisane starsze bity adresu
fragmentu, ktory w cache jest zapamietany. Jak procesor chce czytac
dane, to na podstawie tych srodkowych linii wyznaczamy konkretne
adresy w cache i Tag RAM, po czym sprawdzamy, czy ta jedna konkretna
dana z TAG jest zgodna z zadana. To sie fachowo nazywa '1-way cache'.

W lepszych projektach takich cach'y masz kilka pracujacych rownolegle.
Z kazdego odczytujesz jeden TAG, porownujesz w kilku komparatorach na
raz, i wybierasz (przepraszam - bramki wskazuja) z ktorego cache podeslac
dane do procesora. I wychodzi Ci '2-way', '4-way, set associative',
wiecej sie raczej nie stosuje.

Bynajmniej powyzszego nie wymyslilem, tylko przypomnialem kilka
publicznie podawanych rozwiazan. Teraz jak to pisze, to cos mi sie
nie zgadza, ale jest za pozno, zeby z dokladnoscia co do bita liczyc.
Jak ktos chce sie dowiedziec, jak mozna cache zrobic, to odsylam
do opisu sterownika Motoroli do rodziny 88k. Tylko po co, skoro
go Chinczycy i tak na plyte nie wsadza?

Pozdrowienia,
Jarek.

P.S. te zachwalane ASUS'y, to ilu-way cache maja?



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:25:31 MET DST