Какво е регистър?

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

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

Какво прави регистърът?

Регистърът е бързо достъпно място за съхранение на процесора. Достъпът до регистър е незабавен с нулева латентност, докато дори L1 кешът има латентност от приблизително 4-5 цикъла в съвременните процесори. Тази непосредственост на достъпа намеква за случая на използване на регистрите. Регистрите се използват за съхраняване на инструкциите, които се обработват активно от процесора. Те също така съхраняват точки от данни, които трябва да бъдат обработени. Някои регистри са с общо предназначение, докато други имат много специфично предназначение. Пример за регистър със специално предназначение би бил програмният брояч, който е мястото, където процесорът проследява позицията си в своята програмна последователност.

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

Регистрирайте преименуване

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

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

Заключение

Регистрите са най-високото ниво в йерархията на паметта. Те са единствената част, адресируема директно от процесора и нямат латентност. Регистрите се използват за съхраняване на данните, които се изпълняват активно от процесора. Те се използват и за съхраняване на други точки от данни, като програмния брояч, който следи коя инструкция е следващата, която трябва да бъде изпълнена. Налични са много ограничен брой регистри с архитектурата x86-64, която има 16 регистъра с общо предназначение и 16 или 32 регистъра с плаваща запетая в зависимост от това дали се поддържа AVX-512.


Leave a Comment

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Држењето на вашите 3D принтери е многу важно за добивање на најдобри резултати. Еве некои важни совети за да се освежите.

5 Причини Защо Вашият Лаптоп Прегрява

5 Причини Защо Вашият Лаптоп Прегрява

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

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Поддържането на вашето оборудване в добро състояние е задължително. Ето някои полезни съвети, за да поддържате 3D принтера си в отлично състояние.

Как да намерите IP адреса на принтера

Как да намерите IP адреса на принтера

Имаме решение за вас как да откриете IP адреса на вашия принтер, ако имате проблеми с това.

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Ако вашите Powerbeats Pro не се зареждат, използвайте друг източник на захранване и почистете слушалките. Оставете кутията отворена, докато зареждате слушалките.

Как да използвате AirPods с телефони Samsung

Как да използвате AirPods с телефони Samsung

Ако не сте сигурни дали да закупите AirPods за вашия телефон Samsung, това ръководство определено ще помогне. Най-очевидният въпрос е дали двете устройства са

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

Ако търсите NAS за вашия дом или офис, разгледайте този списък с най-добрите устройства за NAS съхранение.

Canon Pixma MG5220: Сканирайте без мастило

Canon Pixma MG5220: Сканирайте без мастило

Как да активирате сканирането на Canon Pixma MG5220, когато мастилото е свършило.

Как да инсталираме SSD на настолни и лаптоп компютри

Как да инсталираме SSD на настолни и лаптоп компютри

Току-що ли купихте SSD в надеждата да обновите вътрешната памет на компютър си, но не знаете как да инсталирате SSD? Прочетете тази статия сега!

Как да поправите грешка GeForce Now с код 0xC272008F

Как да поправите грешка GeForce Now с код 0xC272008F

Настройвате се за вечер на игри и тя ще бъде голяма – току-що закупихте "Star Wars Outlaws" в стрийминг услугата GeForce Now. Открийте единственото известно решение, което показва как да поправите грешката GeForce Now с код 0xC272008F, за да можете отново да започнете да играете игри на Ubisoft.