SoC系列(2)上

115 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天!


SoC整体架构

image.png

CPU-SoC中的大脑

  • CPU所做的工作由其指令集决定(intel,AMD的x86以及ARM架构)
  • CPU的控制和数据通路执行指令集中的各种指令

指令集系统(ISA):是一个软硬件的界面。

指令集要完成哪些工作?

  • 以ARM为例
    • 分支指令

    • 数据处理指令

      • 寄存器传送
      • 算术运算
      • 逻辑运算指令
      • 比较指令
      • 乘法指令
    • 存储器访问指令

      • Load/Store内存访问指令
      • 批量Load/Store内存访问指令(I-cache)
      • SWP操作指令:寄存器和存储器交换指令
    • SWI系统调用指令:软中断

    • 状态寄存器访问指令

image.png

控制和数据通路

  • 取指:
  • 译码:根据指令产生控制信号 (控制器:适当的时间向正确的部件发出正确的控制信号)
  • 数据通路:在控制信号的控制下执行运算或传输功能

CPU性能优化技术

流水线技术(pipeline)

流水技术:通过增加指令吞吐率来改进性能

  • 流水技术无助于减少单个任务的处理延迟(latency),但有助于提高整体工作负载的吞吐率
  • 多个不同任务同时操作,可以使用不同资源
  • 潜在的加速比= 流水线级数(理论上流水线级数越多,潜在加速比越大)
  • 流水线的速率受限于最慢的流水段
  • 流水段的执行时间如果不均衡,那么加速比就会降低
  • 开始填充流水线的时间和最后排放流水线的时间降低加速比(什么时间取指与什么时候结束)
  • 相关(后一级流水需要等待前一级流水结束才可以发送)将导致流水线暂停

高速缓存技术 cache

image.png 主存就是常说的内存,DDR; Cache放在CPU与内存之间,一般都是片上高速的SRAM.接近于CPU速度。高速缓存解决了CPU与内存之间取指、取数据这样交互的过程。

超标量指令MIMD(多指令多数据)SIMD(单指令多数据)

image.png

可重构计算

这几年热度下降了


需要了解一下ARM!!

总线 -SoC的骨架

  • CPU、高速设备、低速设备、外部存储器控制接口、系统控制模块等等SoC中各个模块之间的数据传输
  • SoC中的各个IP模块以统一的接口和总线通信,避免了挂接在不同SoC架构中部分代码的重新编写
  • 常用的总线:AMBA(重要)、NoC image.png