0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

中國(guó)科學(xué)院大學(xué)的一生一芯計(jì)劃引發(fā)熱議

人工智能與大數(shù)據(jù)技術(shù) ? 來(lái)源:機(jī)器之心 ? 作者:Takaya Saeki ? 2020-11-02 11:49 ? 次閱讀

本文經(jīng)機(jī)器之心(微信公眾號(hào):almosthuman2014)授權(quán)轉(zhuǎn)載,禁止二次轉(zhuǎn)載

選自Fueled by Coffee,作者:Takaya Saeki,編輯:Panda

前段時(shí)間,中國(guó)科學(xué)院大學(xué)的「一生一芯」計(jì)劃引發(fā)熱議,五位本科生帶著自己設(shè)計(jì)的處理器芯片正式畢業(yè),被稱為「最硬核畢業(yè)證」。其實(shí),東京大學(xué)信息科學(xué)系也有一個(gè)自制 CPU 的實(shí)踐課程。近日,微軟軟件工程師 Takaya Saeki 刊文回顧了五年前他們小組的 CPU 實(shí)驗(yàn)項(xiàng)目:不僅通過(guò)自學(xué)自制了 CPU、C 編譯器,還成功移植了一個(gè)類 Unix 操作系統(tǒng)(Xv6)。雖然回顧的是五年前的往事,但這篇文章應(yīng)該也能為芯片和操作系統(tǒng)人才培養(yǎng)工作帶來(lái)一些啟發(fā)。

所有這一切都源自一個(gè)學(xué)生實(shí)驗(yàn)項(xiàng)目:CPU Experiment(CPU 實(shí)驗(yàn))。首先說(shuō)說(shuō)這個(gè) CPU 實(shí)驗(yàn)是什么。

CPU 實(shí)驗(yàn)是東京大學(xué)信息科學(xué)系一個(gè)小有名氣的實(shí)踐課程,通常在大三的冬季進(jìn)行。在該實(shí)驗(yàn)中,學(xué)生會(huì)被分成小組,每組四、五個(gè)人。每一組都要設(shè)計(jì)一種自己的 CPU 架構(gòu),在 FPGA 上實(shí)現(xiàn)它,為該 CPU 構(gòu)建一個(gè) OCaml 子集編譯器,然后在該 CPU 上運(yùn)行一個(gè)給定的光線追蹤程序。通常來(lái)說(shuō),CPU、FPU、CPU 模擬器和編譯器都各由一兩個(gè)人負(fù)責(zé)。我負(fù)責(zé)第 6 組的 CPU 部分。

這個(gè)實(shí)踐課程的有名之處在于對(duì)自學(xué)能力的高度期望。導(dǎo)師向?qū)W生們下達(dá)了任務(wù)目標(biāo):「把這個(gè)用 OCaml 寫的光線追蹤程序運(yùn)行在你們用 FPGA 實(shí)現(xiàn)的 CPU 上」,然后就下課了。對(duì)于編寫 CPU 和編譯器的具體步驟,他不會(huì)多說(shuō)。學(xué)生需要自己學(xué)習(xí)如何將學(xué)過(guò)的有關(guān) CPU 和編譯器的一般知識(shí)轉(zhuǎn)化成實(shí)際成品,這將涉及到實(shí)際的電路和代碼。是的,這個(gè)實(shí)踐課程確實(shí)很難,但也很激動(dòng)人心且極具教育意義。

在我們自己的 CPU 上運(yùn)行操作系統(tǒng)

你可能已經(jīng)注意到了,我還沒(méi)談到操作系統(tǒng)。我來(lái)稍微解釋一下。

通常來(lái)說(shuō),這個(gè)實(shí)驗(yàn)會(huì)這樣進(jìn)行。首先,做出一個(gè)能可靠工作的 CPU,不管計(jì)算速度如何。如果做出了 CPU 并成功運(yùn)行了那個(gè)光線追蹤程序,就能得到這個(gè)實(shí)踐課程的學(xué)分。之后,你的團(tuán)隊(duì)就自由了。通常來(lái)說(shuō),這些自由時(shí)間會(huì)被用于 CPU 提速。在過(guò)去的實(shí)驗(yàn)中,學(xué)生做出過(guò)亂序 CPU、VLIEW CPU、多核 CPU 甚至超標(biāo)量 CPU,確實(shí)很了不起。

但是,有些團(tuán)隊(duì)則把更多精力放到了一些有趣任務(wù)上,比如運(yùn)行游戲或?qū)?CPU 與揚(yáng)聲器連接來(lái)播放音樂(lè)。我們第 6 組也是一個(gè)熱愛(ài)娛樂(lè)的小組,而我們決定將目標(biāo)設(shè)定為運(yùn)行一個(gè)操作系統(tǒng)。

