DDR与PCIe:高性能SoC的双引擎

SoC芯片无处不在,小到家电控制的MCU,大到手机芯片,我们都会接触到。如今大部分芯片设计公司都在开发SoC芯片,一颗SoC芯片可以集成越来越多的功能,俨然它已成为IC设计业界的焦点。

高性能、高速、高带宽的互联和存储的性能需求日渐占据主流。掌握PCle协议和DDR协议可以有效地提升SoC的设计验证、FPGA的设计、亦或是系统级的开发效率。

今天移知小编就带大家了解一下高性能SoC的“双引擎”——DDR与PCIe。

一、何为SoC

1、 SoC概念与传统的FPGA/MCU单片机的优势

SoC是一种集成电路设计,将计算机系统的各个功能组件集成在一块芯片上。传统的FPGA和MCU单片机也是集成电路,但SoC在功能上更加复杂、完整。与传统的FPGA/MCU相比,SoC的优势在于它将CPU、GPU、NPU、IO接口、存储器控制器等功能模块集成在一颗芯片上,形成一个高度集成、高性能的计算平台。

SoC芯片让电子设备变得更加智能,使人们的生活变得更加便捷。

在这里插入图片描述

2、SoC包含哪些功能模块

SoC集成了多个功能模块,常见的包括:

● 中央处理器(CPU):执行计算任务和控制任务的核心处理单元。

● 图形处理器(GPU):专门用于图形和图像处理,加速图形渲染、计算和加速深度学习等任务。

● 神经网络处理单元(NPU):专门用于加速人工智能和深度学习任务。

● 存储器控制器:管理内存和外部存储器的读写操作。

● 输入/输出接口(IO):用于与外部设备通信,如USB、Ethernet、HDMI等接口。

● 电源管理单元(PMU):管理芯片的电源供应和功耗控制。

● 安全单元:提供芯片级别的安全功能,保护数据和系统免受攻击。

二、SoC高性能体现在哪里?

高性能SoC在多个方面体现出卓越的表现:

● 计算能力:SoC集成了强大的CPU和GPU,能够处理复杂的计算任务和图形渲染,满足高性能应用的要求。

● AI加速:通过集成专用的NPU,SoC能够在处理人工智能和深度学习任务时加速运算,提升效率。

● 数据处理速度:SoC内部的高速总线和存储器控制器使得数据访问速度更快,减少数据处理瓶颈。

● 低功耗:虽然拥有强大性能,但高性能SoC也注重功耗的优化,以延长电池寿命和降低能源消耗。

在这里插入图片描述

三、SoC高性能是如何实现的?

1、更快的数据处理来源于高速接口PCIe

PCIe(Peripheral Component Interconnect Express)芯片是高性能SoC中的重要组成部分。它是一种高速传输接口,连接计算机内部的各种硬件组件,如CPU、GPU、存储器、网络接口等。PCIe具有高速传输和可靠性的特点,使得数据在各个组件之间的传输更加快速和稳定。这使得高性能计算、数据中心和企业级应用等领域得到极大的受益,加快了数据处理速度,提升了整体系统性能。

在这里插入图片描述

在数字IC工程师的职业生涯中,了解PCle还可以为他们提供更多的职业发展机会。掌握PCle技术可以使数字IC工程师在芯片设计、系统架构、嵌入式系统等领域中有更广泛的应用。掌握PCIe协议不管是对SoC的设计验证,FPGA的设计,还是系统级的开发都提升效率,掌握PCIe协议更是成为芯片设计、验证工程师、SoC的求职加分项,PCIe并没有想象中那么容易掌握。

● PCIe的协议难以掌握?

国外的参考文献的理解难易度,没有实际项目纸上谈兵的学习;空有公开协议,没有结合案例理解上手,哪怕是已经翻译的中文教材,也容易导致无从下手。

移知教育特邀资深工程师精心打磨《PCIe协议全面解析》本课程介绍了PCle总线协议的方方面面,包括系统架构、设备互联、分层结构等,让大家深刻理解PCle的高带宽、低延时的特性。

在这里插入图片描述
从形象到抽象,让学习PCIe不再晦涩难懂,讲解最新Spec的协议特性和演进,通过协议分析仪实际抓取的数据包,生动介绍PCIe设备上的电、枚举、及工作过程。

● PCIe设计的各种层级问题如何理解,如何解决?

PCIe 协议测试在物理层、数据链路层和传输层上都需要进行协议确认测试。链路训练和状态机(LTSSM)是协议测试里面的一个关键方面。链路训练可以确保数据包在链路伙伴之间可靠地传输。协议分析和训练器工具可以确定PCIe 器件是否能与其链接伙伴成功通信。

随着数据速率的提升,高速串行数据链路的设计变得非常复杂。通道拓扑越来越复杂多变。

