自舉乙個小型的risc v xv6 c需要多少工作量?

時間 2021-05-12 13:34:19

1樓:公尺卡利斯塞巴斯欽

工作量不小吧,模擬器RISC-V官方至少還有Spike參考作業系統移植估計問題也不大

3和4的難度不小

我本來也打算製作乙個模擬器,目標是模擬器能在模擬器上跑,目前處於半廢棄的尷尬狀態

2樓:breezecoding

背景介紹一下:寫過mips的CPU,帶cache和TLB,大部分的mipsr1指令完成,小型的嵌入式系統可以跑。目前自己在照教程用c寫乙個x86 小型OS,後續可能用rust寫乙個類似於ucore的OS。

不是純CS專業,目前本科,對編譯和網路部分了解甚少。

單獨來說,第乙個肯定是不難的,我說的是達到能用的層面,不追求效率啥的,普通的靜態流水。第二個因為也有現成的資料了,但是理解細節還是很花功夫的。

用模擬器執行OS,中間應該還需要做不少的工作,網上也有資料,bootloader那種,但是我不確定是不是很好搞,單隻把OS和模擬器銜接的過程。

假設可以用這個模擬器起起來riscv的elf檔案,那麼一旦遇到bug,除錯過程還是比較麻煩的,不過假設你的處理器實現的沒有問題,基本copy過來的,應該還好。另外我不知道你的cache,記憶體也是模擬的嗎?

第三和第四點不太清楚

我認為工作量還是不小的,也看你的基礎吧,如果很厲害的話,應該用不了三年那麼久。

個人的建議是把他們分開搞,當然只是個人的看法了,寫完cpu之後,就對硬體很煩惱,因為硬體軟體都要調,就感覺很累,還不如用qemu.. 畢竟從工作角度講,一般來說對硬體底層不需要那麼仔細的實現,除非你是搞硬體架構的。所以對cpu部分還是淺嚐轍止比較好,當然你的淺嚐轍止可能層次比較高hhh

OS可以很簡單,也可以很難,全看你自己究竟想實現到什麼程度了。加油

如何設計乙個小型的共鳴箱?

TransLoss 樂器中常見的共鳴腔 如結他 提琴等 是利用Helmholtz共振構造的,簡化的模型就是乙個瓶口收緊的瓶子,這種結構在聲學上叫做 Helmholtz共鳴器 它可以等效模擬為乙個彈簧振動系統或LC振盪電路,瓶頸部分充當質量塊 電感的作用,瓶內的空氣充當彈簧 電容的作用。而題主提到的這...

狗狗6個月,小型犬,被鄰居一棍打死?

孽小悲 你養了多久?你鄰居都不知道你的狗?出門拴繩出門拴繩出門拴繩。事到這步,真不知道怎麼安慰題主了,畢竟跑別人家的。希望在養的話,注意狗狗教育問題。養狗從來不是為了取悅自己的,狗也需要教育的。更好的社會化才可以。 呵呵噠 首先,節哀順變 現在劃重點 敲黑板!狗闖入鄰居家時做了什麼,是滿屋亂竄,還是...

如何構建乙個小型區域網?

曾一也 如果純區域網對戰的話,理論上用無線不應該出現樓主描述的卡的問題。區域網內出現卡的問題一般是由於網內有機器出現異常,比如在進行arp攻擊 或者連線數過多造成的。逐台機器檢查即可。另外使用無線如果開迅雷之類的高連線數高流量軟體,是會占用掉大部分的網路資源以及路由器的處理資源,也會帶來網路卡的問題...