版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SoC设计方法与实现设计方法与实现第四章SoC系统结构设计系统结构设计内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC
2、中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计SoC系统结构设计方法系统结构设计方法基于基于Y-chart的的SoC系统结构设计方法系统结构设计方法SoC的系统结构设计的过程的系统结构设计的过程功能设计阶段功能设计阶段应用驱动的系统结构设计阶段应用驱动的系统结构设计阶段平台导向的系统结构设计阶段平台导向的系统结构设计阶段内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电
3、子系统级(电子系统级(ESL)设计)设计Example of Hardware System ArchitectureSource: ARM Ltd.SoC 设计包括设计包括n系统架构设计n软件结构设计n硬件设计 (chip design)系统架构的主要问题系统架构的主要问题应用的分析应用的分析nWhich processor should I choose?软硬件划分软硬件划分nWhat is in hardware, what is in software?总线和内存结构总线和内存结构nHow do I implement the control stream?nHow do I impl
4、ement the data stream?常用处理器分类常用处理器分类通用处理器(通用处理器(CPU)数字信号处理器(数字信号处理器(DSP)可配置处理器可配置处理器通用处理器通用处理器ARM系列处理器系列处理器ARM(Advanced RISC Machines)系列处理器是)系列处理器是RISC架构处理器,具有高性能、低功耗等特点。架构处理器,具有高性能、低功耗等特点。ARM系系列处理器主要有列处理器主要有ARM7、ARM9、ARM10、ARM11等等ARM7系列处理器是低功耗的系列处理器是低功耗的32位位RISC处理器,支持处理器,支持16位的位的Thumb指令集指令集ARM9系列处理
5、器实现系列处理器实现5级的流水,增加了级的流水,增加了MMU单元,实单元,实现数据和指令分离的存储器结构现数据和指令分离的存储器结构ARM10、ARM11等系列处理器增加了流水线的深度,提等系列处理器增加了流水线的深度,提高了工作时钟频率。高了工作时钟频率。ARM11中还增加了中还增加了SIMD功能扩展功能扩展,提高对多媒体处理的能力,提高对多媒体处理的能力 通用处理器通用处理器MIPS系列处理器系列处理器目前主要有两种架构的处理器:目前主要有两种架构的处理器:32位和位和64位的位的MIPS 32架构和架构和MIPS 64架构架构MIPS32的的4K系列处理器主要面向系列处理器主要面向SoC
6、应用,采用应用,采用5级流级流水线、水线、32位数据和地址宽度,存储器采用数据和指令分开位数据和地址宽度,存储器采用数据和指令分开的哈佛结构(的哈佛结构(Harvard)。)。MIPS32的的24K系列采用系列采用8级级流水、流水、32位地址和位地址和64位数据宽度位数据宽度在在MIPS64架构的处理器有架构的处理器有MIPS64 5K系列和系列和20K系列系列分别采用分别采用6级和级和7级流水线结构。级流水线结构。5K系列的系列的MIPS64 5kf和和20K系列的系列的MIPS64 20kc中集成浮点运算单元,面向中集成浮点运算单元,面向高性能高性能SoC应用应用通用处理器通用处理器Pow
7、erPC系列处理器系列处理器PowerPC处理器在处理器在20世纪世纪90年代由年代由IBM、Motorola、Apple公司共同推出,主要面向不同的市场应用,包括公司共同推出,主要面向不同的市场应用,包括个人计算机和其他嵌入式市场个人计算机和其他嵌入式市场32位位Harvard 结构的处理器使用结构的处理器使用5级流水线结构并集成级流水线结构并集成硬件乘法、硬件除法和硬件乘法、硬件除法和MMU单元单元在在Xilinx的的Virtex-4 系列系列FPGA中集成了中集成了PowerPC的的处理器处理器DSPTI系列系列TI是著名的是著名的DSP公司,目前主要有公司,目前主要有C5000和和C6
8、000两种两种DSP平台平台TI C5000平台包括平台包括TMS320C54系列、系列、TMS320C55系列。系列。TMS320C54系列采用系列采用CISC结构的定点和改进的结构的定点和改进的Harvard结构体系。结构体系。TMS320C54系列系列DSP指令系统很指令系统很丰富且灵活多变;而丰富且灵活多变;而TMS320C55系列定点系列定点DSP并行性更并行性更好,每个周期最大可执行两条指令好,每个周期最大可执行两条指令C6000平台的平台的TMS320C62、 TMS320C64系列系列DSP是业内最高性能的是业内最高性能的 DSP,提供高达,提供高达 1GHz 的时钟速度。的时
9、钟速度。TMS320C64系列系列DSP采用采用 TI 的的 VLIW 结构。结构。TMS320C67系列浮点系列浮点DSP 可以提供高数据精度和高的可以提供高数据精度和高的处理速度处理速度DSPADI系列系列Blackfin处理器包括一个处理器包括一个10级级RISC流水线的高性能流水线的高性能 16/32位内核,以及具有面向加速视频和多媒体处理的位内核,以及具有面向加速视频和多媒体处理的SIMD 支持支持TigerSHARC DSP是一款高性能的静态超标量数字信号是一款高性能的静态超标量数字信号处理器,该处理器专为大型的信号处理和通信任务而在结处理器,该处理器专为大型的信号处理和通信任务而
10、在结构上进行了优化。该处理器将非常宽的存储带宽和双运算构上进行了优化。该处理器将非常宽的存储带宽和双运算模块结合在一起,每周期能够执行多达模块结合在一起,每周期能够执行多达4条的指令、条的指令、24个个16位定点运算和位定点运算和6个浮点运算。个浮点运算。DSPFreescale系列系列DSP563000核是核是24位信号处理器,采用位信号处理器,采用RISC的流水线的流水线结构和超哈佛的存储器结构结构和超哈佛的存储器结构 ,适合在,适合在 音频领域应用音频领域应用StarCore系列系列DSP采用一种独特、高性能、长度可变的采用一种独特、高性能、长度可变的变长执行组(变长执行组(VLES)结
11、构。执行过程以执行组为单位,采)结构。执行过程以执行组为单位,采用指令预取、取址、指令分配、地址生成和执行组成的用指令预取、取址、指令分配、地址生成和执行组成的5级级流水结构。每个执行组采用指令级并行技术,支持流水结构。每个执行组采用指令级并行技术,支持SIMD,主要面向多媒体信号处理领域的应用,主要面向多媒体信号处理领域的应用可配置处理器可配置处理器Tensilica系列处理器系列处理器在在SoC设计方法学中,强调快速的设计和设计方法学中,强调快速的设计和IP复用。复用。Tensilica基于这种思想提出了可配置处理器的设计思路基于这种思想提出了可配置处理器的设计思路Tensilica主要有
12、主要有3种系列的处理器:种系列的处理器:Xtensa7系列、系列、Xtensa LX2系列和系列和Diamond Standard Processor系列系列Xtensa7、Xtensa LX2属于可配置,而属于可配置,而Diamond Standard Processor是基于上述两种的一个优化结构是基于上述两种的一个优化结构,不能配置,不能配置在在Xtensa7系列、系列、Xtensa LX2系列处理器中,核心功能系列处理器中,核心功能是固定的如流水线,以及对操作系统的支持。可配置的选是固定的如流水线,以及对操作系统的支持。可配置的选项包括处理器的结构、处理器的指令集、协处理器、存储项包括
13、处理器的结构、处理器的指令集、协处理器、存储器系统(包括缓存、本地存储器、外部存储器等)、中断器系统(包括缓存、本地存储器、外部存储器等)、中断处理、测试等处理、测试等可配置处理器可配置处理器NIOS系列处理器系列处理器Altera的的Nios/Nios是一款基于是一款基于FPGA的可灵活配置的可灵活配置的的RISC架构软内核处理器,采用架构软内核处理器,采用32位指令集,支持位指令集,支持5级流级流水线水线其可灵活配置性是指其可灵活配置性是指Nios/Nios处理器架构并不是固定处理器架构并不是固定、一成不变的,而是用户可以通过、一成不变的,而是用户可以通过Altera提供的工具根据提供的工
14、具根据设计的性能或成本要求增加或裁减一些系统的特性和外设设计的性能或成本要求增加或裁减一些系统的特性和外设,甚至可以在系统中放置多个,甚至可以在系统中放置多个Nios/Nios处理器以满足处理器以满足应用需求应用需求用户通过用户通过Nios/Nios处理器提供的用户自定义指令逻辑处理器提供的用户自定义指令逻辑接口可以在处理器的基本指令架构之上进行指令的扩充,接口可以在处理器的基本指令架构之上进行指令的扩充,以增强处理器的处理能力以增强处理器的处理能力可配置处理器可配置处理器ARC系列处理器系列处理器ARC系列处理器是一个拥有系列处理器是一个拥有4级流水线的体系结构,支持级流水线的体系结构,支持
15、16位或位或32位指令集。它具有能够配置的各种功能组件、外位指令集。它具有能够配置的各种功能组件、外围接口及扩展指令集围接口及扩展指令集ARC710系列处理器为嵌入式软核,厂商提供针对它的软系列处理器为嵌入式软核,厂商提供针对它的软件集成开发环境及各种件集成开发环境及各种DSP的功能部件库的功能部件库开发人员可从一个基本的处理器内核开始,通过不断定制开发人员可从一个基本的处理器内核开始,通过不断定制、裁剪各种功能,从而达到应用的性能、成本、功耗的最、裁剪各种功能,从而达到应用的性能、成本、功耗的最佳匹配佳匹配该种处理器支持可选的该种处理器支持可选的DSP指令,设计人员可以通过增加指令,设计人员
16、可以通过增加指令和内核寄存器来扩展处理器,以便进一步定制系统性指令和内核寄存器来扩展处理器,以便进一步定制系统性能能不同处理器的选择不同处理器的选择选择处理器内核:选择处理器内核:处理器内核的种类和数量处理器内核的种类和数量选择处理器内核的关键因素是要实现的目标应用选择处理器内核的关键因素是要实现的目标应用选择方法:选择方法:目标应用对运算能力要求的估计(目标应用对运算能力要求的估计(MIPS)处理器的类型:通用处理器的运算能力和处理器的类型:通用处理器的运算能力和DSP区区别别通用处理器:特定资源大,内存大通用处理器:特定资源大,内存大DSP:运算能力大,:运算能力大,0开销的循环,桶等开销
17、的循环,桶等内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计总线总线总线提供了系统中各个设备之间一种互连的访问共总线提供了系统中各个设备之间一种互连的访问共享硬件机制享硬件机制在数字系统中,总线承担数据传输的任务如处理器在数字系统中,总线承担数据传输的任务如处理器和存储器之间的数据传输和存储器之间的数据传输总线的传输能力由总线的宽度和工作频率决定总
18、线的传输能力由总线的宽度和工作频率决定总线的设计通常要考虑总线的设计通常要考虑4个因素:总线宽度、时钟个因素:总线宽度、时钟频率、仲裁机制和传输类型频率、仲裁机制和传输类型SoC总线总线由于片上总线与板上总线应用范围不同,存在着较大的差异,由于片上总线与板上总线应用范围不同,存在着较大的差异,其主要特点如下:其主要特点如下: 片上总线要尽可能简单。首先结构要简单,这样可片上总线要尽可能简单。首先结构要简单,这样可以占用较少的逻辑单元;其次时序要简单,以利于提高总以占用较少的逻辑单元;其次时序要简单,以利于提高总线的速度;第三接口要简单,如此可减少与线的速度;第三接口要简单,如此可减少与IP核连
19、接的复核连接的复杂度。杂度。 片上总线有较大的灵活性。由于片上系统应用广泛片上总线有较大的灵活性。由于片上系统应用广泛,不同的应用对总线的要求各异,因此片上总线具有较大,不同的应用对总线的要求各异,因此片上总线具有较大的灵活性。的灵活性。n多数片上总线的数据和地址宽度都可变n部分片上总线的互连结构可变,如Wishbone总线支持点到点、数据流、共享总线和交叉开关四种互连方式;n部分片上总线的仲裁机制灵活可变,如Wishbone总线的仲裁机制可以完全由用户定制。 片上总线要尽可能降低功耗。因此,在实际应用时片上总线要尽可能降低功耗。因此,在实际应用时,总线上各种信号尽量保持不变,并且多采用单向信
20、号线,总线上各种信号尽量保持不变,并且多采用单向信号线,降低了功耗,同时也简化了时序。,降低了功耗,同时也简化了时序。片上总线有两种实现方案片上总线有两种实现方案片上总线有两种实现方案,片上总线有两种实现方案,选用国际上公开通用的总线结构;选用国际上公开通用的总线结构;根据特定领域自主开发片上总线。根据特定领域自主开发片上总线。目前目前SoC上使用较多的三种片上总线标准上使用较多的三种片上总线标准 ARM的的AMBA、Silicore的的Wishbone和和Altera的的Avalon进行讨论进行讨论AMBA总线总线AMBA总线是总线是ARM公司开发的片上总线标准,目前已经到公司开发的片上总线
21、标准,目前已经到了了3.0版本版本AMBA总线标准包括总线标准包括AHB(Advanced High-performance Bus)总线、)总线、ASB (Advanced System Bus)总线、)总线、APB(Advanced Peripheral Bus)总线和)总线和AXI总线总线AHB和和ASB总线连接高性能系统模块,总线连接高性能系统模块,ASB是旧版本的系是旧版本的系统总线,使用三态总线,目前已被新版本的统总线,使用三态总线,目前已被新版本的AHB总线所代总线所代替。替。AHB是是AMBA2.0标准,而标准,而AXI是最新推出的新一代是最新推出的新一代AMBA3.0标准标准
22、AMBA总线总线典型的典型的AMBA-AHB系统结构系统结构AMBA总线总线AMBA-AXI系统结构实例系统结构实例CoreConnect总线总线CoreConnect是是IBM开发的一套片上系统总线标准开发的一套片上系统总线标准CoreConnect总线包括总线包括PLB(Procesor Local Bus)总线、总线、OPB(On-Chip Peripheral Bus)总线、)总线、DCR(Device Control Register)总线)总线在在CoreConnect总线中,总线中,PLB总线连接高性能设备如处总线连接高性能设备如处理器、存储器接口、理器、存储器接口、DMA等。等
23、。OPB总线连接低性能设备如总线连接低性能设备如各种外围接口等各种外围接口等DCR总线主要用来访问和配置总线主要用来访问和配置PLB和和OPB总线设备的状态总线设备的状态和控制寄存器和控制寄存器CoreConnect总线总线CoreConnect的总线系统结构的总线系统结构Wishbone总线总线Wishbone总线是由总线是由Silicore公司推出的片上总线标准公司推出的片上总线标准这种总线具有简单、灵活和开放的特点,现在已经被这种总线具有简单、灵活和开放的特点,现在已经被OpenCores采用并组织维护采用并组织维护在在Wishbone中,所有核都连接在同一标准接口上。当需中,所有核都连
24、接在同一标准接口上。当需要时,系统设计者可以选择在一个微处理器核上实现两个要时,系统设计者可以选择在一个微处理器核上实现两个接口,一个给高速设备,另一个给低速设备接口,一个给高速设备,另一个给低速设备一个一个Wishbone系统由主设备、从设备、系统由主设备、从设备、INTERCON和和SYSCON组成。其中组成。其中INTERCON定义了主设备和从设备定义了主设备和从设备之间的连接方式,而之间的连接方式,而SYSCON用来产生系统时钟和复位信用来产生系统时钟和复位信号号在在Wishbone中有中有4种不同的连接方式可以使用,它们分种不同的连接方式可以使用,它们分别是点对点、数据流、共享总线和
25、交叉连接方式别是点对点、数据流、共享总线和交叉连接方式Wishbone总线总线典型的典型的Wishbone总线系统结构总线系统结构AVALON总线总线AVALON总线主要应用在总线主要应用在FPGA中,作为中,作为SOPC(System On a Programmable Chip)中的片上总线)中的片上总线AVALON总线是总线是Altera推出推出Nios核时开发的片上总线核时开发的片上总线典型的典型的AVALON总线系统结构总线系统结构开放核协议开放核协议开放核协议(开放核协议(OCP,Open Core Protocol)是由)是由OCP-IP组织定义的组织定义的IP互连协议互连协议它
26、不是总线定义,而是在它不是总线定义,而是在IP核之间的一种独立于总线之外核之间的一种独立于总线之外的高性能接口规范,这种方法提高了的高性能接口规范,这种方法提高了IP的重用率,进而可的重用率,进而可以减少设计时间、设计风险和制造成本以减少设计时间、设计风险和制造成本OCP在两个通信实体之间定义了点到点的接口在两个通信实体之间定义了点到点的接口这两个通信实体中,一个作为主设备,可以发起命令;另这两个通信实体中,一个作为主设备,可以发起命令;另一个作为从设备,对主设备的命令做出回应一个作为从设备,对主设备的命令做出回应OCP是在国际是在国际IP标准组织(标准组织(VISA)的虚拟接口标准)的虚拟接
27、口标准VCI上的扩展上的扩展开放核协议开放核协议典型的典型的OPC协议系统结构协议系统结构复杂的片上总线结构复杂的片上总线结构多总线结构一多总线结构一复杂的片上总线结构复杂的片上总线结构多总线结构二多总线结构二内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计SRAMSRAM(静态随机存储器)的特点是存储速度非(静态随机存储器)的特点是存储速度非常快
28、,可以达到和处理器的时钟同步常快,可以达到和处理器的时钟同步SRAM存储器的接口简单,比较容易设计存储器的接口简单,比较容易设计SRAM在系统中常常作为处理器的缓存在系统中常常作为处理器的缓存同存储空间的同存储空间的RAM的面积较大,在的面积较大,在SoC中只能少中只能少量使用量使用SDRAMSDRAM(同步动态随机存储器)的价格低、体积(同步动态随机存储器)的价格低、体积小、容量大小、容量大与与SRAM相比,相比,SDRAM的控制逻辑复杂,速度的控制逻辑复杂,速度较慢较慢由于动态内存单元容易失去电荷,因此会失去存储由于动态内存单元容易失去电荷,因此会失去存储在其中的数据。在在其中的数据。在S
29、DRAM中,必须包括一个刷新中,必须包括一个刷新电路,不断地刷新其中的电荷,以使其值保持不变电路,不断地刷新其中的电荷,以使其值保持不变ROMROM(只读存储器)是一种只读存储器,包括掩(只读存储器)是一种只读存储器,包括掩膜式膜式ROM、可编程、可编程ROM(PROM)、可擦除的)、可擦除的可编程可编程ROM(EPROM)和电可擦除的可编程)和电可擦除的可编程ROM(EEPROM)等)等ROM在在SoC中一般用来存储固定的代码或资料中一般用来存储固定的代码或资料FlashFlash(闪存)存储器是价格性能兼顾的一种新型(闪存)存储器是价格性能兼顾的一种新型的不挥发存储器的不挥发存储器它是它是
30、EPROM和和EEPROM工艺综合的产物,兼顾工艺综合的产物,兼顾了这两类存储器的优点了这两类存储器的优点NOR Flash和和NAND Flash是现在市场上两种是现在市场上两种主要的主要的Flash存储器存储器内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计可用的并发性可用的并发性指 令 级 并 行 性 (指 令 级 并 行 性 ( I L P
31、 , I n s t r u c t i o n L e v e l Parallelism)利用指令之间的无关性,使得多条指令可)利用指令之间的无关性,使得多条指令可以同时执行,改变传统串行执行指令造成的较大延时,提以同时执行,改变传统串行执行指令造成的较大延时,提高指令和程序的执行效率高指令和程序的执行效率数据级并行性(数据级并行性(DLP,Data Level Parallelism)是指)是指,一组待处理的数据内部存在较为松散的依赖关系,在理,一组待处理的数据内部存在较为松散的依赖关系,在理论上可以对这些松散数据并行执行论上可以对这些松散数据并行执行任务级并行(任务级并行(TLP,Ta
32、sk Level Parallelism)多核多核SoC设计中的系统结构选择设计中的系统结构选择处理器与存储器结构处理器与存储器结构核间通信与核间通信与Cache的结构的结构操作系统的设计操作系统的设计提高并行性提高并行性多核多核SoC的性能评价的性能评价加速比(加速比(Speedup)是衡量多核)是衡量多核SoC性能和并行化效果性能和并行化效果的一个重要指标的一个重要指标加速比是指同一计算任务分别在单处理器系统和多核处理加速比是指同一计算任务分别在单处理器系统和多核处理器系统中运行消耗的时间的比值器系统中运行消耗的时间的比值当前主要使用两种多核当前主要使用两种多核SoC加速比计算模型来对其性
33、能进加速比计算模型来对其性能进行评估,即阿姆达定律(行评估,即阿姆达定律(Amdahls Law)和古斯塔夫森)和古斯塔夫森定律(定律(Gustafsons Law)与加速比相关的另一个指标是效率(与加速比相关的另一个指标是效率(Efficiency),表示),表示的是软件对系统计算资源的利用程度的是软件对系统计算资源的利用程度阿姆达定律(阿姆达定律(Amdahls Law)阿姆达定律是在任务一定的前提下的加速比计算模型阿姆达定律是在任务一定的前提下的加速比计算模型假设某计算任务中可并行执行部分的比例为假设某计算任务中可并行执行部分的比例为f;多核;多核SoC的的处理器数量为处理器数量为n,即
34、多核,即多核SoC对并行计算任务性能提升倍数对并行计算任务性能提升倍数为为n。串行计算任务将由其中一个核完成,运行时间不发生。串行计算任务将由其中一个核完成,运行时间不发生变化,而并行任务将由多核完成,则该计算任务经过并行变化,而并行任务将由多核完成,则该计算任务经过并行部件优化后的整体加速比为:部件优化后的整体加速比为:time1Speeduptime(1)ffn单核多核古斯塔夫森定律(古斯塔夫森定律(Gustafsons Law)古斯塔夫森定律讨论一种固定时间(古斯塔夫森定律讨论一种固定时间(Fixed-time)的加)的加速比计算模型速比计算模型它考虑了数据大小与核的数量成比例的增加,并
35、假设大数它考虑了数据大小与核的数量成比例的增加,并假设大数据集能够以并行方式执行据集能够以并行方式执行改变前后的系统具有相同的运行时间改变前后的系统具有相同的运行时间Speedup(1)fnf典型的多核典型的多核SoC系统结构系统结构片上网络片上网络利用传统的基于总线的互连结构已成为多核间通信的主要利用传统的基于总线的互连结构已成为多核间通信的主要瓶颈,片上网络(瓶颈,片上网络(Noc ,Network on Chip)结构会成)结构会成为多核为多核SoC核间通信问题的最终结构解决方案核间通信问题的最终结构解决方案对在基于对在基于NoC的的SoC中,处理器核之间依靠网络和数据包中,处理器核之间
36、依靠网络和数据包交换机制,在一条由其他处理器或交换机制,在一条由其他处理器或IP核构成的连接或路由核构成的连接或路由上完成数据的交互上完成数据的交互NoC大量借鉴了计算机网络中的理论和概念,因此会着重大量借鉴了计算机网络中的理论和概念,因此会着重考虑通信延时和吞吐率等问题考虑通信延时和吞吐率等问题典型的多核典型的多核SoC系统结构系统结构片上网络片上网络典型的典型的NoC系统结构系统结构典型的多核典型的多核SoC系统结构系统结构可重构可重构SoC可重构可重构SoC是一种兼顾软件硬件实现特点的是一种兼顾软件硬件实现特点的SoC系统结构系统结构与基于通用微处理器软件的与基于通用微处理器软件的SoC
37、实现相比,可重构实现相比,可重构SoC可可以获得更高的性能。而与基于以获得更高的性能。而与基于ASIC的专用硬件的专用硬件SoC实现方实现方案相比,可重构案相比,可重构SoC又可以保证更高的灵活性,以满足用又可以保证更高的灵活性,以满足用户复杂多变的需求户复杂多变的需求一种典型的可重构一种典型的可重构SoC的系统结构的系统结构典型的多核典型的多核SoC系统结构系统结构可重构可重构SoC按照重构的方式,可重构按照重构的方式,可重构SoC可以分为静态可重构和动态可以分为静态可重构和动态可重构两类可重构两类 如重构的过程必须在中断程序执行的前提下运行,则称为“静态可重构” 假如装载配置文件的过程可以
38、与程序执行同时进行,即在改变电路功能的同时,仍然保证电路的动态运行,则称为“动态可重构”动态可重构又可进一步分为全局可重构和局部可重构动态可重构又可进一步分为全局可重构和局部可重构 全局可重构是指在配置过程中,计算的中间结果必须取出存放在额外的存储区,直到新的配置功能全部下载完为止,重构前后电路相互独立,没有关联 局部可重构是指对可重构阵列的局部重新配置,与此同时,其余局部的工作状态不受影响。 局部可重构可以减小重构的范围和单元数目,大大缩短重构时间,将是未来可重构SoC所采取的主要工作模式典型的多核典型的多核SoC系统结构系统结构OMAP在异构多核处理器方面,在异构多核处理器方面,RISC通
39、用处理器和通用处理器和DSP的结构的结构受到了业界的广泛关注,产品以受到了业界的广泛关注,产品以TI的的OMAP最具代表性最具代表性MAP结构是结构是TI公司针对移动通信及多媒体嵌入应用系统开公司针对移动通信及多媒体嵌入应用系统开发的多核发的多核SoCTI OMAP结构结构内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计软件环境软件环境SoC中的应
40、用软件运行环境及中的应用软件运行环境及开发工具结构开发工具结构软硬件接口软硬件接口存储空间映射(存储空间映射(Memory Map),包括所有设备的可配),包括所有设备的可配置寄存器的地址映射置寄存器的地址映射设备驱动设备驱动初始化、复位、初始化、复位、Bootloader程序程序中断服务程序及中断向量中断服务程序及中断向量I/O引脚的复用引脚的复用存储空间映射存储空间映射SoC中的各个片上模块及与之通信的片外设备,如中的各个片上模块及与之通信的片外设备,如Flash及及Flash控制器的寄存器、控制器的寄存器、RAM及存储器控制模块中的寄及存储器控制模块中的寄存器及各种外设等,均采用统一地址
41、空间进行编址访问,存器及各种外设等,均采用统一地址空间进行编址访问,为每一个设备分配一定数量的地址空间的过程称为存储空为每一个设备分配一定数量的地址空间的过程称为存储空间映射间映射基于基于IBM的的PLB和和OPB总线协议的总线协议的SoC的存储空间映射实例的存储空间映射实例初始化、复位、初始化、复位、Bootloader程序程序SoC设计中的初始化程序主要负责整个设计中的初始化程序主要负责整个SoC各个关键组件各个关键组件的初始化工作。这些初始化工作主要包括:初始化的初始化工作。这些初始化工作主要包括:初始化CPU内内部的一些特殊寄存器、初始化部的一些特殊寄存器、初始化Cache参数、初始化
42、存储器参数、初始化存储器管理单元管理单元MMU(Memory Management Unit)、初)、初始化其他始化其他SoC组件(如组件(如URAT、Timer等)、初始化设置等)、初始化设置中断向量表等,并开始执行应用程序或操作系统中断向量表等,并开始执行应用程序或操作系统复位主要是在上电时完成处理器、复位主要是在上电时完成处理器、SoC芯片及整个系统的芯片及整个系统的复位工作。它使得复位工作。它使得CPU的指令指针指到某一个特定的存储的指令指针指到某一个特定的存储器地址,然后从这个地址取指并执行一系列的复位中断服器地址,然后从这个地址取指并执行一系列的复位中断服务程序务程序Bootloa
43、der是在操作系统运行之前执行的一小段程序。是在操作系统运行之前执行的一小段程序。通过这部分程序,设计者可以初始化硬件设备、建立内存通过这部分程序,设计者可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备调用操作系统内核做好准备中断服务程序及中断向量中断服务程序及中断向量当处理器正在处理内部数据时,外界发生了紧急情况,要当处理器正在处理内部数据时,外界发生了紧急情况,要求处理器暂停当前的工作转去处理这个紧急事件。处理完求处理器暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地
44、址,继续原来的工作,这样毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断的过程称为中断对于紧急事件的处理程序称为中断服务程序对于紧急事件的处理程序称为中断服务程序各类中断服务程序的入口地址均存放在中断向量表中各类中断服务程序的入口地址均存放在中断向量表中I/O引脚的复用引脚的复用I/O引脚的数量将影响到芯片乃至系统板的面积引脚的数量将影响到芯片乃至系统板的面积通常为了减小面积会将两个或两个以上不在同一个通常为了减小面积会将两个或两个以上不在同一个时间使用的不同功能的时间使用的不同功能的I/O引脚进行复用引脚进行复用内容大纲内容大纲SoC系统结构设计的总体目标与各个阶段系统结构设
45、计的总体目标与各个阶段SoC中常用的处理器中常用的处理器SoC中常用的总线中常用的总线SoC中典型的存储器中典型的存储器多核多核SoC的系统结构设计的系统结构设计SoC中的软件结构中的软件结构电子系统级(电子系统级(ESL)设计)设计系统级设计的挑战系统级设计的挑战How do I understand performance of key IP blocks before designing?nSystem-on-Chip 并不意味着简单组合各种IP到一块芯片中How to build an optimized system?n一个系统是软件+硬件ESL发展的背景发展的背景设计工作发展趋势设
46、计工作发展趋势ESL设计基本概念设计基本概念ESL设计指系统级的设计方法,是从算法建模演变而来,设计指系统级的设计方法,是从算法建模演变而来,已经演变为嵌入式系统软硬件设计、验证、调试的一种补已经演变为嵌入式系统软硬件设计、验证、调试的一种补充方法学充方法学ESL设计以抽象方式来描述设计以抽象方式来描述SoC系统,给软硬件工程师提系统,给软硬件工程师提供一个虚拟的硬件原型平台,用以进行硬件系统结构的探供一个虚拟的硬件原型平台,用以进行硬件系统结构的探察和软件程序的开发察和软件程序的开发目前大多数的目前大多数的ESL工具包含以下功能:系统级设计、软硬工具包含以下功能:系统级设计、软硬件协同设计、
47、体系结构定义、功能建模、协同验证件协同设计、体系结构定义、功能建模、协同验证Why ESL Design? Instruction Set Simulator (ISS) for software development nIncomplete from hardware perspectiveRTL simulation nAt late design stage, too slow for software development Why ESL Design? cont.Transaction Level Modeling (TLM) techniques nUse function c
48、alls, rather than signals or wires, to communicate between modules ESL design based on TLM nGet executable platform model fasternSimulation speed 100k cycles/secESL design enabling:nSystem-level designnPre-silicon embedded software designnHardware Architecture explorationnVirtual prototypingnCo-simu
49、lation/co-verificationESL设计的流程设计的流程ESL设计流程设计流程从一个设计定义的输入(定义可以是文本、图表、算法)。根据定义完成算法的开发,提出一种系统的框架,用ESL语言来描述这种系统架构软、硬件划分系统级硬件设计:对功能单元的高抽象层次上的建模,完成功能设计。如:SystemC 进行事务建模软、硬件的协同验证:在虚拟的平台上,根据性能和成本等因素,重新调整软硬件完成后组成系统,为RTL级提供设计依据ESL设计的流程设计的流程从可编程系统结构设计的角度从可编程系统结构设计的角度ESL设计流程设计流程“Y-chart”从应用开发,在现有从应用开发,在现有的架构基础上
50、进行软的架构基础上进行软硬件划分硬件划分ESL工具可以帮助快工具可以帮助快速建模速建模进行定量的系统性能进行定量的系统性能分析分析ESL设计的流程设计的流程ESL设计实现方法实例设计实现方法实例Platform based design直接由软件参考代码直接由软件参考代码开始,从已有的事务开始,从已有的事务级模型库中选取硬件级模型库中选取硬件结构如处理器等结构如处理器等重新设计重新设计IP库中没有库中没有的模块的事务级模型的模块的事务级模型创建虚拟平台,然后创建虚拟平台,然后验证和性能分析,进验证和性能分析,进行调整架构行调整架构ESL Design Stages cont.Functiona
51、l design功能设计功能设计nDesign objective:n定义正确的功能nDesign problems:n输入和输出是什么?如何组织(结构单元和相互通信/数据流)每个功能单元的行为(控制流)验证系统功能的测试环境的行为nActivities and models: n创建和验证应用的功能模型ESL Design Stage cont.应用驱动的架构设计应用驱动的架构设计nDesign objective:n定义特定应用在性能和成本限制范围的结构nDesign problems: nHow many processors? What functions in HW/SW? What
52、 processor characteristics? What interconnection characteristics? nActivities and models:n创建平台在较高层次上的描述n将功能单元映射到应用平台n验证得到的结构模型n找到最优的平台ESL Design Stage cont.平台导向的架构设计平台导向的架构设计nDesign objective:n给出硬件平台的虚拟模型nDesign problems: n处理器类型,存储器容量,总线占用、总线事务和总线争抢情况,多少Cache命中和未命中,软件对处理器的使用,如何优化功耗nActivities and mo
53、dels:n创建平台-在较低层次上的描述n细调硬件结构ESL设计的特点设计的特点更早地进行软件开发更早地进行软件开发更高层次上的硬件设计更高层次上的硬件设计设计的可配置性和自动生成设计的可配置性和自动生成方便的结构设计方便的结构设计快速测试和验证快速测试和验证Abstraction Levels Abstraction level is largely related to the design stage and the simulator of the toolsnThe higher, the easier to writenThe higher, the faster to simul
54、ateAbstraction LevelsUn-timed function (UTF) model nFor algorithm designnNo timing informationnNo relation with the system architecturenNo relation with implementation Transaction Level Model (TLM)nBetter to describe the function of the systemnEfficient for functional verification RTL modelnDetailed
55、 chip level implementationTransaction Level ModelingTransaction : exchange of a data or an event between two components of a modeled and simulated systemESL设计的核心设计的核心事务级建模事务级建模设计抽象层次设计抽象层次事务级建模介绍事务级建模介绍事务是指模块之间的数据和事件的交互事务是指模块之间的数据和事件的交互数据交换可以是一个或多个字,或者是一种数据结构,而数据交换可以是一个或多个字,或者是一种数据结构,而同步或者中断等则属于事件的交
56、互同步或者中断等则属于事件的交互事务级建模核心概念是在一个系统建模的过程中将运算功事务级建模核心概念是在一个系统建模的过程中将运算功能和通信功能分开,模块之间的通信透过函数调用来实现能和通信功能分开,模块之间的通信透过函数调用来实现与寄存器传输级模型相比较,事务级建模可以减少事件和与寄存器传输级模型相比较,事务级建模可以减少事件和信息的处理,而且事务级模型所需的程序代码更少,执行信息的处理,而且事务级模型所需的程序代码更少,执行速度更快,并且能够根据实际需要提供足够的设计精度速度更快,并且能够根据实际需要提供足够的设计精度事务级模型可以分为事务级模型可以分为3种,即没有时序信息的模型、周期近种
57、,即没有时序信息的模型、周期近似的模型和精确到每个周期的模型似的模型和精确到每个周期的模型没有时序信息的事务级模型的仿真速度要比没有时序信息的事务级模型的仿真速度要比RTL模型快模型快100010000倍,带有时序信息的模型比倍,带有时序信息的模型比RTL快快1001000倍,而精确到周期的模型比倍,而精确到周期的模型比RTL快快10100倍倍事务级建模的一般理论事务级建模的一般理论事务级模型构成的一个简单的系统事务级模型构成的一个简单的系统事务级建模的一般理论事务级建模的一般理论没有时间信息的计算或通信模型表示系统设计的功没有时间信息的计算或通信模型表示系统设计的功能描述,这些模型没有具体的
58、实现细节能描述,这些模型没有具体的实现细节周期近似的计算或通信模型则包含系统级的实现细周期近似的计算或通信模型则包含系统级的实现细节如系统体系结构的选择、系统定义的功能和体系节如系统体系结构的选择、系统定义的功能和体系结构中模块的映射关系等结构中模块的映射关系等周期精确的运算和通信模型包含了系统级的实现细周期精确的运算和通信模型包含了系统级的实现细节如节如RTL级或指令级描述,因此可以得到周期精确级或指令级描述,因此可以得到周期精确的仿真结果的仿真结果事务级建模的一般理论事务级建模的一般理论Cajski及及Cai的系统建模图的系统建模图事务级建模的一般理论事务级建模的一般理论由元件组装模型构成
59、的系统由元件组装模型构成的系统事务级建模的一般理论事务级建模的一般理论由总线仲裁模型构成的系统由总线仲裁模型构成的系统事务级建模的一般理论事务级建模的一般理论总线功能模型总线功能模型事务级建模标准事务级建模标准OCP-IP TLM抽象模型抽象模型OCP-IP的通信抽象层次的通信抽象层次事务级建模标准事务级建模标准OSCI TLM 1.0抽象模型抽象模型OSCI提出的事务级抽象层次提出的事务级抽象层次OSCI TLM 1.0抽象模型抽象模型程序员观点层(程序员观点层(Programmers View)。该层模型包)。该层模型包含的接口只有函数调用而没有通信事件。这一层只带有很含的接口只有函数调用
60、而没有通信事件。这一层只带有很少的时序信息,通常与没有时间信息的功能行为描述相关少的时序信息,通常与没有时间信息的功能行为描述相关带有时间信息的程序员观点层(带有时间信息的程序员观点层(PVT,Programmers View plus Timing):这是一个周期近似的事务级模型):这是一个周期近似的事务级模型,用于建模功能行为和模块之间的通信协议。可以分析通,用于建模功能行为和模块之间的通信协议。可以分析通信的时延和吞吐量,并可在软件开发和体系结构的验证中信的时延和吞吐量,并可在软件开发和体系结构的验证中提供足够的仿真精度提供足够的仿真精度周期精确层:这是一个周期精确的模型,模块的内部行为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论