אוגרים ומונים – Registers & Counters יחידות סטנדרטיות המשמשות לאגירת נתונים בעזרת FF. מחזיקות את המשתנים אשר צריכים להיות זמינים (לולאות משתנה לולאה) מאפשרים "מבחר" פעולות: הזזות "ימינה" "שמאלה" "מעגליות" טעינה פשוטה ומהירה מנייה "מעלה" "מטה" משמשים ברכיבים המהירים ביותר אבן היסוד של CPU אוגרים ל- Integers ובדר"כ אוגרים נוספים ל- Floating Point ALU CU Arithmetic Logic Unit Control Unit חובר בספטמבר 2001
אוגר 4-bit עם טעינה מקבילית שעון משותף דורש טעינה כל פעם שהשעון
אוגר 4-bit עם טעינה מקבילית ועם בקרה מימוש בעזרת SRFF LOAD = 0 אין שינוי ערך LOAD = 1 CLEAR איפוס אסינכרוני אוגר 4-bit עם טעינה מקבילית ועם בקרה
טעינה מקבילית עם בקרה -מימוש בעזרת DFF כאשר Load = 0 כניסות DFFs מקבלות את היציאות והערך הקודם נשאר
מימוש לוגיקה סדרתית ע"י אוגרים CP ערך המצב הבא מעגל צירופי יציאות כניסות load = 1 clear = 1 האוגר משמש כ"זוכר מצב" המעגל הצירופי יכול להיות ממומש ע"י: לוגיקה בדידה רכיבים סטנדרטיים Select, Mux יחידות זיכרון (ROM) LOAD ו- CLEAR קבועים כך שאין השפעה חיצונית על האוגר
דוגמא: טבלת המצבים שני משתני מצב B, A משתנה כניסה X. משתנה יציאה Y. נוכחי הבא יציאה A B X Y 1 2 3 4 5 6 7 טבלת המצבים
מימוש ע"י אוגר ושערים לוגים A D1 B D2 D3 לא בשימוש Y D4 L=1 C=1 X
אוגרי הזזה - Shift Registers n ביטים – n יחידות של FF יציאה טורית כניסה טורית MSB LSB הזזה שמאלה Serial Output (SO) Serial Input (SI) MSB LSB הזזה ימינה (defaults: 0 – pos 1 – neg ) יציאה טורית כניסה טורית MSB LSB הזזה מעגלית שמאלה MSB LSB הזזה מעגלית ימינה שימושים: כפלים/חילוקים פשוטים קודים (לינאריים) לתיקון שגיאות הצפנות...
אוגרי הזזה - מימוש פשוט אוגרי הזזה - העברה טורית SI CP SO D Q SO אוגר הזזה 4 ביטים אוגרי הזזה - העברה טורית חיבור ה – SI של אוגר "מקבל" אל ה – SO של אוגר "מוסר". דורש פעימות שעון כאורך האוגרים. שעון cp אוגר הזזה A SO SI אוגר הזזה B SO(B) CPI CPI בקרת הזזה Shift Control Word Time זמן מילה CPI T1 T2 T3 T4 A: B: SO(B): 1 1 1
Serial Shift Register with Parallel Load
Serial Input for RIGHT Shift 0 0 0 1 0 0 0 1 0 0 Serial Input for RIGHT Shift 0 1
Serial Input for LEFT Shift 1 0 1 1 1 0 1 1 1 0 1 1
חיבור טורי ע"י אוגרי הזזה חיבור טורי ע"י אוגרי הזזה הזז מינה SI SO SR-A X FA S OP CP cp Y כניסה חיצונית Z C SI SR-B OP SO D FF Q cp אוגר הזזה - טעינה/בקרה clear זמן החיבור כאורך האוגרים (1+). DFF : שומר על ה Carry מהדרגה הקודמת יש לאפס את DFF לפני תחילת החיבור הראשון חיסכון בחומרה האטה לעומת חיבור מקבילי אות הבקרה צריך להיות "1" כל משך החיבור
מונים - Counters מעגלים סדרתיים העוברים דרך סדרת מצבים נתונה מראש Count Pulse – דופק מנייה שעון או מקור חיצוני גורמים למעבר טבלת המעברים: n מצבים שורה i שורה i+1 שורה n שורה 1 דוגמא: מונה 3 סיביות בינאריות 000 111 001 אין כניסות ויציאות מעבר מתבצע כל דופק שעון משמשים לתזמון, חלוק תדר וכו'... 110 010 101 011 100
טבלת עירור עבור מונה 3 ביט בינארי טבלת עירור – מימוש בעזרת TFF עבור מונים בינאריים כדאי להשתמש ב – TFF היות והפעולה הבסיסית הינה היפוך מצב. לדוגמא - עבור סיבית ה- least מתבצע היפוך כל פעימה טבלת עירור עבור מונה 3 ביט בינארי סדרת מנייה כניסות FF X3 X2 X1 TX3 TX2 TX1 1
באינדוקציה - עבור מונה בינארי בן i סיביות: TX1 = 1 TX2 = X1 TX3 = X1X2 X3 1 X2 X3 X1 TXi = Txi-1Xi-1 1 X2 מסקנה X1 באינדוקציה - עבור מונה בינארי בן i סיביות: Count Pulse TX3 TX2 TX1 T T T TX3 TX21 TX1 Q Q Q X3 X2 X1 “1” O3 O2 O1
מונים בינאריים - ניתוח שני 1 1 Count Down מעברים 1 0 או 0 1 מתבצעים כאשר כל הביטים "הקודמים" הינם 00…0 Count Up מעברים 1 0 או 0 1 מתבצעים כאשר כל הביטים "הקודמים" הינם 11…1
מונים בינאריים - ספירה מעלה/מטה Count Up Count Down Ti = Ti-1Qi-1 Count Up Ti = Ti-1Q'i-1 Count Down T1 = 1 בכל "פעימה" -
Up Counter
Down Counter
Up-Down Counter
1 1 0 0 0 1 1 0 0
מונה כללי – דוגמא בעזרת JKFF 000001 010 100 101 110 6 מצבים 3 דלגלגים סדרת מנייה כניסות ה - FF A B C JA KA JB KB JC KC 1 לא מנוצל A B C 1 פירוט לשורה ראשונה : J K C: 0 1 (Set OR Flip) 1 B: 0 0 (Reset OR Stay) 0 A: 0 0 (Reset OR Stay) 0
מימוש: JA JA = B KA = B KA JB = C KB = 1 JC = B’ KC = 1 1 B A C B 00 01 11 10 1 JA A JA = B KA = B C B 00 01 11 10 1 KA A JB = C KB = 1 JC = B’ KC = 1 C A B C Q’ Q Q’ Q Q’ Q K J K J K J cp “1” “1”
דיאגרמת מצבים מצב JA JB JC KA KB KC 011 1 111 100 000 000 111 001 110 010 101 100 011 מצב JA JB JC KA KB KC 011 1 111 100 000
מנה – עבור למצב בינארי הבא מונים – סיכום Reset - איפוס CP LOAD COUNT פונקציה/ פעולה אפס 1 אין שינוי * טען כניסות מנה – עבור למצב בינארי הבא Load Reset L R Clock Pulse Count CP C דוגמא – מנייה modulo n: נאתחל את המונה בערך X נאפשר מנייה עד ערך X+n-1 הערך X+n-1 יגרום לטעינה מחודשת או לאתחול של האוגר/מונה
דוגמא – מנייה מודולו 6: טריק "מלוכלך": X=0 “1” 01 2 3 4 5 “1” “0” L 3 2 1 0 R “1” Clock “1” CP 3 2 1 0 C “0” X=3 L 3 2 1 0 “1” R 3 4 5 6 7 8 Clock “1” CP 3 2 1 0 C 0 0 1 1 טריק "מלוכלך": 6 01 2 3 4 5 “0” L 3 2 1 0 R Clock “1” CP 3 2 1 0 C אין השפעה
ניתוח – מיקרה 2 Load “3” Load “3” M 3 4 5 6 7 8 3 ... S 8 3 4 5 6 7 8 3 ... נאתחל את המונה בערך 3 נאפשר מנייה עד ערך 3+6-1=8 הערך 8 יגרום לטעינה מחודשת של האוגר/מונה מחזור מנייה 3 .. 8
ניתוח – טריק "מלוכלך" Direct Preset: M0 S0 Master Count-up “5 6” M 5 6 0 1 ... S 4 5 6 0 0 ... Slave Count-up Ends “5 6” מחזור מנייה של העבד (שעון למעלה): 0 1 2 3 4 5 0 1 2 3 ...
חיבור טורי – מימוש בעזרת JKFF נתייחס אל הנשא מהדרגה הקודמת כאל מצב ונסתכל על טבלת העירור/מעברים מצב נוכחי Carry – Q כניסות מצב הבא Q יציאה S בקרה X Y JQ KQ 1 Cn an bn Cn+1 Sn JQ = XY KQ = X’Y’ = (X+Y)’ S = XYQ נוכל לממש את המחבר הטורי ע"י 2 אוגרי הזזה + JKFF + שערים בדידים
מימוש מסכם טורי ע"י JKFF SR - A SR - B SI הזז ימינה S SR - A SO=X CP J Q כניסה חיצונית K SR - B SO=Y Clear בקרות J,K של JKFF תלויות רק ביציאות אוגרי ההזזה.