Шина () в компютърната техника е термин, използван в смисъл на компютърна шина или в смисъл на мрежа с топология тип „шина“. Компютърна шина и мрежа с топология тип „шина“ са две съвсем различни неща. Шината, в смисъл на компютърна шина, е основна част от архитектурата на хардуера на компютъра. Шината, в смисъл на топология на мрежа, е част от архитектурата на мрежата. Основно свойство на шината, и в двата смисъла, е че шината е обща среда (common media) за обмен на данни. Общата комуникационна среда изисква предавателят да поддържа трето, високоимпедансно състояние (изключено състояние) и приемникът да разпознава високоимпедансно състояние, т.е. липса на сигнал. Достъпът до общата среда е мултиплексиран по време (time division multiplexed).

Мултиплексирането на достъпа при мрежите с топология тип „шина“ се базира на откриване на конфликти (дали две устройства не предават едновременно). При откриване на конфликт устройството, включено в мрежата с шинна топология, повтаря опита за предаване след произволен период от време. Пример за мрежа с шинна топология е ранният Ethernet,DEC Corp., „The Ethernet: A Local Area Network Data Link and Physical Layer Specification“ Version 1.0, 1980, The Blue Book където шината е коаксиален кабел и управлението на конфликтите е част от протокола CSMA/CD (Carrier Sense Multiple Access/Collision Detection).IEEE, IEEE Standad for Ethernet, IEEE Std. 802.3 – 2012, Section 1, p.4.1.2 За сравнение, за управление на конфликтите в радио (wireless) мрежите се използва протоколът CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance). С цел да се намалят конфликтите в мрежата, през 1987 г. DEC въвежда топология тип разкъсана звезда (tiered star) в Ethernet мрежите, като част от Phase IV и PHASE IV+ от разработката на DECnet, и оттогава топология тип „шина“ не се използва.

Мултиплексирането на достъпа по време при компютърните шини се базира на арбитраж на приоритетите в съответствие с определена дисциплина (ротация, фиксирани приоритети и т.н.). Първата универсална компютърна шина Unibus е изобретена от Alan Kotok и Gordon Bell и е използвана в миникомпютрите PDP-11 на DEC.Kotok A. Bell C.G., „Digital Computing System", US Pat. No. 3,376,554, Filed Apr. 5, 1965, Granted Apr. 2, 1968 Към 1965 г. идеята за единна шина не е нова. През 1947 г., в спецификацията на Whirlwind I Роберт Еверет (Robert Everett) и Франсис Суейн (Francis Swain) описват архитектура с единна шина, към която са свързани всички елементи (Еверет и Суейн имат предвид устройствата на компютъра - програмен брояч, аритметично устройство, памет и т.н., виж Figure 46. System Block Diagram) през буферни лампи (GT - gate tubes).Everett R., Swain F., „Whirlwind I Computer Block Diagrams", Report R-127, Sept. 1947, http://www.bitsavers.org/pdf/mit/whirlwind/R-series/R-127_Whirlwind_I_Computer_Block_Diagrams_Volume_2_Sep47.pdf Функционално, шината на Whirlwind I е силно ограничена и включва само информационната част за изпълнение на запис и четене на данни от елементите. Тъй като компютрите Whirlwind I и II са прототипи на IBM SAGE, предназначен за противовъздушната отбрана на САЩ, идеята за единна шина може да се проследи до daisy-chain връзката на селекторните канали на IBM System 360.Gavril B., „Control Unit for Input/Output Devices", US Pat. No. 3,573,741, Filed Jul. 11, 1968, Granted Apr. 6, 1971

Дефиниции IEEE () дефинира компютърни термини в IEEE Std. 610.10 от 1994 г. Въпреки че това е стар документ, той е използван като начална точка.

Интерфейс (IEEE Std. 610.10 – 1994, IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries – 3.1113) е:

1. обща граница между два обекта като устройства, системи или мрежи през която се обменя информация;

2. хардуер или софтуер, който осигурява точка за комуникация между физически обекти – процесори, компютри, хора и т.н.

В този смисъл интерфейсът може да бъде точка на свързване към компютърна шина (bus) или компютърна връзка (link), изображение (мониторът е човешки интерфейс), глас, музика и т.н.

В термините на IEEE компютърна шина може да се дефинира по следния начин.

Компютърна шина ( – 3.236) е многосигнална паралелна или паралелно-последователна (QPI, Hypertransport, PCI-Express) комуникационна система между ресурсите в една компютърна архитектура, която се състои от: захранване (power); адресна шина (address bus) – шина, използвана за пренасяне на адрес от процесора до паметта или периферното устройство ( – 3.34); информационна шина (data bus)– шина за обмен на информация към и от процесорни устройства (processing units) или устройства за съхранение на данни (storage devices) ( – 3.484); и управляваща шина (control bus) – шина за управление на системните операции ( – 3.420).

В тази дефиниция липсват няколко много важни свойства. Адресът, генериран на адресната шина, е елемент от множество, върху елементите на което са дефинирани релациите за алгебрично пространство в термините на полетата на Галоа. С други думи, върху адресите е наложена релация за наредба, изпълняват се операции за събиране и умножение и е дефинирана функция за цикличност (address space wrap-around), т.е. адресът е елемент на пространство върху двоично поле на Галоа GF(2).Cosnard M. et al., Data Migrations on the Hypercube, published in „Software for Parallel Computation“ edited by Janusz S. Kowalik and Lucio Grandineti, Springer, 1993 Това пространство е наречено системно адресно пространство (system address space) и операциите върху адресите позволяват въвеждането на различни адресни режими и въвеждането на виртуална адресация. Това адресно пространство осигурява произволен достъп, т.е. достъп до информация разположена на произволно място в адресното пространство. Комуникацията между устройствата е от тип управляващо устройства/подчинено устройство (master-slave). Подчиненото устройство е памет или входно-изходно устройство, което се управлява от управляващо устройство.( – 3.2058) Управляващото устройство управлява операцията за достъп до ресурсите на подчиненото устройство през компютърната шина. С други думи управляващото устройство знае как работи подчиненото устройство, т.е. за управляващото устройство, подчиненото устройство не е черна кутия. Компютърната шина дефинира област с обща тактова честота (single clock domain). Това свойство е много важно, тъй като заедно с разредността на информационната шина и броя на тактовете за един цикъл на достъп определя пропускателната способност на компютърната шина и производителността на компютърната система като цяло. Нека да означим с f честотата на шината[MHz], с s – разредността на шината [брой байтове] и с n c броя на тактовете за един цикъл на достъп [без дименсия]. Тогава пропускателната способност на шината (bus bandwidth) e B = (f/nc).s

Ако тези свойства се добавят, дефиницията на компютърната шина е:

Компютърната шина е многосигнална паралелна или паралелно-последователна (QPI, Hypertransport, PCI-Express) комуникационна система между ресурсите в една компютърна архитектура, която се състои от: захранване (power); адресна шина (address bus) – шина използвана за пренасяне на адрес от процесора до паметта или периферното устройство ( – 3.35); информационна шина (data bus)– шина за обмен на информация към и от процесорни устройства (processing units) или устройства за съхранение на данни (storage devices)( – 3.484); и управляваща шина (control bus) – шина за управление на системните операции.( – 3.420).

дефинира ограничена физическа област със следните свойства: обща тактова честота (clock domain) – това свойство важи за синхронните шини, но не и за асинхронните шини; общо адресно пространство (common address space) с произволен достъп (random access), дефинирано в пълния математически смисъл на термина „пространство“ върху полета на Галоа; и позволява изпълнение на операции за обмен на информационни единици от тип master-slave (управляващо устройство/подчинено устройство) в съответствие с определен протокол (хардуер и софтуер), при което управляващото устройство „знае“ как работи подчиненото устройство и има пълен контрол върху неговите ресурси (регистри, буфери, клетки от паметта и т.н.).

