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

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

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

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

CPU的計(jì)算能力是怎么來的?開關(guān)如何變成的CPU?

STM32嵌入式開發(fā) ? 來源:碼農(nóng)的荒島求生 ? 作者:碼農(nóng)的荒島求生 ? 2022-11-14 16:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

幾乎每天都會(huì)開燈關(guān)燈,但這簡單的開關(guān)卻是組成CPU的基本單元。 特意分享本文,來看下怎么構(gòu)建CPU這個(gè)非0即1的開關(guān)世界。從晶體管到門電路上世紀(jì)出現(xiàn)了晶體管這個(gè)小而偉大的發(fā)明。

有了晶體管,也就是開關(guān),在此基礎(chǔ)之上就可以搭建與、或、非門電路。

任何一個(gè)邏輯函數(shù)最終都可以通過與、或、非表達(dá)出來。也就是說,計(jì)算機(jī)最終可以通過簡單的與、或、非門構(gòu)造出來。與或非門實(shí)現(xiàn)計(jì)算、存儲(chǔ)電路計(jì)算以加法為例。
由于CPU只認(rèn)知 0 和 1,也就是二進(jìn)制,那么二進(jìn)制的加法有哪些組合呢:

0 + 0,結(jié)果為0,進(jìn)位為0

0 + 1,結(jié)果為1,進(jìn)位為0

1 + 0,結(jié)果為1,進(jìn)位為0

1 + 1,結(jié)果為0,進(jìn)位為1

注意進(jìn)位這一列,只有當(dāng)兩路輸入的值都是 1 時(shí),進(jìn)位才是 1 ,這就是與門啊! 再看下結(jié)果一列,當(dāng)兩路輸入的值不同時(shí)結(jié)果為1,輸入結(jié)果相同時(shí)結(jié)果為0,這就是異或?。?如下圖,用一個(gè)與門和一個(gè)異或門就可以實(shí)現(xiàn)二進(jìn)制加法:

ff096e1e-6269-11ed-8abf-dac502259ad0.png

上述電路就是一個(gè)簡單的加法器,加法可以用與或非門實(shí)現(xiàn)。

除了加法,我們也可以根據(jù)需要將不同的算數(shù)運(yùn)算設(shè)計(jì)出來,負(fù)責(zé)計(jì)算的電路有一個(gè)統(tǒng)稱,這就是所謂的算術(shù)邏輯單元ALU(arithmetic/logic unit),是CPU 中專門負(fù)責(zé)運(yùn)算的模塊,本質(zhì)上和上面的簡單電路沒什么區(qū)別,就是更加復(fù)雜而已。相關(guān)文章:CPU如何進(jìn)行數(shù)字加法。

現(xiàn)在,通過與或非門的組合我們獲得了計(jì)算能力,計(jì)算能力就是這么來的。

但,只有計(jì)算能力是不夠的,電路需要能記得住信息。存儲(chǔ) 到目前為止,你設(shè)計(jì)的組合電路比如加法器天生是沒有辦法存儲(chǔ)信息的,它們只是簡單的根據(jù)輸入得出輸出,但輸入輸出總的有個(gè)地方能夠保存起來,這就是需要電路能保存信息。

電路怎么能保存信息呢?有一天一位英國物理學(xué)家,給出了這樣一個(gè)神奇電路:

ff2f467a-6269-11ed-8abf-dac502259ad0.png

這是兩個(gè)與非門的組合。 比較獨(dú)特的是該電路的組合方式,一個(gè)與非門的輸出是另一個(gè)與非門的輸入。該電路的組合方式會(huì)自帶一種很有趣的特性,只要給S和R端輸入1,那么這個(gè)電路只會(huì)有兩種狀態(tài):

a端為1,此時(shí)B=0、A=1、b=0;

a端為0,此時(shí)B=1、A=0、b=1;

不會(huì)再有其他可能了,我們把a(bǔ)端的值作為電路的輸出。 此后,你把S端置為0的話(R保持為1),那么電路的輸出也就是a端永遠(yuǎn)為1,這時(shí)就可以說我們把1存到電路中了;而如果你把R段置為0的話(S保持為1),那么此時(shí)電路的輸出也就是a端永遠(yuǎn)為0,此時(shí)我們可以說把0存到電路中了。 就這樣,電路具備存儲(chǔ)信息的能力了。 現(xiàn)在為保存信息你需要同時(shí)設(shè)置S端和R端,但你的輸入是有一個(gè)(存儲(chǔ)一個(gè)bit位嘛),為此你對(duì)電路進(jìn)行了改造:

ff4c6912-6269-11ed-8abf-dac502259ad0.png

這樣,當(dāng)D為0時(shí),整個(gè)電路保存的就是0,否則就是1。

寄存器與內(nèi)存現(xiàn)在你的電路能存儲(chǔ)一個(gè)比特位了,想存儲(chǔ)多個(gè)比特位還不簡單,復(fù)制粘貼就可以了:

ff79d870-6269-11ed-8abf-dac502259ad0.png

