PTT評價

Re: [情報] AMD宣布B450 X470將支援Zen 3

看板PC_Shopping標題Re: [情報] AMD宣布B450 X470將支援Zen 3作者
comipa
(綾崎若菜家御用)
時間推噓44 推:45 噓:1 →:50

※ 引述《cody880528 (CYPuzzle)》之銘言:

大家對刷BIOS (你看看UEFI喊了n年我們還是叫他BIOS)
這麼有興趣 就來稍微聊聊刷BIOS是怎麼個回事.

目前業界主要使用的是UEFI架構 太細我們不講
UEFI架構下 Firmware會有兩個最主要的區塊: PEI / DXE 這點在目前的主要
IBV(出BIOS firmware的廠商:AMI Insyde Phoenix)做法都差不多 除了Intel自家好像
會搞些奇奇怪怪的設計而把Firmware切得更奇怪一點. 然後再加上AMD的PSP/Intel的ME
以及用來存放設定的一些小區塊 總之大概是這樣:

SPI ROM (假設16M)
|---------------------------------------------------------------------------||----------------------------|-----|-------|------------------|-------------| ME/PSP NVRAM 不知三小 DXE PEI

以上廢話, 總之記得"每個區塊有一定的size"

總之BIOS大概就分成這些區域
那以這次AMD的設計我們可能會面對幾個問題
1.PSP因為多次向下相容造成肥大化
2.PEI/DXE也多次向下相容肥大化
3.設定項目改變

最基本的就是總容量的問題, 放不下就啥都不用講了. 所以勢必得放棄部分的向下相容
讓程式碼的總需求維持在16M

再來就是為了讓刷BIOS的時候不會一失敗就直接死透 通常的設計我們會是把最重要的
區塊最後處理 甚至是某些區域不更新 例如NVRAM跟那個不知三小 有時候是用來存放
一些設定跟板廠的一些初始資料 譬如你主機板的序號等等的東西 這些區塊我們更新
BIOS的時候是跳過的 然後通常因為PEI中會放置一些程式碼 當意外發生而讓DXE爛掉時
還能救回 所以有時候我們會跳過 或是等DXE部分刷完後驗證都正確才去刷PEI.
至於PSP,就是看AMD有沒有針對新CPU更新 有的話就需要一起刷掉.

所以我們可以把更新BIOS的流程大概看做這樣:
刷NVRAM和不知三小(or跳過)->刷DXE->刷PEI->刷PSP (好像啦 我也忘了)

好那麼問題來了 既然是分區分塊刷, 首先的問題就是 如果因為容量的關係工程師想調整區塊的size 那很抱歉 舊->新 這個狀況下我們還可以故意在新BIOS中加入一些程式碼來處理一些區塊size改變造成的問題 且此時就難以透過分區的方式來避免刷一半停電之類狀況造成需要做recovery自救.

存放在舊的NVRAM設定如果想保留, 也必須要額外處理, 或是就乾脆全刷掉.

但是新->舊的話以上都不可能 因為舊的BIOS肯定看不懂新的配置 唯一選擇是完全清除
所以降版最大的問題往往都在於 新的BIOS有方法可以看懂舊的BIOS的設定配置參數等
但反之不行, 改SPI rom的區塊就更不行.

最後就是有人手殘 明明用的是最舊的Zen1刷了不支援Zen1的新BIOS, GG.

所以通常此時廠商就直接不給降版了, 因為風險高, RMA會很累.
AMD要凹這些廠商願意去做這件事情 就得幫他們想出可行的辦法 像是怎麼讓更新過程更安全, 或是最佳化程式碼來盡量塞入能夠相容最多款CPU

至於用離線燒錄的方式 那當然是沒啥問題 反正都刷光光了
原廠會有方法保留他們想保留的東西 或甚至調出主板資料重新寫入 不過這就跟RMA一樣成本問題.

以上騙騙P幣

