| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【ARMv8基础篇】400系列控制器IP -> 正文阅读 |
|
[网络协议]【ARMv8基础篇】400系列控制器IP |
前文: 这一节我们简单介绍一下ARMv8架构中的一些控制器。这里主要介绍400系列的IP。 GIC-400GIC-400是一个高性能、区域优化的中断控制器,具有高级微控制器总线架构(AMBA)高级可扩展接口(AXI)接口。它在片上系统(SoC)配置中检测、管理和分配中断。你可以对GIC-400进行配置,以便为你的预期应用提供所需的最佳功能、性能和门数量。 通过GIC-400的下列软件可配置设置,提供的中断控制选项如下所示:
我们可以在最多有八个处理器的多处理器系统中使用GIC-400。GIC-400 支持并非每个处理器都实现了 ARM 安全扩展或 ARM 虚拟化扩展的系统。在这种情况下,每个处理器只使用它所知道的功能。有关信息,请参阅 ARM 通用中断控制器V3/V4架构规范。 GIC-400实现了以下的中断类型:
GIC-400的BD如下图所示,GIC-400从中断输入信号中检测PPI和SPI。每个处理器的每个PPI中断ID都有一个信号。每个SPI中断ID只有一个输入信号,与SoC中处理器的数量无关。SGI没有输入信号,在GIC-400中使用AXI编程接口生成。 GIC-400通过使用中断输出信号来通知每个处理器中断或虚拟中断的存在。还有中断输出信号,为系统电源控制器提供唤醒功能,见第2-12页的电源管理。 虚拟中断是由在运行虚拟机的每个处理器上执行的特殊软件创建和管理的。这种管理程序不是GIC-400架构的一部分,但对于使用中断控制器虚拟化中断是必要的。有关管理程序的概述,请参见ARM通用中断控制器架构规范。 GIC-400实现了ARM通用中断控制器架构规范所描述的分区。它由一个分配器和一个CPU接口以及系统中每个处理器的虚拟CPU接口组成。 GIC-400实现了可选的GIC虚拟化扩展,使其能够管理虚拟中断,前提是系统中至少有一个处理器实施了管理程序。尽管管理程序软件将物理中断转化为虚拟中断并处理复杂的情况,但GIC-400经常在硬件中处理来自虚拟机的中断访问的确认和结束。在处理器上运行的管理程序和GIC-400中的虚拟接口控制块构成了虚拟分配器。 CCI-400CCI(Cache Coherent Interconnect)是ARM中的cache一致性控制器。 CCI-400将互连和一致性功能结合到一个模块中。它支持多达两个ACE 主节点的连接,例如:
CCI-400还支持多达三个ACE-Lite主站,例如,ARM MaliTM-T600系列图形处理器单元(GPU)。 所有这些接口都有可选的DVM消息支持,以管理分布式内存管理单元(MMU),例如CoreLink MMU-400。这些单元可以通过CCI-400与最多三个ACE-Lite从机进行通信。 硬件管理的一致性可以通过共享片上数据来提高系统性能和降低系统功耗。 CCI-400cache一致性控制器实现了ACE协议,demo系统框图如下所示: CCI-400cache一致性控制器是一个基础设施组件,支持以下内容:
NIC-400CoreLink NIC-400(Network Inter Connect)网络互连是高度可配置的,使您能够创建一个完整的高性能、优化和符合AMBA标准的网络基础设施。CoreLink NIC-400网络互连有许多可能的配置。它们的范围从单一的桥接组件,例如AHB到AXI协议转换桥,到由多达128个主站和64个AMBA协议的从站组成的复杂互连。我们可以把它看作是芯片内部的连接器。 NIC-400的配置可以由多个交换机组成,有许多拓扑结构选项。下面的图显示了NIC-400的顶层框图,其中包含:
NIC-400支持以下特性:
NIC-400和AMBA寄存器之间的区别AMBA Designer是一种配置工具,可以生成CoreLink NIC-400网络互连的具体实现。AMBA Designer驱动CoreLink NIC-400网络互连生成引擎,为一组配置参数和实现脚本提供以下内容:
CoreLink NIC-400网络互连和AMBA设计器的文档套件和实现脚本是一起使用的。它们描述了CoreLink NIC-400网络互连的原理和配置选项。这两套文档之间没有重复的内容。以下章节描述了每套文档所提供的信息。
DMC-400DMC(Dynamic Memory Controller)-400是400系列的一个动态内存控制器。DMC-400是一个符合高级微控制器总线结构(AMBA)的片上系统(SoC)外设,由ARM开发、测试和授权。它是一个高性能、区域优化的内存控制器,与AMBA ACE-Lite协议兼容。它支持以下内存设备:
DMC-400实现了SoC和芯片外部DRAM设备之间的数据传输。它通过一个或多个ACE-Lite接口连接到片上系统。它通过其存储器接口块和DFI接口连接到DRAM设备。 它实现了与以下协议的兼容:
DMC400有以下特性:
MMU-600MMU-600是一个系统级内存管理单元(SMMU),将输入地址转换为输出地址。这种转换是基于地址映射和内存属性信息,这些信息可以从存储在内存中的配置表和转换表中获得。 MMU-600实现了Arm SMMU架构3.1版,即SMMUv3.1,正如Arm?系统内存管理单元架构规范,SMMU架构3.0版和3.1版所定义的。 从输入地址到输出地址的地址转换被描述为地址转换的一个阶段。MMU-600可以执行。
MMU-600为每个阶段的翻译执行翻译表行走。 除了将一个输入地址翻译成一个输出地址,一个阶段的地址翻译还定义了输出地址的内存属性。通过两阶段翻译,第二阶段翻译可以修改第一阶段翻译定义的属性。一个地址转换阶段可以被禁用或旁路,MMU-600可以为禁用和旁路的转换阶段定义内存属性。 MMU-600可以将翻译表的查找结果缓存在翻译旁观缓冲器(TLB)中。它还可以将配置表缓存在一个配置缓存中。 MU-600包含以下关键部件:
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:26:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |