iT邦幫忙

DAY 8
2

成為資料工程師最初的 28 堂課系列 第 8

資料工程師第 7/28 課: 計算機結構/組織

[修讀原因]

了解資料是很重要的一件事, 但了解電腦也是更重要的一件事, 只是若是開出 "計算機概論", 就又太簡單了, 這樣可能 28 堂課不夠, 所以直接跳到計算機組織與結構.

無論如何, 資料工程師大部份時間不是指那些拿出紙筆來計算的工程師, 而是用電腦來計算的工程師, 要讓電腦發揮到最大的效能, 就是要先了解甚麼是計算機的組織與結構, 而經過這半世紀的變化, 從計算機結構 (Structure), 到更多元件組合的計算機組織(Organization), 以及現在稱為 Computer Architecture (計算機架構) 就代表更為複雜.

而這些運算既然都是發生在電腦, 若是對細節與原理能夠更了解, 對於 Hacking Skill 的實作能力會更提升, 也包含對電腦的掌握度與應用能夠更深, 有了這樣的基礎, 就不會有太大的錯誤觀念, 因此我認為一個 Data Engineer 是不得不修計算機組織與結構的.

[基本資訊]

[基本介紹]

任何學過計算機的人知道計算機架構分成

  • CPU (CU/ALU)
  • I/O
  • Memory

但實際上現在的計算機真正的結構已經沒那麼簡單了, 甚至是層層的疊起來的, 在一個 Computer 中, 有上下, 平行太多層的這種結構, 早就無法很單純拆開來看了, 甚至 I/O 本身又有其 CPU 與 Memory, 而 Memory 又有其 CPU 與 I/O, 當然現在的 CPU 早就不單純無法用 Control Unit 或 Arithmetic/Logic Unit 來拆解了.

而推薦的這本書, 嘗試著不去拆解, 但又強調其拆解組合, 用下面幾層來看計算機架構:

  • Intstruction-Level Parallelism
  • Data-Level Parallelism in Vector, SIMD and GPU
  • Thread-Level Parallelism
  • Warehouse-Scale Computers to Exploit Request-Level and Data-Level Parallelism

大家就可以知道一台電腦不只是一台電腦, 很多台電腦事實上也只是一台電腦, 從這樣的由簡入繁, 到化繁為簡, 是很重要觀念, 很多事情已經無法討論細節, 但要如何掌握細節可以用演化, 用數量來去解讀, 是很不錯的學習方式.

雖然大部份的計算機組織教的都是:

  • 以 von Neumann 結構為例
  • 從邏輯匣開始
  • 到作業系統與應用系統
  • 到設計開發, 應用, 校能調較

雖然更著重在 CPU 上面, 但要到能夠運作絕不是那麼單純, 而這些也是很基礎的知識, 若要能夠對系統調校更專精與更深入, 這些不能不學阿.

[修習方式]

建議線上課程

建議電子書

關鍵字

  • Microarchitecture
  • Positional Notation
  • The Fetch-Execute Cycle
  • Instruction set architecture
  • Harvard architecture

上一篇
資料工程師第 6/28 課: (網路/網際網路/資訊)社會學概論
下一篇
資料工程師第 8/28 課: 多變量分析
系列文
成為資料工程師最初的 28 堂課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
pantc328
iT邦高手 1 級 ‧ 2014-10-09 09:00:05

百年不變的標準課程~

現在都IOT,智慧聯網架構了

0
ccshih
iT邦新手 4 級 ‧ 2014-10-09 17:17:20

我覺得計組是重要的,對於資料工程師來說,知識層級至少要能在遇到效能瓶頸時知道是卡在什麼地方。但是要從這個層級來偷效能,應該是系統工程師的工作範疇。

我要留言

立即登入留言