פרק 6: מסכמים, בוררים, מפענחים 11/5/06 דוגמת חיבור שני מספרים בינריים נשא (carry) 1 11 + 3 14
מסכם בינרי מלא (FA) Full-Adder מבצע את החישוב עבור זוג סיביות: FA סכום נשא יציאה
טבלת האמת של FA A B Cin Cout S 1 Cout S 00 01 11 10 1 A B Cin Cout S 1 Cout AB Cin 00 01 11 10 1 S
מימוש (אפשרי) של FA הביטויים המתאימים:
Ripple Carry Adder (RCA) נשרשר n דרגות FA כדי לחבר שני מספרים בינריים בני n סיביות. כל דרגה תחבר זוג סיביות עם הנשא מהדרגה הקודמת. זמן החישוב-כזמן התפשטות הנשא. אם זמן חישוב נשא ב- FA הוא t, זמן החישוב הכולל הינו nt. אם זמן החישוב של כל שער הוא יחידת זמן אחת ו– t=3 ,אזי TRCA=3n. למעשה זמן החישוב של כל היחידות להוציא הראשונה הוא t=2, והזמן הכולל הוא TRCA=2(n-1)+3=2n+12n
Carry Look-Ahead (CLA) Adder *** רשות/חובה ע"פ בחירת המרצה (4 שקפים) Carry Look-Ahead (CLA) Adder Carry Look-Ahead מיועד לקצר את זמן החישוב הכולל של חבור שני מספרים בני 4 סיביות. במחבר הסדרתי קיבלנו: נרשום את פונקציות יצירת הנשא (generate) והעברתו (propagate): 1=gi אם במקום ה- i נוצר נשא Ci+1 ללא תלות בנשא הנכנס Ci pi=1 אם Ci+1=Ci נקבל: עוד פעמיים:
Carry Look-Ahead Adder Ci+4 תלוי בפונקציות G, P וב- Ci, ואיננו תלוי ב- Ci+1, Ci+2, Ci+3. נניח שהכניסות A, B מגיעות כולן בתחילת החישוב. המחבר יהיה מחולק ליחידות בנות ארבעה FA כל אחת. בכל יחידה נחשב את G, P (כפונקציה של A, B) ונמתין להגעת Ci. כאשר הנשא יגיע, נותר רק לבצע שתי פעולות (AND, OR) ולקבל את הנשא היוצא Ci+4. במקביל תחשב היחידה את Si, Si+1, Si+2, Si+3 ואת Ci+1, Ci+2, Ci+3 הדרושים לחישוב הסכומים
זמן החישוב של המחבר מחבר של n סיביות - n/4 יחידות CLA. נניח: זמן החישוב של G, P הוא τ1 , זמן החישוב של S, C ע"י FA הוא τ2, זמן החישוב של שערי AND, OR הוא 1 כ"א. שלבי החישוב: בתחילה, במשךτ1 , מחשבות כל היחידות את G, P. אח"כ, במשך 2·n/4=n/2, מחושבים כל ערכי C שבין היחידות, עד לנשא האחרון. במקביל, כל יחידה שמקבלת את Ci בכניסתה מחשבת את ערכי S שלה במשך 4·τ2. היחידה האחרונה מקבלת את Ci לאחר היחידה האחרונה משלימה את החישוב לאחר עוד 4·τ2 יחידות.
זמן החישוב של המחבר (המשך) זמן החישוב הכולל הוא עבור n גדול מספיק (נניח מעל 16) האיבר הדומיננטי בביטוי הוא n/2. n/2 קטן פי 4 מזמן החישוב של Ripple Carry Adder. כך, במחיר של סיבוך הלוגיקה הישגנו את האצת החישוב.
בורר – Selector / multiplexer / mux קלט: אם E=0 אז '0'. פלט: אחרת הסיבית Di i הינו המספר שיצוגו הבינרי מופיע ב- m סיביות הבקרה. כניסות נתונים E כניסת Enable
בורר מימוש אפשרי: והביטוי הלוגי עבור בורר
בורר של 8 כניסות:
כניסות הבקרה כוללות מהפכים מיותרים לכאורה (מבחינה לוגית). מהפכים אלו, המשמשים כ"חוצצים", מיועדים להציג לכניסה "עומס" של שער יחיד. בלעדיהם היתה כניסת Enable, למשל, מחוברת לשמונה שערים פנימיים. החוצצים מקלים את מלאכת התכנון: המהנדס המשתמש בבורר יכול להניח שכל כניסה שלו מזינה שער פנימי אחד בלבד.
מימוש פונקציות באמצעות בוררים לדוגמא, עבור בורר ללא enable ,הפונקציה הממומשת היא נקבל אם נציב קיבלנו מימוש XOR:
נראה שיחד עם הקבועים 0, 1 נקבל מערכת שלמה: נקבל אם נציב נראה שיחד עם הקבועים 0, 1 נקבל מערכת שלמה: נקבל אם נציב קיבלנו מימוש AND: : מימוש NOT: בדקו בבית: האם בורר בלבד מהווה מערכת פעולות שלמה? בורר עם '0'? בורר עם '1'?
נראה כיצד ניתן לממש פונקציה של n משתנים באמצעות בוררים
w x y z f 1 …
מימוש פונקציות באמצעות בוררים מימוש עם בורר בעל n-1 כניסות מימוש ישיר , בורר בעל n כניסות
מפענח – Decoder m כניסות בקרה יציאות . אם ,Enable=0 לכל i. קלט: יציאות . פלט: אם ,Enable=0 לכל i. אם Enable=1, כאשר i הוא המספר הבינרי המיוצג ע"י כניסות הבקרה, וכל שאר היציאות הן 0. זהו מפענח כניסת Enable. (אפשר להתייחס למפענח כאל Demultiplexer , כאשר E הוא בעצם כניסת המידע D, ואילו D היא כניסת הכתובת).
מימוש Decoder
מימוש פונקציה באמצעות מפענח
הקשר בין בורר למפענח הדמיון במימוש: ניתן לממש Selector תוך שימוש ב- Decoder:
העברת מידע באמצעות בורר למפענח/ de-MUX ב-de-MUX אנו נשתמש בכניסת ה- Enable של ה- Decoder ככניסת Data ואילו כניסת ה-Data תשמש ככתובת: המידע מן המסוף שנבחר יגיע למחשב המתאים, אם הכתובות (כניסות הבקרה) המוזנות לבורר ולמפענח הן תואמות. ניתן להוסיף לשני הרכיבים כניסות Enable.
מקודד מסוג Priority Encoder ועוד כניסת Enable. פלט: יציאות D ועוד יציאה Z. Z היציאה D היא הקוד הבינארי של הכניסה הראשונה שהיא '1' ( ואז 0=Z). במידה וכל הכניסות הן '0' אזי 1=Z (ואז 0=D).
מספר השערים במימוש הבורר בורר בעל n+1 כניסות בקרה ו- K=2n כניסות נתונים מכיל : 2(n+1) מהפכים 2n שערי AND בעלי n+2 כניסות כ"א (השקולים ל- n+1 שערי AND בעלי שתי כניסות כ"א( וביחד (n+1)2n שערים. שער OR בעל 2n כניסות השקול ל – 2n-1 שערים בעלי שתי כניסות סה"כ מספר השערים הוא: (n+2)2n+2n+1 n2n = K log2K
מספר השערים במימוש המפענח מפענח בעל n+1 כניסות ו- K=2n יציאות מכיל: 2(n+1) מהפכים 2n שערי AND בעלי n+1 כניסות כ"א )השקולים ל- nשערי AND בעלי שתי כניסות כ"א( וביחד n2n שערים. סה"כ מספר השערים הוא: n2n = K log2K n2n+2n+2