一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

CPU如何識別代碼

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-10-09 17:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

半導(dǎo)體其實就是介于導(dǎo)體和絕緣體中間的一種東西,比如二極管

9f595b52-457a-11ed-96c9-dac502259ad0.jpg

電流可以從A端流向C端,但反過來則不行。你可以把它理解成一種防止電流逆流的東西。

當C端10V,A端0V,二極管可以視為斷開。

當C端0V,A端10V,二極管可以視為導(dǎo)線,結(jié)果就是A端的電流源源不斷的流向C端,導(dǎo)致最后的結(jié)果就是A端=C端=10V

等等,不是說好的C端0V,A端10V么?咋就變成結(jié)果是A端=C端=10V了?

你可以把這個理解成初始狀態(tài),當最后穩(wěn)定下來之后就會變成A端=C端=10V。

文科的童鞋們對不住了,實在不懂問高中物理老師吧。反正你不能理解的話就記住這種情況下它相當于導(dǎo)線就行了。 利用半導(dǎo)體,我們可以制作一些有趣的電路,比如【與門】

9f6de16c-457a-11ed-96c9-dac502259ad0.jpg

此時A端B端只要有一個是0V,那Y端就會和0V地方直接導(dǎo)通,導(dǎo)致Y端也變成0V。只有AB兩端都是10V,Y和AB之間才沒有電流流動,Y端也才是10V。 我們把這個裝置成為【與門】,把有電壓的地方計為1,0電壓的地方計為0。至于具體幾V電壓,那不重要。 也就是AB必須同時輸入1,輸出端Y才是1;AB有一個是0,輸出端Y就是0。 其他還有【或門】【非門】和【異或門】,跟這個都差不多,或門就是輸入有一個是1輸出就是1,輸入00則輸入0。 非門也好理解,就是輸入1輸出0,輸入0輸出1。 異或門難理解一些,不過也就那么回事,輸入01或者10則輸出1,輸入00或者11則輸出0。(即輸入兩個一樣的值則輸出0,輸入兩個不一樣的值則輸出1)。 這幾種門都可以用二極管做出來,具體怎么做就不演示了,有興趣的童鞋可以自己試試。每次都畫二極管也是個麻煩,我們就把門電路簡化成下面幾個符號。

9f87089a-457a-11ed-96c9-dac502259ad0.jpg

然后我們就可以用門電路來做CPU了。當然做CPU還是挺難的,我們先從簡單的開始:加法器。 加法器顧名思義,就是一種用來算加法的電路,最簡單的就是下面這種。

9f9c6848-457a-11ed-96c9-dac502259ad0.jpg

AB只能輸入0或者1,也就是這個加法器能算0+0,1+0或者1+1。 輸出端S是結(jié)果,而C則代表是不是發(fā)生進位了,二進制1+1=10嘛。這個時候C=1,S=0 費了大半天的力氣,算個1+1是不是特別有成就感? 那再進一步算個1+2吧(二進制01+10),然后我們就發(fā)現(xiàn)了一個新的問題:第二位需要處理第一位有可能進位的問題,所以我們還得設(shè)計一個全加法器。

9fb15f28-457a-11ed-96c9-dac502259ad0.jpg

每次都這么畫實在太麻煩了,我們簡化一下

9fcd0070-457a-11ed-96c9-dac502259ad0.jpg

也就是有3個輸入2個輸出,分別輸入要相加的兩個數(shù)和上一位的進位,然后輸入結(jié)果和是否進位。 然后我們把這個全加法器串起來

9fdaf6c6-457a-11ed-96c9-dac502259ad0.jpg

我們就有了一個4位加法器,可以計算4位數(shù)的加法也就是15+15,已經(jīng)達到了幼兒園中班水平,是不是特別給力? 做完加法器我們再做個乘法器吧,當然乘任意10進制數(shù)是有點麻煩的,我們先做個乘2的吧。 乘2就很簡單了,對于一個2進制數(shù)數(shù)我們在后面加個0就算是乘2了 比如:

