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

作者: dogluckyno1   2021-09-19 08:10:34
原文標題:科學頻道分析《超級瑪利歐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 會出現,可能跟宇宙射線
有關。
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年之後,當初提供懸賞獎金的玩家,將瑪利歐的垂直座標參數,透過「位元翻轉」(bit
flip)從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
作者: zxasqw0246 (yoyo)   2021-09-19 08:13:00
都是宇宙射線搞的鬼
作者: dodomilk (豆豆奶)   2021-09-19 08:14:00
嗯嗯,跟我想的一樣
作者: Vulpix (Sebastian)   2021-09-19 08:22:00
這樣感覺上發生機率好像挺高的。
作者: Jerrybow (芝心披薩)   2021-09-19 08:27:00
DOTA_teabag XD
作者: barkingdog (創世截顱南宮毅)   2021-09-19 08:38:00
千空的火箭會裝偵測嗎
作者: xanxus27 (XANXUS)   2021-09-19 08:42:00
可能就不會吧 現行計畫根本沒返航計算的必要
作者: sayme449 (明朝朱皇帝)   2021-09-19 08:47:00
64的speedrun 不就扯到平行時空了
作者: waitu0526 (不可試探上帝)   2021-09-19 08:58:00
我還以為是煙卷呢
作者: ISNAKEI (上班好同事,下班不認識)   2021-09-19 09:00:00
……這是認真的嗎
作者: kashiwa27 (UDON)   2021-09-19 09:34:00
一定是4v搞的鬼
作者: brianhsu (墳墓)   2021-09-19 09:39:00
所以才會需要 ECC 記憶體啊
作者: KudanAkito (司令官 私がいるじゃない)   2021-09-19 10:18:00
宇宙規模的RTA手法
作者: jyunyong (Yong)   2021-09-19 10:23:00
蓋特線造成的進化現象
作者: s8018572 (好想睡覺)   2021-09-19 11:26:00
之前就是看到文中的那影片
作者: jay920314 (Jay_9696)   2021-09-19 11:26:00
你需要ecc
作者: s8018572 (好想睡覺)   2021-09-19 11:36:00
如果是大量的位元翻轉 ecc還有用嗎?
作者: spfy (spfy)   2021-09-19 11:46:00
看大量是多大量 如果是電影裡的那種大概沒用
作者: uA745 ( )   2021-09-19 12:05:00
等等...難道speedrun那些bug全是因為這個?
作者: kaj1983   2021-09-19 12:36:00
好神奇的原因

Links booklink

Contact Us: admin [ a t ] ucptt.com