Tại sao truyền dữ liệu nối tiếp nhanh hơn song song?


133

Theo trực giác, bạn sẽ nghĩ rằng truyền dữ liệu song song nên nhanh hơn truyền dữ liệu nối tiếp; song song, bạn đang chuyển nhiều bit cùng một lúc, trong khi nối tiếp bạn đang thực hiện từng bit một.

Vậy điều gì làm cho giao diện SATA nhanh hơn PATA, thiết bị PCI-e nhanh hơn PCI và cổng nối tiếp nhanh hơn song song?


Có lẽ nó được, nhưng nếu như vậy, howcome tôi thấy tất cả những intel.com/content/www/us/en/chipsets/performance-chipsets/... nó nói nhiều làn PCIe, và tôi nhìn lên FDI trên wikipedia và nó nói " 2 liên kết / kênh / ống tần số cố định 4 bit độc lập "và đàm thoại DMI của 4 liên kết. (đã thêm- câu trả lời của Scott có thể phần nào che đậy điều đó)
barlop

2
Tất cả sôi sục xuống tốc độ đồng hồ.
Daniel R Hicks

36
Ba câu trả lời hiện tại không đề cập đến kinh tế, tức là chi phí . Nó chỉ đơn giản là rẻ hơn để làm một giao diện nối tiếp rất nhanh so với giao diện song song rất nhanh. Đối với các đường truyền, một cáp nối tiếp chỉ sử dụng một vài dây sẽ rẻ hơn cáp song song sẽ khó khăn và tốn kém để che chắn.
mùn cưa

13
Quay trở lại thời của các kết nối DB25DB9 , bạn đã may mắn đẩy được 115 kbit / s qua nối tiếp trong khi song song giúp bạn đạt được 12 Mbit / s với tám chân dữ liệu song song.
một CVn

Câu trả lời:


145

Bạn không thể xây dựng nó theo cách này.

Truyền nối tiếp chậm hơn truyền song song với cùng tần số tín hiệu . Với truyền song song, bạn có thể chuyển một từ trong mỗi chu kỳ (ví dụ 1 byte = 8 bit) nhưng với truyền truyền nối tiếp chỉ một phần của nó (ví dụ 1 bit).

Lý do các thiết bị hiện đại sử dụng truyền dẫn nối tiếp là như sau:

  • Bạn không thể tăng tần số tín hiệu cho truyền song song mà không giới hạn, bởi vì, theo thiết kế, tất cả các tín hiệu từ máy phát cần đến máy thu cùng lúc . Điều này không thể được đảm bảo cho tần số cao, vì bạn không thể đảm bảo rằng thời gian truyền tín hiệu bằng nhau cho tất cả các đường tín hiệu (nghĩ về các đường dẫn khác nhau trên bo mạch chính). Tần số càng cao, sự khác biệt càng nhỏ. Do đó, người nhận phải đợi cho đến khi tất cả các đường tín hiệu được giải quyết - rõ ràng, chờ đợi làm giảm tốc độ truyền.

  • Một điểm tốt khác (từ bài đăng này ) là người ta cần xem xét nhiễu xuyên âm với các đường tín hiệu song song. Tần số càng cao, nhiễu xuyên âm càng rõ và với nó, xác suất của từ bị hỏng càng cao và nhu cầu truyền lại từ đó càng cao. 1

Vì vậy, ngay cả khi bạn truyền ít dữ liệu hơn trong mỗi chu kỳ bằng truyền nối tiếp, bạn có thể chuyển đến tần số cao hơn nhiều dẫn đến tốc độ truyền ròng cao hơn.


1 Điều này cũng giải thích tại sao UDMA-Cáp (Parallel ATA với tốc độ truyền tăng) có số dây gấp đôi so với chân. Mỗi dây thứ hai được nối đất để giảm nhiễu xuyên âm.


9
Người nhận không phải đợi tất cả các dòng giải quyết cùng một lúc - ngày nay truyền song song nhanh liên quan đến việc đo và sau đó bù cho độ trễ đến trên mỗi dây riêng biệt . Điều này thậm chí giữ cho các liên kết ngắn trên bo mạch như CPU ​​<-> DRAM! Điều này trở nên khả thi bằng cách áp dụng một số kỹ thuật nối tiếp như đồng hồ nhúng (ví dụ mã hóa 8b / 10b) và / hoặc trình tự đào tạo.
Beni Cherniavsky-Paskin

Công phu của bạn mâu thuẫn với tuyên bố của bạn. Bạn bắt đầu nói rằng nối tiếp chậm hơn và giải thích tại sao nó nhanh hơn. Tôi nghĩ rằng đó là nguồn gốc của sự nhầm lẫn và tự hỏi làm thế nào nó có thể trả lời.
Val

11
@Val Bạn không đọc toàn bộ câu trả lời. Một xe buýt di chuyển nhiều người hơn một chiếc xe khi họ đi cùng tốc độ - nhưng vì công trình vật lý bằng cách nào, những chiếc xe có thể đi con đường nhanh hơn so với một chiếc xe buýt, vì vậy nó là nhanh hơn để di chuyển người bằng cách sử dụng xe hơn xe buýt. Điều tương tự cũng xảy ra với các liên kết dữ liệu: ở cùng tốc độ, cáp song song di chuyển nhiều dữ liệu hơn cáp nối tiếp; tuy nhiên, chúng ta có thể đẩy cáp nối tiếp hoạt động nhanh hơn nhiều so với cáp song song. Nếu chúng ta cố gắng tăng tốc cáp song song, vật lý khiến dữ liệu trở thành rác.
Darth Android

1
Trong thực tế tôi thấy lộn ngược. Đó là vận tải hành khách (công cộng) có lưu lượng cao hơn, bởi vì bạn không vận chuyển ô tô với mọi người, mặc dù mọi người thích di chuyển riêng lẻ, trong ô tô song song và do đó, phát triển cơ sở hạ tầng ngoại ô rộng lớn thay vì đóng gói người vào các thành phố 3d nhỏ gọn. Tôi thấy sự bùng nổ của các bit nối tiếp như một chuyến tàu. Một cách thô bạo, việc gửi một gói rất tốn kém nhưng không quan trọng bạn gửi bao nhiêu dữ liệu cho mỗi gói. Do đó, rẻ hơn 1000 lần để gửi một đoàn tàu 1000 bit thay vì 1000 xe song song.
Val

1
@Val Đó là cách vận chuyển hoạt động, vâng, nhưng đó không phải là cách vật lý điện từ hoạt động, và không phù hợp như một sự tương tự. Không ai nói về hiệu quả ở đây, chỉ là tốc độ và thông lượng. Mặc dù một liên kết song song có thể di chuyển nhiều dữ liệu hơn trên mỗi chu kỳ đồng hồ, một liên kết nối tiếp có thể di chuyển ít dữ liệu hơn trên mỗi chu kỳ đồng hồ nhưng có quá nhiều chu kỳ xung nhịp trong cùng một khung thời gian mà nó vẫn có thông lượng cao hơn.
Darth Android

70

Vấn đề là đồng bộ hóa.

Khi bạn gửi song song, bạn phải đo tất cả các dòng tại cùng một thời điểm chính xác, khi bạn đi nhanh hơn kích thước của cửa sổ cho thời điểm đó ngày càng nhỏ hơn, cuối cùng nó có thể nhỏ đến mức một số dây vẫn có thể ổn định trong khi những người khác đã hoàn thành trước khi bạn hết thời gian

Bằng cách gửi nối tiếp, bạn không còn phải lo lắng về tất cả các dòng ổn định, chỉ một dòng. Và sẽ hiệu quả hơn về chi phí khi làm cho một dòng ổn định nhanh hơn 10 lần so với thêm 10 dòng ở cùng tốc độ.

Một số thứ như PCI Express làm tốt nhất cả hai thế giới, chúng thực hiện một bộ kết nối nối tiếp song song (cổng 16x trên bo mạch chủ của bạn có 16 kết nối nối tiếp). Bằng cách đó, mỗi dòng không cần phải đồng bộ hoàn hảo với các dòng khác, miễn là bộ điều khiển ở đầu kia có thể sắp xếp lại "gói" dữ liệu khi chúng sử dụng đúng thứ tự.

Trang How Stuff hoạt động cho PCI-Express khám phá rất sâu về cách thức PCI Express nối tiếp có thể nhanh hơn so với PCI hoặc PCI-X song song.


Phiên bản TL; DR: Dễ dàng thực hiện một kết nối nhanh hơn 16 lần so với 8 kết nối nhanh hơn 2 lần khi bạn có tần số rất cao.


1
@barlop Bạn có thể thực hiện song song trong Ethernet, nhưng nó không phổ biến lắm trong sử dụng của người tiêu dùng, thuật ngữ này được gọi là Liên kết kênh . --correction : Nó đã trở nên phổ biến trong sử dụng của người tiêu dùng, sử dụng liên kết của freq không dây. là cách 802.11n có thể nhận tốc độ lên tới 600 Mbit / s , họ sử dụng tới 4 luồng nối tiếp đồng thời.
Scott Chamberlain

1
@barlop Tôi đã cung cấp cho bạn thuật ngữ sai, Liên kết kênh là thuật ngữ chung rộng hơn, cụ thể cho Ethernet thuật ngữ chính xác cho những gì bạn đang hỏi về được gọi là tổng hợp liên kết .
Scott Chamberlain

2
Rich Seifert đã viết "Thật vậy, nhiều người gọi IEEE 802.11 là" Ethernet không dây ". Mặc dù điều này chắc chắn xảy ra khi đối mặt với bất kỳ đối số công nghệ nào (thậm chí nó không sử dụng định dạng khung giống như IEEE 802.3), tôi có thể sống với nó khi nói đối với những người mà sự khác biệt về công nghệ là không quan trọng . " <- lời anh nói. Tôi đã đọc cách đây vài năm rằng anh ấy chủ trì và chỉnh sửa Ethernet II.3 và chủ trì Ethernet II (rõ ràng là DIX Ethernet, Ethernet 10Mbps) - và tôi đọc anh ấy là "một người tham gia tích cực trong Lực lượng đặc nhiệm Gigabit Ethernet của IEEE 802.3z". Vì vậy, khá có thẩm quyền để nói 802.11 không phải là Ethernet.
barlop

1
1000BASE-T Ethernet (802.3ab, "gigabit Ethernet") sử dụng song song 4 dây.
MSalters

4
Tính kinh tế của Ethernet khác với các xe buýt như SATA - cáp rất dài và đắt tiền để thay thế, vì vậy bạn tập trung vào nâng cấp thiết bị điện tử ở cuối. Ethernet ban đầu sử dụng 1 cặp dây nhưng được chuẩn hóa trên 4 cặp cáp dự đoán việc sử dụng trong tương lai (ở thời điểm đó song song là cách tiếp cận rõ ràng để truyền nhanh hơn). Điều này hóa ra là khó khăn, do nhiễu xuyên âm, nhưng vì dây cáp đã có sẵn nên thật xấu hổ khi không sử dụng chúng. Cuối cùng, có thể thực hiện hủy bỏ nhiễu xuyên âm với xử lý DSP rất phức tạp-> D2A-> ... cáp ... -> A2D-> Xử lý DSP.
Beni Cherniavsky-Paskin

19

Song song vốn không chậm hơn, nhưng nó đưa ra những thách thức về những gì giao tiếp nối tiếp không có.

Nhưng nhiều liên kết nhanh nhất vẫn song song: Xe buýt phía trước trong máy tính của bạn thường rất song song và thường nằm trong số các liên kết nhanh nhất trong máy tính. Các kết nối sợi quang cũng có thể rất song song bằng cách mang nhiều bước sóng trên một sợi quang. Điều này là đắt tiền và do đó không phải là điển hình. Hình thức phổ biến nhất của Gigabit ethernet thực tế là 4 kênh song song của Ethernet 250Mbit trong một dây.

Thách thức rõ rệt nhất được đưa ra bởi song song là "nhiễu xuyên âm": khi dòng tín hiệu bắt đầu hoặc dừng, nó sẽ tạo ra một dòng điện nhỏ trên các dây bên cạnh nó. Tín hiệu càng nhanh, điều này càng xảy ra thường xuyên và càng khó lọc ra. Parallel IDE đã cố gắng giảm thiểu vấn đề này bằng cách nhân đôi số lượng dây trong cáp ruy băng và kết nối mọi dây khác với mặt đất. Nhưng giải pháp đó chỉ đưa bạn đến nay. Cáp dài, nếp gấp và vòng lặp, và sự gần gũi với các loại cáp ruy băng khác đều làm cho điều này trở thành một giải pháp không đáng tin cậy cho tín hiệu tốc độ rất cao.

Nhưng nếu bạn chỉ đi với một đường tín hiệu, thì bạn có thể tự do chuyển đổi nó nhanh như phần cứng của bạn sẽ cho phép. Nó cũng giải quyết các vấn đề đồng bộ tinh tế với một số tín hiệu truyền nhanh hơn các tín hiệu khác.

Về mặt lý thuyết, hai dây luôn nhanh gấp hai lần một dây, nhưng mỗi đường tín hiệu bạn thêm vào làm phức tạp hóa vật lý, có thể tốt hơn để tránh.


FSB không phải là một phần của các thiết kế CPU chính từ thời Intel Core 2, AMD đã bỏ lại nó sau vài năm trước với thiết kế AMD64. Thay vào đó, cả hai đã di chuyển bộ điều khiển bộ nhớ vào CPU và kết nối mọi thứ khác với CPU bằng các thanh nhanh / hẹp thay vì thiết kế (tương đối) rộng / chậm của một FSB.
Dan Neely

Các kỹ thuật giảm nói chuyện đã được biết đến trong nhiều thập kỷ, nhưng như đã lưu ý trong các nhận xét cho các câu hỏi mà họ đưa ra chi phí additioanl, và một số trong số đó làm cho vấn đề đồng bộ hóa trở nên tồi tệ hơn (các cặp xoắn với các tỷ lệ xoắn khác nhau có trở kháng nhẹ có nghĩa là nhẹ sự thay đổi về tốc độ truyền và ...).
dmckee

13

Truyền dữ liệu nối tiếp không nhanh hơn song song. Nó thuận tiện hơn và do đó, sự phát triển đã đi vào thực hiện giao tiếp nối tiếp bên ngoài nhanh giữa các đơn vị thiết bị. Không ai muốn đối phó với dây cáp ruy băng có từ 50 dây dẫn trở lên.

Giữa các chip trên bảng mạch, một giao thức nối tiếp như I2C chỉ cần hai dây sẽ dễ xử lý hơn nhiều so với việc định tuyến nhiều dấu vết song song.

Nhưng có rất nhiều ví dụ bên trong máy tính của bạn, nơi sử dụng song song để tăng băng thông một cách ồ ạt. Chẳng hạn, các từ không được đọc từng bit một từ bộ nhớ. Và trên thực tế, cache được nạp lại trong các khối lớn. Hiển thị raster là một ví dụ khác: truy cập song song vào nhiều ngân hàng bộ nhớ để có được các pixel nhanh hơn, song song. Bộ nhớ bandwith phụ thuộc rất nhiều vào sự song song.

Thiết bị DAC này được Tektronix gọi là "Bộ xử lý tốc độ cao 10 bit có bán trên thị trường nhanh nhất thế giới" sử dụng song song để đưa dữ liệu vào trong hơn 320 dòng, được giảm xuống còn 10 qua hai giai đoạn ghép kênh được điều khiển bởi các bộ phận khác nhau của đồng hồ 12 GHZ chính. Nếu bộ xử lý 10 bit nhanh nhất thế giới có thể được tạo bằng một dòng đầu vào nối tiếp duy nhất, thì có lẽ nó sẽ như vậy.


1
+1 để đề cập đến cáp băng 50 pin. Một trong những động lực để đi đến cáp SAS / SATA là các cáp rộng đang ảnh hưởng đến luồng không khí bên trong hộp.
jqa

11

Song song là cách rõ ràng để tăng tốc độ khi các cổng logic đủ chậm để bạn có thể sử dụng các kỹ thuật điện tương tự cho xe buýt / cáp và truyền trên chip. Nếu bạn đã bật dây nhanh như bóng bán dẫn cho phép, thì cách duy nhất để mở rộng quy mô là sử dụng nhiều dây hơn.

Theo thời gian, định luật Moore đã vượt qua các ràng buộc điện từ để việc truyền qua cáp, hoặc thậm chí là xe buýt trên tàu trở thành một nút cổ chai so với tốc độ trên chip. OTOH, sự chênh lệch tốc độ cho phép xử lý tinh vi ở hai đầu để sử dụng kênh hiệu quả hơn.

  • Khi độ trễ của propogation đạt đến thứ tự của một vài đồng hồ, bạn bắt đầu lo lắng về các hiệu ứng tương tự như phản xạ => bạn cần trở kháng phù hợp trên đường đi (đặc biệt là khó khăn cho các đầu nối) và thích dây nối điểm trên xe buýt đa điểm. Đó là lý do tại sao SCSI cần chấm dứt và đó là lý do tại sao USB cần các bộ chia thay vì các bộ chia đơn giản.

  • Ở tốc độ cao hơn, bạn có nhiều bit trong chuyến bay tại bất kỳ thời điểm nào dọc theo dây => bạn cần sử dụng các giao thức đường ống (đó là lý do tại sao các giao thức FSB của Intel trở nên phức tạp khủng khiếp; Tôi nghĩ các giao thức được đóng gói như PCIe là một phản ứng đối với sự phức tạp này).

    Một hiệu ứng khác là hình phạt nhiều chu kỳ đối với việc chuyển hướng của luồng tín hiệu, đó là lý do tại sao Firewire và SATA và PCIe sử dụng dây chuyên dụng cho mỗi hướng vượt trội hơn USB 2.0.

  • Tiếng ồn cảm ứng, còn gọi là nhiễu xuyên âm, tăng theo tần số. Bước tiến lớn nhất về tốc độ đến từ việc áp dụng tín hiệu vi sai làm giảm đáng kể nhiễu xuyên âm (về mặt toán học, trường điện tích không cân bằng giảm xuống là R ^ 2, nhưng trường lưỡng cực giảm xuống là R ^ 3).

    Tôi nghĩ rằng đây là nguyên nhân gây ra ấn tượng "nối tiếp nhanh hơn song song" - bước nhảy quá lớn đến mức bạn có thể xuống tới 1 hoặc 2 cặp vi sai và vẫn nhanh hơn cáp LPT hoặc IDE . Ngoài ra còn có một chiến thắng xuyên âm từ việc chỉ có một cặp tín hiệu trong cáp, nhưng đó là chuyện nhỏ.

  • Độ trễ của dây dẫn thay đổi (cả hai vì độ dài dây khó khớp với 90 vòng, đầu nối, v.v. và do hiệu ứng ký sinh từ các dây dẫn khác) khiến vấn đề đồng bộ hóa.

    Giải pháp là có độ trễ có thể điều chỉnh ở mọi máy thu và điều chỉnh chúng khi khởi động và / hoặc liên tục từ chính dữ liệu. Mã hóa dữ liệu để tránh các vệt 0 hoặc 1 phát sinh chi phí nhỏ nhưng có lợi ích về điện (tránh trôi DC, điều khiển phổ) và quan trọng nhất là cho phép thả hoàn toàn dây đồng hồ (không phải là vấn đề lớn trên 40 tín hiệu nhưng là một thỏa thuận lớn cho một cáp nối tiếp có 1 hoặc 2 cặp thay vì 2 hoặc 3).

Lưu ý rằng chúng ta đang ném song song vào nút cổ chai - các chip BGA ngày nay có hàng trăm hoặc hàng nghìn chân, PCB có ngày càng nhiều lớp. So sánh điều này với bộ vi điều khiển 40 chân cũ và PCB 2 lớp ...

Hầu hết các kỹ thuật trên trở nên không thể thiếu cho cả truyền song song và truyền nối tiếp. Chỉ là dây càng dài thì càng hấp dẫn để đẩy tốc độ cao hơn qua ít dây hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.