Introduction
Download
Report
Transcript Introduction
תכן לוגי ומבוא למחשבים
• מטרות הקורס:
– לימוד תכן מתקדם של מערכות ספרתיות
– לימוד תכן של מחשב פשוט ()MIPS
• מה לפני?
– מערכות ספרתיות
– מושגי יסוד בתכנות (שפת )C
– מושגי יסוד בחשמל (רמת בחינת בגרות ומטה)
• הציון:
1
תרגילים ,25%
בחינה סופית 75%
October 2013
:ספרות
Ward & Halstead, Computation Structures, MIT Press
)כולל חומר על חלקו הראשון של הקורס (תכן לוגי כללי
Hennessy & Patterson, Computer Organization and Design:
The Hardware/Software Interface
)כולל חומר על חלקו השני (תכן מחשב פשוט
October 2013
2
נושאי הקורס
Review
Standard Components
Introduction
and Memories
VHDL
Pipeline (WH8)
Datapath / controller (WH7)
MIPS Instructions (PH3.1-3.5, extra 3.6-3.11)
Datapath ALU (PH4.5, extra 4.6-4.8)
Single Cycle Controller (PH5.3)
Single Cycle Datapath (PH5.1-5.3)
Multi-Cycle Controller (PH5.4, extra 5.5)
Multi-Cycle Datapath (PH5.4)
Pipeline Controller (PH6.3)
Pipeline Datapath (PH6.2)
Communication (WH9)
October 2013
3
חזרה
• תזכורת קצרה על החומר מקורס מערכות
ספרתיות:
– שערים ,הפשטה ספרתית ,מערכת צירופית והמשטר
הסטטי
– Flip-Flop
– מערכות סדרתיות והמשטר הדינאמי
• חומר זה חיוני להבנת יתרת החומר בקורס
4
October 2013
עקרונות תכנון מערכות
• מודולריות
– לא לתכנן את כל המערכת בבת אחת
• מתכננים אבני בניה בסיסיות (מודולים)
• חיבור מודולים הוא מודול חדש
• ניתן להחליף מודול אחד בגרסה חדשה שלו מבלי לפגוע בשאר המערכת
– סטנדרטיזציה
• שימוש במספר קטן של מודולים "מקובלים"
• ידיעה מדויקת מראש מה מכיל וכיצד עובד כל מודול
– הפשטה
• פירוק בעיית התכן לרמות שונות ,הסתרת פרטים
5
October 2013
הפשטה
• המטרה :הקלה על התכנון וההבנה של מערכות מסובכות
• החלוקה המקובלת במחשבים:
–
–
–
–
–
שפה גבוהה
שפת מכונה
הרמה הלוגית/ספרתית
אלקטרוניקה /הרמה האנלוגית
פיזיקה
• כל רמה מבוססת על הרמה שמתחתיה .בכל רמה
מתעלמים מן הפרטים שברמה מתחתיה .נשתדל לפתור
כל בעיה ברמת ההפשטה הגבוהה ביותר שאפשר
• הפשטה :מעבר מרמה נמוכה לגבוהה .מימוש :מעבר
מרמה גבוהה לנמוכה
6
October 2013
• דוגמות:
– ייצוג ערך :מתח ברמה חשמלית ,סיבית ברמה
ספרתית ,משתנה בשפת מכונה
– מקומו של מספר :משתנה בשפת תכנות עלית ,כתובת
זיכרון בשפת מכונה .הכתובת היא "פרט מימוש "
ומוסתרת מהשפה העלית.
• מגבלות :הפשטה מחייבת שמירה על כללים
מגבילים
– לא כל מתח מתאים לייצוג ערך לוגי .לא בכל זמן
המתח אכן מייצג ערך לוגי (למשל לא בעת המעבר מ0-
ל)1-
7
October 2013
הפשטה ספרתית
• משתנה המיתוג הוא מתח חשמלי ,שיכול
לקבל כל ערך בתחום רציף
)V (volts
• נחלק את התחום לקטעים:
– מתח שמייצג ' '1ביציאות רכיב :גבוה מVOH -
VOH
– מתח שמייצג ' '1בכניסות רכיב :גבוה מVIH -
– מתח שמייצג ' '0בכניסות רכיב :נמוך מVIL -
– מתח שמייצג ' '0ביציאות רכיב :גבוה מVOL -
VIH
שולי רעש
VIL
– התחום בין VIHל" VIL -תחום אסור"
– שולי הרעש מתגברים על רעש המתווסף לאות
במעבר מרכיב אחד לשני.
8
VOL
October 2013
Operating Regions
Revisit transistor operating regions
Region
nMOS
pMOS
A
Cutoff
Linear
B
Saturation
Linear
C
Saturation
Saturation
D
Linear
Saturation
E
Linear
Cutoff
VDD
A
B
Vout
C
D
0
Vtn
VDD/2
E
VDD+Vtp
VDD
Vin
October 2013
9
Noise Margin
It determines the allowable noise at the input gate (0/1)
so the output (1/0) is not affected
Noise margin is closely related to input-output transfer
function
It is derived by driving two inverters connected in series
October 2013
10
October 2013
11
מדדי זמן ושיקולים נוספים ברכיבים צירופיים
• זמן זיהום המוצאtCD ,
• זמן התפשטות או שיהויtPD ,
• זמן עליית האות ביציאה ,trise ,וזמן ירידתוtfall ,
• בזמן שבו האות משתנה יתכן ויעבור ממצבו ההתחלתי
לסופי דרך ערכי ביניים
– ,Static hazardלמשל 0-1-0
– ,Dynamic hazardלמשל 0-1-0-1
12
October 2013
מערכת צירופית והמשטר הסטטי
• מחשבת פונקציית מיתוג של הכניסות
• אבני בנין:
– רכיבים צירופיים :שערים (למשל מערכת שלמה) ,מערכות
צירופיות קטנות יותר
– "חוטים"
• חוקי הרכבה של אבני הבניין:
– אסור לחבר משוב (מסלול מעגלי)
– כל כניסת רכיב מוזנת מכניסת המערכת או מיציאת רכיב אחר
(אין כניסות צפות)
– אסור לחרוג ממגבלות .fan-out
13
October 2013
• מערכת צירופית מקיימת משטר סטטי:
– אם הכניסות לרכיב ספרתי הן יציבות ותקפות (לכניסה) ,אזי
לאחר זמן התייצבות גם היציאות תהיינה יציבות ותקפות
(ליציאה)
• המשטר הסטטי מאפשר:
– בנית מערכות ספרתיות אמינות מרכיבים אנלוגיים לא
מדויקים
– הפחתת הרעש בכל רכיב ,מניעת הצטברותו בהתקדמות
החישוב על פני מספר רכיבים
– ייצור המוני וזול של רכיבים
14
October 2013
Flip-Flop
• נשתמש ב positive edge triggered D flip-flop -ובקיצור
DFF
– אפיון לוגי :היציאה Qלאחר עלית השעון שווה לכניסה Dלפני
העלייה.
• אפיון תזמון :אם הכניסה אינה משתנה במשך )SETUP( tSלפני
עליית השעון וכן במשך )HOLD( tHלאחר עלית השעון ,אז
– היציאה הישנה תישאר תקפה במשך לפחות tcCQלאחר עליית
השעון
– היציאה החדשה תהיה תקפה לכל המאוחר לאחר tpCQלאחר
עליית השעון
15
October 2013
הגדרת FSM
• מערכת העקיבה ממומשת ע"י מכונת מצבים
סופית ) .(Finite State-Machine, FSMהמערכת
מוגדרת באמצעות מרכיביה הבאים (מכונת
:)Mealy
– קבוצה סופית של מצבים } .S={s1,s2,…,sKאחד
מהם נקבע כמצב ההתחלתי .ניתן לייצג Kמצבים ע"י
) k=log2(Kמשתני מצב בינאריים.
– קבוצה סופית של כניסות בינאריות }X={x1,x2,…,xL
– קבוצה סופית של יציאות בינאריות }Z={z1,z2,…,zM
16
October 2013
– פונקצית מעבר ) l(SXSהמגדירה לכל צירוף של
מצב נוכחי siוערכי הכניסות x1,x2,…,xLאת המצב
הבא *.si
– פונקצית יציאה ) WMEALY(SXZהמגדירה לכל
צירוף של מצב נוכחי siוערכי הכניסות x1,x2,…,xL
את ערכי היציאות .z1,z2,…,zM
– תזמוני כניסה tS, tHותיזמוני יציאה .tcC-Q, tpC-Q
• במכונת Mooreפונקצית היציאה תלויה במצב
הנוכחי בלבד.WMOORE(SZ) :
17
October 2013
?Mealy אוMoore– מכונת מצבים
INPUTS
COMBINATIONAL
LOGIC
(OUT)
OUTPUTS
=F(PS, IN)
COMBINATIONAL
LOGIC
(NEXT STATE)
NEXT
STATE
PRESENT
STATE
MEALY
FSM
FLIP
FLOPS
INPUTS
COMBINATIONAL
LOGIC
(OUT)
OUTPUTS
=F(PS)
COMBINATIONAL
LOGIC
(NEXT STATE)
NEXT
STATE
PRESENT
STATE
MOORE
FSM
FLIP
FLOPS
October 2013
18
זמן המחזור:תזמון במכונת מצבים
INPUTS
COMBINATIONAL
LOGIC
PRESENT
STATE
OUTPUTS
NEXT
STATE
TPD
FLIP
FLOPS
TpC-Q
TSETUP
CLOCK
October 2013
19
לכניסותSETUP זמן:תזמון במכונת מצבים
INPUTS
OUTPUTS
COMBINATIONAL
LOGIC
NEXT
STATE
PRESENT
STATE
FLIP
FLOPS
TSETUP
CLOCK
October 2013
20
כללי התזמון למכונת מצבים
• בכדי להבטיח פעולה תקינה של מערכת עקיבה יש
להקפיד על:
– משך מחזור השעון :T
T tpC-Q+tpd(CL)+tS
– הכניסות למערכת הצירופית צריכות להיות תקפות בערכים
הנכונים במשך ) tS(inputלפני עליית השעון:
tS(input) tpd(CL)+tS
– tCDבמערכת הצירופית צריך להיות ארוך מ tH-של הזכרונות.
21
October 2013
תיקונים לכללי התזמון
• CLOCK SKEW
– במכונה סינכרונית לא תמיד השעון מגיע בו זמנית לכל הFF-
– צריך להאריך את מחזור השעון (להוריד תדר) על מנת לאפשר
זאת
– יתכן שצריך להוסיף השהיות tCDעל מנת להבטיח קיום tHבכל
FF
• כניסות אסינכרוניות
– כניסות חיצוניות עלולות לא לקיים תנאי SETUP, HOLD
– FFאחד או יותר עלולים להיכנס למצב על-יציב ()metastable
– יש לבנות מערכת חסינת על-יציבות.
22
October 2013
תיקונים לכללי התזמון
• המשטר הדינאמי מחייב את קיום התנאים הבאים:
–
–
–
–
23
מעגל ספרתי מורכב מרכיבים צירופיים ורכיבי זיכרון
מתוזמנים בלבד.
מעגל ספרתי אינו מכיל לולאות של רכיבים צירופיים .כל
לולאה חייבת להכיל לפחות רכיב זיכרון מתוזמן אחד.
מחזור השעון ארוך מספיק על מנת לספק את דרישות הזמן של
כל הרכיבים.
בכל הכניסות ,הרמות הלוגיות תהיינה יציבות למשך זמן
מספיק.
October 2013