結(jié)果,其它一些小組也對(duì)這個(gè)想法產(chǎn)生了興趣。于是,一個(gè)包含 8 個(gè)人的聯(lián)合小組——Group X 成立了。我們的目標(biāo)是:「在我們自己的 CPU 上運(yùn)行 OS!」

盡管我負(fù)責(zé)第 6 組的 CPU 創(chuàng)建工作,但這一次我選擇當(dāng) Group X 的領(lǐng)導(dǎo)者。因此,本文主要是從 OS 團(tuán)隊(duì)角度寫作的,不過(guò)我也會(huì)介紹 Group X 的整體成果。

Xv6

對(duì)于要移植的 OS,我們選擇了 Xv6,這是一個(gè)由 Unix v6 啟發(fā)的簡(jiǎn)單操作系統(tǒng),是 MIT 為教育目的構(gòu)建的。不同于 Unix v6,Xv6 是用 ANSI C 編寫的,而且運(yùn)行在 x86 架構(gòu)上。Xv6 是一款教育用 OS,所以功能有些簡(jiǎn)陋,但作為一款簡(jiǎn)單的類 Unix 操作系統(tǒng),功能已經(jīng)足夠了。有關(guān) Xv6 的更多信息可訪問(wèn)其 GitHub 代碼庫(kù):https://github.com/mit-pdos/xv6-public

挑戰(zhàn)

在移植 Xv6 時(shí),光是軟件方面就有一大堆難題,因?yàn)槲覀冊(cè)趪L試從頭開(kāi)始構(gòu)建一切。

1. 用于 Xv6 的 C 編譯器和工具鏈。

在 CPU 實(shí)驗(yàn)中,我們通常會(huì)創(chuàng)建一個(gè) ML 編譯器。很自然,這樣無(wú)法編譯 Xv6 的 C 代碼。

2. 操作系統(tǒng)需要 CPU 具備哪些功能?

特權(quán)保護(hù)?虛擬地址?中斷?是的,我們?cè)谡n堂上已經(jīng)獲得了對(duì)操作系統(tǒng)的整體理解,但那時(shí)候我們對(duì)各個(gè) CPU 功能的具體作用還沒(méi)有真正的切身體會(huì)。

3. 模擬器呢?

我們已經(jīng)在 CPU 實(shí)驗(yàn)的核心任務(wù)部分做了一個(gè)模擬器,但那個(gè)模擬器很簡(jiǎn)單,只能逐一執(zhí)行指令,而且沒(méi)有中斷和虛擬地址轉(zhuǎn)換。

4.Xv6 的可移植性差

Xv6 很難移植。舉個(gè)例子,它假設(shè) char 是 1 個(gè)字節(jié),而 int 是 4 個(gè)字節(jié),并會(huì)大量操作堆棧。好吧,我猜 Xv6 這個(gè)名字實(shí)際上來(lái)自 x86 和 Unix v6,所以這種設(shè)計(jì)當(dāng)然很自然。

我們有過(guò)很多擔(dān)憂,但還是在 12 月份開(kāi)始了 Group X 的 OS 移植項(xiàng)目。

接下來(lái),我將大致按時(shí)間順序編寫我們的工作經(jīng)歷。這個(gè)過(guò)程會(huì)有一點(diǎn)長(zhǎng),所以如果你想快些看到結(jié)果,請(qǐng)?zhí)D(zhuǎn)至「三月」部分。

十一月下旬:開(kāi)始開(kāi)發(fā)編譯器

我們找到答案的第一個(gè)問(wèn)題是編譯器和工具鏈。有點(diǎn)意外的是,我們決定從頭開(kāi)始寫 C89 編譯器。說(shuō)老實(shí)話,我之前沒(méi)想到我們會(huì)選這條路。我記得我和 Yuichi(后來(lái)負(fù)責(zé) Group X 的 CPU)一開(kāi)始討論過(guò)移植 gcc 或 llvm。

但是,一位團(tuán)隊(duì)成員 Keiichi 突然說(shuō)他已經(jīng)寫好了一個(gè) C 編譯器并向我們展示了一個(gè)編譯器原型,其帶有一個(gè)簡(jiǎn)單的解釋器和發(fā)射器。從頭開(kāi)始寫工具鏈似乎更有意思,因此我們決定自己寫一個(gè)編譯器。

來(lái)自第 3 組的 Yuichi 和 Wataru 已經(jīng)結(jié)束了那一年 CPU 實(shí)驗(yàn)的核心任務(wù),于是他們加入了 Keiichi,組成了 Group X 的編譯器團(tuán)隊(duì)。后來(lái)我們將我們的編譯器命名為 Ucc。

