本篇文章來(lái)看看計(jì)算機(jī)在硬件層面究竟是怎么表示二進(jìn)制的,CPU究竟是怎么實(shí)現(xiàn)的?通過(guò)本文的學(xué)習(xí),我們也可以反過(guò)來(lái)明白為什么計(jì)算機(jī)會(huì)采用二進(jìn)制了。
開關(guān)
我們?cè)谏钪校幪幎际情_關(guān),比如控制燈的開關(guān)!
我們可以發(fā)現(xiàn)一個(gè)很簡(jiǎn)單的現(xiàn)象:
- 串聯(lián)的開關(guān),只有2個(gè)開關(guān)都閉合,燈泡才亮。這也就是布爾代數(shù)中"邏輯運(yùn)算與"
- 并聯(lián)的開關(guān),只要有1個(gè)開關(guān)閉合,燈泡就會(huì)亮。這也就是布爾代數(shù)中"邏輯運(yùn)算或"
我們以最簡(jiǎn)單的2個(gè)數(shù),0和1來(lái)舉個(gè)例子,寫出其布爾代數(shù)的真值表:
與 | 結(jié)果 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
1 | 0 | 0 |
或 | 結(jié)果 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 1 | 1 |
1 | 0 | 1 |
電報(bào)和繼電器
在人類信息傳遞發(fā)展的歷史上,長(zhǎng)途信息傳遞一直是非常困難的時(shí),當(dāng)時(shí)常見的方式有,比如人騎馬送信,訓(xùn)練信鴿、點(diǎn)燃烽火,但信息傳遞的效率都非常低效。直到電報(bào)的出現(xiàn),電報(bào)思想的正式成形是在19世紀(jì)早期,它的讓人類傳遞信息的效率得到極大的提升。
電報(bào)利用電的特性來(lái)傳遞信息,早期設(shè)計(jì)復(fù)雜且不穩(wěn)定,傳遞的信息復(fù)雜度又比較低,1837年美國(guó)人摩爾斯通過(guò)電磁感應(yīng)改良了發(fā)報(bào)機(jī),并發(fā)明了 摩爾斯電碼 。他將電報(bào)劃分為2種信號(hào),短促的"點(diǎn)信號(hào)"和長(zhǎng)一點(diǎn)的"劃信號(hào)", 將把“點(diǎn)”當(dāng)成“1”,把“劃”當(dāng)成“0”(這不就是二進(jìn)制嘛),并編寫了個(gè)“字典”將字母及數(shù)字編碼一一對(duì)應(yīng),這樣就能傳遞復(fù)雜的信息,在未來(lái)產(chǎn)生了巨大影響力,意味著現(xiàn)代通信的開始。
由于早期的電報(bào)傳輸,需要鋪設(shè)電線,但是隨著電線越長(zhǎng),其電阻就越大,電信號(hào)常常傳輸過(guò)程中被消耗點(diǎn),這樣接受方就無(wú)法接收到信息了。幸運(yùn)的是,工程師發(fā)明了 繼電器 ,其原理就是 接收微弱的信號(hào),然后不斷地通過(guò)新的電源重新放大已經(jīng)開始衰減的原有信號(hào),最后把它增強(qiáng)后發(fā)送出去 。
當(dāng)開關(guān)是打開的話,燈泡是不亮的;但當(dāng)開關(guān)是閉合的話, 電流流過(guò)圍繞在鐵棒上的線圈,會(huì)發(fā)生電磁效應(yīng),鐵棒就具有了磁性,會(huì)將彈簧片吸下來(lái),右邊電路就通了,燈泡就會(huì)亮了。這樣通過(guò)繼電器,一段段放大信號(hào),電報(bào)就能長(zhǎng)距離傳輸信息了。
雖然繼電器有放大信號(hào)的作用,但和開關(guān)一樣繼電器也可以串聯(lián)或并聯(lián)以執(zhí)行邏輯中的簡(jiǎn)單任務(wù),
繼電器比起普通的開關(guān)的優(yōu)勢(shì)在于繼電器無(wú)需直接被輸入者控制,可以被其他繼電器控制,這樣就可以組合完成更復(fù)雜的操作 。
比如我們可以通過(guò)繼電器實(shí)現(xiàn): 當(dāng)我們閉合開關(guān)時(shí),燈泡關(guān)閉;當(dāng)我們打開開關(guān)時(shí),燈泡去點(diǎn)亮這種燈泡的狀態(tài)和開關(guān)的閉合狀態(tài)相反的操作,普通開關(guān)是無(wú)法實(shí)現(xiàn)這種操作的。這些電路物理的表象下隱藏的邏輯關(guān)系,一直沒有被人發(fā)現(xiàn)。
直到1938年,克勞德·香農(nóng)在麻省理工學(xué)院所寫的碩士論文《A Symbolic Analysis of Relay and Switching Circuits》中闡述了繼電器和開關(guān)電路中的符號(hào)分析之間的關(guān)系,他將開關(guān)、繼電器、二進(jìn)制、布爾代數(shù)聯(lián)系起來(lái)。也就是發(fā)現(xiàn) 人類可以通過(guò)開關(guān)和繼電器這些普通的電路,直接就能實(shí)現(xiàn)布爾代數(shù)各種邏輯運(yùn)算操作 。這些繼電器的組合被稱為 邏輯門 ,他們構(gòu)造基本的邏輯電路,也叫 門電路 。
門電路
上面是3種最最基本的門:
- 與門,兩個(gè)開關(guān)只有同時(shí)打開,電流才會(huì)通過(guò),燈泡才會(huì)亮
- 非門,當(dāng)開關(guān)閉合時(shí),電流會(huì)通過(guò),燈泡會(huì)亮;開關(guān)打開,電流不能通過(guò)反而,燈泡熄滅
- 或門,兩個(gè)開關(guān)中只要有一個(gè)打開電流就能通過(guò),燈就會(huì)點(diǎn)亮
這些門其實(shí)就是一個(gè)個(gè)"開關(guān)"的抽象, 以后我們需要的各種復(fù)雜的邏輯都可以通過(guò)這3個(gè)門來(lái)實(shí)現(xiàn),真的是非常奇妙 我們?cè)賮?lái)看一個(gè)常見的門:異或門XOR
-
cpu
+關(guān)注
關(guān)注
68文章
11049瀏覽量
216147 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
804瀏覽量
42177 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7636瀏覽量
90273
發(fā)布評(píng)論請(qǐng)先 登錄
計(jì)算機(jī)為什么使用二進(jìn)制來(lái)表達(dá)

計(jì)算機(jī)硬件怎樣執(zhí)行二進(jìn)制程序的
為什么計(jì)算機(jī)內(nèi)部進(jìn)行二進(jìn)制運(yùn)算,而不是十進(jìn)制運(yùn)算?
二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
二進(jìn)制數(shù)據(jù)壓縮算法
計(jì)算機(jī)的二進(jìn)制概念和進(jìn)制運(yùn)算的詳細(xì)資料簡(jiǎn)介

關(guān)于二進(jìn)制表示和補(bǔ)碼計(jì)算的來(lái)龍去脈
計(jì)算機(jī)基礎(chǔ)知識(shí)之二進(jìn)制

計(jì)算機(jī)究竟是如何理解并執(zhí)行我們所寫的代碼的呢?

評(píng)論