同步傳輸 異步傳輸


同步傳輸

同步傳輸是以同步的時鍾節拍來發送數據信號的,因此在一個串行的數據流中,各信號碼元之間的相對位置
都是固定的(即同步的)。
同步傳輸(Synchronous)
在同步傳輸的模式下,數據的傳送是以一個數據區塊為單位,因此同步傳輸又稱為區塊傳輸。
在傳送數據時,需先送出2個同步字符,然后再送出然后再送出整批的數據。如圖:
  1byte 1byte 1byte 1byte
  ————————————————————
  ▏Sync ▏Sync ▏Data block ▏BCC ▏EOB ▏
  ————————————————————
  Sync:同步字符
  Data block:數據區塊
  BCC:區塊檢查字符
  EOB:區塊結束字符
  同步傳輸(Synchronous Transmission):同步傳輸的比特分組要大得多。它不是獨立地發送每個字符,每個字符都有自己的開始位和停止位,而是把它們組合起來一起發送。我們將這些組合稱為數據幀,或簡稱為幀。
  數據幀的第一部分包含一組同步字符,它是一個獨特的比特組合,類似於前面提到的起始位,用於通知接收方一個幀已經到達,但它同時還能確保接收方的采樣速度和比特的到達速度保持一致,使收發雙方進入同步。
  幀的最后一部分是一個幀結束標記。與同步字符一樣,它也是一個獨特的比特串,類似於前面提到的停止位,用於表示在下一幀開始之前沒有別的即將到達的數據了。
  同步傳輸通常要比異步傳輸快速得多。接收方不必對每個字符進行開始和停止的操作。一旦檢測到幀同步字符,它就在接下來的數據到達時接收它們。另外,同步傳輸的開銷也比較少。例如,一個典型的幀可能有500字節(即4000比特)的數據,其中可能只包含100比特的開銷。這時,增加的比特位使傳輸的比特總數增加2.5%,這與異步傳輸中25 %的增值要小得多。隨着數據幀中實際數據比特位的增加,開銷比特所占的百分比將相應地減少。但是,數據比特位越長,緩存數據所需要的緩沖區也越大,這就限制了一個幀的大小。另外,幀越大,它占據傳輸媒體的連續時間也越長。在極端的情況下,這將導致其他用戶等得太久。

異步傳輸

   異步傳輸(Asynchronous Transmission): 異步傳輸將比特分成小組進行傳送,小組可以是8位的1個字符或更長。發送方可以在任何時刻發送這些比特組,而接收方從不知道它們會在什么時候到達。一個常見的例子是計算機鍵盤與主機的通信。按下一個字母鍵、數字鍵或特殊字符鍵,就發送一個8比特位的ASCII代碼。鍵盤可以在任何時刻發送代碼,這取決於用戶的輸入速度,內部的硬件必須能夠在任何時刻接收一個鍵入的字符。
  異步傳輸存在一個潛在的問題,即接收方並不知道數據會在什么時候到達。在它檢測到數據並做出響應之前,第一個比特已經過去了。這就像有人出乎意料地從后面走上來跟你說話,而你沒來得及反應過來,漏掉了最前面的幾個詞。因此,每次異步傳輸的信息都以一個起始位開頭,它通知接收方數據已經到達了,這就給了接收方響應、接收和緩存數據比特的時間;在傳輸結束時,一個停止位表示該次傳輸信息的終止。按照慣例,空閑(沒有傳送數據)的線路實際攜帶着一個代表二進制1的信號,異步傳輸的開始位使信號變成0,其他的比特位使信號隨傳輸的數據信息而變化。最后,停止位使信號重新變回1,該信號一直保持到下一個開始位到達。例如在鍵盤上數字“1”,按照8比特位的擴展ASCII編碼,將發送“00110001”,同時需要在8比特位的前面加一個起始位,后面一個停止位。
  異步傳輸的實現比較容易,由於每個信息都加上了“同步”信息,因此計時的漂移不會產生大的積累,但卻產生了較多的開銷。在上面的例子,每8個比特要多傳送兩個比特,總的傳輸負載就增加25%。對於數據傳輸量很小的低速設備來說問題不大,但對於那些數據傳輸量很大的高速設備來說,25%的負載增值就相當嚴重了。因此,異步傳輸常用於低速設備。
   同步傳輸和異步傳輸區別:
  同步傳輸方式中發送方和接收方的時鍾是統一的、字符與字符間的傳輸是同步無間隔的。
  異步傳輸方式並不要求發送方和接收方的時鍾完全一樣,字符與字符間的傳輸是異步的。
  同步與異步傳輸的區別
  1,異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。
  2,異步傳輸的單位是字符而同步傳輸的單位是幀。
  3,異步傳輸通過字符起止的開始和停止碼抓住再同步的機會,而同步傳輸則是以數據中抽取同步信息。
  4,異步傳輸對時序的要求較低,同步傳輸往往通過特定的時鍾線路協調時序。
  5,異步傳輸相對於同步傳輸效率較低。
  簡單一點說,
  同步傳輸就是,數據沒有被對方確認收到則調用傳輸的函數就不返回。
  接收時,如果對方沒有發送數據,則你的線程就一直等待,直到有數據了才返回,可以繼續執行其他指令
  異步傳輸就是,你調用一個函數發送數據,馬上返回,你可以繼續處理其他事,
  接收時,對方的有數據來,你會接收到一個消息,或者你的相關接收函數會被調用。
  形象點說:
  異步傳輸: 你傳輸吧,我去做我的事了,傳輸完了告訴我一聲

  同步傳輸: 你現在傳輸,我要親眼看你傳輸完成,才去做別的事

