,PSOHPHQWLQJD6WDFN&DFKH$OH[+HPVDWK5REHUW0RUWRQ-DQ6MRGLQ6WDFN&DFKHD4XLFN5HPLQGHU$VWDFNFDFKHLVLQWHQGHGWRPDLQWDLQDVHSDUDWHFDFKHIURPWKH/IRUGDWDWKDWLVDFFHVVHGLQDSUHGLFWDEOHVWDFNOLNHIDVKLRQ$VWDFNFDFKHKDQGOHVDOOPHPRU\UHIHUHQFHVZLWKUHVSHFWWRWKH6WDFN3RLQWHU632XU+\SRWKHVHV7KHVWDFNFDFKHZLOOKDYHDIDVWHUDFFHVVWKDQPRGHUQ/FDFKHV7KHVWDFNFDFKHZLOOSUHYHQWVKRUWOLYHGVWDFNGDWDIURPHYLFWLQJKHDSGDWDIURPWKH/3UHILOOLQJ DQGSUHVSLOOLQJ RIWKHVWDFNFDFKHFRXOGHIIHFWLYHO\KLGHPXFKRIWKH/ODWHQF\IRUVWDFNFDFKHPLVVHV3UHLPSOHPHQWDWLRQ$QDO\VLV:HXVHGVLPFDFKHWRHVWLPDWHWKHEHVWVL]HRIDVWDFNFDFKHHTXDNHStack Pointer Updates01000002000003000004000005000006000007000008000008 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 152 176 336 344 352 456 480 488 544 1968 2120 2504SP offset in bytesNumber of Stack Pointer Updates2XU,PSOHPHQWDWLRQ:HJDWKHUHGVWDWLVWLFVXVLQJVLPFDFKH:HEXLOWWKH6&LQWRVLPRXWRUGHUaOLQHVRIFRGHSOXVGDWDORJJLQJ)RUHDVHRILPSOHPHQWDWLRQZHIRUFHGDOOVWDFNDFFHVVHVWRJRWKURXJKWKH6&LQVWHDGRIWKH/GDWDFDFKH0RUH,PSOHPHQWDWLRQ'HWDLOV:HPRQLWRUXSGDWHVWRWKH63HYHU\F\FOH(YHU\F\FOHZHH[DPLQHWKHXWLOLW\RIWKH6&± DVZHOODVDYDLODEOH/DFFHVVEDQGZLGWK± WRGHWHUPLQHZKHQWRSUHILOOVSLOO0HPRU\DFFHVVHVWKDWGLGQRWKLWLQWKH6&ZRXOGEHGLYHUWHGWRWKH/7HVWLQJ3URFHGXUH:HFDPHXSZLWKDEDVHFDVHDQGVHYHUDOYDULDEOHVWRWHVWLQFRPELQDWLRQ%DVHFDVH .E/'.E/,F\FOHZD\ .EVKDUHG/F\FOHZD\ 6WDFNFDFKHGLVDEOHG7HVWLQJ3URFHGXUHFRQW¶G6WDFNFDFKHVL]H .E.E/'DVVRFLDWLYLW\ ZD\ZD\/'ODWHQF\ F\FOHVF\FOH/'VL]H .E.E.EPXVWEHSRZHUVRIWZR7HVWLQJ3URFHGXUHFRQW¶G:HXVHGWKHIROORZLQJEHQFKPDUNV HTXDNH 63(&)3 DPPS 63(&)3 SDUVHU63(&,17 YSU 63(&,17:HFXUUHQWO\RQO\KDYHGDWDDYDLODEOHIRUHTXDNH DQGYSU5HVXOWV± 6WDFN&DFKHVL]H0.940.950.960.970.980.9911.01equake vprBaseline 2Kb stack cache 4Kb stack cache1RUPDOL]HGF\FOHFRXQWEDVHOLQH ORZHULVEHWWHU5HVXOWV± &DFKHPLVVUDWHV00.010.020.030.040.050.060.070.080.090.1equake vpr2Kb Stack Cache4Kb Stack Cache16 Kb L1 D$ (no SC)4 Kb L1 D$ (no SC)0LVVUDWHVIRU.E6&.E6&.E/'.E/'5HVXOWV± /'DFFHVVFRXQW050000000100000000150000000200000000250000000equake vprL1 accesses (no SC) L1 accesses (with SC)$FFHVVFRXQWVIRU/'ZLWKRXW6&ZLWK6&5HVXOWV± /'DVVRFLDWLYLW\0.90.920.940.960.9811.021.041.061.08equake vprBaseline 2Kb SC, 16Kb 4-way L1 D$ 2Kb SC, 16Kb 2-way L1 D$%DVHOLQH.E6&.EZD\/.E6&ZD\/1RUPDOL]HGF\FOHFRXQWORZHULVEHWWHU5HVXOWV± /'ODWHQF\0.960.9811.021.041.061.081.11.121.14equakeBaseline1 cycle L1 / no SC1 cycle L1 / 2Kb SC1 cycle L1 / 4Kb SC,3&± KLJKHULVEHWWHU5HVXOWV± 'LYLGLQJKDUGZDUHUHVRXUFHV0.9750.980.9850.990.99511.0051.011.015equake vprBaseline 4Kb L1 / no SC 2Kb L1 / 2Kb SC%DVHOLQH.E/'.E/'.E6&QRUPDOL]HG,3&KLJKHULVEHWWHU6XFFHVVHV:HKDYHVKRZQWKDWWKHVWDFNFDFKHLVYHU\VSDFHHIILFLHQW ,WKDVDKLJKKLWUDWHDQGDORZODWHQF\ ,WLQWHUFHSWVaRIWKHDFFHVVHVWRWKH/GDWDFDFKH 3HUIRUPDQFHLPSURYHPHQWVUDQJHGIURPZLWKWKHDGGLWLRQRID.EVWDFNFDFKH7KLVYHULILHVRXUILUVWWZRK\SRWKHVHV6KRUWFRPLQJV2QHSLWIDOOZDVKDYLQJLPSOHPHQWHGDQXQDJJUHVVLYH SUHILOOVSLOOXQLW 7KLVPHDQWRXUFDFKHKDGWREHWZLFHDVODUJHWRRSHUDWHDVH[SHFWHG 7KLVVHHPVWRYHULI\RXUODVWK\SRWKHVLV± DPRUHDJJUHVVLYHSUHILOOVSLOOXQLWFDQDLGWKHVWDFNFDFKHWUHPHQGRXVO\$QDGGLWLRQDOSUREOHPZDVRXUOLPLWHGGDWDJDWKHULQJFDSDELOLWLHV 7KHPRGLILHGVLPXODWRUUDQH[WUHPHO\VORZO\ 7KHVLPXODWRUKDGTXLUN\SDUDPHWHUUXOHV&RQFOXVLRQ7KHVWDFNFDFKHDSSHDUVWREHDYLDEOHRSWLRQSURYLGHG ,WLVODUJHHQRXJKWKHSHUIRUPDQFHGLVFUHSDQF\EHWZHHQVL]HVLVODUJH ,WKDVDQDJJUHVVLYHSUHILOOVSLOOPHFKDQLVP
View Full Document