3-ZYNQ 折腾记录 -PS_PL AXI Interfaces

本贴最后更新于 191 天前,其中的信息可能已经东海扬尘

Zynq UltraScale+ MPSoC 集成了功能丰富的四核或双核 Arm® Cortex-A53 MPCore 基于处理系统(Processing System, PS)和可编程逻辑(Programmable Logic, PL)的单一设备。

  PS 和 PL 可以使用多个接口和其他信号进行紧密或松散的耦合。这使设计人员能够有效地将用户创建的硬件加速器和其他功能集成到 PL 逻辑中,这些功能对处理器可用并且还可以访问 PS 中的内存资源。在设计中使用 Zynq UltraScale+ MPSoC,可以在 PL 中通过定制的应用程序实现最终产品的差异化。

imageimage

Cache Coherency 缓存一致性

  缓存一致性(Cache Coherency)是一种确保多处理器或多核系统中,各个缓存中的数据在共享内存时保持同步的机制。这在多核系统中非常重要,因为如果没有缓存一致性机制,不同处理器或核可能会在各自的缓存中看到不同的内存数据,导致数据不一致问题。

  以下是缓存一致性的主要用途和意义:

  1. 确保数据准确性:当多个处理器核访问同一块内存数据时,缓存一致性机制确保每个核读取的数据都是最新的。这避免了不同核之间的数据冲突或不一致问题,确保系统的正确性。
  2. 提高性能:通过缓存一致性机制,处理器核可以放心地在本地缓存中读取和写入数据,而不必频繁地访问内存,减少了访问内存的开销,从而提高系统性能。
  3. 减少编程复杂度:对开发者来说,缓存一致性机制简化了多线程编程,因为不需要手动管理和同步各核之间的数据更新。开发者可以编写简化的并发代码,而不必担心不同线程之间的缓存冲突问题。
  4. 适合实时或高频交互场景:在某些应用中,如实时数据处理、视频处理、网络处理等,多个处理器核可能频繁地读写同一块内存。缓存一致性可以确保每个处理器看到的都是最新的数据,确保任务的时效性和一致性。
  5. 支持共享内存的多核架构:在多核架构(如 ARM Cortex-A 系列)中,共享内存时常需要各核协同工作。缓存一致性可以使每个核使用共享内存时的数据更新不出错,特别是当核与核之间需要高速传递信息时,缓存一致性机制尤为重要。

PS-PL Interface

  有几种类型的 PS-PL AXI 接口和其他 PS-PL 信号来支持异构处理系统。ZYNQ UltraScale+ MPSOC 在 PS 和 PL 之间提供不同类型的数据路径端口。

接口类型 一致性支持 主要用途 示例应用
AXI Coherency Extensions (ACE) 支持 多核共享内存数据一致性 多核处理器系统
Accelerator Coherency Port (ACP) 支持 加速器与处理器缓存一致性 共享内存加速器(图像/信号处理)
High Performance Interface (HP) 不支持 高带宽数据传输,无数据一致性需求 图像、信号传输和处理
High Performance Coherency (HPC) 支持 高带宽且数据一致性,适合协同处理应用 数据密集型一致性传输

image

1 操作
naive 在 2024-10-28 19:24:57 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    166 引用 • 314 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 3 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3200 引用 • 8216 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1441 引用 • 10069 回帖 • 495 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 679 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    298 引用 • 763 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 63 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 77 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    588 引用 • 3538 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 690 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 3 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 203 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖 • 4 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 5 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    411 引用 • 3588 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 497 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 726 关注
  • 996
    13 引用 • 200 回帖 • 6 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    267 引用 • 666 回帖