十二月中旬:OS 團(tuán)隊(duì)上線!

十二月初,我完成了自己的 CPU,第 6 組完成了 CPU 實(shí)驗(yàn)的核心部分。于是我們開(kāi)始做有趣的部分:Group X 的 OS 移植任務(wù)。這時(shí)候,第 6 組的我和 Shohei 開(kāi)始了 Group X 的工作并組成了 OS 團(tuán)隊(duì)。Masayoshi 也在那時(shí)候加入了進(jìn)來(lái)。

實(shí)驗(yàn)的核心任務(wù):編寫一個(gè) CPU

順便一提,我猜沒(méi)多少軟件工程師親自寫過(guò) CPU,所以我也談?wù)勅绾螌?CPU。

現(xiàn)如今,制作 CPU 并不意味著要在面包板上連接各種跳線,你可以完全使用硬件描述語(yǔ)言(HDL)編寫電路。然后你可以使用 Vivado 或 Quartus 將 HDL 合成到真實(shí)電路中。這個(gè)過(guò)程叫做邏輯綜合(logic synthesis),而不是編譯。

HDL 與編程語(yǔ)言既有相似之處,也有一些差異。你可以將其視為一個(gè)將寄存器信號(hào)狀態(tài)映射成另一個(gè)信號(hào)狀態(tài)的函數(shù),其可由時(shí)鐘或輸入信號(hào)觸發(fā)。如果你想體驗(yàn)真正的反應(yīng)式編程,我建議你試試 HDL。同時(shí)請(qǐng)務(wù)必記住,在寫 HDL 時(shí)要一直注意你寫的 HDL 的信號(hào)傳播會(huì)在某個(gè)時(shí)鐘切實(shí)地終止。否則,人類將難以理解你的電路的行為。

實(shí)際開(kāi)發(fā)過(guò)程中最艱難的部分就是邏輯綜合,其所需的時(shí)間多得離譜。在開(kāi)始執(zhí)行綜合之后,我們往往需要等上多達(dá) 30 分鐘時(shí)間。所以開(kāi)始綜合之后,我常常與其他也在等著綜合結(jié)束的 CPU 團(tuán)隊(duì)成員玩《任天堂明星大亂斗 DX》。隨便說(shuō)一下,我的角色是 Sheik。

十二月下旬到一月中旬:通過(guò)將 Xv6 移植到 MIPS 來(lái)學(xué)習(xí)

我們開(kāi)始找到「操作系統(tǒng)需要 CPU 具備哪些功能?」這個(gè)問(wèn)題的答案。

OS 團(tuán)隊(duì)誕生之后,我們開(kāi)始每周聚會(huì),閱讀 Xv6 源代碼。

與此同時(shí),我開(kāi)始將 Xv6 移植到 MIPS。這樣做的部分原因是學(xué)習(xí) OS 在實(shí)現(xiàn)層的工作方式,部分原因是似乎還沒(méi)人將 Xv6 移植到 MIPS 過(guò)。我在大約一周內(nèi)完成了移植工作,直到調(diào)度器過(guò)程開(kāi)始。在這個(gè)移植過(guò)程中,我花了大量精力研究 MIPS,并且為了了解 Xv6 的工作方式還大量研究了 x86。得益于此,我理解了中斷的相關(guān)機(jī)制以及實(shí)現(xiàn)層的內(nèi)存管理單元(MMU)。這時(shí)候,對(duì)于 Xv6 所需的 CPU 功能,我已經(jīng)有了扎實(shí)的理解。

另外,在一月中旬,我們也開(kāi)始努力通過(guò)注釋掉各個(gè)部分來(lái)編譯 Xv6 的整體代碼。結(jié)果是在我們自制架構(gòu)的模擬器上,Xv6 在引導(dǎo)順序中顯示出了第一條消息:

xv6.。.cpu0: starting.。。

與此同時(shí),這意味著這時(shí)候 Ucc 已經(jīng)成長(zhǎng)到足以編譯大部分 Xv6 代碼了。真是太棒了!

二月:我們的 CPU GAIA 誕生!

在 MIPS 移植過(guò)程中,我完成了 PIC 的初始化,這個(gè)過(guò)程很痛苦。另外,我還完成了實(shí)現(xiàn)中斷處理程序的任務(wù)。結(jié)果,Xv6 向 MIPS 的移植工作剛完成,第一個(gè)用戶程序就開(kāi)始開(kāi)發(fā)了。

