Анатомия на оперативната памет

Оригиналът е на Nick Evanson, публикувал интересен материал, в който на съвсем достъпен език показва работата на DRAM паметта.

5
2765

Всеки компютър има RAM памет. Тя може да е интегрирана в процесора или да се намира на отделна малка платка (плочка), която се включва към дънната платка на компютърната система. Това е важно, понеже компютърните устройства просто не могат да работят без оперативна памет. RAM е потресаващ образец на прецизното проектиране и въпреки тънките процеси, използвани за нейното изготвяне, всяка година се произвеждат огромни количества RAM. В нея има милиарди транзистори, но консумира само няколко вата. Като се има предвид важността на оперативната памет, струва си да се напише един по-подробен анализ на нейната анатомия.

Начало

Процесорите трябва възможно най-бързо да получават достъп до данните и инструкциите, за да могат програмите да се изпълняват мигновено. Освен това, необходимо е при произволни или неочаквани заявки за бърз достъп до паметта, скоростта да не пада. Ето защо за компютрите оперативната памет (RAM random-access memory – памет с произволен достъп) е толкова важна.

Съществуват два основни типа оперативна памет: статична и динамична – съкратено SRAM и DRAM. Тук ще се спрем само върху DRAM, понеже днес SRAM се използва предимно като интегрирана памет в централните и графичните процесори. Нека разгледаме малко по-подробно, къде се намира DRAM паметта в нашите компютри и как работи.

Навярно всички знаят какви за RAM плочките, понеже няколко планки винаги могат да се видят близо до централния процесор. Тази група памети обикновено се нарича системна памет, но всъщност това е паметта предимно за процесора, понеже в нея се записват, четат и съхраняват данните и инструкциите за CPU.

Както се вижда на по-горното изображение, DRAM е поставена на малки платки (плочки), които се включват в слотовете на дънната платка. Всяка една от тези плочки се нарича DIMM или UDIMM, което означава dual inline memory module или двустранен модул на паметта, а U обозначава unbuffered (без буфериране). По-подробно ще се спрем малко по-надолу.

Тази памет не е необходимо да бъде свръхбърза, но на съвременните компютри, за работата с големите приложения, за огромното количество данни и за обработването на стотиците процеси във фонов режим е необходимо много памет.

Друго място, където масово се използва тази памет, са видеокартите. Графичните карти имат нужда от свръхбърза DRAM буферна памет, понеже при 3D рендирането се извършва огромен брой операции по четене и запис на данните. Тази буферна памет се използва по по-различен начин от системната памет.

По-долу е показан един графичен процесор, който е обграден от дванадесет неголеми пластини – именно това са DRAM чиповете. В този случай това е GDDR5X памет, на което ще се спрем по-надолу.

Видеокартите нямат нужда от толкова памет като централните процесори, но все пак в графините карти се поставят хиляди мегабайти памет.

Не на всеки модул в компютърната система е необходима толкова много RAM. Така например, хард дисковете имат нужда от малки количества RAM – средно по 256 MB. Те се използват за групирането и буферирането на данните реди техния запис в диска.

На снимките по-горе е отляво е показана платката на хард диск, а отдясно – на флаш диск, като DRAM чиповете са оградени с червена рамка. Забелязахте ли че чипът е само един? Към днешен ден 256 GB не са особено голям капацитет и за тази памет е достатъчно само едно късче силиций.

Всеки компонент или периферно устройство в компютъра, което извършва обработка на информация, изисква RAM. В SATA и PCI Express контролерите също са поставени неголеми DRAM чипове. Тази памет се поставя и в мрежовите интерфейси, в звуковите карти, както и в принтерите и скенерите.

Пинцета, скалпел, електронен микроскоп

Специалистите на компанията TechInsights разполагат с необходимото оборудване за заснемането на чиповете DRAM памет.

Ако ви се струва, че повърхността на този чип изглежда като селскостопански полета с пътечки между тях, то не сте много далече от истината. Само че вместо от царевица и пшеница, DRAM полетата са съставени основно от два електронни компонента:

  • Превключвател от MOSFET транзистор
  • Запомнящи устройства във вид на кондензатор

Тези компоненти образуват една клетка на паметта, като всяка една от тези клетки може да запомня един бит информация. Съвсем приблизителна схема на една клетка е показана на долната скица (извиняваме се на специалистите по електроника!):

Сините и зелените линии показват веригите за подаване на напрежение на MOSFET транзистора и на кондензатора. Те се използват за записа и прочитането на данни в клетката, като винаги първа се задейства вертикалната (битовата) линия.

Кондензаторът, образно може да се каже, че се използва във вид на съд, който се пълни с електрически заряд. Когато той е пълен с електрически заряд имаме логическа 1, а когато е празен – логическа нула. Но въпреки предприетите и предприеманите от специалистите усилия, тези кондензатори не могат да съхраняват заряда вечно и с времето той изтича.

Това означава, че всяка клетка трябва да бъде непрекъснато обновявана със скорост 15-20 пъти в секунда.Този процес е бърз – за обновяването на един клъстър клетки са достатъчни само няколко наносекунди. Но в един DRAM чип има много клетки и по време на тяхното обновяване записът в тях е невъзможен. Този проблем е отдавна решен.

Към всяка линия са присъединени няколко клетки:

