SoC 总线结构学习记录之系统存储总线(System Memory Bus)与私有设备总线

蜂鸟 E203 SOC总线结构:

蜂鸟 E203 内核 BIU 的系统存储接口 ICB 连接系统存储总线,通过其访问 SoC 中的若干存储组件,譬如 ROM,Flash 的只读区间等。
蜂鸟 E203 内核 BIU 的私有设备接口 ICB 连接私有设备总线,通过其访问 SoC 中的若干设备,譬如 UART,GPIO 等等。
在这里插入图片描述

系统存储总线(System Memory Bus)

计算机系统中连接中央处理器(CPU)、内存和其他I/O设备之间的通信通道。它是用于数据传输和存储访问的关键组件

系统存储总线起到连接处理器和存储器之间的桥梁作用,负责传输指令和数据以支持计算机系统的正常运行。它提供了一种标准化的接口,使处理器能够直接与内存和其他外部设备进行通信,从而实现数据的读取和写入。

系统存储总线有以下主要功能

数据传输:存储总线负责从内存读取数据并将其传递给处理器,或者将处理器生成的数据传输到内存或其他外部设备。这样,处理器可以通过存储总线与内存和其他设备进行高速数据传输。

寻址:存储总线使用地址信号来指示读取或写入的数据在内存中的位置。处理器通过发送地址信号来选择要读取或写入的特定内存位置。

控制:存储总线还负责控制数据传输和存储访问的时序和调度。它确保数据按照正确的顺序传输,并在需要时进行必要的同步和等待。

性能优化:存储总线的设计也涉及性能优化。它应该具备高带宽和低延迟的特性,以便处理器能够高效地读取和写入数据,并尽可能地减少系统的响应时间。

需要注意的是,存储总线通常是计算机系统中的一个组成部分,同时还有其他类型的总线用于连接其他设备,如图形显示、硬盘驱动器等。

综上所述,系统存储总线是负责连接处理器、内存和其他I/O设备之间的通信通道,它实现了数据传输、寻址、控制和性能优化等功能。它是计算机系统中关键的组件,确保数据的高效传输和存储访问。

系统存储总线的具体协议可以根据不同的架构和技术标准而有所不同。以下是几个常见的系统存储总线协议:

DDR(Double Data Rate)总线协议:DDR是一种用于内存访问的常见总线协议。DDR总线协议以时钟信号为基准,通过在上升沿和下降沿传输数据,实现双倍数据传输速率。它包括读写命令、地址信息、数据传输和控制信号等。

PCIe(Peripheral Component Interconnect Express)总线协议:PCIe是一种面向外部设备的高速串行总线协议。它提供了可靠的、高性能的数据传输,适用于连接外部设备如显卡、硬盘驱动器和网络适配器等。

AMBA(Advanced Microcontroller Bus Architecture)总线协议:AMBA是一种用于片上系统的总线协议。它由ARM公司开发,定义了一系列总线接口和通信协议,包括高性能的AXI、低功耗的AHB(Advanced High-performance Bus)和轻量级的APB(Advanced Peripheral Bus)等。

AXI(Advanced eXtensible Interface)总线协议:AXI是ARM公司提出的一种高性能、可扩展的总线协议。AXI总线协议使用点对点连接方式,支持多主设备和多从设备,并提供了高带宽、低延迟和高效的数据传输机制。

私有设备总线

指一种专门用于连接特定设备的通信总线。与系统存储总线不同,私有设备总线仅用于特定设备之间的通信和数据传输,而不涉及处理器和内存等核心系统组件。

私有设备总线通常由设备制造商开发和定义,在特定应用场景中使用。它可以是针对某个特定设备类型的标准化总线协议,也可以是为特定设备设计的专有通信接口。

私有设备总线的使用可以提供以下优势:

专用性: 私有设备总线为特定设备提供了一个专门的通信通道,可以满足设备之间的特定通信需求。这样的专用性设计可以提高设备之间的互操作性和性能。

灵活性:私有设备总线的设计可根据设备类型和应用需求进行优化。设备制造商可以根据自己的需求制定通信规范和协议,以实现更高的数据传输速率、更低的延迟或其他特定功能。

