“”2002IBMPOWER4AMDIntelIntelAMDNetworksonChipIntel80286IntelPentium4GordonMooreIntelIntel1965ITITITITITITITIntel80286Pentium4——286PentiumIVPentiumIV20AMDAthonIntelPentium4AMDInteliCore7IntelPentiumIVCore2MicrosoftVista5000linux09RedhatLinuxWindowsWindowsVistaWindows7VistaHydra1996Imagine(2000)MITRAW2002UTTRIPS20032000projectRISCCISCSUNIBMIntelAMDARM:,,HydraHydraHydraSUN(SUNOracle,)HydraSUNNiagaraIntelHydraHydraHydraI/OL2HydraIntelSUN2007Niagara2•UMA(UniformMemoryAccess)()••LinuxHydra1996ISCAInternationalSymposiumonComputerArchitectureCacheArchitectureGPGPUGPGPUGPUHydraDSP(DigitalSignalProcessor)CPUDSPCPUSIMDSingleInstructionMultipleData)VLIW(VeryLongInstructionWord)HydraCPUDSPImagineHydraC=A+BABCSIMDImagineVLIWVLIWImagineImagine8ALUNvidiaFermiImagineSIMD48ALU8SIMDGPUNvidaFermiGT200ImagineALUNvidiaStreamingMultiprocessorSMFermiSM3232ALU32GT200SMSMImagineALUClusterSIMDIntelAMDSM64SMGT200texturecacheImagineStreammemorycacheSMSIMDdatatexturecachecacheFermiGPUCPUNvidiaCUDAGPGPU1.GPUGPUGPUWebServer2.GPUGPUGPUGPU3.GPUCPUGPUISCAGPUNvidiaGTX280IntelCorei79602.5IntelSandyBridgeGPUSandyBridge2002MITRAWMITRAWTileraRAWscalaroperandnetworkALUALUALUALUALUALUALUALU“”RAWRAWALUMeshMeshI/ORAWIBMCellCellIBMSONYToshibaPS3CellIBM906545IBM2009CellCellPS3Wii20109WiiPS3IBMCellPowerprocessingelement(PPE)64PowerPCSynergisticProcessingElements(SPE)RISC128SIMD200GB256KBPPEPPESPEPowerPCPPECellIBMIntelx86CISCMIPSSPARCRISCIntelx86RAWCellIntelx86LarabeeGPGPU20082009Larabee1632x861.816322.LarabeeNvidiaAMDGPULarabeePublished2010-12-21