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

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

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

古老CPU啟示錄-MC14500 1位CPU

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-05-08 11:31 ? 次閱讀

古老CPU啟示錄-MC14500 1位CPU(ICU 簡(jiǎn)介 在20世紀(jì)80年代4位、8位CPU逐漸成為主流,但是當(dāng)時(shí)的CPU發(fā)展還處于探索階段,所以各種“奇葩”的CPU都有出現(xiàn),今天給大家?guī)?-bit CPU MC14500和GI SBA。兩者差不多以MC14500為例看下這款“奇葩”CPU。 MC14500是一種工業(yè)控制單元(ICU),也被認(rèn)為是1位處理器。它由摩托羅拉(Motorola)生產(chǎn),但幾年前已停止生產(chǎn)。如今,MC14500已經(jīng)被價(jià)格合理的FPGA取代了,包括其所有外設(shè)和程序存儲(chǔ)器。至今仍存在使用MC14500設(shè)計(jì)的不同原因: 1、為舊的MC14500計(jì)算機(jī)創(chuàng)建備件; 2、重復(fù)使用MC14500軟件; 3、FPGA開發(fā)(VHDL代碼=》電子專家)與應(yīng)用程序(應(yīng)用工程師)之間的分離; 4、低成本PLC替代品; 5、在現(xiàn)代FPGA上運(yùn)行具有歷史意義的東西很有趣; 6、使用FPGA的學(xué)習(xí)項(xiàng)目。

特點(diǎn):

(1)16條指令;

(2)編程容易;

(3)容易掌握,不需要特殊的技術(shù)人員;

(4)由于使用外部存儲(chǔ)器,系統(tǒng)變得容易;

(5)能滿足用戶的特定需求,具有豐富的靈活性;

(6)能滿足用戶的特定需求,具有豐富的靈活性;

(7)能夠擴(kuò)展以適應(yīng)所有系統(tǒng)的規(guī)模和復(fù)雜程度;

(8)能夠進(jìn)行程序設(shè)計(jì);

(9)B系列C-MOS符合JEDE規(guī)格;

(10)噪音容限大;

(11)不工作時(shí)漏電流??;

(12)工作電壓3~18V;

(13)時(shí)鐘頻率范圍廣,一般工作頻率1MHz(VDD=5V,一個(gè)時(shí)鐘執(zhí)行一條指令);

(14)信號(hào)輸入和TTL互換;

(15)將判斷作為中心工作,超過微處理器的性能;

(16)應(yīng)用范圍廣,由繼電器回路開始的邏輯判斷處理到中速度的串行數(shù)據(jù)處理,還能減輕超負(fù)荷的微處理器系統(tǒng)的工作。

MC14500允許使用IO地址讀取輸入位。該位可以使用4位指令和內(nèi)部1位結(jié)果寄存器RR進(jìn)行處理。結(jié)果可以寫入IO地址的輸出位。 輸入和輸出數(shù)據(jù)位可以是物理輸入和輸出,其中可以連接電線,但它們可以連接到其他設(shè)備作為RAM定時(shí)器。 IO的尋址完全在MC14500外部完成。MC14500的所選指令的4位和外部IO多路復(fù)用器的IO地址行導(dǎo)致程序存儲(chǔ)器的數(shù)據(jù)寬度。MC14500使用術(shù)語“內(nèi)存字”來表示從程序內(nèi)存中輸出的數(shù)據(jù)。本文檔使用術(shù)語“command”作為“memory word”的同義詞。因此,命令由兩部分組成:指令和IO地址。 由于IO地址在MC14500的外部,因此不同實(shí)現(xiàn)之間的命令可能不同。此外,命令中4個(gè)指令位的位置也取決于設(shè)計(jì)。指令位可能占用命令中的高位或低位。 MC14500不包含從程序存儲(chǔ)器中尋址要處理的命令的程序計(jì)數(shù)器。因此,MC14500設(shè)計(jì)的程序計(jì)數(shù)器位數(shù)可能不同。

