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

נוספו 9,476 בתים ,  לפני 11 שנים
העברתי לכאן את התוכן מדף עם שם לא נכון מבחינת האקדמיה ללשון עברית
(הפניה לדף אוגר הזזה)
 
(העברתי לכאן את התוכן מדף עם שם לא נכון מבחינת האקדמיה ללשון עברית)
בתחום [[מעגל אלקטרוני|מעגלים אלקטרוניים]] '''אוגר זיזה''' (אוגר הזזה) הינו שרשור של [[דלגלג|דלגלגים]] (FF - Flip Flops), בעלי שעון משותף, אשר הפלט (המוצא) של כל אחד מהם חוץ מן האחרון מחוברים לקלט (מבוא) "הנתונים" של הדלגלג הבא בתור בשרשרת, ומהווים מעגל אשר מזיז בעמדה אחת את "מערך הסיביות" החד-מימדי המאוחסן בתוכו, ''מזיז פנימה'' (סוגר התקה) את הנתונים הנוכחים בקלט ו-''מזיז החוצה'' (פותח התקה) את הסיבית האחרונה במערך, כאשר מאופשר לעשות כן בעת שינוי מצב השעון בקלט. בכלליות, '''אוגר הזזה''' יכול להיות רב-מימדי, כך שקלט ה-"כניסת נתונים" ודרגת הפלט הם בעצמם מערכי סיביות: זה ממומש בפשטות ע"י הרצה של כמה אוגרי הזזה בעלי אורך-סיביות זהה במקביל.
#הפניה [[אוגר הזזה]]
 
אוגרי הזזה יכולים להכיל קלט ופלט גם בצורה [[תקשורת מקבילית|מקבילית]] וגם בצורה [[תקשורת טורית|טורית (סדרתית)]]. אלו בדר"כ מוגדרים '''קלט-טורי, פלט-מקבילי''' (סיפו - SIPO) או בתור '''קלט-מקבילי, פלט-טורי''' (פיסו - PISO). ישנם גם סוגים בעלי קלט גם מקבילי וגם טורי, וסוגים בעלי פלט טורי ומקבילי. ישנם גם אוגרי הזזה '''דו-כיווניים''' אשר מאפשרים זיזה בשני הכיוונים: שמאל-לימין או ימין-לשמאל. הקלט הטורי והפלט האחרון של אוגר הזיזה יכולים גם להיות מחוברים יחדיו כדי ליצור '''אוגר זיזה מעגלי'''.
 
== קלט-טורי, פלט טורי (Serial-in, serial-out - SISO) ==
=== קריאה הורסת ===
אלו הסוגים הפשוטים ביותר של אוגרי זיזה. מחרוזת הנתונים מיוצגת ב-'מבוא הנתונים' (הקלט), ומוזזת ימינה דרגה אחת בכל פעם ש-'מבוא השעון' עובר למצב גבוה. בכל התקדמות, הסיבית השמאלית קיצונית (כלומר 'מבוא הנתונים') מוזזת לתוך הפלט של ה[[דלגלג]] הראשון. הסיבית בצד הימני קיצוני (כלומר 'מוצא הנתונים' - הפלט) מוזזת החוצה ואובדת (נהרסת).
 
{|class=wikitable style=text-align:center align=left border="1" cellpadding="2"
|-
| 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) לגבוה.
 
סידור זה מבצע ''קריאה הורסת'' - כל נתון אובד (נהרס) כאשר הוא מוזז החוצה מהסיבית הימנית ביותר.
 
<br style="clear:both;" />
 
== קלט-טורי, פלט-מקבילי (Serial-in, parallel-out SIPO) ==
תצורה זו מאפשרת המרה ממצב טורי למקבילי. הנתונים נכנסים בקלט בצורה טורית (סדרתית), כפי שתואר בחלק ה-SISO, לעיל. כאשר הנתונים נקלטו, הם יכולים להיקרא החוצה בכל רגלי הפלט בעת ובעונה אחת, או שהם יכולים להיות מוזזים החוצה ולהתחלף.
 
[[Image:4-Bit SIPO Shift Register.png|frame|center|4-Bit SIPO Shift Register]]
<br style="clear:both;" />
 