區別

在網絡通信過程中,通信雙方要交換數據,需要高度的協同工作。為了正確的解釋信號,接收方必須確切地知道信號應當何時接收和處理,因此定時是至關重要的。在計算機網絡中,定時的因素稱為位同步。同步是要接收方按照發送方發送的每個位的起止時刻和速率來接收數據,否則會產生誤差。通常可以采用同步或異步的傳輸方式對位進行同步處理。

1. 異步傳輸(Asynchronous Transmission): 異步傳輸將比特分成小組進行傳送,小組可以是8位的1個字符或更長。發送方可以在任何時刻發送這些比特組,而接收方從不知道它們會在什么時候到達。一個常見的例子是計算機鍵盤與主機的通信。按下一個字母鍵、數字鍵或特殊字符鍵,就發送一個8比特位的ASCII代碼。鍵盤可以在任何時刻發送代碼,這取決於用戶的輸入速度,內部的硬件必須能夠在任何時刻接收一個鍵入的字符。

異步傳輸存在一個潛在的問題,即接收方並不知道數據會在什么時候到達。在它檢測到數據並做出響應之前,第一個比特已經過去了。這就像有人出乎意料地從后面走上來跟你說話,而你沒來得及反應過來,漏掉了最前面的幾個詞。因此,每次異步傳輸的信息都以一個起始位開頭,它通知接收方數據已經到達了,這就給了接收方響應、接收和緩存數據比特的時間;在傳輸結束時,一個停止位表示該次傳輸信息的終止。按照慣例,空閑(沒有傳送數據)的線路實際攜帶着一個代表二進制1的信號,異步傳輸的開始位使信號變成0,其他的比特位使信號隨傳輸的數據信息而變化。最后,停止位使信號重新變回1,該信號一直保持到下一個開始位到達。例如在鍵盤上數字“1”,按照8比特位的擴展ASCII編碼,將發送“00110001”,同時需要在8比特位的前面加一個起始位,后面一個停止位。

異步傳輸的實現比較容易,由於每個信息都加上了“同步”信息,因此計時的漂移不會產生大的積累,但卻產生了較多的開銷。在上面的例子,每8個比特要多傳送兩個比特,總的傳輸負載就增加25%。對於數據傳輸量很小的低速設備來說問題不大,但對於那些數據傳輸量很大的高速設備來說,25%的負載增值就相當嚴重了。因此,異步傳輸常用於低速設備。

2. 同步傳輸(Synchronous Transmission):同步傳輸的比特分組要大得多。它不是獨立地發送每個字符,每個字符都有自己的開始位和停止位,而是把它們組合起來一起發送。我們將這些組合稱為數據幀,或簡稱為幀。

數據幀的第一部分包含一組同步字符,它是一個獨特的比特組合,類似於前面提到的起始位,用於通知接收方一個幀已經到達,但它同時還能確保接收方的采樣速度和比特的到達速度保持一致,使收發雙方進入同步。

