Регі́стр проце́сора — комірка швидкодійної внутрішньої пам'яті процесора, яка використовується для тимчасового збереження операндів, з якими безпосередньо проводяться обчислення, а також часто використовуваних даних з метою швидкого доступу до них. Крім того, в регістрах зберігається і додаткова інформація, потрібна процесору для функціонування (зокрема, поточний , адреса наступної команди тощо).
Процесори зазвичай містять від декількох до декількох сотень регістрів різного функціонального призначення.
Фізична будова та реалізація
Регістри найчастіше реалізуються як масиви статичної пам'яті з довільним доступом (SRAM), хоча також можуть реалізовуватись на базі бістабільних комірок (тригерів), інших схемотехнічних рішень, придатних для реалізації швидких запам'ятовувальних пристроїв.
Характеристики
Регістри характеризуються своєю розрядністю, тобто кількістю біт інформації, яка може в них розміщуватись (наприклад, 8-розрядний регістр, 64-розрядний регістр).
Особливі види регістрів
З погляду архітектури комп'ютера, під цим терміном розуміють лише набір тих регістрів, які доступні програмісту в рамках документованої програмної моделі процесора. Точніше такі регістри називають архітектурними. Наприклад, архітектура x86 визначає лише вісім 32-розрядних регістрів загального призначення, але процесор фактично містить набагато більше реальних апаратних регістрів. Така надлишковість потрібна для реалізації деяких мікроархітектурних оптимізацій швидкодії процесора (див. докладніше Паралелізм рівня команди).
Класифікація
За функціональним призначенням регістри процесора поділяються на такі:
- Регістри даних — використовуються для збереження цілочисельних даних (див. нижче регістри рухомої коми). В деяких архітектурах, відомих як (акумуляторні), такий регістр лише один.
- Адресні регістри — зберігають адреси (номери комірок) в пам'яті та використовуються в операціях з пам'яттю. Такі регістри іноді називаються індексними або базовими.
- Регістри загального призначення — можуть зберігати і дані, і адреси.
- Регістри рухомої коми — призначаються для зберігання даних для обчислень з рухомою комою.
- Регістри констант — зберігають константи (наприклад в RISC-архітектурах регістр з порядковим номером нуль зазвичай зберігає константу нуля).
- Векторні регістри — зберігають векторні дані та забезпечують векторні обчислення (наприклад, в мультимедійних розширеннях архітектури x86).
- Регістри спеціального призначення — зберігають внутрішню інформацію, необхідну для функціонування процесора (лічильник команд, , регістр стану процесора тощо).
Деякі приклади
У таблиці показано кількість регістрів загального призначення в декількох поширених архітектурах мікропроцесорів. Варто відзначити, що в деяких архітектурах використання окремих регістрів може бути ускладнене. Так, як SPARC та MIPS регістр номер 0 не зберігає інформацію і завжди зчитується як 0, а в процесорах x86 з регістром ESP (покажчик на стек) можуть працювати лише деякі команди.
Архітектура | Цілочисельних регістрів | FP регістрів | Примітки |
---|---|---|---|
x86-32 | 8 | 8 | |
x86-64 | 16 | 16 | |
(IBM System/360) | 16 | 4 | |
z/Architecture | 16 | 16 | |
Itanium | 128 | 128 | |
SPARC | 31 | 32 | Регістр 0 (глобальний) завжди занулений |
IBM Cell | 4~16 | 1~4 | |
[en] | 32 | 32 | |
[en] | 32 | 32 | |
Alpha | 32 | 32 | |
6502 | 3 | 0 | |
(W65C816S) | 5 | 0 | |
PIC microcontroller | 1 | 0 | |
AVR | 32 | 0 | 4 старших регістри можуть об'єднуватися у 16-бітові пари, три з яких можуть використовуватися як вказівники |
ARM 32-bit | 16 | varies | |
ARM 64-bit | 31 | 32 | |
MIPS, RISC-V | 31 | 32 | Регістр 0 завжди занулений |
Див. також
- [en]; Pleszkun, A. R. (June 1985). "Implementation of precise interrupts in pipelined processors". ACM SIGARCH Computer Architecture News 13 (3): 36–44. doi:.
- [en]; Pleszkun, A. R. (May 1988). "Implementing precise interrupts in pipelined processors". [en]. 37 (5): 562–573. doi:10.1109/12.4607.
- [en]; Pleszkun, A. R. (1998). "Implementation of precise interrupts in pipelined processors". 25 years of the international symposia on Computer architecture (selected papers) - ISCA '98. pp. 291–299. doi:10.1145/285930.285988. ISBN 1581130589.
Примітки
- AMD64 Architecture Programmer’s Manual Volume 1: Application Programming (PDF). AMD. October 2013.
- Procedure Call Standard for the ARM Architecture (PDF). ARM Holdings. 16 жовтня 2009. Архів (PDF) оригіналу за 28 квітня 2013. Процитовано 24 квітня 2012.
- Procedure Call Standard for the ARM 64-bit Architecture (PDF). ARM Holdings. 25 листопада 2011. Архів (PDF) оригіналу за 28 квітня 2013. Процитовано 24 квітня 2012.
- https://dx.doi.org/10.1145%2F327070.327125
- https://dx.doi.org/10.1109%2F12.4607
- https://dx.doi.org/10.1145%2F285930.285988
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Regi str proce sora komirka shvidkodijnoyi vnutrishnoyi pam yati procesora yaka vikoristovuyetsya dlya timchasovogo zberezhennya operandiv z yakimi bezposeredno provodyatsya obchislennya a takozh chasto vikoristovuvanih danih z metoyu shvidkogo dostupu do nih Krim togo v registrah zberigayetsya i dodatkova informaciya potribna procesoru dlya funkcionuvannya zokrema potochnij adresa nastupnoyi komandi tosho Procesori zazvichaj mistyat vid dekilkoh do dekilkoh soten registriv riznogo funkcionalnogo priznachennya Fizichna budova ta realizaciyaRegistri najchastishe realizuyutsya yak masivi statichnoyi pam yati z dovilnim dostupom SRAM hocha takozh mozhut realizovuvatis na bazi bistabilnih komirok trigeriv inshih shemotehnichnih rishen pridatnih dlya realizaciyi shvidkih zapam yatovuvalnih pristroyiv HarakteristikiRegistri harakterizuyutsya svoyeyu rozryadnistyu tobto kilkistyu bit informaciyi yaka mozhe v nih rozmishuvatis napriklad 8 rozryadnij registr 64 rozryadnij registr Osoblivi vidi registriv Z poglyadu arhitekturi komp yutera pid cim terminom rozumiyut lishe nabir tih registriv yaki dostupni programistu v ramkah dokumentovanoyi programnoyi modeli procesora Tochnishe taki registri nazivayut arhitekturnimi Napriklad arhitektura x86 viznachaye lishe visim 32 rozryadnih registriv zagalnogo priznachennya ale procesor faktichno mistit nabagato bilshe realnih aparatnih registriv Taka nadlishkovist potribna dlya realizaciyi deyakih mikroarhitekturnih optimizacij shvidkodiyi procesora div dokladnishe Paralelizm rivnya komandi KlasifikaciyaZa funkcionalnim priznachennyam registri procesora podilyayutsya na taki Registri danih vikoristovuyutsya dlya zberezhennya cilochiselnih danih div nizhche registri ruhomoyi komi V deyakih arhitekturah vidomih yak akumulyatorni takij registr lishe odin Adresni registri zberigayut adresi nomeri komirok v pam yati ta vikoristovuyutsya v operaciyah z pam yattyu Taki registri inodi nazivayutsya indeksnimi abo bazovimi Registri zagalnogo priznachennya mozhut zberigati i dani i adresi Registri ruhomoyi komi priznachayutsya dlya zberigannya danih dlya obchislen z ruhomoyu komoyu Registri konstant zberigayut konstanti napriklad v RISC arhitekturah registr z poryadkovim nomerom nul zazvichaj zberigaye konstantu nulya Vektorni registri zberigayut vektorni dani ta zabezpechuyut vektorni obchislennya napriklad v multimedijnih rozshirennyah arhitekturi x86 Registri specialnogo priznachennya zberigayut vnutrishnyu informaciyu neobhidnu dlya funkcionuvannya procesora lichilnik komand registr stanu procesora tosho Deyaki prikladiU tablici pokazano kilkist registriv zagalnogo priznachennya v dekilkoh poshirenih arhitekturah mikroprocesoriv Varto vidznachiti sho v deyakih arhitekturah vikoristannya okremih registriv mozhe buti uskladnene Tak yak SPARC ta MIPS registr nomer 0 ne zberigaye informaciyu i zavzhdi zchituyetsya yak 0 a v procesorah x86 z registrom ESP pokazhchik na stek mozhut pracyuvati lishe deyaki komandi Arhitektura Cilochiselnih registriv FP registriv Primitkix86 32 8 8x86 64 16 16IBM System 360 16 4z Architecture 16 16Itanium 128 128SPARC 31 32 Registr 0 globalnij zavzhdi zanulenijIBM Cell 4 16 1 4 en 32 32 en 32 32Alpha 32 326502 3 0W65C816S 5 0PIC microcontroller 1 0AVR 32 0 4 starshih registri mozhut ob yednuvatisya u 16 bitovi pari tri z yakih mozhut vikoristovuvatisya yak vkazivnikiARM 32 bit 16 variesARM 64 bit 31 32MIPS RISC V 31 32 Registr 0 zavzhdi zanulenijDiv takozh en Pleszkun A R June 1985 Implementation of precise interrupts in pipelined processors ACM SIGARCH Computer Architecture News 13 3 36 44 doi en Pleszkun A R May 1988 Implementing precise interrupts in pipelined processors en 37 5 562 573 doi 10 1109 12 4607 en Pleszkun A R 1998 Implementation of precise interrupts in pipelined processors 25 years of the international symposia on Computer architecture selected papers ISCA 98 pp 291 299 doi 10 1145 285930 285988 ISBN 1581130589 PrimitkiAMD64 Architecture Programmer s Manual Volume 1 Application Programming PDF AMD October 2013 Procedure Call Standard for the ARM Architecture PDF ARM Holdings 16 zhovtnya 2009 Arhiv PDF originalu za 28 kvitnya 2013 Procitovano 24 kvitnya 2012 Procedure Call Standard for the ARM 64 bit Architecture PDF ARM Holdings 25 listopada 2011 Arhiv PDF originalu za 28 kvitnya 2013 Procitovano 24 kvitnya 2012 https dx doi org 10 1145 2F327070 327125 https dx doi org 10 1109 2F12 4607 https dx doi org 10 1145 2F285930 285988