PCIe 互连测试通道是 PCIe 系统中最关键的元素之一快速确认测试PCIe 设计的参数,确保它们符合 PCIe 规范定义的性能要求,这是测试过程的一个重要环节。

● 向下兼容的难,各个版本迭代的兼容问题

各个版本的迭代兼容处理,实际的公司业务场景处理。

移知教育 新课升级《PCIe IP之UVM验证实战》,一课搞定设计和验证,本课程以可流片的PCIe代码为基础,介绍了PCIe理论以及PCIe实战的内容,目标是大家能在实际的PCIe项目中可以上手干活。共22个章节,理论和实战相结合,从验证环境的搭建,到DUT data path的梳理,学完即可上手做PCIe RTL设计以及验证工作。

2、连接计算和存储两个体系的桥梁 -DDR

在高性能SoC中,计算和存储是两个重要的体系,它们之间的连接和协调对于整个系统性能至关重要。冯·诺依曼架构是当今SoC常用的计算架构,但在高性能SoC中,内存和互联带宽常常成为性能瓶颈。

为了解决这一问题,新一代的高带宽存储技术应运而生。其中,DDR、LPDDR、GDDR等技术作为连接计算和存储两个体系的桥梁,有效地突破了“内存墙”。

高性能 SoC 通常具有多个存储器通道。图示显示的简化 DDR 存储器可以是上述任何 DDR 类别的 DRAM 存储器。

在这里插入图片描述

SoC 中的存储器通道框图

大型SoC芯片不能没有DDR,就像大战役中离不开军火库一样,如果你想涉猎SoC芯片领域,了解或掌握DDR技术,对你来说是必不可少的,可以这么说,CPU+总线+DDR+一些简单外设就可以组成一个SoC系统,可见DDR的地位不言而喻。

移知教育《DDR3全面解析》带你掌握SoC的核心技术:memory子系统。

在这里插入图片描述

通过课程的学习,你可以在 1-2 个月内快速从零基础起 ,学会 DDR3的协议,掌握DDR控制器的设计原理,了解DDR PHY的功能以及training过程,知道如何验证DDR的控制器及其效率,并能从模块和系统的角度对DDR的效率进行分析,同时你可以站在前辈的肩膀上去分析和解决问题,并在通往DDR设计成功之路的最后也最难一站上汲取必不可少的营养。

高性能SoC作为连接计算和存储的桥梁,在计算能力、AI加速和数据处理速度等方面展现出优越的性能。通过采用高速接口PCIe和最新的高带宽存储技术,高性能SoC能够满足越来越复杂的计算需求,推动着计算领域的不断发展和创新。

掌握PCle协议和DDR协议可以有效地提升SoC的设计验证、FPGA的设计、亦或是系统级的开发效率。移知的目标是希望通过契合实际学习情况的难点进行针对性讲解,帮助各位快速入门。

大家加油,祝大家早日掌握PCle协议和DDR协议!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入分析负载均衡情景

本文出现的内核代码来自Linux5.4.28,为了减少篇幅,我们尽量不引用代码,如果有兴趣,读者可以配合代码阅读本文。 一、有几种负载均衡的方式? 整个Linux的负载均衡器有下面的几个类型: 实际上内核的负载均衡…

如何保障Facebook账号登录稳定

当谈到保障Facebook账号的稳定性时,我们不得不提到那些令人头疼的情况——Facebook账号被封。尽管我们已经踏入数字化的未来,但是被封号似乎是一个时常困扰着社交媒体用户的问题。那么,让我们来看看一些常见的Facebook账号被封的原因&#xf…

Python Requests模块session的使用建议

本篇主要讲解Python Requests模块session的使用建议及整个会话中的所有cookie的方法。 测试代码 服务端:下面是用flask做的一个服务端,用来设置cookie以及打印请求时的请求头。 # -*- coding: utf-8 -*- from flask import Flask, make_response, req…

arm:day9

1。思维导图 2..I2C实验,检测温度和湿度 iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "gpio.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4…

RabbitMQ默认监听的ip地址

RabbitMQ 默认监听所有可用 ip 地址,当Rabbitmq 所在的服务端节点上存在多 ip 时,只要客户端能与服务端任一 ip 通信,即可向 RabbitMQ 发送消息

统计学补充概念-13-逻辑回归

概念 逻辑回归(Logistic Regression)实际上是一种用于解决分类问题的统计学习方法,尽管其名称中带有"回归"一词,但它主要用于处理分类任务。逻辑回归用于预测一个事件发生的概率,并将其映射到一个特定的输出…

iPhone 15 Pro与谷歌Pixel 7 Pro:哪款相机手机更好?

