,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3URJHWWD]LRQHDOLYHOORGL
PLFURDUFKLWHWWXUD
$FXUDGL
/XFD%UHYHJOLHUL *LXVHSSH3R]]L 'RQDWHOOD6FLXWR
DEIPoliMI0LODQR
OXFDEUHYHJOLHULJLXVHSSHSR]]LGRQDWHOODVFLXWR#SROLPLLW
YHUVLRQHGHOO¶DSULOH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3URJHWWD]LRQHDOLYHOOR GLPLFURDUFKLWHWWXUD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
2WWLPL]]D]LRQHGHOOH SUHVWD]LRQL
%LEOLRJUDILD
7DQHQEDXP $6 *RRGPDQ -5
³$UFKLWHWWXUDGHLFRPSXWHU 8QDSSURFFLR
VWUXWWXUDWR´
3UHQWLFH +DOO ,QWHUQDWLRQDO SDUDJUDIR
6RPPDULR
3UREOHPDWLFKHGLSURJHWWD]LRQHFRVWL YVSUHVWD]LRQL
$UFKLWHWWXUDDWUHEXV
3LSHOLQLQJ
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0LFURDUFKLWHWWXUD0LF
SHIFTER H OPC TOS CPP LV SP
PC MDR MAR
MBR
N
2 6
ALU ALU Z
SHIFT
MAIN MEMORY
9 per la scrittura dal BUS C
9 per la lettura sul BUS B (codificati a 4 bit) 8 per il controllo di ALU e SHIFTER 2 per la lettura/scrittura della memoria 1 per la lettura tramite PC/MBR Segnali di controllo
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RVWL YV SUHVWD]LRQL
'HILQL]LRQHGHOOD PLFURDUFKLWHWWXUD
GLSHQGHGDXQFRPSURPHVVRWUDFRVWLH
SUHVWD]LRQL
,QFUHPHQWRGHOODSUHVWD]LRQL
GHWHUPLQDWRGD
¾ 7HFQRORJLD
¾ $UFKLWHWWXUD
&RVWLGLIILFLOLGDGHILQLUHSURJHWWR
GLPHQVLRQLSURGX]LRQHUHVD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QFUHPHQWRGHOOHSUHVWD]LRQL
,SRWHVLGHILQLWHWHFQRORJLDH,6$
$SSURFFL PLFURDUFKLWHWWXUDOL SHU
PLJOLRUDUHSUHVWD]LRQL
¾ 5LGX]LRQHGHOQXPHURGLFLFOLGL FORFN SHU
O¶HVHFX]LRQHGLRJQLLVWUX]LRQH
¾ 5LGX]LRQHGHOODGXUDWDGHOFLFORGL FORFN VHPSOLILFDQGRO¶RUJDQL]]D]LRQH
GHOO¶DUFKLWHWWXUD
¾ 6RYUDSSRVL]LRQHGHOO¶HVHFX]LRQHGHOOH
LVWUX]LRQLSLSHOLQLQJ
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
(VHFX]LRQHGLXQ¶LVWUX]LRQH
/¶HVHFX]LRQHGLRJQLLVWUX]LRQHULFKLHGH
/HWWXUDGHOO¶LVWUX]LRQHGDOODPHPRULD
'HFRGLILFDGHLFDPSLGHOO¶LVWUX]LRQH
,QWHUPLQLGL PLFURLVWUX]LRQL
3&SDVVDDWWUDYHUVROD$/8HYLHQH
LQFUHPHQWDWR
3&YLHQHXVDWRSHUOHJJHUHLOE\WHVHJXHQWH
QHOSURJUDPPD
3&HG$/8YHQJRQRXVDWLSHUOHJJHUHJOL
HYHQWXDOL RSHUDQGL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
8WLOL]]RGHOOHULVRUVH
/D$/8qXWLOL]]DWDSHUGLYHUVLFLFOLGL FORFN
3HURSHUD]LRQLQRQOHJDWHDOODHVHFX]LRQH
GLXQDLVWUX]LRQHPDSLXWWRVWRDOVXR
FDULFDPHQWR
&RPHFROOHJDPHQWRSHUFRSLDUHXQYDORUH
GDXQUHJLVWURDGXQDOWURVHQ]DVYROJHUH
DOFXQDRSHUD]LRQH
&LzFRPSRUWDXQQRWHYROHVSUHFRGL
WHPSR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOQXPHURGLFLFOL
GL FORFN
5HSOLFD]LRQH GLPRGXOLKDUGZDUHSHUHYLWDUH
FRQIOLWWLGLULVRUVH
6ROX]LRQH,QVHULUHXQ VRPPDWRUH DJJLXQWLYR SHU
LQFUHPHQWDUHLO3&
&RVWRVRLQWHUPLQLGLDUHDVXOVLOLFLR
' QRQVLYHULILFDXQYDQWDJJLRVRVWDQ]LDOHLQFUHPHQWRGHO
3&DYYLHQHGXUDQWHODIDVHGLOHWWXUDGHOO¶LVWUX]LRQHH
TXLQGLOD$/8QRQqLPSHJQDWD
6ROX]LRQH$JJLXQJHUHSHUFRUVLDGGL]LRQDOL
$GHVHPSLRSHUFRUVLGD726D0'5RYLFHYHUVD
$XPHQWRGHOQXPHURGHLVHJQDOLGLFRQWUROOR
0LFURLVWUX]LRQL H PLFURFRGLFH SLFRPSOHVVL
6ROX]LRQH$JJLXQJHUHXQEXVDGGL]LRQDOH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$UFKLWHWWXUDDWUHEXV
/HRSHUD]LRQLDULWPHWLFKHULFKLHGRQR
8QSULPRFLFORGL FORFN SHUFDULFDUHXQRSHUDQGR
QHOUHJLVWUR+
'XUDQWHWDOHFLFOROD$/8YLHQHXVDWDVRORFRPH
FRQQHVVLRQH
8QVHFRQGRFLFORGL FORFN SHUHVHJXLUHO¶RSHUD]LRQH
8QSRVVLELOHPLJOLRUDPHQWRFRQVLVWHQHO
UHQGHUHSRVVLELOHODFRQQHVVLRQHGLUHWWDGL
WXWWLLUHJLVWULFRQHQWUDPELJOLLQJUHVVLGDWL
GHOOD$/8
4XHVWDVROX]LRQHULFKLHGHO¶DJJLXQWDGLXQ
XOWHULRUHEXV
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$UFKLWHWWXUDDWUHEXV
/¶DUFKLWHWWXUDULVXOWDQWHqSHUWDQWRGHWWD
DWUHEXV
%86$ /HWWXUDGHLUHJLVWUL VXOO¶RSHUDQGR $GHOOD$/8
%86% /HWWXUDGHLUHJLVWUL VXOO¶RSHUDQGR %GHOOD$/8
%86& 6FULWWXUDGHOO¶XVFLWDGHOOD$/8
H 6KLIWHUVXLUHJLVWUL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$UFKLWHWWXUDDWUHEXV0LF
SHIFTER H
OPC TOS CPP LV SP
PC MDR MAR
MBR
N
2 6
ALU ALU Z
SHIFT
MAIN MEMORY
BUS C
BUS A BUS B
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
)RUPDWRPLFURLVWUX]LRQLEXV
NEXT_ADDRESS J M P C J A M N J A M Z S L L 8 S R A 1 F 0 F 1 E N A E N B I N V A I N C H
O P C T O S C P P L V S P P C M D R M A R W R IT E R E A D F E T C H
B Bus (9) (3) (8) (9) (3) (4) (4) ADDRESS JAM ALU C Mem B A
B bus, A bus registers: 0=MDR, 1=PC, 2=MBR, 3=MBRU, 4=SP, 5=LV, 6=CPP, 7=TOS, 8=OPC, 9-15 unused A Bus
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$UFKLWHWWXUDDWUHEXV
1RWHYROHULVSDUPLRLQWHUPLQLGLFLFOLGL FORFN
(VHPSLR
MDR=TOS+SP $UFKLWHWWXUDDGXHEXV
7 Read SP, Write H
7 Read TOS, ALU=ADD, Write MDR
$UFKLWHWWXUDDWUHEXV
7 ReadA SP, ReadB TOS, ALU=ADD, Write MDR
,QPROWHLVWUX]LRQLOD$/8YLHQH
VHPSOLFHPHQWHXVDWDSHUFRSLDUHLOYDORUHGD
XQUHJLVWURDOUHJLVWURWHPSRUDQHR
H,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOQXPHURGLFLFOL
GL FORFN
5LGX]LRQHGHOQXPHURGLFLFOLQHFHVVDULD
OHJJHUHOHLVWUX]LRQLIDVHGL IHWFK
¾ 1HFHVVDULDODVRYUDSSRVL]LRQHGHOO¶HVHFX]LRQH
GHOOHLVWUX]LRQL
6HSDUDUHLFLUFXLWLGL IHWFK GDOGDWD SDWK SULQFLSDOHXWLOL]]DQGRXQDXQLWjIXQ]LRQDOH
VSHFLDOL]]DWD
¾ 3RUWDGHOODPHPRULDGLELWHLUHJLVWUL0%5H3&
SHUOHJJHUHLQPRGRLQGLSHQGHQWHLOFRGLFH
RSHUDWLYRRO¶RSHUDQGRVHJXHQWH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ
,QWURGX]LRQHGLXQDXQLWjGHGLFDWDSHUODIDVH
GL IHWFK
,QJUDGRGLJHVWLUHLO SURJUDPFRXQWHU DXWRQRPDPHQWH
,QJUDGRGLOHJJHUHDOFXQLE\WHGDOODPHPRULD
SULPDFKHVLDQRHIIHWWLYDPHQWHQHFHVVDUL
1RQPROWRFRVWRVDLQWHUPLQLGLDUHDVXOVLOLFLR
/¶XQLWjDJJLXQWLYDqGHWWD ,QVWUXFWLRQ)HWFK
8QLW R,)8
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QVWUXFWLRQ)HWFK8QLW
/¶XQLWjVYROJHOHVHJXHQWLRSHUD]LRQL
*HVWLRQHGHO SURJUDPFRXQWHU
/HWWXUDGLE\WHGDOODPHPRULD
$VVHPEODJJLRGL RSHUDQGL DRELW
3HUIDUHFLzOD,)8
/HJJHLGXHE\WHVXFFHVVLYL
5HQGHGLVSRQLELOHLOE\WHVXFFHVVLYRELW
5HQGHGLVSRQLELOLGXHE\WHVXFFHVVLYLELW
/¶XQLWjSULQFLSDOHGLHVHFX]LRQHULFKLHGHLE\WH
QHFHVVDUL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QVWUXFWLRQ)HWFK8QLW
MAIN MEMORY
Inc1
PC Inc12
BUS C BUS B
MBR1 MBR2
IMAR Instruction Fetch Unit
Shifter
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ
MBR1
0DQWLHQHO¶XOWLPRE\WHOHWWR MBR2
0DQWLHQHJOLXOWLPLE\WHOHWWL Shifter
0DQWLHQHE\WHOHWWLGDOOD
PHPRULD IMAR
5HJLVWURGHGLFDWRSHULO SUHIHWFK
&RQWLHQHO¶LQGLUL]]RGDFXLOHJJHUH Inc12
,QFUHPHQWDGLR
Inc1
,QFUHPHQWDGL
Inc1
PC Inc12
BUS C BUS B
MBR1 MBR2
IMAR Instruction Fetch Unit
Shifter
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ0LF
SHIFTER H
OPC TOS CPP LV SP
PC MDR MAR
MBR1
N
2 6
ALU ALU Z
SHIFT
MAIN MEMORY
BUS C
BUS A BUS B
MBR2
IFU
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
)RUPDWRPLFURLVWUX]LRQL0LF
NEXT_ADDRESS J M P C J A M N J A M Z S L L 8 S R A 1 F 0 F 1 E N A E N B I N V A I N C H
O P C T O S C P P L V S P P C M D R M A R W R IT E R E A D F E T C H
B Bus (9) (3) (8) (9) (3) (4) (4) ADDRESS JAM ALU C Mem B A
B bus, A bus registers: 0=MDR, 1=PC, 2=MBR1, 3=MBR1U, 4=SP, 5=LV, 6=CPP, 7=TOS, 8=OPC, 9=MBR2, A=MBR2U A Bus
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/HWWXUDGDOODPHPRULD
,)8UHVSRQVDELOHSHUODOHWWXUDGHO
IOXVVRGLE\WH
8WLOL]]DODSRUWDFRQYHQ]LRQDOHGDE\WH
/HJJHSDUROHLQWHUHGLE\WHSULPDGHO
QHFHVVDULR
&DULFDLE\WHFRQVHFXWLYLQHOUHJLVWURGL VKLIW
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
)XQ]LRQHGHOOR VKLIWHU
,OUHJLVWURDVFRUULPHQWRGHOOD,)8FKLDPDWR 6KLIWHU
0DQWLHQHXQDFRGDGLE\WHOHWWLGDPHPRULDDG
LQGLUL]]LFRQVHFXWLYL
,OE\WHSLYHFFKLRDOLPHQWD0%5
,GXHE\WHSLYHFFKLVFDPELDWLGLSRVL]LRQH
DOLPHQWDQR0%5
2JQLYROWDFKH0%5YLHQHOHWWR 6KLIW VFRUUHGL
XQDSRVL]LRQH
2JQLYROWDFKH0%5YLHQHOHWWR 6KLIW VFRUUHGL
GXHSRVL]LRQL
4XDQGRLQ 6KLIW VLKDQQRE\WHYXRWLXQDQXRYD
SDURODYLHQHOHWWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQWUROORGHOOD,)8
4XHVWRFRPSRUWDPHQWRqUHJRODWRGDXQD
PDFFKLQDDVWDWLILQLWL DVWDWL
2JQLVWDWRUDSSUHVHQWDLOGLE\WHFKHVLWURYDQR
LQTXHOPRPHQWRQHOOR VKLIWHU
0 1 2 3 4 5 6
Read MBR1 Read MBR2 Read Memory (4 bytes)
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3URJUDP&RXQWHU
8QLWjSULQFLSDOHGLHVHFX]LRQHVFULYHVXO3&
VRORTXDQGRVLGHYHFDPELDUHODVHTXHQ]DGL
HVHFX]LRQHVDOWRRFKLDPDWDDSURFHGXUD
,192.(9,578$/2,5(7851
,)8GHYHPDQWHQHUHDJJLRUQDWRLO3&
3&FRQWLHQHVHPSUHO¶LQGLUL]]RGHOSULPRE\WH
QRQFRQVXPDWR
$OO¶LQL]LRGLRJQLLVWUX]LRQH0%5FRQWLHQH
O¶LQGLUL]]RGHOFRGLFHRSHUDWLYRGLTXHOOD
LVWUX]LRQH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ H
PLFURSURJUDPPD]LRQH
'DOSXQWRGLYLVWDGHOODPLFURSURJUDPPD]LRQH OD,)8
/HJJHO¶LVWUX]LRQHVXFFHVVLYDLQMBR1
3UHSDUDJOLHYHQWXDOL RSHUDQGL LQMBR2
4XLQGL
6SDULVFHLO PLFURFRGLFH SHULO IHWFK GHOOH LVWUX]RQL
6SDULVFHLOVDOWRDMAIN1DOODILQHGLRJQL PLFURSURFHGXUD
,O IHWFK H GHFRGH GHOO¶LVWUX]LRQHVXFFHVVLYDYLHQH
HVHJXLWRVHPSOLFHPHQWHGDOOD PLFURLVWUX]LRQH goto (MBR1)DOODILQHGLRJQL PLFURSURFHGXUD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ
8QDWDOHDUFKLWHWWXUDFRPSRUWDDOFXQL
FRQWUROOLDJJLXQWLYL
,OUHJLVWUR
MBR2GHYHFRQWHQHUHGXHE\WH
TXDQGRYLHQHOHWWR
/R VKLIWHU GHYHDWWHQGHUHODILQHGHOOD
OHWWXUDGDOODPHPRULD
8QD,)8UHDOHqSLFRPSOHVVDGLTXHOOD
PRVWUDWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHIHWFKLQJ(VHPSLR
,VWUX]LRQH
BIPUSH 6LJQLILFDWR
/HJJHLQMBRLOE\WHVXFFHVVLYR DOO¶RSFRGHBIPUSH
(VWHQGHLOVHJQR
0HWWHLOE\WHLQMBRVXOODFLPDGHOOR VWDFN
0LFURFRGLFH
BIPUSH1 SP=MAR=SP+1;
Label Microcode
BIPUSH2 PC=PC+1; Read
BIPUSH3 MDR=TOS=MBR1; Write; goto MAIN1
Questa operazione è svolta autonomamente dalla unità di prefetch
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQFOXVLRQL
/¶LQWURGX]LRQHGHOEXV$HGHOODXQLWjGL SUHIHWFKLQJ KDPLJOLRUDWROHSUHVWD]LRQL
GHOO¶DUFKLWHWWXUDSHUGXHPRWLYL
1RQqQHFHVVDULRFDULFDUHXQRSHUDQGRDOODYROWD
SHUXVDUHOD$/8
1RQqQHFHVVDULRXVDUHOD$/8SHUFDULFDUH
LVWUX]LRQLH RSHUDQGL
4XHVWRFRPSRUWDXQDULGX]LRQHGHOQXPHUR
PHGLRGL PLFURLVWUX]LRQL SHURJQLLVWUX]LRQHD
OLYHOOR,6$
6LKDTXLQGLXQDXPHQWRGHOSDUDOOHOLVPR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QFUHPHQWRGHOOHSUHVWD]LRQL
3HUPLJOLRUDUHXOWHULRUPHQWHOH
SUHVWD]LRQLVLSXz
5LGXUUHLOSHULRGRGL FORFN
$XPHQWDUHXOWHULRUPHQWHLOSDUDOOHOLVPR
ROWUHD IHWFK HGHVHFX]LRQH
Ö ,QWURGX]LRQHGLXQ SLSHOLQLQJ SL
SURIRQGR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOSHULRGRGL FORFN
/¶HVHFX]LRQHGLXQD PLFURLVWUX]LRQH FRPSRUWD
/HWWXUDGHLUHJLVWULVXLEXV
(ODERUD]LRQHGHLGDWLGDSDUWHGHOOD$/8H
GHOOR6+,)7(5
6FULWWXUDGHLULVXOWDWLQHLUHJLVWUL
/HWUHRSHUD]LRQLGHYRQRVYROJHUVLLQXQ
FLFORGL FORFN
¾ 'HILQLVFHODGXUDWDGHOSHULRGRGL FORFN
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOSHULRGRGL FORFN
3HUULGXUUHLOSHULRGRGL FORFN qSRVVLELOH
8WLOL]]DUHXQDWHFQRORJLDWUDQVLVWRUSLYHORFL
(VHJXLUHRSHUD]LRQLSLVHPSOLFLLQRJQLFLFORGL FORFN
&LFORL /HWWXUDGHLUHJLVWULVXLEXV
&LFORL (ODERUD]LRQHGDWLGDSDUWHGHOOD$/8H
GHOOR6+,)7(5
&LFORL 6FULWWXUDGHLULVXOWDWLQHLUHJLVWUL
/DSULPDVROX]LRQHDQFKHVHFRPXQHPHQWH
XWLOL]]DWDQRQULJXDUGDLOSURJHWWRORJLFRR
DUFKLWHWWXUDOH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$UFKLWHWWXUDGHOGDWD SDWK
SLSHOLQH0LF
1XRYDDUFKLWHWWXUDD
WUHEXV
ÊVLPLOHDOOD
SUHFHGHQWH
8WLOL]]DWUH ODWFK SHU
LVRODUHOHGLYHUVH
VH]LRQLGHOGDWD SDWK
,WUH ODWFK VRQRVFULWWL
DGRJQLFLFORGL FORFN
SHIFTER N 6
ALU ALU Z
SHIFT 2 Latch C Latch A Latch B
C A B
REGISTERS
IFU
RAM
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QWURGX]LRQHGHL ODWFK
1HFHVVDULWUHFLFOLGL FORFN SHUXWLOL]]DUH
LOGDWD SDWK
&DULFDPHQWRGHL ODWFK $H%GDLUHJLVWUL
)XQ]LRQDPHQWR GHOO¶$/8 H VKLIWHU SHU
VFULYHUHLO ODWFK &
0HPRUL]]D]LRQHGHOFRQWHQXWRGHO ODWFK &
QHLUHJLVWUL
0D
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QWURGX]LRQHGHL ODWFK
&LFORGL FORFN GHWHUPLQDWRGDOULWDUGRPDVVLPR
WUDOHWWXUDHVFULWWXUDQHLUHJLVWUL
5LWDUGRPDVVLPRRUDqSLEUHYHÖ IUHTXHQ]DGHO FORFN SL HOHYDWD
(VHPSLRVHGLYLGHQGRLOGDWD SDWK LQWUHVH]LRQLLOFLFORGL FORFN GLYHQWDGHOSUHFHGHQWHODIUHTXHQ]DGL FORFN WULSOLFD$335266,0$=,21(
6LSRVVRQRXWLOL]]DUHWXWWLLFRPSRQHQWLGHO
GDWD SDWK GXUDQWHXQFLFORGL FORFN SHUFKp
VRQRLQGLSHQGHQWLWUDORUR
(VHPSLR$/8SXzHVVHUHXWLOL]]DWDLQWXWWLLFLFOLGL FORFNWULSOLFDQGRLOODYRUR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
(VHFX]LRQHGLXQ¶LVWUX]LRQH
&RGLFHGL6:$3SHUDUFKLWHWWXUDDWUHEXV
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
(VHFX]LRQHGL VZDS FRQ
DUFKLWHWWXUD SLSHOLQH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
,O SLSHOLQLQJ FRQVHQWHGL
5LGXUUHLOSHULRGRGL FORFN
/HRSHUD]LRQLVYROWHLQRJQLFLFORVRQRSL
VHPSOLFL
0DVVLPL]]DUHLOSDUDOOHOLVPR
/HVH]LRQLGHOGDWD SDWK FKHVYROJRQROH
RSHUD]LRQLVHPSOLFLSRVVRQRHVVHUH
RSSRUWXQDPHQWHLVRODWH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
*OLHOHPHQWLGL
LQWHUHVVHVRQR
• IFU:,QVWUXFWLRQ
)HWFK8QLW
• REG:5HJLVWHU )LOH
• A: /DWFKRQ EXV$
• B: /DWFKRQ EXV%
• C: /DWFKRQ EXV&
• ALU:$/8 DQG 6+,)7(5
IFU
REG
A B
ALU C
Stage 1 Stage 2
Stage 3 Stage 4
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
IFU
REG
A B
ALU C
INSTR 1
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
5HDG5HJ GHOO¶LVWUX]LRQH
IFU
REG
A B
ALU C
INSTR 2 INSTR 1
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
5HDG5HJ GHOO¶LVWUX]LRQH
([HFXWH GHOO¶LVWUX]LRQH
IFU
REG
A B
ALU C
INSTR 3
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
5HDG5HJ GHOO¶LVWUX]LRQH
([HFXWH GHOO¶LVWUX]LRQH
:ULWH%DFN GHOO¶LVWUX]LRQH
INSTR 2
INSTR 1
IFU
REG
A B
ALU C
INSTR 4 INSTR 3
INSTR 2 INSTR 1
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
5HDG5HJ GHOO¶LVWUX]LRQH
([HFXWH GHOO¶LVWUX]LRQH
:ULWH%DFN GHOO¶LVWUX]LRQH
7HPSR7
3UHIHWFK GHOO¶LVWUX]LRQH
5HDG5HJ GHOO¶LVWUX]LRQH
([HFXWH GHOO¶LVWUX]LRQH
:ULWH%DFN GHOO¶LVWUX]LRQH
IFU
REG
A B
ALU C
INSTR 6 INSTR 5
INSTR 4 INSTR 3
IFU
REG
A B
ALU C
INSTR 5 INSTR 4
INSTR 3 INSTR 2
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$VSHWWLLPSRUWDQWL
/DSULPD PLFURLVWUX]LRQH ULFKLHGHFLFOLSHU
HVVHUHFRPSOHWDWD
,OWHPSRGLFRPSOHWDPHQWRGHOODSULPD
PLFURLVWUX]LRQH RHTXLYDOHQWHPHQWHLOWHPSRFKH
XQDLVWUX]LRQHLPSLHJDDGDWWUDYHUVDUHWXWWLJOL
VWDGLGHOOD SLSHOLQH YLHQHGHWWRODWHQ]D
1HLFLFOLVXFFHVVLYLYLHQHFRPSOHWDWDXQD PLFURLVWUX]LRQH RJQLFLFOR
,OQXPHURGL PLFURLVWUX]LRQL FRPSOHWDWHSHUXQLWj
GLWHPSRqGHWWR WKURXJKSXW1HOFDVRLGHDOHLO WUKRXJKSXW qSDULDOODIUHTXHQ]DGHO FORFN
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DUDWWHULVWLFKHGHO SLSHOLQH
'RSRXQDIDVHLQL]LDOHWXWWLJOLVWDGL
VRQRVLPXOWDQHDPHQWHXWLOL]]DWL
,OSDUDOOHOLVPRqPDVVLPL]]DWR
$GRJQLFLFORVRQRLQHVHFX]LRQH
LVWUX]LRQL
2JQLLVWUX]LRQHVLWURYDLQXQRVWDGLRGL
HODERUD]LRQHGLIIHUHQWH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
(VHFX]LRQHLQ SLSHOLQLQJ
Fetch I1 Read I1 Exec I1 Write I1
Fetch I2 Read I2 Exec I2 Write I2
Fetch I3 Read I3 Exec I3 Write I3
Fetch I4 Read I4 Exec I4 Write I4
Fetch I5 Read I5 Exec I5 Write I5
Fetch I6 Read I6 Exec I6 Write I6
Fetch I7 Read I7 Exec I7
Fetch I8 Read I8
1 2 3 4 5 6 7 8 9 T
Stato della pipeline al tempo T=4
Stato della pipeline al tempo T=6
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQLQJ
6LD
I1XQDLVWUX]LRQHFKHLQL]LDDOWHPSRW
• I1OHJJHLUHJLVWULQHOORVWDGLRFLRqDOWHPSRW
• I1VFULYHLUHJLVWULQHOORVWDGLRFLRqDOWHPSRW
6LD
I2XQDLVWUX]LRQHFKHLQL]LDDOWHPSRW
• I2OHJJHLUHJLVWULQHOORVWDGLRFLRqDOWHPSRW
• I2VFULYHLUHJLVWULQHOORVWDGLRFLRqDOWHPSRW
6H
I1VFULYHXQUHJLVWURFKH
I2GHYHOHJJHUH
• I1VFULYHUjLOULVXOWDWRQHOUHJLVWURDOWHPSRW
• I2OHJJHUjLOUHJLVWURDOWHPSRW
• I2 OHJJHLOUHJLVWURSULPDFKHI1 ORDEELD
VFULWWR
4XHVWDVLWXD]LRQHqGHWWDFRQIOLWWR R KD]DUG
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQIOLWWL
(VLWRQR GLYHUVLWLSLGLFRQIOLWWLGRYXWLD
FDXVHGLYHUVH
&RQIOLWWR 5HDG$IWHU:ULWH 5$: KD]DUG
8QDLVWUX]LRQHWHQWDGLOHJJHUHXQUHJLVWUR
SULPDFKHVLDVWDWRVFULWWR
6LULVROYHULWDUGDQGRO¶HVHFX]LRQHGHOOD
VHFRQGDLVWUX]LRQH
8QULWDUGRLQVHULWRGRSRODIDVHGL IHWFK SUHQGHLOQRPHGLVWDOOR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQIOLWWL
&RQIOLWWRGLFRQWUROOR &RQWUROKD]DUG
8QDLVWUX]LRQHGLVDOWRSURYRFDVHPSUHXQFRQIOLWWR
GLFRQWUROOR
/¶XQLWjGL IHWFK KDJLjOHWWRO¶LVWUX]LRQHVXFFHVVLYD
VHQ]D WHQHU FRQWRGHOIDWWRFKHLOVDOWRSRWUHEEH
SUHYHQLUQHO¶HVHFX]LRQH
6LULVROYHLQVHUHQGRXQDLVWUX]LRQHILWWL]LD123 WUDXQVDOWRHO¶LVWUX]LRQHVHJXHQWH
3LSHOLQH SLFRPSOHVVHRVWDGLVRQR
VRJJHWWHDQFKHDGDOWULWLSLGLFRQIOLWWL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQH DVWDGL0LF
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3LSHOLQH DVWDGL
6WDGLR ,QVWUXFWLRQ)HWFK8QLW 6WDGLR 'HFRGHU
6WDGLR &RGD 6WDGLR 2SHUDQGL 6WDGLR (VHFX]LRQH 6WDGLR 5LVFULWWXUD 6WDGLR 0HPRULD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOQXPHURGLVWDOOL
6LSXzSURFHGHUHLQGXHPRGLQRQ
PXWXDPHQWHHVFOXVLYL
6WXGLRGLRSSRUWXQHWHFQLFKHGLFRPSLOD]LRQH
PLUDWHDOODULGX]LRQHGHOQXPHURGLVLWXD]LRQL
SRWHQ]LDOPHQWHFULWLFKHWUDPLWH
5LRUGLQRGHOOHLVWUX]LRQLQHOULVSHWWRGHOOHGLSHQGHQ]HWUDL
GDWL
,QWURGX]LRQHGLLVWUX]LRQLILWWL]LH
5HDOL]]D]LRQHGLXQDXQLWjKDUGZDUHLQJUDGRGL
SUHYHGHUHVLWXD]LRQLFULWLFKHFRQXQVXIILFLHQWH
PDUJLQHGLDQWLFLSR
5LRUGLQRGLQDPLFRGHOOHLVWUX]LRQL
3UHGL]LRQHGHLVDOWL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
%UDQFK3UHGLFWLRQ3UREOHPL
8QDDUFKLWHWWXUD SLSHOLQH PDVVLPL]]DOH
SUHVWD]LRQLVHLOFRGLFHQRQFRQWLHQH
LVWUX]LRQLGLVDOWR
,OFRGLFHUHDOHWXWWDYLDKDXQDDOWD
SHUFHQWXDOHGLVDOWLFLUFDXQRRJQL
LVWUX]LRQL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
%UDQFK3UHGLFWLRQ
6DOWLFRQGL]LRQDWL
1RQqQRWRDSULRULTXDOHVDUjO¶LVWUX]LRQH
VXFFHVVLYD
/¶XQLWjGL IHWFK GHYHDWWHQGHUHLOFRPSOHWDPHQWR
GHOODIDVHGLHVHFX]LRQHGHOO¶LVWUX]LRQHGLVDOWR
FLFOLQHOO¶HVHPSLRYLVWR
6DOWLLQFRQGL]LRQDWL
/DGHVWLQD]LRQHqQRWDVHQ]DDPELJXLWj
/¶XQLWjGL IHWFK GHYHDWWHQGHUHLOFRPSOHWDPHQWR
GHOODIDVHGLOHWWXUDGHJOL RSHUDQGL GHOO¶LVWUX]LRQHGL
VDOWRFLFORQHOO¶HVHPSLRYLVWR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
%UDQFK3UHGLFWLRQ6ROX]LRQL
6DOWLLQFRQGL]LRQDWL
8QDXQLWjKDUGZDUHGHGLFDWDKDXQFRVWRPROWR
HOHYDWR
/¶LQGLUL]]RGLGHVWLQD]LRQHqQRWRDOVHFRQGRVWDGLR
GHOOD SLSHOLQH TXLQGLXQDVRODLVWUX]LRQHGRSRLO
VDOWRqJLjVWDWDLQL]LDWD
Fetch Jump
Exec Jump Write
Fetch I2 Read I2 Exec I2 Fetch I3 Salto
Read Target Istruzione successiva
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
%UDQFK3UHGLFWLRQ6ROX]LRQL
6DOWLFRQGL]LRQDWL
8QDXQLWjKDUGZDUHGHGLFDWDKDXQFRVWR
PROWRHOHYDWR
/¶HVHFX]LRQHGHLVDOWLFRQGL]LRQDWLULFKLHGH
LOFRPSOHWDPHQWRGLXQQXPHURPDJJLRUH
GLVWDGLGHOODSLSHOLQH
3LGLXQDLVWUX]LRQHVXFFHVVLYDDOVDOWR
LQL]LDDGHVVHUHHVHJXLWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD