计算机的硬件速度总结

7 篇文章 0 订阅

计算机的硬件速度总结
CPU-3GHZ
    每秒执行    3*10^9次/s,也就是1ns执行3次,时钟周期约0.3ns
    光速是        3*10^8m/s=0.3m/ns        0.3ns光行走0.1m=10cm
    L1 cache        32k        3     cycles        1ns
    L2 cache        6M        14     cycles        4.7ns
    L3 cache:                 25     cycles
    memory                    100 cycles
    正常情况下,当CPU操作一块内存区域时,其中的信息要么已经保存在L1/L2 cache,
    要么就需要将之从系统主存中调入cache,然后再处理
    
    cpu从cache取数据最小单位cache line 64bytes和DDR3 4一次访问数据大小一致
    memory从ssd拿数据最小单位通常是4k bytes

北桥芯片    bindwidth 10Gb/s
    DDR3主存        1333Mhz    ,250个时钟周期     83ns
    pci express        x16        8Gb/s
    
    CPU缓存基本由SRAM不需要刷新时间所以凸显其数据传输速度很快
    DRAM只含一个晶体管和一个电容器,集成度非常高,靠电容器来储存信息,
    所以需要不断刷新补充电容器的电荷


南桥芯片    bindwidth 1Gb/s
    pci express        x1        500Mb/s
    wired ethernet    1G        100Mb/s
    wireless 802.11b        1Mb/s
    wireless 802.11g        2.5Mb/s
    internet    latency        80ms
    SATA                    300Mb/s
    7200 RPM    16M Cache    60Mb/s
    USB        1.0                1Mb/s
    USB     2.0             30MB/s

网卡
    10G网卡接口每秒需要处理接近15M个packet,15M packets * 8 bit * 84 byte
    1个packet处理时间需要在70ns之内

TLB
    每个进程需要解决虚拟地址到物理地址的映射问题
    4k为一个页表,页表项4bytes表示,4G内存需要2^20个页表项,约4M内存
    多级页表查询会比较慢,一级页表可以直接获得物理内存地址。
    二级页表先确定一级再确定二级然后获得物理地址,二级页表2^10+2^10个页表项,约8k内存
    
    64位系统更大内存,支持成千上万个进程,需要方案折中
    4级页表2^9 个PGD + 2^9 个PUD + 2^9 个PMD + 2^9 个PTE = 2048个页表项
    可以支持2^36个页表等于256T内存,一个页表8bytes,需要16K内存,5次内存IO访问一个物理内存
    
    TLB访问速度非常快,和寄存器相当,比L1访问还快。类似cache,全相连,直接匹配,组相连
    1.CPU产生一个虚拟地址
    2.MMU从TLB中获取页表,翻译成物理地址
    3.MMU把物理地址发送给L1/L2/L3/内存
    4.L1/L2/L3/内存将地址对应数据返回给CPU
    perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses -p $PID

硬盘
    硬盘驱动器(HDD)
        在旋转盘片上以磁性方式存储数据,寻道找到磁盘上数据存储
        成本低
    而固态驱动器(SSD)
        在半导体电路上以电子方式存储数据,通过电学信号的传输完成对闪存芯片。
        主控缓存和闪存组成,由于不存在机械结构;
        受到读写次数的限制,固态硬盘的使用寿命比较短
        比机械硬盘更容易受到外界的干扰,而且数据损坏是难以修复的
    固态硬盘读取数据的时间一般都在0.1ms以下,而机械硬盘读取数据的时间一般在10ms
    

Numbers Everyone Should Know

L1 cache reference 读取CPU的一级缓存    0.5 ns
Branch mispredict(转移、分支预测)        5 ns
L2 cache reference 读取CPU的二级缓存    7 ns
Mutex lock/unlock 互斥锁\解锁            100 ns
Main memory reference 读取内存数据        100 ns
Compress 1K bytes with Zippy 1k字节压缩    10,000 ns
Send 2K bytes over 1 Gbps network 在1Gbps的网络上发送2k字节            20,000 ns
Read 1 MB sequentially from memory 从内存顺序读取1MB                250,000 ns
Round trip within same datacenter 从一个数据中心往返一次,ping一下    500,000 ns
Disk seek  磁盘搜索                                                    10,000,000 ns 
Read 1 MB sequentially from network 从网络上顺序读取1兆的数据        10,000,000 ns
Read 1 MB sequentially from disk 从磁盘里面读出1MB                    30,000,000 ns 
Send packet CA->Netherlands->CA 一个包的一次远程访问                150,000,000 ns

DPDK
https://www.slideshare.net/garyachy/dpdk-44585840

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值