文章專區

2018-02-01人工智慧與區塊鏈運算利器:處理器的種類與應用 578 期

Author 作者 曲建仲/臺灣大學電機工程學系博士,曾榮獲中華民國96年度全國優秀青年工程師獎章並獲總統召見,致力臺灣科技教育多年,擅長以淺顯易懂的文字由淺入深帶領非理工背景的讀者們了解艱深困難的科技原理。
處理器(processor)是電子資訊產品 的心臟,要了解電子資訊產品,就必須先認識處理器,而要認識處理器,就必須先了解處理器的軟體與硬體架構,以及軟體指令與硬體指令的意義,所有電子資訊產品所使用的處理器都有軟體與硬體架構,個人電腦、智慧型手機的比較複雜,而電視、音響的相對比較簡單。
 

個人電腦的軟體與硬體架構

處理器是由數千萬個電晶體(complementary metal-oxide-semiconductor, CMOS)排列組合而成,那麼要如何 利用程式去指揮控制CMOS 替我們運算呢?我們以個人電腦的軟體與硬體架構為例,如圖一所示,由下到上依序包括:

1. 中央處理器(central processing unit, CPU): 由CMOS排列組合而成。

2. 硬體指令:驅動CMOS運算的指令, 例如:ADD、PUSH、POP 等。

3. 軟體指令:控制硬體指令來驅動 CMOS 運算的指令,例如:C語言所使用的指令For、While、If else、Print等,作業系統是由軟體指令撰寫而成。

4. 作業系統(operating system, OS): 管理個人電腦所有硬體與軟體的核心程式稱為作業系統,例如:DOS、 Windows、Linux等。

5. 應用程式(application program, APP):在作業系統管理之下,具有某種特定功能的軟體稱為應用程式, 例如:Word、PowerPoint、IE、 RealPlayer等。

6. 使用者介面(user interface, UI): 使用者實際與個人電腦溝通的介面,早期使用DOS輸入指令,DOS的「C:\>」 就是使用者介面,使用者可以經由這個介面與電腦溝通;目前已經進步到只需要使用滑鼠點選桌面上的圖形即可與電腦溝通,這些圖形稱為「圖形使用者介 面(graphic user interface, GUI)」。

智慧型手機的軟體與硬體架構與個人電腦極為相似,如圖二所示,最多只是把中央處理器改為「微處理器(micro processing unit, MPU)」,另外作業系統改為Android、iOS,而應用程式當然就是大家熟悉的Chrome、 Google Maps、Safari 囉!基本上, 智慧型手機根本就是一台小電腦了!

指令的種類

人類是經由下達指令的方式與處理器溝通,指令可以分為下列2種:

1. 軟體指令(software instruction): 指的像是DOS、Windows、Linux 等作業系統所使用的指令,例如: Copy、Delete、Rename 等;或像是程式語言(例如:C語言、BASIC 等 )所使用的指令,例如:For、 While、Print 等。我們可以在作業系統或程式開發工具直接使用指令,而且可以經由修改軟體(例如:修改 Windows、Linux 作業系統的原始 程式碼)而改變這些指令的功能。

2. 硬體指令(hardware instruction): 指處理器所使用的指令, 例如:ADD、PUSH、POP 等,硬體指令 是處理器製作的時候就已經固定了,因此無法修改。不同的公司設計的處理器,例如:英特爾(Intel)的中央處理器與TI 的數位訊號處理器 (digital signal processor, DSP),其硬體指令並不相同。軟體指令都是由「數個硬體指令」組合而成,換句話說,當使用者在作業系統中執行「複製(copy)」這個軟體指令,則處理器會進行ADD、PUSH、POP 等數個硬體指令來達成複製的動作。

 

處理器的指令集

處理器可以認得的所有硬體指令稱為指令集(instruction set),處理器依照不同的指令特性與運算特性,大約可以分為下列2大類:

1. 複雜指令集處理器(complex instruction set computer, CISC): 複雜指令集處理器可以使用較少的指令來完成複雜的運算工作,雖然 CISC 的指令功能較多,但指令較複雜,相關的電路設計也較為困難,使用到的電晶體數目較多,成本較高。……【更多內容請閱讀科學月刊第578期】