210 likes | 408 Views
מכונת מצבים סופית. תרגול מס' 4. מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית. מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות בא"ב פלט: סדרה אינסופית של אותיות בא"ב במחזור ה- i , מתקבלת אות הקלט I i ומשודרת אות הפלט O i
E N D
מכונת מצבים סופית תרגול מס' 4 Moshe Malka & Ben lee Volk
מכונת מצבים סופיתFinite State Machine (FSM)מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות בא"ב פלט:סדרה אינסופית של אותיות בא"ב במחזור ה-i, מתקבלת אות הקלט Ii ומשודרת אות הפלט Oi במכונה מסוג מור (Moore), נקבע ע"י במכונה מסוג מילי (Meally), נקבע ע"י מכונת מצבים מוגדרת ע"י דיאגרמת מצבים: גרף מכוון, עם סימון על הקשתות והצמתים. Moshe Malka & Ben lee Volk
דוגמה ל-FSM א"ב קלט: {A,B,C,D} א"ב פלט {X,Y,Z} A B C Out = X Out = Y Out = (IN == B)? X : Z A A A B,D B,C,D C,D Out = X מצב התחלתי יסומן כך: מכונה היא מסוג מילי אם ורק אם יש בה מצב אחד או יותר עם פלט מותנה B,C,D
מכונה מצומצמת שתי מכונות מצבים סופיות תִקרֵאנה שקולות אם עבור כל סדרת קלט הן מוציאות את אותה סדרת פלט מכונת מצבים סופית תקרא מצומצמת אם יש לה מספר מינימלי של מצבים מבין כל המכונות השקולות לה. משפט: עבור כל מכונה M, קיימת בדיוק מכונה מצומצמת אחת השקולה ל-M. Moshe Malka & Ben lee Volk
דוגמה למכונה מצומצמת 1 0 Out = 1-IN Out = 0 0 1 המכונה הבאה שקולה למכונה הנ"ל, ומכילה מספר גדול יותר של מצבים: 1 0 Out = 1-IN Out = 1-N Out = 0 0 0 1 1
דוגמא 1 לבניית מכונת מצבים - ABC • א"ב קלט: {A,B,C,D} • א"ב פלט:{X,Y,Z} • הפלט הוא Z אם "המילה האחרונה" שהתקבלה היא ABC • הפלט הוא Y אם "המילה האחרונה" שהתקבלה היא AB • הפלט הוא X בכל מקרה אחר • למשימה שתי גרסאות: • בגרסת מור, המילה האחרונה לא כוללת את אות הקלט הנוכחית. • בגרסת מילי, המילה האחרונה כוללת את אות הקלט הנוכחית. • אנו נפתור את גרסת מור.
דיאגרמת המצבים Moshe Malka & Ben lee Volk
דוגמא 2 – מחלק ב-3 • המשימה: המערכת מקבלת מספר טבעי x, ומשדרת מספר טבעי y, כך ש- • הקלט והפלט בינאריים. בכל מחזור נקלט ונפלט ביט אחד, החל מה-MSB • למשימה שתי גרסאות • בגרסת מילי, ה-LSB של y משודרת באותו מחזור שעון שבו נקלטת ה-LSB של x • בגרסת מור, ה-LSB של y משודרת מחזור אחד לאחר מחזור השעון שבו נקלטת ה-LSB של x • נפתור את גרסת מילי. Moshe Malka & Ben lee Volk
בדרך כלל למשימה חישובית יש שתי גרסאות. בהמשך נראה שיטה כללית לעבור מפתרון אחד למשנהו. Moshe Malka & Ben lee Volk
דוגמא 2 – מחלק ב-3 • סימונים: • Ii : ביט הקלט הנוכחי (במחזור ה-i) • Oi: ביט הפלט הנוכחי • xi :ערכו של המספר שנקלט עד (וכולל) המחזור ה-i • yi: ערכו של המספר ששודר עד (וכולל)המחזור ה-i • מתברר שהמערכת צריכה לזכור רק את • נובע מעובדה שנוכיח בהמשך:מ-riו-Iiבלבד ניתן לחשב את Oi ו-ri+1. • יש שלושה ערכים אפשריים ל-ri, ולכן ל-FSM יהיו 3 מצבים. Moshe Malka & Ben lee Volk
הוכחת הטענה:מ-riו-Iiבלבד ניתן לחשב את Oi ו-ri+1. מההגדרה, . לכן: Moshe Malka & Ben lee Volk
דיאגרמת המצבים שלושה מצבים בהתאם לערך של r r =0 r=1 r=2 1 0 0 Out = In Out = 1 Out = 0 1 0 1 Moshe Malka
שלבי יישום מערכת ספרתיתמדיאגרמת המצבים • קידוד א"ב של הקלט כמילים בינאריות ברוחב אחיד • קידוד א"ב של הפלט כמילים בינאריות ברוחב אחיד • קידוד המצבים כמילים בינאריות ברוחב אחיד. • אופן פעולת המערכת: • המערכת תפעל במשטר התזמון הבו-זמני • המצב הנוכחי יאוחסן ברגיסטר לא-מותנה אשר נקרא רגיסטר מצב. אין רגיסטרים נוספים. • לוגיקות צירופיות יחשבו את הפלט ואת המצב הבא. • תיאור פונקצית המעברים ופונקצית הפלט כטבלאות אמת. • בניית לוגיקות צירופיות (או ROM) לחישוב הפונקציות. Moshe Malka & Ben lee Volk
יישום סטנדרטי של FSM ע"י מערכת ספרתית • מכונת מור – הפלט תלוי רק במצב • מכונת מילי – הפלט תלוי במצב ובקלט State Register In N.S Comb. Logic Output Comb. Logic Out N.S + Output Comb. Logic In Out State Register Moshe Malka & Ben lee Volk
תזכורת:דיאגרמת המצבים של דוגמא 1 Moshe Malka & Ben lee Volk
קידוד המכונה קידוד הקלט: קידוד הפלט: Moshe Malka & Ben lee Volk
תיאור פונקציית המעברים ופונקציית הפלט כטבלת אמת פונקציית הפלט: פונקציית מעבר בין מצבים: Moshe Malka & Ben lee Volk
כל מערכת ספרתית במשטר התזמון הבו-זמני אפשר לפרש כ-FSM. • מספר ה-FF-ים במערכת חוסם את מספר המצבים במכונה: • במערכת עם nFF-ים, מספר המצבים קטן מ-2n • אם אין במערכת מסלול צירופי מהכניסה ליציאה אזי ה-FSM הוא מסוג מור. • אם קיים מסלול צירופי כזה, ה-FSM עשוי להיות מסוג מור או מילי. Moshe Malka & Ben lee Volk
שיטה לתרגום בין פתרונות מור ומילי של "אותה" משימה • עבור שתי מכונות M’ ו-M’’ (מסוגים כלשהם), נאמר ש-M’מקדימה את M’’, ו-M’’מפגרת אחר M’ אם: • ל-M’ ו-M’’ יש אותו א"ב קלט ואותו א"ב פלט. • לכל סדרת קלט, סדרת הפלט של M’ מקדימה את זו של M’’ במחזור אחד, ופרט לכך הן זהות. • טענה 1: לכל מכונה M’ (מכל סוג) יש מכונת מור M’’ שמפגרת אחריה. • טענה 2: לכל מכונה M’ מסוג מור יש מכונה M’’ שמקדימה אותה.M’’ לפעמים מסוג מור ולפעמים מסוג מילי. הסוג נקבע ע"י M’. Moshe Malka & Ben lee Volk
המכונה M’’ מפגרת אחר :M’ In Out M’ M’’ In Out Moshe Malka & Ben lee Volk
המכונה M’ מקדימה את :M’’ M’’ State Register In N.S Comb. Logic Output Comb. Logic Out M’ State Register In N.S Comb. Logic Output Comb. Logic Out Moshe Malka & Ben lee Volk