אוגר זיזה

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Gnome-edit-clear.svg ערך זה זקוק לעריכה: ייתכן שהערך סובל מפגמים טכניים כגון מיעוט קישורים פנימיים, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה.

בתחום מעגלים אלקטרוניים אוגר זיזה (או אוגר הזזה, מאנגלית: Shift register) הוא שרשור של דלגלגים (FF - Flip Flops), בעלי אות שעון משותף, אשר הפלט (המוצא) של כל אחד מהדלגלגים, חוץ מהאחרון, מחובר לקלט (מבוא) של הדלגלג הבא בתור בשרשרת, ומהווים מעגל אשר מזיז בעמדה אחת את "מערך הסיביות" החד-ממדי המאוחסן בתוכו, מזיז פנימה (סוגר התקה) את הנתונים הנוכחים בקלט ומזיז החוצה (פותח התקה) את הסיבית האחרונה במערך, כאשר מאופשר לעשות כן בעת שינוי מצב השעון בקלט. בכלליות, אוגר הזזה יכול להיות רב-ממדי, כך שקלט "כניסת הנתונים" ודרגת הפלט הם בעצמם מערכי סיביות: זה ממומש בפשטות על ידי הרצה של מספר אוגרי הזזה בעלי אורך-סיביות זהה במקביל.

אוגרי הזזה יכולים להכיל קלט ופלט גם בצורה מקבילית וגם בצורה טורית (סדרתית). אלו בדרך כלל מוגדרים קלט-טורי, פלט-מקבילי (סיפו - SIPO) או בתור קלט-מקבילי, פלט-טורי (פיסו - PISO). ישנם גם סוגים בעלי קלט מקבילי וגם טורי, וסוגים בעלי פלט טורי ומקבילי. ישנם גם אוגרי הזזה דו-כיווניים אשר מאפשרים זיזה בשני הכיוונים: שמאל-לימין או ימין-לשמאל. הקלט הטורי והפלט האחרון של אוגר הזיזה יכולים גם להיות מחוברים יחדיו כדי ליצור אוגר זיזה מעגלי.

קלט-טורי, פלט טורי (Serial-in, serial-out - SISO)[עריכת קוד מקור | עריכה]

קריאה הורסת[עריכת קוד מקור | עריכה]

אלו הסוגים הפשוטים ביותר של אוגרי זיזה. מחרוזת הנתונים מיוצגת במבוא הנתונים (הקלט), ומוזזת ימינה דרגה אחת בכל פעם שמבוא השעון עובר למצב גבוה. בכל התקדמות, הסיבית השמאלית קיצונית (כלומר "מבוא הנתונים") מוזזת לתוך הפלט של הדלגלג הראשון. הסיבית בצד הימני קיצוני (כלומר "מוצא הנתונים" - הפלט) מוזזת החוצה ואובדת (נהרסת).

0 0 0 0
1 0 0 0
0 1 0 0
1 0 1 0
1 1 0 1
0 1 1 0
0 0 1 1
0 0 0 1
0 0 0 0

הנתונים מאוחסנים בדלגלגים לאחר כל שינוי, בפלט ה-'Q', כך שישנן ארבע 'משבצות' אחסון זמינות בסידור זה, כלומר זהו אוגר בן 4 סיביות (חצי בית - nibble). על-מנת להמחיש את רעיון תבנית ההזזה, צריך לדמיין שהאוגר מכיל 0000 (כך שכל משבצות האחסון ריקות). כאשר 'מבוא הנתונים' מייצר 1,0,1,1,0,0,0,0 (בסדר זה, עם דופק ב'מבוא השעון' בכל פעם. זה נקרא תזמון שעון) לאוגר, זוהי התוצאה. העמודה הימנית מתואמת לרגל הפלט השמאלית ביותר של הדלגלג, וכן הלאה.

כך שהפלט הטורי של כל האוגר הינו 10110000. כפי שניתן לראות, אם היינו ממשיכים להכניס נתונים, היינו מקבלים בדיוק את מה שנכנס, אך מוזז על ידי ארבעה מחזורים של 'מבוא השעון'. סידור זה הוא שווה ערך בחומרה למערך. כמו כן, בכל זמן, ניתן לאפס את כל האוגר על ידי מעבר של רגל האיפוס (R - reset) לגבוה.

