Transcript מכונת מצבים
מכונת מצבים סופית
תרגול מס' 4
1
Moshe Malka & Ben lee Volk
מכונת מצבים סופית
)Finite State Machine (FSM
מודל למערכת ספרתית
מכונת מצבים סופית:
קלט :סדרה אינסופית של אותיות I1 , I 2 , I3 ,...
בא"ב input
פלט :סדרה אינסופית של אותיות O1 , O2 , O3 ,...בא"ב
out
במחזור ה ,i-מתקבלת אות הקלט Iiומשודרת אות הפלט Oi
במכונה מסוג מור ( O ,)Mooreנקבע ע"י I1 , I 2 ,..., Ii 1
i
במכונה מסוג מילי ( Oi ,)Meallyנקבע ע"י
I1 , I 2 ,..., Ii
מכונת מצבים מוגדרת ע"י דיאגרמת מצבים:
גרף מכוון ,עם סימון על הקשתות והצמתים.
2
Moshe Malka & Ben lee Volk
דוגמה לFSM-
א"ב קלט{A,B,C,D} :
א"ב פלט }{X,Y,Z
A
B
C
= Out
?)(IN == B
X:Z
Out = X
Out = Y
A
A
B,C,D
A
B,D
C,D
מצב התחלתי יסומן כך:
מכונה היא מסוג מילי אם
ורק אם יש בה מצב אחד
או יותר עם פלט מותנה
Out = X
3
B,C,D
מכונה מצומצמת
• שתי מכונות מצבים סופיות ִת ֵ
קראנה שקולות אם
עבור כל סדרת קלט הן מוציאות את אותה סדרת
פלט
• מכונת מצבים סופית תקרא מצומצמת אם יש לה
מספר מינימלי של מצבים מבין כל המכונות
השקולות לה.
• משפט :עבור כל מכונה ,Mקיימת בדיוק מכונה
מצומצמת אחת השקולה ל.M-
4
Moshe Malka & Ben lee Volk
דוגמה למכונה מצומצמת
1
0
= Out
1-IN
0
Out = 0
1
המכונה הבאה שקולה למכונה הנ"ל ,ומכילה מספר גדול יותר של מצבים:
1
0
= Out
1-N
0
= Out
1-IN
0
Out = 0
1
5
1
דוגמא 1לבניית מכונת מצבים ABC -
• א"ב קלט{A,B,C,D} :
• א"ב פלט{X,Y,Z} :
– הפלט הוא Zאם "המילה האחרונה" שהתקבלה היא ABC
– הפלט הוא Yאם "המילה האחרונה" שהתקבלה היא AB
– הפלט הוא Xבכל מקרה אחר
• למשימה שתי גרסאות:
– בגרסת מור ,המילה האחרונה לא כוללת את אות הקלט
הנוכחית.
– בגרסת מילי ,המילה האחרונה כוללת את אות הקלט הנוכחית.
• אנו נפתור את גרסת מור.
6
• בדרך כלל למשימה חישובית יש שתי גרסאות.
• בהמשך נראה שיטה כללית לעבור מפתרון אחד
למשנהו.
7
Moshe Malka & Ben lee Volk
דיאגרמת המצבים
Moshe Malka & Ben lee Volk
8
שלבי יישום מערכת ספרתית
מדיאגרמת המצבים
.1קידוד א"ב של הקלט כמילים בינאריות ברוחב אחיד
.2קידוד א"ב של הפלט כמילים בינאריות ברוחב אחיד
.3קידוד המצבים כמילים בינאריות ברוחב אחיד.
•
אופן פעולת המערכת:
.1
.2
.3
המערכת תפעל במשטר התזמון הבו-זמני
המצב הנוכחי יאוחסן ברגיסטר לא-מותנה אשר נקרא רגיסטר מצב.
אין רגיסטרים נוספים.
לוגיקות צירופיות יחשבו את הפלט ואת המצב הבא.
.4תיאור פונקצית המעברים ופונקצית הפלט כטבלאות
אמת.
.5בניית לוגיקות צירופיות (או )ROMלחישוב הפונקציות.
9
Moshe Malka & Ben lee Volk
ע"י מערכת ספרתיתFSM יישום סטנדרטי של
• מכונת מור – הפלט תלוי רק במצב
In
State
Register
N.S
Comb.
Logic
Output
Comb.
Logic
Out
• מכונת מילי – הפלט תלוי במצב ובקלט
In
N.S + Output
Comb.
Logic
Out
State
Register
Moshe Malka & Ben lee Volk
10
תזכורת :דיאגרמת המצבים של דוגמא 1
11
Moshe Malka & Ben lee Volk
קידוד המכונה
קידוד הקלט:
א"ב קלט
קידוד
A
00
B
01
C
10
D
11
קידוד הפלט:
12
Moshe Malka & Ben lee Volk
א"ב פלט
קידוד
X
00
Y
01
Z
10
תיאור פונקציית המעברים ופונקציית הפלט
כטבלת אמת
פונקציית הפלט:
פונקציית מעבר בין מצבים:
13
מצב נוכחי
קלט
מצב הבא
מצב
output
00
00
00
00
)00 (X
00
01
01
01
)01(Y
00
10
11
10
)10(Z
11
)00(X
Moshe Malka & Ben lee Volk
•
•
•
•
14
כל מערכת ספרתית במשטר התזמון הבו-זמני
אפשר לפרש כ.FSM-
מספר ה-FF-ים במערכת חוסם את מספר המצבים
במכונה:
• במערכת עם -FF nים ,מספר המצבים קטן מ2n-
אם אין במערכת מסלול צירופי מהכניסה ליציאה
אזי ה FSM-הוא מסוג מור.
אם קיים מסלול צירופי כזה ,ה FSM-עשוי להיות
מסוג מור או מילי.
Moshe Malka & Ben lee Volk
שיטה לתרגום בין פתרונות מור ומילי של "אותה" משימה
עבור שתי מכונות ’ Mו( M’’-מסוגים כלשהם) ,נאמר שM’-
מקדימה את ’’ ,Mו M’’-מפגרת אחר ’ Mאם:
.1ל M’-ו M’’-יש אותו א"ב קלט ואותו א"ב פלט.
.2לכל סדרת קלט ,סדרת הפלט של ’ Mמקדימה את זו של ’’M
במחזור אחד ,ופרט לכך הן זהות.
טענה :1לכל מכונה ’( Mמכל סוג) יש מכונת מור ’’ Mשמפגרת
אחריה.
טענה :2לכל מכונה ’ Mמסוג מור יש מכונה ’’ Mשמקדימה
אותה.
’’ Mלפעמים מסוג מור ולפעמים מסוג מילי .הסוג נקבע ע"י ’.M
•
•
•
15
Moshe Malka & Ben lee Volk
:M’ מפגרת אחרM’’ המכונה
In
Out
In
Out
Moshe Malka & Ben lee Volk
M’
M’’
16
:M’’ מקדימה אתM’ המכונה
M’’
Output
Comb.
Logic
Out
State
Register
N.S
Comb.
Logic
State
Register
In
Output
Comb.
Logic
Out
M’
In
N.S
Comb.
Logic
Moshe Malka & Ben lee Volk
17
מכונות מילי ומור
• מכונת מור – הפלט תלוי רק במצב ,בוודאות אין
מסלול צירופי מהכניסה ליציאה
• מכונת מילי – הפלט תלוי
במצב ובקלט .יתכן מסלול
צירופי
Moshe Malka
?מילי או מור
Moshe Malka
?מילי או מור
Moshe Malka
אותה מכונה בגרסת מילי
Moshe Malka
דוגמא – 2מחלק ב3-
• המשימה :המערכת מקבלת מספר טבעי ,x
ומשדרת מספר טבעי ,yכך שy x -
3
• הקלט והפלט בינאריים .בכל מחזור נקלט ונפלט
ביט אחד ,החל מהMSB-
• למשימה שתי גרסאות
– בגרסת מילי ,ה LSB-של yמשודרת באותו מחזור שעון
שבו נקלטת ה LSB-של x
– בגרסת מור ,ה LSB-של yמשודרת מחזור אחד לאחר
מחזור השעון שבו נקלטת ה LSB-של x
• נפתור את גרסת מילי.
22
Moshe Malka & Ben lee Volk
דוגמא – 2מחלק ב3-
• סימונים:
– : Iiביט הקלט הנוכחי (במחזור ה)i-
– : Oiביט הפלט הנוכחי
– : xiערכו של המספר שנקלט עד (וכולל) המחזור הi-
– : yiערכו של המספר ששודר עד (וכולל) המחזור הi-
• מתברר שהמערכת צריכה לזכור רק את
def
ri xi mod 3
• נובע מעובדה שנוכיח בהמשך:
מ ri-ו Ii-בלבד ניתן לחשב את Oiו.ri+1-
• יש שלושה ערכים אפשריים ל ,ri-ולכן ל FSM-יהיו
3מצבים.
23
Moshe Malka & Ben lee Volk
:הוכחת הטענה
.ri+1- וOi בלבד ניתן לחשב אתIi- וri-מ
: לכן. xi 3 yi ri ,מההגדרה
•
xi 1 2 xi I i 1 6 yi 2ri I i 1
ri 1 2ri I i 1 mod 3
2ri I i 1
Oi 1
3
Moshe Malka & Ben lee Volk
24
דיאגרמת המצבים
שלושה מצבים בהתאם לערך של r
r=2
r=1
0
r =0
1
0
Out = 1
Out = 0
Out = In
1
0
1
25
Moshe Malka