精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

又一位純手工打造CPU的牛人 匯編語言實現(xiàn)類Unix系統(tǒng)!

GReq_mcu168 ? 來源:安富萊電子 ? 作者:安富萊電子 ? 2021-03-18 11:00 ? 次閱讀

硬件設(shè)計

GR8CPU是在面包板上構(gòu)建功能齊全的計算機。第一個版本GR8CPU Rev2擁有600多條電線,74個集成電路和79個LED燈。它是一個8位架構(gòu),考慮了簡單性和處理能力。CPU可以訪問256字節(jié)的RAM,已經(jīng)為其編寫了功能齊全的Tic-Tac-Toe游戲。

到目前為止,正在構(gòu)建第二個GR8CPU Rev3。有很多有趣的工作要做:具有65536字節(jié)的內(nèi)存,改進的算法和設(shè)計更高的速度,該CPU是有史以來最復(fù)雜的面包板CPU。

最早效果:

RAM模塊已完成:

設(shè)計ALU:

完成ALU設(shè)計:

視頻卡設(shè)計:

完成視頻輸出電路:

類Unix系統(tǒng)設(shè)計

GR8NIX是受Unix啟發(fā)的操作系統(tǒng),Unix是1970年代發(fā)布的簡單多用戶,多任務(wù)的操作系統(tǒng)。基于unix的思想的現(xiàn)代操作系統(tǒng)包括Linux, MacOS和Android等。GR8CPU Rev3用匯編語言編寫,內(nèi)核由2000行匯編實現(xiàn),5KB代碼:

(1)多線程支持32個并發(fā)線程。

(2)理論上不受限制的運行程序數(shù)量。

(3)動態(tài)內(nèi)存分配,當(dāng)前大小最大為8 KB。

(4)真正的程序執(zhí)行與位置無關(guān)(動態(tài)應(yīng)用程序加載)。

但是,GR8NIX并不完美,由于硬件限制,GR8NIX無法:

(1)保護內(nèi)存免受進程侵害。

(2)從嘗試運行無效指令中恢復(fù)。

(3)可靠地防止進程退出后發(fā)生內(nèi)存泄漏。

實現(xiàn)了動態(tài)內(nèi)存管理后,開始文件系統(tǒng)的制作,實現(xiàn)從磁盤中加載文件:

在視頻展示中,大家可以看到gr8nix變得栩栩如生,它成功加載并運行了一個Shell程序,該程序又加載并運行了大家想要的任何其他程序。

首先,Exec負責(zé)加載程序并運行它們。Exec首先進行一些完整性檢查:文件是否存在?它是程序文件嗎?這是有效的嗎?接下來,Exec通過檢查每個條目并將其偏移量添加到其長度中來查找可執(zhí)行文件的長度。Exec找到的長度是這些計算出的最大長度。

此后,Exec調(diào)用thread_launch,這是一種用于準(zhǔn)備啟動線程的方法。Exec通過向過程中添加一些原始數(shù)據(jù)來完成:用戶ID,指向分配的內(nèi)存指針,運行的命令行以及工作目錄等等。

編輯:jq


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

    關(guān)注

    241

    文章

    23136

    瀏覽量

    658471
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10825

    瀏覽量

    211150
  • ALU
    ALU
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    13075

