Като се замислите, невероятно е колко много видове електронна памет срещате в ежедневието си. Освен паметта в компютъра пред вас, същата се използва и в повечето електронни джаджи, които притежавате. Памет имат мобилните телефони, джобните компютри, игровите конзоли, радиото в автомобила, видео устройствата, телевизорите и т.н.
Основи на компютърната памет
Въпреки че паметта технически е всяка форма на електронно съхранение, обикновено с нея се идентифицира бързото и временно складиране на информация. Ако процесорът на компютъра ви непрекъснато използва хард диска, за да открива информацията, която му е нужна, той ще оперира много бавно. Когато тази информация е в паметта, процесорът може да я използва много по-бързо. Повечето памети са предназначени да складират информацията само временно.
Както виждате от диаграмата, процесорът достига паметта по определен ред. Дали става въпрос за постоянно съхраняване (хард диска) или за периферни устройства (клавиатурата), повечето информация първо отива в RAM паметта (памет с произволен достъп). След това процесорът складира тази част от информацията, която му е нужна в кеша и определя някои специални инструкции в регистъра. За това ще стане въпрос по-нататък.
Всички компоненти на компютъра ви, като процесор, хард диск и операционна система, работят заедно в екип и паметта е един от ключовите елементи. От момента, в който пуснете компютъра си до момента, в който го изключите, процесорът непрестанно използва паметта. Да разгледаме как протича този процес:
- Пускате компютъра си.
- Зарежда се информация от ROM паметта (памет само за четене) и се изпълнява автоматичен тест, за да се подсигури нормалното функциониране на основните компоненти. Като част от този тест, контролерът на паметта проверява с бързи операции четене/запис за грешки в памет чиповете.
- Компютърът зарежда основната вход/изход система (BIOS) от ROM паметта. BIOS-ът осигурява най-основната информация за хард диска, сигурността, периферните устройства и някои други неща.
- Компютърът зарежда операционната система (OS) от хард диска в системната RAM памет. Най-важните части от операционната система остават в RAM паметта докато компютърът е пуснат. Това позволява на процесорът да има постоянен достъп до нея, което пък подобрява бързината и функционалността на системата.
- Когато отворите някое приложение, то се зарежда в ROM паметта. За да се намали ползването на RAM паметта, голяма част от приложенията първоначално зареждат само най-важните части от програмата, а останалите се зареждат в последствие, когато са нужни.
- След зареждането на приложението, всеки файл, отворен в програмата се зарежда в RAM паметта.
- Когато съхраните файла и затворите приложението, файлът се записва на хард диска и бива изчистен заедно с приложението от RAM паметта.
Всеки път, когато нещо се зарежда или отваря, то отива в RAM паметта. С други думи това означава, че се складира във временната памет, така че процесорът да има бърз и лесен достъп до него. Процесорът изисква информацията от RAM паметта, обработва я и записва нова информация в непрестанен цикъл. При повечето компютри, прехвърлянето на информация между процесора и RAM паметта се случва милиони пъти в секунда. Когато приложение бива затворено, то и съпътстващите го файлове биват изчистени от RAM паметта, за да се освободи място за нова информация. Ако променените файлове не бъдат запазени на хард диска, те биват изгубени.
Видове компютърна памет
Обикновено компютърът има:
- Кешове ниво 1 и 2
- Нормална системна RAM памет
- Виртуална памет
- Хард диск
Защо са му толкова много системи? Бързият и мощен процесор има нужда от бърз и лесен достъп до голямо количество информация, за да бъде максимално ефективна работата му. Ако процесорът не успява да получи нужната информация, той буквално спира, за да изчака. Един процесор със скорост 1GHz може да консумира огромни количества информация – милиарди байтове в секунда. Проблемът за разработчиците е, че паметта, която би могла да върви достатъчно бързо за процесор от 1GHz е изключително скъпа.
Този проблем е решен с използването на малко количество скъпа памет, която е подсилена с много от евтината памет. Най-евтината форма памет е хард диска. Той предоставя големи количества евтина памет. Цените на хард дисковете вървят по няколко стотинки на мегабайт, но за прочитането на 1 мегабайт е нужно повече време – около секунда. Понеже хард дискът е евтин и с голям капацитет, той съставлява последният елемент от йерархията на компютърната памет, наречен виртуална памет.
Другата част от паметта е RAM паметта. Битовете на процесора показват колко байта информация може да обработва от RAM паметта по едно и също време. Така например един 16-битов процесор може да обработва по 2 байта едновременно (1 байт = 8 бита), а 64-битовия процесор обработва по 8 байта.
Мегахерцовете измерват скоростта на процесора или циклите в милиони на секунда. Така един 32-битов процесор на 800MHz може да обработва 4 байта едновременно, 800 милиона пъти в секунда. Целта на памет системата е да покрие тези изисквания.
Сама по себе си RAM паметта не е достатъчно бърза, за да се мери със скоростта на процесора. Тук на помощ идва кешът, който ще разгледаме след малко. Логично, колкото по-бърза е RAM паметта, толкова по-добре. Повечето чипове днес работят в цикли от 50 до 70 наносекунди. Скоростта на четене/запис определя и видовете RAM, които могат да бъдат DRAM, SDRAM, RAMBUS, но това също ще разгледаме след малко. Първо нека се запознаем по-отблизо със системната RAM памет.
Системна RAM памет
Скоростта на системната RAM памет се контролира от ширината и скоростта на шината. Ширината се отнася до броя битове, които могат да бъдат изпратени всяка секунда. Цикъл на шината се случва всеки път, когато информацията пътува между паметта и процесора. Например 32-битова шина на 100MHz на теория е способна да изпраща 4 бита информация към процесора 100 милиона пъти в секунда, а 66MHz и 16-битова шина може да изпраща 2 байта 66 милиона пъти в секунда. Ако направите просто изчисление, ще разберете, че само като увеличите честотата на шината от 16 бита на 32 бита и скоростта от 66MHz на 100MHz ще постигнете тройно по-добри резултати.
В действителност RAM паметта не използва пълната си скорост. Латентността променя цялото уравнение. Тя се отнася за броя цикли, нужни да се прочете информацията. Например RAM памет на 100MHz може да изпрати бит за 0,00000001 секунда, но може да му отнеме 0,00000005 секунди да започне процеса. За да компенсира това, процесорът използва така нареченият пакетен режим.
Пакетният режим се базира на очакването, че информацията, изискана от процеса ще бъде съхранена в последователни клетки. Паметта очаква, че върху каквото и да работи процесора, то ще продължава да идва от същите адреси в паметта, така че прочита няколко последователни бита информация наведнъж. Това означава, че само първият бит изпитва пълният ефект на латентността, а следващите се зареждат значително по-бързо. Пакетният режим обикновено се изразява с четири числа, разделени с тирета. Първото число показва броят цикли, нужни за започването на операция. Следващите три числа показват колко цикли са нужни за прочитането на всеки следващ бит. Така например 5-1-1-1 означава, че са нужни 5 цикъла за прочитането на първия бит и по 1 цикъл за всеки следващ. Очевидно, че колкото по-малки са тези числа, толкова по-добри резултати ще имате.
Скоростта и ширината на шината трябва да отговаря на тези на системата. Можете да използвате памет на 100MHz в система на 66MHz, но тя ще работи на 66MHz, така че губите скорост. Също така 32-битова памет не може да се използва на 16-битова шина.
Дори с най-бързата шина, отнема повече време информацията да премине от паметта в процесора, отколкото самият процесор да я обработи. Тук се включва кешът.
Кеш и регистри
Кешовете са създадени да правят най-често използваната информация от процесора най-достъпна. Това се постига с изграждането на малко количество памет, наречена основен кеш или кеш първо ниво в процесора. Този кеш е много малък, обикновено вариращ между 2 килобайта и 64 килобайта.
Вторият кеш или кеш второ ниво обикновено се намира в памет картата, която е близо до процесора и има директна връзка с него. В зависимост от самия процесор, вторият кеш може да варира между 256 килобайта и 2 мегабайта. При повечето системи информацията, нужна на процесора се зарежда от кеша в 95% от случаите, което значително намалява времето за чакане на информация от основната памет.
За кеша се използва специфичен вид RAM памет – SRAM (статична памет с произволен достъп). Тя използва между 4 и 6 транзистора за всяка клетка памет и има така нареченият мултивибратор с две устойчиви състояния. Това означава, че не е нужно да бъде постоянно обновявана като DRAM паметта. Всяка от клетките запазва информацията докато има захранване. Без нуждата да бъде непрестанно обновявана, SRAM паметта може да оперира изключително бързо. Сложността на всяка от клетките обаче, прави паметта скъпа и неподходяща да замести стандартната RAM памет.
SRAM паметта в кеша може да бъде асинхронна и синхронна. Синхронната SRAM памет съответства точно на скоростта на процесора. Това оказва влияние върху цялостната скорост на системата, така че винаги гледайте да използвате синхронна памет.
Последният елемент от паметта са регистрите. Те представляват клетки памет, вградени директно в процесора, които съдържат определена информация.
Източник: HowStuffWorks, Inc.