5=101(2) 10=1010(2)

所以我們只要把輸入都往前移動一位,再在最低位上補個零就算是乘2了。具體邏輯電路圖我就不畫,你們知道咋回事就行了。 那乘3呢?簡單,先位移一次(乘2)再加一次。乘5呢?先位移兩次(乘4)再加一次。 所以一般簡單的CPU是沒有乘法的,而乘法則是通過位移和加算的組合來通過軟件來實現(xiàn)的。這說的有點遠了,我們還是繼續(xù)做CPU吧。 現(xiàn)在假設(shè)你有8位加法器了,也有一個位移1位的模塊了。串起來你就能算了!

(A+B)X2

激動人心,已經(jīng)差不多到了準小學(xué)生水平。 那我要是想算呢?

AX2+B

簡單,你把加法器模塊和位移模塊的接線改一下就行了,改成輸入A先過位移模塊,再進加法器就可以了。 啥????你說啥???你的意思是我改個程序還得重新接線? 所以你以為呢?編程就是把線來回插啊。

驚喜不驚喜?意外不意外? 早期的計算機就是這樣編程的,幾分鐘就算完了但插線好幾天。而且插線是個細致且需要耐心的工作,所以那個時候的程序員都是清一色的漂亮女孩子,穿制服的那種,就像照片上這樣。是不是有種生不逢時的感覺? 雖然和美女作伴是個快樂的事,但插線也是個累死人的工作。所以我們需要改進一下,讓CPU可以根據(jù)指令來相加或者乘2。 這里再引入兩個模塊,一個叫flip-flop,簡稱FF,中文好像叫觸發(fā)器。

a02137a8-457a-11ed-96c9-dac502259ad0.jpg

這個模塊的作用是存儲1bit數(shù)據(jù)。比如上面這個RS型的FF,R是Reset,輸入1則清零。S是Set,輸入1則保存1。RS都輸入0的時候,會一直輸出剛才保存的內(nèi)容。 我們用FF來保存計算的中間數(shù)據(jù)(也可以是中間狀態(tài)或者別的什么),1bit肯定是不夠的,不過我們可以并聯(lián)嘛,用4個或者8個來保存4位或者8位數(shù)據(jù)。這種我們稱之為寄存器(Register)。 另外一個叫MUX,中文叫選擇器。

a038b8d8-457a-11ed-96c9-dac502259ad0.jpg

這個就簡單了,sel輸入0則輸出i0的數(shù)據(jù),i0是什么就輸出什么,01皆可。同理sel如果輸入1則輸出i1的數(shù)據(jù)。當然選擇器可以做的很長,比如這種四進一出的

a04bf182-457a-11ed-96c9-dac502259ad0.jpg

具體原理不細說了,其實看看邏輯圖琢磨一下就懂了,知道有這個東西就行了。 有這個東西我們就可以給加法器和乘2模塊(位移)設(shè)計一個激活針腳。 這個激活針腳輸入1則激活這個模塊,輸入0則不激活。這樣我們就可以控制數(shù)據(jù)是流入加法器還是位移模塊了。 于是我們給CPU先設(shè)計8個輸入針腳,4位指令,4位數(shù)據(jù)。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    11077

    瀏覽量

    217024
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70709

原文標題:CPU 到底是怎么識別代碼的?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    單核CPU網(wǎng)關(guān)和雙核CPU網(wǎng)關(guān)有什么區(qū)別

    單核CPU網(wǎng)關(guān)與雙核CPU網(wǎng)關(guān)的核心區(qū)別在于處理能力、多任務(wù)效率、性能表現(xiàn)及適用場景,雙核CPU網(wǎng)關(guān)在多任務(wù)處理、復(fù)雜計算和響應(yīng)速度上具有顯著優(yōu)勢,而單核CPU網(wǎng)關(guān)則更適合輕量級、低負
    的頭像 發(fā)表于 07-05 14:37 ?259次閱讀

    基于LockAI視覺識別模塊:手寫數(shù)字識別

    手寫數(shù)字識別是一種經(jīng)典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫的數(shù)字。 本文將教會你如何使用基于RV1106的 LockAI視覺識別模塊進行手寫數(shù)字
    發(fā)表于 06-30 16:45

    有償求助!esp32cam攝像頭車牌識別代碼執(zhí)行時,上位機閃退

    esp32cam攝像頭車牌識別在操作執(zhí)行識別車牌打開攝像頭,上機位直接閃退,攝像頭在例程檢測是有圖片的,有償找一個能幫我修改整體代碼
    發(fā)表于 06-03 16:18

    請問訓(xùn)練平臺訓(xùn)練完的識別程序,可以實現(xiàn)在識別到物體時屏幕再顯示出來,沒有識別到物體時屏幕不顯示嗎?

    問題如題,訓(xùn)練平臺訓(xùn)練完的識別程序,可以實現(xiàn)在識別到物體時屏幕再顯示出來,沒有識別到物體時屏幕不顯示嗎?比較小白,可以解釋一下怎么做嗎?或者是我應(yīng)該學(xué)哪里? 如果直接使用平臺下載的代碼
    發(fā)表于 04-29 06:12

    信創(chuàng)國產(chǎn)CPU推薦

    cpu
    jf_10805031
    發(fā)布于 :2025年04月23日 17:20:43

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126上實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案代碼分為分為三個業(yè)務(wù)流程,主體代碼負責(zé)抓取、合成圖像,算法
    的頭像 發(fā)表于 04-21 13:51 ?11次閱讀
    基于RV1126開發(fā)板實現(xiàn)人臉<b class='flag-5'>識別</b>方案

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126開發(fā)板上實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案代碼分為分為三個業(yè)務(wù)流程,主體代碼負責(zé)抓取、合成圖像,算法
    的頭像 發(fā)表于 04-21 10:24 ?107次閱讀
    基于RV1126開發(fā)板實現(xiàn)人臉<b class='flag-5'>識別</b>方案

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126開發(fā)板實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案代碼分為分為三個業(yè)務(wù)流程,主體代碼負責(zé)抓取、合成圖像,算法
    的頭像 發(fā)表于 04-18 16:55 ?83次閱讀
    基于RV1126開發(fā)板實現(xiàn)人臉<b class='flag-5'>識別</b>方案

    CPU的各種指令和執(zhí)行流程

    在集成電路設(shè)計中,CPU的指令是指計算機中央處理單元(CPU)用來執(zhí)行計算任務(wù)的基本操作指令集。這些指令是CPU能夠理解并執(zhí)行的二進制代碼,它們在計算機內(nèi)部由硬件控制并按順序執(zhí)行,從而
    的頭像 發(fā)表于 04-18 11:24 ?824次閱讀

    三星貼片電容識別容值代碼方法

    三星貼片電容的容值代碼識別方法主要基于其型號編碼中的特定部分。以下是一個詳細的識別步驟和說明: ? ?一、識別容值代碼的基本步驟 ? ?查看
    的頭像 發(fā)表于 12-13 16:17 ?837次閱讀
    三星貼片電容<b class='flag-5'>識別</b>容值<b class='flag-5'>代碼</b>方法

    服務(wù)器cpu和臺式機cpu區(qū)別

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

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

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

    怎樣理解貼片電容識別容值代碼?

    貼片電容容量是多大,其實很好識別,我們只要知道它的命名規(guī)則就知道大小了,舉一個簡單的例子,假如拿到原裝三星貼片電容,它的型號為三星貼片電容0805X7R104K500NT。 那么它的容值是多大呢
    的頭像 發(fā)表于 09-10 14:30 ?862次閱讀

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

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

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。 包含必要
    的頭像 發(fā)表于 07-16 10:42 ?4630次閱讀