在這一經(jīng)歷的基礎(chǔ)上,我為我們的自制 CPU 編寫了中斷和虛擬地址轉(zhuǎn)譯的規(guī)范草稿。為了簡(jiǎn)單,我們決定忽略 Ring 保護(hù)等硬件特權(quán)機(jī)制。至于虛擬地址轉(zhuǎn)譯,我們決定使用 x86 那樣的硬件頁(yè)面游走法(hardware page-walking method)??雌饋?lái)可能很難在硬件中實(shí)現(xiàn)這個(gè)功能,但我們認(rèn)為如果我們犧牲掉速度并忽視 TLB 實(shí)現(xiàn),可能就不會(huì)那么難。畢竟 Yuichi 后來(lái)做了一個(gè)很棒的 CPU 內(nèi)核,不過(guò)它一開(kāi)始就安裝了 TLB。

Yuichi 完成了我們的 CPU 的 ISA(指令集架構(gòu))的整體設(shè)計(jì)。他將我們的 CPU 命名為 GAIA。在典型的 CPU 實(shí)驗(yàn)項(xiàng)目中,我們既不會(huì)實(shí)現(xiàn)中斷,也不會(huì)實(shí)現(xiàn) MMU。但是,Yuichi 開(kāi)始為 Xv6 實(shí)現(xiàn)它們,他是基于第 3 組的 CPU 的重構(gòu)版本開(kāi)發(fā)的。

接下來(lái),進(jìn)度加快了,所以我將開(kāi)始按周進(jìn)行說(shuō)明。

第一周

Masayoshi 開(kāi)始為我們的 CPU 實(shí)現(xiàn)真正的初始化,而不只是將引導(dǎo)順序注釋掉;而 Shohei 將 Xv6 的 x86 匯編重寫進(jìn)了我們自制的架構(gòu)中。我為我們的模擬器添加了中斷模擬,而這個(gè)模擬器是 Wataru 在 CPU 實(shí)驗(yàn)的核心任務(wù)部分開(kāi)發(fā)的;另外我還完成了對(duì)虛擬地址轉(zhuǎn)譯的支持。這能讓模擬器有足夠的功能來(lái)運(yùn)行 OS。

第二周

我為我們的架構(gòu)構(gòu)建了一個(gè)原語(yǔ)鏈接器,以集成 Xv6 及其 binary blobs。Shohei 正在實(shí)現(xiàn)中斷處理程序,這部分很難。中斷很難理解,難以弄清流程、難以調(diào)試、難以開(kāi)發(fā)。

當(dāng)我將 Xv6 移植到 MIPS 時(shí),我有 GDB,所以還能應(yīng)付,但我們自己的模擬器沒(méi)有任何調(diào)試功能,所以調(diào)試起來(lái)肯定非常難。

Shohei 也頂不住這樣的難度,所以他為模擬器添加了一個(gè)反匯編器和調(diào)試 dump 函數(shù)。之后,OS 團(tuán)隊(duì)又對(duì)這個(gè)模擬器的調(diào)試功能進(jìn)行了快速升級(jí),最后得到的模擬器看起來(lái)是這樣:

第三周

克服了許多困難之后,Xv6 的移植工作有所進(jìn)展,但 Xv6 還是無(wú)法工作。

尤其是 Ucc 的規(guī)范為 char 和 int 都是 32 位,這帶來(lái)了許多問(wèn)題。這不是 Ucc 的錯(cuò)。事實(shí)上,C 規(guī)范僅要求 sizeof(char) == 1 且 sizeof(char) 《= sizeof(int),因此這是符合規(guī)范的。

但是,Xv6 是為 x86 編寫的,所以它假設(shè) sizeof(int) == 4 并會(huì)將常量添加到指針的值,這會(huì)導(dǎo)致大量不一致。由這個(gè)問(wèn)題帶來(lái)的漏洞很難查找,而且數(shù)量也很多,所以最后我們決定將 Ucc 的 char 規(guī)范改為 8 位。

在將 char 32 位問(wèn)題委托給 Ucc 團(tuán)隊(duì)之后,我為首次進(jìn)入階段寫了初始化頁(yè)面,并嘗試通過(guò)試錯(cuò)方法讓中斷能夠有效工作。

最重要的是,我們努力解決了第 4 個(gè)難題:Xv6 的可移植性差。

2 月 27-28 日

當(dāng)我回頭看 Slack 時(shí),我發(fā)現(xiàn)這一天我們進(jìn)展頗豐。在 Ucc 團(tuán)隊(duì)很快完成將 char 改為 8 位的工作之后,我們進(jìn)行了大量調(diào)試。最后,我們的第一個(gè)用戶程序 init 可以工作了!

之后,我們?cè)谝浦灿脩暨^(guò)程應(yīng)用方面的成果越來(lái)越多,這是我在移植到 MIPS 時(shí)沒(méi)有做過(guò)的事情。在這個(gè)過(guò)程中,很多漏洞都很難重現(xiàn),中斷規(guī)范之中的不足之處也顯現(xiàn)了出來(lái),但我們最終克服了困難,找到并修復(fù)了這些漏洞。

我們修復(fù)的一個(gè)有趣問(wèn)題是緩存別名問(wèn)題。GAIA CPU 選擇了虛擬地址作為緩存索引,而非物理地址。這讓 CPU 在查找緩存時(shí)能夠跳過(guò)虛擬地址轉(zhuǎn)譯。但是,由于這樣的設(shè)計(jì),我們發(fā)現(xiàn)緩存之間會(huì)出現(xiàn)不一致問(wèn)題,因?yàn)樘摂M地址的多個(gè)緩存可以指向同一個(gè)物理地址。當(dāng)一個(gè)虛擬地址的緩存更新之后,其它指向同一物理地址的虛擬地址的緩存卻沒(méi)有更新。

這個(gè)漏洞很難在硬件層面上低成本地修復(fù),所以為了解決它,我們?yōu)槲覀兊?Xv6 引入了 Page Coloring。這會(huì)為每個(gè)緩存行引入「顏色」并重新分配頁(yè)面,使得指向同一物理地址的虛擬地址總會(huì)有一樣的顏色。這意味著指向同一物理地址的虛擬地址總是僅有一個(gè)緩存。這能讓 Xv6 確保 GAIA 永遠(yuǎn)不會(huì)讓多個(gè)緩存共用同一個(gè)物理地址。

三月:Xv6 跑起來(lái)!

3 月 1 日,Xv6 移植工作完成。現(xiàn)在 Xv6 已經(jīng)運(yùn)行在模擬器上了!

娛樂(lè)少不了

一開(kāi)始,移植 Xv6 是因?yàn)檫@很有趣,現(xiàn)在 Xv6 已經(jīng)成功運(yùn)行在模擬器上,那我們就要加把勁讓它更有趣。

首先,Masayoshi 用大約 4 個(gè)小時(shí)做了一個(gè)小火車以及運(yùn)行在 Xv6 上的 sl 命令。

Shohei 則想做一個(gè)掃雷游戲。

在這期間,Yuichi 完成了 Group X 的 CPU 實(shí)現(xiàn)工作。真正的 CPU 的運(yùn)行速度比模擬器快多了,這能讓我們更輕松地玩耍和開(kāi)發(fā)游戲。這時(shí)候,我們創(chuàng)建了一個(gè)非常高質(zhì)量的應(yīng)用:2048。

這個(gè) 2048 的質(zhì)量很高。Yuichi 老是在玩。順便提一句,這個(gè) 2048 使用的是 non-line buffering 輸入,這是 Xv6 原本沒(méi)有的功能。為了支持這一功能,ioctl 被添加進(jìn)來(lái)作為 read 和 write 之外的另一個(gè) devsw 動(dòng)作,另外還添加了用來(lái)控制 ICANON 和 echo 的與 termios 相關(guān)的新功能。因此,唯一能以如此高的完成度玩 2048 的 Xv6 就運(yùn)行在 GAIA 上。

另外,畢竟 Xv6 是由 Unix v6 啟發(fā)的,因此我猜想,添加 gtty 和 stty 系統(tǒng)調(diào)用是更像 Unix v6 的方法。不過(guò),因?yàn)?Xv6 沒(méi)有 tty 的概念,所以我采用了 ioctl;而且事實(shí)上 Unix v7 就引入了 ioctl,所以這與歷史情況也接近。

現(xiàn)在,更酷的是,Keiichi 又為 Xv6-GAIA 做了一個(gè)小型匯編器,Shohei 還做了一個(gè) mini vi。想想看你能用這兩個(gè)工具做什么。

這就是基于 FPGA 的交互式編程!這是 CPU 實(shí)驗(yàn)的一個(gè)出色演示,因?yàn)槠渲幸话悴话ㄈ魏谓换ナ匠绦颉?/p>

最棒的演示

CPU 實(shí)驗(yàn)實(shí)踐課程的原始任務(wù)是「在自制 CPU 上運(yùn)行給定的光線追蹤程序」?,F(xiàn)在我們的 CPU 上有操作系統(tǒng)了,你知道該怎么做了嗎?我們決定在我們的 CPU 的 OS 上運(yùn)行這個(gè)光線追蹤程序。我們遇到了一些問(wèn)題,但我們?cè)谧罱K展示前一個(gè)小時(shí)里成功解決了它們。

因此,我們做了我們這個(gè)系的學(xué)生開(kāi)玩笑時(shí)說(shuō)的話:在一個(gè) CPU 上運(yùn)行一個(gè)操作系統(tǒng),然后再在上面運(yùn)行光線追蹤程序。

