Адресната шина е архитектура на компютърна шина. Тя се използва за прехвърляне на данни между устройства. Устройствата се идентифицират чрез хардуерния адрес на физическата памет (физическия адрес). Адресът се съхранява под формата на двоични числа, за да може шината за данни да получи достъп до паметта.
Адресните шини се състоят от набор от проводници, свързващи процесора с основната памет, които се използват за идентифициране на определени места (адреси) в основната памет. Ширината на адресната шина (т.е. броят на проводниците) определя колко уникални места в паметта могат да бъдат адресирани. Съвременните персонални компютри и Macintosh имат до 36 адресни линии. Това теоретично им позволява да имат достъп до 64 гигабайта основна памет. Въпреки това действителният обем на паметта, до който може да се получи достъп, обикновено е много по-малък от този теоретичен лимит поради ограниченията на чипсета и дънната платка.
Адресната шина е част от архитектурата на системната шина, която е разработена с цел намаляване на разходите и подобряване на модулната интеграция. Въпреки това повечето съвременни компютри използват различни индивидуални шини за специфични задачи.
Всеки отделен компютър съдържа системна шина, която свързва основните компоненти на компютърната система и има три основни елемента, от които адресната шина е един, заедно с шината за данни и контролната шина.
Адресната шина се измерва с количеството памет, което системата може да извлече. Една система с 32-битова адресна шина може да адресира 4 гигабайта памет. По-новите компютри, използващи 64-битова адресна шина с поддържаща операционна система, могат да адресират 16 екзибита места в паметта, което е практически неограничено.
Какво всъщност прави адресната шина?
Адресната шина предава адреси — т.е. номера на клетки в паметта или адреси на периферни устройства — от процесора (или друг шинен майстор) към паметта и периферията. Тя не пренася самите данни (това е задачата на шината за данни), а указва къде трябва да се прочетат или запишат тези данни. Обичайно адресната шина е еднопосочна: сигналите се задават от шинния майстор към устройствата-роби.
Как се изчислява адресируемата памет?
Формулата е проста: ако адресната шина има n линии (битове), тя може да адресира 2^n уникални адреса. Ако системата е байт-адресируема (всеки адрес сочи байт), тогава общия достъпен обем памет в байтове е 2^n. В практиката:
- 20-битова адресна шина → 2^20 = 1 048 576 адреса = 1 MiB
- 32-битова адресна шина → 2^32 = 4 294 967 296 адреса = 4 GiB
- 36-битова адресна шина → 2^36 = 68 719 476 736 адреса = 64 GiB
- 48-битова адресна шина → 2^48 = 281 474 976 710 656 адреса = 256 TiB
- 64-битова адресна шина → 2^64 = 18 446 744 073 709 551 616 адреса = 16 EiB (екзибиайта)
Забележка: терминът "екзибит" (екзибиайт, EiB) е основан на степени на 2; често в маркетинга се използват десетични единици (екзабайт), което води до объркване.
Практически ограничения
Теоретичният адресируем обем често е по-голям от реално достъпния поради:
- Ограничения на чипсета и дънната платка — хардуерът може да поддържа по-малък брой адресни линии.
- Ограничения на операционната система — OS може да не поддържа целия физически адресен диапазон или да резервира част от адресното пространство за системни нужди.
- Резервиран адресен пространство за памет, свързана с периферия (memory-mapped I/O), BIOS/UEFI и други ROM/ресурси.
- PAE (Physical Address Extension) — пример: на 32-битовите x86 системи PAE позволява разширяване на физическото адресно пространство до 36 бита (до 64 GiB), въпреки че виртуалните адреси на процесите остават 32-битови.
- В модерните 64-битови процесори не винаги се използва пълният 64-битов диапазон — често физическите и виртуалните адреси са ограничени (например 48–52 бита) по дизайн.
Физически адреси срещу виртуални адреси
Важно е да се отличи физическият адрес (реалната позиция в RAM) от виртуалния адрес (адресът, който процесът вижда). Операционната система и MMU (Memory Management Unit) извършват транслация между тях. Ширината на адресната шина описва максималния обхват на физическото адресно пространство, а ширината на виртуалните адреси зависи от архитектурата и ОС.
Други характеристики и използване
- Адресната шина се използва и за memory-mapped I/O, при което адресите сочат към регистри на периферни устройства.
- Някои процесори поддържат различни режимни схеми (например сегментация или плоско адресно пространство) — това е архитектурно решение, което влияе върху начина, по който се използват адресите.
- В микроконтролерите и вградени системи броят на адресните линии и начинът на адресиране може да е оптимизиран спрямо конкретната задача (например дума-адресируеми системи).
Кратко резюме
Адресната шина определя колко различни паметни клетки могат да се посочат едновременно и по този начин ограничава максималния физически обем памет, който системата може да адресира. Теоретичният капацитет следва формулата 2^n (n = брой адресни линии), но реалният достъп зависи от чипсет, дънна платка, процесорна архитектура и операционна система.