Кеш на процесора: Видове и принципи на работа

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

Кеш памет

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


Първоначално кешът беше поставен на дънната платка. Сега се намира кешът на процесорана самия процесор, което значително намалява времето за достъп до него.

Предназначение

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


Така се оказва, че CPU проверява присъствието си в кеша, преди да поиска данни от RAM. Ето какво е този кеш с прости думи.

Нива на паметта

Повечето съвременни процесори представят няколко нива на кеш паметта. Често има две или три от тях: L1 L2 кеш L3. Първото ниво на кеша има свойството за бърз достъп до ядрото на процесора, работещо на същите честоти като процесора. Той също така играе ролята на буфер между процесора и компютърната памет на второ ниво. Кеш L2 има по-мощни данни, които, за съжаление, намаляват скоростта му. Неговата задача е да осигури преход от първия към първиятрето ниво. Тъй като на всяко ниво пада скоростта на работа, микропроцесорният кеш на трето ниво има още по-ниска скорост на достъп. Въпреки това, неговата скорост на достъп е по-продуктивна, за разлика от стандартната RAM. В предишните версии, кешът на различни нива се намира на неговото ядро, но L3 кешът е предназначен за целия процесор.

Независима

Кеш устройството се състои от няколко нива и категории. Микропроцесорите за сървъри и компютри имат три независими кеша: набор от инструкции, данни и асоциативен буфер за излъчване. Ето защо супероперативната памет е разделена на три нива.

Набор от инструкции

Набор от инструкции, кешът се изисква за зареждане на машинния код, но какво е това? Машинният код може да бъде наречен система от команди на конкретна машина за изчисление, интерпретирана от централния процесор на този компютър. Всяка програма, написана на машинен език, се изпълнява в двоичен код, с тази компилирана машинна инструкция. Дори този процес може да се нарече "opcode" - двоичен код. Какво прави кеша с инструкции? Този вид кеш е способен да изпълнява само определена задача под формата на операция с данни. Това означава, че кеш съдържа набор от инструкции, всеки от които се занимава с неговата "работа". Това може да бъде изчисление, преместване от едно към друго или копиране. Всяка машинна инструкция съдържа два вида операции: прости и сложни. Когато една от тези операции се извърши, тя го декодира последователно за тезиустройствата, към които е предназначено.

Кеш за данни

Кешът за данни е предназначен да съхранява информацията, която се изисква от централния процесор, много по-често, отколкото RAM. Поради малкия обем на кеш процесора там се съхранява само често исканата информация. Въпреки това, местоположението на този вид съхранение, т.е. на чипа на процесора, ви позволява да съкратите времето за заявка, като я минимизирате. Повечето съвременни процесори използват размер на кеша до 16 мегабайта, но в процесорите, предназначени за сървъри, максималният кеш на процесора достига 20 мегабайта и повече.

Свързан буфер за превод

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

Неуспехи в работата

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

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

Варианти на пропуски

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

Адрес за разпространение и неговите варианти

Повечето инсталирани компютри на процесори се основават на определен вид виртуална памет. Това означава, че всяка програма, изпълнена на машината, разпознава своя опростен адрес, който определя уникалния код и данните, принадлежащи изключително на тази програма. Виртуалното адресно пространство се създава, така че всяка програма да може да я използва, а неВ зависимост от местоположението във физическата памет.
Поради превода от виртуалното физическо съхранение (OZP), такива манипулации се извършват с невероятна скорост. Процесът на преобразуване на адреси:
  • Генераторът на адреси изпраща физически адрес към устройството за управление на паметта, но в края на няколко цикъла. Тази функция се нарича "Забавяне".
  • "Ефектът от налагане" може да се разглежда като процес, при който един физически адрес има няколко виртуални адреса. Процесорите ги възпроизвеждат в определен ред, който контролира програмата. Въпреки това, за да изпълните тази опция, трябва да поискате да се провери само едно копие на кеша.
  • Виртуалната адресна среда е разделена на фиксирани блокове памет, чието начало съответства на адрес с неговия размер. Тази функция се нарича "Display Unit".
  • Кеши и тяхната йерархия

    Наличието на няколко взаимодействащи кеша е един от критериите на повечето съвременни процесори. Процесорите, които поддържат паралелни инструкции получават достъп до информация за конвейера: инструкции за четене, процес на превеждане на виртуални адреси във физически адреси и инструкции за четене. Методът на конвейерната работа помага да се разпределят задачи между трите отделни кеша, така че да можете да избегнете конфликти с достъпа. Това място в йерархията се нарича "Специализиран кеш", а процесите с такава функция са архитектурата на Харвард. Интензивността на ударите и закъсненията е един от основните проблеми при работата с супероперативнияпамет. Факт е, че колкото повече кеш и процентът на удара, толкова повече ще има забавяне. Често, за да се оптимизира работата и да се реши този конфликт, се използва нивото на кешовете, използвани за буфериране един на друг. Плюс системата от нива е, че те работят в последователност от растеж. Първо, първото ниво на компютърна памет, което е бързо, но с малък обем, определя скоростта на процесора на неговите честоти. При отказ от първо ниво, процесорът се превръща в кеша на второто ниво, което има по-голям обем, но с по-малка скорост. Това продължава, докато процесорът не получи отговор на RAM заявката. Тази позиция в йерархията се нарича "Кеш за няколко нива". Уникалните или изключителни кешове имат свойството да съхраняват данни само на едно определено ниво. Един включен изглед може да съхранява информация на няколко нива на супер-активна памет, като ги поставя в метод на копиране. Нивото на йерархията, наречено "Cache traces", елиминира работата на декодера, тъй като насърчава бързото зареждане на инструкции, намалявайки топлинния пренос на CPU. Неговата основна характеристика е възможността за записване на декодирани данни. Съхранените инструкции се разделят на две групи: динамични и базови. В някои случаи динамичен маршрут може да бъде изграден върху няколко основни единици, групирани заедно. По този начин динамичният трак е в състояние да съхранява обработваните данни.

    Свързани публикации