考虑到苹果最近将更多高级功能转移到iPhone Pro设备上的趋势,今年秋天iPhone 15 Pro与谷歌Pixel 7 Pro的对决将是一场特别有趣的对决。去年发布的iPhone 14 Pro确实发生了这种情况,有传言称iPhone 15 Pro再次受到了苹果的大部分关注。 预计iPhone 15系列会有一些变化,例如切…

学习笔记:Pytorch利用MNIST数据集训练生成对抗网络(GAN)

2023.8.27 在进行深度学习的进阶的时候,我发了生成对抗网络是一个很神奇的东西,为什么它可以“将一堆随机噪声经过生成器变成一张图片”,特此记录一下学习心得。 一、生成对抗网络百科 2014年,还在蒙特利尔读博士的Ian Goodfello…

Linux操作系统--shell编程(条件判断)

(1).基本的语法 test condition [ condition ] 注意condition前后要有空格;在使用该种表达式的时候,条件非空即为 true,[ hello ]返回 true,[ ] 返回 false。我们可以通过echo $?来判断上一次执行的情况来判断真假(0真1假)。

探索数据的维度:多元线性回归在实际应用中的威力

文章目录 🍀引言🍀什么是多元线性回归?🍀多元线性回归的应用🍀构建多元线性回归模型的步骤🍀R-squared(R平方)🍀多元线性回归案例---波士顿房价 🍀引言 当谈…

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)

安全之安全(security)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564) 二、 CVE-2017-7564 一、ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564) Title 启用安全自托管侵入式调试接口,可允许非安全世界引发安全世界panic CV…

海外ios应用商店优化排名因素之视频预览与截图

当我们找到感兴趣的应用程序并转到该应用程序的页面时,首先引起注意的是预览视频。视频旨在以更具吸引力的方式展示应用程序的用户体验和UI。视频长度最多为30秒,其中前5秒最为重要,一定要让它尽可能引人注目。 1、关于优化预览视频的提示。…

React + Next.js 搭建项目(配有对比介绍一起食用)

文章标题 01 Next.js 是什么02 Next.js 搭建工具 create-next-app03 create-react-app 与 create-next-app 的区别04 快速构建 Next.js 项目05 App Router 与 Pages Router 的区别 01 Next.js 是什么 Next.js 是一个 React 框架,它允许你使用 React 框架建立超强的…

程序的编译链接【编译链接大概步骤】

全文目录 😀 前言🙂 翻译环境和执行环境😶 编译和链接😵‍💫 预编译(预处理)😵‍💫 编译😵‍💫 汇编😵‍💫 链接 &#x1…

分布式定时任务框架Quartz总结和实践(2)—持久化到Mysql数据库

本文主要介绍分布式定时任务框架Quartz集成SpringBoot持久化数据到Mysql数据库的操作,上一篇文章使用Quartz创建定时任务都是保存在内存中,如果服务重启定时任务就会失效,所以Quartz官方也提供将定时任务等信息持久化到Mysql数据库的功能&…

【ES6】—数组的扩展

一、类数组/ 伪数组 1. 类/伪数组: 并不是真正意义的数组,有长度的属性,但无法使用Array原型上的方法 let divs document.getElementsByTagName(div) console.log(divs) // HTMLCollection []let divs2 document.getElementsByClassName("xxx&q…

Git gui教程---第七篇 Git gui的使用 返回上一次提交

1. 查看历史,打开gitk程序 2. 选中需要返回的版本,右键,然后点击Rest master branch to here 3.出现弹窗 每个选项我们都试一下,从Hard开始 返回的选项 HardMixedSoft Hard 会丢失所有的修改【此处的…

从0开始做yolov5模型剪枝

文章目录 从0开始做yolov5模型剪枝 ****1 前言2 GitHub取源码3 原理3.1 原理3.2 network slimming过程 4 具体实施步骤4.1 安装虚拟环境4.2 配置参数4.2.1 数据集参数4.2.2 模型结构参数4.2.3 train.py中的参数 4.3 正常训练4.3.1 准备4.3.2 训练及问题解决 4.4 稀疏化训练4.4.…

Leetcode 2235.两整数相加

一、两整数相加 给你两个整数 num1 和 num2,返回这两个整数的和。 示例 1: 输入:num1 12, num2 5 输出:17 解释:num1 是 12,num2 是 5 ,它们的和是 12 5 17 ,因此返回 17 。示例…

渗透测试方法论

文章目录 渗透测试方法论1. 渗透测试种类黑盒测试白盒测试脆弱性评估 2. 安全测试方法论2.1 OWASP TOP 102.3 CWE2.4 CVE 3. 渗透测试流程3.1 通用渗透测试框架3.1.1 范围界定3.1.2 信息搜集3.1.3 目标识别3.1.4 服务枚举3.1.5 漏洞映射3.1.6 社会工程学3.1.7 漏洞利用3.1.8 权…