240 likes | 410 Views
High speed digital systems laboratory. Pentium system simulation project. מבצעים : רחליס אלכסנדר מויסייב קונסטנטין מנחה : גלוסקין דן ירון בן שושן. X. High speed digital systems laboratory. מטרת הפרויקט.
E N D
High speed digital systems laboratory Pentium system simulation project מבצעים : רחליס אלכסנדר מויסייב קונסטנטין מנחה : גלוסקין דן ירון בן שושן
X High speed digital systems laboratory מטרת הפרויקט • בנית ערכת סימולציה של מערכת I/Oשל מעבדPentium שתשמש בעתיד להדגמת עבודה של המעבד בקורסמיקרומחשבים.
X High speed digital systems laboratory תיאור כללי • מערכת מעבדת 9 פקודותI/O שונות : read, write, out, in, load, lf, wb, enablecache, disablecache • קלט של המערכת הינו קובץ בינארי • פלט הינו צורות גלים שלModelsim • במערכת קיימים 16 רגיסטרים של 32 ביט • עורק חיצוני הינו Pentium bus • קיימת תמיכה בצינור בעומק 2 על ה - BUS • קיימת תמיכה ב-misaligned transactions • קיימת תמיכה ב-burst transactions • קיים טיפול ב-RAW ו-WAW (יחסית לרגיסטרים או cache)
X High speed digital systems laboratory תיאור כללי שלPentium Bus • מסלול נתונים : 64 ביט (D0-D63) • address bus: נפרד, ברוחב של 29 ביט (A0-A28) ועוד 8 קוויםBE0-BE7 : אחד עבור כל בית על עורק נתונים • קוBE פעיל כאשר מועבר מידע על חלק של עורק נתונים • כל העברה על ה-busמתחילה עם הורדת קוADS ונתינת כתובת וכל קווי בקרה דרושים (M/IO, W/R, CACHE, ...) • כל העברה מסתיימת עם הורדת קוBRDY וכתיבה או קריאה של נתונים בהתאם לקוW/R
X High speed digital systems laboratory מבנה המערכת מערכת הסימולציה קובץ טקסט קומפיילר קובץ בינארי Modelsim צורות גלים
X High speed digital systems laboratory תיאור הקומפיילר ושפת מכונה • קלט לקומפיילר הינו קובץ טקסט עם פקודות אסמבלר • קומפיילר תומך ב-9 פקודות: • פקודות write ו-out - כתיבת נתונים מרגיסטרים לזיכרון אוI/O. • פקודות readו-in - קריאת נתונים מזיכרון אוI/O לרגיסטרים • פקודותlf ו-wb - ביצוע פעולות linefill אוwriteback. המידע נכתב / נקרא מרגיסטרים 8-15. • פקודות enablecacheו-disablecache. • פקודות load - טעינת נתונים לרגיסטר (immediate).
רק 2 סיביות הנמוכות ביותר בשימוש ישנם 3 סוגים של ה-modifier : - byte: מסמן העברת בית 1 בלבד - word: מסמן העברת 2 בתים (מלה) - dword: מסמן העברת 4 בתים רק 4 סיביות הנמוכות ביותר בשימוש 7 1 0 7 3 0 Don’t care mod reserved opcode X High speed digital systems laboratory תיאור שפת מכונה - המשך רק 2 סיביות הנמוכות ביותר בשימוש ישנם 3 סוגים של ה-op.type : - מספר רגיסטר - כתובת בזיכרון - ערך מספרי • כל פקודה היא באורך קבוע של 96 ביט (12 בתים). • מבנה הפקודה: במקרה של מס’ רגיסטר רק 4 סיביות נמוכות בשימוש 1 1 1 4 1 4 1st op. type 1st operand 2nd op. type 2nd operand modifier opcode
X High speed digital systems laboratory מבנה בלוקים כללי CPU North Bridge Memory
X High speed digital systems laboratory מבנהCPU Register Block CacheL2 Host Bus Interface
X High speed digital systems laboratory מבנה Register Block
X High speed digital systems laboratory מבנה Register Block (הסבר) • ReadFromFile - קריאת פקודה מקובץ בינארי ופריסתה • בלוקיפקודות (Read, Write וכו’) - פענוח פקודה, גישה לרגיסטרים במקרה של כתיבה או הכנסת פקודה ל-RegFIFO במקרה של קריאה ושליחתה למטה • רגיסטריםו-RegControlBlock - מערך הרגיסטרים ומנגנון טיפול ב-hazards • RegFIFO - משמש לשמירת פקודות קריאה שנשלחו למטה על מנת לדעת לאיזה רגיסטרים לכתוב מידע עם קבלתה מלמטה • בלוקים שלסינכרוןובקרה (לא נמצאים בתרשים)
X High speed digital systems laboratory מבנה Host Bus Interface P5FSM FIFO
X High speed digital systems laboratory FIFO • מקבל בקשות מ-register blockושולח אותם למכונת מצבים של Pentium bus • קבלת הבקשותמסונכרנתלשעון הפנימי ואילו שליחה - לשעון החיצוני (איטי יותר) • עוצר את register blockכשנדרש (fifo מלא, RAW) • מפעיל מכונת מצבים שלPentium bus (קוStartCycle)
X High speed digital systems laboratory P5 FSM • מאפשרת עבודה בשני מצבים: מצונרולאמצונר • מצבים Ti, T1, T2 - עבודה במצב לאמצונר - לא נשלחADS נוסף עד קבלתBRDY ל-ADS הקודם • מצביםT12, T2P, TD - עבודה במצבמצונר • TD - מתאר dead clock: מחזור בומשתנה כיוון העברת נתונים עלה-bus
X High speed digital systems laboratory Cache Specifications • Cache size: 16KB - ניתן לשינוי • Line size : 32Bytes - ניתן לשינוי • Association: 4Way - ניתן לשינוי • Replacement Algorithm : Pseudo LRU • Cache Update Policy: WB/WT - ניתן לשינוי • Allocation: No Write allocation - ניתן לשינוי • דוגמה לשורת הפקודה : • EnableCache WT=0 WA=1
X High speed digital systems laboratory תאור פעולה של Cache • Cache תופס את הפקודות מ - RB • במקרה של HIT מחזיר תשובה מיד, אלה אם יש פקודות בביצוע למטה, אז הפקודה נכנסת לחוצץ ומחכה עד שכל הפקודות מלמטה יחזרו • במקרה של MISS שולח בקשות WB ו/או LF בהתאם למצב ה - Cache ואז מחזיר תשובה ל - RB
X High speed digital systems laboratory North Bridge FSM • נמצאת בצד שני של Pentium bus ומחזירה תשובה לכל בקשה המתקבלת מ-CPU • מחזירהBRDY כאשר הנתונים מוכנים להעברה (במקרה של קריאה) או כאשר זיכרון מוכן לקבל נתונים (כתיבה) • תומכת ב-Burst ו-pipelined transactions
X High speed digital systems laboratory Memory Block • זיכרוןDRAM פשוט בגודל 2048 בתים • מורכב מ-8 בנקים כל אחד בגודל 256 בתים ורוחב busשל בית אחד • רוחב address bus - ארבע ביטים • בהורדתRAS ניתן לכל בנק חצי עליון של הכתובת, ובהורדתCAS - החצי התחתון • כמו כןCAS בוחר את הבנקיםהרצוים
X High speed digital systems laboratory Global Instruction Flow S1 S2 S3 S4 S5 S6 S7 S8 S9 I1 I2 I3 I4 I5 Fetch I1 I2 I3 I4 I5 Decode I1 I2 I3 I4 I5 Execute1 PBus I1 I2 I3 I4 I5 Execute2 I1 I2 I3 I4 I5 Reg. update
X High speed digital systems laboratory דוגמה מסכמת - קובץ קלט • load byte r15, 0x1 • lf 0x7896 • read dword r6, 0x2345 • write word 0x321, r15 • wb 0x1234
X High speed digital systems laboratory דוגמה מסכמת - פלט על ה- PBUS
X High speed digital systems laboratory מסכנות וסיכום • בפרויקט נבנתה מערכת סימולציה לחלקI/O של מעבד פנטיום המכילה חלקים עיקריים של המעבד האמיתי • המערכת תעזור לסטודנטים בהבנת אופן פעולה של מעבד פנטיום, pentium bus, north bridge, זיכרון ו-cache • המערכת נבנתה עם אפשרויות להרחבה שיפורטו בשקף הבא
X High speed digital systems laboratory אפשרויות להרחבה • הוספת פקודות נוספות (אריתמטיות, פקודות לולאהוכו’) • הוספת רגיסטרים מיוחדים (כגון, CS, DS, SP וכו’) • הוספת תמיכה ב-I/O, PCI, USB • הוספת תמיכהב-locked operations • הוספת תמיכהב-interrupt acknowledge cycles • הוספת תמיכהב-MESI פרוטוקול