日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

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

GReq_mcu168 ? 來源:安富萊電子 ? 作者:安富萊電子 ? 2021-03-18 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

硬件設計

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

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

最早效果:

RAM模塊已完成:

設計ALU:

完成ALU設計:

視頻卡設計:

完成視頻輸出電路:

類Unix系統(tǒng)設計

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

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

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

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

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

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

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

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

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

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

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

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

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

編輯:jq


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

    關注

    244

    文章

    24733

    瀏覽量

    692679
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11336

    瀏覽量

    226006
  • ALU
    ALU
    +關注

    關注

    0

    文章

    34

    瀏覽量

    13561

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    匯編給CH32寫了個本機FORTH語言實現(xiàn)

    碎片問題,所以想著換個retro點的東西,起初看了下上個世紀的單片機/微機basic實現(xiàn)非常節(jié)省內存,但是實現(xiàn)起來有點復雜,后來看有人在單片機上用FORTH,所以自己拿
    發(fā)表于 03-19 11:07

    講解C語言代碼的實現(xiàn)過程

    重點講解C語言代碼的實現(xiàn)過程,算法的C語言實現(xiàn)過程具有般性,通過PID算法的C語言實現(xiàn),可以以此類推,設計其它算法的C
    發(fā)表于 01-21 07:58

    C語言主要特點

    。 5.語法限制不太嚴格,程序設計自由度大。 6.C語言允許直接訪問物理地址,能進行(bit)操作,能夠實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此C語言即具有高級
    發(fā)表于 01-05 07:41

    請問芯源CW32 MCU支持哪些匯編語言

    芯源CW32 MCU支持哪些匯編語言?
    發(fā)表于 12-23 06:14

    C語言中可以嵌套匯編語言嗎?

    請問C語言中可以嵌套匯編語言嗎?
    發(fā)表于 12-15 08:14

    匯編語言還有必要學習嗎

    1、嵌入式操作系統(tǒng)需要匯編語言 2、實時性要求非常高的地方,需要匯編語言,比如FFT算法。 3、匯編語言做運算那叫個痛苦,下面是
    的頭像 發(fā)表于 11-25 11:46 ?812次閱讀
    <b class='flag-5'>匯編語言</b>還有必要學習嗎

    匯編語言的起源

    、匯編語言是什么? 我們知道,CPU 只負責計算,本身不具備智能。你輸入條指令(instruction),它就運行次,然后停下來,等待
    發(fā)表于 11-20 07:19

    匯編寄存器的知識

    學習匯編語言,首先必須了解兩個知識點:寄存器和內存模型。 先來看寄存器。CPU 本身只負責運算,不負責儲存數據。數據般都儲存在內存之中,CPU 要用的時候就去內存讀寫數據。 但是
    發(fā)表于 11-20 06:45

    C語言和單片機C語言有什么差異

    匯編語言機器才能讀懂,所以每個平臺的編譯器編譯成對應平臺匯編的程序,每個平臺的匯編樣,當然編譯器也不樣。 DOS上的TC2 TC3 W
    發(fā)表于 11-14 07:55

    RVMCU課堂「7」: 手把手教你玩轉RVSTAR—匯編程序篇

    相對于抽象層次更高的C/C++語言匯編語言門抽象層次比較低的語言,面向的是最底層的硬件,直接使用處理器的基本指令。雖然現(xiàn)在大多數的程序設計已經不再使用
    發(fā)表于 10-31 08:46

    通過內聯(lián)匯編調用乘法指令mulh\\mulhsu\\mulhu

    1.蜂鳥E203內核支持的乘法指令有四種(不含融合指令),分別為mul、mulh、mulhu與mulhsu。它們的匯編語言格式如下: mulrd,rs1, rs2 將兩個32整數相乘,取低
    發(fā)表于 10-24 06:52

    ARM入門學習方法分享

    使用些在線資源,如ARM的官方文檔和教程,來學習ARM匯編語言。 三、使用開發(fā)工具:為了進行ARM的開發(fā),你會需要些開發(fā)工具。ARM提供了些免費的開發(fā)工具,例如Keil MDK
    發(fā)表于 07-23 10:21

    匯編語言教學中文資料

    電子發(fā)燒友網站提供《匯編語言教學中文資料.rar》資料免費下載
    發(fā)表于 06-30 15:15 ?7次下載

    Windows環(huán)境下32匯編語言中文資料

    電子發(fā)燒友網站提供《Windows環(huán)境下32匯編語言中文資料.rar》資料免費下載
    發(fā)表于 06-30 15:14 ?0次下載

    單片機C語言實例(350+例)

    350+單片機C語言實例! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第時間告知,刪除內容!
    發(fā)表于 05-22 21:47
    富阳市| 萨嘎县| 西宁市| 新疆| 阿拉善右旗| 岗巴县| 白朗县| 桓仁| 南陵县| 扬州市| 旌德县| 三门峡市| 翁源县| 康乐县| 万源市| 绥中县| 小金县| 微博| 永昌县| 长泰县| 霍城县| 克什克腾旗| 宣化县| 苍溪县| 浦县| 黄梅县| 新宾| 安吉县| 湛江市| 湟源县| 德阳市| 顺义区| 赤城县| 仁寿县| 剑河县| 邢台县| 陈巴尔虎旗| 临西县| 怀集县| 黄浦区| 哈巴河县|