我們管這個(gè)組合電路就叫寄存器。 如果繼續(xù)搭建更加復(fù)雜的電路以存儲(chǔ)更多信息,同時(shí)提供尋址功能,就這樣內(nèi)存也誕生了。 寄存器及內(nèi)存都離不開上文那個(gè)簡單電路,只要通電,這個(gè)電路中就保存信息,但是斷電后很顯然保存的信息就丟掉了,現(xiàn)在你應(yīng)該明白為什么內(nèi)存在斷電后就不能保存數(shù)據(jù)了吧。

構(gòu)建CPU硬件平臺(tái)通過上文講解知道,電路可以實(shí)現(xiàn)數(shù)據(jù)計(jì)算、信息存儲(chǔ)的通用功能。但現(xiàn)在還有一個(gè)問題,真的有必要把所有的邏輯運(yùn)算都用與或非門實(shí)現(xiàn)出來嗎?這顯然是不現(xiàn)實(shí)的。 沒有必要為所有的計(jì)算邏輯實(shí)現(xiàn)出對(duì)應(yīng)的硬件,硬件只需要提供最通用的功能。 接下來看下硬件是怎么提供所謂的通用功能。

讓我們來思考一個(gè)問題,CPU怎么能知道自己要去對(duì)兩個(gè)數(shù)進(jìn)行加法計(jì)算,以及哪兩個(gè)數(shù)進(jìn)行加法計(jì)算呢? 很顯然,你得告訴CPU,該怎么告訴呢? CPU也需要機(jī)器指令告訴自己該接下來該干什么,而指令通過我們上述實(shí)現(xiàn)的組合電路來執(zhí)行。相關(guān)文章:CPU怎么識(shí)別我們寫的代碼?

指令集指令集告訴我們 CPU 可以執(zhí)行什么指令,每種指令需要提供什么樣的操作數(shù)。不同類型的CPU會(huì)有不同的指令集。 指令集中的指令其實(shí)都非常簡單,畫風(fēng)大體上是這樣的:

從內(nèi)存中讀一個(gè)數(shù),地址是abc

對(duì)兩個(gè)數(shù)加和

檢查一個(gè)數(shù)是不是大于6

把這數(shù)存儲(chǔ)到內(nèi)存,地址是abc

等等

看上去很像碎碎念有沒有,這就是機(jī)器指令,我們用高級(jí)語言編寫的程序,比如對(duì)一個(gè)數(shù)組進(jìn)行排序,最終都會(huì)等價(jià)轉(zhuǎn)換為上面的碎碎念指令,然后 CPU 一條一條的去執(zhí)行。 接下來看一條可能的機(jī)器指令:

ff9c75ce-6269-11ed-8abf-dac502259ad0.png

這條指令占據(jù)16比特,其中前四個(gè)比特告訴CPU這是加法指令,這意味著該CPU的指令集中可以包含2^4也就是16個(gè)機(jī)器指令,這四個(gè)比特位告訴CPU該做什么,剩下的bit告訴CPU該怎么做,也就是把寄存器R6和寄存器R2中的值相加然后寫到寄存器R6中。 可以看到,機(jī)器指令是非常繁瑣的,現(xiàn)代程序員都使用高級(jí)語言來編寫程序。相關(guān)視頻推薦:CPU如何進(jìn)行數(shù)字加法。時(shí)鐘信號(hào)現(xiàn)在我們的電路有了計(jì)算功能、存儲(chǔ)功能,還可以通過指令告訴該電路執(zhí)行什么操作,還有一個(gè)問題沒有解決。

靠什么來協(xié)調(diào)或者說靠什么來同步電路各個(gè)部分讓它們協(xié)同工作呢? 時(shí)鐘信號(hào)就像指揮家手里拿的指揮棒,指揮棒揮動(dòng)一下整個(gè)樂隊(duì)會(huì)整齊劃一的有個(gè)相應(yīng)動(dòng)作,同樣的,時(shí)鐘信號(hào)每一次電壓改變,整個(gè)電路中的各個(gè)寄存器(也就是整個(gè)電路的狀態(tài))會(huì)更新一下,這樣我們就能確保整個(gè)電路協(xié)同工作不會(huì)這里提到的問題。

現(xiàn)在你應(yīng)該知道CPU的主頻是什么意思了吧,主頻是說一秒鐘指揮棒揮動(dòng)了多少次,顯然主頻越高CPU在一秒內(nèi)完成的操作也就越多。

大功告成現(xiàn)在我們有了可以完成各種計(jì)算的ALU、可以存儲(chǔ)信息的寄存器以及控制它們協(xié)同工作的時(shí)鐘信號(hào),這些統(tǒng)稱 Central Processing Unit,簡稱就是 CPU。

一個(gè)小小的開關(guān)竟然能構(gòu)造出功能強(qiáng)大的 CPU ,這背后理論和制造工藝的突破是人類史上的里程碑時(shí)刻,說 CPU 是智慧的結(jié)晶簡直再正確不過。

聲明:本文內(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)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217042
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    10019

    瀏覽量

    141649
  • 或非門
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    15581

