מבנים רגו ריים ורכיבים מתוכנתים
Transcription
מבנים רגו ריים ורכיבים מתוכנתים
פרק - 7מבנים רגולריים ורכיבים מתוכנתים מוטיבציה :מימוש של פונקציות בעלות מספר גדול של משתנים. למשל ,עבור 8משתנים יש צורך ב Selectorבעל 8כניסות בקרה ו = 256 כניסות נתונים ואלו כבר רכיבים שקשה לבנותם בגלל שיקולי טכנולוגיה ! 189 Three-State Bus '' 1 הגדרה של מבנה באמצעות מתגים : כאשר Enable=1השער פועל כשער . NOTכאשר Enable=0 היציאה Bמנותקת ,כלומר לא ניתן לכתוב ערך לוגי על היציאה . מצב זה בו היציאה איננה ‘ ’0ואיננה ‘’1 B נקרא “מצב שלישי” והשער קרוי “ NOTעם יציאה מסוג “ 3- state או גם “ NOTעם יציאה " High-Z P P A N Enable N '' 0 190 1 מתג '0' - Nמנותק ' '1מחובר מתג '0' - Pמחובר ' '1מנותק 28 השער מצוין על ידי הסמל : Enable IN OUT היתרון של מבנה זה הוא שניתן לחבר יחד יציאות של מספר שערים כאלו, בתנאי שלכל היותר רק שער אחד יורשה לכתוב בו זמנית על היציאה המשותפת .היציאה המשותפת נקראת ) BUSעורק ( .על מנת להבטיח שלכל היותר רק אחד מן השערים יכתוב על ה BUS -בו זמנית כדאי להשתמש במפענח ) . ( Decoderכזכור ,רק יציאה אחת של המפענח הינה ‘ ’1וכל השאר הן ‘ . ’0בנוסף ,אם יש למפענח כניסת Enableאזי אם ’ Enable=‘0כל יציאות המפענח הן ‘ ’0ואף שער אינו כותב על ה. BUS - 191 המערכת כולה )אוסף השערים , ה BUSוהמפענח ( שקולה לבורר. Enable S0 2 →4 Decoder S1 D3 D2 D1 D0 הכניסות S0 , S1שולטות על אילו מן הכניסות תעבור הלאה, IN2 , IN1 , IN0או IN3 IN0 IN1 BUS IN2 IN3 192 2 : מימוש המערכת בעזרת בורר מבוזר S1 S0 Enable IN0 IN1 BUS IN2 IN3 193 ' מנותק0' - N מתג ' מחובר1' ' מחובר0' - P מתג ' מנותק1' Wired-AND Bus, Wired-OR Bus : pull-down - וpull-up , נגדיר שני מבנים נוספים ' 1' IN ' גורר0' ' ביציאה0' OUT IN P N ' גורר1' ' ביציאה1' OUT ' 0' OUT IN OUT IN OUT Pull-Down IN IN OUT Pull-Up 194 3 נשים לב שהכניסה לכל אחד מן השערים יכולה לבוא מימין או משמאל ,על גבי Busאו חוט שעובר דרך השער מצד אל צד .היציאה מחוברת ל Bus -בכיוון מעלה-מטה . Busהמורכב כולו משערי pull-downפועל כלהלן: אם יש ' '0בכניסה של שער אחד או יותר ,ערכו של ה Busהוא ‘.’0אחרת ) כל הכניסות ' , ( '1ערכו של ה Bus -הוא ‘ ) ’1התקן מיוחד ,המסומןכקופסה מרובעת בציור ,מחובר אל ה Bus -ומבטיח את קיום ברירת המחדל (. לכן ניתן לאמר ש pull-down busמממש פונקציה של שער ANDאו NORשל היפוכי הכניסות ) לפי דה-מורגן ( ,ולכן יש המכנים אותו . Wired-AND Bus )’AND(IN0,IN1,…,INk)=NOR(IN0’,IN1’,…,INk 195 מתג '0' - Pמחובר ' '1מנותק collector in a Transistor ’‘1 OUT P IN3 P 'OUT '0 '' 0 IN0 IN1 IN2 196 4 IN2 IN3 P IN1 P '' 0 אם אחת מכניסות אלו ', '0 ’. OUT=‘0 IN0 '' 0 בדומה Bus ,המורכב כולו משערי Pull-upפועל כלהלן: אם יש ‘ ’1בכניסה של שער אחד או יותר ,ערכו של ה Busהוא ‘.’1 אחרת ) כל הכניסות ' ,( '0ערכו של ה Busהוא ‘ ) ’0התקן מיוחד ,המסומןכקופסה מרובעת בציור ,מחובר אל ה Busומבטיח את קיום ברירת המחדל(. לכן ניתן לאמר ש pull-up bus -מממש פונקציה של שער , ORאו NANDשל היפוכי הכניסות ) לפי דה-מורגן ( ולכן יש המכנים אותו Wired-OR Bus )’OR(IN0,IN1,…,INk)=NAND(IN0’,IN1’,…,INk 197 '' 1 N '' 1 IN3 N '' 1 IN2 N '' 1 IN1 IN0 N '' 1 OUT ’‘0 OUT IN0 אם אחת מכניסות אלו ', '1 ’. OUT=‘1 IN1 IN2 198 5 IN3 מתג '0' - Nמנותק ' '1מחובר ) Programmable Logic Array ( PLA ניתן להשתמש במערכים מבוססי Busesלמימוש יעיל של מספר פונקציות לוגיות התלויות באותם משתני כניסה ושיש להן גם מספר מכפלות משותפות. ) Wired-AND Busesהמאורגנים ב”מישור ( " ANDמשמשים לחישוב המכפלות ליצירת הפונקציות .למשל f=AB+CD ,ייראה כלהלן : CD AB AB+CD 199 C D Wired OR A B Wired AND בדרך כלל משתמשים במערך PLAמוכן הכולל מערכי שערים מוכנים מראש, ויש רק לבחור אילו שערים משתתפים במימוש .בחירה זו נקראת “תכנות ” של ה . PLAלפשטות הסימון מסמנים רק את המקומות של השערים המשתתפים .הפונקציה הקודמת יכולה להיות מתוארת במערך כללי כזה באופן הבא : AND plane OR plane ’C’E CD AB ’AB+CD AB+C’E 200 6 E D C B A הציור הסמלי מסתיר את כל הפרטים המדויקים שהופיעו בציור הקודם . יש תוספת של מכפלה ושל פונקציה .שתי הפונקציות מבוססות על אותה קבוצת משתנים ועל שלוש מכפלות ,מהן אחת משותפת לשתי הפונקציות . המערך שבציור מאופיין על ידי מספר משתני הכניסה , 5מספר המכפלות האפשריות , 6ומספר היציאות האפשריות . 3 דוגמא מעשית: 14כניסות 96מכפלות 6יציאות מישור AND רכיבי :PLAמישור ה ANDניתן לתכנות מישור ה ORקבוע ! יתרון :זול יותר חיסרון :מגביל את המשתמש מישור OR מחייב את היצרן למספר גדול של סוגי רכיבים 201 תרגיל: ממשו מכפל המקבל שני מספרים בני שתי סיביות ומוציא את מכפלתם. – ABמספר אחד. - CDמספר שני. מימוש: B D BD S 202 7 A C AD AC BC P Q R X 3 S = BD 4 7 5 2 R = AD ⊕ BC = A’BC + BCD’ + AB’D + AC’D 6 1 Q = AC ⊕ ABCD = AB’C + ACD’ 8 P = AC · ABCD = ABCD 3 6 5 7 NZ = S+R+Q+P = BD + AB’C + AB’D + BCD’ (A+B)( C+D) במקום למשל 1 2 3 4 5 6 7 8 ACD’ AC’D BD A’BC AB’D AB’C BCD’ ABCD 203 AND plane OR plane 1 2 3 4 5 6 7 8 A B C D S R Q P NZ 204 8 ROM - Read Only Memory ראינו שניתן לממש פונקציה על ידי . selectorאולם ,לשיטה זו יש מגבלות. לדוגמא ,אם לפונקציה fיש 8משתנים ,יש צורך ב 8כניסות בקרה וב 28 = 256כניסות של מידע ) ‘ ’0או ‘ , ( ’1כניסה לכל שורה בטבלת האמת של .f מבחינה טכנולוגית ,לבנות יחידות selectorעם מספר רב של כניסות זו בעיה שנעשיית קשה ככל שמספר הכניסות גדל .כמובן שניתן גם לחבר כמה selectors ביחד כדי ליצור selectorגדול יותר ,אך כדי לממש פונקציה על ידי selectors יש אלטרנטיבות טובות יותר . נניח שבמקום לספק את הקבועים ‘ ’0ו ‘ ’1לכניסות ,מתכנתים את הקבועים בתוך הרכיב ועל ידי צירוף כניסות הבקרה בוחרים איזה ערך להוציא כיציאה של הרכיב . רכיב כזה שבו לאחר תכנות ערכים פנימה לא ניתן יותר לשנותם קוראים . ROM - Read Only Memory 205 ROMהוא אם כן רכיב זיכרון הכולל קווי כניסה ) הקרויים גם “קווי כתובת” ( לבחירת תא זיכרון מסוים וקו יציאה לקריאת ערכו של תא הזיכרון שנבחר . יתרונו העיקרי :המידע שבו אינו נמחק עם כיבוי המתח החשמלי ,ולכן ה ROM - משמש לאחסון מידע קבוע ) כגון התוכנה שמסייעת להתחלת הפעולה של מחשב, מייד לאחר שמדליקים אותו ( . כאמור ,ניתן גם לראות את ה ROMכרכיב המממש טבלת אמת של פונקציה : משתני הפונקציה מוכנסים על קווי הכתובת וערך הפונקציה מופיע במוצא . נזכיר שוב ,במימוש לדוגמא של פונקציה של 4משתנים בעזרת selector 16 → 1למעשה השתמשנו ב selectorכאילו היה , ROMכאשר ערכי הזיכרון לא היו אגורים ברכיב אלה חוברו אליו בכניסות המידע שלו . 206 9 רכיבי ROMמחולקים לשלושה סוגים בהתאם לאופן שבו מידע מתוכנת אליהם: - ROMמיוצר עם תוכן מקודד שאינו ניתן לשינוי. ) - Programmable ROM ( PROMניתן לתכנות חד פעמי על ידי המשתמש על ידי הזנת אותות תכנות מסוימים לכניסות מסוימות .בטכנולוגיה הנפוצה כיום אותות התכנות “שורפים” חיבורים ברכיב ולכן התכנות הוא חד פעמי ובלתי הפיך. ) Erasable PROM ( EPROMאלמנטי הזיכרון ניתנים להחזרה למצבם המקורי על ידי חשיפה לאור אולטרא-סגול או על ידי חיבור למתח חשמלי גבוה ,ואז לתכנות מחדש . 207 תהליכי הכתיבה והמחיקה של PROMו EPROMהם בסדרי גודל יותר איטיים מאשר תהליך הקריאה ואינם מיועדים לשימוש כתיבה שוטף .בדרך כלל רכיבים כאלה משמשים כ ROMלכל דבר .לעיתים משתמשים ברכיבי ) EPROMאו רכיבים דומים הקרויים ( Flash memoryלאחסון תוכנה ונתונים המעודכנים /מוחלפים אחת לכמה חדשים . 208 10 נתבונן על מימוש של ROMבעזרת Decoder ,Selectorומטריצה המורכבת מ . Wired AND Busesל ROMיש n+mקווי כתובת הבוחרים "תא" מתוך המטריצה שבה יש 2n x 2mתאי זכרון. 2n wires 2n x 2m array of pulldowns '0' - Pull downבכניסת IN גורר '! '0 בוחר שורה Decoder 2m wires n address bits Selector 209 m address bits בוחר עמודה output במבנה זה יש רכיב pull-downבכל צומת השייכת לכתובת בה אגור ‘ ’0ואין רכיב בכל צומת השייכת לכתובת בה אגור ‘ . ’1הכתובת מחולקת לשני חלקים, כלהלן : m n לדוגמא ,רכיב הזיכרון בשקף הבא מכיל את פונקצית הראשוניות של מספרים בני 6סיביות . יש 26 = 64כתובות בזיכרון .למשל ,המספר 11עשרוני מיוצג על ידי :001011 שלוש הסיביות השמאליות ) ( 001מצביעות על שורה 1ושלוש הסיביות הבאות ) ( 011בוחרות את עמודה .3המספר 11עשרוני ) ( 001011נמצא בשורה , 1עמודה . 3 210 11 היציאה של ה selector -היא ‘ ’1אם המספר שנבחר ראשוני . ה decoderמוציא ' ’0בשורה שנבחרה ו ' ’1באחרות . out out 0 0 out 1 8 1 out 2 out out 3 4 11 12 out 5 out 6 7 in in in 2 in 3 Decoder 100 101 (37) in 4 in 5 in 6 in 7 Address input 0 1 2 3 selector 4 5 6 211 7 . 64 → 1 שבשקף הקודם הואROM ה Decoder Selector x1x2x3 x4x5x6 f 0 000 000 0 1 000 001 1 2 000 010 1 3 000 011 1 4 000 100 0 5 000 101 1 6 000 110 0 7 000 111 1 8 001 000 0 -----------------------63 1 1 1 1 1 1 0 מספר מספר היציאות תאי זיכרון 212 12 2m E 2n+m D S selector 2m →1 D S Selector E 2n+m →1 m n+m n 1 1 Decoder E n → 2n 2n ההבדלים במימוש של ROMבעזרת selectorבעל n+mכניסות בקרה ו n+m 2כניסות מידע לבין המימוש שראינו בעזרת selectorבעל mכניסות בקרה ו 2mכניסות מידע ,ו decoderבעל nכניסות בקרה ו 2 nיציאות הם כלהלן : 213 א .ב selectorעם n+mכניסות יש סדר גודל של (n+m) 2n+m=(n+m)2n• 2m שערים בעוד שבמבנה הכולל Decoderבעל nכניסות ובורר בעל mכניסות יש רק סדר גודל של m2m+n2nשערים ) כל זאת ,בנוסף ל ≈ 2n+mשערי ה pull-downבצמתים( . ב .מבחינה גיאומטרית קל יותר לממש שני התקנים ) Selectorו ( Decoder מאשר בורר אחד גדול (m+n)(2n+m) .לעומת . 2n+m+m2m+n2n ג .מבנה של Selectorו Decoder -מאפשר קריאת כתובות זיכרון עוקבות במהירות רבה ,כאשר משנים רק את כניסות הבקרה של ה . selector למעשה ,ניתן אף לצרף מספר Selectorsולבצע קריאות בו זמניות . החיסרון ב : RO M -אין פישוט של הפונקציה ! החיסרון ב : PLA -מספר המכפלות חסום ועלול שלא לכסות את כל האפשרויות ! 214 13 שקף ריק 215 שקף ריק 216 14 שקף ריק 217 שקף ריק 218 15 שקף ריק 219 16