※ 本文轉寄自 ptt.cc, 文章原始頁面
標題

Re: [請益] 同家NAS 為何出ARM架構與X86架構?

最新2024-03-03 18:43:00
留言69則留言,25人參與討論
推噓22 ( 22047 )
TL;DR 1. 硬體成本一定有差,苦命工程師只能想辦法支援 2. 軟體開發成本只有前期比較高,後面可以一直沿用 3. 況且很多都是開源的東西,不是單一廠商在做 4. 軟體開發非常講究可移植性,你認為的跨平台問題都不是問題 -- 硬體成本上絕對是有差才會有廠商做不同架構 不然開發成本一定比維護單一架構來的大 我不是做硬體的所以無法回答具體來說差多少 除了 CPU 晶片成本以外,還要考慮週邊晶片成本 ARM 晶片大多做成 SoC,它需要的晶片就比較少 x86 不是不能做,例如 AMD Ryzen 其實已經算是 SoC,但過去就比較少 所以廠商前面做好 ARM 支援,之後可以繼續用 再來 ARM 晶片比較好客製化,在嵌入式系統裡面這是非常重要的一點 例如要塞幾個核心、要做功耗大還是功耗小的架構 再諸如內建 NIC、USB、Storage (eMMC, SATA) 等 peripheral interface 以及各種 DSP、I2C、SPI、PCIE 所以它比較好做出"剛剛好"的規格,彈性比 x86 大 而這跟架構授權有關係,x86 你要客製化只能跟 Intel/AMD 談 ARM 就比較簡單,找個有能力有買授權的豬屎屋兜一兜就好 當然很少廠商真的去開案啦,一般都是買現成的方案 例如 RTK、MTK、BRCM、QCOM、安霸之類的 但一樣,ARM 市場就是比 x86 更多樣化 還有功耗,x86 功耗就是高,一樣 idle 就是 2W vs 10W (估計值),全負載差更多 當然 x86 可以提供更高的效能沒錯,所以中高階產品都是 x86 天下 那 ARM 效能就差嗎?倒也不是,Marvell 就有效能超高的 ARM 晶片可以買 但成本有沒有比 x86 低這就不好說 而且只要是高效能,功耗就討不到多少便宜 不要小看功耗,NAS/路由器等等嵌入式系統設計上來說是 24x7 運作的 全年累積下來電費很可觀外,功耗也會決定散熱設計 高效能散熱除了額外的成本,噪音控制對消費級產品也是重要的一環 -- 身為碼農還是要談一下軟體開發成本 首先原 po 的論述是「多個架構」的開發成本 但是沒有考慮「特定單一架構」的開發成本 舉例來說 ARM 的 boot loader 就遠比 x86 簡單 以及嵌入式系統很多根本不支援 ACPI 所以很多產品下指令關機卻不會自動斷電,只能提示使用者可以放心拔電源 再來這些架構的開發成本實際上也不會是系統廠來付 IC 原廠以及開源軟體、開源作業系統都幫你做好了 linux on ARM 早已十分成熟,除了作業系統外,各種軟體也早就登陸 ARM 例如 nginx (網頁伺服器)、mdadm (軟體 RAID) 都沒有問題 但還是有很多雷點就是了 像是各家 ARM 有各自的 SDK,SDK 綁 kernel version、綁 compiler 平常沒事就沒事,有事就會很頭痛 像是 BRCM 萬年 linux 2.6、5.2,甚至還有魔改 compiler 的 (為了 ABI 相容) 但這都還是 OS 的範疇,跟 application (幾乎)無關 一般公司會有專屬 FW team 處理這塊 application,也就是消費者實際上會碰到的 UI 介面與各式存取功能 這塊也早已支援跨平台已久 除了傳統 C/C++ multi-arch compiler 外,現今流行的 high-level programming language 也都有原生支援跨平台 例如 golang 原生支援多架構編譯,rust 透過 LLVM 跨平台編譯 python、nodejs 等 script 語言只要 runtime 支援就有 更棒的是這些跨平台都不用軟體商自己來,幾乎都是開源軟體不用錢 所以從 OS 之上之後的東西都幾乎不存在架構差異 很少數情況下會遇到跟架構有關的問題,例如最常見的是效能最佳化 不同平台可能會有不同做法,但遇到機會不大 再說了消費級 NAS 效能跟屎一樣,還不是很多人買 (?) 真有效能需求,x86 產品就在那邊等你買 甚至要談效能最佳化,一般也是 compiler 或 runtime 的事 幾乎輪不到 application 來做 這邊要講一件事情,不是說系統廠就都拿別人的不用錢 其實底層的東西各家還是會養人開發,然後貢獻 upstream 這是集合眾人智慧,全人類智慧結晶的開源社群 講的很好聽但有時候各家廠商還是會各懷鬼胎就是了 -- 最後,其實軟體業很講求 abstraction 與 encapsulation 這邊談的不是 OOP 裡的四原則,而是更上層的抽象概念 抽象與封裝具有的特性我拿三個出來談:安全性、易用性以及可移植性 舉例來, VM—這邊談的不是虛擬機,而是虛擬記憶體 virtual memory 它讓作業系統進入多工處理時代 不再讓軟體任意存取記憶體把作業系統打掛 (安全性) 才能開啟後面的分時多工處理,讓作業系統管理資源 相對的 user space software 也不再需要自行管理實體記憶體 (易用性) 再來高階程式語言本身就是對機器語言的封裝 例如工程師寫 a*b+c 他不需要知道在 x86 與 ARM 機器上要怎麼下組合語言 所以換個平台只要編譯器支援都可以跑,這就是可移植性 這些是 1970 年代(甚至更早)就開始有的概念 別忘了 Linux 與 C 開始的年代 x86 還不是主流 當年開發的平台不是 x86 也不是 ARM 所以跨平台支援本就不是新鮮事 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.234.248 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1709211194.A.31E.html

