Arvuti ajalugu – vahemälu 1. osa 2-st

By | september 20, 2022

Vaatasime varajast digitaalset arvutimälu, vt Arvuti ajalugu – Core Memory ja mainisime, et praegune standardne RAM (Random Access Memory) on kiipmälu. See on kooskõlas tavaliselt tsiteeritud Moore’i seaduse rakendusega (Gordon Moore oli üks Inteli asutajatest). Selles öeldakse, et integraallülituste komponentide tihedus, mida võib ümber sõnastada kui jõudlust ühikuhinna kohta, kahekordistub iga 18 kuu järel. Varajases tuummälus olid tsükliajad mikrosekundites, täna räägime nanosekundites.

Võib-olla olete tuttav terminiga vahemälu, mida kasutatakse personaalarvutite puhul. See on üks jõudlusfunktsioonidest, mida mainitakse uusimast protsessorist ehk kõvakettast rääkides. Protsessoril võib olla L1 või L2 vahemälu ja erineva suurusega ketta vahemälu. Mõnel programmil on ka vahemälu, mida nimetatakse ka puhvriks, näiteks andmete kirjutamisel CD-kirjutajasse. Varastel CD-kirjutusprogrammidel esines ülekoormusi. Nende lõpptulemus oli korralik rannaaluseid!

Suurarvutisüsteemid on vahemälu kasutanud juba aastaid. See kontseptsioon sai populaarseks 1970ndatel, et kiirendada mälule juurdepääsu aega. See oli aeg, mil põhimälu järk-järgult kaotati ja asendati integraallülituste või kiipidega. Kuigi kiibid olid füüsilise ruumi mõttes palju tõhusamad, oli neil ka muid probleeme töökindluse ja soojuse tootmisega. Teatud disainiga kiibid olid kiiremad, kuumemad ja kallimad kui teise disainiga kiibid, mis olid odavamad, kuid aeglasemad. Kiirus on alati olnud arvutimüügi üks olulisemaid tegureid ja disainiinsenerid on alati otsinud võimalusi jõudluse parandamiseks.

Vahemälu kontseptsioon põhineb asjaolul, et arvuti on oma olemuselt järjestikune töötlusmasin. Muidugi on arvutiprogrammi üheks suureks eeliseks see, et see võib järjestusest “hargneda” või “hüppada” – selle seeria teise artikli teema. Siiski on ikka piisavalt aegu, mil üks juhend järgib teist, et muuta puhver või vahemälu arvutile kasulikuks täienduseks.

Vahemälu põhiidee on ennustada, milliseid andmeid on mälust vaja protsessoris töödelda. Mõelge programmile, mis koosneb käskude seeriast, millest igaüks salvestatakse mällu, näiteks aadressist 100 ülespoole. Asukohas 100 olev käsk loetakse mälust välja ja selle käivitab CPU, seejärel loetakse järgmine käsk asukohast 101 ja täidetakse, seejärel 102, 103 jne.

Kui kõnealune mälu on põhimälu, kulub juhise lugemiseks võib-olla 1 mikrosekund. Kui protsessoril kulub käsu täitmiseks näiteks 100 nanosekundit, peab ta järgmist käsku ootama 900 nanosekundit (1 mikrosekund = 1000 nanosekundit). Protsessori efektiivne korduskiirus on 1 mikrosekund. (Toodud kellaajad ja kiirused on tüüpilised, kuid ei viita ühelegi konkreetsele riistvarale, vaid kirjeldavad ainult seotud põhimõtteid).

Lisa kommentaar

Sinu e-postiaadressi ei avaldata.