deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • 杂项
  • Windows UI 自动化方案调研 (2026)v2
  • Nginx
  • 首页
  • Protobuf
  • 学习资料
  • 杂项
  • Ldap
  • 编译原理
  • 分布式

    • 分布式
    • Raft 算法
  • 开发工具

    • 开发工具
    • cloc
    • Vscode
    • 工具箱
    • Visual Studio

      • Visual Studio
      • C++ 相关
      • Visual Studio 基本知识
  • 软件设计

    • 软件设计
    • MVC
    • 领域驱动设计
    • PO、DO、DTO、VO
    • 高内聚低耦合
  • 消息队列

    • 消息队列
    • Celery
    • Kafka
    • RabbitMQ
  • 设计模式

    • 设计模式
    • 控制反转和依赖注入
    • 七大原则
  • 网络安全

    • 网络安全
    • 请求签名
    • CSRF
    • XSS
  • 版本管理工具

    • 版本管理工具
    • Git

      • Git
      • Git get 私有仓库报错
      • Github 加速
      • Clone
      • Git pull 出现 hint 时的解决方案
      • 修改提交记录的作者信息
      • Git mergr
  • 组成原理

    • 组成原理
    • CPU

学习资料

概念

EU: 执行单元

CU: 控制单元

多核与多线程

多线程共用 EU

CPU 超线程

超线程把一个物理 CPU 当成两个逻辑 CPU 使用,使 CPU 可以同时执行多重线程

其原理是利用单线程无法跑满所有执行单元这一点。通过超线程,可以充分利用各个运算单元

https://www.intel.cn/content/www/cn/zh/gaming/resources/hyper-threading.html

CPU 多核

双核对比单核,在多线程任务下,约有 60% 的性能提升;运行单个单线程程序,双核和单核效果是一样的

MMU

缓存

缓存分类:

  • 一级指令缓存(I$)

● 一级数据缓存(D$)

● 转译后备缓冲器(TLB)

● 二级缓存(E$)

● 三级缓存(可选)

cpu 缓存使用组相连

x86 处理器典型的缓存行大小是 64 字节

https://zh.wikipedia.org/wiki/CPU%E7%BC%93%E5%AD%98#%E7%BC%93%E5%AD%98%E7%9A%84%E5%AD%98%E5%82%A8%E7%BB%93%E6%9E%84

互联

CPU 通过 QPI 互联,比总线更优

诊断工具

Uptime

这个值的意义为,平均负载大于 CPU 数量表示 CPU 不足以服务线程,有些线程在等待。如果平均负载小于 CPU 数量,这(很可能)代表还有一些余量,线程可以在它们想要的时候在 CPU 上运行。

Prev
Protobuf
Next
杂项