話說這種改版, 板卡廠的反應大概是:
engineer: 幹. 又要升code. 林老師A合完連compile都過不了, 出bug要搞到哪時候.
QA: 幹. 改版改成這樣連testplan都要改嗎.
PM: 快點啦人家雞排都出了我們石頭哪時候才要release.

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.162.153 (臺灣)
PTT 網址
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 08:30:22 ※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 08:30:43

chenszhanx 05/20 08:35那32MB rom應該能降?

總容量應該是ok 但是之前的分割塞不塞得下就難說. 假設當初PEI割太小了 新Agesa塞不下 那就糗了. SPI又不能像硬碟一樣來個Partition Magic不損失資料重新分割

ejsizmmy 05/20 08:36跟你說,不一定一定要存NVRAM

跟你說 UEFI的Variable主要就是放在NVRAM (SPI)

cz031300 05/20 08:36說明給推

sharkbay 05/20 08:36抓到!你是相關從業人員吧?

4der

tkhunter 05/20 08:39專業推

henry4621 05/20 09:01先推 免得別人以為我看不懂

LoveShibeInu05/20 09:01看gn接招 32mb也只是切成16+16 因為舊的U不能支援

LoveShibeInu05/20 09:0132mb

這我就不太清楚 但通常都是能支援大的啦 然後廠商因為成本因素硬要塞進小的

zone0016 05/20 09:02聽不懂下一位

jim924211 05/20 09:06先推,我絕不是看不懂喔

skycat2216 05/20 09:07那能把一部分的程式碼存進EMCP之類的地方,由晶片

skycat2216 05/20 09:07組負責開機嗎?

不行,SOC/CPU能從哪裡開機是看晶片組的支援 x86幾乎都得要來一顆SPI. 不過Intel有搞過一顆小容量SPI然後剩下的部分放在eMMC的方案給低價平板使用 後來好像還是沒啥人玩(話說Intel平板幾乎=0..) 但eMMC/Flash啥的也要錢啊. 本來DT/NB就沒相關設計又硬要多搞一個上去 更貴吧 不如把SPI加大.

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:27:18 ※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:31:16

