You are on page 1of 3

‫‪ 2.0‬הקדמה וחזרה תכונות של המעבד ‪8086‬‬ ‫שיעור מס‪ 2:‬מעבדי אינטל מאפיינים דוגמאות ‪27.10.

2015‬‬
‫המעבד ‪ 8086‬יוצר ע"י חברת ‪ INTEL‬בשנת ‪.1978‬בעל תכונות הבאות‪:‬‬ ‫‪ 2.0‬הקדמה וחזרה‬

‫• רוחב פס נתונים ‪ 16 -‬סיביות‬ ‫‪ 2.1‬סקירה של משפחת מעבדי אינטל ‪ ,‬המבנה הפנימי של ‪8086‬‬
‫• רוחב אוגרים פנימיים ‪ 16 -‬סיביות ‪ ,‬זאת אומרת שהוא יכול לעבד נתונים‬
‫‪ 2.2‬שילוב המעבד ביחידות המחשב השונות‬
‫בעלי ‪ 16‬סיביות בפעולות אריתמטיות – לוגיות‪.‬‬

‫• רוחב פס כתובות כלפי זיכרון ‪ 20 -‬סיביות ‪ ,‬זאת אומרת שהוא יכול‬ ‫‪ 2.3‬תיאור כללי של כל מרכיבי המקרופרוססור‬
‫לגשת לזיכרון ראשי בגודל ‪220 = 1,048,576 = 1 Mbyte‬‬
‫‪ 2.3.1‬יחידה אריטמטית לוגית‬
‫• רוחב פס כתובות כלפי התקני קלט‪/‬פלט ‪ 16 -‬סיביות ‪ ,‬זאת אומרת שהוא‬
‫יכול להתחבר למספר התקנים‪216 = 64535 Devices :‬‬ ‫‪ 2.3.2‬יחידה לחישוב נקודה צפה‬
‫• המעבד ‪ 8086‬יכול לגשת לזיכרון להבאת נתונים בגודל של ‪ 1‬בית או‬ ‫‪ 2.3.3‬פסים‪:‬פס נתונים ‪ ,‬פס כתובת ‪ ,‬פס בקרה ‪,‬יחידות הממשק לפס‬
‫מילה אחת)=שני בתים( בגישה אחד‪ ,‬תלוי בפקודה‪.‬‬

‫• המעבד ‪ 8088‬דומה מאוד למעבד ‪ 8086‬חוץ מרוחב פס נתונים חיצוני‬ ‫‪ 2.3.4‬מערכת הרגיסטרים והדגלים‪.‬‬
‫שהוא בעל ‪ 8‬סיביות ‪ -‬להבאת נתון בגודל ‪ 1 word=2 byte‬המעבד‬ ‫‪1‬‬
‫‪ 8088‬פעמיים ניגש לזיכרון ‪.‬‬ ‫‪ 2.3.5‬מחזור השעון‬

‫‪ 2.1‬המבנה הפנימי של ה‪8086 -‬‬ ‫‪ 2.1‬סקירה של מעבדי אינטל ‪,‬‬


‫לצורך כתיבת תוכניות אין לנו צורך במבנה האמיתי‬
‫המסובך ‪,‬נסתפק במודל התכנותי של המעבד‪.‬‬
‫•‪8088‬‬
‫המעבד מורכב משתי יחידות פונקציונאליות עיקריות‪:‬‬
‫• יחידת המישק לפס ‪BIU – Bus Interface Unit‬‬
‫יחידה זאת בונה את כתובת הגישה לזיכרון ‪ ,‬פונה‬
‫לזיכרון ‪ ,‬קוראת את הפקודה הבאה מהזיכרון לפס‬
‫נתונים ‪ ,‬מעבירה אותה למעבד ומאחסנת אותה‬
‫בחוצץ של ‪ 6‬בתים שנקרא תור הפקודות‪.‬היא כוללת‬
‫‪ 4‬אוגרי סגמנט ‪Code Segment ,Data Segment‬‬
‫‪ Stack Segment,Extra Segment‬ואוגר‬
‫‪ Instruction Pointer‬כולם – ‪ 16‬סיביות‪.‬‬
‫יחידת ביצוע – ‪EU – Execution Unit‬‬
‫יחידה זאת לוקחת פקודות מהחוצץ ומבצעת אותן‬
‫ללא תלות ביחידת ‪BIU‬‬
‫•‪8086‬‬
‫שתי היחידות האלו מפצלות את עומס עבודת ה‪CPU -‬‬
‫כדי לעלות את מהירותו ואת יעילותו של המעבד‪.‬‬

‫‪ 2.2‬שילוב המעבד ביחידות המחשב השונות )ארכיטקטורת פון‬


