<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CPU 是如何理解 01 二進(jìn)制的?

          共 1336字,需瀏覽 3分鐘

           ·

          2021-10-28 22:34

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)cd553282e26b8ce059d4188b5ab8d4ad.webp

          準(zhǔn)確的來說,CPU不認(rèn)識(shí)也不理解任何東西CPU就像一個(gè)單細(xì)胞一樣,本身不具備任何思考能力,沒什么自己的想法,你給它一個(gè)刺激,它只是簡(jiǎn)單的會(huì)有一個(gè)反應(yīng)。305cd30761d1f6eeef96c7c9d3d051a8.webp那這個(gè)刺激是什么呢?是電壓,硬件感知到的僅僅就是電壓。電壓有兩種,高電壓和低電壓。你馬上就能反應(yīng)過來,這就是01二進(jìn)制,高電壓代表1低電壓代表0,0和1僅僅是人類可以理解的東西,硬件電路可不理解這玩意,它僅僅就是靠電流驅(qū)動(dòng)來工作。讓我們來看看這個(gè)簡(jiǎn)單的電路,這個(gè)就是與門:

          f663653a4a549b429f5d1f7eec9a1813.webp

          你能說這個(gè)電路理解它自己該做什么嗎?它有自我意識(shí)嗎?當(dāng)然沒有。所以說這個(gè)問題的答案非常簡(jiǎn)單:CPU根本就不能理解任何東西,之所以CPU能正常工作,僅僅是因?yàn)槟?制作CPU的人)讓它這么工作這個(gè)問題就好比你問一輛自行車是如何理解自己怎么跑起來的?還不是因?yàn)槟阍O(shè)計(jì)了車輪、車鏈然后用腳一蹬跑起來的。

          5fb5e4c68019bbf3b35599f0909c8217.webp

          你希望兩個(gè)開關(guān)都打開燈才亮,因此你這樣設(shè)計(jì)電路,這就是與門;你希望任意一個(gè)開關(guān)打開燈就亮,因此你那樣設(shè)計(jì)電路,這就是或門;你希望關(guān)閉開關(guān)燈才亮,這就是非門,有了與或非你可以搭建出任意復(fù)雜的邏輯電路,比如下面這個(gè)能執(zhí)行加操作的加法器。

          9f6efb6c9bf93990b6d065fb6d6a5039.webp

          看看這個(gè)電路,你能說它知道自己是在執(zhí)行加法操作嗎,這當(dāng)然是人類認(rèn)為這個(gè)電路的輸出等價(jià)于加法操作的結(jié)果。盡管這個(gè)電路看上去很不錯(cuò),給定兩個(gè)輸入得到的輸出和我們?nèi)祟愓J(rèn)為的加法是一樣一樣的,但這有點(diǎn)簡(jiǎn)單。除了加法是不是還應(yīng)該有其它操作,如果有多種類型的操作那么就必須告訴電路該操作的類型是什么(操作碼),操作的數(shù)字是什么(操作數(shù))。這樣給它一個(gè)輸入就能按照我們的想法來控制電路了,BOOM!!!宇宙大爆炸!4720d5b7e8abe3b1bc710413f068ac9b.webp哦不對(duì),CPU誕生了!人類編寫的代碼必須首先轉(zhuǎn)為01二進(jìn)制,之后才能驅(qū)動(dòng)CPU工作。當(dāng)然,怎么把一坨代碼高效等價(jià)的轉(zhuǎn)為1001011100。。。這項(xiàng)工作可不簡(jiǎn)單,人類探索了幾十年,一干人等還獲得了圖靈獎(jiǎng),可見這個(gè)問題的重要程度以及難度。

          91a01acae1350255285da71e7148ccf0.webp

          你今天能簡(jiǎn)單點(diǎn)一下build按鈕或簡(jiǎn)單運(yùn)行一個(gè)命令就能把你寫的代碼轉(zhuǎn)為01串,要知道這簡(jiǎn)單的背后是靠無數(shù)天才榨干天量的腦細(xì)胞才實(shí)現(xiàn)的。

          ee6d0e4180b975dbd0f06cd7f45e5d73.webp

          從這里應(yīng)該應(yīng)該能看出來,CPU根本不認(rèn)識(shí)任何語言,理解編程語言的其實(shí)是編譯器現(xiàn)在我們能給CPU輸入了,那輸出呢?剩下的僅僅就是解釋了,比如給你一個(gè)01串,01001101,你可以認(rèn)為這是一個(gè)數(shù)字,也可以認(rèn)為這是一個(gè)字符,也可以是表示RGB顏色,一切都看你怎么解釋,這就是軟件的工作了。最終的目的只有一個(gè):讓人類能看懂整個(gè)流程就是這樣的:

          d55159e99421ed25a5078eeaff69b1d3.webp

          計(jì)算機(jī)真是一個(gè)非常神奇的機(jī)器,如此簡(jiǎn)單,卻又能完成復(fù)雜無比的工作。現(xiàn)在你應(yīng)該明白了吧,計(jì)算機(jī)所謂能理解二進(jìn)制就好比你的臺(tái)燈能理解開關(guān)一樣。

          它們真的對(duì)此一無所知。


          1、阿里巴巴建議的線程池創(chuàng)建方式,你用上了嗎?

          2、為什么 jsp 還沒有淘汰???

          3、Redis 作者:每天花6小時(shí)搞開源,頂不住了!

          4、DDD到底是何方神圣?今兒聊聊DDD!

          5、上午寫了一段代碼,下午就被開除了,奇怪的知識(shí)又增加了!

          6、21 款 yyds 的 IDEA插件

          7、越老越值錢,除了程序員!!

          840320aae3a66d52bf1110b71a263d47.webp

          點(diǎn)分享

          f630729917105b266950890d87c7bee4.webp

          點(diǎn)收藏

          74cac3ffc54bffa308fa4cdebcc17325.webp

          點(diǎn)點(diǎn)贊

          24cea3b898aef35a44d84354763450ea.webp

          點(diǎn)在看

          瀏覽 21
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情深爱五月天 | 欧美黄色操逼 | 婷婷五月天 亚洲 | 国产一级一级毛片在线 | 国产丁香五月 |