tomsawyer 05/20 09:29(舉手 如果有雞排的dual bios484就可以一次刷乾淨?

其實全刷本來就不是問題 問題發生在 1.想保留部分舊的資料/設定參數 2.萬一刷一半出包時救援方案 dual bios比較有能力解決的是#2. 但就算dual bios應該也是要面對退版問題

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:38:58

waiter337 05/20 09:48我都把bios存在硬碟

waiter337 05/20 09:49ㄟㄟㄟ 你們幹嘛架住我 ㄟㄟㄟ~~~~ㄟ 聲音逐漸變小

HDD沒接連BIOS都進不了啦啦啦..

ejsizmmy 05/20 10:14謝謝你看了我的留言,我想給個反饋,有個東西叫BB

ejsizmmy 05/20 10:15雖然現在都是NVRAM了沒錯啦

BB? 我想到的是boot block 這是傳統說法 相當於UEFI架構下的PEI 跟存設定沒啥關係. 還是你說的是BB霜 這我就不太熟.

terry12369 05/20 10:16專業推

MrDisgrace 05/20 10:23basic input output system 沒錯啊XD 只是不basic了

Black Infinite Orbit Stream!! 我覺得這個比較中二!!

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 10:46:31

raphael0811 05/20 10:40專業 推

goldie 05/20 10:42巷子內仔推

goldie 05/20 10:43推最後一段板廠反應XD

henry46277 05/20 11:16推 專業

Aquarius126 05/20 11:41不能出2個版本的bios嗎,一個支援1-2代,另一個支援

Aquarius126 05/20 11:412-3代? 0.0

engineer/QA: 求放過...

littlefish1 05/20 11:45有些板子有雙bios

littlefish1 05/20 11:45那能不能做一個選配插槽

littlefish1 05/20 11:45讓消費者自己裝 像微動那樣

littlefish1 05/20 11:45也不用刷 直接買來插

理論上可以 但那也只有有這種設計的板子可以 AMD現在掛這個保證意思就是要讓所有的B450/X470都可以

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 11:53:05

sharkbay 05/20 11:51@littlefish1 別啊 ROM裝反會燒掉啊

Server用的大顆SPI還蠻耐的XD 插反兩三次還活著 NB/DT的上次插反就直接焦掉了..

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 11:54:22

CARLORFFLIN 05/20 11:56工程師應該很懷念Intel板子?都直接換腳位哪來這些

sharkbay 05/20 11:57@Aquarius126 別被SW的人聽到 會氣死

CARLORFFLIN 05/20 11:58雞雞歪歪的相容,用戶一片吃三代還不滿足還影響銷量

sharkbay 05/20 11:59最好乖乖去買離線燒錄器來燒 最保險

waiter337 05/20 12:01認真問 這可以叫做 真˙魔改了八

ejsizmmy 05/20 12:08所以我已經跟你說了阿, BB...欸,我的留言有這麼不

ejsizmmy 05/20 12:08明確嗎?

ejsizmmy 05/20 12:09還有,我跟你說,現在一樣有放在BB的喔,要放哪裡

ejsizmmy 05/20 12:09只是一個選擇而已

BB肯定是縮寫阿 我不清楚你的BB是什麼東西的縮寫 所以我也答不出來 抱歉嘍

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 12:10:48

ejsizmmy 05/20 12:12喔,還是說你們家的都只放NVRAM?

ejsizmmy 05/20 12:13是沒錯啦,那東西叫NVRAM VARIABLE....

ejsizmmy 05/20 12:14「恩對啦,我上面就說得是BB霜,絕對不是指BOOT B

ejsizmmy 05/20 12:14LOCK喔」

ejsizmmy 05/20 12:15你要我這樣回答才開心嗎?QQ

因為google BB看到最多的就BB霜阿BB美白啥的 我自己是遇過額外放EEPROM的啦, 但很少就是 至於BB我就真的不清楚你指的是啥

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 12:20:02

k0300474854905/20 12:20有懂有推 長姿勢

ejsizmmy 05/20 12:22好啦不鬧你了我講的就是boot block

ejsizmmy 05/20 12:23boot block目前還是存在的,只是可能就是你說的變

ejsizmmy 05/20 12:23成pei了?

是阿 變成PEI很久了 或稱FV_BB 這稱呼從Legacy non-efi bios來的 很多廠商 還是習慣這麼叫

sharkbay 05/20 12:23I(O)BB (Initial/OEM Boot Block) 還有OBB喔

AMD表示:不要分這麼細 我們PSP沒這麼複雜 XD

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 12:27:59

sharkbay 05/20 12:25通常會扯到 IBB/OBB, 大概是搞BtG/CBnT的人才

sharkbay 05/20 12:28CBnT : Converged Boot Guard and TXT 補縮寫

今年很多客戶吵著一定要上了 engineer表示:好煩

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 12:29:28

alpha17 05/20 12:29HW RD表示:自己買個flash燒錄器,線接好就隨便燒囉

sharkbay 05/20 12:32@alpha17 然後線路接錯燒東西 又要RMA了

ejsizmmy 05/20 12:34最怕蜂鳴器突然安靜....最怕顧客突然的安靜...

ejsizmmy 05/20 12:35最怕電路突然翻攪著不平息...

commandoEX 05/20 12:45我在想為何不把DIY板上OEM CPU支援砍一砍空間就騰出

commandoEX 05/20 12:46來了,每次看CPU支援列表一長串其實都買不到

ejsizmmy 05/20 12:53沒哦,樓上,cpu的支援度主要是依據步進去看得,只

ejsizmmy 05/20 12:53要同步進基本都一起支援,不會因為某些拿掉了這就

ejsizmmy 05/20 12:53瘦下來

ejsizmmy 05/20 12:54我講的很粗,其實很多變因在裏面

sharkbay 05/20 12:56@commandoEX 你會覺得9900K跟9900的BIOS不一樣嗎?

sharkbay 05/20 12:58SW看起來就是一樣的東西 支援列表就要是列 QA就要

sharkbay 05/20 12:58是驗 使用者就是要問 沒辦法啊

ccbbaa 05/20 13:12以前有些主板還有主打雙bios的 讓你猛刷@@

ejsizmmy 05/20 13:19某場最強了,直接能用usb不進bios刷

ejsizmmy 05/20 13:19我絕對不會說是微星

其實免CPU/不需要進BIOS就能刷BIOS 這個功能以減少RMA來說倒是相當有用的 我覺得人人都應該要(ry) 但這功能也變相又多了一個安全性上的突破點 還需要一些額外的考量 不過如果我們回到升降板的問題來看的話 不管你用哪種手段 都刷光光其實一直都是最 乾淨的方式 可惜升降板會卡到的問題 多半就是當你不被允許都刷光光的時候 所得要面對的東西

※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 13:25:59

sharkbay 05/20 13:24結果現在市面上也沒有大流行 存在就是正義

sharkbay 05/20 13:24不好用 或是 成本太高 自然就被淘汰

Doub1eK 05/20 13:37嗯嗯 跟我想的一樣

Windcws9Z 05/20 13:39技嘉也沒有雙BIOS惹?

ctes940008 05/20 14:00怕,看來雙BIOS也不能降版

alpha17 05/20 14:09@ejsizmmy 大小石頭的flashback跟技嘉的q flash都可

alpha17 05/20 14:09以用USB做到不進BIOS更新啦,只是通常是高階板才有

ketrobo 05/20 14:40如果免CPU就能降版,這次為什麼要特別強調無法降版

ketrobo 05/20 14:40?

sdbb 05/20 15:10降版後變回只能用舊版cpu,不能用新版cpu

sdbb 05/20 15:12若降版後,手上已無zen1 zen2怎麼辦?

sdbb 05/20 15:12不給降版,算防呆吧

sdbb 05/20 15:13降版後,裝上新cpu不能用,除非手上有留舊的

sdbb 05/20 15:16如果把flash拆下來直接刷,就隨便啦

friedpig 05/20 15:17flashback是石頭最早吧 小星星算很後面才有的

sdbb 05/20 15:18flashback最早的是macross

HMKRL 05/20 17:07推解說 很多人都以為走軟體刷跟接燒錄器一樣XD

StarHero 05/20 17:23我都把BIOS幹下來硬刷~

ejsizmmy 05/20 18:45我剛特別去找了MACROSS...還真的有

Sswatt 05/20 19:10並不是所有的 B450 X470 都會支援

ltyintw 05/20 21:15為什麼bios rom不能隨意更換不同大小的flash rom呢

skycat2216 05/20 21:25也就是說如果晶片組支援還是能這樣做對吧?

skycat2216 05/20 21:25說到intel平板,我曾經在我家附近的回收場看到Clov

skycat2216 05/20 21:25erland的開發機

ejsizmmy 05/20 21:30不能換其實不是不能換,是因BIOS大小是固定的

沒錯 比喻來說 就像你換了大容量的HDD/SSD 如果舊資料要直接轉過去 484其實還是要重新分割? 不然多出來的空間根本沒用到 而且BIOS很多東西是直接用位址去存取的 改空間規劃等於所有用到這種位址的東西 可能都得改 事情就麻煩多了

laputab 05/20 23:53感謝這麼有營養的文章

a951l753vin 05/21 01:41PM:客戶需求,開始動作!

RaiGend0519 05/21 02:17好文推

※ 編輯: comipa (220.133.98.140 臺灣), 05/21/2020 06:13:03

ry3298 05/21 21:42