幀的最后一部分是一個幀結束標記。與同步字符一樣,它也是一個獨特的比特串,類似於前面提到的停止位,用於表示在下一幀開始之前沒有別的即將到達的數據了。

同步傳輸通常要比異步傳輸快速得多。接收方不必對每個字符進行開始和停止的操作。一旦檢測到幀同步字符,它就在接下來的數據到達時接收它們。另外,同步傳輸的開銷也比較少。例如,一個典型的幀可能有500字節(即4000比特)的數據,其中可能只包含100比特的開銷。這時,增加的比特位使傳輸的比特總數增加2.5%,這與異步傳輸中25 %的增值要小得多。隨着數據幀中實際數據比特位的增加,開銷比特所占的百分比將相應地減少。但是,數據比特位越長,緩存數據所需要的緩沖區也越大,這就限制了一個幀的大小。另外,幀越大,它占據傳輸媒體的連續時間也越長。在極端的情況下,這將導致其他用戶等得太久。


同步傳輸方式中發送方和接收方的時鍾是統一的、字符與字符間的傳輸是同步無間隔的。

異步傳輸方式並不要求發送方和接收方的時鍾完全一樣,字符與字符間的傳輸是異步的。

同步與異步傳輸的區別

1,異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。

2,異步傳輸的單位是字符而同步傳輸的單位是楨。

3,異步傳輸通過字符起止的開始和停止碼抓住再同步的機會,而同步傳輸則是以數據中抽取同步信息。

4,異步傳輸對時序的要求較低,同步傳輸往往通過特定的時鍾線路協調時序。

5,異步傳輸相對於同步傳輸效率較低。

串行接口

微型計算機主機與外部設備的連接,基本上使用了兩類接口;串行接口與並行接口。 並行接口是指數據的各位同時進行傳送,其特點是傳輸速度快,但當傳輸距離較遠、位數又多時,導致了通信線路復雜且成本提高。串行通信是指數據一位位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信,並可以利用電話線,從而大大降低了成本,特別適用於遠距離通信,但傳送速度較慢。 串行通信本身又分為異步通信與同步通信兩種。 串行通信線路上傳送的是數字信號,表示傳送數字信號能力的指標為數據速率(Data Rate),其單位為bps(bit persecond),即每秒鍾傳送的二進制位數。 串行接口標准: 目前普遍采用的一種串行接口標准是RS-232-C標准。RS-232-C接口標准采用25個引腳的連接器(D型插座)。RS-232-C規定有25根連線。

並行接口

采用並行傳送方式在微型計算機與外部設備之間進行數據傳送的接口叫並行接口,它有2個主要特點;一是同時並行傳送的二進位數就是數據寬度;二是在計算機與外設之間采用應答式的聯絡信號來協調雙方的數據傳送操作,這種聯絡信號又稱為握手信號。
一、簡單的並行接口 簡單的並行接口分0線握手並行接口、1線握手並行接口和2線握手並行接口等多種。 1、0線握手並行接口 所謂0線握手(連絡),即接口電路中不含協調數據傳送的連絡信號,這是並行接口的最簡形式,它又分輸入並行接口和輸出並行接口以及輸入/輸出雙向並行接口3種形式。 0線握手輸入接口 在輸入量比較穩定的情況下(輸入的狀態信息在一個的時間內不改變,如開關量輸入),可采用三態門直接讀取。 0線握手輸出接口 當輸出數字量無需鎖存時,可采用三態門直接輸出。 0線雙向輸入/輸出接口 當外設與CPU之間需要利用數據總線進行雙向傳送信息時,I/O設備即能發送信息,又能接收信息。
2、1線握手並行接口 1線握手並行接口是在0線握手並行接口的基礎上,增加了一條握手信號線。 1線握手方式總是假設發送方式所發送的數據已經就緒,接收方可以接收。
二、可編程並行接口 可編程並行接口芯片種類較多,Intel公司的8255A(PPI),Motorola公司的MC6820(PIA)和Zilog公司的Z80-PIO 都屬於這一類器件。

硬盤中的並行,串行

