Шта је регистар?

click fraud protection

Ако нисте посебно заинтересовани за рачунаре, било би вам опроштено ако претпоставите да су једини облици меморије у рачунару чврсти диск и РАМ. Они од вас који су заинтересовани за рачунаре вероватно би знали да то није случај и да ЦПУ такође има скуп кеш меморија који се користе за кеширање података из РАМ-а тако да му ЦПУ може приступити брже. Све су ово оглашене карактеристике, првенствено зато што су брзина и/или капацитет пристојна продајна тачка и генерално утичу на нивое перформанси.

Ипак, постоји још један слој меморије. Колико год мислите да је Л1 кеш што је ближи стварном процесорском језгру, постоји још један виши слој у хијерархији меморије. Ово су ЦПУ регистри. Разлог зашто се они заправо не рекламирају или помињу је тај што се уопште нису променили. Технички, они би могли бити, међутим, број и величина регистара су заправо фундаментални за архитектуру. То значи да сви к86-64 ЦПУ-и имају исти број регистара. Они се не продају јер нису конкурентска тачка.

Шта ради регистар?

Регистар је брзо доступна локација за складиштење за процесор. Приступ регистру је непосредан са нултом кашњењем, док чак и Л1 кеш има кашњење од отприлике 4-5 циклуса у модерним ЦПУ-има. Ова непосредност приступа наговештава случај употребе регистара. Регистри се користе за чување инструкција којима ЦПУ активно управља. Они такође чувају тачке података које треба обрадити. Неки регистри су опште намене, док други имају врло специфичну намену. Пример регистра посебне намене би био програмски бројач који је место где процесор прати своју позицију у свом програмском низу.

Многи регистри се сматрају доступним корисницима. То ипак не значи да корисник рачунара може да одабере коју вредност ће у њих ставити. То значи да покренути софтвер може одредити податке који ће бити учитани у ове регистре. Мањи број регистара је интерни, што значи да софтвер уопште не може да их адресира. Регистар инструкција, који чува инструкцију која се тренутно извршава, је пример интерног регистра.

Преименовање регистра

Иако архитектура ЦПУ-а може дозволити само једну конфигурацију регистара, у томе заправо постоји мало нијанси. Сви модерни процесори користе преименовање регистра. Ово је техника у којој можете имати више физичких регистара и користити их за претходно учитавање података или складиштење података који се односе на инструкцију која није у реду која би иначе била преписана. Када ЦПУ дође до тачке да су му потребни подаци у додатним регистрима, он их једноставно преименује тако да буде адресабилан, у исто време док претходно адресиран регистар чини неадресивним.

Процес преименовања регистра може бити од велике помоћи за извршење ван редоследа. На пример, ако је меморијска локација програмирана да се од тада уписује у њу, а инструкције су извршене тим редоследом, то је у реду. Међутим, ако се инструкције преуреде тако да се прво изврши упис, инструкција за читање би добила погрешну вредност. Да би се ово спречило, оригинална вредност за читање се чува у некоришћеном регистру који се затим преименује када се релевантна инструкција обрађује.

Закључак

Регистри су највиши ниво у хијерархији меморије. Они су једини део којима ЦПУ може директно адресирати и немају кашњење. Регистри се користе за складиштење података које ЦПУ активно извршава. Такође се користе за чување других тачака података као што је програмски бројач који прати која инструкција је следећа која ће се извршити. Веома ограничен број регистара је доступан са архитектуром к86-64 која има 16 регистара опште намене и 16 или 32 регистра са покретним зарезом у зависности од тога да ли је АВКС-512 подржан.