Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział2
Niskopoziomowezarządzaniepamięcią
tRP(wstępneładowaniewiersza)-czaspotrzebnynawstępneładowaniewiersza
przedmożliwościądostępudoniego.Wierszniemożezostaćużytybezwcześ-
niejszegoprzygotowania,którejestzwanewstępnymładowaniem.
tRAS(opóźnienieaktywnegowiersza)-minimalnyczas,przezktórywierszmusi
byćaktywny,abymożnabyłouzyskaćzniegoinformacje.Jesttozwykleconaj-
mniejsumatrzechpoprzednichczasów.
Wartozwrócićuwagęnaznaczenietychczasów.Jeśliwierszikolumna,którymijeste-
śmyzainteresowani,zostałyjużustawione,toodczytjestniemalnatychmiastowy.Jeśli
chcemyzmienićkolumnę,tozajmietotCLcyklizegara.Jeślichcemyzmienićwiersz,
sytuacjajestdużogorsza.Najpierwmusionzostaćwstępniezaładowany(tRPcykli),
poczymnastąpiąopóźnieniaRASiCAS(tCLitRCDcykli).
Wszystkieteczasyważnedlaużytkownikówkomputerówoczekującychmaksy-
malnejwydajności.Zwłaszczagraczezwracajądużąuwagęnateparametry.Przyzaku-
piemodułówpamięciowychwystarczywiedzieć,żepowinniśmyzwracaćuwagęnanaj-
niższemożliweczasy,jeśliwydajnośćjestabsolutniepriorytetowa.
CiekawinasjednakwpływarchitekturyiczasówopóźnieńpamięciDRAMnazarzą-
dzaniepamięcią.Jakwidać,największymkosztemjestzmianawiersza-czasysygna-
łuRASiwstępnegoładowania.Jesttojedenzwielupowodów,dlaczegosekwencyjne
wzorcedostępudopamięciznacznieszybszeodniesekwencyjnych.Odczytywanie
danychhurtemzpojedynczegowiersza(przyzmienianiutylkokolumny)jestznacznie
szybszeniżkoniecznośćczęstejzmianywiersza.Jeśliwzorzecdostępujestcałkowicie
losowy,najprawdopodobniejbędziemymielidoczynieniazdługotrwałymizmianami
wierszyprzykażdymdostępiedopamięci.
Wszystkieprzedstawionetutajinformacjemająjedencel-uzmysłowić,dlaczego
niesekwencyjnydostępdopamięcijesttakniepożądany.Jakjeszczezobaczymy,niejest
tojedynypowód,dlaczegocałkiemlosowydostępjestnajgorszymscenariuszem.
Procesor(CPU)
Przejdźmyterazdoomówieniacentralnejjednostkiprzetwarzającej.Procesorjest
kompatybilnyztzw.architekturązestawuinstrukcji(ISAInstructionSetArchitectu-
re)-definiujeonamiędzyinnymizestawoperacji,któremogąbyćwykonywane(in-
strukcje),rejestryiichznaczenie,sposóbadresowaniapamięci,itd.Wtymznaczeniu
ISAjestkontraktem(interfejsem)określanympomiędzyproducentemprocesoraajego
użytkownikami-programamipisanymizgodniezdanymkontraktem.Jesttowar-
stwa,którąwprogramowaniuwidzimynaprzykładwjęzykuasembleradladanejar-
chitektury.Najczęściejwykorzystywanymiarchitekturamiwświecieekosystemu.NET
73