אוגר זיזה
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים.
| ||
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים. |
בתחום מעגלים אלקטרוניים אוגר זיזה (או אוגר הזזה, מאנגלית: 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, לעיל. כאשר הנתונים נקלטו, הם יכולים להיקרא החוצה בכל רגלי הפלט בעת ובעונה אחת, או שהם יכולים להיות מוזזים החוצה ולהתחלף.
קלט־מקבילי, פלט־טורי (Parallel-in, serial-out PISO)
לתצורה זו יש את מבואות (קלטי) הנתונים בקווים D1 עד D4 בצורה מקבילית. כדי לכתוב את הנתונים אל האוגר, קו בקרת הכתיבה/זיזה חייב להיות מוחזק בנמוך. כדי להזיז את הנתונים, קו בקרת הכתיבת/זיזה מועבר לגבוה, והאוגרים מקבלים אות שעון. הסידור עכשיו מתנהג כאוגר הזזה PISO, עם D1 בתור מבוא הנתונים. בכל אופן, כל עוד מספר מחזורי השעון הוא לא יותר מאשר אורך מחרוזת־הנתונים, פלט הנתונים, Q, יהיה הנתונים המקביליים אשר נקראו לפי הסדר.
ההנפשה להלן, מציגה את רצף הכתיבה/תזוזה, כולל המצב הפנימי של אוגר הזיזה.
שימושים
אחד מהשימושים הנפוצים ביותר של אוגר הזיזה הוא להמיר בין ממשק טורי ומקבילי. זה שימושי כיוון שכמה מעגלים עובדים בקבוצות של סיביות במקביל, אך ממשקים טוריים (סדרתיים) פשוטים יותר להרכבה. אוגרי זיזה יכולים לשמש כמעגלי השהייה. כמה אוגרי זיזה דו־כיווניים יכולים גם להיות מחוברים במקביל בתור מימוש מחסנית.
אוגרי זיזה יכולים גם לשמש בתור מרחיבי דופק. בהשוואה לרבי־רטט חד־יציבים, לתזמון אין תלות בערכי הרכיבים, אך דורש שעון חיצוני, ודיוק התזמון מוגבל על ידי גרגריות השעון. דוגמה רונג'ה טוויסטר - שבו חמישה אוגרי הזזה 74164 יצרו את הליבה של לוגיקת התזמון, (שרטוט).
במחשבים המוקדמים, אוגרי הזיזה נדרשו לעיבוד נתונים: שני מספרים לחיבור אוחסנו בשני אוגרי זיזה ובתזמון שעון הועברו אל היחידה אריתמטית־לוגית כאשר התוצאה הוזנה בחזרה אל המבואות של אחד מאוגרי הזיזה (הצובר) אשר היה ארוך בסיבית אחת יותר, כיוון שחיבור בינארי יכול רק להחזיר תוצאה באותו האורך או באורך של סיבית אחת יותר.
הרבה שפות מחשב כוללות פקודות 'הזזה ימינה' ו'הזזה שמאלה' של אוגרים, אשר מחלקות או מכפילות בשתיים בצורה יעילה על כל תזוזת מיקום.
אוגרי הזזה גדולים מאד של קלט־טורי פלט־טורי (בגודל של אלפי סיביות) שומשו באופן דומה בזיכרון קו השהייה בכמה התקנים שנבנו בשנות השבעים המוקדמות.
היסטוריה
אחת הדוגמאות הידועות של אוגר זיזה הייתה במחשב הקולוסוס, מכונת שבירת קודים משנות הארבעים. זה היה התקן בן חמש דרגות, אשר נבנה משפופרות ריק ותירטרונים (טריודה).
ראו גם
קישורים חיצוניים
- Shift Registers at AllAboutCircuits.com