作者snaketsai (さいでんし)
看板Soft_Job
標題Re: [討論] 好,台灣碼盲,碼農低薪,然後呢?
時間Tue Dec 31 19:32:54 2019
: 至於所謂的 open source 讓碼農容易跳槽,姑且不論這是不是事實,但獲得
: 這種「能夠自由選擇主人的權利」,這算是什麼偉大的成就...
: 更何況,個人手上沒有工具,阻礙了誰進入硬體業了嗎?他們不容易跳槽?
: 沒辦法擴大產業大餅?拜託到 Tech_Job 多看看吧,哪有這回事啊,他們到
: 這幾年才在搞 open hardware, 但也不是免費的。
很多年前拜讀過小明大大的很多事蹟,以及在ptt的文章
剛好近期在小IC公司上班
年底請了彈休比較有時間胡思亂想、開始有些感觸
所以想來拋磚引玉看要不要大家來開講
本文依舊以泛CS領域的視角來切入
其中的話題主軸是這一兩年中,有個年紀相對輕、卻有點話題性的CPU架構
它叫做:「RISC-V」
一提到這個,我知道各位一定會有很多想法出現
其中一些關鍵字,如「貿易戰」、「自主矽智財」.....等等算是如影隨形
也有很多非技術考量、成本層面的有趣話題可以聊
但是既然今天在Soft_Job上面,本文還是聚焦在工程技術,與成本層面來探討
並且替小明大大的「開源滅產業」話題做一個延續
RISC-V大張旗鼓的一個賣點就是CPU ISA的開放,
實做它的指令集可以不用專利金
tapeout再多顆,RISC-V基金會都沒錢可抽
也可以使用port好又開源免錢的SW stack,e.g. toolchain、OS、firmware、
bootloader......
然而在以前
CPU設計並不是一件簡單的事情,可說有天險阻攔
各位可能都在大學修過計算機組織/架構
寫過verilog/VHDL、刻過一顆很小很小的MIPS(-subset)處理器
但是我想應該不會有人覺得修完之後就可以爆打MIPS、ARM
多數人的心得普遍會是:幹,我不想走硬體
另外一個很大的限制是,設計CPU時要用的FPGA,其toolchain與硬體往往
都是天價商業軟體與硬體
但這些造就知識與資源寡佔的高牆,正在慢慢地傾頹
我個人覺得,這會是小明大大所提及,中小套件軟體業被開源前浪滅頂後;
二三線、小型MCU IC設計公司,被RISC-V帶來的開源後浪捲走的開端
因為現在的開發比真的以前容易非常、非常多
如果你預算只夠買一塊板子就要能夠開發,
- Lattice的ECP5-Versa只要台幣七千多塊[1]
- 從合成、布局繞線到產生bitstream和燒錄,
都有完全開放原始碼工具鍊[2]
- 合上去的那顆SoC,peripheral是用Python寫的、核心CPU是用Scala寫的
而且,他可以跑一個完整功能的Linux[3]
這在過去是很難以想像的一個局面
你不再需要一張十來萬的板子,
你不再需要付費、授權的EDA工具,
你不再需要懂verilog、VHDL等等硬體描述語言
你只需要餘額有一萬塊的visa金融卡,
git clone、make
然後你就搭建好了一個可以進行RISC-V + Linux的軟硬體整合開發環境
而且我真的看到有小公司從Cotex-M 0/1/3跳船去用上面這套組合
有沒有缺點?當然是有
- 那顆RISC-V它的A extension(原子操作)沒做完。
但是最重要的LR/SC做了,其他Atomic Memory Instrucion可以模擬
- 開源peripheral效能很差。
但是夠用了,而且他有PCIe、Ethernet、SD卡、framebuffer
還帶Linux driver port,
有些二三線CPU IP公司送的搞不好還沒有這麼完整
- Wishbone是個很過時的bus設計,時脈拉不上去。
會換的真的不care這個
最重要的就是那句
會換的真的不care。
我們都希望客戶能在意、善用那些增強的功能,然後掏出白花花的錢;
但是客戶也是很精的,當他們發現免費午餐其實不難吃(或著變得可以吃)時,
就是市場掉入紅海大洗牌的時候了。
[1]
http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/ECP5VersaDevelopmentKit.aspx
[2]
https://symbiflow.github.io/
[3]
https://github.com/litex-hub/linux-on-litex-vexriscv
==為讓大家有共同討論的基礎背景,尾巴來點科普,熟悉的跳過吧==
RISC-V本質上只是個ISA (指令集架構) 的規範,由基金會統籌主導
規範上分兩部份:
一部分是非特權指令集方面,其中主要包含——
* 必要的 整數(I)指令
* 可選的 乘除法(M)、短指令(C)、原子性操作(A)、單/雙精度浮點(F/D)
- 近期才(吵出)來的記憶體/快取同步問題的Zifencei
另外一方面則是因為有作業系統的存在,所需要的特權指令集
規範了如:
虛擬記憶體的規則,轉換到實體位置的轉換演算法
有哪些狀態暫存器、例外處理的機制......等等
任何推進規範裡面的東西,都必須沒有專利阻擋、
或移交相關專利給RISC-V foundation
以便讓實做出RISC-V規範相容的處理器,沒有任何法律相關的問題
然而
RISC-V基金會盡量不規範平台相依的問題。
例如,TLB miss的refill要打exception給OS/firmware處理;
還是給硬體page table walker去回填?
你cache要VIVT、VIPT還是PIPT?
RISC-V基金會:「這些都平台自己決定,我不管」
也因此有很多東西其實是de facto的實做決定
像是誕生出RISC-V基金會的柏克萊大學架構實驗室(UCB-BAR),
有開放其實做,Rocket Chip,在TLB refill上面就是硬體做掉、
在L1$上面用VIPT
結尾的takeaway:
RISC-V開源是開源在規範上,實做有開源也有商業
有很多東西其實在實做上會有差異,並且會穿透到軟體的porting上面
因為開發成本與難度大幅降低,沒有特色的可能會被洗出場外
--
Linux is the bone of my world.
Kernel is mybody, and initramfs is myblood,
have created over a thousand Distros.
Unknown to impossibility.
Nor known to limitation.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.177.2 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1577791982.A.CA8.html
1F:推 Eos: 寫得好 但這版的版友應該偏向更軟 不知會有多少共鳴 12/31 19:53
2F:推 atpx: U質好文, 我純軟但也看得懂一點點, 不推不行 12/31 20:05
3F:推 Neistpoint: 開源是好事, RISC-V和免費是兩件事 12/31 20:08
4F:→ Neistpoint: 以後買有RISCV的晶片記得問是誰做的 12/31 20:09
5F:推 easyman: 請問一下,Andes有賺頭嗎?靠賣extension?賣service? 12/31 20:15
6F:推 decheng: 推~ 請問大大為何超人公司賣的板子這麼貴呀~ 有人會買嗎? 12/31 20:44
7F:推 oopFoo: 好文,大推。RISCV就像當年的Linux,越來越多人匯集在這 12/31 21:16
8F:→ MOONY135: 我給你個M假裝我看的懂 12/31 21:32
9F:推 Eric0605: 推 12/31 21:33
10F:推 freef1y3: 該跳槽SiFive了嗎 12/31 21:34
11F:推 sxy67230: 我還是贊成開源,開源其實就是提高產業的競爭力 12/31 21:44
12F:→ bcew: 我覺得就tapeout ic需要的人力物力,arm或其他處理器的授權 12/31 22:13
13F:→ bcew: 金真的不貴,也想不出需要risc-v的新創運用,所以應該只是在 12/31 22:13
14F:→ bcew: 學界發展而已,硬體要更新的成本太高,所以態度會比較保守。 12/31 22:13
15F:→ hass231470: 這版以純軟工為主 少Product Mgr 12/31 22:38
16F:推 steven11329: 或許rpi5可以考慮那這個來試水溫 12/31 23:11
17F:推 Handsomeshen: 寫verilog 真的都寫到很幹QQ 01/01 00:09
18F:推 bab7171: 推 簡單易懂 01/01 08:07
19F:→ superpandal: 也就是這種單位才開源不手軟 良心 個人單位還是算了 01/01 08:50
20F:→ superpandal: 吧 先有資源再開源才是坐大正途 01/01 08:50
21F:→ superpandal: 全民開源 資源肯定最後會落到少數人手裡 01/01 08:53
22F:→ superpandal: 現今有那麼好協議的開源不多了 hahaha 01/01 08:57
23F:推 GGFACE: 嗯嗯跟我想的一樣 01/01 09:08
24F:→ superpandal: 開源很多時候是好事 但動不動就叫人開源 虎狼之心 01/01 09:08
25F:→ superpandal: 社會工程派工程師在這社會實在佔了太大的便宜 01/01 09:16
26F:噓 u5710587: 拜託 數位ic工程師根本不算什麼 你會寫verilog就可以 01/01 09:38
27F:→ u5710587: 混飯吃一輩子了 這跟軟體工程師有什麼兩樣 沒價值 01/01 09:38
28F:→ u5710587: 需要學什麼東西嗎 噗哧 講的好像硬體開源你就會有什麼 01/01 09:38
29F:→ u5710587: 危機一樣 數位ic工程師一直以來就跟軟體工程師是免洗 01/01 09:40
30F:→ u5710587: 的阿 有改變過嗎 拜託 你今天開源阿 一些關鍵零組件 01/01 09:41
31F:→ u5710587: 比方說RF元件或者是類比元件還是沒辦法開源 這方面 01/01 09:41
32F:→ u5710587: 需要的專業太多了 那都是需要類比ic工程師一手一手 01/01 09:43
33F:→ u5710587: 去打造出來 這才叫有價值的產業 數位ic本來就沒有 01/01 09:43
34F:→ u5710587: 進入門檻了 講的好像你多有專業價值一樣 01/01 09:44
35F:→ u5710587: 跟你說啦 數位ic是資工系都可以來幹的工作 01/01 09:44
36F:→ u5710587: 寫寫verilog一狗票資工的來幹都很easy啦 01/01 09:45
37F:→ u5710587: 搞不好都可以屌打你電機本科出身的 01/01 09:45
38F:→ u5710587: 電子學學不好只能幹數位ic工程師 還在吹自己有什麼專業 01/01 09:45
39F:→ u5710587: 會什麼紅海 拜託 本來就紅海 資工都可以來搶你的工作 01/01 09:46
40F:→ superpandal: 樓上噴樓主? 憑良心而論有無開源當然有差 你可以叫 01/01 09:49
41F:→ superpandal: 大廠不要授權 hahaha 01/01 09:50
42F:→ superpandal: 看來已經有人想要自幹架構了 支持 01/01 09:51
43F:→ superpandal: 樓主電機? 我爬一下文 01/01 09:55
44F:推 final01: 說真的你老是說小公司~其實risv-v還要要大公司來玩~ 01/01 09:56
45F:→ final01: 不過現在基本大公司都有部門再用這是真的 01/01 09:57
46F:→ superpandal: 看來是了 不過既然開源了不管大小公司都可以弄了 這 01/01 10:03
47F:→ superpandal: 沒毛病 01/01 10:03
48F:→ superpandal: 開源後他人修改可以閉源是利多 個人單位開源是傻 01/01 10:22
49F:→ alongalone: 開源都有個問題. it is free if your time is free .. 01/01 10:53
50F:→ alongalone: 有問題找人支援的時候而自己又修不動的時候?怎麼辦 01/01 10:53
51F:→ superpandal: 那麼多協議你可以找一個適合你的 沒時間用閉源讓原廠 01/01 11:07
52F:→ superpandal: 幫你 或者靠迭代生存的開源原廠 01/01 11:08
53F:→ superpandal: 你不想自己來那只能資助別人 靠自己來想壯大就得考慮 01/01 11:09
54F:→ superpandal: 是否閉源問題 01/01 11:09
55F:→ superpandal: 原本是開源但可讓人選擇開源還是閉源基本上是無私的 01/01 11:17
56F:→ superpandal: 不論哪種協議肯定是計較過才會選 沒有蠢人不是嗎 倒 01/01 11:26
57F:→ superpandal: 是一些人把別人當蠢人 01/01 11:26
58F:→ labbat: 弱若問x86 compatible 很多現成的工具軟體沒risc-v編譯 01/01 13:20
59F:推 expiate: 笑死,寫verilog跟寫C,Java完全不一樣好不好。某u真是丟 01/01 14:48
60F:→ expiate: 人現眼加好笑。之前有個資工寫verilog當c寫被當到死 01/01 14:49
61F:→ LinuxKernel: 這邊前端後端板啦 建議po去隔壁板 01/01 15:39
62F:→ bluesapphire: 身邊很多東西其實都變成 risc v 了.. 01/01 17:33
63F:→ codehard: 穩定才是重點 拿開源軟體沒問題 但是有奇奇怪怪的Bug誰 01/01 18:32
64F:→ codehard: 要解 光重製狀況就搞死人了 運氣好有大神解 運氣不好永 01/01 18:32
65F:→ codehard: 遠也找不到人解 那東西要怎麼賣 做生意要依靠神跡這生意 01/01 18:32
66F:→ codehard: 也別做了 花點小錢給人賺 他會負責搞定 也不用自己養工 01/01 18:33
67F:→ codehard: 程師 有什麼不好 省小錢花大錢 01/01 18:33
68F:→ superpandal: 我用的都很穩定阿 hahaha java有開源閉源 php開源 01/01 19:23
69F:→ superpandal: python開源 go開源 http server眾多都開源 01/01 19:24
70F:→ superpandal: 開源其實已經深入生活了 你的應用不開源我覺得沒問題 01/01 19:25
71F:→ superpandal: 基本上息息相關了 給人可以 簽約要簽好 01/01 19:28
72F:→ superpandal: 再整整 之後就可以自動了 hahaha 01/01 19:36
73F:推 twicm: 碼農投入RiscV 相關供應鏈鍊主要是看你能提供多少價值 01/01 19:37
74F:→ twicm: 用的人多機會也多是必然的, RiscV這邊開源的層面有很多種 01/01 19:39
75F:→ twicm: 用ISA不用錢, 這對有能力自己做CPU但是捨不得架構授權的人 01/01 19:40
76F:→ twicm: 是省了一筆錢, 不過這塊跟碼農好像無關 01/01 19:41
77F:→ twicm: 再來是有人開源它的微架構, 這跟碼農有關嗎? 好像也沒有 01/01 19:44
78F:→ twicm: 碼農的確是多了一些工作機會, 但是仔細想想, 你跟在原來的 01/01 19:47
79F:→ twicm: 生態系統工作以何不同? 可以創造的價值有變多嗎? 01/01 19:48
80F:→ twicm: 要說的出來才有機會發大財 01/01 19:48
81F:→ superpandal: 碼農? hahaha 真新穎 投入riscv都變成碼農了 一堆大 01/01 20:10
82F:→ superpandal: 公司要哭摟 01/01 20:10
83F:→ superpandal: 有何不同? 當然是高效的多 自動化不高效就沒存在價 01/01 20:13
84F:→ superpandal: 值 01/01 20:13
85F:→ superpandal: 價值還不只是創造 這樣想感覺還是在以前的思維 01/01 20:16
86F:推 brianhsu: 覺得 RISCV 是好事樂見其成,感覺很有趣 01/02 07:55
87F:→ InvincibleK: 鬼島慣老闆:我不樂見!任何員工的東西都是公司的私有 01/02 09:20
88F:→ InvincibleK: 財產,到底誰準許碼農奴工們這樣做事的?全都吉起來! 01/02 09:21
89F:推 danny0108: 某樓u開頭的一定沒寫過「堪用」的RTL code才會說數位i 01/04 20:04
90F:→ danny0108: c設計沒有專業門檻,你今天要用硬體實作出一個演算法 01/04 20:04
91F:→ danny0108: ,但是根本連能夠合成的code都不會寫,試問你這到底哪 01/04 20:04
92F:→ danny0108: 裡跟軟體一樣?完全就是不同的考量,即便你寫的RTL co 01/04 20:04
93F:→ danny0108: de能夠合成,那再來呢?timing夠快嗎?area夠小嗎?有 01/04 20:04
94F:→ danny0108: 辦法做low power嗎?再來就是各種數位訊號處理架構設 01/04 20:04
95F:→ danny0108: 計或是數位通訊架構設計的知識,我就問你資工系如果完 01/04 20:04
96F:→ danny0108: 全沒碰過,是能寫出什麼幹東西? 01/04 20:04
97F:→ danny0108: 補充一下,沒有要戰系,純粹闡述不同領域的人應該互相 01/04 20:05
98F:→ danny0108: 尊重,不需要互相輕視對方的專業 01/04 20:05
99F:推 b160160: 推 01/05 13:36
100F:推 cucugo: 推d大 01/11 11:23
101F:推 KAOKAOKAO: A沒準備好的Linux 你敢用嗎...... 01/16 10:24