紅白機的機能是什麼限制的?
我是計算機外行,只大概知道一些科普知識,例如紅白機背景只能有一層,同屏活動色塊不能超過幾個之類的,但是現在計算機都是圖靈機,圖靈機的原理不是說不考慮時間的話,再慢的機器都可以完成最複雜運算,也就是說理論上FC甚至可以跑PS4遊戲,跑一幀也許要十年。
但是好像FC的遊戲就完全不能突破背景,活動塊之類的限制,3D圖形甚至連最簡單的也不能做到,請問這是為什麼?
紅白機大多數遊戲使用C、彙編來完成的,類似單片機的開發。假如紅白機上面需要運行一個遊戲,那麼這個遊戲就要佔用一定資源,於是:
一個點數據佔用數Bit內存,那麼紅白機運行內存裡面可能有數百到數萬個這些數據,這些數據會拼裝成各種點陣文字、圖片,可能要佔用2KB-4KB的運行內存,而紅白機也就這麼點(早期的紅白機只有數KB,後來有數十KB)運行內存。再複雜的遊戲是無法裝下的。3D遊戲一個頂點處理佔用的資源,紅白機是完全受不了的。
再到處理器,紅白機處理器也就現在一般計算器的水平(不是卡西歐科學計算器之類的),所以處理信息並不會特別快。紅白機性能和8051單片機相比還不如,而8051單片機大家也很熟悉的:在上面開發遊戲頂天也就是魂斗羅了,再高端的遊戲也就無能為力了。
此外,並不是1幀要多少年的問題,而是這一幀可能都無法處理出來,因為計算機輸出一幀的畫面,可能佔用的運行內存(輸出之前)是紅白機運行內存或顯存的幾千甚至幾萬倍。而紅白機由於處理器不支持這麼大的內存(定址能力),超出定址能力只能使用內存映射方法,一般遊戲很少超出。大家也知道計算機輸出畫面之前是要將畫面塞入存儲裝置(運行內存、顯存)再輸出的,顯然紅白機並沒有處理一個畫面的能力。
FC硬體機能不夠,算力不夠,存儲容量不夠。
何止FC主機,現有任何計算機都有硬體機能的極限。
何況FC主機的CPU主頻只有不到2個MHZ,內存和顯存各2KB,連今天一張小圖片都裝不下。
至少FC主機的機能不足以跑得動今天的PS,3DMAX等常規設計軟體,僅內存需求就差了百萬倍以上。
現有任何計算機的CPU主頻,內外存容量等都極其有限,普通用戶沒有體會到這些限制,是因為沒有相關的需求。
那些搞科學計算的人員,對計算機算力的需求總是沒有止境的。
模擬核彈爆炸,大氣環流等物理模擬,模擬化學分子運動,多牛逼的超算都不夠用。否則各國也不會投入巨資燒錢堆硬體玩超算。
再退一步,挖礦也需要算力。多多益善。
即使不需要算力,也需要硬碟容量,比如網路電視劇和音樂下載狂。
但如果你只用FC玩FC遊戲,只用電腦打字,30多年前的FC和20多年前的電腦就夠用了。要上網還必須至少用10多年前的電腦,因為太老的電腦內存太小,裝不下運行中的瀏覽器。
我也是外行,不過紅白機玩的不少,對電腦稍微有點了解吧。我按照我的理解回答一下你的問題。
首先舉個例子:如果你用一個一般大小的水桶來把地球上的海水轉移到別的星球去(假設空間穿越可以實現),原則上說也是可以完成的,只是時間會很長很長。我想你的意思也是類似這個。不過有一個問題也要考慮,如果你轉移的不是海水,而是一個個有一定體積的,不能分割的球體或者是立方體,而你的水桶大小又正好裝不下哪怕一個這樣的物體,那你是無法轉移這些海水的,無論多少時間都不行。
也就是說,要讓計算機在不考慮時間的狀態下完成ps4遊戲級別的運算,還是有最低基礎的,可fc沒有達到這個最低基礎,也就是說它根本無法開始,何來完成?
乍看之下是這麼回事,但是題主不要忘了,量變的積累會引起質變,不然我們的計算機技術發展也不會時不時就遇到瓶頸需要新的技術來突破了。舉個例子,渲染一幀圖像,你會說,一幀存不下,可以一小塊一小塊來,但是,在做光影渲染的時候,我們需要整個場景的模型框架,來渲染光影,因為整個場景的模型光影是相互影響的,你拿掉一個東西,其他的地方全部都變了,所以這時候一幀是不能被拆開的
圖靈機的帶子是無限長的,現實中沒有無限長的帶子。所以fc跑不了ps4的遊戲。
理論上可行,之前還有人搞行為藝術,給FC寫特製的程序用來挖礦,挖礦都行,遊戲更可以了,但估計計算10年是遠遠不夠的……
紅白機又叫八位機,那就知道了,cpu只有8位,就導致能處理的指令、能定址的內存都會非常少。
推薦閱讀:
※你認為 FC 上最給力的坦克遊戲是什麼?
※那些在16機上運行的3D遊戲是真·3D還是其他什麼東西呢?是有3D模型么?
※FC經典遊戲《赤影戰士》有多經典?你有哪些關於它的給力回憶?
※尋找一款紅白機格鬥遊戲?
※《超級馬里奧兄弟》和《冒險島》哪個更有趣?《超級馬里奧兄弟3》和《冒險島4》呢?
TAG:計算機科學 | 紅白機FamilyComputer,FC |