Politecnico di Milano
FPGA 计算系统:背景知识和入门材料
Politecnico di Milano

FPGA 计算系统:背景知识和入门材料

17,478 人已注册

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
4.6

(247 条评论)

初级 等级
无需具备相关经验
5 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
4.6

(247 条评论)

初级 等级
无需具备相关经验
5 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • 如何利用 FPGA 在运行时调整硬件组件,以更好地满足用户/环境需求

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

19 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有8个模块

如今,计算机系统的复杂性急剧上升。程序员必须处理极其强大的计算系统,而这些系统需要时间和相当高的技能才能发挥出最佳性能。显然,依靠人工干预来调整系统是不可行的:条件变化频繁、迅速,而且不可预测。我们希望系统能自动适应不断变化的环境。本模块分析了上述问题,采用了一种全新的方法,并介绍了如何在执行过程中调整软件和硬件系统。为此,我们将介绍现场可编程门阵列(FPGA)技术以及如何对其进行(重新)配置。

涵盖的内容

7个视频5篇阅读材料5个作业

传统上,计算分为由通用处理器(GPP)执行的通用计算和由专用集成电路(ASIC)执行的专用计算。作为对通用处理器(GPP)和专用集成电路(ASIC)两种极端特性的权衡,可重构计算结合了两者的优势。一方面,与软件实现相比,可重新配置计算可以获得更好的性能,但这需要付出更多的实现时间。另一方面,可重新配置设备可用于设计系统,与完全定制的解决方案相比,不需要同样的设计时间和复杂性,但在性能方面却更胜一筹。可重构系统的主要优点是灵活性高,而主要缺点是缺乏标准计算模型。在本模块中,我们将提出可重构计算的第一个定义,描述其背后的原理,并介绍 FPGA 的推出如何影响了这一领域。

涵盖的内容

5个视频4篇阅读材料2个作业

从 20 世纪 80 年代中期开始,由于 FPGA 技术的进步,可重构计算成为一个热门领域。FPGA 是一种半导体器件,包含可编程逻辑元件和可编程互连,但在运行时没有指令获取,也就是说,FPGA 没有程序计数器。在大多数 FPGA 中,逻辑元件可通过编程复制基本逻辑门或功能性知识产权(IP)的功能。FPGA 还包括由简单触发器或更复杂的存储器块组成的存储器元件。因此,FPGA 使在单个芯片上动态执行和配置硬件和软件成为可能。本模块详细介绍了 FPGA 技术,从总体描述到这些器件的底层配置细节讨论,再到位流组成和配置寄存器的描述。

涵盖的内容

8个视频3篇阅读材料2个作业

FPGA 设计工具必须提供基于数字设计概念和组件(门、触发器、多路复用器等)的设计环境。它们必须向用户隐藏布局、布线和位流生成的复杂性。本模块不会详细介绍这些步骤,这需要一整门课程,但至少要了解幕后发生的事情,以便更好地理解将要使用的工具所执行的过程的复杂性。在此背景下,本模块将通过一个简单的示例来引导您,从您可能愿意实现的电路描述到用于配置 FPGA 的比特流,抽象出底层 FPGA 的复杂性。

涵盖的内容

6个视频2个作业

在继续可重构计算领域的精彩旅程之前,定义一种通用语言可能会有所帮助。显然,其中一些术语已经被使用过,但现在是时候更好地理解它们,并在继续学习更高级的概念之前对它们进行一些梳理。此外,正如我们所知,FPGA 的配置功能为硬件设计提供了极大的灵活性,因此可以创建大量不同的可重新配置系统。这些系统可以是由带有 FPGA 的定制电路板组成的系统(通常与标准 PC 或工作站相连),也可以是包括可重构逻辑和通用处理器的独立系统,还可以是完全由安装在电路板上的单个 FPGA 实现的片上系统(只有很少的 I/O 接口物理组件)。 重新配置有不同的模式,本模块将介绍对它们进行分类的方案。我们可以将本模块视为一个过渡/转折点模块。我们已经接触了一些术语和概念,现在可以向前迈进了。要做到这一点,我们需要将所有的拼图组合在一起,并投入一些精力来观察全局,而这正是本模块的目的所在。