串行的是SATA接口,並行的是IDE接口
今日談隨着技術的成熟,越來越多的主板和硬盤都開始支持SATA(串行ATA),SATA接口逐漸有取代傳統的PATA(並行ATA)的趨勢。

那么SATA和PATA在傳輸模式上有何區別,SATA相對PATA又有何優勢呢?這就正是本文需要討論的話題。

何謂並行ATA

ATA其實是IDE設備的接口標准,大部分硬盤、光驅、軟驅等等都使用的是ATA接口。譬如現在絕大部分的朋友用的都是並行ATA接口的硬盤,應該對它80針排線的接口是再熟悉不過了吧?平常我們說到硬盤接口,就不得不提到什么Ultra-ATA/100、Ultra-ATA/133,這表示什么呢?這告訴我們該硬盤接口的最大傳輸速率為100MB/s和133MB/s,且硬盤是以並行的方式進行數據傳輸,所以我們也把這類硬盤稱為並行ATA。

何謂串行ATA

串行ATA全稱是Serial ATA,它是一種新的接口標准。與並行ATA的主要不同就在於它的傳輸方式。它和並行傳輸不同,它只有兩對數據線,采用點對點傳輸,以比並行傳輸更高的速度將數據分組傳輸。現在的串行ATA接口傳輸速率為150MB/s,而且這個值將會迅速增長。

串行ATA和並行ATA傳輸的區別

舉個比較誇張的例子,A、B兩支隊伍在比賽搬運包裹,A代表並行ATA,B代表串行ATA。

比賽開始,A派出了40個人用人力搬運包裹,而B只派出去了一輛貨車來搬運。在一個來回里他們搬運的包裹數量都相同,大家可以很清楚最后的結果,當然是用貨車搬運的B隊先把包裹運完,因為貨車的速度比人步行的速度快得多多了。同樣,串行傳輸比並行傳輸的速率高就類似這個道理。

回到現實中來,現在的並行ATA接口使用的是16位的雙向總線,在1個數據傳輸周期內可以傳輸4個字節的數據;而串行ATA使用的8位總線,每個時鍾周期能傳送1個字節。

這兩種傳輸方式除了在每個時鍾周期內傳輸速度不一樣之外,在傳輸的模式上也有根本的區別,串行ATA數據是一個接着一個數據包進行傳輸,而並行ATA則是一次同時傳送數個數據包,雖然表面上一個周期內並行ATA傳送的數據更多,但是我們不要忘了,串行ATA的時鍾頻率要比並行的時鍾頻率高很多,也就是說,單位時間內,進行數據傳輸的周期數目更多,所以串行ATA的傳輸率高於並行ATA的傳輸率,並且未來還有更大的提升空間。

為什么我們要采用串行ATA接口?

這個回答很簡單,當然是為了獲得更高的數據傳輸率。隨着當前設備需求的數據傳輸率越來越高,接口的工作頻率也越來越高,並行ATA接口逐漸暴露出一些設計上的“硬傷”,其中最致命的就是並行線路的信號干擾。由於傳統並行ATA采用並行的總線傳輸數據,必須要求各個線路上數據同步,如果數據不能同步,就會出現反復讀取數據,導致性能的下降,甚至導致讀取數據不穩定。

而采用排線設計的數據線,正是數據讀取無法更快的“罪魁禍首”。由於並排的高速信號在傳輸時,會在每條電纜的周圍產生微弱的電磁場,進而影響到其它數據線中的數據傳遞,還會因為線纜的長度和電壓的變化而不斷變化,隨着總線頻率的提升,磁場的強度也越來越大,信號干擾的影響也越來越明顯。

從理論上說串行傳輸的工作頻率可以無限提高,串行ATA就是通過提高工作頻率來提升接口傳輸速率的。因此串行ATA可以實現更高的傳輸速率,而並行ATA在沒有有效地解決信號串擾問題之前,則很難達到這樣高的傳輸速率。

並行ATA接口在總線頻率方面受到其設計的制約,並不能一味地提升,而隨着對數據傳輸率的要求越來越高,目前最快的並行ATA接口ATA133的頻率為33MHz,這個幾乎已經達到了並行接口的極限,再繼續改造線路已不太現實。所以推出新的接口勢在必行。

除了傳輸率較高之外,SATA還有哪些優點呢?

1.數據更可靠