來(lái)自 2020 年的回顧

這段故事發(fā)生在 2015 年,本文也是我自己的博文的翻新稿。盡管現(xiàn)在讀來(lái),我看到了當(dāng)時(shí)自身技術(shù)經(jīng)驗(yàn)的不足,但我們當(dāng)時(shí)做的事情實(shí)在很激動(dòng)人心。

另外,你現(xiàn)在也可以在你的瀏覽器中體驗(yàn)我們的 Xv6:https://nullpo-head.github.io/emcc-gaia-simu/xv6.html

實(shí)驗(yàn)之后,我將我們的 GAIA 模擬器通過(guò) Emscripten 移植到了 JavaScript。去試試看我們的 sl、掃雷和 2048 吧。

xv6.。.cpu0: startinginit: starting sh$

還要說(shuō)一下,Xv6 向 MIPS 的移植工作在 CPU 實(shí)驗(yàn)期間并沒(méi)有完成,而是在實(shí)驗(yàn)之后一個(gè)月完成的。GitHub 代碼庫(kù)在這里:https://github.com/nullpo-head/xv6-mips

在我們 2015 年寫文介紹了 Group X 的工作之后,后來(lái)的學(xué)生繼續(xù)攻堅(jiān)有關(guān) OS 的新挑戰(zhàn)。

2018 年,一些學(xué)生在自制的 CPU 上運(yùn)行了他們自己開(kāi)發(fā)的 OS;2019 年,一組學(xué)生運(yùn)行了他們開(kāi)發(fā)的 OS,同時(shí)采用了 RISC-V 作為他們自制 CPU 的 ISA。此外,2020 年的一個(gè)小組終于在自制 CPU 上成功運(yùn)行 Linux,同時(shí) ISA 也采用了 RISC-V。

我相信未來(lái)還會(huì)有更多故事,也讓我們保持期待。從個(gè)人角度看,我很期待某天能看到某人在自己的 ISA 上運(yùn)行 Linux,或在上面運(yùn)行虛擬機(jī)。

人們常說(shuō)要避免重新造輪子,但這個(gè)過(guò)程確實(shí)能讓人學(xué)到很多東西。這讓我認(rèn)識(shí)到,我對(duì)它的理解其實(shí)沒(méi)有那么深,無(wú)法從頭開(kāi)始實(shí)現(xiàn)它。而且,我推薦這個(gè)故事的另一個(gè)原因是這真的非常有趣!

我們的 CPU 實(shí)驗(yàn)故事就到此為止了。如果你也有興趣重新發(fā)明輪子,可以試試自制 CPU 并移植 OS。

原文標(biāo)題:東京大學(xué)版「一生一芯」:自制CPU、C編譯器,還成功運(yùn)行了類Unix系統(tǒng)

文章出處:【微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10807

    瀏覽量

    210853
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41393
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1617

    瀏覽量

    49017

原文標(biāo)題:東京大學(xué)版「一生一芯」:自制CPU、C編譯器,還成功運(yùn)行了類Unix系統(tǒng)

