Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
22
ROZDZIAŁ1.WPROWADZENIE
Hierarchicznepamięci
Hierarchiapamięciskładasięzwielupoziomówpamięcioróżnejprędkości
irozmiarach,przyczympoziomynajbliższeprocesorowisąnajszybsze,ale
najmniejsze.Średniczasdostępudopamięciwprogramiezmniejszasię,jeśli
większośćtychdostępówjestrealizowanaprzezszybszepoziomytejhierarchii.
Zarównorównoległość,jakidostępnośćhierarchiipamięcizwiększająpotencjalną
wydajnośćkomputera,alemuszązostaćwłaściwiezaprzęgnięteprzezkompilator,
abyzapewnićrzeczywistywzrostwydajnościaplikacji.
Hierarchiepamięciwystępująwewszystkichtypachkomputerów.Procesor
zazwyczajmaniewielkąliczbęrejestrówmieszczącychpokilkabajtów,kilka
poziomówpamięcipodręcznej(buforów)zawierającychodkilo-domegabajtów,
pamięćfizycznąowielkościodmega-dogigabajtów,anakonieczasadniczy
magazyn(pamięćdyskową)orozmiarachgigabajtówipowyżej.Odpowiednio
prędkośćdostępumiędzysąsiadującymipoziomamihierarchiimożeróżnićsięod
dwóchdotrzechrzędówwielkości.Wydajnośćsystemujestczęstoograniczananie
tyleprzezszybkośćprocesora,ileprzezsprawnośćpodsystemupamięci.Podczas
gdytradycyjnekompilatoryskupiałysięnaoptymalizowaniuwykonywaniukodu
przezprocesor,obecniewiększynaciskjestkładzionynazapewnieniewiększej
efektywnościhierarchicznejpamięci.
Wydajneużywanierejestrówjestzapewnenajważniejszympojedynczym
problememprzyoptymalizacjiprogramu.Wodróżnieniuodrejestrów,któ-
rymiprogramymogąjawniezarządzać,buforyipamięcifizycznesąukryte
przedzestawamiinstrukcjiisązarządzaneprzezsprzęt.Możnasięprzeko-
nać,żezasadyzarządzaniabuforowaniemimplementowaneprzezsprzętnie
sąefektywnewniektórychprzypadkach,szczególniewkodzienaukowym,
którywykorzystujewielkiestrukturydanych(zazwyczajtablice).Możliwe
jestusprawnienieefektywnościhierarchiipamięciprzezzmianęukładuda-
nychlubzmianękolejnościinstrukcjiodwołującychsiędotychdanych.Mo-
żemyrównieżzmienićukładsamegokodu,abypoprawićwydajnośćbuforów
instrukcji.
1.5.3.Projektynowycharchitekturkomputerów
Wewczesnychlatachprojektowaniakomputerówkompilatorybyłyzazwyczaj
tworzonedopieropozbudowaniusamychmaszyn.Tosięzmieniło.Ponieważ
normąjestdziśprogramowaniewjęzykachwysokiegopoziomu,wydajnośćsys-
temukomputerowegojestdeterminowananietylkoprzezjegofizycznąprędkość,
lecztakżetym,jakdobrzekompilatorymogąwykorzystaćjegofunkcjonalno-
ści.Tymsamymprzyprojektowaniunowoczesnycharchitekturkomputerów
kompilatorysątworzonenaetapieprojektowaniaprocesora,skompilowanyzaś
koduruchamianynasymulatorachsłużydoocenianiaproponowanychfunkcji
architektonicznych.