|

「動手」之前 你需要了解電腦系統的基礎知識點! 

   

作者:Ted Lee

現今所有的電腦系統(computer system)都只不過是軟體和硬體的組合罷了!

為什麼我的電腦愈跑愈慢?為什麼我的照片存不下來?……。
我要學micro:bit?還是學Arduino比較好?……。
聽說xx程式語言很紅?我要不要學呢?
……
各種電腦系統(桌機、筆電、平板、手機、開發板、……)都是在既有的硬體(hardware)上開發各種軟體(software)來進行不同的應用(applications)(例如:超商的ibon機、金融機構的ATM、……),如圖1與圖2所示。

各種電腦系統(桌機、筆電、平板、手機、開發板、……)都是在既有的硬體(hardware)上開發各種軟體(software)來進行不同的應用(applications)(例如:超商的ibon機、金融機構的ATM、……),如圖1與圖2所示。

圖1:電腦系統=軟+硬

 

圖2:電腦系統是由軟體和硬體相互協作

接下來,我們就針對圖1的這三層結構再一一詳加說明。

硬體

電腦系統是由0與1的邏輯電路(logic circuit)(圖3)組合而成算術(arithmetic)邏輯、控制(control)記憶(memory)、輸出(input)輸入(output)五大單元結構(圖4)。

圖3:二進制的邏輯電路

圖4:電腦硬體的五大單元運作

從1946年第一台電腦被設計出來至今,這五大單元沒有改變過。但是在這80年當中,尤於半導體(semiconductor)製程進步,CPU的運算速度(computing speed)愈來愈快,記憶體的容量(capacity)也是愈來大。

從1946年第一台電腦被設計出來至今,這五大單元沒有改變過。但是在這80年當中,尤於半導體(semiconductor)製程進步,CPU的運算速度(computing speed)愈來愈快,記憶體的容量(capacity)也是愈來大。
因此,只要掌握這五大單元的基本概念當然就掌握了電腦的硬體世界的來龍去脈了!

軟體

軟體是使用者操作硬體的介面。如圖5所示,從儲存在晶片中用來控制硬體的韌體(firmware)程式(例如:BIOS(Basic Input-Output System,基本輸─出入系統)),到幫助我們管理電腦資源(computer resource)的作業系統(operating system)程式,例如:Windows、iOS、Linux、……。再到幫助我完成特定工作的應用程式(application),例如:繪圖軟體、排版軟體、……。

圖5:軟體的種類

程式語言

所有的軟體都是由不同的程式語言(programming language)編寫而成的。因此,在我們問出我要學什麼程語言之前,我們是不是應該自己先有主意:

我們是要做哪方面的專案(project)?

──要使用開發板做機電整合,C/C++、MicroPython是較適合的程式工具、要做AI應用,Python會是不錯的選擇、要開發網站,HTML、CSS、JavaScript是經常使用的程式語言、……,如圖6所示。

圖6:各種應用領域及其使用的程式語言

結語

創客教育(maker education)的精神在透過「動手做」來解決生活中的大小事。除了要有缺什麼知識就學什麼的學習習慣之外透過動手的「微觀」經驗去累積知識,也要培養洞見「大道至簡」,直指事物本質的「巨觀」能力。
這樣一來,就不會一看到廠商出了新硬體就急跟風。也不再有要學什麼程式語言比較好的迷惑──從「問題」定位出發,直到找到解決的方法為止。

[1]六種授權條款

(作者為本刊專欄作家,本文同步表於作者部落格,原文連結;責任編輯:謝涵如)

Ted Lee
OpenVINO×ExecuTorch:解鎖英特爾架構AI PC模型推論效能新境界

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *