Паралелен и сериен интерфейс
Видове предавана информация
Информацията (данните), която трябва да се предава през интерфейсите, може да бъде от различно естество:
• Аналоговата информацияпоказва процес, който е непрекъснат във времето и произволен по големина (може да приеме произволна от безкраен брой стойности, макар и в ограничен интервал). Пример: звуците, които чуваме (включително речта) са непрекъсната промяна в налягането. Такава информация се предава, например, чрез свързване на микрофон (устройство, което преобразува промените в налягането в промени на електрическото напрежение) към компютър.
• Дискретната информацияпоказва процеса като краен брой стойности. Елементарната единица дискретна информация е 1 бит, който може да приема само една от две логически стойности: 1 (вярно, "да") или 0 (невярно, "не"). С един бит например можете да изведете състоянието на бутона на мишката - натиснат или не. Дискретната двоична информация е естествена за повечето компютри, защото е най-лесна за получаване, обработка, съхраняване и прехвърляне. Дискретната информация може да бъде не само двоична - интересни са например и троичните системи; състоянието на един трит може да се интерпретира като "да", "не", "не знам".
• Числовата информацияе поредица (набор) от числа с ограничен капацитет (и, съответно, краен брой възможни стойности). Пример е дигитализиран звук, който е поредица от показания на моментни стойности на налягането, взети на редовни интервали.
• Паралелен интерфейс — всеки бит от предаваната група има собствена сигнална линия (обикновено с двоично представяне) и всички битове от групата се предават едновременно в един времеви отрязък, след коетосе движат паралелно по линиите на интерфейса. Примери: паралелен порт за принтер (LPT порт, 8 бита), ATA/ATAPI интерфейс (16 бита), SCSI интерфейс (8 или 16 бита), PCI шина (32 или 64 бита).
• Сериен интерфейс - използва се само една сигнална линия, а груповите битове се предават един след друг последователно; всеки от тях има свой собствен времеви отрязък (битов интервал). Примери: сериен комуникационен порт (COM порт), USB и FireWire серийни шини, LAN и WAN интерфейси.
На пръв поглед организацията на паралелен интерфейс е по-проста и по-ясна (няма нужда да поставяте битове в опашка за предаване и да събирате байтове от получената последователност от битове). Освен това на пръв поглед паралелният интерфейс осигурява по-бърз трансфер на данни, тъй като битовете се предават незабавно на партиди. Очевидният недостатък на паралелния интерфейс е големият брой проводници и конекторни щифтове в свързващия кабел (поне един за всеки бит). Оттук и обемността и високата цена на кабелите и интерфейсните вериги на устройствата, но те се примиряват с това в името на желаната скорост. При серийния интерфейс приемно-предавателните възли са функционално по-сложни, но кабелите и конекторите са много по-прости и по-евтини. Ясно е, че е неразумно (и невъзможно) да се изтеглят многожични кабели на паралелни интерфейси на дълги разстояния, серийните интерфейси са много по-подходящи тук. Тези съображения доминираха при избора на тип интерфейс до началото на 90-те години. Тогава изборът беше прост: на къси разстояния (максимум - до няколко десетки метра), с изисквания за висока скорост, бяха използвани паралелни интерфейси, а на големи разстояния или ако паралелните кабели бяха неприемливи, серийни,жертване на скоростта на трансфер.
Сега нека разгледаме по-подробно скоростта на трансфер на данни. Очевидно то е равно на броя на битовете, предадени на времеви отрязък, разделен на продължителността на времевия отрязък. За простота можете да работите с тактовата честота на интерфейса - реципрочната стойност на продължителността на кванта. Тази концепция е естествена за синхронни интерфейси, които имат сигнал за синхронизация (часовник), който определя възможните моменти на възникване на всички събития (промени в състоянието). За асинхронни интерфейси можете да използвате еквивалентната тактова честота, която е реципрочна на минималната продължителност на едно състояние на интерфейса. Сега можем да кажем, че максималната (пикова) скорост на трансфер на данни е равна на произведението на тактовата честота и битовата дълбочина на интерфейса. Серийният интерфейс има битова ширина от 1 бит, докато паралелният интерфейс има толкова, колкото има паралелни сигнални вериги за предаване на битове данни. Остават въпроси относно постижимата тактова честота и битовата дълбочина. Както за серийния, така и за паралелния интерфейс, максималната тактова честота се определя от постижимата (при разумна цена и разходи за енергия) скорост на приемо-предавателните вериги на устройствата и честотните свойства на кабелите. Предимствата на серийния интерфейс вече са видими тук: за него разходите за изграждане на високоскоростни елементи не трябва да се умножават по битовата дълбочина на интерфейса, както в случая на паралелен интерфейс.
Има феномен на изкривяване в паралелния интерфейс, който значително влияе върху постижимата граница на тактовата честота. Същността му е, че сигналите, предавани едновременно от единия край на интерфейсния кабел, не достигат едновременно до другия край поради отклонения в характеристиките на веригите. Транзитното време се влияе от дължината на проводниците, свойствата на изолацията, свързващите елементи ии т.н. Очевидно е, че изкривяването (разликата във времето на пристигане) на сигналите на различните битове трябва да бъде ясно по-малко от кванта на времето, в противен случай битовете ще бъдат изкривени (объркани със същите битове на предишни и следващи съобщения). Съвсем ясно е, че изкривяването ограничава и допустимата дължина на интерфейсните кабели: при една и съща относителна грешка в скоростта на разпространение на сигнала на по-голяма дължина се „набива“ и по-голямо изкривяване. Изкривяването също така ограничава увеличаването на битовата дълбочина на интерфейса: колкото повече са паралелните вериги, толкова по-трудно е да се постигне тяхната идентичност. Поради това дори е необходимо да се раздели „широкият“ (многобитов) интерфейс на няколко „тесни“ групи и да се използват собствени контролни сигнали за всяка група. През 90-те години честотите от стотици мегахерци и по-високи започнаха да се овладяват в схемата на приемащите и предавателните възли, т.е. квантовата продължителност започна да се измерва в единици и части от наносекунди. Възможно е да се постигне съизмеримо малко изкривяване само в рамките на твърди компактни структури (печатна платка), а за свързване на отделни устройства с кабели с дължина десетки сантиметри е необходимо да се спре на честоти до десетки мегахерца. За да се ориентираме в числата, отбелязваме, че за 1 наносекунда сигналът преминава през електрическия проводник около 20-25 сантиметра.
От средата на 90-те години двойната синхронизация (Dual Data Rate, DDR) се използва за увеличаване на пропускателната способност на паралелните интерфейси. Идеята му е да изравни честотите на превключване на информационните сигнални линии и стробиращи (синхронизационни) линии. В "класическата" версия линиите за данни се възприемат само по единия ръб (преден или нисък) на тактовия сигнал, което удвоява честотата на превключване на тактовата сигнална линия спрямо линиите за данни. С двойна синхронизация, даннитесе възприемат както отпред, така и от падане, така че честотата на промяна на състоянията на всички линии е изравнена, което при еднакви физически параметри на кабела и интерфейсните вериги позволява удвояване на честотната лента. Вълната от тези надстройки започна с интерфейса ATA (режими U1-traDMA) и премина през SCSI (Ultra160 и по-високи) и памет (DDR SDRAM). Освен това при високи честоти се използва синхронизация от източника на данни (синхронен трансфер на източник): сигналът за синхронизиране, който определя моментите на превключване или валидността на данните, се генерира от самия източник на данни. Това позволява по-точно синхронизиране на данните и часовника, докато се разпространяват през интерфейса паралелно в една и съща посока. Алтернативата - синхронизация от общ източник (общ часовник) - не издържа на високи честоти на превключване, тъй като тук в различни (географски) точки времевата връзка между данните и сигналите за синхронизация ще бъде различна.
Увеличаването на честотата на превключване на интерфейсните сигнали обикновено се придружава от намаляване на нивата на сигналите, генерирани от интерфейсните вериги. Тази тенденция се обяснява с енергийни съображения: увеличаването на честотата означава намаляване на времето, отделено за превключване на сигнала. Колкото по-голяма е амплитудата на сигнала, толкова по-голяма е необходимата скорост на завъртане и, следователно, изходният ток на предавателя. Увеличаването на изходния ток (импулс!) е нежелателно поради различни причини: голямо смущаване в паралелния интерфейс, необходимостта от използване на мощни изходни драйвери, повишено разсейване на топлината. Тенденцията за спад на напрежението може да се види в AGP порта (3.3/1.5/0.8 V), PCI/PCI-X (5/3.3/1.5 V), SCSI, паметта и процесорните шини.
На серийния интерфейсняма феномен на изкривяване, така че тактовата честота може да бъде увеличена до границата на възможностите на веригите за предаване-приемане. Разбира се, има ограничения за честотните свойства на кабела, но е много по-лесно да се направи добър кабел за една сигнална верига, отколкото за група вериги и дори с високи изисквания за идентичност. И когато електрическият кабел вече не „дърпа“ необходимата честота и обхват, можете да преминете към оптичен, който има огромни, все още неусвоени, „маржи на безопасност“ в това отношение. Създаването на паралелен оптичен интерфейс е твърде скъпо.
Горните съображения обясняват тенденцията към преминаване към сериен метод за предаване на данни.