【傳送門】
Part 1 - 數理基礎篇
Part 3 - 電腦基礎篇中
Part 4 - 電腦基礎篇下
Part 5 - 進階篇上
Part 6 - 進階篇中
Part 7 - 進階篇下

Hello~ 我是清大菸酒貓
上次分享了資工系都上了哪些數學課
想必讓不少人腦袋當機了吧XD
沒關係,我當時自己打一打腦袋也打結了一下
因為我其實也沒很喜歡上數學課= =

那麼上次有提到,資工的必修除了第一類的數學課之外
還有第二類的電腦相關基礎課程
這邊就比較不數學一點.... 吧~
那這次我們就開始介紹囉!

──────────────────────────────────────────────────────────────
二、電腦基礎課程
1. 資訊工程導論 Computer Sciense Introduction

像很多系一樣,資工系涵蓋的知識其實可以再細分成多個領域
這門課主要就是廣泛、但是淺淺地簡介資工的各個領域
所以才叫做「導論」(Introduction)

此課與其他學校常出現的「機算機概論」基本上沒甚麼兩樣
都是屬於大一入門課
目的是讓學生知道未來大概會學到甚麼東西

不過我猜大部分的人應該就把它當作是廢課
想說趕快修一修結束吧!
我們系上最近也覺得這門課太廢
所以打算把這門課廢掉


Mid. 中場 - 電腦訊號原理介紹

在講接下來的課程在做甚麼之前
我們先來了解一下電腦傳遞訊號的原理

基本上呢,電腦裡所有的元件都是由「電路」所構成的
沒錯!就是我們以前都看過的那種
有電線、有電源,然後要算電壓、電流的那種電路
唯一的差別是,電腦裡面的電路非常的小
小到我們可以讓兩條電線的距離只有幾十奈米 (一奈米 = 十億分之一公尺)

我們常常看到新聞上說甚麼台積電 16 奈米製程
指的就是他們有能力把電路之間的距離縮小到 16 奈米
(現在你也看得懂科技新聞囉~)

那我們把電路放那麼擠有甚麼好處?
基本上在同樣大小的晶片上,電路之間距離越小
我們就可以塞進越多的電路
塞進越多電路,就可以讓一個晶片做越多事情

那要怎麼做到呢?這是材料系的工作

那我們現在知道電腦說穿了其實就是一堆電路
那電腦又是怎麼傳遞資料?怎麼紀錄資料呢?

看過之前電機系同學所分享的文章
應該都記得電腦其實是用「電壓」來傳遞訊號

咦?電壓是甚麼?
就是你插頭上不是會寫 110 V (伏特) 嗎?
那個就是電壓
而這個電壓其實是可以被控制的

我們可以先訂一個標準,例如 50 V
然後規定超過 50 V ,像是 110 V 的就是高電壓
低於 50 V ,像是 0 V 的就是低電壓

接著把高電壓記為 1,低電壓記為 0
藉由控制這些電壓的改變與傳遞
並賦予一連串 1 與 0 這些數字意義
就變成了我們現在電腦之中使用的訊號


2. 數位邏輯設計 Digital Logic Design

好了~ 看完中場的電腦訊號原理之後
我們來解釋一下這門課在上甚麼

通常我們會把上面傳遞訊號中
1 當作「True」,0 當作「False」
並稱這些訊號為「邏輯訊號」
而課程主要是在教學生利用這些訊號來做一些有用的事情

一開始會先教各位 Logic Gates,也就是電機系同學說的「邏輯閘」
Logic Gates 的功用,就是在你給他一些邏輯訊號
他就會根據你給的訊號,產生出另一個訊號給你

舉例來說,像是 AND Gate
如果你同時塞給它兩個 1 (True) 的訊號
他就會產生一個 1 (True) 的訊號給你
如果你同時給它一個 1 (True),一個 0 (False)
那麼就會產生一個 0 (False) 的訊號給你

這其實還蠻好懂的
因為 AND 的中文意思是「且」
所以給它兩個訊號,你可以想成是兩個事件
True 就是代表「成立」,False 就是代表「沒有成立」
而「且」就是要「兩個事件都成立」才會吐出「成立」的訊號
如果有一個訊號是「不成立」,那就會吐出「不成立」的訊號

通常我們會把這些狀況寫成一個表格
就叫做 Truth Table (真值表)
其他的 Logic Gates 還有 OR, XOR, NAND...等等

現在我們知道 Logic Gates 會依照不同的輸入訊號產生固定的輸出訊號
那接下來就可以把這些 Gates 互相接起來
只要接的方式正確,就可以讓這些 Gates 變成一些有用的計算元件
例如「加法器」

加法器的功用,就是你給他兩組 0 跟 1 組成的數字
它可以產生出這些數字相加的結果給你 (也是用 0 跟 1 表示)
原理其實就是把上面說的那些 Logic Gates 用設計過的方式組合起來
使得訊號進去之後,可以產生出「剛好跟加法一樣」的結果
神奇吧?

