ARM名声很大,最近在学习STM32,也借机梳理一下关于ARM的各种概念和信息。
本文主要内容:ARM一词的含义,ARM的发展历史,ARM cortex系列处理器简介与ARM在不同市场的应用情况。
ARM第一种意思是指ARM公司。
ARM公司成立于1990年,是一家英国半导体设计公司,总部位于剑桥。ARM公司的全称是Advanced RISC Machines Ltd,中文翻译为安谋公司。ARM公司的主要业务是设计和授权处理器核心IP(Intellectual Property,知识产权)。
ARM的第二种意思是指ARM指令集架构。
ARM,Advanced RISC Machines,直译为先进的精简指令集架构处理器,其中RISC是Reduced Instruction Set Computer的缩写,意为精简指令集处理器架构,ARM是RISC最突出的代表,其它比较有名的RISC指令集还有:MIPS,PowerPC,SPARC,RISC-V。
与RISC相对的是CISC,Complex Instruction Set Computing,复杂指令集处理器架构,闻名世界的X86指令集就是一种CISC指令集。
其实指令集和架构是两种不同的概念。
指令集(Instruction Set)是计算机硬件与软件之间的接口规范,是一种约定的机器语言,定义了计算机可以执行的操作,包括运算、存储、传输等。指令集是计算机硬件设计的基础,也是软件开发的基础。
架构(Architecture)是计算机系统的总体设计,包括计算机硬件的组成、互连方式、指令集、操作系统、编译器等。计算机架构决定了计算机系统的性能、可靠性、扩展性和兼容性等方面。
从功能上来看,指令集定义了计算机可以执行的操作,而架构则决定了计算机如何执行这些操作。指令集规定了一系列指令的编码格式和执行方式,架构则决定了计算机硬件的结构和组成方式,包括中央处理器(CPU)、内存、输入输出设备等。指令集是一种抽象的概念,而架构则更加具体。
另外,指令集和架构还有一些联系。指令集是计算机架构设计的重要组成部分,它会影响到架构的性能、可编程性、复杂度等方面。指令集与架构的协同设计可以提高计算机系统的性能和可靠性,并且可以降低计算机系统的设计成本。此外,指令集和架构也可以相互影响,当计算机架构设计变化时,需要相应地更新指令集;而当新的指令集出现时,也会对计算机架构设计产生影响。
对于ARM的指令集和架构来说,两者是绑定在一起的,所以我们通常不分开说这两者,而统一说成ARM指令集架构。
ARM的第三种意思是指ARM内核,或者说ARM处理器。
内核是相对于完整的芯片来说的,ARM将核心处理器部分设计完成,然后授权给其它芯片设计厂商,其它厂家可根据授权方式进行更改或直接使用,然后发布自己的芯片,这些芯片就是基于ARM内核的。
ARM内核有多种类型,比如,ARM6,ARM7,…,ARM11,cortex-M,cortex-R,cortex-A等。
ARM的第四种意思是指ARM芯片。
上面说到了ARM公司的商业模式是授权ARM指令集架构或者ARM内核IP,这些拿到授权的公司基于ARM架构或内核最终设计出的芯片,被称为ARM芯片。
ARM芯片其实就是采用了ARM指令集架构或者ARM内核的芯片。
在微控制器领域,ARM芯片已成为市场的主流,市占比大概在70%,以下列出最有名的几个:
在手机和电脑处理器领域,ARM芯片也在逐年增加,以下列出最有名的几个:
以下总结了ARM公司及其前身从建立到慢慢发展壮大的历史。
ARM指令集架构发展史:
ARM内核的发展史:
ARM内核非常多,这里直接使用维基百科中的ARM内核发布时间线汇总表。
关于ARM处理器与内核的对应关系,每个内核的性能特点,以及一些有名的其它公司基于ARM架构设计的芯片,本章参考的维基百科中均有详细的介绍。因篇幅限制,此处仅截图展示。
考虑到,维基百科访问不易,文末会将网页整理为PDF文件进行分享。
为更好地适应不同市场的差异化需求,2004年以后,ARM公司放弃了之前ARM+数字的命名方式(如ARM7,ARM8等),转而用cortex来命令处理器产品,并分为三大产品线,分别是Cortex-A、Cortex-R和Cortex-M。
近两年推出的cortex-X并不是单独的产品线,它可看做cortex-A的升级版,两者的市场定位是一样的。
Cortex-A系列处理器是针对高端应用而设计的,通常应用于智能手机、平板电脑、数字电视和网络设备等。这些处理器拥有高性能、大规模的内存管理单元以及大量的内部缓存,支持多核处理和虚拟化技术。目前最新的Cortex-A系列处理器是Cortex-X3和Cortex-A715。
Cortex-R系列处理器是针对实时应用而设计的,通常应用于汽车、工业控制和医疗设备等。这些处理器拥有极低的延迟、高精度的计时器和内部存储器保护机制,能够在实时响应和高可靠性方面表现出色。目前最新的Cortex-R系列处理器是Cortex-R82。
Cortex-M系列处理器是针对低功耗、低成本、嵌入式应用而设计的,通常应用于传感器、智能家居、工业控制和医疗设备等。这些处理器拥有低功耗、小尺寸和低成本等优点,同时也支持实时性、安全性和可靠性等特性。目前最新的Cortex-M系列处理器是Cortex-M85和Cortex-M55。
在过去的几十年时间里,ARM公司慢慢从一个十几人的小公司成长为一个全球闻名的芯片巨头。从最初的ARM1处理器到现在的三大cortex产品系列,ARM公司不断推出性能更强、功耗更低、功能更丰富的处理器产品,在多个不同领域都有着广泛应用:
欢迎大家关注我的公众号:徐晓康的博客,回复以下四位数字获取。
8963
徐晓康的博客持续分享高质量硬件、FPGA与嵌入式知识,软件,工具等内容,欢迎大家关注。
Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile
昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA
整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年4月26日,在2017年的今天,中国首艘国产001A型航空母舰在大连完成了下水,从开工到下水,历时3年多时间。回首过去,眺望未来,在科技历史上的每个4月26日里,还发生过哪些影响深远的关键事件呢?1938年4月26日:编程校验领域图灵奖得主ManuelBlum出生曼纽尔·布卢姆(ManuelBlum)出生于1938年4月26日,他是委内瑞拉的计算机科学家、卡内基梅隆大学的教授,因对计算复杂度理论做出的贡献,以及在密码学和编程校验上的应用而获1995年图灵奖。布卢姆出生于委内瑞拉的一个犹太家庭,他曾在麻省理工学
文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据
对于体育新闻中文文本的关键字提取,常用的算法包括TF-IDF、TextRank和LDA等。它们的基本步骤如下:1.TF-IDF算法: -将文本进行分词和词性标注处理。-统计每个词在文本中的词频(TF)。-计算每个词在整个语料库中出现的文档频率(DF)和逆文档频率(IDF)。-计算每个词的TF-IDF值,并按照值的大小进行排序,选择排名前几的词作为关键字。2.TextRank算法:-将文本进行分词和词性标注处理。-将分词结果转化成图模型,每个词语为节点,根据词语之间的共现关系建立边。-对图模型进行迭代计算,计算每个节点的PageRank值,表示该节点的重要性。-选择排名前几的节点作为关键字。3.
光度学中的能量、通量、出度、照度、强度、亮度参数及其联系光度学中评价光的强弱有两种方式,一种是将光作为电磁波,考察其辐射的能量;另一种是以人眼视觉体验来评价光的强弱。前者被称为辐射量,后者被称为光学量。辐射量包括辐射能、辐通量、辐出量、辐照度、辐强度、辐亮度参数,与之相对应,光学量包括光能量、光通量、光出量、光照度、光强度、光亮度参数。通过该文章的阅读,读者还能掌握光学中的几个单位:流明,勒克斯,坎德拉,尼特的意义以及他们之间的关系。辐射量1.辐射能光以电磁波形式发射、传输或接收的能量。单位:焦耳。2.辐通量单位时间发射、传输和接收的辐射能。单位:瓦特。3.辐出度单位面积的辐射源辐射出的辐通量
我有一个通过IMAP处理传入电子邮件的Rails应用程序。当前使用一种方法来搜索TMail对象的各个部分以查找给定的content_type:defself.search_parts_for_content_type(parts,content_type='text/html')parts.eachdo|part|ifpart.content_type==content_typereturnpart.bodyelseifpart.multipart?ifbody=self.search_parts_for_content_type(part.parts,content_type)ret
我正在尝试掌握Rails计数器缓存功能,但无法完全掌握它。假设我们有3个模型ABCA属于B或C,取决于字段key_type和key_id。key_type表示A属于B还是C,因此如果key_type="B"则记录属于B,否则属于C。在我的模型a.rb中,我定义了以下关联:belongs_to:b,:counter_cache=>true,:foreign_key=>"key_id"belongs_to:c,:counter_cache=>true,:foreign_key=>"key_id"和在b和c模型文件中has_many:as,:conditions=>{:key_type=>"
介绍pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等测试用例的skip和xfail处理可以很好的和jenkins集成
我正在使用rubyxmpp4r库通过openfire服务器实现多用户群聊应用程序。我已经成功地在openfire服务器上创建了聊天室。如果用户使用openfire凭据加入聊天室,它不会返回以前的群聊历史,它只返回几条消息,因为我正在使用add_message_callback()方法。下面是openfire群聊历史设置:**ShowEntireChatHistory(向加入房间的用户显示整个聊天记录。)--True我在这里错过了什么?任何人都有示例代码来获取以前的组历史记录? 最佳答案 我运行了一个Wildfire服务器(ope