Компютърна връзка (link или path в термините на IBM 360) е многосигнална паралелна (MassBuss, IDE, ATA, AGP), паралелно-последователна (SATA, eSCSI) или последователна (Ethernet, Taken Ring, USB) комуникационна система между устройствата в една компютърна система от тип точка-до-точка (point-to-point, ( – 3.1196), която позволява обмен на символи между предавател и приемник в съответствие с определен протокол, като предавателят и приемникът са черни кутии един за друг т.е предавателят няма представа за архитектурата на приемника и приемникът няма представа за архитектурата на предавателя.

Накратко в компютърната връзка предавателят „не знае“ нищо за приемника (в USB, освен типа и идентификационния адрес от 0 – 127), няма достъп до неговите ресурси и не управлява приемника. Адресът, част от пакета, е елемент от просто множество на адресите, което не е алгебрично пространство, т.е. адресът е идентификационен символ.

Защо тогава USB е наречен „bus“? Към 1995 г. унифицирането на компютърната шина е приключено и PCI е приет за стандарт, но всяко периферно устройство се свързва към отделен порт – отделни портове за мишка, клавиатура, принтер, RS232, ISDN (модем), SCSI (външни дискове) и т.н. Идеята на USB е всички устройства да бъдат вързани към един унифициран порт, така както контролерите в компютърната система са свързани към една шина. Унифицирането намалява цената на проектирането, на производството и на поддръжката. По тази аналогия универсалната последователна връзка е наречена шина, въпреки че е топология „разкъсана звезда“ (tree or tiered star topology – стр. 16) с предназначени връзки (dedicated lines) тип точка-до-точка (point-to-point). Топология „разкъсана звезда“ (топологиите „разкъсана звезда“ и „дърво“ си приличат) не е функционално еквивалентна на топология „шина“.

В мрежите с шинна топология няма станция, която управлява обмена, а всички станции се състезават за достъп до шината и която изпревари – предава, която закъснее – чака. Самата шина е област на конфликт. В мрежите с топология „звезда“ или „разкъсана звезда“ връзките не са „обща среда“, а предназначени връзки (dedicated lines) и целият трафик се управлява от централната станция.

При мрежите с топология „звезда“ централната станция управлява обмена между периферните станции, няма състезания за достъп, няма конфликти. Все пак, области на конфликти съществуват в портовете на мрежовите устройства (hub, switch, router) и конфликтите се разрешават с комуникационни опашки. Опашките въвеждат закъснения на пакетите в мрежата, но те подлежат на управление с въвеждане на приоритети на пакетите.

Защо след като USB не е компютърна шина(„Universal Serial Bus Specification“ Revision 1.1 1998 – стр. 16, Figure 4 – 1), PCI-Express е компютърна шина( – стр. 39, Figure 1 – 2) и при това, по топология си приличат? Защото PCI-Express е стробирано състояние на PCI шината( – стр.43, Figure 1 – 3) – адрес, данни и управление – превърнато в последователен вид, пакетирано, кодирано и изпратено по последователна линия (x1) или паралелно-последователна линия (x4, x8, x12, x16), като запазва всички свойства на шината, описани по дефиниция (адресно пространство, управление на ресурсите).PCI-SIG, PCI-Express Base Specification Revision 2.1 , 2009 Всъщност, PCI-Express позволява да се увеличи скоростта, дължината и функционалните възможности (повече устройства) на PCI шината. Нещо повече, PCI-Express предава дори информация за управление на разредността на шината при конверсия в PCI ( – стр.67 – 68, Figure 2 – 11), във версия 2.1 се дефинират нови операции за информационен обмен (мултикаст).( – стр.633)

Паралелни шини (Parallel buses)