程序內(nèi)存或命令的寬度是指令的4位加上IOaddress行數(shù)。小型MC14500設(shè)計(jì)將使用8位寬的程序存儲(chǔ)器,能夠選擇多達(dá)16個(gè)IO地址。由于這并不多,許多MC14500設(shè)計(jì)使用12位寬的程序存儲(chǔ)器,可以選擇多達(dá)256個(gè)IO地址。12位寬的程序存儲(chǔ)器使用過去存在的4位寬的ROM設(shè)備。其他MC14500設(shè)計(jì)使用8位寬的程序存儲(chǔ)器,但是每個(gè)MC14500命令有兩個(gè)字節(jié)被讀取,因此形成了一個(gè)16位寬的命令,能夠?qū)ぶ范噙_(dá)4096個(gè)IO地址線,用于物理IO、單位寬RAM和定時(shí)器硬件。在MC14500設(shè)計(jì)中,從程序存儲(chǔ)器中讀取兩次會(huì)產(chǎn)生另一種變化,從程序中讀取的第一個(gè)字節(jié)可能在一種設(shè)計(jì)中是低字節(jié),但在另一種設(shè)計(jì)中是命令的高字節(jié)。

利用MC14500搭建的外圍系統(tǒng):

o4YBAGCWCB-ACCqwAABsZnAHo5k403.jpg

MC14500模擬

MC14500模擬器使用web技術(shù)和javascript來獨(dú)立于平臺(tái),并且在將來也可以使用。這種實(shí)現(xiàn)的一個(gè)缺點(diǎn)是javascript模擬器不能訪問用戶的文件系統(tǒng)或硬件。

模擬器在支持svg的瀏覽器上運(yùn)行。

按下“步進(jìn)”按鈕意味著下降的時(shí)鐘邊緣,因此MC14500加載指令和輸入數(shù)據(jù)。 釋放“步進(jìn)”按鈕意味著上升的時(shí)鐘邊緣,因此MC14500寫入數(shù)據(jù)。程序計(jì)數(shù)器增加。在程序存儲(chǔ)器訪問時(shí)間之后,下一條指令和IO地址出現(xiàn)在MC14500和輸出、輸入或RAM上。 詳細(xì)的介紹就不過多贅述,網(wǎng)上還有利用Python進(jìn)行匯編程序和反匯編程序的介紹。

FPGA實(shí)現(xiàn)

利用MC14500搭建的CPU 從上面的介紹可以看出MC14500和FPGA有很多相似的地方,接下來就用FPGA實(shí)現(xiàn)一下這款單比特CPU。

module mc14500b( input clk, input rst, input [3:0] i_inst, input i_data, output reg write = 0, output reg jmp = 0 , output reg rtn = 0, output reg flag0 = 0, output reg flagf = 0, output reg o_rr = 0, output reg o_data = 0 ); reg ien = 0, oen = 0; reg skip = 0; always @(negedge clk or posedge rst) begin

// Reset any flags from last clock. jmp 《= 0; rtn 《= 0; flag0 《= 0; flagf 《= 0; write 《= 0;

// FIX this it‘s not right technically. if (rst) begin

// reset behavior. reset internal flags and ignore clock. ien 《= 0; oen 《= 0; o_rr 《= 0; skip 《= 0; end else begin if (~skip) begin // skip case(i_inst) 4’b0000 : flag0 《= 1;

// NOPO 4‘b0001 : o_rr 《= ien & i_data; // LD 4’b0010 : o_rr 《= ien & ~i_data; // LDC 4‘b0011 : o_rr 《= ien & (i_data & o_rr); // AND 4’b0100 : o_rr 《= ien & (~i_data & o_rr); // NAND 4‘b0101 : o_rr 《= ien & (i_data | o_rr);

// OR 4’b0110 : o_rr 《= ien & (~i_data | o_rr); // NOR 4‘b0111 : o_rr 《= ien & (o_rr == i_data);

