網站首頁 編程語言 正文
從使用上來看,可執行程序肯定是不通用的。
armx86
生成的可執行程序大小都有差異呢。?
但是,如果源碼編譯,如果環境類似,相同的源碼可以直接移植。
例如:如下程序?donut.cpp
#include <stdio.h>
#include <math.h>
#include <cstring>
#include <unistd.h>
int main() {
float A = 0, B = 0;
float i, j;
int k;
float z[1760];
char b[1760];
printf("\x1b[2J");
for (;;) {
memset(b, 32, 1760);
memset(z, 0, 7040);
for (j = 0; j < 6.28; j += 0.07) {
for (i = 0; i < 6.28; i += 0.02) {
float c = sin(i);
float d = cos(j);
float e = sin(A);
float f = sin(j);
float g = cos(A);
float h = d + 2;
float D = 1 / (c * h * e + f * g + 5);
float l = cos(i);
float m = cos(B);
float n = sin(B);
float t = c * h * g - f * e;
int x = 40 + 30 * D * (l * h * m - t * n);
int y = 12 + 15 * D * (l * h * n + t * m);
int o = x + 80 * y;
int N = 8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n);
if (22 > y && y > 0 && x > 0 && 80 > x && D > z[o]) {
z[o] = D;
b[o] = ".,-~:;=!*#$@"[N > 0 ? N : 0];
}
}
}
printf("\x1b[H");
for (k = 0; k < 1761; k++) {
putchar(k % 80 ? b[k] : 10);
A += 0.00004;
B += 0.00002;
}
usleep(30000);
}
return 0;
}
效果一致。?
編譯過程都是:
g++ donut.cpp -o donut
生成文件大小:
arm→13.5 KB (13,856.00 字節)
x86→?16.0 KB (16,384 字節)
很多軟件都支持多平臺,但是類似如下:
這些都是x86案例,并不支持arm。
支持arm會單獨列出來。?
ARM 與 X86 的概述
X86 指 Intel 處理器家族,從 8086 開始,隨后發布 80186、80286、80386、80486、Pentium 和 Xeon 等。X86 中的 86 表示其早期處理器的最后 2 位數字。
ARM 最初由 ARM Holdings 以 Acorn RISC Machine 起家,開發了 ARM、ARM2 32 位處理器,其晶體管數量最少,功耗/散熱更低。 X86 主導臺式機、工作站、筆記本電腦和服務器市場,最初的芯片是 16 位,后來的版本是 32 位和 64 位。
ARM 在速度和長電池壽命方面超過了英特爾處理器。 與 Apple 和 VLSI 合作推出了一家新公司 Advanced RISC Machines。 ARM 處理器廣泛用于移動設備。
X86和ARM是占據CPU市場的兩大處理器,各有優劣。
它們可以在某些關鍵方面進行比較,例如它們采用的指令集、功耗、軟件和應用程序。
指令系統
ARM 處理器屬于精簡指令集計算 (RISC) 架構。
指令集架構 (ISA) 定義了處理指令、訪問內存、管理 IO 的方式,并將處理器與程序員連接起來以生成高效的代碼。
RISC 是同類中最新的一種,其中活動被拆分(簡化)為簡單指令,一條指令在一個時鐘周期內執行,數百萬條此類指令在一秒鐘內以更快的速度處理。
雖然它必須執行多條指令,但由于其強大的處理器和流水線,整體速度更高。
X86 處理器遵循復雜指令集計算 (CISC) 架構。
復雜的指令在多個時鐘周期中的單個步驟中處理。它使用可用內存在一個步驟中處理多條指令,更注重處理效率。
它使用更多的寄存器來完成多個任務,實現了高吞吐量和性能。
能量消耗
ARM 處理器一次執行一條指令,它需要較少的硬件。與其他處理器相比,該處理器使用的寄存器沒有更少。因此,它消耗的電量更少,使用該處理器的設備的電池壽命更長。它還產生較少的熱量。 ARM 使用更多內存來處理多條指令。即使使用 GPU 和其他外圍設備,它也會消耗 5W 的功率。
X86 處理器更注重性能和高吞吐量,它使用更多的寄存器來實現它。因此,這里的功耗和熱量產生更多。 Intel i7 是一款高端處理器,功耗為 130w。
ARM 處理器因其較低的功耗和較長的電池壽命而成為移動設備的首選,這對于為任何應用程序選擇 CPU 至關重要。
始終連接到可靠電源的設備無需擔心功耗,因此臺式機、筆記本電腦和服務器使用 X86 以提高效率,但代價是高功耗。
軟件
配備 ARM Process 的設備可在專為 ARM 開發的 Android 操作系統上運行。臺式機、筆記本電腦和服務器在為 X86 處理器開發的 Unix、Linux 和 Windows 等操作系統上運行。
一些接口軟件允許任何操作系統在任何設備上運行,但基于 ARM 的系統在為 X86 開發的某些操作系統中運行存在限制。
由于 ARM 的流行,微軟發布了新版本的 windows for ARM。
應用
處理器的選擇取決于計算機將用于的應用程序。對于 IOT 應用,ARM 處理器是正確的選擇,因為嵌入式系統需要連接到所有設備,而且它應該有點小。
如果某些應用需要具有成本節約動機的單板計算機,ARM 是最佳選擇。對于不需要特殊顯示器的節儉應用,ARM 是理想的選擇。需要強大平臺 X86 的應用程序是正確的選擇。
原文鏈接:https://blog.csdn.net/ZhangRelay/article/details/125813014
相關推薦
- 2022-08-14 Shell腳本實現監測文件變化的示例詳解_linux shell
- 2022-04-16 WPF創建Prism應用程序_實用技巧
- 2023-06-02 Hadoop部署的基礎設施操作詳解_服務器其它
- 2024-01-12 maven依賴沖突以及解決方法
- 2024-02-26 gitlab合并分支
- 2021-11-18 C#?利用VS編寫一個簡單的網游客戶端_C#教程
- 2022-10-12 Golang中panic的異常處理_Golang
- 2023-07-05 Spring Boot 啟動報錯 XXX\Tomcat\apache-tomcat-9.0.65\b
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支