原文標(biāo)題:開關(guān)如何變成的CPU?

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎ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)及適用場(chǎng)景,雙核CPU網(wǎng)關(guān)在多任務(wù)處理、復(fù)雜計(jì)算和響應(yīng)速度上具有顯
    的頭像 發(fā)表于 07-05 14:37 ?262次閱讀

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

    在集成電路設(shè)計(jì)中,CPU的指令是指計(jì)算機(jī)中央處理單元(CPU)用來執(zhí)行計(jì)算任務(wù)的基本操作指令集。這些指令是CPU能夠理解并執(zhí)行的二進(jìn)制代碼,
    的頭像 發(fā)表于 04-18 11:24 ?833次閱讀

    CPU到GPU:渲染技術(shù)的演進(jìn)和趨勢(shì)

    和優(yōu)缺點(diǎn)CPU(CentralProcessingUnit)是計(jì)算機(jī)的中央處理器,它負(fù)責(zé)執(zhí)行各種程序和指令。CPU渲染是指使用CPU執(zhí)行渲
    的頭像 發(fā)表于 02-21 11:11 ?745次閱讀
    從<b class='flag-5'>CPU</b>到GPU:渲染技術(shù)的演進(jìn)和趨勢(shì)

    CPU怎么降頻 bios中如何把cpu調(diào)低頻率

    CPU降頻是一種有效的節(jié)能措施,同時(shí)也有助于降低設(shè)備的溫度和功耗,提高系統(tǒng)的穩(wěn)定性和使用壽命。以下將詳細(xì)介紹如何在操作系統(tǒng)中、BIOS設(shè)置里以及使用第三方軟件實(shí)現(xiàn)CPU降頻。 一、在操作系統(tǒng)中降低
    的頭像 發(fā)表于 02-01 15:02 ?1.9w次閱讀

    服務(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. 設(shè)計(jì)目標(biāo) 服務(wù)器
    的頭像 發(fā)表于 10-10 15:12 ?2602次閱讀

    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 ?4779次閱讀

    什么是CPU時(shí)鐘速度

    CPU時(shí)鐘速度,作為衡量CPU性能的關(guān)鍵指標(biāo)之一,對(duì)于理解計(jì)算機(jī)處理速度具有重要意義。下面將從定義、作用、計(jì)算方式、影響因素以及實(shí)際應(yīng)用等多個(gè)方面對(duì)
    的頭像 發(fā)表于 09-26 15:40 ?1754次閱讀

    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 ?1881次閱讀

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

    理器核心連接起來,從而提高計(jì)算能力。這種設(shè)計(jì)使得處理器能夠同時(shí)執(zhí)行多個(gè)任務(wù),提高計(jì)算效率和性能。 單核CPU :只有一個(gè)處理器核心,所有的計(jì)算
    的頭像 發(fā)表于 09-24 16:17 ?7114次閱讀

    晶體管在CPU中的工作模式

    CPU(中央處理器)的晶體管是計(jì)算機(jī)系統(tǒng)的核心組件,它們的工作機(jī)制對(duì)于理解計(jì)算機(jī)如何執(zhí)行指令和處理數(shù)據(jù)至關(guān)重要。晶體管作為半導(dǎo)體器件,在CPU中扮演著微型電子
    的頭像 發(fā)表于 09-11 09:28 ?1981次閱讀

    CPU故障現(xiàn)象有哪些

    CPU作為計(jì)算機(jī)系統(tǒng)的核心部件,其穩(wěn)定性和性能直接影響到整個(gè)計(jì)算機(jī)系統(tǒng)的運(yùn)行。當(dāng)CPU出現(xiàn)故障時(shí),會(huì)表現(xiàn)出多種不同的現(xiàn)象。以下是對(duì)CPU故障
    的頭像 發(fā)表于 09-10 11:46 ?8594次閱讀

    CPU的定義和功能

    CPU(Central Processing Unit,中央處理器)作為計(jì)算機(jī)系統(tǒng)的核心部件,其功能和作用至關(guān)重要。以下是對(duì)CPU功能的詳細(xì)解析,內(nèi)容將涵蓋CPU的基本定義、主要功能、
    的頭像 發(fā)表于 09-10 11:45 ?1.1w次閱讀

    CPU主要性能指標(biāo)有哪些

    CPU(中央處理器)的性能指標(biāo)是衡量其處理能力和效率的關(guān)鍵參數(shù)。這些指標(biāo)不僅決定了CPU在處理各種任務(wù)時(shí)的速度和效率,還影響了整個(gè)計(jì)算機(jī)系統(tǒng)的性能。
    的頭像 發(fā)表于 09-02 11:01 ?9674次閱讀

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

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

    多核CPU的優(yōu)勢(shì)是什么

    多核CPU(Central Processing Unit,中央處理器)作為現(xiàn)代計(jì)算機(jī)技術(shù)的重要里程碑,其優(yōu)勢(shì)在于顯著提升了計(jì)算性能、多任務(wù)處理能力、系統(tǒng)穩(wěn)定性以及能效比等多個(gè)方面。以
    的頭像 發(fā)表于 08-22 14:30 ?5332次閱讀