Re: 回文串

2269
> Re: [請益] 同家NAS 為何出ARM架構與X86架構?
PC_Shopping02/29 20:53

69 則留言

kikilalagirl, 1F
全年累積下來電費很可觀 +1220.143.192.71

jyhfang, 2F
ARM的花樣真的很多 啥鬼都有220.134.41.251

kuroshizu21, 3F
好文, 推一下114.37.221.210

saito2190, 4F
其實cross compile已經司空見慣了42.79.122.147

saito2190, 5F
除非你今天要編譯上古架構42.79.122.147

saito2190, 6F
例如HPPA PARISC...42.79.122.147

labbat, 7F
軟體編譯就外包給便宜的印度阿山完成180.177.2.153

roseritter, 8F
122.117.187.82

birdy590, 9F
嵌入式系統 cross compile 才是常態115.43.53.170

birdy590, 10F
最終的系統裡很可能連 compiler 都沒有115.43.53.170

s25g5d4, 11F
結果我在 ARM mac 上面開發,還真的不是49.216.234.248

s25g5d4, 12F
cross compile XD49.216.234.248

Cubelia, 13F
Rockchip就常被說支援不佳,空有好硬體1.173.160.5

Cubelia, 14F

Cubelia, 15F
一些Pi CM替代品review1.173.160.5

god145145, 16F
我以為高手都用python 慢就慢能動就好36.234.38.106

IhateOGC, 17F
開發人力成本等於0反正工程師是責任制118.231.129.65

IhateOGC, 18F
看誰比較倒楣接到沒利潤又麻煩的U118.231.129.65

Bencrie, 19F
最後那個是說 UNIX 吧,Linux 一開始就是114.34.235.107

Bencrie, 20F
i386 上面的東西114.34.235.107

s25g5d4, 21F
對欸 忘了49.216.234.248

birdy590, 22F
對岸的便宜 ARM SOC 沒有哪家支援好的115.43.53.170

birdy590, 23F
Rockchip 純用它的 CPU 可以, 需要顯示115.43.53.170

birdy590, 24F
或是播影片 還是乖乖用樹莓派吧115.43.53.170

birdy590, 25F
廠商大部份資源都放在 Android, 開發成115.43.53.170

birdy590, 26F
APP 是另一條路... Linux 會用到火大115.43.53.170

leolarrel, 27F
我以為ptt這邊滿滿年薪300的RD, 樓主的123.51.165.127

leolarrel, 28F
解釋沒有必要,結果看來是我錯了123.51.165.127

fmp1234, 29F
長姿勢37.19.205.234

laeva75, 30F
nas用arm也能做到高效能的話為何還要另42.76.62.221

laeva75, 31F
外搞x86呢?42.76.62.221

oppoR20, 32F
成本啊 你高效能arm成本不一定比x86便宜123.195.146.51

oppoR20, 33F
而且高效能有些宣傳點arm沒得用 像是虛123.195.146.51

oppoR20, 34F
擬機 大部分arm處理器的都沒辦法用123.195.146.51

denny0411, 35F
49.217.177.143

horb, 36F
因為雞蛋不能放在一個籃子上42.72.207.19

v86861062, 37F
推推1.200.151.131

hizuki, 38F
sysroot不一樣就是 cross199.33.119.15

righer, 39F
先針對2w vs 10w待機 8w的差距24小時去算125.224.94.76

swich45314, 57F
的cpu 只是這樣類比目前市面上最低價1.164.142.148

swich45314, 58F
的arm和x861.164.142.148

s25g5d4, 59F
??NAS 用的 x86 還不是焊在主機板上101.9.190.235

Cubelia, 60F
最近看最屌的是有B站有神人116.89.129.193

Cubelia, 61F
把OMV port到龍芯MIPS116.89.129.193

swich45314, 62F
nas的是 自架的不是 就像我說的nas賣114.136.17.195

swich45314, 63F
的是一條龍 軟硬體整合 自架有很多地114.136.17.195

swich45314, 64F
方可以調整 n100也是焊在板子上的 這114.136.17.195

swich45314, 65F
些成本都比較低但我懷疑壽命都會較自114.136.17.195

swich45314, 66F
架的低114.136.17.195

swich45314, 67F
但是自架的 要花時間自己搞定軟硬體114.136.17.195

swich45314, 68F
沒有相關知識的 乖乖買nas吧114.136.17.195

sank, 69F
36.227.199.73