Какво е Scratchpad Memory?

Достъпът до данни е критична част от дизайна на процесора. Централните процесори работят с изключително високи скорости, обработвайки множество инструкции за всеки такт и затова се нуждаят от достъп до много данни. По-голямата част от тези данни се съхраняват на носителя за съхранение. Устройствата за съхранение обаче са невъзможно бавни в сравнение с процесора. Устройствата за съхранение също са значително по-добри при последователно четене, отколкото при произволно четене, въпреки че SSD предлагат значително подобрение в това отношение (и много други) спрямо HDD.

Системната RAM е проектирана да бъде заредена с всички данни, които процесорът може да се нуждае от текущия софтуер. RAM има значително по-ниска латентност от съхранението, освен това е специално пригодена да има висока производителност при произволно четене. И все пак, колкото и съвременната RAM да е бърза, тя все още е нищо в сравнение с процесора с латентност от порядъка на 400 тактови цикъла.

За допълнително намаляване на латентността повечето съвременни процесори включват нива на кеш памет. Обикновено те се наричат ​​L1, L2 и L3 кешове. L1 е наистина висока скорост, като обикновено отнема от порядъка на 5 тактови цикъла за достъп. L2 е малко по-бавен, от порядъка на 20 цикъла. L3 е още по-бавен при около 200 цикъла. Въпреки че L1 е невероятно бърз, той е и малък. Голяма част от неговата скорост идва от факта, че по-малките кешове отнемат по-малко време за търсене. L2 е по-голям от L1, но по-малък от L3, който е по-малък от системната RAM. Добре балансирането на размера на тези кеши е от решаващо значение за получаване на високопроизводителен процесор. Коефициентите на попадения в кеша са важни, но трябва да балансирате броя на попаденията с това колко време е необходимо, за да получите това попадение, следователно и нивата.

Памет за скречпад

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

Паметта на Scratchpad по същество запълва същата празнина като L1 кеша. Достъпен е възможно най-бързо, често в едноцифрени числа. За да управлява това, той също е относително малък. Все пак има две ключови разлики между L1 и скречпад паметта. Първо, паметта на скречпада е директно адресируема. Второ, споделя се между всички ядра и процесори.

Разлики между кеша и скречпада

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

L1 кеш паметта винаги е заключена към отделно процесорно ядро. Никое друго обработващо ядро ​​няма достъп до него. Това означава, че ако няколко ядра се нуждаят от едни и същи данни, те могат да ги дублират в съответните L1 кешове. В някои CPU архитектури L2 е на ядро, в други се споделя от малък брой или дори всички ядра. L3 има тенденция да се споделя от всички ядра. Споделянето на кеш между ядрата позволява на две или повече ядра да имат достъп до едни и същи данни, без да ги дублират. Освен това позволява на едно ядро ​​да използва повече от справедливия си дял, когато има нужда и кешът има място.

Scratchpad действа подобно на L1 по отношение на скорост и капацитет, но се споделя между всички ядра. Това позволява много бърз достъп до конкретни данни, върху които се работи при многопоточно натоварване. Паметта на Scratchpad може дори да се споделя между отделни процесори на дънни платки с множество гнезда.

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

Случаи на употреба

Паметта Scratchpad най-често се намира в сървърни системи с множество гнезда, предназначени за HPC (High-Performance Computing). Там неговата комбинация от скорост и споделен достъп го прави полезен за много паралелни работни натоварвания.

Паметта Scratchpad намира приложение и в много по-малки процесори. Вградени процесори, често MPSoC. Вграденият процесор често е с относително ниска мощност и е специализиран за конкретна задача. Тази специализация често е представена в хардуерни оптимизации. Особено в многопроцесорна система на чип, споделената високоскоростна памет може да осигури значителни подобрения на латентността на множество различни процесори. Тези видове процесори често са с много фиксиран дизайн. Игровите конзоли например вече виждат много оптимизации за хардуерен дизайн и така могат да използват добре такива функции, без да е необходимо да се притеснявате за обратна или предна съвместимост.

Заключение

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


Как да клонирате твърд диск

Как да клонирате твърд диск

В съвременната цифрова ера, където данните са ценен актив, клонирането на твърд диск в Windows може да бъде решаващ процес за мнозина. Това изчерпателно ръководство

Как да коригирам неуспешно зареждане на драйвер WUDFRd на Windows 10?

Как да коригирам неуспешно зареждане на драйвер WUDFRd на Windows 10?

Изправени ли сте пред съобщението за грешка при зареждане на компютъра, което казва, че драйверът WUDFRd не успя да се зареди на вашия компютър?

Как да коригирате код за грешка на NVIDIA GeForce Experience 0x0003

Как да коригирате код за грешка на NVIDIA GeForce Experience 0x0003

Срещате ли NVIDIA GeForce код за грешка 0x0003 на вашия работен плот? Ако да, прочетете блога, за да разберете как да поправите тази грешка бързо и лесно.

Какво е SMPS?

Какво е SMPS?

Научете какво е SMPS и значението на различните рейтинги на ефективност, преди да изберете SMPS за вашия компютър.

Защо моят Chromebook не се включва

Защо моят Chromebook не се включва

Получете отговори на въпроса Защо моят Chromebook не се включва? В това полезно ръководство за потребителите на Chromebook.

Как да докладвате на Google за фишинг измами

Как да докладвате на Google за фишинг измами

Научете как да докладвате измамник на Google, за да му попречите да мами други с това ръководство.

Roomba спира, залепва и се обръща – Коригирайте

Roomba спира, залепва и се обръща – Коригирайте

Коригирайте проблем, при който прахосмукачката робот Roomba спира, залепва и продължава да се върти.

Как да промените графичните настройки на Steam Deck

Как да промените графичните настройки на Steam Deck

Steam Deck предлага стабилно и многостранно игрово изживяване на една ръка разстояние. Въпреки това, за да оптимизирате играта си и да осигурите възможно най-доброто

Какво представлява сигурността, базирана на изолация?

Какво представлява сигурността, базирана на изолация?

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

Как да използвате Auto Clicker за Chromebook

Как да използвате Auto Clicker за Chromebook

Днес щях да разгледам инструмент, който може да автоматизира повтарящи се задачи за щракване на вашия Chromebook: Auto Clicker. Този инструмент може да ви спести време и