2008 · 71 citations · 2 references
EngineeringComputer ArchitectureMemory Model (Programming)Processor ArchitectureSoftware AnalysisHardware ArchitectureParallel ComputingProcessor CoresProfiling ToolComputer EngineeringComputer SciencePerformance Analysis ToolHardware UtilizationProgram AnalysisSoftware TestingPerformance CountersParallel ProgrammingSystem Performance AnalysisSystem Software
Nowadays, all major processors provide a set of performance counters which capture micro-architectural level information, such as the number of elapsed cycles, cache misses, or instructions executed. Counters can be found in processor cores, processor die, chipsets, or in I/O cards. They can provide a wealth of information as to how the hardware is being used by software. Many processors now support events to measure precisely and with very limited overhead, the traffic between a core and the memory subsystem. It is possible to compute average load latency and bus band-width utilization. This valuable information can be used to improve code quality and placement of threads to maximize hardware utilization.
2