首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

随着时间的推移,CPU 会变得越来越弱吗?ARM 处理器中的邮箱寄存器是什么?

问:随着时间的推移,CPU 会变得越来越弱吗?

答:是的,它确实。随着时间的推移,CPU 制造商将其性能变得越来越弱。几年后他们显然会放慢速度,以促使您采用新系统。这是制造商的伎俩,否则公司就必须放慢速度。如果 as ols 系统每天运行得足够快,为什么人们会选择新系统?制造maf CPU,使其速度减慢,就像人类衰老时速度减慢一样。

问:C++ 中的 LF 字符是什么意思?

答:正如 Ali 所解释的,C/C++ 有几个源自早期计算机时代的特殊字符。       

所有这些字符都位于 ASCII 表中的后 32 个位置,位于空格之前。

为了简化编写它们,C/C++ 引入了“快捷方式”。

很少提及:

LF, '\n', 10: 换行。正如名称所示,当终端看到 LF 时,它会进入新行。不存在明确的规则,字符水平位置会发生什么,因为在某些情况下它会保留下来,而在某些情况下会转到最左边的位置

CR, '\r', 13: 回车。将“打印头”移动到同一行的最左边位置

Tab, '\t', 0: 水平制表符。将“打印头”向右移动多个字符,通常是 8 个

CR 和 LF 字符在文本编辑器中用作“换行”分隔符。这里我们还有另一个问题,它们对于每个操作系统都是不同的。文本文件中的新行表示为:

Windows - CR LF

Linux-CR

MacOS-LF

以上是导致在 Windows 中编写的文本文件在 Linux 上查看时每秒原始数据为空的问题。还存在需要正确处理的具有 LF CR 序列的文本文件。

问:为什么ARM可以在x86上运行,但x86程序却不能在ARM上运行?

答:本质上,ARM 程序都不能在 X86 硬件上运行,X86 程序也不能在 ARM 硬件上运行。

ARM和X86有不同的指令集,X86在指令集方面要丰富得多+20000指令集,而ARM则有最多上百条指令,当然指令本身是不同的。

但是,您可以在 X86 之上运行的模拟器上运行 ARM 程序,并且可以模拟 ARM 行为,反之亦然,对于 ARM 硬件上的 X86 程序来说是正确的。

然而,这在性能方面带来了一定的损失,因为我们需要在运行之前将 ARM/X86 指令转换为 X86/ARM 指令,通常我们会得到某种错误,表明这是错误的指令,并且被转换为托管硬件中的相应内容。

当涉及内存访问、故障处理和 CPU 性能等许多方面时,行为也会有所不同。

问:为什么计算机仍然有以太网端口而不是无线适配器?

答:无线连接有其缺点。以太网在传输速度、可靠性和抗干扰性方面仍然非常优越。我的工作笔记本电脑没有硬线连接选项,我讨厌它。我无法充分利用我的家庭千兆位互联网速度,我必须忍受充满其他无线网络干扰的公寓楼的速度减慢,更不用说其他干扰 WI-FI 通常使用的 2.4/5ghz 频段的因素。

问:ARM 处理器中的邮箱寄存器是什么?

答:ARM 处理器没有邮箱寄存器部分。

Mailbox是一种IP外设,主要用于在同一SOC(片上系统)内的两个不同CPU域之间建立消息通信和交换。

当域 A 写入消息时,域 B 也应该读取消息,因此我们应该有一种方法来发出信号,并且在从域 A 读回答案时也是如此,这是已知的生产者/消费者设计模式。邮箱或消息传递单元是解决此问题的方法,它创建基于硬件的信令外围设备,向域 A 或 B 发出消息的存在信号,并标记每条要发送和接收的消息。

ARM 处理器本身没有像上面定义的那样具有称为邮箱的外设,但是由于 ARM 不提供单核设计,而是提供整个 SOC 设计解决方案,例如可以提供最多可以有 4 个 ARM 处理器的整个集群,或将连接两个不同的基于 ARM 的域的整个互连,在这种情况下,他们已经拥有基于硬件的解决方案来同步这些处理器之间的通信:

在多核集群中,要将执行从一个处理器切换到另一个处理器,它们使用 GIC(通用中断控制器)来执行此类切换,在 GIC 中,有一种称为 SGI(软件生成中断)的专用中断类型,您可以在一个 GIC 寄存器中指定 CPU或 PE(处理元件)跳转到,然后 GIC 执行切换,同一集群内的目标核心将开始执行,这是由 GIC 控制器执行的同一集群中的 CPU 之间的相互通信类型。

缓存一致性是支持缓存的多核/多域架构中的主要问题之一,为了加快缓存一致性查找,ARM 添加了对系统中不同缓存内的缓存数据的缓存查找和缓存数据的硬件支持因此,在同一集群内,为了在每个 CPU L1 缓存中搜索和监听缓存指令,我们使用 SCU 或监听一致性单元,这提供了在不同内核之间传递和交换缓存指令的硬件机制,它们还有 CCI-400(缓存一致性)接口 400)用于缓存数据监听和跨域交换,不仅在同一域内,还有一些称为 DVM(分布式虚拟消息)的消息,用于监听 TLB(转换后备缓冲区)内的 MMU 转换表条目,AMB5 总线也具有此缓存一致性支持,AXI-ACE(AXI 一致性扩展)添加了额外的通道用于缓存数据一致性传输。

因此,添加那些基于 ARM 嵌入式消息交换的硬件 IP 主要是为了硬件缓存一致性支持或在执行期间在内核之间切换,但作为普通邮箱通信,这是不同的,我们需要一个非嵌入式或 ARM 处理器的专用外设邮箱。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OWIbcTjhjIvEnIQOkOfS8efg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券