За повечето потребители изборът на оперативна памет прилича на избора

...
За повечето потребители изборът на оперативна памет прилича на избора
Коментари Харесай

Защо клокването на паметта ускорява работата на процесора

За множеството консуматори изборът на оперативна памет наподобява на избора на диск – колкото е по-голям потенциалът, толкоз по-добре. Това в общи линии е правилно, тъй като оперативната памет в никакъв случай не е доста. Но мнозина не помнят за скоростните характерности на RAM паметта и смятат, че те прекомерно едва въздействат на продуктивността.
Но на процедура се получава следното: при клокването на паметта, пораства продуктивността на централния процесор и отсам – на цялата компютърна система. Това напълно не са някакви елементи от % или един-два %, които могат да се усетят единствено в бенчмарковете. Не, това са напълно осезаемите при ежедневната работа десетки проценти. На пръв взор наподобява необичайно – клокваш един съставен елемент, а се усилва продуктивността на различен. Всъщност, нищо неизмеримо няма, тъй като компютърът е комбиниране от свързани един с различен електронни съставни елементи, които не могат да работят поотделно. Така да вземем за пример, никой не се учудва на сериозното ускорение на компютърната система при замяната на общоприетия HDD с SSD. Само че тук става дума за нещо по-друго.

С хард и флаш дисковете всичко е ясно – колкото е по-висока скоростта на четене и запис, толкоз по-бързо ще се прочитат файловете и работата с тях ще бъде по-бърза. Но когато преглеждаме RAM и CPU нещата не са толкоз ясни. Да се опитаме да ги изясним.
По какъв метод процесорът обработва данните
Да разгледаме в резюме, по какъв начин точно процесорът работи с данните. По принцип, процесорът работи с неструктурирана информация, която се съхранява в неговата хеш памет. Това е бърза памет с дребен потенциал, която нормално се намира в същия кристал на CPU, с цел да се реализира допустимо най-бърз достъп.

Процесорът обработва тази неструктурирана информация и при този развой се образува поредност от указания. Тоест, процесорът към този момент знае какво да прави с тези данни, само че не ги обработва незабавно.

Всеки процесор разполага с огромен брой изчислителни блокове – ALU и FPU, предопределени за осъществяването на логичен и аритметични указания. При всеки такт на тактовата периодичност процесорът избира от образувалата се поредност от указания точно тези микрооперации, които могат да заемат допустимо най-вече логичен блокове. Разбираемо е, че когато всички изчислителни блокове или запаси на процесора са заети, то тогава той е най-производителен.

Но на процедура се случва той да престоява. Да разгледаме един напълно банален образец. Да съберем числата X и Y. Изглежда напълно елементарно, само че за процесора не е напълно по този начин. За него задачата е лесна, единствено в случай че към този момент знае и разполага с тези X и Y. Но прекомерно постоянно X би трябвало да се получи като резултат от събирането на A + B. А цифрата Y може да е резултат от разликата сред C и D. Ето за какво, процесорът на първо време би трябвало да пресметне A+B и C-D и чак по-късно да пресметна X+Y. В последна сметка, изчисляването на X+Y се отсрочва най-малко с един такт. А това води до възникването на празно място в конвейера за настоящия такт.

Но всичко може да бъде доста по-зле. Процесорът може въобще да няма данни за осъществяването на това пресмятане. Всичко зависи от потребления логаритъм и от качествата на програмиста, писал програмата. Той би трябвало добре да си показва по какъв начин процесорът ще извърши компилирания код. В идеалния случай, програмистът се грижи процесорът в точния момент да може да разполага с нужните данни. В този случай, изгода от клокването на оперативната памет няма – даже и данните да се зареждат постепенно, процесорът има какво да чете и обработва, без да престоява.

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

