---
title: 概述
description: "针对不同的应用场景，系统性能的表现是完全不同的。对于计算密集型的场景，性能优化的目标是让CPU可以在单位时间内处理更多的数据；对于数据库访问较多的场景，性能优化的目标是提升IO操作的效率，减少IO wait，单位时间内可以读写更多的数据；对于网络流量较大的场景，性能优化的目标是提升网络的吞吐量和降低时延，也就是提升单位时间内发送/接收到的数据包的数量。虽然各种场景性能优化的目标不一样，但都是提升系统单位时间内的某项能力。对CPU来说，体现在CPU指令执行效率上，性能优化的本质是提升单位时间内CPU执行的指令数，即IPC（Instructions per Cycle）。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/progtuneg/kunpengprogramming_05_0007.html
sourcePath: /source/zh/perftuning/progtuneg/kunpengprogramming_05_0007.html
indexId: 69bf493cbeab1b66caf3a80643c10702f6fc12c8c8ec6feb5668e74d5d3c623363
---
# 概述

针对不同的应用场景，系统性能的表现是完全不同的。对于计算密集型的场景，性能优化的目标是让CPU可以在单位时间内处理更多的数据；对于数据库访问较多的场景，性能优化的目标是提升IO操作的效率，减少IO wait，单位时间内可以读写更多的数据；对于网络流量较大的场景，性能优化的目标是提升网络的吞吐量和降低时延，也就是提升单位时间内发送/接收到的数据包的数量。虽然各种场景性能优化的目标不一样，但都是提升系统单位时间内的某项能力。对CPU来说，体现在CPU指令执行效率上，性能优化的本质是提升单位时间内CPU执行的指令数，即IPC（Instructions per Cycle）。

指令在CPU中执行时，经过了很多的CPU部件，每个部件各司其职，功能上相互独立，但是通常下游部件会对上游部件执行的结果有依赖，这样的结构很类似生产线上的流水线。因此，将指令执行的整个过程命名为指令流水线。不同架构的CPU流水线的级数（长度）存在很大差异，从几级到几十级不等，流水线级数越多，CPU结构就越复杂，功能也就越强大，同时功耗也会越大。相反地，流水线级数少，CPU结构简单，功耗就会降低很多。下表是一些典型的ARM流水线级别。


**表1 流水线级别**

| 型号 | 指令集 | 流水线 |
| --- | --- | --- |
| ARM7 | ARMv4 | 3级 |
| ARM9 | ARMv5 | 5级 |
| ARM11 | ARMv6 | 8级 |
| Cortex\-A8 | ARMv7\-A | 13级 |
| 鲲鹏920/Cortex\-A55 | ARMv8 | 8级 |