// XNOR 4’b1000 : begin // STO // DATA -》 RR, WRITE -》 1 for a clock (if oen is allowed)。 o_data 《= oen & o_rr; write 《= oen; end 4‘b1001 : begin // STOC

// DATA -》 ~RR, WRITE -》 1 for a clock. o_data 《= ~o_rr; write 《= oen; end 4’b1010 : ien 《= i_data; 4‘b1011 : oen 《= i_data; 4’b1100 : jmp 《= 1; 4‘b1101 : begin

// RTN rtn 《= 1; skip 《= 1; end 4’b1110 : skip 《= ~o_rr; 4‘b1111 : flagf 《= 1; endcase end else begin

// reset skip flag after clocking with skip once. skip 《= 0; end end end // neg edge// always @(posedge clk) begin// write 《= 0;// endendmodule

原文標(biāo)題:你見過1-bit CPU嗎?

文章出處:【微信公眾號(hào):OpenFPGA】歡迎添加關(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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

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

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210829

原文標(biāo)題:你見過1-bit CPU嗎?

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【書籍評(píng)測(cè)活動(dòng)NO.49】大模型啟示錄:一本AI應(yīng)用百科全書

    讀者將會(huì)看到《大模型啟示錄》的第二版,只因時(shí)代在不斷推動(dòng)我們更新知識(shí)。 申請(qǐng)時(shí)間 2024年10月28日——2024年11月28日 活動(dòng)參與方式 1、在本帖下方留言回帖說說你想要這本書的理由15字
    發(fā)表于 10-28 15:34

    服務(wù)器cpu和臺(tái)式機(jī)cpu區(qū)別

    服務(wù)器CPU和臺(tái)式機(jī)CPU的區(qū)別是一個(gè)復(fù)雜的話題,涉及到多個(gè)方面,包括設(shè)計(jì)、性能、功耗、可靠性、成本等。 服務(wù)器CPU和臺(tái)式機(jī)CPU的區(qū)別 1
    的頭像 發(fā)表于 10-10 15:12 ?611次閱讀

    CPU主頻是什么意思

    CPU主頻,作為計(jì)算機(jī)處理器性能的一個(gè)重要指標(biāo),承載著豐富的技術(shù)內(nèi)涵與實(shí)際應(yīng)用價(jià)值。以下是對(duì)CPU主頻的詳細(xì)解析,包括其定義、用途、技術(shù)原理、影響因素以及在多個(gè)領(lǐng)域的實(shí)際應(yīng)用。
    的頭像 發(fā)表于 09-26 15:50 ?628次閱讀

    CPU時(shí)鐘周期的組成和作用

    CPU時(shí)鐘周期是計(jì)算機(jī)體系結(jié)構(gòu)中一個(gè)至關(guān)重要的概念,它直接關(guān)聯(lián)到CPU的運(yùn)行速度和性能。以下是對(duì)CPU時(shí)鐘周期的定義、組成和作用的詳細(xì)解析。
    的頭像 發(fā)表于 09-26 15:32 ?317次閱讀

    雙核cpu和單核cpu的區(qū)別

    雙核CPU與單核CPU在多個(gè)方面存在顯著差異,這些差異主要體現(xiàn)在處理能力、性能、運(yùn)行效率、功耗以及適用場(chǎng)景等方面。 一、概念與結(jié)構(gòu) 雙核CPU :指在一個(gè)處理器上集成兩個(gè)運(yùn)算核心,通過并行總線將各處
    的頭像 發(fā)表于 09-24 16:17 ?1528次閱讀

    將軟件從8(字節(jié))可尋址CPU遷移至C28x CPU

    電子發(fā)燒友網(wǎng)站提供《將軟件從8(字節(jié))可尋址CPU遷移至C28x CPU.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 10:42 ?0次下載
    將軟件從8<b class='flag-5'>位</b>(字節(jié))可尋址<b class='flag-5'>CPU</b>遷移至C28x <b class='flag-5'>CPU</b>

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中一個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲(chǔ)器。CPU緩存的主要作用是減少CPU訪問內(nèi)存所需的時(shí)間,從而提
    的頭像 發(fā)表于 08-22 14:54 ?2087次閱讀

    CPU的各種知識(shí)

    1、CPU和字長(zhǎng):在數(shù)字電路和電腦技術(shù)中采用二進(jìn)制,代碼只有“0”和“1”,其中無論是“0”或是“
    的頭像 發(fā)表于 04-19 08:26 ?394次閱讀
    <b class='flag-5'>CPU</b>的各種知識(shí)

    cpu是什么意思 CPU與PUA的區(qū)別

    CPU是計(jì)算機(jī)中央處理器(Central Processing Unit)的英文縮寫,是計(jì)算機(jī)系統(tǒng)的核心部件之一。它負(fù)責(zé)處理和執(zhí)行計(jì)算機(jī)中的指令,控制和協(xié)調(diào)計(jì)算機(jī)系統(tǒng)中的各個(gè)硬件設(shè)備的工作。 PUA
    的頭像 發(fā)表于 02-05 10:47 ?1.1w次閱讀

    服務(wù)器cpu和普通電腦cpu的區(qū)別

    服務(wù)器CPU和普通電腦CPU之間存在許多區(qū)別。在以下文章中,我們將詳細(xì)介紹服務(wù)器CPU和普通電腦CPU之間的區(qū)別,并探討它們?cè)谛阅?、穩(wěn)定性、擴(kuò)展性、功耗和可靠性方面的差異。 一、性能
    的頭像 發(fā)表于 02-01 11:14 ?6333次閱讀

    cpu溫度太高怎么解決?cpu溫度高的原因?

    如何解決這一問題。 一、CPU溫度過高的原因 1. 散熱系統(tǒng)不當(dāng):服務(wù)器或臺(tái)式機(jī)的散熱系統(tǒng)設(shè)計(jì)可能不夠完善,或者由于久經(jīng)使用而積灰、質(zhì)量下降等問題。CPU散熱器可能被堵塞,導(dǎo)致熱量無法正常散發(fā)。 2. 過度超頻:當(dāng)用戶對(duì)
    的頭像 發(fā)表于 12-09 16:15 ?2923次閱讀

    secondary cpu執(zhí)行流程介紹

    secondary cpu執(zhí)行流程 aarch64架構(gòu)secondary cpu的內(nèi)核入口函數(shù)為secondary_entry(arch/arm64/kernel/head.S),以下為其執(zhí)行主流程
    的頭像 發(fā)表于 12-05 16:12 ?767次閱讀
    secondary <b class='flag-5'>cpu</b>執(zhí)行流程介紹

    SMP多核啟動(dòng)cpu操作函數(shù)

    init_cpu_ops ( int cpu ) { const char *enable_method = cpu_read_enable_method(cpu); (
    的頭像 發(fā)表于 12-05 16:04 ?666次閱讀
    SMP多核啟動(dòng)<b class='flag-5'>cpu</b>操作函數(shù)

    cpu滿載是什么原因 cpu容易滿載怎么辦 cpu過高怎么處理

    cpu滿載是什么原因 cpu容易滿載怎么辦 cpu過高怎么處理? CPU滿載是指CPU的使用率非常高,接近或達(dá)到100%的狀態(tài)。
    的頭像 發(fā)表于 11-28 17:29 ?1w次閱讀

    CPU技術(shù)路線、分類及運(yùn)行原理

    CPU按用途可分為桌面、服務(wù)器、移動(dòng)端CPU和嵌入式CPU。桌面CPU主要應(yīng)用于個(gè)人計(jì)算機(jī)(臺(tái)式機(jī)、筆記本電腦)。服務(wù)器CPU主要用于服務(wù)器
    發(fā)表于 11-27 10:02 ?1720次閱讀
    <b class='flag-5'>CPU</b>技術(shù)路線、分類及運(yùn)行原理