又是一個推送話題 #為什么電腦就只能安裝一個CPU呢#為什么電腦就只能安裝一個CPU?
這話一聽,就有點沒見識了。
要放在早幾年,很多計算機玩家哪怕沒吃過豬肉,也見過豬跑。那時候攢機風盛行,誰家電腦不是自己配的?CPU、主板、顯卡、內存,全靠一雙手和一張價目表。久而久之,“一臺電腦配一個CPU”,就成了天經地義的共識。
但最近幾年,情況變了。越來越少的人需要每天坐在電腦前,發朋友圈、剪視頻、辦公、娛樂——隨便找臺手機就可以全干了。
再過幾年,恐怕真就成了“沒吃過豬肉,也沒見過豬跑”的時代。
誠然,個人計算機的黃金年代,正在謝幕。
年輕一代的小孩兒們對主板插槽、電源瓦數、雙通道內存甚至CPU風扇這些詞,恐怕就已經沒有任何畫面感了。
可是恰恰這種話題就推給了W君……那咱就開始聊聊吧。
因為,在很長很長的一段W君使用計算機的經歷中,家里的計算機并不是只有一個CPU。
最最最早,W君自己的計算機就是一臺Apple II,那已經是很多很多年前的事情了。
![]()
很小很小的時候W君的編程入門就是在這臺機器上完成的。這里就有很熟悉Apple電腦的人說了,Apple II上應該是6502或者65C02 的CPU,就是一塊CPU啊!
原因在于使用Apple并不方便,早期的APPLE實際上只有一個內置的basic解釋器,如果想用一些更先進的功能就不太適合了。但是在apple上是可以像現在插顯卡一樣插入擴展卡,完成一些本身apple II不能做的事情,當年W君的Apple機上就裝了一塊叫做Z-80卡的東西。
![]()
插入這個卡就可以利用Apple II來執行一些CP/M操作系統上的應用程序。
這時候有意思的事情就來了,看上面卡片照片最大的那塊電路 Z80的CPU!
激活這塊擴展卡之后,apple本身的CPU就被屏蔽掉了,整機就會使用這個Z80 CPU來工作——那時候的人就是這么野!
不過雖然當時這么“野”,但是切換CPU的過程現在看很笨,用軟盤引導——開機之前先把CP/M的引導盤放到軟驅中,開機引導程序會激活這個擴展卡,如果想用本體的CPU怎么辦?關機,把軟盤拿出來唄。和咱現在alt+tab這樣的切換形式來比,差不多就是在原始社會的感覺。
但,事情就這么奇怪,一臺電腦里面有兩個CPU!
只不過,這兩個CPU并不可能同時工作。這塊擴展卡只是利用了蘋果的總線接管了總線上的其他設備。打個不恰當的比方——Z-80卡替代了我們從CPU插座上拔下CPU進行替換的過程。
這里就有一個很重要的計算機概念——總線(Bus)。
簡單說,總線就是電腦里所有部件之間“說話”的那根大喇叭線。CPU要訪問內存、顯卡要讀數據、硬盤要寫文件,全得經過這根總線。
它不只是“連線”,更像一個調度中心——誰先說話、誰得閉嘴,都得聽總線仲裁。
![]()
總線的設計源自于電力系統的“匯流排”(Busbar)
![]()
通常,在配電箱中配備的幾根十分粗大的金屬導體,它的作用就是把零、火、地線進行統一分配。在我們日常生活中,如果打開家里的強電箱就大概率的可以看到匯流排。
![]()
人類的技術應用是相似的,不僅僅可以使用統一的線路進行電力的分配,當然也可以使用統一的線路進行數字信號的共同傳輸。這樣計算機的結構就可以大幅度的簡化。
![]()
所以,在我們打開計算機機箱的時候往往可以看到一大堆擴展卡接口。這些接口其實就是最直觀的總線接入點。
而Z-80那塊擴展卡之所以能“接管”Apple II,就是因為它插在了總線上。一旦激活,Z-80通過總線信號把6502“請出會場”,自己上臺主持全場運算。所以,如果從硬件結構上看,它并不是擴展卡上的Z80CPU在協助主板上的6502 CPU工作,而是Z80在系統中直接“篡位”,原來的那塊6502CPU變成了太上皇在后宮頤養天年不問世事了。
在總線上運行的不只是電流,還有邏輯信號、控制信號、地址信號、數據信號全都在上面完成傳輸。這就像一輛在固定路線運行的公交車,數據和指令在不同“站點”上下車。
于是,人們給它起了個最樸素的名字:Bus,在漢語言的術語中很難解釋為什么在計算機機箱里有一輛“公交車”,于是我們就造出了“總線”這個詞匯,而在繁體中文使用地區則把“總線”叫做了“匯流排”。
為什么講到“總線”呢?其實這里面還有說法。
我們在一臺計算機的總線上加兩個顯示卡沒毛病吧?
![]()
相較于單一顯卡,雙顯卡基本上可以讓游戲的視頻性能提高170%左右。
我們在一臺計算機的總線上接兩個鍵盤或者兩個鼠標也沒毛病吧?雖然沒什么實際意義,但這件事是可以這樣做的。
其實計算機上的大部分配件都可以隨心所欲的往上加,例如W君家里的一臺存儲服務器,經過擴展擴展再擴展,已經硬生生的裝進去了37塊硬盤。
既然都能“無限”加,那么憑什么只能加一塊CPU呢?這里就得說到CPU的“片選”(Chip Select)功能了。在CPU上有一個引腳叫做CS
![]()
通常這個引腳被設置為低電位的時候,這個CPU開始工作。這樣就避免了多顆CPU在總線上相互打架(沖突)。實際上和遙遠年代中Z80卡做的事情是一樣的。只不過在高頻信號的處理過程中,CPU CS引腳的變化極快,就會讓人有兩顆CPU同時工作的錯覺。
而且,現代設計的計算機CPU一般會對多處理器聯動的功能進行優化,在cs選定后CPU進行快速的通訊,拿到需要做的工作后就會釋放選定,然后在內部進行計算處理,等到下一次cs選定后會將處理結果經過總線輸出——這樣一來就幾乎是并行的計算了。這個技術就叫做“多處理器協同”
![]()
其實現實生活中,W君自己用的大部分X86體系的計算機都是多CPU的。
![]()
一般都是這樣的貨色,在主板上插入2-4顆CPU。
這樣做的好處就是有更大的處理能力,在進行一些分析和數值運算的時候速度更快,壞處也有,就是耗電量太大,而且多處理器的計算機體積往往更大,在一般個人家庭中使用就太占空間了。
所以,在今天的大多數消費級計算機中,其實并不存在真正意義上的“多CPU”。
廠商采用了一種更現實、也更優雅的折衷方式——多核心(Multi-Core)。
它的思路非常簡單:
既然一臺主板上插多顆處理器太占地方、不經濟,那就把幾顆CPU“封”進同一塊硅片里。
![]()
每個核心都有獨立的算術邏輯單元(ALU)、寄存器和一級緩存,通過共享的二級緩存和系統總線進行通訊。
從物理上看,它們是一塊芯片;從邏輯上看,它們就是一臺“多處理器計算機”的微縮版。
隨著 CPU 制造工藝的不斷提升,這些年的變化其實非常明顯。
最早那種“兩個內核的CPU”幾乎已經消失了——取而代之的,是越來越抽象的邏輯處理器(Logical Processor)。也就是說,我們看到的“多核”早已不再只是幾顆物理內核,而是經過調度單元、超線程技術(Hyper-Threading)和流水線優化后虛擬出來的邏輯執行單元。
![]()
在一顆 CPU 里,可能存在十幾個甚至幾十個邏輯處理器,它們在操作系統眼中就像獨立的核心。更進一步,如今的芯片廠商又引入了“大小核架構”(big.LITTLE),讓高性能核心(Performance Core)負責計算密集型任務,讓能效核心(Efficiency Core)承擔后臺與輕負載運行。
這已經不再是單純的“多核”,而是一種分工式智能協作體系。
所以說,今天很多人看到主板上只有一塊 CPU,就理所當然地以為——計算機也就只有一塊 CPU。可事實上,這恰恰是一個巨大的誤解。在這塊小小的硅片之中,已經塞進了幾十個核心、上百條指令流水線、成千上萬個邏輯處理單元。
只是這些核心都被封裝到了一個元件中,普通人就只是“一塊”罷了。
于是,電腦看上去只裝了一塊 CPU,但實際上,它早已不止一塊。電腦安裝一個CPU?別逗,這并不是天經地義的事情!
不過,有一說一:如果你真用過多CPU主機,再看這些“封在一顆里的多處理器”,那種感覺,就像吃慣了整牛排的人,被端上一份碎牛肉餅,這種感覺你得真用過才能體會到。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.