PTT推薦

[閒聊] 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?

看板C_Chat標題[閒聊] 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?作者
dogluckyno1
(lucky)
時間推噓17 推:17 噓:0 →:3

原文標題:科學頻道分析《超級瑪利歐64》上古 Bug 出現原因 都是宇宙射線搞得鬼?

原文網址:https://game.udn.com/game/story/122089/5753656

遊戲角落 KYLAT

https://uc.udn.com.tw/photo/2021/09/17/0/13894270.png

圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?

當電腦時好時壞,一般來說玩家直覺反應並不會想到是「宇宙射線」在作怪,但其實系統本身異常、硬體故障等狀況都排除,還是找不到問題的話,就有機會是來自外太空的宇宙射線在搞鬼。近期就有人分析《超級瑪利歐64》的上古級 Bug 會出現,可能跟宇宙射線有關。

YouTuber「Veritasium」最近分享一段影片,仔細分析宇宙射線會帶來的技術問題。其中美國太空總署噴氣推進實驗室的輻射效應工程師 Leif Scheick 博士,就證實這個射線確實可能影響地球上的電子設備,造成當機等問題。

https://youtu.be/AaZ_RSt0KP8

沒想到不只會讓電腦當機,竟然還成了《超級瑪利歐64》發生神奇 Bug 的推手?

回到2013年,Speedrun 玩家「DOTA_Teabag」在挑戰《超級瑪利歐64》的「Tick Tock
Clock」關卡,意外讓瑪利歐像裝了彈簧似的,飛到地圖上層。離奇的事件讓人爭相復刻,甚至有人懸賞1,000美元給能夠重現 Bug 的玩家,結果沒人能辦到,讓疑惑懸而未解6年。

《超級瑪利歐64》離奇 Bug 片段

https://youtu.be/bhBf5crp0i8

6年之後,當初提供懸賞獎金的玩家,將瑪利歐的垂直座標參數,透過「位元翻轉」(bitflip)從1調整到0,結果順利再現2013年的 Bug。這樣的操作手法,或許就能牽扯出「宇宙射線」的影響。

Intel 在1978年也曾經遭過類似的自發性位元翻轉問題。因為當時半導體製造廠就設立在美國猶他州綠河鎮「鈾礦採集場」的下游,讓他們發現旗下的 16KB DRAM 陶瓷外殼的部分暴露在輻射之下。

這系列的 Intel DRAM 就是透過1和0的二進位制進行編碼,而編碼本身則是由「半導體阱」內所儲存的電子存在與否來決定的。他們發現了 DRAM 外殼上只要出現了微量的鈾和釷,就會因為 α 粒子進入了晶片內部而造成翻轉的現象,而同樣的粒子也存在於宇宙射線當中。這些粒子會直接穿過矽,產生「電子電洞對」(electron hole pairs)的現象,並解放電荷載體,在半導體阱造成電子的堆積,進而導致位元參數從1轉換0。這個現象被稱為「單粒子翻轉」(Single Event Upset,SEU)。

經過後續測試,顯示暴露在「α 粒子」之下與「單粒子翻轉」現象確實存在著直接的關
聯。在那之後,半導體製造流程也特別對此應對,藉此防止陶瓷外殼影響到晶片的功能。

製程改變意味著現在電腦晶片不太可能因為外殼暴露到輻射而產生「單粒子翻轉」的現象,但即使機率微乎其微,宇宙射線仍然有機會能夠與電子設備產生一些出乎意料的互動。加上半導體晶片尺寸近年來有越縮越小的趨勢,大幅提高晶片因為「α 粒子」造成位元
翻轉現象的可能性。

簡單來說,或許就是因為宇宙射線讓 DOTA_Teabag 當初操作的設備產生單粒子翻轉,致使位元參數從1轉換到0,才觸發《超級瑪利歐64》遊玩過程的離奇畫面。

「單粒子翻轉」不只會影響個人電腦,也會讓飛機的自動駕駛模式出問題。一架於2008年從新加坡飛往澳洲珀斯就曾遭遇過此現象,導致高度訊息出現錯誤,讓飛機快速俯衝。在20秒內下墜200公尺,乘客因此被拋飛座椅,導致多人受傷。此後所有飛機、火箭以及太空探測器的晶片都加入針對「單粒子翻轉」現象的保護措施。

即使許多航太相關科技近年來都針對宇宙射線添加層層保護,但一般民眾使用的電腦設備還是有可能受到這個天文現象的影響。

參考原文:https://bit.ly/3ApCsdN

https://www.pcgamer.com/uk/cosmic-rays-cause-tech-bit-flips-blue-screen-of-
death/#comment-jump


--
清廉正直射命丸文,世界第一可愛
https://i.imgur.com/XqOptr2.jpg

圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?
https://i.imgur.com/zGCOdHq.jpg
圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?
https://i.imgur.com/SJR03hx.jpg
圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?
https://i.imgur.com/nUbq2HQ.jpg
圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?
https://i.imgur.com/0yn2DP5.jpg
圖 超級瑪利歐64上古Bug原因 宇宙射線搞得鬼?

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.215.153 (臺灣)
PTT 網址

zxasqw024609/19 08:13都是宇宙射線搞的鬼

dodomilk09/19 08:14嗯嗯,跟我想的一樣

Vulpix09/19 08:22這樣感覺上發生機率好像挺高的。

Jerrybow09/19 08:27DOTA_teabag XD

barkingdog09/19 08:38千空的火箭會裝偵測嗎

xanxus2709/19 08:42可能就不會吧 現行計畫根本沒返航計算的必要

sayme44909/19 08:4764的speedrun 不就扯到平行時空了

waitu052609/19 08:58我還以為是煙卷呢

ISNAKEI09/19 09:00……這是認真的嗎

kashiwa2709/19 09:34一定是4v搞的鬼

brianhsu09/19 09:39所以才會需要 ECC 記憶體啊

KudanAkito09/19 10:18宇宙規模的RTA手法

jyunyong09/19 10:23蓋特線造成的進化現象

s801857209/19 11:26之前就是看到文中的那影片

jay92031409/19 11:26你需要ecc

s801857209/19 11:36如果是大量的位元翻轉 ecc還有用嗎?

spfy09/19 11:46看大量是多大量 如果是電影裡的那種大概沒用

uA74509/19 12:05等等...難道speedrun那些bug全是因為這個?

kaj198309/19 12:36好神奇的原因

HMKRL09/19 15:01伺服器都用ECC不是沒原因的