SoC架构PPT专业课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
控制和数据通路
22
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SISD、MIMD、SIMD、SPMD和向量处理
器 • VLIW处理器
23
CISC与RISC
• CISC(Complex Instruction Set Computer)
25
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SISD、MIMD、SIMD、SPMD和向量处理
器 • VLIW处理器
26
流水线技术
• 流水技术无助于减 少单个任务的处理 延迟(latency)但 有助于提高整体工 作负载的吞吐率
12
SEP0718结构图
LCDC
I2S
HDMI PHY
AUDIO CODEC
GPS CTRL
UART (4)
I2S
BUS5 - APB32
AUDIO
SPI
CODEC
(3)
I2C
BUS3 - AHB32
DOWN SIZER
DMAC2
GPU
PHY
USB OTG
USB DMA
GPS
PHY
ARM11
BUS1 - AHB64
令可以访问存储器,以提高指令的执行效率。 – 编译复杂 – ARM、MIPS、PowerPC
24
处理器位宽
• 当前高性能嵌入式系统SoC的处理器多为32位处理器。所谓32位处理 器,即处理器内部的寄存器(包括地址寄存器与数据寄存器)位宽最 大为32位。低性能的嵌入式系统SoC一般多采用16位微控制器( micro-controllers),然而,随着工作负载的增加,此类系统逐渐开 始使用32位处理器。可以预见,在不久的将来,伴随高性能及超大存 储空间的需求,64位处理器将逐渐成为主流。
20
指令集ISA要完成哪些工作?
• 以ARM为例
– 分支指令 – 数据处理指令
• 寄存器传送 • 算术运算 • 逻辑运算指令 • 比较指令 • 乘法指令
– 存储器访问指令
• Load/Store内存访问指令 • 批量Load/Store内存访问指令 • SWP操作指令
– SWI系统调用指令 – 状态寄存器访问指令
• 具有知识产权的内核: IP核(Intellectual Property Core )
• 专用集成电路:ASIC(Application Specific Integrated Circuit)
什么是SOC
•IP核——(intellectual property core)全称知识产权核。是 指某一方提供的、形式为逻辑单元、芯片设计的可重用模块 。IP核通常已经通过了设计验证,设计人员以IP核为基础进 行设计,可以缩短设计所需的周期。[1]IP核可以通过协议由 一方提供给另一方,或由一方独自占有。IP核的概念源于产 品设计的专利证书和源代码的版权等。设计人员能够以IP核 为基础进行专用集成电路或现场可编程逻辑门阵列的逻辑设 计,以减少设计周期。 •ASIC——(Application Specific Integrated Circuit)特定应 用集成电路 让我们从特定应用集成电路(ASIC)开始。 这是因特定目的而创建的设备。这是一个完全或主要部分是 数字性质的芯片,任何模拟和混合信号功能是沿着物理接口 线(物理层)或锁相回路(PLL)的。ASIC通常被设计和使 用在特定系统中的单个公司。开发ASIC非常昂贵、耗时、资 源密集的,但ASIC确实能提供低功耗的高性能。
一个CPU的外部端口都会有地址总线和数据总线,我们选择一种总线,把CPU和 这些外围IP连起来,让CPU可以和这些IP进行通讯,完成数据的计算和输入输出,这 样就变成了一个具有实际意义的系统了。
在这一点上,不同的厂商做法不同。 对于Intel而言,他是有晶圆的老大,也就是说,它的CPU由他自己设计好后入场 流片,生产好之后就诞生一个正方形的下面有很多针脚的东西,就是你们口中的CPU 了。它的内存控制器在主板上的北桥里面,而硬盘控制器网络控制器啥的都在主板上 的南桥。从这里可以看出,它的CPU和各类控制器都是分开的,因而面积大,功耗高 ,性能强。 ARM就不一样,首先ARM属于无晶圆。什么意思?就是ARM自己不会去流片,想用 ARM的CPU怎么办?直接购买授权,而后ARM就直接把它的CPU的源代码发给你了。我们 实验室就有ARM7和ARM11的源代码,这些代码我也读过不少。从这点来说,ARM的确胆 子很大。 ARM的功耗较低面积较小,所以各大厂商通常会把它的CPU和各类外围IP都放到一 起,然后自己拿着图纸去流片,生产出来的也是一个正方形,下面有很多引脚,这个 东西不仅包含了CPU,还包含了其他的控制器,这个东西就叫做SOC(system on chip) 。因特尔绝对不会给你看它的RTL代码,只会给你他芯片的spec。 所以目前各大厂商所做的事情,就是买来ARM的授权,得到ARM处理器的源代码, 而后自己搞一些外围IP(或者买或者自己设计),组成一个SOC后,去流片。不同的SOC ,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心), 当然,厂商会对SOC里面的ARM核做一些小的修改。
14
Telechips 8900
15
Samsung S5PV210
16
芯片设计环境
SUN 大型服务器
深亚微米EDA软件
矢量信号源
逻辑分析系统
网络分析仪 频谱分析仪
可编程电源
6GHZ混合信号测试
工作站 ×14
瘦客 户机 ×30
HP server×20
17
芯片量产流程
市场调研 产品定义 方案设计 芯片需求
30
标量与超标量处理器
• 根据处理器的微架构设计,处理器可以分为标量(scalar)处理器与超标量( superscalar)处理器。
• 超标量处理器是指在处理器内核中实现了指令级的并发处理。这种技术能够 在相同的CPU主频下实现更高的CPU吞吐率(throughput)。处理器的内核 中一般有多个执行单元(或称功能单元),如算术逻辑单元、位移单元、乘 法器等等。未实现超标量体系结构时,CPU在每个时钟周期仅执行单条指令 ,因此仅有一个执行单元在工作,其它执行单元空闲。超标量处理器在一个 时钟周期可以同时分派多条指令在不同的执行单元中被执行,这就实现了指 令级的并行。超标量体系结构可以视作MIMD(多指令多数据)。
31
SIMD、MIMD和向量处理器
• MIMD(Multiple Instruction Multiple Data):可以编写独立的程序并 运行在不同的处理器上,而且这些程序可以协同完成一个共同的大型 目标。
• 由于空前的高效集成性能,片上系统是替代集成电路的主要解决方案 。SoC 已经成为当前微电子芯片发展的必然趋势。
什么是SOC
CPU IP
பைடு நூலகம்
总线
系统控制
IP
IP
IP
IP
存储区域
IP
IP IP
IP IP 接口外设 IP
SoC整体架构
CPU
o BUS
外部存储器 控制器
EMI
系统控制模块
各种接口
9
CPU
SEP0718
系统与时钟控制
ARM11
RTC
VIC
TIMER
PMU
DMAC
外设与接口
SPI
TOUCH
SDIO
PWM
UART
USB OTG
I2C
GPIO
MULTI-LAYER BUS
多媒体系统
GPU
VPU
LCDC
HDMI
I2S
CODEC
GPS系统
存储系统
NOR/SRAM/ SDRAM
DDR2 NAND
DDR23
HDMI
VIC
RTC
SYS CTRL
PMU
DOWN SIZER
DMAC1
LCDC
VPU
BUS4 - APB32
BUS2 - AHB32
TIMER
TOUCH /ADC
PWM
GPIO
GPIO (AO)
ESRAM (96kB)
NOR/ SRAM
NAND
SDIO (2)
13
Samsung 6410
• 多个不同任务同时 操作,使用不同资 源
• 潜在加速比=流水 线级数
• 流水线的速率受限 于最慢的流水段
• 流水段的执行时间 如果不均衡,那么 加速比就会降低
• 开始填充流水线的 时间和最后排放流 水线的时间降低加 速比
• 相关将导致流水线 暂停
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SIMD、MIMD和向量处理器 • VLIW处理器
– 指令长度可变 – 编译简单 – Intel
• RISC(Reduced Instruction Set Computer)
– 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。 – 使用单周期指令,便于流水线操作执行。 – 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指
• 最简单的静态分支预测方法就是任选一条分支。这样平均命中率为50%。 更精确的办法是根据原先运行的结果进行统计从而尝试预测分支是否会跳 转。任何一种分支预测策略的效果都取决于该策略本身的精确度和条件分 支的频率。
• 动态分支预测是近来的处理器已经尝试采用的技术。最简单的动态分支预 测策略是分支预测缓冲区(Branch Prediction Buff)或分支历史表( branch history table)。
28
分支预测技术
• 分支预测(Branch Prediction):是解决处理分支指令(if-then-else)导 致流水线失败的数据处理方法,由CPU来判断程序分支的进行方向,能够 加快运算速度。当包含流水线技术的处理器处理分支指令时就会遇到一个 问题,根据判定条件的真/假的不同,有可能会产生跳转,而这会打断流水 线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执 行完毕。流水线越长,处理器等待的时间便越长,因为它必须等待分支指 令处理完毕,才能确定下一条进入流水线的指令。分支预测技术便是为解 决这一问题而出现的。分支预测技术包含编译时进行的静态分支预测和硬 件在执行时进行的动态分支预测。
29
乱序执行技术
• 乱序执行(out-of-order execution),是指CPU允许将多条指令不按 程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据 某个电路单元的状态和各指令能否提前执行的具体情况分析后,将能 提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺 序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新 排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并 相应提高了CPU运行程序的速度。
存储区域
• RAM 读写方便,断电后不能保存数据。 • ROM 断电也能保存数据,但资料写入只能
用一般方法或根本无法更改。 • Flash存储器又称闪存,它结合了ROM和
RAM的长处,不仅具备电子可擦除可编程 (EEPROM)的性能,还可以快速读取数 据(NVRAM的优势),使数据不会因为断 电而丢失。
SoC架构
目录
• 1、什么是SOC • 2、CPU • 3、总线 • 4、系统控制模块
2
什么是SoC
Die裸片 逻辑单元
CPU 内核 Analog
PAD
静态RAM
3
几款SoC芯片的版图
SEP0718 65nm TSMC
累计流片20余 次10多种SoC芯 片 65nm,千万门 级设计经验
4
• 片上系统:SoC (System on Chip)
芯片需求分析 芯片定义 模块划分 电路设计 验证 物理设计 流片 封装 ATE测试
板级模块测试 系统级测试 稳定性测试 产品样机 产品小批量 芯片量产
18
目录
• 1、SoC整体架构 • 2、CPU • 3、总线 • 4、系统控制模块
19
CPU – SoC中的内核
• CPU所做的工作由其指令集决定 • CPU的控制和数据通路执行指令集中的各种指令
什么是SOC
• 片上系统(SoC:System-on-a-chip)指的是在单个芯片上集成一个 完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓 完整的系统一般包括中央处理器(CPU)、存储器、以及外围电路等。
• 片上系统技术通常应用于小型的,日益复杂的客户电子设备。例如, 声音检测设备的片上系统是在单个芯片上为所有用户提供包括音频接 收端、模数转换器(ADC)、微处理器、必要的存储器以及输入输出 逻辑控制等设备。此外系统芯片还应用于单芯片无线产品,诸如蓝牙 设备,支持单芯片WLAN和蜂窝电话解决方案。
控制和数据通路
22
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SISD、MIMD、SIMD、SPMD和向量处理
器 • VLIW处理器
23
CISC与RISC
• CISC(Complex Instruction Set Computer)
25
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SISD、MIMD、SIMD、SPMD和向量处理
器 • VLIW处理器
26
流水线技术
• 流水技术无助于减 少单个任务的处理 延迟(latency)但 有助于提高整体工 作负载的吞吐率
12
SEP0718结构图
LCDC
I2S
HDMI PHY
AUDIO CODEC
GPS CTRL
UART (4)
I2S
BUS5 - APB32
AUDIO
SPI
CODEC
(3)
I2C
BUS3 - AHB32
DOWN SIZER
DMAC2
GPU
PHY
USB OTG
USB DMA
GPS
PHY
ARM11
BUS1 - AHB64
令可以访问存储器,以提高指令的执行效率。 – 编译复杂 – ARM、MIPS、PowerPC
24
处理器位宽
• 当前高性能嵌入式系统SoC的处理器多为32位处理器。所谓32位处理 器,即处理器内部的寄存器(包括地址寄存器与数据寄存器)位宽最 大为32位。低性能的嵌入式系统SoC一般多采用16位微控制器( micro-controllers),然而,随着工作负载的增加,此类系统逐渐开 始使用32位处理器。可以预见,在不久的将来,伴随高性能及超大存 储空间的需求,64位处理器将逐渐成为主流。
20
指令集ISA要完成哪些工作?
• 以ARM为例
– 分支指令 – 数据处理指令
• 寄存器传送 • 算术运算 • 逻辑运算指令 • 比较指令 • 乘法指令
– 存储器访问指令
• Load/Store内存访问指令 • 批量Load/Store内存访问指令 • SWP操作指令
– SWI系统调用指令 – 状态寄存器访问指令
• 具有知识产权的内核: IP核(Intellectual Property Core )
• 专用集成电路:ASIC(Application Specific Integrated Circuit)
什么是SOC
•IP核——(intellectual property core)全称知识产权核。是 指某一方提供的、形式为逻辑单元、芯片设计的可重用模块 。IP核通常已经通过了设计验证,设计人员以IP核为基础进 行设计,可以缩短设计所需的周期。[1]IP核可以通过协议由 一方提供给另一方,或由一方独自占有。IP核的概念源于产 品设计的专利证书和源代码的版权等。设计人员能够以IP核 为基础进行专用集成电路或现场可编程逻辑门阵列的逻辑设 计,以减少设计周期。 •ASIC——(Application Specific Integrated Circuit)特定应 用集成电路 让我们从特定应用集成电路(ASIC)开始。 这是因特定目的而创建的设备。这是一个完全或主要部分是 数字性质的芯片,任何模拟和混合信号功能是沿着物理接口 线(物理层)或锁相回路(PLL)的。ASIC通常被设计和使 用在特定系统中的单个公司。开发ASIC非常昂贵、耗时、资 源密集的,但ASIC确实能提供低功耗的高性能。
一个CPU的外部端口都会有地址总线和数据总线,我们选择一种总线,把CPU和 这些外围IP连起来,让CPU可以和这些IP进行通讯,完成数据的计算和输入输出,这 样就变成了一个具有实际意义的系统了。
在这一点上,不同的厂商做法不同。 对于Intel而言,他是有晶圆的老大,也就是说,它的CPU由他自己设计好后入场 流片,生产好之后就诞生一个正方形的下面有很多针脚的东西,就是你们口中的CPU 了。它的内存控制器在主板上的北桥里面,而硬盘控制器网络控制器啥的都在主板上 的南桥。从这里可以看出,它的CPU和各类控制器都是分开的,因而面积大,功耗高 ,性能强。 ARM就不一样,首先ARM属于无晶圆。什么意思?就是ARM自己不会去流片,想用 ARM的CPU怎么办?直接购买授权,而后ARM就直接把它的CPU的源代码发给你了。我们 实验室就有ARM7和ARM11的源代码,这些代码我也读过不少。从这点来说,ARM的确胆 子很大。 ARM的功耗较低面积较小,所以各大厂商通常会把它的CPU和各类外围IP都放到一 起,然后自己拿着图纸去流片,生产出来的也是一个正方形,下面有很多引脚,这个 东西不仅包含了CPU,还包含了其他的控制器,这个东西就叫做SOC(system on chip) 。因特尔绝对不会给你看它的RTL代码,只会给你他芯片的spec。 所以目前各大厂商所做的事情,就是买来ARM的授权,得到ARM处理器的源代码, 而后自己搞一些外围IP(或者买或者自己设计),组成一个SOC后,去流片。不同的SOC ,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心), 当然,厂商会对SOC里面的ARM核做一些小的修改。
14
Telechips 8900
15
Samsung S5PV210
16
芯片设计环境
SUN 大型服务器
深亚微米EDA软件
矢量信号源
逻辑分析系统
网络分析仪 频谱分析仪
可编程电源
6GHZ混合信号测试
工作站 ×14
瘦客 户机 ×30
HP server×20
17
芯片量产流程
市场调研 产品定义 方案设计 芯片需求
30
标量与超标量处理器
• 根据处理器的微架构设计,处理器可以分为标量(scalar)处理器与超标量( superscalar)处理器。
• 超标量处理器是指在处理器内核中实现了指令级的并发处理。这种技术能够 在相同的CPU主频下实现更高的CPU吞吐率(throughput)。处理器的内核 中一般有多个执行单元(或称功能单元),如算术逻辑单元、位移单元、乘 法器等等。未实现超标量体系结构时,CPU在每个时钟周期仅执行单条指令 ,因此仅有一个执行单元在工作,其它执行单元空闲。超标量处理器在一个 时钟周期可以同时分派多条指令在不同的执行单元中被执行,这就实现了指 令级的并行。超标量体系结构可以视作MIMD(多指令多数据)。
31
SIMD、MIMD和向量处理器
• MIMD(Multiple Instruction Multiple Data):可以编写独立的程序并 运行在不同的处理器上,而且这些程序可以协同完成一个共同的大型 目标。
• 由于空前的高效集成性能,片上系统是替代集成电路的主要解决方案 。SoC 已经成为当前微电子芯片发展的必然趋势。
什么是SOC
CPU IP
பைடு நூலகம்
总线
系统控制
IP
IP
IP
IP
存储区域
IP
IP IP
IP IP 接口外设 IP
SoC整体架构
CPU
o BUS
外部存储器 控制器
EMI
系统控制模块
各种接口
9
CPU
SEP0718
系统与时钟控制
ARM11
RTC
VIC
TIMER
PMU
DMAC
外设与接口
SPI
TOUCH
SDIO
PWM
UART
USB OTG
I2C
GPIO
MULTI-LAYER BUS
多媒体系统
GPU
VPU
LCDC
HDMI
I2S
CODEC
GPS系统
存储系统
NOR/SRAM/ SDRAM
DDR2 NAND
DDR23
HDMI
VIC
RTC
SYS CTRL
PMU
DOWN SIZER
DMAC1
LCDC
VPU
BUS4 - APB32
BUS2 - AHB32
TIMER
TOUCH /ADC
PWM
GPIO
GPIO (AO)
ESRAM (96kB)
NOR/ SRAM
NAND
SDIO (2)
13
Samsung 6410
• 多个不同任务同时 操作,使用不同资 源
• 潜在加速比=流水 线级数
• 流水线的速率受限 于最慢的流水段
• 流水段的执行时间 如果不均衡,那么 加速比就会降低
• 开始填充流水线的 时间和最后排放流 水线的时间降低加 速比
• 相关将导致流水线 暂停
CPU基本概念
• CISC与RISC • 流水线技术 • 分支预测技术 • 乱序执行技术 • 标量与超标量处理器 • SIMD、MIMD和向量处理器 • VLIW处理器
– 指令长度可变 – 编译简单 – Intel
• RISC(Reduced Instruction Set Computer)
– 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。 – 使用单周期指令,便于流水线操作执行。 – 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指
• 最简单的静态分支预测方法就是任选一条分支。这样平均命中率为50%。 更精确的办法是根据原先运行的结果进行统计从而尝试预测分支是否会跳 转。任何一种分支预测策略的效果都取决于该策略本身的精确度和条件分 支的频率。
• 动态分支预测是近来的处理器已经尝试采用的技术。最简单的动态分支预 测策略是分支预测缓冲区(Branch Prediction Buff)或分支历史表( branch history table)。
28
分支预测技术
• 分支预测(Branch Prediction):是解决处理分支指令(if-then-else)导 致流水线失败的数据处理方法,由CPU来判断程序分支的进行方向,能够 加快运算速度。当包含流水线技术的处理器处理分支指令时就会遇到一个 问题,根据判定条件的真/假的不同,有可能会产生跳转,而这会打断流水 线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执 行完毕。流水线越长,处理器等待的时间便越长,因为它必须等待分支指 令处理完毕,才能确定下一条进入流水线的指令。分支预测技术便是为解 决这一问题而出现的。分支预测技术包含编译时进行的静态分支预测和硬 件在执行时进行的动态分支预测。
29
乱序执行技术
• 乱序执行(out-of-order execution),是指CPU允许将多条指令不按 程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据 某个电路单元的状态和各指令能否提前执行的具体情况分析后,将能 提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺 序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新 排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并 相应提高了CPU运行程序的速度。
存储区域
• RAM 读写方便,断电后不能保存数据。 • ROM 断电也能保存数据,但资料写入只能
用一般方法或根本无法更改。 • Flash存储器又称闪存,它结合了ROM和
RAM的长处,不仅具备电子可擦除可编程 (EEPROM)的性能,还可以快速读取数 据(NVRAM的优势),使数据不会因为断 电而丢失。
SoC架构
目录
• 1、什么是SOC • 2、CPU • 3、总线 • 4、系统控制模块
2
什么是SoC
Die裸片 逻辑单元
CPU 内核 Analog
PAD
静态RAM
3
几款SoC芯片的版图
SEP0718 65nm TSMC
累计流片20余 次10多种SoC芯 片 65nm,千万门 级设计经验
4
• 片上系统:SoC (System on Chip)
芯片需求分析 芯片定义 模块划分 电路设计 验证 物理设计 流片 封装 ATE测试
板级模块测试 系统级测试 稳定性测试 产品样机 产品小批量 芯片量产
18
目录
• 1、SoC整体架构 • 2、CPU • 3、总线 • 4、系统控制模块
19
CPU – SoC中的内核
• CPU所做的工作由其指令集决定 • CPU的控制和数据通路执行指令集中的各种指令
什么是SOC
• 片上系统(SoC:System-on-a-chip)指的是在单个芯片上集成一个 完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓 完整的系统一般包括中央处理器(CPU)、存储器、以及外围电路等。
• 片上系统技术通常应用于小型的,日益复杂的客户电子设备。例如, 声音检测设备的片上系统是在单个芯片上为所有用户提供包括音频接 收端、模数转换器(ADC)、微处理器、必要的存储器以及输入输出 逻辑控制等设备。此外系统芯片还应用于单芯片无线产品,诸如蓝牙 设备,支持单芯片WLAN和蜂窝电话解决方案。