涵盖的内容

5个视频2篇阅读材料2个作业

FPGA 的重新配置功能为设计人员提供了更大的硬件可维护性灵活性。FPGA 可以改变映射在其上的硬件功能,方法是脱机运行应用程序,在 FPGA 上下载新的配置(如果有的话,还可能为处理器下载新的软件),然后重新启动系统。在这种情况下,重新配置是一个独立于应用程序执行的过程。另一种不同的方法是将 FPGA 的重新配置视为应用程序本身的一部分,使其能够在执行过程中根据特定情况的需要调整芯片资源上配置的硬件。在这种情况下,我们将这种重新配置称为动态重新配置,重新配置过程被视为应用程序执行的一部分,而不是执行前的一个阶段。本模块说明了一种特殊技术,它是前两种技术的延伸,在最近的 FPGA 设备中是可行的,即部分动态重新配置。要充分理解这种技术,必须分析可重构计算、静态和动态重构的概念,以及动态重构本身的分类。这样,部分动态重新配置技术就可以正确地归入现代 FPGA 芯片上可能实现的系统开发技术中。

涵盖的内容

8个视频4篇阅读材料2个作业

在介绍了设计和实现动态可重构系统的不同解决方案之后,本模块将介绍一种通用而完整的设计方法,作为设计可重构计算系统的指南。要设计和实现可重构计算系统,设计人员需要用于系统设计和实现的计算机辅助设计(CAD)工具,如用于架构设计的设计分析工具、用于硬件构建的综合工具、用于硬件行为仿真的仿真器,以及用于电路布局的布局和布线工具。我们可以自己构建这些工具,也可以使用可重构系统设计的商业工具和平台。第一种选择意味着需要投入大量的时间和精力,才能针对给定的问题构建特定的优化解决方案,而第二种选择则可以重复使用知识、内核和软件,从而更快地针对同一问题找到好的解决方案。本模块将引导学生回顾 CAD 框架多年来的发展历程。这样做是为了展示技术发展的速度,以及在使用基于 FPGA 的系统时为改善用户体验而做出的选择背后的理由。本课程不仅介绍了商业工具,还介绍了课程讲师及其研究团队的个人历程,从他早年攻读博士学位开始,一直到他们如今所面临的研究挑战。

涵盖的内容

9个视频7篇阅读材料3个作业

我们正处于可重构计算领域的研究前沿。FPGA 技术不仅被用作独立的解决方案/平台,现在还被纳入了云基础设施。现在,FPGA 技术既可用于加速基础设施/后台计算,也可作为一种服务提供给任何人使用。在此背景下,我们正面临着新的研究机会和技术改进的定义,从这个角度来看,现在是最好的时机。现在需要的是新的平台创建工具、监控和剖析基础架构、更好的运行时管理系统、静态和动态工作负载分区,这里仅列举几个可能的研究领域。本模块是本课程的结尾,但对未来可能的研究方向提出了一些有趣的问题,这些问题也可能为学生们指明其他有关 FPGA 的 Coursera 课程。

涵盖的内容

1个视频3篇阅读材料1个作业

位教师

授课教师评分
4.5 (67个评价)
Marco Domenico Santambrogio
Politecnico di Milano
5 门课程23,772 名学生

提供方

从 设计与产品 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.6

247 条评论

  • 5 stars

    73.27%

  • 4 stars

    21.05%

  • 3 stars

    2.42%

  • 2 stars

    1.21%

  • 1 star

    2.02%

显示 3/247 个

HC
4

已于 Aug 1, 2019审阅

QK
4

已于 Jun 8, 2019审阅

SK
5

已于 Jun 1, 2020审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题