Сметачко_памтење
Одлики и улога на компјутерска меморија
Пропусниот опсег може да се зголеми воведувајќи одделени мемориски модули што се пристапуваат паралелно. Ова, од друга страна, ги усложнува дизајните на програмите и создавањето програмски јазици со цел да се обезбеди ефикасно користење на паралелните мемории. Пионерите во компјутерската технологија предвиделе ддека програмерите ќе побаруваат огромни големини на брза меморија. Меѓутоа сите податоци или инструкции во меморијата не се пристапуваат униформно. Приципот на локалност наведува на употреба на помали хардверски парциња градејќи концепт на хиерархијата и виртуелната меморија. За пристапување на клучните принципи и маханизми за организација на меморијата се користи аналогија преку библиотеката и маса со поставени книги извлечени да се разгледуваат. Штом на мастата постои добар избор на книги тогаш огромна е веројатноста дека голем дел од времето ќе се помине во читање на тие книги отколку кога би имале само една книга и по потреба станувате и одите до полиците за да ја вратите или земете. На истиот начин се формира илузијата на огромната меморија што и се пристапува брзо колку и на малата меморија. Исто како што не се потребни сите книги од библиотеката во исто време, така нити програмата не се пристапува до целиот код и податоците истовремено со иста веројатност. Од друга страна пак, не е возмозно да се има брз пристап до меморијата и да се има во машината големо количество на меморија, исто како што би било невозможно да се поседуваат сите книги на маса и да се најде потребното. Принципот на локалност ги поврзува начинот на кој се работи во библиотеката и начинот на кој работи програмата. Тоа практично значи дека програмата во одреден момент од времето пристапува само до еден релативно мал дел од својот адресен простор исто како што и во одреден момент од времето е потребен само мал дел од библиотечната колекција. Принципот на временска локалност практично значи дека ако сте донеле книга на масата за да погледнете во неа, најверојатно, наскоро пак ќе треба да погледнете во неа. Слично на ова и просторната локалност специфицира дека книгите што се во близина на масата наскоро ќе бидат референцирани. Како што пристапот до книгите од масата природно ја покажува локалноста така и локалноста во програмите се наметнува со простите и природни програмски структури. На пример, повеќето програми содржат јамки, т.е. циклуси, значи пристапот до иструкциите и податоците ќе биде повторуван, со што се покажува временската локалност. Бидејќи до инструкциите обично се пристапува секвенцијално, значи дека програмите покажуваат и голем степен на просторна локалност слично како и пристапот до податоците. Особено голем степен на просторна локалност покажува пристапот до елементите на една низа. Принципот на локалност се применува со имплементирање на меморијата како мемориска хиерархија. Мемориската херархија се состои од повеќе нивоа на меморијата со различни големини и брзини. Побрзите мемории се поскапи од побавните па затоа и се помали. Целта е на корисникот даму се овозможи толку меморија колку што има со евтината технологија и брзина на пристап колку брзата меморија. Ова е соодветно со книгите на маста до кои пристапот е побрз, но нема доволно место да се сместат сите потребни книги. Концептите за градење на меморијата влијаат многу други аспекти на компјутерот, како што е начинот на кој оперативниот систем раководи со меморијата и влезот/излезот, како комплајлерот го генерира кодот и како апликациите ја користат машината. Бидејќи сите програми користат огромен дел од своето време во пристапување до меморијата, меморискиот истем претставува главен фактор во определување на перформансите на целокупниот систем.