Клетките на DRAM паметта са разделени на страници, като тяхната дължина зависи от типа и конфигурацията на DRAM. Колкото е по-голяма една страница, толкова повече битове има, но и консумира повече енергия. Логично, по-малките страници консумират по-малко енергия, но и могат да запомнят по-малки обеми данни.

Необходимо е да се отчете още един важен фактор. При четенето и записа на информация в DRAM, първият етап от процеса е активирането на цялата страница. Редът битове, съставен от нули и единици, се записва в буфера на реда, а след това се активира съответната колона за извличането на данни от този буфер.

Ако страницата е прекалено малка, то за да се успее да се осъществи запитване за съответните данни, редовете е необходимо да се активират по-често. И обратното: ако страницата включва повече данни, нейното активиране става по-рядко. Въпреки че един дълъг ред в някоя голяма страница потенциални е по-нестабилен, по-добре е да се използват колкото се може големи страници.

Ако съберем заедно всички страници, то ще получим една банка DRAM памет. Както бе и със страниците, размерът и разположението на редовете и колоните от клетки играят важна роля за количеството на записаните данни и за скоростта на нейната работа, за нейната консумация на електрическа енергия и т.н.

Така например, дадена DRAM памет може да е съставена от 4 096 реда и 4 096 колони, като в този случай капацитетът на банката памет очевидно ще бъде 16 777 216 бита или 2 MB. Но далеч не всички банки в DRAM чипове имат квадратна структура. Така например банката с 13 384 реда и 1 024 колони ще ни даде същите 2 MB оперативна памет, но тук всяка страница ще съдържа четири пъти повече памет в сравнение с квадратната схема

Всички страници в информационните банки са съединени със системата за адресация на редовете и колоните, които се контролират с помощта на сигналите за управление и чрез адресите на всяка двойка ред/колона. Съвсем логично, колкото повече редове и колони има в една банка, токова повече битове са необходими за нейното адресиране.

За банка с размерност 4 096 x 4 096 за една система  на адресация са необходими по 12 бита, а за 16 384 x 1 024 банка ще са необходими 14 бита за редовете и 10 бита за колоните. Но сумарните битове за адресиране са си същите 24 бита.

Ако един DRAM чип можеше да предостави достъп до само една страница, то това не би било особено удобно, понеже страниците са опаковани в различни банки  клетки памет. В зависимост от общия информационен размер, един чип може да има 4, 8 или дори 16 банки, но най-често се използват 8 банки.

Всички тези банки имат общи шини за командите, адресите и данните, което опростява структурата на DRAM паметите. Докато едната информационна банка е заета с една инструкция, другите могат да продължават изпълнението на своите операции.

Самият чип, който включва всички банки и шини, е опакован обикновено в пластмасов корпус и е запоен към печатната платка. Там са всички крачета за подаване на захранване за DRAM паметта, за шините на адресите и данните.

Снимката по-горе показва DRAM чип на Samsung. Други водещи производители на DRAM памети са Toshiba, Micron, SK Hynix и Nanya. Компанията Samsung се счита за най-големият производител, понеже владее около 40% от глобалния пазар за оперативна памет.

Всеки производител на DRAM памет използва собствена система за кодиране на своите памети. На същата тази снимка е показан чип с капацитет 1 GB, който има 8 банки с по 128 MB, изградени от 16 384 реда и 8 192 колони.

Още една стъпка нагоре

Производителите на плочки памет използват няколко DRAM чипа, които ги поставят на една малка платка, която се нарича DIMM. Въпреки че D означава dual (двоен), това не означава, че има два комплекта чипове. Този dual обозначава броя на контактите в долната част на плочката – тоест и от двете страни на тази малка платка са поставени електрически контакти.

Самите DIMM модули имат най-различен размер и брой на чипове:

Снимката по-горе показва стандартна DIMM за десктоп компютър, а под нея се намира така наречената SO-DIMM (small outline или DIMM с малък профил). Малкият модул е предназначен за преносими устройства – лаптопи и компактни компютърни системи. Но поради малкото пространство се намалява броят на използваните чипове, променя се скоростта на работа на паметта и т.н.

Има три причини за използване на няколко чипа памет в DIMM плочките:

  • Това увеличава информационния обем на достъпното хранилище
  • В даден  момент от време е възможен достъпа до само една информационна банка и едновременната работа на останалите банки във фонов режим повишава производителността
  • Адресната шина на процесора, която работи с паметта е по-широка от тази на DRAM

Последното е много важно, понеже в повечето DRAM чипове се използва само 8-битова шина на данните. Но централния и графичния процесори са съвсем други – така например, CPU AMD Ryzen 7 3800X има два вградени 64-битови контролера на паметта, а Radeon RX 5700 XT разполага с осем 32-битови контролери.

Тоест, всяка DIMM плочка, която се поставя в компютър с процесор Ryzen е най-добре да има осем DIMM модула (8 чипа х 8 бита = 64 бита). Можем да си помислим, че видеокартата 5700 XT трябва да има 32 чипа памет, но тя разполага само с 8. Какво ни дава това?


Край на първа част. Във втората част ще продължи с разликите в DRAM паметта за CPU, GPU и за сървърите. Ще обърнем внимание на бързодействието, тактовете и таймингите.

5 6 гласа
Оценете статията
Абонирай се
Извести ме за
guest
5 Коментара
стари
нови оценка
Отзиви
Всички коментари