安全性: 私有设备总线可以提供额外的安全性措施,如数据加密和身份验证机制。这对于处理敏感数据或需要保护设备免受未经授权的访问的应用场景非常重要。

可扩展性:私有设备总线的架构可以支持设备之间的快速扩展和集成。设备制造商可以根据需要添加更多的设备或模块,拓展系统的功能和性能。

以下是一些常见的私有设备总线协议

I2C(Inter-Integrated Circuit):I2C总线协议是一种串行通信协议,用于连接集成电路芯片之间的通信。它使用两根线路(数据线和时钟线)进行数据传输,并支持多主机和多从机的通信。

SPI(Serial Peripheral Interface):SPI总线协议也是一种串行通信协议,适用于设备之间的全双工数据传输。SPI总线包括一个主设备和一个或多个从设备,使用时钟、数据输入和输出以及片选信号进行通信。

UART(Universal Asynchronous Receiver-Transmitter):UART是一种用于串行通信的通用接口标准。它通过发送和接收数据位、起始位、停止位和奇偶校验位等来传输数据。

CAN(Controller Area Network):CAN总线协议是一种用于汽车和工业控制系统等领域的通信协议。CAN总线采用差分信号传输,支持多主机和多从机的通信,并具有高可靠性和抗干扰能力。

EtherCAT(Ethernet for Control Automation Technology):EtherCAT是一种基于以太网的实时控制总线协议,用于工控领域。它支持高速数据传输和实时性能,并具有灵活的拓扑结构和可扩展性。

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

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

相关文章

JVM的故事——虚拟机字节码执行引擎

虚拟机字节码执行引擎 文章目录 虚拟机字节码执行引擎一、概述二、运行时栈帧结构三、方法调用 一、概述 执行引擎Java虚拟机的核心组成之一,它是由软件自行实现的,能够执行那些不被硬件直接支持的指令集格式。 对于不同的虚拟机实现,执行引…

【深入解读Redis系列】Redis系列(五):切片集群详解

首发博客地址 https://blog.zysicyj.top/ 系列文章地址[1] 如果 Redis 内存很大怎么办? 假设一台 32G 内存的服务器部署了一个 Redis,内存占用了 25G,会发生什么? 此时最明显的表现是 Redis 的响应变慢,甚至非常慢。 这…

iPhone 15 Pro与iPhone 13 Pro:最大的预期升级

如果你在2021年首次发布iPhone 13 Pro时就抢到了它,那么你的合同很可能即将到期。虽然距离iPhone 15系列还有几周的时间,但你可能已经在想:是时候把你的旧iPhone升级为iPhone 15 Pro了吗? 我们认为iPhone 13 Pro是你现在能买到的最好的手机之一。但如果你想在2023年晚些时…

使用openpyxl来创建一个月的日程表

