חיבורי כונן קשיח SATA מהירים יותר מחיבורי כונן קשיח PATA ישנים יותר ואותו דבר ניתן לומר לגבי תקני כבלים חיצוניים, אך זה נגד אינטואיטיבי: מדוע השידור המקביל לא יהיה מהיר יותר?
מושב השאלות והתשובות של היום מגיע אלינו באדיבות SuperUser - חלוקה של Stack Exchange, קיבוץ מונחה קהילה של אתרי שאלות ותשובות.
השאלה
קורא SuperUser Modest סקרן לגבי קצב העברת הנתונים של חיבורים מקבילים וטורי:
באופן אינטואיטיבי, הייתם חושבים כי העברת נתונים מקבילה צריכה להיות מהירה יותר מהעברת נתונים סדרתיים; במקביל אתה מעביר סיביות רבות בו זמנית, ואילו באופן סדרתי אתה עושה ביט אחד בכל פעם.
אז מה הופך את ממשקי SATA למהירים יותר ממכשירי PATA, PCI-e למהירים יותר מ- PCI, ויציאות טוריות מהירות יותר מקבילות?
אמנם קל ליפול בהנמקה ש- SATA חדש יותר מ- PATA, אך חייב להיות מנגנון קונקרטי יותר בעבודה מאשר רק גיל.
התשובה
תורם SuperUser Mpy מציע קצת תובנה לגבי אופי סוגי השידור:
אינך יכול לנסח זאת כך.
שידור סדרתי הוא איטי יותר מאשר שידור מקביל בהתחשב ב- תדר אות זהה . עם שידור מקביל ניתן להעביר מילה אחת לכל מחזור (למשל 1 בת = 8 סיביות) אך עם שידור סדרתי רק חלק ממנה (למשל סיבית אחת).
הסיבה שהתקנים המודרניים משתמשים בהעברה סדרתית היא הבאה:
- אינך יכול להגדיל את תדר האות עבור שידור מקביל ללא הגבלה, מכיוון שלפי התכנון כל האותות מהמשדר צריכים להגיע למקלט בשעה אותו זמן . לא ניתן להבטיח זאת בתדרים גבוהים, שכן אינך יכול להבטיח כי ה- זמן מעבר אות שווה לכל קווי האות (חשבו על נתיבים שונים בלוח הראשי). ככל שהתדירות גבוהה יותר, כך יש הבדל זעיר יותר. מכאן שהמקלט צריך להמתין עד שכל קווי האות מסודרים - ברור שהמתנה מורידה את קצב ההעברה.
- נקודה טובה נוספת (מאת הפוסט הזה ) הוא שצריך לשקול קריאת שמע עם קווי איתות מקבילים. ככל שהתדירות גבוהה יותר, כך הולכת ומצטברת את מעבר הצלבות ואיתה כך ההסתברות למילה פגומה והצורך להעביר אותה מחדש. [1]
לכן, גם אם אתה מעביר פחות נתונים לכל מחזור עם שידור סדרתי, אתה יכול ללכת לתדרים גבוהים בהרבה, מה שמביא לקצב העברה נטו גבוה יותר.
[1] זה גם מסביר מדוע כבלים של UDMA (ATA מקביל עם מהירות העברה מוגברת) היה בעל חוטים רבים פי שניים מסיכות. כל חוט שני הושתק על מנת להפחית את הצליבה.
סקוט צ'מברליין מהדהד את תשובתו של מייפ ומרחיב את כלכלת העיצוב:
הבעיה היא סנכרון.
כשאתם שולחים במקביל עליכם למדוד את כל השורות באותו הרגע בדיוק, מכיוון שאתה הולך מהר יותר גודל החלון לאותו רגע הולך וקטן, בסופו של דבר הוא יכול להיות כל כך קטן שחלק מהחוטים עדיין עשויים להתייצב בעוד שאחרים הסתיימו לפני שנגמר לך הזמן.
על ידי שליחת סדרתי אתה כבר לא צריך לדאוג שכל הקווים יתייצבו, רק שורה אחת. וזה יותר חסכוני לגרום לקו אחד להתייצב פי 10 מהר יותר מאשר להוסיף 10 קווים באותה מהירות.
כמה דברים כמו PCI Express עושים את המיטב משני העולמות, הם עושים סט מקביל של חיבורים טוריים (ליציאת ה- 16x בלוח האם שלך יש 16 חיבורים טוריים). על ידי כך שכל שורה לא צריכה להיות מסונכרנת בצורה מושלמת עם הקווים האחרים, כל עוד הבקר בקצה השני יכול לסדר מחדש את "חבילות" הנתונים כאשר הם נכנסים לפי הסדר הנכון.
ה כיצד פועל חומר בדף PCI-Express עושה בירור טוב מאוד לעומק כיצד PCI Express בסידרה יכול להיות מהיר יותר מאשר PCI או PCI-X במקביל.
גרסת TL; DR: קל יותר לגרום לחיבור יחיד לעבור פי 16 מהר יותר מ- 8 חיבורים לעבור פי 2 מהר יותר לאחר שתגיע לתדרים גבוהים מאוד.
יש לך מה להוסיף להסבר? נשמע בתגובות. רוצה לקרוא תשובות נוספות ממשתמשי Stack Exchange אחרים המתמצאים בטכנולוגיה? עיין כאן בשרשור הדיון המלא .