嵌入式:ARM存储器组织、协处理器及片上总线

news2024/11/30 10:52:26

文章目录

    • ARM存储器组织
      • ARM存储数据类型和存储格式
      • ARM的存储器层次简介
      • 存储器管理单元MMU
    • ARM协处理器
    • ARM片上总线AMBA

ARM存储器组织

ARM存储数据类型和存储格式

ARM处理器支持以下6种数据类型

  • 8位有符号和无符号字节。
  • 16位有符号和无符号半字,它们以两字节的边界定位。
  • 32位有符号和无符号字,它们以4字节的边界定位。

存储器组织

在以字节为单位寻址的存储器中有“小端”和“大端”两种方式存储字,这两种方式是根据最低有效字节与相邻较高有效字节相比是存放在较低的还是较高的地址来划分的,两种存储方式如图所示。

ARM的存储器层次简介

  • 寄存器组 : 存储器层次的顶层,典型为32个32位寄存器,访问时间为几个ns

  • 片上RAM :和片上寄存器组具有同级的读写速度。成本较高。

  • 片上Cache :容量为8~32KB,访问时间大概为10ns。

  • 主存储器 :可能在几兆到1G的动态存储器。访问时间大约50ns。

  • 硬盘:后援存储器,容量从几百兆到几十GB,访问时间为几十ms。

    嵌入式系统通常没有硬盘,因此也不采用页方式,但是许多嵌入式系统采用cache,ARM CPU采用了多种Cache结构。

存储器管理单元MMU

在复杂的嵌入式系统设计时,越来越多的会选用带有存储管理单元(MMU)的微处理器芯片。

MMU完成的主要功能有:

  • 将主存地址从虚拟存储空间映射到物理存储空间。
  • 存储器访问权限控制。
  • 设置虚拟存储空间的缓冲特性等。

虚拟地址存储系统示意图

ARM协处理器

ARM通过增加硬件协处理器来支持对其指令集的通用扩展,通过未定义指令陷阱支持这些协处理器的软件仿真。简单的ARM核提供板级协处理器接口,因此协处理器可以作为一个独立的元件接入。

最常使用的协处理器是用于控制片上功能的系统协处理器,例如控制ARM720上的高速缓存Cache和存储器管理单元MMU等。ARM也开发了浮点协处理器,也可以支持其它的片上协处理器。ARM体系结构支持通过增加协处理器来扩展指令集的机制。

ARM片上总线AMBA

IC设计方法从以功能设计为基础转变到了以功能整合为基础。

  • SoC设计以IP的设计复用和功能组装、整合来完成。SoC设计的重点是系统功能的分析与划分、软硬件的功能划分,IP的选择与使用,多层次验证环境和外界设计咨询服务等。
  • 片上总线OCB(On-Chip Bus)使得片上不同IP核的连接实现标准化。
  • 3种总线标准:IBM的CoreConnect、ARM的AMBA(Advanced Microcontroller Bus Architecture)和Silicore的Wishbone。

一个微处理器系统可能含有多条总线

原因:

  • 数据宽度:高速总线通常提供较宽的数据连接。
  • 成本:高速总线通常采用更昂贵的电路和连接器。
  • 桥允许总线独立操作,这样在I/O操作中可提供某些并行性。

多总线系统

嵌入式系统总线

ARM片上总线AMBA

  • AMBA是ARM公司公布的总线标准,AMBA定义了3种总线:
  • ASB(Advanced System Bus):是目前ARM常用的系统总线,用于连接高性能系统模块,它支持突发数据传输模式。
  • AHB(Advanced High-performance Bus):用于连接高性能系统模块。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟沿。在高性能ARM系统(如:ARM1020E)中,AHB有逐步取代ASB的趋势。
  • APB(Advance Peripheral Bus):是一个简单接口支持低性能的外围接口。

通过AMBA组成的系统如下图所示:

基于AMBA总线的典型系统

AMBA总线 - S3C44b0X


参考文献:

孟祥莲.嵌入式系统原理及应用教程(第2版)[M].北京:清华大学出版社,2017.

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

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

相关文章

字符串匹配问题(KMP)

文章目录题目KMP 算法1)例子演示2)KMP算法思路3)疑惑模型验证4)求 next 数组5)代码演示6)复杂度分析题目 有字符串 str1 和 str2 ,str1 中是否包含 str2,如果没有包含返回 -1&#…

电商行业用天翎低代码平台做客服管理系统

编者按:在市场竞争越来越激烈的今天,客服作为电商行业的重要组成部分,如何科学管理成为企业管理层不可避免的难题,做好客服管理对企业具有重要意义。本文通过唯品会金牌客服管理系统案例介绍了低代码平台在定制化和快速落地的特点…

python tkinter 登录 计算器

使用tkinter开发图形化小项目: 功能: 登录 :登录成功 跳转到 计算器 页面,否则登录失败计算器 :登录成功后,窗口标题栏显示当前登录的用户 技术: 面向对象标准模块SQLite数据库登录成功后页…

SpringCloud MQ介绍与使用

哈喽~大家好,这篇来看看SpringCloud MQ介绍与使用。 🥇个人主页:个人主页​​​​​ 🥈 系列专栏:【微服务】 🥉与这篇相关的文章: SpringCloud Sentinel 使用…

基于Python+Django的银行取号排队系统 毕业设计

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

clickhouse集群搭建、SpringBoot集成及应用

前言 在日常工作中,日志查询是我们不可避免的业务场景,当项目访问量较小时,我们可以将日志存储在MySQL或其他行式数据库中,但是如果项目访问量很大,一次查询就会给数据库带来很大压力,也许你会采用elk等成…

测试框架Pytest-pytest测试用例的运行实操

一、单元测试框架 1、什么是单元测试框架 单元测试是指在软件开发当中,针对软件的最小单位(函数、方法)进行正确性的检查测试。 2、单元测试框架 java:junit和testing python:unittest和pytest 3、单元测试框架主要做什么&a…

基于JSON的SQL注入攻击触发需要更新Web应用程序防火墙

©网络研究院 安全研究人员开发了一种通用的 SQL 注入技术,可以绕过多个 Web 应用程序防火墙 (WAF)。问题的核心是 WAF 供应商未能在 SQL 语句中添加对 JSON 的支持,从而使潜在的攻击者可以轻松隐藏其恶意负载。 Claroty Team82 的研究人员发现的绕…

绿盟SecXOps安全智能分析技术白皮书 思路方案

安全数据资产 统一管理DataOps,即 Data 和 Operations 的集成,于 2014 年首次提出。Gartner 将 DataOps 定义为“一种协作性的数据管理 实践,专注于改进组织内数据管道的通信、集成和自动化”[7]。DataOps 是一种面向流程的自动化方法&#x…

【C++笔试强训】第六天

文章目录选择题编程题选择题 1.十进制变量i的值为100&#xff0c;那么八进制的变量i的值为&#xff08;&#xff09; A 146 B 148 C 144 D 142 进制之间的转化&#xff0c;这不用多说了把 2.执行下面语句后的输出为 int I1; if(I<0)printf("****\n") ; els…

大数据Kudu(四):Kudu集群搭建

文章目录 Kudu集群搭建 一、kudu 安装包 二、节点规划及安装 1、首先在每个节点上传安装包 2、在node1、node2节点上安装如下rpm安装包 3、在node3节点上安装如下rpm安装包 4、配置Master Server 5、配置Tablet Server 6、Master节点配置所有Master Server 7、Server…

对DataFrame中元素进行定位并修改的DataFrame.iat[]方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 根据指定的行和列的位置号 显示或修改DataFrame中相应位置的元素 DataFrame.iat[x,y] 选择题 关于以下python代码说法错误的一项是? import pandas as pd df pd.DataFrame({"A"…

手把手教你搭建自己的FTP文件服务器

大家好&#xff0c;我是小豪&#xff0c;今天我来给大家分享如何在虚拟机上搭建自己的文件服务器 文章目录Linux上安装文件服务器FTP安装VSFTP下载dnf下载VSFTP清除防火墙的iptables缓存下载FTP匿名访问模式本地用户模式Linux上安装文件服务器FTP 由于FTP、HTTP、Telnet等协议…

【阿里实践】基于深度学习的个性化推荐系统实时化改造与升级

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年11月份热门报告盘点推荐技术在vivo互联网商业化业务中的实践.pdf推荐系统基本问题及系统优化路径.pdf大规模推荐类深度学习系统的设计实践.pdf荣耀推荐算法架构演进实践…

doom emacs如何安装新插件和自定义快捷键

doom emacs如何安装新插件和自定义快捷键 最近在学习和使用doom emacs&#xff0c;遇到了2个问题。 问题1: 虽然doom emacs已经配置了很多的三方插件&#xff0c;但是还有些个性化的插件如何按doom风格添加&#xff1f; 问题2: 有些快捷键自己已经熟悉&#xff0c;如何修改&am…

双目密集匹配及SGM算法

提示&#xff1a; 双目密集匹配及SGM算法前言一、双目密集匹配1、双目密集匹配概述2.、双目密集匹配四大步骤代价计算&#xff08;per-pixel-cost&#xff09;&#xff1a;释义&#xff1a;代价聚集&#xff08;cost-aggregation&#xff09;:释义&#xff1a;分类&#xff1a;…

以就业为目标,Python到底应该学什么?

前言 很多小伙伴知道Python火爆薪资高&#xff0c;开始自学&#xff0c;可是并不知道Python应该学哪些技术、学到什么程度才能找到工作。今天我们就来分析一下&#xff0c;Python学到什么程度才能找到工作。 相关&#xff1a;我是今年刚刚毕业的不入流大学的本科生&#xff0…

KingbaseES Create Index Concurrently 过程探究

前言&#xff1a; 我们知道Oracle 可以通过create index online 在线创建索引&#xff0c;而不影响其他会话修改数据&#xff0c;但Oracle 实际在online 创建索引的最后一步&#xff0c;实际还是需要进行锁升级&#xff0c;申请表级的S锁&#xff0c;因此&#xff0c;最后还是有…

STM32CUBEMX开发GD32F303(17)----内部Flash读写

概述 本章STM32CUBEMX配置STM32F103&#xff0c;并且在GD32F303中进行开发&#xff0c;同时通过开发板内进行验证。 本例程主要讲解如何对芯片自带Flash进行读写&#xff0c;用芯片内部Flash可以对一些需要断电保存的数据进行保存&#xff0c;无需加外部得存储芯片&#xff0c…

广告公司到底干什么的?欣奥诚分享

广告公司到底干什么的&#xff1f; 这篇文章从产业的角度拆分广告业&#xff0c;还原一个真实的广告业出来。 01. 它们是谁&#xff1f; 早年广告业有4类公司&#xff1a;品牌咨询类公司&#xff1b;设计创意类公司&#xff1b;媒介投放类公司&#xff1b;活动执行类公司。 …