原文標(biāo)題:厲害了!又一位純手工打造CPU的牛人,并且匯編語言實現(xiàn)類Unix系統(tǒng),支持文件系統(tǒng)

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TMS320C6000匯編語言工具 v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000匯編語言工具 v8.3.x.pdf》資料免費下載
    發(fā)表于 11-07 10:00 ?0次下載
    TMS320C6000<b class='flag-5'>匯編語言</b>工具 v8.3.x

    ARM匯編語言工具

    電子發(fā)燒友網(wǎng)站提供《ARM匯編語言工具.pdf》資料免費下載
    發(fā)表于 11-06 09:12 ?0次下載
    ARM<b class='flag-5'>匯編語言</b>工具

    TMS320C28x匯編語言工具

    電子發(fā)燒友網(wǎng)站提供《TMS320C28x匯編語言工具.pdf》資料免費下載
    發(fā)表于 11-01 09:32 ?0次下載
    TMS320C28x<b class='flag-5'>匯編語言</b>工具

    RISC-V匯編語言

    、導(dǎo)言 從 C 程序翻譯成為可以在計算機上執(zhí)行的機器語言程序的四個經(jīng)典步驟。這章的內(nèi)容包括了后三個步驟,不過我們要從匯編語言在 RISC-V 函數(shù)調(diào)用規(guī)范中的作用開始說起。 上圖從
    發(fā)表于 08-19 18:07

    如何用C語言實現(xiàn)高效查找(二分法)

    今天給分享下使用C語言實現(xiàn)二分算法,主要包含以下幾部分內(nèi)容:二分查找算法介紹二分查找算法使用場景二分查找算法代碼實現(xiàn)二分查找算法實現(xiàn)過程用C語言實
    的頭像 發(fā)表于 06-04 08:04 ?966次閱讀
    如何用C<b class='flag-5'>語言實現(xiàn)</b>高效查找(二分法)

    使用C語言實現(xiàn)的CRC計算單元的例子

    使用C語言實現(xiàn)的CRC計算單元的例子
    的頭像 發(fā)表于 05-16 16:16 ?859次閱讀

    請問在STM32CubeIDE下如何嵌入匯編語言代碼?

    在STM32CubeIDE下如何嵌入匯編語言代碼??
    發(fā)表于 03-25 06:56

    C語言實現(xiàn)Web參數(shù)傳遞

    電子發(fā)燒友網(wǎng)站提供《C語言實現(xiàn)Web參數(shù)傳遞.docx》資料免費下載
    發(fā)表于 03-24 09:14 ?2次下載

    計算機最核心的——CPU

    CPU的四個結(jié)構(gòu)中,寄存器的重要性遠遠高于其余三個,為什么這么說?因為程序通常是把寄存器作為對象來進行描述的。而說到寄存器,就不得不說到匯編語言,說到匯編語言,就不得不說到高級語言
    發(fā)表于 03-13 14:04 ?1723次閱讀
    計算機最核心的——<b class='flag-5'>CPU</b>

    【RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】匯編語言和擴展指令集

    【RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】匯編語言和擴展指令集 匯編語言 將C語言翻譯成可執(zhí)行的機器語言的重要步驟包括編譯過程,匯編過程,鏈
    發(fā)表于 02-03 13:29

    汽車ECU編程是單片機C語言還是匯編語言

    汽車ECU編程是單片機C語言嗎?還是匯編語言
    發(fā)表于 01-26 06:08

    C語言能夠實現(xiàn)單片機功能,為什么還要使用匯編呢?

    C語言能夠實現(xiàn)單片機功能,為什么還要使用匯編呢? C語言種高級編程語言,它具有跨平臺、可移植
    的頭像 發(fā)表于 01-15 14:59 ?978次閱讀

    ADUC7061如何使用C語言實現(xiàn)EEPROM功能?

    我使用ADUC7061做的信號采集,現(xiàn)在客戶需要實現(xiàn)EEPROM功能來保存3-5個數(shù)據(jù),請問如何使用C語言實現(xiàn)?不使用外部EEPROM 專用IC。
    發(fā)表于 01-12 06:56

    嵌入式C語言大神的進階思路

    熟悉種或幾種CPU架構(gòu),掌握幾種架構(gòu)的匯編語言,學(xué)會使用反匯編去分析C語言底層運行過程
    的頭像 發(fā)表于 01-02 09:58 ?586次閱讀

    匯編指令是什么 計算機語言匯編指令簡介

    匯編指令簡介 匯編語言是計算機語言種,是種低級語言。相比高級
    的頭像 發(fā)表于 12-13 11:18 ?1151次閱讀
    <b class='flag-5'>匯編</b>指令是什么 計算機<b class='flag-5'>語言</b><b class='flag-5'>匯編</b>指令簡介