色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

小伙手工制作了一款32位CPU

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2023-07-11 16:11 ? 次閱讀

一個國外小伙制造出了自己的CPU,從設計 CPU、制作原型機、最終成品到軟件編程,19 歲極客小伙用了整整兩年的時間。

RISC-V是一個基于精簡指令集(RISC)原則的開源指令集架構(ISA),它是對應開源軟件運動的一種「開源硬件」。該項目于 2010 年始于加州大學伯克利分校,項目貢獻者是該大學以外的志愿者和行業工作者。

RISC-V 指令集的設計考慮了小型、快速、低功耗的現實情況來實做,但并沒有對特定的微架構做過度的設計。與大多數指令集相比,RISC-V 指令集可以自由地用于任何目的,允許任何人設計、制造和銷售 RISC-V 芯片和軟件。

2021年4月初,一位熱衷于自制CPU的19歲極客小伙Filip Szkandera自己設計和制造出了32位功能性RISC-V CPU,并構建了與其他自制計算機不同的個人計算機,命名為菠蘿一號(Pineapple ONE)。從設計、調試和安裝CPU和所有硬件,Filip整整花了兩年時間。Filip還受邀在東京舉辦的RISC-V Days Tokyo 2021 Spring上做了演示,他也成為了該會議自2017年舉辦以來最年輕的演示者,下圖是創建者Filip Szkandera與他的作品。

a99a73d6-1fc1-11ee-962d-dac502259ad0.jpg

整體來看,「菠蘿一號」是由8塊正方形打印電路板垂直堆疊組成,每塊邊側高度約為10厘米,外加一個VGA顯示接口卡。一共使用了230多個集成電路,大多數是74HCT系列邏輯芯片。

32 位 RISC-V CPU 的規格如下:

最大時鐘速度:500kHz

程序內存:512kB

內存 512kB

閃存 512kB

VGA 輸出:200×150px(黑白)

2 個 8 位輸入端口

2 個 8 位輸出端口

目前,「菠蘿一號」計算機支持的命令包括:HELLO、HI、PEEK 《ADDRESS》、POKE 《ADDRESS》 《DATA》、SYSTEM INFORMATION、CLEAR 等。

此外雖然 CPU 的運行速度僅有 500kHz,但玩個貪吃蛇游戲還是綽綽有余的,貪吃蛇游戲界面如下。

a9c760d0-1fc1-11ee-962d-dac502259ad0.gif

Filip 在一篇博客中介紹了他從設計 CPU、制作原型機、輸入 / 輸出端口、最終成品到軟件編程的技術細節。-

設計自己的 RISC-V CPU

此前,我在 Youtube 上發現了電子愛好者 Ben Eater 自制 CPU(構建著名的 8 位計算機和經典的 6502 微處理器)的相關教程,所以非常著迷,也就有了自制 CPU 的想法。然而,我覺得對于 CPU 基礎知識了解的還不夠,因此又觀看了 Google Robotics 軟件工程師 Robert Baruch 的教程視頻,他只使用了基本邏輯元件構建了 32 位 RISC-V CPU。

之后,我便開始在一個名為「Logisim-Evolution」的項目中制造自己的 RISC-V CPU。我給自己設定的目標是不使用任何微控制器FPGA,只使用基本的分立邏輯元件。編譯器支持的最基礎 RISC-V CPU 必須包含擴展「整數(I)」且至少為 32 位。此外,我還需要安裝一個 VGA(視頻圖形陣列)輸出卡。

我花了整整 6 個月的時間在 Logisim 項目上,終于得到一個可運行的程序模擬。下一步繪制所有模塊的原理圖、從 JLCPCB 網站上購買所有的 PCB(印制電路板)并重新設計。由于這是我首次購買 PCB,擔心搞砸一切,于是決定在設計過程中分模塊處理,一次選購幾個,以免自己應接不暇。

Logisim-Evolution 項目中的模擬原理圖如下:

ac1e13a6-1fc1-11ee-962d-dac502259ad0.png

經過了兩輪設計,最后只剩下幾個模塊需要處理,其中一個是直接生成器(immediate generator)。當我絞盡腦汁想將它從模擬轉化為合適的原理圖時,發現自己犯了一個致命錯誤:完全不清楚模擬是如何運行的。幸運的是,修復起來也沒有那么困難,于是對已經制作完成的 PCB 做了改進。

原型機

接下來,我將開源電子原型平臺 Arduino 連接到每個 PCB 的輸入端、同時監控輸出端并與預測端(prediction)做對比,從而對這些 PCB 進行測試。設置好之后,一切就可以自動運行了。每次測試都至少持續數個小時。