== קלט-מקבילי, פלט-טורי (Parallel-in, serial-out PISO) ==
לתצורה זו יש את מבואות (קלטי) הנתונים בקווים D1 עד D4 בצורה מקבילית. כדי לכתוב את הנתונים אל האוגר, קו בקרת הכתיבה/זיזה חייב להיות מוחזק בנמוך. כדי להזיז את הנתונים, קו בקרת הכתיבת/זיזה מועבר לגבוה, והאוגרים מקבלים אות שעון. הסידור עכשיו מתנהג כאוגר הזזה PISO, עם D1 בתור מבוא הנתונים. בכל אופן, כל עוד מספר מחזורי השעון הוא לא יותר מאשר אורך מחרוזת-הנתונים, פלט הנתונים, Q, יהיה הנתונים המקביליים אשר נקראו לפי הסדר.
 
[[Image:4-Bit PISO Shift Register.png|frame|center|4-Bit PISO Shift Register]]
 
ההנפשה מטה, מציגה את רצף הכתיבה/תזוזה, כולל המצב הפנימי של אוגר הזיזה.
 
[[Image:4-Bit PISO Shift Register Seq.gif|center]]
<br style="clear:both;" />
 
==שימושים==
אחד מהשימושים הנפוצים ביותר של אוגר הזיזה הינו להמיר בין ממשק טורי ומקבילי. זה שימושי כיוון שכמה מעגלים עובדים בקבוצות של סיביות במקביל, אך ממשקים טוריים (סדרתיים) פשוטים יותר להרכבה. אוגרי זיזה יכולים לשמש כמעגלי השהייה. כמה אוגרי זיזה דו-כיווניים יכולים גם להיות מחוברים במקביל בתור מימוש [[מחסנית (מבנה נתונים)|מחסנית]].
 
אוגרי זיזה יכולים גם לשמש בתור מרחיבי דופק. בהשוואה לרבי-רטט חד-יציבים, לתזמון אין תלות בערכי הרכיבים, אך דורש שעון חיצוני, ודיוק התזמון מוגבל ע"י גרגריות השעון. דוגמא [[Ronja Twister|רונג'ה טוויסטר]] - שבו חמישה אוגרי הזזה 74164 יצרו את הליבה של לוגיקת התזמון, ([http://ronja.twibright.com/schematics/twister.png שרטוט]).
 
במחשבים המוקדמים, אוגרי הזיזה נדרשו לעיבוד נתונים: שני מספרים לחיבור אוחסנו בשני אוגרי זיזה ובתזמון שעון הועברו אל ה-[[יחידה אריתמטית-לוגית]] כאשר התוצאה הוזנה בחזרה אל המבואות של אחד מאוגרי הזיזה (הצובר) אשר היה ארוך בסיבית אחת יותר, כיוון שחיבור בינארי יכול רק להחזיר תוצאה באותו האורך או באורך של סיבית אחת יותר.
 
הרבה שפות מחשב כוללות פקודות 'הזזה ימינה' ו-'הזזה שמאלה' של אוגרים, אשר מחלקות או מכפילות בשתיים בצורה יעילה על כל תזוזת מיקום.
 
אוגרי הזזה גדולים מאוד של קלט-טורי פלט-טורי (בגודל של אלפי סיביות) שומשו באופן דומה ב-[[delay line memory|זכרון קו השהייה]] בכמה התקנים שנבנו בשנות השבעים המוקדמות.
 
==היסטוריה==
אחת הדוגמאות הידועות של אוגר זיזה הייתה ב-[[קולוסוס (מחשב)|מחשב הקולוסוס]], מכונת שבירת קודים משנות הארבעים. זה היה התקן בן חמש דרגות, אשר נבנה מ-[[שפופרת ריק|שפופרות ריק]] ו-[[תירטרון|תירטרונים]] ([[טריודה]]).
 
==ראה גם==
*[[LFSR (Linear Feedback Shift Register)]]
*[[מונה טבעת]]
*[[Serial Peripheral Interface Bus]]
 
==קישורים חיצוניים==
* [http://www.allaboutcircuits.com/vol_4/chpt_12/index.html Shift Registers] at AllAboutCircuits.com
 
[[קטגוריה:מעבדים]]
[[קטגוריה:זיכרון מחשב]]
 
[[en:Shift register]]
[[ar:مسجل الإزاحة]]
[[ca:Registre a decalatge]]
[[cs:Posuvný registr]]
[[da:Skifteregister (digital elektronik)]]
[[de:Schieberegister]]
[[es:Registro electrónico]]
[[eu:Desplazamendu-erregistro]]
[[fr:Registre à décalage]]
[[it:Registro a scorrimento]]
[[ja:シフトレジスタ]]
[[ko:시프트 레지스터]]
[[nl:Schuifregister]]
[[pl:Rejestr przesuwny (elektronika)]]
[[pt:Registrador de deslocamento]]
[[sv:Skiftregister]]
[[th:ชิฟต์รีจิสเตอร์]]
23

עריכות