首先你心里要有一张表的样子,openpyxl才能帮你创建出其余的29张。 import openpyxl from openpyxl.styles import Alignment, Font import calendar from datetime import datework_path rXX\YY\ZZ\日报-九月.xlsxtry:workbook openpyxl.load_workbook(work_path…

python中的文件操作

我们平常对文件的基本操作,大概可以分为三个步骤(简称文件操作三步走): ① 打开文件 ② 读写文件 ③ 关闭文件 【注意事项】 注意:可以只打开和关闭文件,不进行任何读写 文件打开 open函数&#xff…

前端三大Css处理器之Less

Less是Css预处理器之一,分别有Sass、Less、Stylus这三个。 Lesshttps://lesscss.org/ Less是用JavaScript编写的,事实上,Less是一个JavaScript库,他通过混合、变量、嵌套和规则设置循环扩展了原生普通Css的功能。Less的少数…

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志,但是数据量大时太消耗系统新能。而filebeat是轻量级的,占用系统资源极少。 Filebeat 由两个主要组件组成:harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…

python-下载数据-制作全球地震散点图:JSON格式

查看JSON数据 import json# 探索数据的结构 filename eq_data_1_day_m1.geojson with open(filename) as f:all_eq_data json.load(f)readable_file readable_eq_data.json with open(readable_file, w) as f:json.dump(all_eq_data, f, indent4)json.load() 将数据转换为P…

Python爬虫分布式架构 - Redis/RabbitMQ工作流程介绍

在大规模数据采集和处理任务中,使用分布式架构可以提高效率和可扩展性。本文将介绍Python爬虫分布式架构中常用的消息队列工具Redis和RabbitMQ的工作流程,帮助你理解分布式爬虫的原理和应用。 为什么需要分布式架构? 在数据采集任务中&#…

MonoDETR: Depth-guided Transformer for Monocular 3D Object Detection 论文解读

MonoDETR论文解读 abstract 单目目标检测在自动驾驶领域,一直是一个具有挑战的任务。现在大部分的方式都是沿用基于卷积的2D 检测器,首先检测物体中心,后通过中心附近的特征去预测3D属性。 但是仅仅通过局部的特征去预测3D特征是不高效的&…

Revit SDK:SolidSolidCut 实体几何裁剪

前言 这个例子介绍了 Revit 中的一个实体几何裁剪。 内容 这个例子介绍如何使用 SolidSolidCutUtils 的接口来做几何裁剪以及取消几何裁剪。内容相对来说非常简单。 namespace Autodesk.Revit.DB {public static class SolidSolidCutUtils{public static void AddCutBetwee…

虚拟化技术原理

计算虚拟化 介绍 把物理主机上物理资源(CPU,内存,IO外设),通过虚拟化层抽象成超量、等量的逻辑资源(虚拟CPU,虚拟内存,虚拟IO设备),然后重新组合形成新的虚…

独家首发!openEuler 主线集成 LuaJIT RISC-V JIT 技术

RISC-V SIG 预期随主线发布的 openEuler 23.09 创新版本会集成 LuaJIT RISC-V 支持。本次发版将提供带有完整 LuaJIT 支持的 RISC-V 环境并带有相关软件如 openResty 等软件的支持。 随着 RISC-V SIG 主线推动工作的进展,LuaJIT 和相关软件在 RISC-V 架构下的支持也…

使用php实现微信登录其实并不难,可以简单地分为三步进行

使用php实现微信登录其实并不难,可以简单地分为三步进行。 第一步:用户同意授权,获取code //微信登录public function wxlogin(){$appid "";$secret "";$str"http://***.***.com/getToken";$redirect_uriu…

鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

0.引言 上一篇博客介绍了使用Yalmip工具箱求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用Yalmip工具箱求解两阶段鲁棒优化(默认看到这篇博客时已经有一定的基础了,如果没有可以看看我专栏里的其他文章)。关于两阶段鲁棒优化与列与约束生成算法的原…

机器人编程怎么入门?

机器人已经在我们中间存在了二三十年。如今,机器人在我们的文化中比以往任何时候都更加根深蒂固。大多数机器人机器用于各种装配线,或在世界各地的矿山或工业设施中执行密集的物理操作。 还有一些家用机器人,工程师正在对机器人进行编程&…

淘宝API接口:提高电商运营效率与用户体验的利器(淘宝API接口使用指南)

淘宝API接口:提高电商运营效率与用户体验的利器 随着电商行业的快速发展,淘宝作为国内最大的电商平台之一,不断探索和创新,以满足不断变化的用户需求和商家需求。其中,淘宝API接口便是其创新的一个重要方面。本文将深…

分类算法系列③:模型选择与调优 (Facebook签到位置预测)

目录 模型选择与调优 1、介绍 模型选择(Model Selection): 调优(Hyperparameter Tuning): 本章重点 2、交叉验证 介绍 为什么需要交叉验证 数据处理 3、⭐超参数搜索-网格搜索(Grid Search) 介绍…

Node.js 中间件是怎样工作的?

express自带路由功能,可以侦听指定路径的请求,除此之外,express最大的优点就是【中间件】概念的灵活运用,使得各个模块得以解耦,像搭积木一样串起来就可以实现复杂的后端逻辑。除此之外,还可以利用别人写好…

文件包含漏洞

文章目录 渗透测试漏洞原理文件包含漏洞1. 文件包含概述1.1 文件包含语句1.1.1 相关配置 1.2 动态包含1.2.1 示例代码1.2.2 本地文件包含1.2.3 远程文件包含 1.3 漏洞原理1.4 文件包含和文件读取的区别 2. 文件包含攻防2.1 利用方法2.1.1 包含图片木马2.1.2 读取敏感文件2.1.3 …