ARM N2微架构介绍

devtools/2024/10/19 15:34:41/

简介

之前在“ARM V2处理器微架构介绍”一文中介绍了面向服务器、云计算等应用的ARM V2处理器微架构,V系列具有更强性能,N系列强调性能和功耗等方向的平衡,本文就将介绍一下ARM N2处理器微架构相比较前代的一些提升。尽管ARM还具备一代N1/V1的服务器端处理器,但严格意义讲N2是ARM相对成熟的第一代服务器端处理器IP。

前端Front-End

前端的设计相比较前代可以说是巨大提升,预测和取指依然是解耦设计,本代CPU对预测器做了重点的升级。

预测器方面,原来的8instrs/cycle提升为2x8instrs/cycle,每个周期可以处理2个分支,相对应的分支执行也是每个周期处理2个分支。这个特性属于一个相对复杂的实现,AMD的Zen4 Epyc也是同样实现了这个特性,具体的实现方案没有查到更多的资料,最近亦安有进展会写文章讨论一下。

BTB方面,NanoBTB是由原来的16 entries提升到64 entries,早期的快速重定向能力有比较大的提升。Main BTB的大小由6K entries提升到8K entries,并且延迟更低,分支目标tagged关联了上下文以强化安全问题。

ICache是64KB,4路组相联,依然是VIPT组织结构,校验方式是奇偶,Cache line是64bytes。值得一提的是Mop Cache,这个是首次在服务器端使用该特性,在手机端是A77开始具有该特性,主要为了绕过decode快速进入下一个模块。具有1536 entries,4-way skewed组相联,VIVT的组织结构,Cache替换算法PLRU,公开资料显示Mop Cache命中率有85%,命中率还不错。不过不管是服务器还是移动端,这个特性都被舍弃了,服务器是N3/V3放弃的,移动端应该是X4放弃的。

Fetch Queue从原来的12 entries提升到16 entries,decode宽度4(ICache)5(Mop Cache)

Mid-Core & Back-End

rename宽度由4instrs提升到5instrs,增加了checkpointing,ROB也由128提升到160,ALU从3提升到4,降低了分支预测错误惩罚,从11cycle降到10cycle。

L1 Dcache 64KB,4-way组相联,使用VIPT的组织方式,校验方式是ECC,替换算法是PLRU,后面一代的N3改为RRIP。具有2-LD/ST和1-LD。L2的带宽翻倍,变为64B读+64B写。预取引擎也有所优化,例如Temporal预取器可以预取任意的、重复的访问模式,以加速使用时间流的工作负载。

关于CCS

N2的一个其它重点就是加入CCS,对用户而言搭建复杂系统更加便捷,不过这不是本文的重点,简单描述。互联系统升级为CMN700,各种连接口实际都升级到下一代,但互联属于核心关键技术。

总结

ARM N2还是属于比较经典的一代CPU,不少的公司都在使用,其很多微架构的设计都比较有趣,很多特新大家也可以参考相关的论文研究。


http://www.ppmy.cn/devtools/107377.html

相关文章

使用GitLab CI/CD实现使用Makeself生成.run文件

在软件开发过程中,自动化构建和分发是提高效率和确保软件质量的关键环节。GitLab CI/CD提供了一个强大的平台,允许开发者在代码提交后自动执行一系列任务,如构建、测试、打包和部署。 一:准备GitLab仓库 首先,你需要…

elasticsearch文档Delete By Query API(一)

这里的查询需要使用和Search API(后文会讲)相同的方式来将查询条件作为query的值传递,当然也可以使用q关键字,例如如下请求: curl -X POST “localhost:9200/twitter/_delete_by_query?pretty&quser:kimchy” -H…

消息认证码(MAC)

消息认证码(MAC,Message Authentication Code)是一种用于验证消息完整性和确保消息来源真实性的加密技术。MAC通过将消息(例如,文件、数据包等)和一个秘密密钥作为输入,生成一个短小的固定长度的…

大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

排除挖矿木马

一、什么是挖矿木马 挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞利用等手段攻击主机。 …

代码随想录算法训练营_day37

题目信息 518. 零钱兑换 II 题目链接: https://leetcode.cn/problems/coin-change-ii/description/题目描述: 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑…

uniapp引入最新版Animate.css及使用示例

亲测可用,不好用请移至评论区揍我 动画库官网:https://animate.style/ cdn地址:https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css(截至目前最新版为:v4.1.1) 1. 将css下载后导入项目static目录中 2. 重要!修改下载的css文件内容 文件内容如…

RabbitMQ~架构、能力、AMQP、工作模式、高可用、死信队列了、事务机制了解

RabbitMQ RabbitMQ是使用Erlang编写的一个开源的消息中间件。它实现了AMQP(高级消息队列协议),并支持其他消息传递协议:例如STOMP(简单文本定向消息协议)和MQTT(物联网协议)。 支持多种客户端如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、…