SlideShare a Scribd company logo
1 of 19
Download to read offline
31270-
‫ארכיטקטורה‬
‫ומבנה‬‫מחשבים‬
‫תכנון‬ ‫תיק‬
‫מגישים‬:
‫אהרון‬ ‫אופיר‬-301033437
‫איזיק‬ ‫עמוס‬-301705711
:‫הקורס‬ ‫מרצה‬
‫שדה‬ ‫משה‬ ‫מר‬
‫הגשה‬ ‫תאריך‬:
4.2.16
6 Segment Pipeline
6 Segment Pipeline
1
‫עניינים‬ ‫תוכן‬
‫מבוא‬...........................................................................................................2
‫פקודות‬‫למימוש‬‫ב‬-CPU............................................................................2
‫קריטריונים‬‫לתכנון‬‫ה‬-CPU........................................................................2
‫תרשים‬‫מלבנים‬‫כללי‬....................................................................................3
‫תרשים‬‫מלבנים‬‫מפורט‬.................................................................................4
‫פירוט‬‫הסגמנטים‬‫ב‬-Pipeline......................................................................5
1.IF Segment........................................................................................5
2.ID Segment.......................................................................................6
.3MEM Segment..................................................................................6
4.EXE Segment....................................................................................7
5.EXE_JMP Segment..........................................................................8
6.WB Segment.....................................................................................8
‫סכמת‬‫סימולצית‬‫המעגל‬‫ב‬-Logisim............................................................9
‫מיקרו‬-‫פקודות‬............................................................................................10
‫טבלת‬‫אפשורים‬...........................................................................................12
‫תוכנית‬‫לביצוע‬..........................................................................................12
‫טבלת‬OpCodes.......................................................................................12
‫ניתוח‬‫זמן‬‫מסלול‬‫קריטי‬.............................................................................12
NOP Instructions...................................................................................13
‫טבלת‬‫צריבה‬.............................................................................................14
‫אופן‬‫פעולת‬‫המעגל‬.......................................................................................15
‫הגדרות‬‫והנחות‬‫ראשוניות‬..........................................................................15
‫יחידות‬‫החישוב‬‫במערכת‬............................................................................17
‫הוראות‬‫להפעלת‬‫המעגל‬.............................................................................18
6 Segment Pipeline
2
‫מבוא‬
‫בתיק‬-‫בארכיטקטורת‬ ‫מעבד‬ ‫תכנון‬ ‫מוצג‬ ‫זה‬ ‫תכנון‬Pipelines‫מיקרו‬ ‫של‬ ‫פקודות‬ ‫יישום‬ ‫עבור‬-
‫אינטל‬ ‫חברת‬ ‫של‬ ‫בקר‬8051‫מ‬ ‫מורכב‬ ‫המעבד‬ .6-‫בלוקים‬ ‫ידי‬ ‫על‬ ‫מזה‬ ‫זה‬ ‫המופרדים‬ ‫סגמנטים‬
‫"נועלי‬ ‫הנקראים‬"‫סגמנט‬(segment latch).
Pipeline‫כל‬ ‫לאחר‬ ‫כאשר‬ ‫אידיאלי‬ ‫נחשב‬Cycle.‫פקודה‬ ‫מסתיימת‬ ‫בודד‬
‫פקודות‬‫למימוש‬‫ב‬-CPU
DescriptionMnemonic
Add indirect RAM to Accumulator with carryiADDC A, @R
Decrement direct byteDEC direct
Exclusive-OR immediate data to AccumulatorXRL A, #data
Move direct byte to directMOV direct, direct
Jump indirect relative to the DPTRJMP @A+DPTR
i@R-‫רגיסטרים‬0R‫ו‬-1R‫המכילים‬‫נתון‬‫כ‬ ‫המשמש‬‫לז‬ ‫לפנייה‬ ‫כתובת‬‫י‬‫חיצוני‬ ‫כרון‬.
direct-8‫בזיכרון‬ ‫כתובת‬ ‫המייצגות‬ ‫סיביות‬RAM( ‫הפנימי‬0-127,)‫פקודות‬ ‫לאוגר‬ ‫או‬
‫מיוחדות‬(SFR – Special Function Register)‫בכתובות‬128-255.
DPTR-DATA POINTER‫בעל‬ ‫אוגר‬ ‫זהו‬16‫סיביות‬(2)‫בתים‬‫מוגדר‬ ‫שלנו‬ ‫בתכנון‬ ,
‫בגודל‬8-bit..‫חיצוני‬ ‫לזיכרון‬ ‫לגשת‬ ‫מנת‬ ‫על‬ ‫זה‬ ‫באוגר‬ ‫משתמשים‬
‫קריטריונים‬‫ל‬‫ה‬ ‫תכנון‬-CPU
1.DATA‫בגודל‬8-bit.
2.‫זיכרון‬RAM‫בעל‬BUS8-bit Address‫סה"כ‬ ,256-byte.
3.‫ה‬ ‫תכנון‬-CPU‫בארכיטקטורת‬PIPELINE‫בעלת‬6-.‫דרגות‬
4.‫הדגלים‬ ‫באוגר‬ ‫רלוונטיים‬ ‫דגלים‬ ‫עדכון‬-PSW.
5.‫ה‬ ‫הפקודות‬ ‫לחמשת‬ ‫רק‬ ‫יתייחס‬ ‫החומרה‬ ‫תכנון‬‫ב‬ ‫מוגדרות‬‫ה‬ ‫דרישות‬‫פרויקט‬.
6.‫יחידת‬ ‫ידי‬ ‫על‬ ‫מנוהלים‬ ‫הבקרה‬ ‫קווי‬‫ה‬-Control Unit.
‫התכנון‬ ‫במהלך‬‫הנת‬‫ו‬‫באוגרים‬ ‫נים‬:1R–0R,A‫ו‬-DPTR‫מוגדרים‬‫מראש‬‫לפני‬
‫ביצוע‬‫הפקודה‬‫ידנית‬ ‫בצורה‬ ‫הללו‬ ‫הנתונים‬ ‫את‬ ‫להזין‬ ‫יש‬ ‫הסימולציה‬ ‫(עבור‬‫כפי‬ ,
‫בהמשך‬ ‫שיוסבר‬).
‫קיימת‬‫התייחסות‬‫חלקית‬‫ל‬‫ה‬ ‫בעיות‬-Hazards‫להתמודד‬ ‫הצלחנו‬ ‫שאיתם‬.
6 Segment Pipeline
3
‫כללי‬ ‫מלבנים‬ ‫תרשים‬
6 Segment Pipeline
4
‫מפורט‬ ‫מלבנים‬ ‫תרשים‬
6 Segment Pipeline
5
‫ב‬ ‫הסגמנטים‬ ‫פירוט‬-ipelineP
1.IF Segment
(PC)PROGRAM COUNTER:
‫בעל‬ ‫מונה‬8‫לה‬ ‫שתפקידם‬ ‫סיביות‬‫על‬ ‫צביע‬‫כת‬‫בזיכרון‬ ‫שנמצאת‬ ‫הבאה‬ ‫הפקודה‬ ‫ובת‬‫ש‬‫מכיל‬‫את‬
‫ה‬-Opcodes‫וה‬-Operands( ‫שעון‬ ‫כל‬ ‫מתקדם‬ ‫המונה‬ .‫הרלוונטיים‬CLK)‫ב‬–1‫אם‬ ‫אלא‬ ,
‫פקודת‬ ‫הגיעה‬JMP @A+DPTR‫כאשר‬ ,‫לקפוץ‬ ‫צורך‬ ‫יש‬,‫המתקבלת‬ ‫בתוצאה‬ ‫נטען‬ ‫הוא‬
‫מה‬-ALU_OUT_2‫הרלוונטית‬ ‫לכתובת‬ ‫בהתאמה‬ ‫וקופץ‬.
‫קבלת‬ ‫בעת‬ .‫מאופשר‬ ‫ותמיד‬ ‫מעלה‬ ‫סופר‬ ‫תמיד‬ ‫זה‬ ‫מונה‬RESET‫ל‬ ‫מתעדכן‬ ‫ערכו‬-0000H.
/ ROM_OP_1 / ROM_OP_2ROM_Prog:
‫זו‬ ‫יחידה‬‫מחולקת‬‫ל‬-3‫של‬ ‫כתובות‬ ‫מרחב‬ ‫בעלי‬ ‫נפרדים‬ ‫זיכרונות‬256 BYTES‫ו‬-BUS‫נתונים‬
‫של‬24-bits‫ל‬ ‫מחולק‬ ‫אשר‬-8-bits‫עבור‬(IR) OPCODE,
8-bits‫עבור‬Operand_1‫ו‬-8-bits‫עבור‬Operand_2.
‫והיציאות‬ ‫זו‬ ‫יחידה‬ .‫לו‬ ‫המיועד‬ ‫למקום‬ ‫מנותב‬ ‫אחד‬ ‫כל‬.‫תמיד‬ ‫מאופשרות‬ ‫שלה‬
UNIT (C.U)CONTROL:
‫פקודה‬ ‫לכל‬ ‫הנדרשים‬ ‫האפשורים‬ ‫את‬ ‫מוציאה‬ ‫זו‬ ‫יחידה‬ ,‫המערכת‬ ‫של‬ ‫הבקרה‬ ‫יחידת‬ ‫זוהי‬
.‫השונים‬ ‫הסגמנטים‬ ‫בין‬ ‫במעבר‬ ‫התקדמותה‬ ‫במשך‬
‫מזיכרון‬ ‫בנויה‬ ‫זו‬ ‫יחידה‬ROM‫ה‬ ‫לפי‬ ‫צרובות‬ ‫הבקרה‬ ‫וסיביות‬-OPCODE.‫המתאים‬
‫מקמנו‬‫לפני‬‫זו‬ ‫יחידה‬‫נועל‬(IF/ID.‫ריצה‬ ‫בזמן‬ ‫בכניסה‬ ‫רצויים‬ ‫לא‬ ‫שינויים‬ ‫למנוע‬ ‫כדי‬ )
ID SEGMENT LATCH/IF:
‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלאחריו‬ ‫הסגמנט‬ ‫עבור‬ ‫שלו‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬
:‫האוגרים‬ ‫תוכן‬ ,‫הבקרה‬ ‫סיביות‬ ‫את‬ ‫בתוכו‬ ‫מכיל‬ ‫זה‬, OP_2 , OP_1 , IR1R-0R.
‫נועל‬‫זה‬‫מאופשר‬‫קבוע‬.
6 Segment Pipeline
6
2.SegmentDI
_1MUX:
‫את‬ ‫הלאה‬ ‫להעביר‬ ‫אם‬ ‫אליו‬ ‫המגיע‬ ‫הבקרה‬ ‫קו‬ ‫ע"פ‬ ‫בוחר‬ ‫זה‬ ‫מרבב‬:‫של‬ ‫הכתובת‬
/ OP_11/ R0R,' ‫ע"י‬ ‫תמיד‬ ‫מאופשר‬ ‫זה‬ ‫מרבב‬ .‫שהגיעה‬ ‫לפקודה‬ ‫בהתאם‬1‫ברגל‬ '
MUX_EN.
MEM SEGMENT LATCH/ID:
‫מכיל‬ ‫זה‬ ‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלפניו‬ ‫מהסגמנט‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬
‫את‬ ‫בתוכו‬‫כתובות‬:‫האוגרים‬1R–0R,OP_1,OP_2‫לתוכ‬ ‫לכתוב‬ ‫שיש‬‫ה‬ ‫למוצא‬ ‫בהתאם‬ ,‫ם‬-
MUX,‫ש‬ ‫בעוד‬-TEMP_1‫ש‬ ‫המידע‬ ‫את‬ ‫מכיל‬‫מ‬ ‫ישירות‬ ‫מועבר‬-OP_1(‫נדרש‬ ‫כאשר‬‫לצורך‬
‫ב‬ ‫שרצה‬ ‫הפקודה‬CYCLE).
3.MEM Segment
DATARAM:
.‫שלו‬ ‫הבקרה‬ ‫רגלי‬ ‫ע"י‬ ‫המאופשר‬ ‫זיכרון‬ ‫רכיב‬
‫קו‬‫וי‬‫הבקרה‬RD/WR‫משמש‬‫ים‬‫בין‬ ‫לבחור‬‫לזיכרון‬ ‫כתיבה‬ ‫או‬ ‫קריאה‬ ‫אופציית‬.
SEGMENT LATCHEXE/MEM:
‫מכיל‬ ‫זה‬ ‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלפניו‬ ‫מהסגמנט‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬
‫את‬ ‫בתוכו‬‫תוכן‬:‫האוגרים‬TEMP_2,VALUE–‫שהתקבל‬ ‫האופרנד‬ ‫את‬ ‫המכיל‬‫בהתאם‬
‫ה‬ ‫לזיכרון‬ ‫שניתנה‬ ‫לכתובת‬-RAM,‫ואוגר‬A–‫כלשהו‬ ‫באופרנד‬ ‫מאותחל‬ ‫כי‬ ‫מניחים‬ ‫אשר‬
‫ל‬ ‫בנוסף‬ ‫ומשמש‬ ‫מראש‬‫שמירת‬‫ה‬ ‫סגמנט‬ ‫במוצא‬ ‫המתקבלת‬ ‫התוצאה‬-WB.
6 Segment Pipeline
7
4.SegmentEXE
_1ALU:
‫ה‬ ‫תפקיד‬-ALU_1‫חיבור‬ ‫לבצע‬‫בין‬‫האופרנדים‬:TEMP_2/VALUE/A‫הפקודה‬ ‫לפי‬
‫ב‬ ‫הרצה‬-Cycle.‫הנוכחי‬‫התוצאה‬ ‫את‬‫טוענים‬ ‫אנו‬‫ל‬ ‫חזרה‬‫אוגר‬ALU_OUT_1‫בנועל‬
.‫הסגמנט‬
‫המעגל‬ ‫פעולת‬ ‫אופן‬ALU_1.‫בהמשך‬ ‫מפורט‬
PSW:
‫דגל‬ ‫את‬ ‫המכיל‬ ‫אוגר‬ ‫זהו‬-‫הנשא‬(Carry Flag)‫אחרי‬ ‫שעון‬ ‫בעליית‬ ‫מתעדכן‬ ‫הוא‬ ,‫ביצוע‬
:‫הפקודה‬i@RADDC A,‫ב‬ .‫עת‬‫אתחול‬ ‫ביצוע‬,.‫מתאפס‬ ‫זה‬ ‫אוגר‬
-‫ה‬ ‫שלנו‬ ‫לפקודות‬ ‫הרלוונטי‬ ‫הדגל‬‫וא‬‫ה‬ ‫דגל‬-CY.‫נשא‬ ‫מסמן‬ ‫זה‬ ‫דגל‬ :
LATCHEXE_JMP/EXE:
‫ב‬ ‫שהתבצע‬ ‫החישוב‬ ‫של‬ ‫התוצאה‬ ‫את‬-ALU_1‫לאוגר‬ ‫טוענים‬ ‫אנו‬ALU_OUT_1.‫בנועל‬
‫זה‬ ‫נועל‬‫את‬ ‫בנוסף‬ ‫מכיל‬‫ה‬‫אוגר‬DPTR,‫אשר‬‫הידוע‬ ‫כלשהו‬ ‫בערך‬ ‫מאותחל‬‫ביצוע‬ ‫לפני‬ ,‫מראש‬
.‫הפקודה‬
6 Segment Pipeline
8
5._JMP SegmentEXE
_2ALU:
‫ה‬ ‫תפקיד‬-ALU_2:‫האופרנדים‬ ‫בין‬ ‫חיבור‬ ‫לבצע‬ALU_OUT_1‫ו‬-DPTR‫כאשר‬‫הפקודה‬
‫ב‬ ‫הרצה‬-Cycle‫הנוכחי‬:‫היא‬JMP @A+DPTR‫תבוצע‬ ‫שאליה‬ ‫הכתובת‬ ‫חישוב‬ ‫לשם‬
‫הקפיצה‬.
‫לאוגר‬ ‫טוענים‬ ‫אנו‬ ‫התוצאה‬ ‫את‬ALU_OUT_2.‫הסגמנט‬ ‫בנועל‬
‫המעגל‬ ‫פעולת‬ ‫אופן‬ALU_2.‫בהמשך‬ ‫מפורט‬
LATCHEXE_JMP/WB:
‫ב‬ ‫שהתבצע‬ ‫החישוב‬ ‫של‬ ‫התוצאה‬ ‫את‬-ALU_2‫לאוגר‬ ‫טוענים‬ ‫אנו‬ALU_OUT_2.‫בנועל‬
6.WB Segment
DEMUX:
‫רכיב‬‫זה‬‫מעביר‬‫ה‬ ‫את‬‫תוצאה‬‫ש‬‫ל‬ ‫נטענה‬-ALU_OUT_2‫היעד‬ ‫אוגר‬ ‫אל‬,‫בהתאם‬‫לקווי‬
‫הבקרה‬.
6 Segment Pipeline
9
‫סכמת‬‫סימו‬‫ל‬‫המעגל‬ ‫צית‬‫ב‬-Logisim
6 Segment Pipeline
10
‫מיקרו‬-‫פקודות‬
i@RADDC A,
IF/ID.IR  (PC) {ROM PROG}
IF
PC  PC+1
ID/MEM.MAR_1  IF/ID.RiID
MEM/EXE.VALUE  (MAR 1)MEM
EXE/EXE_JMP.ALU_OUT_1  A+VALUE+CARRYEXE
EXE_JMP/WB.ALU_OUT_2  EXE/EXE_JMP.ALU_OUT_1EXE_JMP
A  EXE/EXE_JMP.ALU_OUT_2WB
DEC DIRECT
IF/ID.IR  (PC) {ROM PROG}
IF
IF/ID.OP_1  (PC) {ROM OP 1}
IF/ID.OP_2  (PC) {ROM OP 2}
PC  PC+1
ID/MEM.MAR_1  IF/ID.OP_1ID
ID/MEM.MAR_2  IF/ID.OP_2
(MAR 2)  (MAR 1) - 1MEM
NOPEXE
NOPEXE_JMP
NOPWB
NOP-‫לשינו‬ ‫גורמת‬ ‫אינה‬ ‫זו‬ ‫פקודה‬‫של‬ ‫בתכולה‬ ‫כלשהם‬ ‫יים‬
‫אלא‬ ‫האוגרים‬‫רק‬‫ה‬ ‫את‬ ‫מקדמת‬-PC‫א‬‫ל‬‫ה‬.‫הבאה‬ ‫פקודה‬
6 Segment Pipeline
11
XRL A, #DATA
IF/ID.IR  (PC) {ROM PROG}
IF IF/ID.OP_1  (PC) {ROM OP1}
PC  PC+1
ID/MEM.TEMP_1  IF/ID.OP_1ID
MEM/EXE.TEMP_2  ID/MEM.TEMP_1MEM
EXE/EXE_JMP.ALU_OUT_1  A XOR TEMP_2EXE
EXE_JMP/WB.ALU_OUT_2  EXE/EXE_JMP.ALU_OUT_1EXE_JMP
A  EXE_JMP/WB.ALU_OUT_2WB
MOV DIRECT, DIRECT
IF/ID.IR  (PC) {ROM PROG}
IF
IF/ID.OP_1  (PC) {ROM OP1}
IF/ID.OP_2  (PC) {ROM OP2}
PC  PC+1
ID/MEM.MAR_1  IF/ID.OP_1ID
ID/MEM.MAR_2  IF/ID.OP_2
(MAR 2)  (MAR 1)MEM
NOPEXE
NOPEXE_JMP
NOPWB
JMP @A+DPTR
IF/ID.IR  (PC) {ROM PROG}IF
NOPID
NOPMEM
EXE/EXE_JMP.ALU_OUT_1  AEXE
EXE_JMP/WB.ALU_OUT_2  ALU_OUT_1+DPTREXE_JMP
PC  EXE_JMP/WB.ALU_OUT_2WB
6 Segment Pipeline
12
‫אפשורים‬ ‫טבלת‬
‫ת‬‫לביצוע‬ ‫וכנית‬
0ADDC A, @R
DEC 08H
XRL A, #03H
MOV 09H, 08H
JMP @A+DPTR
‫טבלת‬OpCodes
CYCLES OPCODE HEX CONTROL BITS HEX
ADDC A, @R0 6 01 6CDB4
ADDC A, @R1 6 02 74DB4
DEC DIRECT 3 03 67C00
XRL A, #DATA 6 04 803D4
MOV DIRECT, DIRECT 3 05 66C00
JMP @A+DPTR 6 06 15B
‫בתוכנית‬ ‫שמופיע‬ ‫ראשונה‬ ‫פקודה‬ ‫כל‬ ‫עבור‬ ‫כי‬ ‫לציין‬ ‫חשוב‬,‫לחכות‬ ‫צריך‬CYCLE‫אחד‬
‫עד‬‫תתחיל‬ ‫שהתוכנית‬‫ב‬ ‫לרוץ‬-Pipe.
‫זמן‬ ‫ניתוח‬‫קריטי‬ ‫מסלול‬
1. TCLK ≥ tpdXOR + tpdMUX + tpcqValue + tsuALU_OUT_1
2. ThALU_OUT_1 ≤ tpdXOR + tpdMUX + tccqValue
6 Segment Pipeline
13
snstructionINOP
ADDC A,@Ri DEC DIRECT XRL A,#DATA MOV DIRECT DIRECT JMP @A+DPTR
ADDC A, @Ri 2 1 2 1 2
DEC DIRECT 1 0 0 1 0
XRL A, #DATA 2 0 0 0 2
MOV DIRECT, DIRECT 1 1 0 1 0
JMP @A+DPTR 6 6 6 6 6
‫ה‬ ‫כמות‬-NOP(Null Operation)‫בעיות‬ ‫מניעת‬ ‫לשם‬ ‫פקודות‬ ‫בין‬ ‫לשים‬ ‫שיש‬HAZARDS.
-‫ל‬‫דוגמא‬,,‫המודגשת‬ ‫בשורה‬ ‫נתבונן‬ ‫אם‬‫פקודת‬ ‫עבור‬DEC DIRECT‫את‬ ‫ישר‬ ‫אחריה‬ ‫לשים‬ ‫נוכל‬
‫הפקודה‬XRL A, #DATA.
‫הפקודה‬ ‫את‬ ‫לשים‬ ‫נרצה‬ ‫אם‬iADDC A, @R,‫פקוד‬ ‫לשים‬ ‫נצטרך‬‫ת‬NOP‫בינ‬‫י‬.‫הם‬
6 Segment Pipeline
14
‫צריבה‬ ‫טבלת‬
OP1 OP2
LD
TEMP
1
LD
MAR1
LD
MAR2 S1 S0
RD
RAM
WR
RAM
CONTROL
RAM
OE
MAR1
OE
MAR2
LD
TEMP
2
LD
ALU
OUT1
OP2
ALU
1
OP1
ALU
1
LD
PSW
LD
ALU
OUT
2
OP
ALU
2
LD
A DEMUX
MUX
PC
ADDC A, @R0 0 0 1 1 1 1 1 1 1 1 1 1 1 6CDB4
ADDC A, @R1 0 0 1 1 1 1 1 1 1 1 1 1 1 74DB4
DEC DIRECT Addr Addr 1 1 1 1 1 1 1 67C00
XRL A, #DATA Data 0 1 1 1 1 1 1 1 803D4
MOV DIRECT,
DIRECT Addr Addr 1 1 1 1 1 1 66C00
JMP @A+DPTR
0 0 1 1 1 1 1 1 15B
NOP 0 0 0
6 Segment Pipeline
15
‫אופן‬‫המעגל‬ ‫פעולת‬
‫לביצוע‬ ‫תוכנית‬
0ADDC A, @R
DEC 08H
XRL A, #03H
MOV 09H, 08H
JMP @A+DPTR
‫הגדרות‬‫והנחות‬‫ראשוניות‬
1.‫פקודת‬ ‫עבור‬DEC DIRECT:
‫להזין‬ ‫יש‬‫ב‬ ‫גם‬ ‫ממנה‬ ‫לחסר‬ ‫שנרצה‬ ‫כתובת‬ ‫אותה‬ ‫את‬-ROM OPERAND_1‫ב‬ ‫וגם‬-
ROM OPERAND_2.
2.‫פקודת‬ ‫עבור‬DIRECT,MOV DIRECT:
‫ל‬ ‫נצרוב‬-ROM OPERAND_1‫ועבור‬ ‫המקור‬ ‫כתובת‬ ‫את‬ROM OPERAND_2‫את‬
‫היעד‬ ‫כתובת‬‫ההעברה‬ ‫את‬ ‫לבצע‬ ‫נרצה‬ ‫שאליה‬.
3.‫הדגלים‬ ‫אוגר‬PSW‫מפקודת‬ ‫ורק‬ ‫אך‬ ‫מושפע‬iADDC A, @R.
4.‫על‬ ‫עובדת‬ ‫המערכת‬‫פי‬2–‫שעונים‬:
‫עבור‬ ‫אחד‬‫סגמנט‬‫ה‬-MEM‫ו‬‫השני‬‫כל‬ ‫עבור‬‫יתר‬‫יחידות‬‫ה‬-SEGMENTS‫האחרות‬.
5.‫ז‬‫י‬‫של‬ ‫התוכנית‬ ‫כרון‬‫נ‬:‫הבאה‬ ‫בצורה‬ ‫צרוב‬ ‫ו‬
‫שבמ‬ ‫לראות‬ ‫ניתן‬‫י‬‫קו‬‫שצוינה‬ ‫בטבלה‬ ‫התחשבות‬ ‫יש‬ ‫הפקודות‬ ‫ם‬‫הקודמים‬ ‫בעמודים‬
‫בנוגע‬‫ל‬‫ה‬ ‫כמות‬-NOPs‫להתקיים‬ ‫שצריכים‬‫לפקודה‬ ‫פקודה‬ ‫בין‬:
-‫בין‬‫ה‬‫פקודה‬(05) MOV DIRECT, DIRECT‫לבין‬JMP @A+DPTR(06)
‫הפרד‬ ‫לשים‬ ‫צורך‬ ‫אין‬‫ה‬‫של‬NOP.
-‫אך‬‫מאחר‬‫פקודת‬ ‫ובין‬XRL A, #DATA(04)‫ל‬‫פקודת‬ ‫בין‬
JMP @A+DPTR(06‫ב‬ ‫צורך‬ ‫יש‬ )‫של‬ ‫הפרדה‬‫פקודות‬ ‫שתי‬NOP,‫לשים‬ ‫נאלצנו‬
‫פקודת‬NOP‫בין‬‫פקודת‬MOV DIRECT, DIRECT‫לבין‬‫פקודת‬
JMP @A+DPTR.
6 Segment Pipeline
16
6.‫במהלך‬‫תכנון‬,‫המערכת‬‫במטרה‬‫המערכת‬ ‫את‬ ‫לייעל‬,‫ל‬‫שם‬‫מניעת‬‫בעיית‬Data Hazard
‫בשיטת‬ ‫השתמשנו‬Data Forwarding.
‫בעיית‬Data Hazard‫שצריכה‬ ‫נוכחית‬ ‫מפעולה‬ ‫כתוצאה‬ ‫בצינור‬ "‫ל"עיקוב‬ ‫לגרום‬ ‫יכולה‬
‫פעולה‬ ‫של‬ ‫לתוצאה‬ ‫להמתין‬-.‫הסתיימה‬ ‫לא‬ ‫שעדיין‬ ‫מוקדמת‬
-‫ה‬ ‫שיטת‬ ‫נכנסת‬ ‫כאן‬-Data Forwarding‫ו‬‫ביטוי‬ ‫לידי‬ ‫באה‬‫בסגמנט‬MEM,‫כאשר‬
‫מז‬ ‫הקריאה‬ ‫תוצאת‬‫י‬‫ה‬ ‫כרון‬-RAM‫מנותבת‬‫הז‬ ‫לכניסת‬‫י‬‫כרון‬‫מתאפשרת‬ ‫ובכך‬
‫וכתיבה‬ ‫קריאה‬‫באותו‬ ‫לזכרון‬CYCLE‫בהמתנה‬ ‫צורך‬ ‫ללא‬ ,‫נוכחי‬.
‫ה‬ ‫טכניקת‬-Data Forwarding‫מ‬‫מומשת‬‫כפול‬ ‫בשעון‬ ‫שימוש‬ ‫ע"י‬‫ובכך‬‫מת‬‫אפשר‬‫ת‬
‫וכתיבה‬ ‫קריאה‬‫בודד‬ ‫שעון‬ ‫מחזור‬ ‫תוך‬.‫הסגמנטים‬ ‫שאר‬ ‫של‬
‫ביטוי‬ ‫לידי‬ ‫באה‬ ‫זו‬ ‫שיטה‬‫ה‬ ‫ביצוע‬ ‫בעת‬‫פקודות‬DEC DIRECT
‫ו‬-MOV DIRECT, DIRECT.
-‫אופן‬‫מימוש‬‫התדר‬ ‫חלוקת‬‫מתבצעת‬‫באמצעות‬D-FF:
6 Segment Pipeline
17
‫ה‬ ‫יחידות‬‫ב‬ ‫חישוב‬‫מערכת‬
1.1_ALU:
‫מערכת‬‫זו‬‫כוללת‬3-‫כניסות‬‫ויצ‬‫אחת‬ ‫יאה‬‫אשר‬‫מבוקרת‬‫ע‬"‫י‬‫רגל‬‫י‬‫הבקרה‬
OP1_ALU1‫ו‬-.OP2_ALU1
‫עבור‬' 00 ':‫היציאה‬‫תהיה‬.‫מאופסת‬
‫עבור‬: ' 01 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬A.
‫עבור‬10 '':‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬+CARRYiA+@R.
‫עבור‬: ' 11 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬A XOR TEMP_2.
2.ALU_2:
‫מערכת‬‫זו‬‫כוללת‬2-‫כניסות‬‫ויצ‬‫י‬‫אה‬‫אחת‬‫אשר‬‫מבוקרת‬‫ע‬"‫י‬‫רגל‬‫הבקרה‬OP_ALU_2.
‫עבור‬' 0 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬ALU_OUT_1.
‫עבור‬' 1 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬DPTR+ALU_OUT_1.
‫בפקודת‬ ‫לטפל‬ ‫זו‬ ‫מערכת‬ ‫תפקיד‬JMP @A+DPTR.
6 Segment Pipeline
18
‫המעגל‬ ‫להפעלת‬ ‫הוראות‬
1.‫המצורפים‬ ‫הקבצים‬ ‫את‬ ‫טען‬:
ROM PROG, ROM OPERAND_1, ROM OPERAND_2,
RAM DATA, CONTROL ROM
‫בהתאמה‬‫לז‬‫י‬‫המערכת‬ ‫כרונות‬.
2.‫לחצן‬ "‫ע‬ ‫המערכת‬ ‫את‬ ‫אפס‬‫ה‬-RESET.‫המעגל‬ ‫במרכז‬ ‫הממוקם‬
3.‫באוגר‬ ‫כי‬ ‫וודא‬0R‫הערך‬ ‫מוזן‬H02.
4.‫הזן‬‫ה‬ ‫את‬‫ערך‬10‫ל‬‫ה‬ ‫אוגר‬-DPTR‫לצורך‬‫ביצוע‬‫פקודת‬JMP @A+DPTR.
5.‫בעזרת‬ ‫התוכנית‬ ‫את‬ ‫הרץ‬‫על‬ ‫לחיצה‬‫השעון‬(CLK).
‫זה‬ ‫שעון‬ ‫כי‬ ‫זכור‬‫מוגדר‬‫עבור‬‫ה‬ ‫סגמנט‬-MEM‫והוא‬‫כפולה‬‫של‬‫התדר‬‫ה‬‫לשאר‬ ‫מוזן‬
‫ב‬ ‫הסגמנטים‬-PIPE.
‫ת‬ ‫לכתוב‬ ‫וברצונך‬ ‫במידה‬‫שצרוב‬ ‫ממה‬ ‫השונה‬ ‫כנית‬,‫מועד‬ ‫מבעוד‬‫לה‬ ‫עליך‬‫י‬‫בטבל‬ ‫עזר‬‫ת‬
‫הפקודות‬‫למניעת‬HAZARDS‫וכן‬‫להת‬‫י‬‫ל‬ ‫יחס‬-‫הגדרות‬‫ה‬ ‫והנחות‬‫ראשוניות‬.‫שהוצגו‬
‫תוצאות‬‫התוכנית‬:
:‫הבאות‬ ‫התוצאות‬ ‫תתקבלנה‬ ‫התוכנית‬ ‫בסיום‬
‫האוגר‬A‫בערך‬ ‫מוזן‬ ‫יהיה‬0CH‫מפעולת‬ ‫כתוצאה‬XOR‫של‬FH0(‫מוזן‬ ‫שהיה‬ ‫הערך‬
‫באוגר‬ ‫שהופיעה‬ ‫בכתובת‬0R).
‫מ‬ ‫גם‬ ‫כי‬ ‫לראות‬ ‫ניתן‬‫ה‬‫בכתובת‬ ‫ערך‬H08‫לכתובת‬ ‫הועתקה‬ ‫והתוצאה‬ ‫אחד‬ ‫הוחסר‬H09
‫שצוי‬ ‫כפי‬‫ב‬ ‫ן‬‫ה‬ ‫קוד‬.‫תוכנית‬
‫לראות‬ ‫ניתן‬‫שערך‬‫ה‬-PC"‫קפץ‬"‫ל‬‫ערך‬C1‫מ‬ ‫כתוצאה‬‫ביצוע‬‫פעולת‬‫ה‬-JMP.
‫שינויי‬‫ערכים‬‫במהלך‬‫התוכנית‬ ‫הרצת‬:
0FHA=0@RADDC A,
DEC 08H  (08H)= #04H
XRL A, #03H  A= 0CH
MOV 09H, 08H  (09H)= (08H)= #04H
JMP @A+DPTR  PC= 1CH

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Final Project - 6 Segment Pipeline - Aharon Ofir & Aizik Amos

  • 1. 31270- ‫ארכיטקטורה‬ ‫ומבנה‬‫מחשבים‬ ‫תכנון‬ ‫תיק‬ ‫מגישים‬: ‫אהרון‬ ‫אופיר‬-301033437 ‫איזיק‬ ‫עמוס‬-301705711 :‫הקורס‬ ‫מרצה‬ ‫שדה‬ ‫משה‬ ‫מר‬ ‫הגשה‬ ‫תאריך‬: 4.2.16 6 Segment Pipeline
  • 2. 6 Segment Pipeline 1 ‫עניינים‬ ‫תוכן‬ ‫מבוא‬...........................................................................................................2 ‫פקודות‬‫למימוש‬‫ב‬-CPU............................................................................2 ‫קריטריונים‬‫לתכנון‬‫ה‬-CPU........................................................................2 ‫תרשים‬‫מלבנים‬‫כללי‬....................................................................................3 ‫תרשים‬‫מלבנים‬‫מפורט‬.................................................................................4 ‫פירוט‬‫הסגמנטים‬‫ב‬-Pipeline......................................................................5 1.IF Segment........................................................................................5 2.ID Segment.......................................................................................6 .3MEM Segment..................................................................................6 4.EXE Segment....................................................................................7 5.EXE_JMP Segment..........................................................................8 6.WB Segment.....................................................................................8 ‫סכמת‬‫סימולצית‬‫המעגל‬‫ב‬-Logisim............................................................9 ‫מיקרו‬-‫פקודות‬............................................................................................10 ‫טבלת‬‫אפשורים‬...........................................................................................12 ‫תוכנית‬‫לביצוע‬..........................................................................................12 ‫טבלת‬OpCodes.......................................................................................12 ‫ניתוח‬‫זמן‬‫מסלול‬‫קריטי‬.............................................................................12 NOP Instructions...................................................................................13 ‫טבלת‬‫צריבה‬.............................................................................................14 ‫אופן‬‫פעולת‬‫המעגל‬.......................................................................................15 ‫הגדרות‬‫והנחות‬‫ראשוניות‬..........................................................................15 ‫יחידות‬‫החישוב‬‫במערכת‬............................................................................17 ‫הוראות‬‫להפעלת‬‫המעגל‬.............................................................................18
  • 3. 6 Segment Pipeline 2 ‫מבוא‬ ‫בתיק‬-‫בארכיטקטורת‬ ‫מעבד‬ ‫תכנון‬ ‫מוצג‬ ‫זה‬ ‫תכנון‬Pipelines‫מיקרו‬ ‫של‬ ‫פקודות‬ ‫יישום‬ ‫עבור‬- ‫אינטל‬ ‫חברת‬ ‫של‬ ‫בקר‬8051‫מ‬ ‫מורכב‬ ‫המעבד‬ .6-‫בלוקים‬ ‫ידי‬ ‫על‬ ‫מזה‬ ‫זה‬ ‫המופרדים‬ ‫סגמנטים‬ ‫"נועלי‬ ‫הנקראים‬"‫סגמנט‬(segment latch). Pipeline‫כל‬ ‫לאחר‬ ‫כאשר‬ ‫אידיאלי‬ ‫נחשב‬Cycle.‫פקודה‬ ‫מסתיימת‬ ‫בודד‬ ‫פקודות‬‫למימוש‬‫ב‬-CPU DescriptionMnemonic Add indirect RAM to Accumulator with carryiADDC A, @R Decrement direct byteDEC direct Exclusive-OR immediate data to AccumulatorXRL A, #data Move direct byte to directMOV direct, direct Jump indirect relative to the DPTRJMP @A+DPTR i@R-‫רגיסטרים‬0R‫ו‬-1R‫המכילים‬‫נתון‬‫כ‬ ‫המשמש‬‫לז‬ ‫לפנייה‬ ‫כתובת‬‫י‬‫חיצוני‬ ‫כרון‬. direct-8‫בזיכרון‬ ‫כתובת‬ ‫המייצגות‬ ‫סיביות‬RAM( ‫הפנימי‬0-127,)‫פקודות‬ ‫לאוגר‬ ‫או‬ ‫מיוחדות‬(SFR – Special Function Register)‫בכתובות‬128-255. DPTR-DATA POINTER‫בעל‬ ‫אוגר‬ ‫זהו‬16‫סיביות‬(2)‫בתים‬‫מוגדר‬ ‫שלנו‬ ‫בתכנון‬ , ‫בגודל‬8-bit..‫חיצוני‬ ‫לזיכרון‬ ‫לגשת‬ ‫מנת‬ ‫על‬ ‫זה‬ ‫באוגר‬ ‫משתמשים‬ ‫קריטריונים‬‫ל‬‫ה‬ ‫תכנון‬-CPU 1.DATA‫בגודל‬8-bit. 2.‫זיכרון‬RAM‫בעל‬BUS8-bit Address‫סה"כ‬ ,256-byte. 3.‫ה‬ ‫תכנון‬-CPU‫בארכיטקטורת‬PIPELINE‫בעלת‬6-.‫דרגות‬ 4.‫הדגלים‬ ‫באוגר‬ ‫רלוונטיים‬ ‫דגלים‬ ‫עדכון‬-PSW. 5.‫ה‬ ‫הפקודות‬ ‫לחמשת‬ ‫רק‬ ‫יתייחס‬ ‫החומרה‬ ‫תכנון‬‫ב‬ ‫מוגדרות‬‫ה‬ ‫דרישות‬‫פרויקט‬. 6.‫יחידת‬ ‫ידי‬ ‫על‬ ‫מנוהלים‬ ‫הבקרה‬ ‫קווי‬‫ה‬-Control Unit. ‫התכנון‬ ‫במהלך‬‫הנת‬‫ו‬‫באוגרים‬ ‫נים‬:1R–0R,A‫ו‬-DPTR‫מוגדרים‬‫מראש‬‫לפני‬ ‫ביצוע‬‫הפקודה‬‫ידנית‬ ‫בצורה‬ ‫הללו‬ ‫הנתונים‬ ‫את‬ ‫להזין‬ ‫יש‬ ‫הסימולציה‬ ‫(עבור‬‫כפי‬ , ‫בהמשך‬ ‫שיוסבר‬). ‫קיימת‬‫התייחסות‬‫חלקית‬‫ל‬‫ה‬ ‫בעיות‬-Hazards‫להתמודד‬ ‫הצלחנו‬ ‫שאיתם‬.
  • 4. 6 Segment Pipeline 3 ‫כללי‬ ‫מלבנים‬ ‫תרשים‬
  • 5. 6 Segment Pipeline 4 ‫מפורט‬ ‫מלבנים‬ ‫תרשים‬
  • 6. 6 Segment Pipeline 5 ‫ב‬ ‫הסגמנטים‬ ‫פירוט‬-ipelineP 1.IF Segment (PC)PROGRAM COUNTER: ‫בעל‬ ‫מונה‬8‫לה‬ ‫שתפקידם‬ ‫סיביות‬‫על‬ ‫צביע‬‫כת‬‫בזיכרון‬ ‫שנמצאת‬ ‫הבאה‬ ‫הפקודה‬ ‫ובת‬‫ש‬‫מכיל‬‫את‬ ‫ה‬-Opcodes‫וה‬-Operands( ‫שעון‬ ‫כל‬ ‫מתקדם‬ ‫המונה‬ .‫הרלוונטיים‬CLK)‫ב‬–1‫אם‬ ‫אלא‬ , ‫פקודת‬ ‫הגיעה‬JMP @A+DPTR‫כאשר‬ ,‫לקפוץ‬ ‫צורך‬ ‫יש‬,‫המתקבלת‬ ‫בתוצאה‬ ‫נטען‬ ‫הוא‬ ‫מה‬-ALU_OUT_2‫הרלוונטית‬ ‫לכתובת‬ ‫בהתאמה‬ ‫וקופץ‬. ‫קבלת‬ ‫בעת‬ .‫מאופשר‬ ‫ותמיד‬ ‫מעלה‬ ‫סופר‬ ‫תמיד‬ ‫זה‬ ‫מונה‬RESET‫ל‬ ‫מתעדכן‬ ‫ערכו‬-0000H. / ROM_OP_1 / ROM_OP_2ROM_Prog: ‫זו‬ ‫יחידה‬‫מחולקת‬‫ל‬-3‫של‬ ‫כתובות‬ ‫מרחב‬ ‫בעלי‬ ‫נפרדים‬ ‫זיכרונות‬256 BYTES‫ו‬-BUS‫נתונים‬ ‫של‬24-bits‫ל‬ ‫מחולק‬ ‫אשר‬-8-bits‫עבור‬(IR) OPCODE, 8-bits‫עבור‬Operand_1‫ו‬-8-bits‫עבור‬Operand_2. ‫והיציאות‬ ‫זו‬ ‫יחידה‬ .‫לו‬ ‫המיועד‬ ‫למקום‬ ‫מנותב‬ ‫אחד‬ ‫כל‬.‫תמיד‬ ‫מאופשרות‬ ‫שלה‬ UNIT (C.U)CONTROL: ‫פקודה‬ ‫לכל‬ ‫הנדרשים‬ ‫האפשורים‬ ‫את‬ ‫מוציאה‬ ‫זו‬ ‫יחידה‬ ,‫המערכת‬ ‫של‬ ‫הבקרה‬ ‫יחידת‬ ‫זוהי‬ .‫השונים‬ ‫הסגמנטים‬ ‫בין‬ ‫במעבר‬ ‫התקדמותה‬ ‫במשך‬ ‫מזיכרון‬ ‫בנויה‬ ‫זו‬ ‫יחידה‬ROM‫ה‬ ‫לפי‬ ‫צרובות‬ ‫הבקרה‬ ‫וסיביות‬-OPCODE.‫המתאים‬ ‫מקמנו‬‫לפני‬‫זו‬ ‫יחידה‬‫נועל‬(IF/ID.‫ריצה‬ ‫בזמן‬ ‫בכניסה‬ ‫רצויים‬ ‫לא‬ ‫שינויים‬ ‫למנוע‬ ‫כדי‬ ) ID SEGMENT LATCH/IF: ‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלאחריו‬ ‫הסגמנט‬ ‫עבור‬ ‫שלו‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬ :‫האוגרים‬ ‫תוכן‬ ,‫הבקרה‬ ‫סיביות‬ ‫את‬ ‫בתוכו‬ ‫מכיל‬ ‫זה‬, OP_2 , OP_1 , IR1R-0R. ‫נועל‬‫זה‬‫מאופשר‬‫קבוע‬.
  • 7. 6 Segment Pipeline 6 2.SegmentDI _1MUX: ‫את‬ ‫הלאה‬ ‫להעביר‬ ‫אם‬ ‫אליו‬ ‫המגיע‬ ‫הבקרה‬ ‫קו‬ ‫ע"פ‬ ‫בוחר‬ ‫זה‬ ‫מרבב‬:‫של‬ ‫הכתובת‬ / OP_11/ R0R,' ‫ע"י‬ ‫תמיד‬ ‫מאופשר‬ ‫זה‬ ‫מרבב‬ .‫שהגיעה‬ ‫לפקודה‬ ‫בהתאם‬1‫ברגל‬ ' MUX_EN. MEM SEGMENT LATCH/ID: ‫מכיל‬ ‫זה‬ ‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלפניו‬ ‫מהסגמנט‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬ ‫את‬ ‫בתוכו‬‫כתובות‬:‫האוגרים‬1R–0R,OP_1,OP_2‫לתוכ‬ ‫לכתוב‬ ‫שיש‬‫ה‬ ‫למוצא‬ ‫בהתאם‬ ,‫ם‬- MUX,‫ש‬ ‫בעוד‬-TEMP_1‫ש‬ ‫המידע‬ ‫את‬ ‫מכיל‬‫מ‬ ‫ישירות‬ ‫מועבר‬-OP_1(‫נדרש‬ ‫כאשר‬‫לצורך‬ ‫ב‬ ‫שרצה‬ ‫הפקודה‬CYCLE). 3.MEM Segment DATARAM: .‫שלו‬ ‫הבקרה‬ ‫רגלי‬ ‫ע"י‬ ‫המאופשר‬ ‫זיכרון‬ ‫רכיב‬ ‫קו‬‫וי‬‫הבקרה‬RD/WR‫משמש‬‫ים‬‫בין‬ ‫לבחור‬‫לזיכרון‬ ‫כתיבה‬ ‫או‬ ‫קריאה‬ ‫אופציית‬. SEGMENT LATCHEXE/MEM: ‫מכיל‬ ‫זה‬ ‫חוצץ‬ ,‫הבא‬ ‫השעון‬ ‫לפולס‬ ‫עד‬ ‫שלפניו‬ ‫מהסגמנט‬ ‫האוגרים‬ ‫תוכן‬ ‫את‬ ‫הנועל‬ ‫חוצץ‬ ‫זהו‬ ‫את‬ ‫בתוכו‬‫תוכן‬:‫האוגרים‬TEMP_2,VALUE–‫שהתקבל‬ ‫האופרנד‬ ‫את‬ ‫המכיל‬‫בהתאם‬ ‫ה‬ ‫לזיכרון‬ ‫שניתנה‬ ‫לכתובת‬-RAM,‫ואוגר‬A–‫כלשהו‬ ‫באופרנד‬ ‫מאותחל‬ ‫כי‬ ‫מניחים‬ ‫אשר‬ ‫ל‬ ‫בנוסף‬ ‫ומשמש‬ ‫מראש‬‫שמירת‬‫ה‬ ‫סגמנט‬ ‫במוצא‬ ‫המתקבלת‬ ‫התוצאה‬-WB.
  • 8. 6 Segment Pipeline 7 4.SegmentEXE _1ALU: ‫ה‬ ‫תפקיד‬-ALU_1‫חיבור‬ ‫לבצע‬‫בין‬‫האופרנדים‬:TEMP_2/VALUE/A‫הפקודה‬ ‫לפי‬ ‫ב‬ ‫הרצה‬-Cycle.‫הנוכחי‬‫התוצאה‬ ‫את‬‫טוענים‬ ‫אנו‬‫ל‬ ‫חזרה‬‫אוגר‬ALU_OUT_1‫בנועל‬ .‫הסגמנט‬ ‫המעגל‬ ‫פעולת‬ ‫אופן‬ALU_1.‫בהמשך‬ ‫מפורט‬ PSW: ‫דגל‬ ‫את‬ ‫המכיל‬ ‫אוגר‬ ‫זהו‬-‫הנשא‬(Carry Flag)‫אחרי‬ ‫שעון‬ ‫בעליית‬ ‫מתעדכן‬ ‫הוא‬ ,‫ביצוע‬ :‫הפקודה‬i@RADDC A,‫ב‬ .‫עת‬‫אתחול‬ ‫ביצוע‬,.‫מתאפס‬ ‫זה‬ ‫אוגר‬ -‫ה‬ ‫שלנו‬ ‫לפקודות‬ ‫הרלוונטי‬ ‫הדגל‬‫וא‬‫ה‬ ‫דגל‬-CY.‫נשא‬ ‫מסמן‬ ‫זה‬ ‫דגל‬ : LATCHEXE_JMP/EXE: ‫ב‬ ‫שהתבצע‬ ‫החישוב‬ ‫של‬ ‫התוצאה‬ ‫את‬-ALU_1‫לאוגר‬ ‫טוענים‬ ‫אנו‬ALU_OUT_1.‫בנועל‬ ‫זה‬ ‫נועל‬‫את‬ ‫בנוסף‬ ‫מכיל‬‫ה‬‫אוגר‬DPTR,‫אשר‬‫הידוע‬ ‫כלשהו‬ ‫בערך‬ ‫מאותחל‬‫ביצוע‬ ‫לפני‬ ,‫מראש‬ .‫הפקודה‬
  • 9. 6 Segment Pipeline 8 5._JMP SegmentEXE _2ALU: ‫ה‬ ‫תפקיד‬-ALU_2:‫האופרנדים‬ ‫בין‬ ‫חיבור‬ ‫לבצע‬ALU_OUT_1‫ו‬-DPTR‫כאשר‬‫הפקודה‬ ‫ב‬ ‫הרצה‬-Cycle‫הנוכחי‬:‫היא‬JMP @A+DPTR‫תבוצע‬ ‫שאליה‬ ‫הכתובת‬ ‫חישוב‬ ‫לשם‬ ‫הקפיצה‬. ‫לאוגר‬ ‫טוענים‬ ‫אנו‬ ‫התוצאה‬ ‫את‬ALU_OUT_2.‫הסגמנט‬ ‫בנועל‬ ‫המעגל‬ ‫פעולת‬ ‫אופן‬ALU_2.‫בהמשך‬ ‫מפורט‬ LATCHEXE_JMP/WB: ‫ב‬ ‫שהתבצע‬ ‫החישוב‬ ‫של‬ ‫התוצאה‬ ‫את‬-ALU_2‫לאוגר‬ ‫טוענים‬ ‫אנו‬ALU_OUT_2.‫בנועל‬ 6.WB Segment DEMUX: ‫רכיב‬‫זה‬‫מעביר‬‫ה‬ ‫את‬‫תוצאה‬‫ש‬‫ל‬ ‫נטענה‬-ALU_OUT_2‫היעד‬ ‫אוגר‬ ‫אל‬,‫בהתאם‬‫לקווי‬ ‫הבקרה‬.
  • 11. 6 Segment Pipeline 10 ‫מיקרו‬-‫פקודות‬ i@RADDC A, IF/ID.IR  (PC) {ROM PROG} IF PC  PC+1 ID/MEM.MAR_1  IF/ID.RiID MEM/EXE.VALUE  (MAR 1)MEM EXE/EXE_JMP.ALU_OUT_1  A+VALUE+CARRYEXE EXE_JMP/WB.ALU_OUT_2  EXE/EXE_JMP.ALU_OUT_1EXE_JMP A  EXE/EXE_JMP.ALU_OUT_2WB DEC DIRECT IF/ID.IR  (PC) {ROM PROG} IF IF/ID.OP_1  (PC) {ROM OP 1} IF/ID.OP_2  (PC) {ROM OP 2} PC  PC+1 ID/MEM.MAR_1  IF/ID.OP_1ID ID/MEM.MAR_2  IF/ID.OP_2 (MAR 2)  (MAR 1) - 1MEM NOPEXE NOPEXE_JMP NOPWB NOP-‫לשינו‬ ‫גורמת‬ ‫אינה‬ ‫זו‬ ‫פקודה‬‫של‬ ‫בתכולה‬ ‫כלשהם‬ ‫יים‬ ‫אלא‬ ‫האוגרים‬‫רק‬‫ה‬ ‫את‬ ‫מקדמת‬-PC‫א‬‫ל‬‫ה‬.‫הבאה‬ ‫פקודה‬
  • 12. 6 Segment Pipeline 11 XRL A, #DATA IF/ID.IR  (PC) {ROM PROG} IF IF/ID.OP_1  (PC) {ROM OP1} PC  PC+1 ID/MEM.TEMP_1  IF/ID.OP_1ID MEM/EXE.TEMP_2  ID/MEM.TEMP_1MEM EXE/EXE_JMP.ALU_OUT_1  A XOR TEMP_2EXE EXE_JMP/WB.ALU_OUT_2  EXE/EXE_JMP.ALU_OUT_1EXE_JMP A  EXE_JMP/WB.ALU_OUT_2WB MOV DIRECT, DIRECT IF/ID.IR  (PC) {ROM PROG} IF IF/ID.OP_1  (PC) {ROM OP1} IF/ID.OP_2  (PC) {ROM OP2} PC  PC+1 ID/MEM.MAR_1  IF/ID.OP_1ID ID/MEM.MAR_2  IF/ID.OP_2 (MAR 2)  (MAR 1)MEM NOPEXE NOPEXE_JMP NOPWB JMP @A+DPTR IF/ID.IR  (PC) {ROM PROG}IF NOPID NOPMEM EXE/EXE_JMP.ALU_OUT_1  AEXE EXE_JMP/WB.ALU_OUT_2  ALU_OUT_1+DPTREXE_JMP PC  EXE_JMP/WB.ALU_OUT_2WB
  • 13. 6 Segment Pipeline 12 ‫אפשורים‬ ‫טבלת‬ ‫ת‬‫לביצוע‬ ‫וכנית‬ 0ADDC A, @R DEC 08H XRL A, #03H MOV 09H, 08H JMP @A+DPTR ‫טבלת‬OpCodes CYCLES OPCODE HEX CONTROL BITS HEX ADDC A, @R0 6 01 6CDB4 ADDC A, @R1 6 02 74DB4 DEC DIRECT 3 03 67C00 XRL A, #DATA 6 04 803D4 MOV DIRECT, DIRECT 3 05 66C00 JMP @A+DPTR 6 06 15B ‫בתוכנית‬ ‫שמופיע‬ ‫ראשונה‬ ‫פקודה‬ ‫כל‬ ‫עבור‬ ‫כי‬ ‫לציין‬ ‫חשוב‬,‫לחכות‬ ‫צריך‬CYCLE‫אחד‬ ‫עד‬‫תתחיל‬ ‫שהתוכנית‬‫ב‬ ‫לרוץ‬-Pipe. ‫זמן‬ ‫ניתוח‬‫קריטי‬ ‫מסלול‬ 1. TCLK ≥ tpdXOR + tpdMUX + tpcqValue + tsuALU_OUT_1 2. ThALU_OUT_1 ≤ tpdXOR + tpdMUX + tccqValue
  • 14. 6 Segment Pipeline 13 snstructionINOP ADDC A,@Ri DEC DIRECT XRL A,#DATA MOV DIRECT DIRECT JMP @A+DPTR ADDC A, @Ri 2 1 2 1 2 DEC DIRECT 1 0 0 1 0 XRL A, #DATA 2 0 0 0 2 MOV DIRECT, DIRECT 1 1 0 1 0 JMP @A+DPTR 6 6 6 6 6 ‫ה‬ ‫כמות‬-NOP(Null Operation)‫בעיות‬ ‫מניעת‬ ‫לשם‬ ‫פקודות‬ ‫בין‬ ‫לשים‬ ‫שיש‬HAZARDS. -‫ל‬‫דוגמא‬,,‫המודגשת‬ ‫בשורה‬ ‫נתבונן‬ ‫אם‬‫פקודת‬ ‫עבור‬DEC DIRECT‫את‬ ‫ישר‬ ‫אחריה‬ ‫לשים‬ ‫נוכל‬ ‫הפקודה‬XRL A, #DATA. ‫הפקודה‬ ‫את‬ ‫לשים‬ ‫נרצה‬ ‫אם‬iADDC A, @R,‫פקוד‬ ‫לשים‬ ‫נצטרך‬‫ת‬NOP‫בינ‬‫י‬.‫הם‬
  • 15. 6 Segment Pipeline 14 ‫צריבה‬ ‫טבלת‬ OP1 OP2 LD TEMP 1 LD MAR1 LD MAR2 S1 S0 RD RAM WR RAM CONTROL RAM OE MAR1 OE MAR2 LD TEMP 2 LD ALU OUT1 OP2 ALU 1 OP1 ALU 1 LD PSW LD ALU OUT 2 OP ALU 2 LD A DEMUX MUX PC ADDC A, @R0 0 0 1 1 1 1 1 1 1 1 1 1 1 6CDB4 ADDC A, @R1 0 0 1 1 1 1 1 1 1 1 1 1 1 74DB4 DEC DIRECT Addr Addr 1 1 1 1 1 1 1 67C00 XRL A, #DATA Data 0 1 1 1 1 1 1 1 803D4 MOV DIRECT, DIRECT Addr Addr 1 1 1 1 1 1 66C00 JMP @A+DPTR 0 0 1 1 1 1 1 1 15B NOP 0 0 0
  • 16. 6 Segment Pipeline 15 ‫אופן‬‫המעגל‬ ‫פעולת‬ ‫לביצוע‬ ‫תוכנית‬ 0ADDC A, @R DEC 08H XRL A, #03H MOV 09H, 08H JMP @A+DPTR ‫הגדרות‬‫והנחות‬‫ראשוניות‬ 1.‫פקודת‬ ‫עבור‬DEC DIRECT: ‫להזין‬ ‫יש‬‫ב‬ ‫גם‬ ‫ממנה‬ ‫לחסר‬ ‫שנרצה‬ ‫כתובת‬ ‫אותה‬ ‫את‬-ROM OPERAND_1‫ב‬ ‫וגם‬- ROM OPERAND_2. 2.‫פקודת‬ ‫עבור‬DIRECT,MOV DIRECT: ‫ל‬ ‫נצרוב‬-ROM OPERAND_1‫ועבור‬ ‫המקור‬ ‫כתובת‬ ‫את‬ROM OPERAND_2‫את‬ ‫היעד‬ ‫כתובת‬‫ההעברה‬ ‫את‬ ‫לבצע‬ ‫נרצה‬ ‫שאליה‬. 3.‫הדגלים‬ ‫אוגר‬PSW‫מפקודת‬ ‫ורק‬ ‫אך‬ ‫מושפע‬iADDC A, @R. 4.‫על‬ ‫עובדת‬ ‫המערכת‬‫פי‬2–‫שעונים‬: ‫עבור‬ ‫אחד‬‫סגמנט‬‫ה‬-MEM‫ו‬‫השני‬‫כל‬ ‫עבור‬‫יתר‬‫יחידות‬‫ה‬-SEGMENTS‫האחרות‬. 5.‫ז‬‫י‬‫של‬ ‫התוכנית‬ ‫כרון‬‫נ‬:‫הבאה‬ ‫בצורה‬ ‫צרוב‬ ‫ו‬ ‫שבמ‬ ‫לראות‬ ‫ניתן‬‫י‬‫קו‬‫שצוינה‬ ‫בטבלה‬ ‫התחשבות‬ ‫יש‬ ‫הפקודות‬ ‫ם‬‫הקודמים‬ ‫בעמודים‬ ‫בנוגע‬‫ל‬‫ה‬ ‫כמות‬-NOPs‫להתקיים‬ ‫שצריכים‬‫לפקודה‬ ‫פקודה‬ ‫בין‬: -‫בין‬‫ה‬‫פקודה‬(05) MOV DIRECT, DIRECT‫לבין‬JMP @A+DPTR(06) ‫הפרד‬ ‫לשים‬ ‫צורך‬ ‫אין‬‫ה‬‫של‬NOP. -‫אך‬‫מאחר‬‫פקודת‬ ‫ובין‬XRL A, #DATA(04)‫ל‬‫פקודת‬ ‫בין‬ JMP @A+DPTR(06‫ב‬ ‫צורך‬ ‫יש‬ )‫של‬ ‫הפרדה‬‫פקודות‬ ‫שתי‬NOP,‫לשים‬ ‫נאלצנו‬ ‫פקודת‬NOP‫בין‬‫פקודת‬MOV DIRECT, DIRECT‫לבין‬‫פקודת‬ JMP @A+DPTR.
  • 17. 6 Segment Pipeline 16 6.‫במהלך‬‫תכנון‬,‫המערכת‬‫במטרה‬‫המערכת‬ ‫את‬ ‫לייעל‬,‫ל‬‫שם‬‫מניעת‬‫בעיית‬Data Hazard ‫בשיטת‬ ‫השתמשנו‬Data Forwarding. ‫בעיית‬Data Hazard‫שצריכה‬ ‫נוכחית‬ ‫מפעולה‬ ‫כתוצאה‬ ‫בצינור‬ "‫ל"עיקוב‬ ‫לגרום‬ ‫יכולה‬ ‫פעולה‬ ‫של‬ ‫לתוצאה‬ ‫להמתין‬-.‫הסתיימה‬ ‫לא‬ ‫שעדיין‬ ‫מוקדמת‬ -‫ה‬ ‫שיטת‬ ‫נכנסת‬ ‫כאן‬-Data Forwarding‫ו‬‫ביטוי‬ ‫לידי‬ ‫באה‬‫בסגמנט‬MEM,‫כאשר‬ ‫מז‬ ‫הקריאה‬ ‫תוצאת‬‫י‬‫ה‬ ‫כרון‬-RAM‫מנותבת‬‫הז‬ ‫לכניסת‬‫י‬‫כרון‬‫מתאפשרת‬ ‫ובכך‬ ‫וכתיבה‬ ‫קריאה‬‫באותו‬ ‫לזכרון‬CYCLE‫בהמתנה‬ ‫צורך‬ ‫ללא‬ ,‫נוכחי‬. ‫ה‬ ‫טכניקת‬-Data Forwarding‫מ‬‫מומשת‬‫כפול‬ ‫בשעון‬ ‫שימוש‬ ‫ע"י‬‫ובכך‬‫מת‬‫אפשר‬‫ת‬ ‫וכתיבה‬ ‫קריאה‬‫בודד‬ ‫שעון‬ ‫מחזור‬ ‫תוך‬.‫הסגמנטים‬ ‫שאר‬ ‫של‬ ‫ביטוי‬ ‫לידי‬ ‫באה‬ ‫זו‬ ‫שיטה‬‫ה‬ ‫ביצוע‬ ‫בעת‬‫פקודות‬DEC DIRECT ‫ו‬-MOV DIRECT, DIRECT. -‫אופן‬‫מימוש‬‫התדר‬ ‫חלוקת‬‫מתבצעת‬‫באמצעות‬D-FF:
  • 18. 6 Segment Pipeline 17 ‫ה‬ ‫יחידות‬‫ב‬ ‫חישוב‬‫מערכת‬ 1.1_ALU: ‫מערכת‬‫זו‬‫כוללת‬3-‫כניסות‬‫ויצ‬‫אחת‬ ‫יאה‬‫אשר‬‫מבוקרת‬‫ע‬"‫י‬‫רגל‬‫י‬‫הבקרה‬ OP1_ALU1‫ו‬-.OP2_ALU1 ‫עבור‬' 00 ':‫היציאה‬‫תהיה‬.‫מאופסת‬ ‫עבור‬: ' 01 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬A. ‫עבור‬10 '':‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬+CARRYiA+@R. ‫עבור‬: ' 11 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬A XOR TEMP_2. 2.ALU_2: ‫מערכת‬‫זו‬‫כוללת‬2-‫כניסות‬‫ויצ‬‫י‬‫אה‬‫אחת‬‫אשר‬‫מבוקרת‬‫ע‬"‫י‬‫רגל‬‫הבקרה‬OP_ALU_2. ‫עבור‬' 0 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬ALU_OUT_1. ‫עבור‬' 1 '‫היציאה‬‫תהיה‬‫שווה‬‫של‬ ‫לערך‬ ‫בערכה‬DPTR+ALU_OUT_1. ‫בפקודת‬ ‫לטפל‬ ‫זו‬ ‫מערכת‬ ‫תפקיד‬JMP @A+DPTR.
  • 19. 6 Segment Pipeline 18 ‫המעגל‬ ‫להפעלת‬ ‫הוראות‬ 1.‫המצורפים‬ ‫הקבצים‬ ‫את‬ ‫טען‬: ROM PROG, ROM OPERAND_1, ROM OPERAND_2, RAM DATA, CONTROL ROM ‫בהתאמה‬‫לז‬‫י‬‫המערכת‬ ‫כרונות‬. 2.‫לחצן‬ "‫ע‬ ‫המערכת‬ ‫את‬ ‫אפס‬‫ה‬-RESET.‫המעגל‬ ‫במרכז‬ ‫הממוקם‬ 3.‫באוגר‬ ‫כי‬ ‫וודא‬0R‫הערך‬ ‫מוזן‬H02. 4.‫הזן‬‫ה‬ ‫את‬‫ערך‬10‫ל‬‫ה‬ ‫אוגר‬-DPTR‫לצורך‬‫ביצוע‬‫פקודת‬JMP @A+DPTR. 5.‫בעזרת‬ ‫התוכנית‬ ‫את‬ ‫הרץ‬‫על‬ ‫לחיצה‬‫השעון‬(CLK). ‫זה‬ ‫שעון‬ ‫כי‬ ‫זכור‬‫מוגדר‬‫עבור‬‫ה‬ ‫סגמנט‬-MEM‫והוא‬‫כפולה‬‫של‬‫התדר‬‫ה‬‫לשאר‬ ‫מוזן‬ ‫ב‬ ‫הסגמנטים‬-PIPE. ‫ת‬ ‫לכתוב‬ ‫וברצונך‬ ‫במידה‬‫שצרוב‬ ‫ממה‬ ‫השונה‬ ‫כנית‬,‫מועד‬ ‫מבעוד‬‫לה‬ ‫עליך‬‫י‬‫בטבל‬ ‫עזר‬‫ת‬ ‫הפקודות‬‫למניעת‬HAZARDS‫וכן‬‫להת‬‫י‬‫ל‬ ‫יחס‬-‫הגדרות‬‫ה‬ ‫והנחות‬‫ראשוניות‬.‫שהוצגו‬ ‫תוצאות‬‫התוכנית‬: :‫הבאות‬ ‫התוצאות‬ ‫תתקבלנה‬ ‫התוכנית‬ ‫בסיום‬ ‫האוגר‬A‫בערך‬ ‫מוזן‬ ‫יהיה‬0CH‫מפעולת‬ ‫כתוצאה‬XOR‫של‬FH0(‫מוזן‬ ‫שהיה‬ ‫הערך‬ ‫באוגר‬ ‫שהופיעה‬ ‫בכתובת‬0R). ‫מ‬ ‫גם‬ ‫כי‬ ‫לראות‬ ‫ניתן‬‫ה‬‫בכתובת‬ ‫ערך‬H08‫לכתובת‬ ‫הועתקה‬ ‫והתוצאה‬ ‫אחד‬ ‫הוחסר‬H09 ‫שצוי‬ ‫כפי‬‫ב‬ ‫ן‬‫ה‬ ‫קוד‬.‫תוכנית‬ ‫לראות‬ ‫ניתן‬‫שערך‬‫ה‬-PC"‫קפץ‬"‫ל‬‫ערך‬C1‫מ‬ ‫כתוצאה‬‫ביצוע‬‫פעולת‬‫ה‬-JMP. ‫שינויי‬‫ערכים‬‫במהלך‬‫התוכנית‬ ‫הרצת‬: 0FHA=0@RADDC A, DEC 08H  (08H)= #04H XRL A, #03H  A= 0CH MOV 09H, 08H  (09H)= (08H)= #04H JMP @A+DPTR  PC= 1CH