當我準備好將所有 PCB 整合到一塊時,模塊也已經間隔地安裝在了木頭上,并使用 3D 打印墊片(spacer)來固定。接著上傳了一個測試程序并開始測試,原型機示意圖如下:

ad218652-1fc1-11ee-962d-dac502259ad0.png

Arduino 平臺僅用來調試,沒有在最終成品中使用。

盡管我單獨測試了每個 PCB,但首次嘗試還是失敗了,這不足為奇。我又不得不花費大量時間來找失敗的原因,找出了一些錯誤,如很難發現的時序問題。

輸入 / 輸出端口

我構建的 RISC-V CPU 擁有兩個 8 位輸入端口和兩個 8 位輸出端口,你可以通過 RJ50 連接器在前板上訪問。此外,頂部模塊上有一個 7 段式顯示器(7-segment display),它與一個可以通過程序訪問的寄存器相連。

至于與 VGA 顯示器的連接,我受 Ben Eater 的啟發構建了一個 VGA 卡。VGA 的輸出分辨率是 200×150 像素,黑白顯示。雖然我想實現彩色顯示,但需要使用大型 V-RAM,太貴了,也就放棄了。

下板(board)將顯示存儲在 EEPROM(帶電可擦可編程只讀存儲器,型號 39SF010A)中的靜態圖像。我在最終成品中使用到了雙端口 SRAM(靜態隨機存取存儲器)。

adcc560e-1fc1-11ee-962d-dac502259ad0.jpg

構建了一些演示用的 I/O 模塊,它們在末端都有 RJ50 連接器。

adfbcc68-1fc1-11ee-962d-dac502259ad0.png

PS/2 解碼器是買的現成的,我沒有時間自己制作。

最終成品

讓原型機運行不太容易,在大約 5 個月的時間后,我終于成功了。

我又重新設計了所有的 PCB電路板,修復錯誤,并將這些 PCB 以塔狀結構堆疊,所以每個模塊僅用針座(pinheader)相連接。重新設計 PCB 大約花了 3 個月的時間,然后對最終的 PCB 進行有序排列。

此外,我還設計并使用 Prusa i3 3D 打印機打印了一個圓柱體外殼,足以容納所有的 PCB 和 I/O 連接器,這樣也可以將鍵盤和 VGA 顯示器直接連接到計算機。

最終成品的組件拆卸如下圖所示。

ae574840-1fc1-11ee-962d-dac502259ad0.png

架構圖如下所示。

aec87e5c-1fc1-11ee-962d-dac502259ad0.png

編程

最后,在經過了數百小時的設計、焊接和調試,我終于看到了成功的曙光。在好友 Jan Vykydal 的幫助下,我設置了一個兼容 RISC-V 且運行良好的編譯器,使用 C 語言編寫了一些系統軟件和 demo 程序。這個編譯器可以生成機器代碼,我使用一個 Python 腳本來接收代碼,并寫入 CPU 內存。

aeebf1de-1fc1-11ee-962d-dac502259ad0.png

我還創建了一個具有一些有用函數的庫,代碼如下:

af049fe0-1fc1-11ee-962d-dac502259ad0.png

利用這個庫,我創建了一個簡單的 shell 程序,這樣可以通過「與其中一個輸入端口相連的 PS/2 鍵盤」來實現與該程序的交互。我使用帶有模塊的 PS/2 鍵盤將輸入信號解碼為 8 位。

af1dc790-1fc1-11ee-962d-dac502259ad0.png

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

    關注

    14

    文章

    954

    瀏覽量

    40760
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10855

    瀏覽量

    211601
  • RISC-V
    +關注

    關注

    45

    文章

    2271

    瀏覽量

    46133

原文標題:小伙手工制作了一款32位CPU

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電子制作手工焊接技術基礎

    電子發燒友網為大家講述電子制作手工焊接技術基礎,包括手工焊接的工具,手工焊接的注意事項,手工焊接操作的基本步驟等
    發表于 01-31 11:25 ?3.1w次閱讀
    電子<b class='flag-5'>制作</b><b class='flag-5'>手工</b>焊接技術基礎

    制作了個智能小車,不知道用哪軟件?

    制作了個智能小車,想通過WiFi模塊在手機端控制小車,不知道用哪軟件,求介紹
    發表于 11-06 15:43

    如何自己制作一款AD轉換模塊

    本篇博客主要是針對網上店家賣的各種類型AD轉換模塊有些小貴,所以著重介紹了如何自己制作一款AD轉換模塊,并且通過FPGA進行控制,實時采集模擬量。所設計的AD模塊為單通道 12bit AD 采集模塊
    發表于 07-27 07:13

    如何制作一款HID鍵盤?

    如何制作一款HID鍵盤?
    發表于 01-18 06:41

    如何制作一款振動試驗夾具?

    如何制作一款振動試驗夾具?
    發表于 01-18 07:21

    自己制作一款CMSIS-DAP調試器

    CMSIS-DAP調試器是一款開源調試器,網上也有很多制作資料,我也是根據這些資料,自己制作了一款CMSIS-DAP調試器,目前使用沒發現什么BUG,下載調試功能都OK,就是速度沒有J
    發表于 02-28 11:20

    自制一款PCB吉他

    描述這是一款受搖滾樂最酷吉他之啟發的 PCB:Zakk Wylde 的 Les Paul Custom。該板設計有七個按鈕,可通過蜂鳴器發出音符,所有按鈕均通過堆疊在 PCB 后面
    發表于 07-15 08:52

    一款32嵌入式CPU的定點加法器設計

    根據一款32嵌入式CPU的400MHz主頻的要求,結合該CPU五級流水線結構,并借鑒各種算法成熟的加法器,提出了種電路設計簡單、速度快、
    發表于 07-19 16:10 ?17次下載

    神州龍芯——中國第一款CPU

    神州龍芯2002年第一款通用CPU龍芯號的問世,結束了中國“無芯”的歷史。 2005年64龍芯二號CPU的發布,實現了“從
    發表于 12-23 17:12 ?3657次閱讀

    用廢舊電路板制作一款超低價音響

    用TDA1013B集成塊.與廢舊電路板和拆機零件制作了一款超低價音響。
    發表于 01-12 10:53 ?7631次閱讀
    用廢舊電路板<b class='flag-5'>制作</b><b class='flag-5'>一款</b>超低價音響

    一款簡單的存儲器讀寫儀制作

    一款簡單的存儲器讀寫儀制作
    發表于 01-29 13:45 ?7次下載

    調光小臺燈制作過程

    之前的個純手工DIY作品,純手工打造的 調光小臺燈 枚,用電子元件和木板搭配,制作了這么一款
    的頭像 發表于 10-03 14:41 ?2.2w次閱讀

    手工制作了一款32CPU

    整體來看,「菠蘿號」是由8塊正方形打印電路板垂直堆疊組成,每塊邊側高度約為10厘米,外加個VGA顯示接口卡。共使用了230多個集成電路,大多數是74HCT系列邏輯芯片。
    的頭像 發表于 03-22 09:06 ?2134次閱讀

    制作了個GlobLED

    電子發燒友網站提供《制作了個GlobLED.zip》資料免費下載
    發表于 11-14 11:14 ?0次下載
    <b class='flag-5'>制作了</b><b class='flag-5'>一</b>個GlobLED

    怎么制作一款基于RT-Thread和PSoC的光照監測儀呢?

    基于RT-Thread、和英飛凌的PSoC開發板制作了一款光照監測儀,具有數據上報到云端、SD卡數據備份、屏幕顯示等功能。
    發表于 08-02 15:08 ?431次閱讀
    怎么<b class='flag-5'>制作</b><b class='flag-5'>一款</b>基于RT-Thread和PSoC的光照監測儀呢?
    主站蜘蛛池模板: 无码骚夜夜精品| 国产亚洲精品99一区二区| 孕妇bbwbbwbbwbbw超清| 少妇被阴内射XXXB少妇BB| 免费三级现频在线观看| 国产精品女上位在线观看 | 三叶草未满十八岁| 亚洲成人免费在线观看| 在线看片成人免费视频| 成人毛片18岁女人毛片免费看| 国产亚洲精品久久久久久入口| 久久精品国产99欧美精品亚洲| 青青久久久| 伊人久久青青草| 高清国产在线播放成人| 久久黄色网| 天天干夜夜叭| 中国少妇内射XXXHD免费| 国产精品97久久久久久AV色戒| 久久精品电影院| 爽死你个放荡粗暴小淫货漫画| 越南女 黑人 痛苦 大叫| 动漫美女被羞羞动漫怪物| 久久久久综合一本久道| 先锋影音 av| 扒开美女的内衣亲吻漫画| 久久re视频这里精品一本到99| 果冻传媒免费观看| 理论937| 性啪啪chinese东北女人| 3d在线看小舞被躁视频| 国产精品爽爽久久久久久竹菊| 久久免费精彩视频| 校花被扒衣吸乳羞羞漫画| 扒开老师大腿猛进AAA片| 两个女人互添下身高潮自视频| 午夜福利合集1000在线| qvod电影在线观看| 男生J桶进女人P又色又爽又黄| 亚洲熟妇色自偷自拍另类| 国产免费啪嗒啪嗒视频看看|