סידור זה מבצע קריאה הורסת - כל נתון אובד (נהרס) כאשר הוא מוזז החוצה מהסיבית הימנית ביותר.

קלט-טורי, פלט-מקבילי (Serial-in, parallel-out SIPO)[עריכת קוד מקור | עריכה]

תצורה זו מאפשרת המרה ממצב טורי למקבילי. הנתונים נכנסים בקלט בצורה טורית (סדרתית), כפי שתואר בחלק ה-SISO, לעיל. כאשר הנתונים נקלטו, הם יכולים להיקרא החוצה בכל רגלי הפלט בעת ובעונה אחת, או שהם יכולים להיות מוזזים החוצה ולהתחלף.

אוגר זיזה מסוג SIPO בעל 4 סיביות

קלט-מקבילי, פלט-טורי (Parallel-in, serial-out PISO)[עריכת קוד מקור | עריכה]

לתצורה זו יש את מבואות (קלטי) הנתונים בקווים D1 עד D4 בצורה מקבילית. כדי לכתוב את הנתונים אל האוגר, קו בקרת הכתיבה/זיזה חייב להיות מוחזק בנמוך. כדי להזיז את הנתונים, קו בקרת הכתיבת/זיזה מועבר לגבוה, והאוגרים מקבלים אות שעון. הסידור עכשיו מתנהג כאוגר הזזה PISO, עם D1 בתור מבוא הנתונים. בכל אופן, כל עוד מספר מחזורי השעון הוא לא יותר מאשר אורך מחרוזת-הנתונים, פלט הנתונים, Q, יהיה הנתונים המקביליים אשר נקראו לפי הסדר.

אוגר זיזה מסוג PISO בעל 4 סיביות

ההנפשה להלן, מציגה את רצף הכתיבה/תזוזה, כולל המצב הפנימי של אוגר הזיזה.

4-Bit PISO Shift Register Seq.gif

שימושים[עריכת קוד מקור | עריכה]

אחד מהשימושים הנפוצים ביותר של אוגר הזיזה הינו להמיר בין ממשק טורי ומקבילי. זה שימושי כיוון שכמה מעגלים עובדים בקבוצות של סיביות במקביל, אך ממשקים טוריים (סדרתיים) פשוטים יותר להרכבה. אוגרי זיזה יכולים לשמש כמעגלי השהייה. כמה אוגרי זיזה דו-כיווניים יכולים גם להיות מחוברים במקביל בתור מימוש מחסנית.

אוגרי זיזה יכולים גם לשמש בתור מרחיבי דופק. בהשוואה לרבי-רטט חד-יציבים, לתזמון אין תלות בערכי הרכיבים, אך דורש שעון חיצוני, ודיוק התזמון מוגבל על ידי גרגריות השעון. דוגמה רונג'ה טוויסטר - שבו חמישה אוגרי הזזה 74164 יצרו את הליבה של לוגיקת התזמון, (שרטוט).

במחשבים המוקדמים, אוגרי הזיזה נדרשו לעיבוד נתונים: שני מספרים לחיבור אוחסנו בשני אוגרי זיזה ובתזמון שעון הועברו אל ה-יחידה אריתמטית-לוגית כאשר התוצאה הוזנה בחזרה אל המבואות של אחד מאוגרי הזיזה (הצובר) אשר היה ארוך בסיבית אחת יותר, כיוון שחיבור בינארי יכול רק להחזיר תוצאה באותו האורך או באורך של סיבית אחת יותר.

הרבה שפות מחשב כוללות פקודות 'הזזה ימינה' ו-'הזזה שמאלה' של אוגרים, אשר מחלקות או מכפילות בשתיים בצורה יעילה על כל תזוזת מיקום.

אוגרי הזזה גדולים מאוד של קלט-טורי פלט-טורי (בגודל של אלפי סיביות) שומשו באופן דומה ב-זיכרון קו השהייה בכמה התקנים שנבנו בשנות השבעים המוקדמות.

היסטוריה[עריכת קוד מקור | עריכה]

אחת הדוגמאות הידועות של אוגר זיזה הייתה ב-מחשב הקולוסוס, מכונת שבירת קודים משנות הארבעים. זה היה התקן בן חמש דרגות, אשר נבנה מ-שפופרות ריק ו-תירטרונים (טריודה).

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]