除了計算元件之外
這門課也會教如何製作「記憶元件」
就是你可以透過將 Logic Gates 組合起來
使得我們輸入的訊號可以被「記憶」或者「儲存」,以備未來使用
像是 Flip-flop,或是 Latch 都是記憶元件

所以總結來說
這門課就是就是在介紹
如何使用 Logic Gates 組合出「計算元件」與「記憶元件」
而這些元件正是藏在我們電腦的 CPU (中央處理器) 中,最重要的基礎元件


3. 硬體實驗 Hardware Lab

硬體實驗簡單來說,就是應用上一門課所學
將自己設計的邏輯電路,實際做出來試試看
但是我們當然不會真的去製作晶片出來
因為那太貴惹~

試想你今天為了交一份作業設計了一個晶片
結果做出來之後才發現有電路接錯了
那你那顆晶片不就報銷了嗎?

我們會使用一種特殊的電路板
FPGA 板 (Field Programmable Gate Array) 來做實驗

這種板子強大的地方在於
你只需要將你的電路圖傳送到這個 FPGA 板上
FPGA 板就會模擬出你的電路
然後你就可以實際送訊號進去看看你的電路會發生甚麼事情

為了方便
我們會使用一種特殊的程式語言 Verilog 來進行電路設計
只是電路的行為其實常常並不如我們所預測般的單純
所以這對我們系上許多同學來說可是一場難以忘懷的夢靨
──────────────────────────────────────────────────────────────

那這邊為止,如果有看懂的話
應該可以了解電腦最底層的運作原理了
下一次開始我們會從 CPU (中央處理器) 的運作原理開始介紹

如果有問題也歡迎提問哦~

清大菸酒貓

共 16 則回應

2
本身也是念理工的
不過我也想學程式設計(非資工)
覺得原po寫得很清楚超感謝
可以讓我好好考慮!!
0
SLMT 是你 (?
0
資工推
考前就看這個好了(誤

-海大陸人假
0
老實說,就我個人的感覺
這些東西其實尚且跟程式設計無關
主要都是在講電腦底層的設計等等~
可以等我寫了程式設計的部分再來考慮XD

天啊,這樣都認得出來XD
我認識你嗎@@

本讀物僅屬於科普性質
請勿用於考試 XD

清大菸酒貓
1
好像還是有點深奧...到數位邏輯設計似乎有點卡關
也就是說,主要是0和1的排列組合吧(?)

-語璇
0
FB你沒+欸ㄏㄏ不過沒關係啦

菸酒貓+清華 所以猜der

話說你的picoCTF2013要更新了嗎 XD
2
其實那邊就是在講說,我們可以做出特殊的電子元件
讓你電路的訊號可以根據你輸入的訊號吐出預期的結果

例如 AND Gate 就是
塞給它 0 跟 0 就會吐 0
塞 0 跟 1 還是吐 0
塞 1 跟 1 就會吐 1

而這個結果並不會因為其他因素改變
我們就可以利用這種特殊的電子元件來做數學的加減乘除

哈哈~ 抱歉
因為我 FB 只加熟的人XD
所以不認識自然就不會加囉

最近可能還不會耶,因為我還有其他事情要忙
而且我開了一個新的 Blog 囉!可能近期會把東西移到新的部落格去
0
B7 看完解釋再重頭看原文一遍後
感覺有懂一點了!(邏輯也是個硬傷)
謝謝原po大大的分享~辛苦啦!

-語璇
0
好吧這樣只能密粉絲團問你問題了Q__Q

話說你研究所是走資安領域嗎,
還是資安只是興趣走向?

其實有滿多想跟你聊聊的O___O
研究所想走這條路 只是有些原因想走資管的資安,
不知道有甚麼看法?
1
還好我是資管der(汗
0
part 3要進入計算機組織了嗎 :D

-W.H.H
0
O_O 原來國內的會講道電路圖這麼low level
我知道大概 Engineering 會到電路圖 更接近硬體
不過像我讀Computer science
the lowest we go was assembly language (x86)
電路圖甚麼的想到就頭痛阿 www

看來computer Science 也不完全是資工阿...
那Computer science 到底是甚麼系 囧
0
雖然讀資管 但其實滿想學資工的東西XD
0
你看得懂真的太令人欣慰了 QQ
我越來越擔心後面的內容只有資工系看得懂XD

我們學校並沒有資安很強的實驗室
所以我並不是走這塊
事實上台灣我想也很少有這塊很強的研究所
大多數的能力應該還是要自學

歡迎加入資工系 (笑

嘿阿~

其實我覺得就算是在台灣
應該也很少會有學校的資工會講到電路設計
清大應該算是特例
主要是因為我們是硬體起家的資工系

我也歡迎你加入資工系 (笑笑

清大菸酒貓
1
呵呵 原來計概是....... XD
認真(?)背了一個學期 ((汗
0

我剛開始也狂背
後來發現其實裡面教的東西之後就會學到了= =
馬上回應搶第 17 樓...
回應...