[計算機概論] 第一講、Data Storage (1)
reference
[計算機概論] 第一講、Data Storage (1)臺大科學教育發展中心CASE
課後感想
前陣子在 Gigabyte 做轉職後第一份軟體工程師的工作,因為部門負責的臉部辨識及人型偵測應用程式,除了軟體外,也很吃硬體效能,常常聽到同事說:
「記憶體位置、
記憶體多少、
用了多少、
剩多少、
看一下 RAM、
你電腦有兩個 RAM、
這塊板子要裝 SATA、
看一下 rpm...」
想當然耳,我根本都聽不懂,Google 這些單一名詞之後,努力把他們的定義背下來,大概知道他們可以幹嘛,在幹嘛,然後過一陣子就忘記了,這堂課在 Main Memory, Mass Memory 的部分很幫我解惑。
還多知道了公司的名字 Gigabyte 原來是 2 ^ 30 ,有趣XD
另外檔案系統中,資料是分散存取的,而飛連續,所以有 pointer 有 value,資料間有 link,像是 5 Mb 的檔案 1 Mb 存在 A、2 Mb 存在 B、 2 Mb 存在 C。讓我想起寫程式時用到的資料結構: linked list,程式碼裡的 pointer & value,真的是息息相關!
然而資料不連續地儲存,難免儲存空間會產生 fragmentation problem,所以需要格式化,但是記憶體存取的次數是固定的,超過一定次數後就會壞掉😱,以後不敢沒事就格式化。
聽完這門課後,終於覺得從單點知識變成線了。
. . . . . -> 雖然還是斷斷續的線 - - - ---- -- - ---
期待他們繼續慢慢從點,變線,最後變成一幅畫~
簡記課程內容
Data Storage
二進制
好處:
- Simple
- Logical
- unambiguous: 0, 1, only
這個世界是一個 Binary world,由 0, 1 組成。
二進制會讓表示太長
例如:要表示記憶體位置 0010111010110101 (這裡才 16 bits,現在很多都 64 bits 更長)
太冗長,所以有 16 進制
十六進制 Hexadecimal (Hex)
上面的位置就可以透過 16 進制表,表示成 2EB5,簡單多了
0010 | 1110 | 1011 | 0101
2 E B 5
Main Memory 主記憶體
bit 太小,通常用 cells or 1 bytes
8 bits = 1 bytes
_ _ _ _ _ _ _ _
存取資料
set 0 set 1
random accessible
現在儲存資料都是 random
循序的有例如錄音帶,錄影帶,不能跳過,要快轉
Memory Techniques
RAM (Random Access Memory)
SRAM (Static, flip-flop)
DRAM (Dynamic)
SDRAM (Synchronous DRAM)
DDR (Double Date Rate)
Dual channel(差兩個 RAM,資料寫入 2 個 bytes 時,可以各寫入一個,速度變兩倍)
Capacity
Kilobyte: 2 ^ 10 bytes
Megabyte: 2 ^ 20 bytes
Gigabyte: 2 ^ 30 bytes
Terabyte: 2 ^ 40 bytes
現在很多硬碟出的 2T 就是 Tera
Mass Storage 硬碟
相對主記憶體,存取速度非常慢,但更穩定(不接電)
Magnetic Disk Storage System
- Access time = seek time + rotation delay
找資料的時間
seek time 是找到資料的讀寫頭,找到後資料可能不在頭,在後面,所以還要繼續轉到後面(rotation delay)
rpm 就跟 rotation delay 有關,5400 轉, 7200 轉... 越快,讀得越快
找到資料後會進入 buffer,buffer 越大也越快,資料在 buffer 整理好後才會傳給電腦
- Transfer rate: SATA 硬碟傳輸的一種標準
Representation with 0 and 1
用 0, 1 表達世界上一切的東西 => 編碼
文字
ASCII: 7 (or 8) bits(2^7 可以表達 128 個符號,後來不夠用,才有後面的衍生)
Unicode: 16 bits
ISO standard: 32 bits
數字
十進制 901
9 0 1 representation
10^2 10^1 10^0 position's quantity
二進制 1011
1 0 1 1 representation
2^3 2^2 2^1 2^0 position's quantity
- 把 1011 換成 10 進制:
2^3 + 2^1 + 2^0 = 8 + 2 + 1 = 11
- 把 11 變成 2 進制:一直除以 2,直到商為 0
11 / 2 = 5...1
第一位放 1: 1
5 / 2 = 2... 1
第二位放 1: 11
2 / 2 = 1... 0
第三位放 0: 011
1 / 2 = 0... 1
第四位放 1: 1011
圖像
- Bit Map techniques
- Pixel: Picture element 點位
- colors: RGB, HSV
- LCD, Scanner
- Vector techniques
- Scalabel
- True Type
Comments
Post a Comment