Тук са вероятни два сюжета. Първи, процесорът не е сбъркал и всичко е планувал вярно, като по този метод е ускорил изчисленията. Втори, той е сбъркал и би трябвало да се почисти целия изчислителен конвейер, а по-късно да се зареди отначало. Това води до внезапно намаление на продуктивността. Именно това е една от главните задания на производителите на модерни процесори. Те непрестанно усъвършенстват логаритъма за предсказание на преходите и го трансформират, с цел да бърка допустимо минимум.
Необходима е повече памет
Очевидно е, че казусът с дефицита на данни нямаше да го има, в случай че процесорът ги записваше в себе си. Но на процедура това е прекомерно скъпо и е стопански неизгодно. Ето за какво кеш паметта в процесорите растеше прекомерно постепенно. През 90-те години това бяха няколко десетки килобайта кеш памет от първо равнище (L1). Преди началото на хилядолетието, това се оказа катастрофично малко и бе прибавен кешът от второ равнище (L2) с потенциал стотици килобайти. В края на нулевите години се появи L3 кеш паметта, даваща опция за запис на няколко MB информация. А напълно неотдавна – през 2015 година се появиха процесори с кеш памет от четвърто равнище (L4) с потенциал до 128 MB.



Смисълът в нарастването на кеш паметта е явен – да се обезпечат данни за процесора, до които той може да стигне оптимално бързо, с най-малки задръжки, което понижава престоите. Естествено, няма по какъв начин всички данни да бъдат поместени в кеша и те се съхраняват в оперативната памет. Но забавянето на RAM е към 10 пъти по-голямо от L1 кеша и няколко пъти по-голямо от L3. И още, пропускателната дарба на паметта е напряко смешна, в случай че я съпоставим с гигантските размери информация, с които процесорът може да оперира всяка една секунда.

Ето за какво, в случай че се постанова да се работи с огромен размер информация, която няма по какъв начин да се побере в кеша, то задръжките на RAM и нейната релативно ниска пропускателна дарба непосредствено въздействат върху натоварването на процесора. Именно това взема решение, дали той ще си получи данните или ще би трябвало да престоява. А това директно въздейства на неговата продуктивност.
По какъв метод оперативната памет въздейства на продуктивността
Да спрем с теорията и дано да си разбираем, по какъв начин тъкмо въздейства RAM паметта на продуктивността на CPU. Да си представим хипотетична задача, при която процесорът престоява 50% от времето си. На пръв взор, таск мениджърът би трябвало да демонстрира 50%. Но не, мениджърът на дилемите ще си демонстрира цялостните 100%. Лъже ли? Общо взето, не. На процесора му е сложена задача и той с всички сили я извършва. А това, че конвейерът е 50% ангажиран – то поставената задача е някаква ексцентрична и процесорът не може да извърши по-бързо.

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

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

Ако още един път удвоим RAM честотата, процесорът ще престоява 12,5%, И в случай че още един път удвоим тази периодичност, то това ще добави на процесора още 6,25% продуктивност и така нататък Добре се вижда, че „безкрайното“ клокване на паметта не е дейно – единствено след три удвоявания на честотата, към този момент печелим единствено единични проценти продуктивност и това при положение, че първичната задача го е натоварвала до 50%. На процедура този % е по-малък и нарастването на честотата над несъмнено равнище престава да оказва значително въздействие на продуктивността.

Ето за какво паметите и процесорите постоянно се развиват редом – по този начин да вземем за пример, с бурния растеж на продуктивността на CPU през 90-те години, когато новите процесори единствено след две години станаха двойно по-производителни, оперативната памет извърши първокласен скок от от SDRAM към DDR, при която „външната“ периодичност на паметта стана двойно по-висока от „вътрешната“. А през днешния ден сме очевидци на нови бързи многоядрени процесори с по над 10 ядра. Паметта надлежно, прави преход от 4-канална към 6-канална.

Ако желаеме да сме по-точни, би трябвало да кажем, че RAM паметта в действителност не усилва продуктивността на процесора. Тя понижава времето на неговия престой и го доближава към неговата идеална продуктивност, която би могъл да даде в един съвършен свят. Ето за какво, няма по какъв начин с един Intel Celeron и DDR4-5000 да получим продуктивността на Core i7. Не е допустимо. Но един бърз актуален процесор може да даде учудващо висока продуктивност посредством клокване на RAM паметта.

Да допълним, че оптималното повишение на честотата на оперативната памет, както и нейните тайминги, за всеки процесор са самостоятелни, лични. Но на това ще се спрем в различен материал.
Източник: kaldata.com

СПОДЕЛИ СТАТИЯТА


Промоции

КОМЕНТАРИ
НАПИШИ КОМЕНТАР