在校驗方面,並行ATA總線只是簡單的CRC校驗,一旦接收方發現數據傳輸出現問題,就會自行將這些數據丟棄、然后要求重發,如果數據信號相互干擾過大,就會嚴重影響硬盤的性能。

而串行ATA既對命令進行CRC校驗,也對數據分組進行CRC校驗,以此提高總線的可靠性。

2.連線更簡單

在數據線方面,並行ATA采用80針的排線,串行ATA由於采用點對點方式傳輸數據,所以只需要4條線路即可完成發送和接收功能,加上另外的三條地線,一共只需要7條的物理連線就可滿足數據傳輸的需要。由於傳輸數據線較少,使得SATA在物理線路的電氣性能方面的干擾大大減小,這也保證了未來磁盤傳輸率進一步的提升。

和並行ATA相比,串行ATA的數據線更細小,這也使得機箱內部的連線比較容易整理,有助於機箱內部空氣的流通,使得機箱內部的散熱更好。同樣,串行ATA還有采用非排針腳設計的接口和支持熱插拔功能等優點。

串行ATA推出之后,並行ATA還會存在嗎?

總的說來,串行ATA的優勢是很明顯的。當然,目前還有一些相對比較低速的設備在使用並行ATA,如光驅、刻錄機等設備,並行ATA的傳輸率已經可以滿足的需要,所以,並行和串行會在很長一段時間內並存。當然,串行ATA支持所有的ATA設備,也可支持光驅等設備,但是串行ATA目前會先運用在硬盤上,未來將會支持更多的存儲設備。

並行傳輸:
來舉一個例子,有8個數字從1到8,需要傳輸到對方。此時我們可以與對方連接8條線,每條線傳輸1個字符,這就是並行傳輸。

串行傳輸:
還是上面的例子,如果只用一條線來連接到對方,則我們一次在這條線上發送8個數字,需要發送8次才能將數字全部傳送到對方。

串行傳輸在效率上,顯然比並行傳輸低得多。

但是,並行傳輸要求通信雙方之間的距離足夠短。因為如果距離很長,那么這8條線上的數字因為導線電阻不均衡以及其他各種原因的影響,最終到達對方的速度就會顯現出差異,從而造成接收方必須等8條線上的所有數字都到達之后,才能發起下一輪傳送。並行傳輸應用到長距離的連接上就無優點可言了。首先,在長距離上使用多條線路要比使用一條單獨線路昂貴;其次,長距離的傳輸要求較粗的導線,以便降低信號的衰減,這時要把它們捆到一條單獨電纜里相當困難。IDE硬盤所使用的40或者80芯電纜就是典型的並行傳輸。40芯中有32芯是數據線,其他8芯是承載其他控制信號用的。所以,這種接口一次可以同時傳輸32bit的數據,也就是4字節。

串行也有串行的優勢,就是憑借這種優勢使得硬盤的外部接口已經徹底被串行傳輸所占領。USB接口、IEEE1394接口和COM接口,這些都是串行傳輸的計算機外部接口。並行傳輸表面看起來比串行傳輸效率要高很多倍,但是並行傳輸有不可逾越的技術困難,那就是它的傳輸頻率不能太高。由於在電路高速震盪的時候,數據線之間會產生很大的頻率干擾,造成數據出錯,所以必須增加屏蔽線。即使加了屏蔽線,也不能保證屏蔽掉更高的頻率干擾。所以並行傳輸效率高但是速度慢。而串行傳輸則剛好相反,效率是最低的,每次只傳輸一位,但是它的速度非常高,現在已經可以達到10Gb/s的傳輸速率,但傳輸導線不能太多。

這樣算來,串行傳輸反而比並行傳輸的總體速率更快。串行傳輸不僅僅用於遠距離通信,現在就連PCI接口都轉向了串行傳輸方式。PCIE接口就是典型的串行傳輸方式,其單條線路傳輸速率高達2.5Gb/s,還可以在每個接口上將多條線路並行,從而將速率翻倍,比如PCIE最高可達16X,也就是說將16條2.5Gb/s的線路並行連接到對方。這仿佛又回到了並行時代,但是也只有在短距離傳輸上,比如主板上的各個部件之間,才能承受如此高速的並行連接,遠距離傳輸是達不到的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM