אוגר זיזה – הבדלי גרסאות

נוספו 57 בתים ,  לפני 4 שנים
מ
אין תקציר עריכה
מ
מ
{{עריכה|נושא=מדעי הטבע}}
בתחום [[מעגל אלקטרוני|מעגלים אלקטרוניים]] '''אוגר זיזה''' (או '''אוגר הזזה''', מ[[אנגלית]]: '''Shift register''') הוא [[אוגר (מחשבים)|אוגר]] המיושם על ידי שרשור של [[דלגלג]]ים (FF - Flip Flops), בעלי [[אות שעון]] משותף, אשר הפלט (המוצא) של כל אחד מהדלגלגים, חוץ מהאחרון, מחובר לקלט (מבוא) של הדלגלג הבא בתור בשרשרת, ומהווים מעגל אשר מזיז בעמדה אחת את "מערך הסיביות" החד-ממדיהחד־ממדי המאוחסן בתוכו, '''מזיז פנימה''' (סוגר התקה) את הנתונים הנוכחים בקלט ו'''מזיז החוצה''' (פותח התקה) את הסיבית האחרונה במערך, כאשר מאופשר לעשות כן בעת שינוי מצב השעון בקלט. בכלליות, '''אוגר הזזה''' יכול להיות רב-ממדירב־ממדי, כך שקלט "כניסת הנתונים" ודרגת הפלט הם בעצמם מערכי סיביות: זה ממומש בפשטות על ידי הרצה של מספר אוגרי הזזה בעלי אורך-סיביותאורך־סיביות זהה במקביל.
 
אוגרי הזזה יכולים להכיל קלט ופלט גם בצורה [[תקשורת מקבילית|מקבילית]] וגם בצורה [[תקשורת טורית|טורית]] (סדרתית). אלו בדרך כלל מוגדרים '''קלט-טוריקלט־טורי, פלט-מקביליפלט־מקבילי''' (סיפו - SIPO) או בתור '''קלט-מקביליקלט־מקבילי, פלט-טוריפלט־טורי''' (פיסו - PISO). ישנם גם סוגים בעלי קלט מקבילי וגם טורי, וסוגים בעלי פלט טורי ומקבילי. ישנם גם אוגרי הזזה '''דו-כיוונייםדו־כיווניים''' אשר מאפשרים זיזה בשני הכיוונים: שמאל-לימיןשמאל־לימין או ימין-לשמאלימין־לשמאל. הקלט הטורי והפלט האחרון של אוגר הזיזה יכולים גם להיות מחוברים יחדיו כדי ליצור '''אוגר זיזה מעגלי'''.
 
== קלט-טוריקלט־טורי, פלט טורי (Serial-in, serial-out - SISO) ==
=== קריאה הורסת ===
אלו הסוגים הפשוטים ביותר של אוגרי זיזה. מחרוזת הנתונים מיוצגת במבוא הנתונים (הקלט), ומוזזת ימינה דרגה אחת בכל פעם שמבוא השעון עובר למצב גבוה. בכל התקדמות, הסיבית השמאלית קיצונית (כלומר "מבוא הנתונים") מוזזת לתוך הפלט של ה[[דלגלג]] הראשון. הסיבית בצד הימני קיצוני (כלומר "מוצא הנתונים" - הפלט) מוזזת החוצה ואובדת (נהרסת).
|}
 
הנתונים מאוחסנים ב[[דלגלג]]ים לאחר כל שינוי, בפלט ה-ה־'Q', כך שישנן ארבע 'משבצות' אחסון זמינות בסידור זה, כלומר זהו אוגר בן 4 [[סיבית|סיביות]] (חצי [[בית (מחשב)|בית]] - nibble). על-מנתעל־מנת להמחיש את רעיון תבנית ההזזה, צריך לדמיין שהאוגר מכיל 0000 (כך שכל משבצות האחסון ריקות). כאשר 'מבוא הנתונים' מייצר 1,0,1,1,0,0,0,0 (בסדר זה, עם דופק ב'מבוא השעון' בכל פעם. זה נקרא תזמון שעון) לאוגר, זוהי התוצאה. העמודה הימנית מתואמת לרגל הפלט השמאלית ביותר של הדלגלג, וכן הלאה.
 
כך שהפלט הטורי של כל האוגר הוא 10110000. כפי שניתן לראות, אם היינו ממשיכים להכניס נתונים, היינו מקבלים בדיוק את מה שנכנס, אך מוזז על ידי ארבעה מחזורים של 'מבוא השעון'. סידור זה הוא שווה ערך בחומרה ל[[מערך (מבנה נתונים)|מערך]]. כמו כן, בכל זמן, ניתן לאפס את כל האוגר על ידי מעבר של רגל האיפוס (R - reset) לגבוה.
{{-}}
 
== קלט-טוריקלט־טורי, פלט-מקביליפלט־מקבילי (Serial-in, parallel-out SIPO) ==
תצורה זו מאפשרת המרה ממצב טורי למקבילי. הנתונים נכנסים בקלט בצורה טורית (סדרתית), כפי שתואר בחלק ה-SISOה־SISO, לעיל. כאשר הנתונים נקלטו, הם יכולים להיקרא החוצה בכל רגלי הפלט בעת ובעונה אחת, או שהם יכולים להיות מוזזים החוצה ולהתחלף.
 
[[קובץ:4-Bit SIPO Shift Register.png|מסגרת|מרכז|אוגר זיזה מסוג SIPO בעל 4 סיביות]]
{{-}}
 
== קלט-מקביליקלט־מקבילי, פלט-טוריפלט־טורי (Parallel-in, serial-out PISO) ==
לתצורה זו יש את מבואות (קלטי) הנתונים בקווים D1 עד D4 בצורה מקבילית. כדי לכתוב את הנתונים אל האוגר, קו בקרת הכתיבה/זיזה חייב להיות מוחזק בנמוך. כדי להזיז את הנתונים, קו בקרת הכתיבת/זיזה מועבר לגבוה, והאוגרים מקבלים אות שעון. הסידור עכשיו מתנהג כאוגר הזזה PISO, עם D1 בתור מבוא הנתונים. בכל אופן, כל עוד מספר מחזורי השעון הוא לא יותר מאשר אורך מחרוזת-הנתוניםמחרוזת־הנתונים, פלט הנתונים, Q, יהיה הנתונים המקביליים אשר נקראו לפי הסדר.
 
[[קובץ:4-Bit PISO Shift Register.png|מסגרת|מרכז|אוגר זיזה מסוג PISO בעל 4 סיביות]]
 
==שימושים==
אחד מהשימושים הנפוצים ביותר של אוגר הזיזה הוא להמיר בין ממשק טורי ומקבילי. זה שימושי כיוון שכמה מעגלים עובדים בקבוצות של סיביות במקביל, אך ממשקים טוריים (סדרתיים) פשוטים יותר להרכבה. אוגרי זיזה יכולים לשמש כמעגלי השהייה. כמה אוגרי זיזה דו-כיוונייםדו־כיווניים יכולים גם להיות מחוברים במקביל בתור מימוש [[מחסנית (מבנה נתונים)|מחסנית]].
 
אוגרי זיזה יכולים גם לשמש בתור מרחיבי דופק. בהשוואה לרבי-רטטלרבי־רטט חד-יציביםחד־יציבים, לתזמון אין תלות בערכי הרכיבים, אך דורש שעון חיצוני, ודיוק התזמון מוגבל על ידי גרגריות השעון. דוגמה [[Ronja Twister|רונג'ה טוויסטר]] - שבו חמישה אוגרי הזזה 74164 יצרו את הליבה של לוגיקת התזמון, ([http://ronja.twibright.com/schematics/twister.png שרטוט]).
 
במחשבים המוקדמים, אוגרי הזיזה נדרשו לעיבוד נתונים: שני מספרים לחיבור אוחסנו בשני אוגרי זיזה ובתזמון שעון הועברו אל ה-[[יחידה אריתמטית-לוגית|יחידה אריתמטית־לוגית]] כאשר התוצאה הוזנה בחזרה אל המבואות של אחד מאוגרי הזיזה (הצובר) אשר היה ארוך בסיבית אחת יותר, כיוון שחיבור בינארי יכול רק להחזיר תוצאה באותו האורך או באורך של סיבית אחת יותר.
 
הרבה שפות מחשב כוללות פקודות 'הזזה ימינה' ו-'הזזה שמאלה' של אוגרים, אשר מחלקות או מכפילות בשתיים בצורה יעילה על כל תזוזת מיקום.
 
אוגרי הזזה גדולים מאוד של קלט-טוריקלט־טורי פלט-טוריפלט־טורי (בגודל של אלפי סיביות) שומשו באופן דומה ב-[[delay line memory|זיכרון קו השהייה]] בכמה התקנים שנבנו בשנות השבעים המוקדמות.
 
==היסטוריה==
אחת הדוגמאות הידועות של אוגר זיזה הייתה ב-[[קולוסוס (מחשב)|מחשב הקולוסוס]], מכונת שבירת קודים משנות הארבעים. זה היה התקן בן חמש דרגות, אשר נבנה מ-[[שפופרת ריק|שפופרות ריק]] ו-[[תירטרון|תירטרונים]] ([[טריודה]]).
 
==ראו גם==
<!--* [[מונה טבעת]]-->
 
* [[פעולה על סיביות#הזזת סיביות|הזזת סיביות]]
<div style="direction: ltr;">
* [[ Linear Feedback Shift Register]] (LFSR)
<!--* [[Serial Peripheral Interface Bus]]-->
</div>
*[[מונה טבעת]]
*[[פעולה על סיביות#הזזת סיביות|הזזת סיביות]]
 
==קישורים חיצוניים==