‫ניומן‬
‫מבוסס על רעיון מהפכני עקרון התכנית המאוחסנת )‪ ( stored program‬לפיו‬
‫תכנית מאוחסנת באותו זיכרון בו מאוחסנים הנתונים‪.‬‬
‫יחידת הזיכרון )‪(Memory‬‬
‫בה מאוחסנים נתונים‬ ‫המעבד )‪ (Processor‬תפקידו‬
‫והוראות‬ ‫לבצע את התכנית‬

‫יחידת הקלט‪/‬פלט )‪(I/O Devices‬‬


‫משמשת לקליטת נתונים מהמשתמש‬
‫ולהצגת תוצאות של ביצוע התכנית‬

‫ערוץ תקשורת פסים )‪ (bus‬והם‬ ‫‪6‬‬

‫מקשרים בין היחידות השונות‬


‫והמעבירים מידע מיחידה ליחידה‪.‬‬

‫‪1‬‬
‫•‪ 2.3.1‬יחידה אריטמטית לוגית‬ ‫•הזיכרון‬
‫יחידה אריתמטית‪-‬לוגית ‪ ALU‬היא יחידה ביצועית חשובה הקיימת בכל‬
‫יחידת עיבוד מרכזית הבנויה ממעגל אלקטרוני דיגיטלי‪ .‬היחידה האריתמטית‪-‬‬
‫לוגית מסוגלת לחשב את תוצאותיהן של מגוון רחב של פעולות אריתמטיות‬ ‫הוא ההתקן שבו נשמרים פקודות התוכנית המתבצעת במחשב והנתונים השוטפים‬
‫בסיסיות‪ .‬רוב היחידות האריתמטיות‪-‬לוגיות מסוגלות לבצע את הפעולות‬ ‫המשמשים אותה כקלט‪,‬או מופקים ומיועדים לאחד מאמצעי הפלט‪.‬‬
‫הבאות‪ ,‬בהתאם לפקודות הניתנות להן‪:‬‬ ‫כל תוכנית חייבת להיות בזיכרון כדי שהמעבד יבצע אותה ‪.‬המעבד מקבל את כתובת‬
‫התחלת התוכנית בזיכרון ומשם הוא מתחיל לבצע את הפקודות זו אחר זו ‪.‬עד לסיום‬
‫•חישובים אריתמטיים במספרים שלמים )חיבור‪ ,‬חיסור‪ ,‬לעתים כפל(‪.‬‬
‫התוכנית‪.‬‬
‫•פעולות בינאריות לוגיות )‪AND, OR, NOT, XOR).‬‬
‫•פעולות הסטת סיביות ‪Shifters. -‬‬ ‫המיקרו מבצע כל הזמן את הפעולות הבאות‪:‬‬
‫המעבדים החדישים יותר מיישמים יחידת‬
‫נקודה צפה המטפלת במטלות אלו‪.‬‬ ‫‪ .1‬המיקרו שולח לזיכרון את כתובת הבית בזיכרון שרוצה לפנות אליה‪.‬‬
‫ה‪ ALU -‬טוען נתונים מאוגרי הכניסה‪ ,‬יחידת‬ ‫‪.2‬על קו הבקרה מודיע לזיכרון על סוג הפעולה קריאה‪/‬כתיבה )שליחה‪/‬קבלה(‬
‫בקרה חיצונית נותנת הוראה ל‪ALU -‬לבצע‬ ‫‪ .3‬המידע מועבר מהמקור ליעד ‪.‬‬
‫פעולה אריתמטית מסוימת על הנתונים‪,‬‬ ‫לכל תא )בית( זיכרון יש כתובת ותוכן ‪,‬הכתובות מתחילות מכתובת ‪ 0‬עד הכתובת‬
‫ותוצאת החישוב נאגרת באוגר הפלט‪ .‬קיימים‬ ‫האחרונה בסדר עולה‪,‬התוכן צרוף כלשהוא של "‪ "0‬ו "‪. "1‬‬
‫מעגלים המבצעים העברות בין האוגרים‬
‫ובינם ‪8‬לזיכרון‪.‬‬ ‫‪7‬‬

‫‪ 2.3.3‬פסים‪:‬פס נתונים ‪ ,‬פס כתובת ‪ ,‬פס בקרה ‪,‬יחידות הממשק לפס‬ ‫•‪ 2.3.2‬יחידה לחישוב נקודה צפה ‪Floating-Point Unit‬‬

‫ייצוג מספרים ממשיים בשיטת הנקודה הצפה ‪ . (n‬בשיטה זו‪ ,‬נקודה צפה או זזה‪,‬‬
‫ומקומה נקבע לפי מעריך החזקה‪ .‬כל מספר בצורה מעריכית מורכב ממקדם ומחזקה של‬
‫בסיס הספירה שבו כתוב המספר‪ .‬מעריך חזקה זו ייקרא להלן המציין‪.‬‬

‫למשל מהירות האור‪ 300,000,000 ,‬מטר לשנייה‪ ,‬יכולה להירשם‪:‬‬


‫מטר לשנייה‬ ‫‪3.10^8‬‬ ‫כך‪:‬‬
‫קלט\פלט‬ ‫זכרון קריאה‬ ‫יחידת ממשק‬
‫יחידת‬ ‫או כך‪ 30.0×10^7 :‬מטר לשנייה‬
‫כתיבה‬ ‫‪Interface‬‬
‫מטר לשנייה‬ ‫וגם כך‪0.3×10^9 :‬‬
‫עיבוד‬
‫מרכזית‬ ‫מימוש שיטת נקודה צפה במחשב מיושם בהתאם לתקנים שנקבעו כדי לאפשר אחידות של‬
‫שעון‬ ‫‪ ADDRESS BUS‬יע"מ‬ ‫ייצוג במחשבים המיוצרים על ידי חברות שונות )בדומה לקוד ‪ASCII‬וקוד ‪.(UNICODE‬‬
‫‪CPU‬‬
‫‪clock‬‬ ‫‪DATA BUS‬‬

‫‪CONTROL BUS‬‬ ‫‪9‬‬

‫‪ 2.3.4‬מערכת הרגיסטרים והדגלים מעבד ‪8086‬‬ ‫אפיק ‪ BUS‬הוא צירוף של מספר קווים המשמשים לקישור בין רכיבים שונים‬
‫במערכת‪ .‬מן המעבד יוצאים שני סוגי אפיק‪:‬‬

‫אפיק הכתובות ‪ ADRESS BUS :‬באמצעותו קובע המעבד לאיזה רכיב או‬
‫‪ES 16 bit‬‬ ‫‪Extra Segment‬‬
‫‪BIU registers‬‬
‫‪CS 16 bit‬‬ ‫‪Code Segment‬‬ ‫תא זכרון הוא מעוניין לפנות‪.‬‬
‫‪(for 20 bit address‬‬
‫)‪generation‬‬ ‫‪SS 16 bit‬‬ ‫‪Stack Segment‬‬
‫‪DS 16 bit‬‬ ‫‪Data Segment‬‬ ‫אפיק הנתונים ‪ DATA BUS‬אפיק דו כיווני‪.‬המעבד שולח בו נתונים ‪ ,‬או מקבל‬
‫‪IP 16 bit‬‬ ‫‪Instruction Pointer‬‬ ‫נתון‪.‬וגם פקודות בשפת מכונה‬

‫‪AX 16 bit‬‬ ‫‪AH 8 bit‬‬ ‫‪AL 8 bit‬‬ ‫‪Accumulator‬‬ ‫קווי בקרה ‪ CONTROL LINES‬משמשים לניהול מערכת המחשב‬
‫‪BX 16 bit‬‬ ‫‪BH 8 bit‬‬ ‫‪BL 8 bit‬‬ ‫‪Base Register‬‬ ‫כוללים ‪ 2‬קבוצות ‪:‬פעולות על המעבד למשל ריסיט ‪,‬ופיקוח על רכיבים אחרים‬
‫‪CX 16 bit‬‬ ‫‪CH 8 bit‬‬ ‫‪CL 8 bit‬‬ ‫‪Count Register‬‬
‫‪DX 16 bit‬‬ ‫‪DH 8 bit‬‬ ‫‪DL 8 bit‬‬
‫במערכת המחשב על הזכרון למשל‪.‬‬
‫‪Data Register‬‬
‫‪SP 16 bit‬‬ ‫‪Stack Pointer‬‬
‫‪EU registers‬‬ ‫‪BP 16 bit‬‬ ‫‪Base Pointer‬‬
‫‪16 bit arithmetic‬‬ ‫‪SI 16 bit‬‬ ‫‪Source Index Register‬‬
‫‪DI 16 bit‬‬ ‫‪Destination Index Register‬‬
‫‪FLAGS 16 bit‬‬
‫‪11‬‬

‫‪2‬‬
‫‪x x x x OF DF IF TF SF ZF x AF x PF x CF‬‬ ‫הארכיטקטורה של המעבד ‪ 8086‬כוללת ‪ 8‬אוגרים בעלי רוחב ‪ 16‬סיביות‬
‫יחידת ביצוע ‪ EU‬כולל אוגר דגלים ) ‪ ( Flag Register‬שהוא אוסף של‬ ‫למטרות כלליות של אחסון נתונים ולמתרות מיוחדות הבאות‪:‬‬
‫דגלי מצב וסיביות בקרה‪.‬דגלי מצב מושפעים מפקודות אריתמטיות או‬
‫פקודות השווה ומזהים את מצבו הנוכחי של המעבד סיביות בקרה קובעות‬
‫למעבד את אופן עבודתו‬ ‫)‪ -- AX (accumulator‬צובר תוצאות של פקודות אריתמטיות‬ ‫•‬
‫)‪ – BX (base register‬אוגר הצבעה למקטע הנתונים בזיכרון ראשי –‬ ‫•‬
‫‪ CF Carry Flag- Bit 0‬עולה ל‪ 1-‬אם יש גלישה מגודל האוגר‪.‬‬ ‫•‬ ‫מחזיק כתובת יחסית של הנתונים‬
‫‪ PF Parity Flag- Bit 2‬עולה ל‪ 1-‬אם תוכן של האוגר ‪ AL‬זוגי‪.‬‬ ‫•‬ ‫)‪ CX (counter‬משמש כמונה לולאות בפקודה ‪LOOP‬‬ ‫•‬
‫‪- AF Auxiliary Carry Flag- Bit 4‬עולה ל‪ 1-‬אם יש גלישה מ‪format‬‬ ‫•‬ ‫)‪ : DX (data‬משמש כאוגר הרחבה )בנוסף לאוגר ‪ ( AX‬לפעולות‬ ‫•‬
‫‪BCD‬‬ ‫אריתמטיות לשמירת החלק העליון של התוצאה‪.‬משמש כאוגר אצבעה‬
‫להתקני קלט‪/‬פלט – מחזיק כתובת גישה להתקני קלט‪/‬פלט‪.‬‬
‫‪- ZF Zero Flag- Bit 6‬עולה ל‪ 1-‬אם תוצאת הפעולה האחרונה היא ‪. 0‬‬ ‫•‬
‫‪ - SF Sign Flag- Bit 7‬מזהה סימן – ערכו כערכה של הסיבית‬ ‫•‬
‫השמאלית )‪ (MSB‬של התוצאה פעולות חיבור‪/‬חיסור ובפעולות לוגיות‪.‬‬ ‫• )‪: SI & DI (Source Index & Destination Index‬‬
‫‪ - TF Single Step Trap Flag- Bit 8‬מאפשר ביצוע תוכנית בשלבים‪.‬‬ ‫•‬ ‫– אוגר הצבעה למקטע הנתונים בזיכרון ראשי‬
‫‪ - IF Interrupt Enable Flag- Bit 9‬מאפשר קבלת בקשות פסיקה‬ ‫•‬ ‫– אוגרי הצבעה למחרוזות‬
‫מהחומרה החיצונית‬
‫‪ - DF String Instruction Direction Flag- Bit 10‬קובעת כיוון סריקת‬ ‫•‬ ‫• )‪ SP (stack pointer‬אוגר הצבעה לראש המחסנית‪ ,‬משתנה אוטומטית‬
‫הזיכרון בפעולות עם מחרוזות‪.‬‬ ‫עקב פקודות גישה למחסנית ) לא מומלץ לטעון או לשנות אותו ידנית(‬
‫‪- OF Overflow Flag- Bit 11‬עולה ל‪ 1-‬אם יש גלישה בפעולות‬ ‫•‬ ‫• )‪ -- BP (base pointer‬אוגר הצבעה לתוך המחסנית – מותר לשימוש‬
‫אריתמטיות עם מספרים מסומנים‬ ‫חופשי‬

‫‪ 2.3.5‬מחזור השעון‬ ‫יחידות בקרה ‪CONTROL UNITS‬‬


‫•את קצב העבודה של המעבד מכתיבת שעון פנימי מסנכרן את פעולות‬
‫המעבד‪ ,‬הפסים ושאר היחידות והוא טריגר לביצוע אירועים שונים‪.‬‬ ‫המעבד מכיל יחידות בקרה שונות ביניהן‪:‬‬
‫• אות שעון הוא אות ריבועי שעולה ל‪ -‬ולאחר זמן מה יורד ל‪ 1) 0 -‬ו‪0 -‬‬
‫מייצגים מתח(‬ ‫מפענח הפקודות‪COMMAND DECODER :‬‬
‫מתרגם את הפקודה בשפתמכונה לסדרת אותות חשמליים לצורך הביצוע שלה‬
‫•מחזור אחד ‪ :‬זמן של עליה ל‪ 1 -‬וירידה ל‪0 -‬‬
‫בחומרה ‪.‬‬

‫תור ההוראות ‪INSTRUCTION QUEUE‬‬


‫שומר בתור כמה מהפקודוטת שעומדות להתבצע על ידי המעבד‬

‫חוצץ הכתובות ‪ADRESS BUFFER‬‬


‫אשר מחשב ושולח את הכתובתהפיסית המבוקשת כדי לפנות לרכיב הדרוש‪.‬‬
‫•תדר הוא מספר מחזורים בשניה נמדד כיום במאות מיליוני מחזורים בשנייה‬
‫אז מחשבים מהירים מאוד מה אכפת לנו מזמן ביצוע הוראה בודדת?תשובה‬
‫אחת – התדר שמוצג הוא זמן של ביצוע פעולה במעבד אבל ביצוע תוכנית יש‬
‫פניה ליחידות חיצוניות‪.‬‬
‫מספר התדר לא אומר שזה מספר ההוראות שתתבצענה בפועל‬ ‫‪15‬‬

‫שעון פנימי וקצב עבודה של מחשב‬


‫מחזור מכונה אחד מודד זמן ביצוע של פעולה אחת‪.‬‬
‫פעולות שמתבצעות מחוץ למעבד ‪ ,‬למשל פנייה של המעבד לזיכרון הן פעולות יקרות כי‬
‫היחידות החיצוניות איטיות‬
‫בקריאה‪/‬כתיבה מזיכרון‪/‬לזיכרון במעבד ‪ 4 8086‬פעולות שלוקחות ‪ 4‬מחזורי מכונה‪:‬‬
‫‪.1‬הוצאת כתובת לפס כתובות‪.‬‬
‫‪.2‬קביעת אות בקרה‪.‬‬
‫‪.3‬המעבד ממתין לנתון‪.‬‬
‫‪.4‬העברת נתון למעבד‪.‬‬
‫הקריאה‪/‬כתיבה מיחידות קלט‪/‬פלט פעולה עוד יותר איטית )תלוי בהתקן(‬
‫הערכת זמן ביצוע של הוראות‪:‬‬
‫לכל הוראה בשפת מכונה‪ ,‬מספק היצרן מספר מחזורי שעון לביצוע‪ :‬יש איטיות ויש‬
‫מהירות יותר‬

‫הוראות ארוכות )תלוי במספר אופרנדים והסוג שלהם( יארכו יותר זמן לקריאה‪.‬‬
‫הוראות שביצוען לא דורש גישה לזיכרון)קלט‪/‬פלט( נוספת לזיכרון מעבר לזמן קריאת‬
‫ההוראה עצמה מהיר יותר‬

‫‪3‬‬

You might also like