文章出處:【微信號(hào):TheBigData1024,微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    中科馭數(shù)受邀出席中國(guó)科學(xué)院大學(xué)校友論壇

    近日,第五屆中國(guó)科學(xué)院大學(xué)校友創(chuàng)新論壇正式舉行,本次論壇聚焦科技前沿領(lǐng)域,旨在搭建高端對(duì)話平臺(tái),促進(jìn)產(chǎn)學(xué)研深度融合。在大算力時(shí)代——AI技術(shù)前沿沙龍上,中科馭數(shù)高級(jí)副總裁、CTO盧文巖博士受邀
    的頭像 發(fā)表于 09-29 09:45 ?253次閱讀

    中國(guó)科學(xué)院沈陽(yáng)應(yīng)用生態(tài)研究所選購(gòu)我司同步熱分析儀

    近日,中國(guó)科學(xué)院沈陽(yáng)應(yīng)用生態(tài)研究所決定選購(gòu)我司生產(chǎn)的HS-STA-002同步熱分析儀,以進(jìn)步提升其科研實(shí)力與實(shí)驗(yàn)精度。此次合作不僅彰顯了我司產(chǎn)品在科學(xué)研究領(lǐng)域的卓越性能,也體現(xiàn)了雙方對(duì)生
    的頭像 發(fā)表于 09-03 15:55 ?156次閱讀
    <b class='flag-5'>中國(guó)科學(xué)院</b>沈陽(yáng)應(yīng)用生態(tài)研究所選購(gòu)我司同步熱分析儀

    阿里云攜手中國(guó)科學(xué)院地化所發(fā)布首個(gè)月球?qū)I(yè)大模型

    近日,在備受矚目的數(shù)博會(huì)上,中國(guó)科學(xué)院地球化學(xué)研究所攜手阿里云宣布了項(xiàng)重大合作成果——全球首個(gè)“月球科學(xué)多模態(tài)專業(yè)大模型”正式問(wèn)世。這突破性進(jìn)展標(biāo)志著我國(guó)在月球
    的頭像 發(fā)表于 08-29 18:08 ?748次閱讀

    中國(guó)科學(xué)院大學(xué):實(shí)現(xiàn)可再生高靈敏度生物傳感器新進(jìn)展

    傳感新品 【中國(guó)科學(xué)院大學(xué):實(shí)現(xiàn)可再生高靈敏度生物傳感器新進(jìn)展 】 可再生的即時(shí)檢測(cè)(POC)傳感器為疾病標(biāo)志物的快速檢測(cè)提供了類新型解決方案,但是該類器件面臨循環(huán)使用過(guò)程中重復(fù)污染難題,難以兼具
    的頭像 發(fā)表于 08-14 19:14 ?1547次閱讀
    <b class='flag-5'>中國(guó)科學(xué)院</b><b class='flag-5'>大學(xué)</b>:實(shí)現(xiàn)可再生高靈敏度生物傳感器新進(jìn)展

    RT-Thread宣布認(rèn)可“一生計(jì)劃CBAS新認(rèn)證體系,獲認(rèn)證同學(xué)自動(dòng)獲得開(kāi)源實(shí)習(xí)聯(lián)合培養(yǎng)工程的實(shí)習(xí)OFFER

    RT-Thread作為甲辰計(jì)劃開(kāi)源實(shí)習(xí)聯(lián)合招聘培養(yǎng)單位,即日起接受“一生計(jì)劃認(rèn)證體系。歡
    的頭像 發(fā)表于 07-18 08:35 ?496次閱讀
    RT-Thread宣布認(rèn)可“<b class='flag-5'>一生</b><b class='flag-5'>一</b><b class='flag-5'>芯</b>”<b class='flag-5'>計(jì)劃</b>CBAS新認(rèn)證體系,獲認(rèn)證同學(xué)自動(dòng)獲得開(kāi)源實(shí)習(xí)<b class='flag-5'>生</b>聯(lián)合培養(yǎng)工程的實(shí)習(xí)OFFER

    2024“一生”暑期宣講會(huì)圓滿成功

    2024年7月14日,“一生”暑期宣講會(huì)如期而至。為了能夠讓更多的學(xué)生、工程師和愛(ài)好者更深入了解“一生
    的頭像 發(fā)表于 07-17 08:37 ?927次閱讀
    2024“<b class='flag-5'>一生</b><b class='flag-5'>一</b><b class='flag-5'>芯</b>”暑期宣講會(huì)圓滿成功

    矽速科技宣布認(rèn)可“一生計(jì)劃CBAS新認(rèn)證體系,獲認(rèn)證同學(xué)自動(dòng)獲得開(kāi)源實(shí)習(xí)聯(lián)合培養(yǎng)工程的實(shí)習(xí)OF

    矽速科技作為甲辰計(jì)劃開(kāi)源實(shí)習(xí)聯(lián)合招聘培養(yǎng)單位,即日起接受“一生計(jì)劃認(rèn)證體系。歡迎童鞋們通
    的頭像 發(fā)表于 07-17 08:34 ?850次閱讀
    矽速科技宣布認(rèn)可“<b class='flag-5'>一生</b><b class='flag-5'>一</b><b class='flag-5'>芯</b>”<b class='flag-5'>計(jì)劃</b>CBAS新認(rèn)證體系,獲認(rèn)證同學(xué)自動(dòng)獲得開(kāi)源實(shí)習(xí)<b class='flag-5'>生</b>聯(lián)合培養(yǎng)工程的實(shí)習(xí)OF

    特斯聯(lián)與中國(guó)科學(xué)院共建邊緣智能計(jì)算重慶市重點(diǎn)實(shí)驗(yàn)室

    近日,特斯聯(lián)與中國(guó)科學(xué)院重慶綠色智能技術(shù)研究院(簡(jiǎn)稱重慶研究院)攜手共建的“邊緣智能計(jì)算重慶市重點(diǎn)實(shí)驗(yàn)室”在重慶高新區(qū)正式揭牌。這合作標(biāo)志著雙方在智能科技領(lǐng)域的深度合作進(jìn)入新階段。
    的頭像 發(fā)表于 06-04 09:25 ?465次閱讀

    中國(guó)科學(xué)院贛江創(chuàng)新研究院選購(gòu)我司同步熱分析儀

    近日,中國(guó)科學(xué)院贛江創(chuàng)新研究經(jīng)過(guò)嚴(yán)格的篩選和評(píng)估,最終決定選購(gòu)我司生產(chǎn)的同步熱分析儀。這決定不僅是對(duì)我司技術(shù)實(shí)力的認(rèn)可,也標(biāo)志著雙方在科研領(lǐng)域合作的進(jìn)步深化。中國(guó)科學(xué)院贛江創(chuàng)新研究
    的頭像 發(fā)表于 05-16 09:33 ?242次閱讀
    <b class='flag-5'>中國(guó)科學(xué)院</b>贛江創(chuàng)新研究院選購(gòu)我司同步熱分析儀

    最新!中國(guó)科學(xué)院院士褚君浩如何從新質(zhì)生產(chǎn)力視角看傳感器產(chǎn)業(yè)

    ,提高動(dòng)手實(shí)驗(yàn)實(shí)踐能力,培養(yǎng)創(chuàng)新精神和創(chuàng)造力。 徐匯中學(xué)曾憲校長(zhǎng)介紹說(shuō):褚君浩先生系一九六二屆校友,徐匯中學(xué)校友會(huì)名譽(yù)會(huì)長(zhǎng)。他是享譽(yù)世界的半導(dǎo)體物理專家,中國(guó)科學(xué)院院士?,F(xiàn)任中國(guó)科學(xué)院上海技術(shù)物理研究所研究員
    的頭像 發(fā)表于 04-06 08:37 ?159次閱讀

    達(dá)實(shí)智能正式簽約中國(guó)科學(xué)院大學(xué)深圳醫(yī)院(光明)新院項(xiàng)目

    近日,深圳達(dá)實(shí)智能股份有限公司(以下簡(jiǎn)稱“公司”)與深圳市光明區(qū)建筑工務(wù)署就中國(guó)科學(xué)院大學(xué)深圳醫(yī)院(光明)新院項(xiàng)目有關(guān)事項(xiàng)協(xié)商致,在深圳市光明區(qū)正式簽署了項(xiàng)目合同,合同金額為4,317.32萬(wàn)元。
    的頭像 發(fā)表于 03-13 15:01 ?427次閱讀

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】+ 閱讀初體驗(yàn)

    收到書的時(shí)候,感覺(jué)很不錯(cuò),因?yàn)榉饷媸莻髌嫒宋铩赡塞惿杏X(jué)自己拿到本寶典樣? 通過(guò)這本書,我才了解到“一生
    發(fā)表于 03-05 20:54

    “超級(jí)光盤”在中國(guó)科學(xué)院上海光學(xué)精密機(jī)械研究所誕生

    存儲(chǔ)容量是普通光盤上萬(wàn)倍、普通硬盤上百倍的“超級(jí)光盤”,在中國(guó)科學(xué)院上海光學(xué)精密機(jī)械研究所誕生。
    的頭像 發(fā)表于 02-25 10:16 ?1109次閱讀

    恭喜昊,上榜2023中國(guó)科學(xué)院科創(chuàng)企業(yè)先鋒榜單

    新聞來(lái)源:中科院科技創(chuàng)新投資產(chǎn)業(yè)聯(lián)盟在12月8日舉辦的中科院科技創(chuàng)新投資產(chǎn)業(yè)聯(lián)盟2023年會(huì)上,中科院科技創(chuàng)新投資產(chǎn)業(yè)聯(lián)盟發(fā)布中國(guó)科學(xué)院科創(chuàng)企業(yè)先鋒榜單,30強(qiáng)科創(chuàng)先鋒企業(yè)出爐。榜單由中國(guó)科學(xué)院控股
    的頭像 發(fā)表于 12-15 08:03 ?1445次閱讀
    恭喜昊<b class='flag-5'>芯</b>,上榜2023<b class='flag-5'>中國(guó)科學(xué)院</b>科創(chuàng)企業(yè)先鋒榜單

    當(dāng)選中國(guó)科學(xué)院院士的劉勝,是國(guó)內(nèi)芯片封裝技術(shù)的引領(lǐng)者

    ? ? ? 11月22日,2023年兩院院士增選當(dāng)選院士名單揭曉,武漢地區(qū)新增5名院士。其中,武漢大學(xué)動(dòng)力與機(jī)械學(xué)院劉勝教授成功當(dāng)選中國(guó)科學(xué)院院士。? ? 武漢大學(xué)官網(wǎng)顯示,劉勝為武漢
    的頭像 發(fā)表于 12-12 17:33 ?622次閱讀
    當(dāng)選<b class='flag-5'>中國(guó)科學(xué)院</b>院士的劉勝,是國(guó)內(nèi)芯片封裝技術(shù)的引領(lǐng)者