S SmartDocs

Nền tảng Khoa học máy tính

Tổ chức máy tính, hệ điều hành, nền tảng Linux và lý thuyết khoa học máy tính cốt lõi.

Computer Organization 中文 Cập nhật 2026-07-13

擷取—執行週期與 Hack 架構(The Fetch-Execute Cycle)

課程前半部專注在硬體:你已在實驗課做出 Hack CPU 的各個元件 (暫存器、PC、ALU 等)。要理解 Hack 架構,我們必須開始思考軟體。 組合語言、機器碼與架構三者緊密綁在一起, 所以我們先學 Hack 組合語言,再往下鑽。之後的路線圖:

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-13

規格整理:我們要蓋什麼?

為什麼 RAM 用 15 位元位址(64KB)? 真正的 Hack 只有 32KB RAM(14 位元位址, 0x0000–0x3FFF),螢幕與鍵盤是 獨立的記憶體映射裝置(0x4000–0x6000)。 本課程是架構課不是硬體設計課,不直接模擬螢幕鍵盤—— 把 RAM 直接加大到 15 位元位址空間, 讓 0x4000–0x6000 這段位址落在 普通 RAM 裡:程式照常讀寫「螢幕」與「鍵盤」, 只是沒有真的畫面;想模擬按鍵就暫停

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-13

Hack 指令集架構(The Hack ISA)

類比:當你依照規格實作了一個 C 函式 (例如「mult(x,y) 應回傳 x × y」), 使用者不需要記得你怎麼寫的就能呼叫它; 你也可以改寫實作,只要仍回傳 x × y 就不會引入 bug。 同樣地,微架構「實作」ISA:寫組語時不需要知道 ISA 怎麼被實作, 而且你的程式碼在任何符合該 ISA 的硬體上都能正確運作。 例如 AMD 與 Intel 的現代 CPU 微架構天差地別, 卻普遍都實作 x86-64 這一個 ISA。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-13

全局視角:兩趟式組譯器

為什麼標籤和變數要分開兩張表?因為它們的位址空間不同: 標籤住在 ROM(指令位址),變數住在 RAM (從 16 號開始配置)——同名時語意完全不同,混在一張表會出錯。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-13

編譯器的全貌與詞法分析(Lexing)

我們已經懂了 Hack 組語與 Hack ISA,也會用組譯器把組語變成機器碼。 但組譯器本身是怎麼運作的? 本週的目標:用 C 打造一個自己的 Hack 組譯器! 在抽象階梯上,我們正在處理「組合語言 ISA」這一步的翻譯軟體 ——而它的原理與「高階語言 組語」的編譯器一脈相承。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-13

虛擬機與中介表示法(VMs and IRs)

回想多數高階語言會先編譯到中介表示法(intermediate representation, IR),再進一步編譯到組語。 接下來兩週我們要學 Hack 的 IR——Hack VM—— 並寫一個 VM 翻譯器(VM translator)把 Hack VM 程式碼 編譯成組語。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-07-14

Test 1 實作部分(Practical Section,50 分)

觀察 Z:A A = 1(互補律——恆真), 所以 Z = 1 = 0。Z 對 OR 沒有貢獻(同一律),整式變成 (X Y)。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-04-26

CCIT4064 Microcontrollers Assignment 3 詳細解答

說明:除非特別註明,8051 題目以標準 Intel MCS-51 指令集與 12 MHz 晶振計算;Arduino 題目以 Arduino UNO R3 / Arduino Sketch 語法回答。

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-05-08

Assignment 3 — 詳細問題說明與完整解答

使用說明 > > 本文件對照原始解答 PDF(Assignment_3_wf_ay2526 solution.pdf)逐題重寫,補充每一個推導步驟,並在原 PDF 出現誤植處明確標註並給出依題目原始條件的正確答案: > > 1. Q1(d)(ii) 標題:原 PDF 寫成 -998.3125,但題目給的是 -998.125,且解答內文展開為 1111100110.001₂(對應 0.125),故 hex 結果 0xC4798800 對應

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-05-06

Chapter 7:Single Cycle Processor (Part 1) — 單周期處理器(第一部分)

課程:Introduction to Computer Organization (CCIT4026) > 主題:MIPS 單周期處理器的構建模組與資料路徑

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-05-06

Chapter 8:Single Cycle Processor (Part 2) — 單周期處理器(第二部分)

課程:Introduction to Computer Organization (CCIT4026) > 主題:單周期處理器的控制單元設計與完整執行範例

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-05-06

Chapter 9:Multiple Cycle Processor — 多周期處理器

課程:Introduction to Computer Organization (CCIT4026) > 主題:多周期處理器的架構、執行流程與 FSM 控制單元設計

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-05-08

IEEE 754 浮點數標準 完整教學

整數(Integer)只能表示離散的整數值,無法表示小數或非常大/非常小的數。例如:: 圓周率 π = 3.14159... 光速 c = 3.0 × 10⁸ m/s 電子質量 = 9.109 × 10⁻³¹ kg

Đọc bài viết →
Computer Organization 中文 Cập nhật 2026-03-24

MCS-51 (8051) 組合語言完整指令集參考手冊

本手冊涵蓋 MCS-51 微控制器的全部 111 條指令,分為五大類別,詳細說明每條指令的語法、運作原理、影響旗標、位元組數、機器週期數及使用範例。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

導讀:如何使用本教材

L3.2cmL11.6cm 項目 & 內容 課程 & 6CCS3CIS Cryptography(三年級/Level 6 版本) 授課教師 & Eamonn W. Postlethwaite(前五週)、Ngoc Khanh Nguyen(後五週) Office hours & 以 email 預約:Eamonn 週一 16–17;Khanh 週五 13–14 上課時間 & 每週四 16–18 講課;週一或週二 tutorial 評量方式

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

什麼是密碼學?(講義 pp. 4–6)

講義一開始並沒有急著給出公式,而是先問一個看似簡單的問題:「密碼學是什麼?」 教師刻意列出七種來源各異的「定義」,目的不是要你背下其中一個,而是要你體會:對同一個學科,不同的人會因為關心的面向不同而給出不同的界定;而一旦下了定義,就等於劃出了界線(Wilde:「to define is to limit」)。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

思想實驗:兩位領主的秘密通訊(講義 pp. 7–11)

兩位領主 Francis 與 Henry 各自駐紮在營帳(pavilion)中,想要「安全地」通訊。他們事先當面商定了三樣東西: 之後 Francis 要傳訊給 Henry 時:加密 寫在羊皮紙(parchment)上 交給最信任的騎士(rider)送達 Henry 解密閱讀。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

什麼是「好的」加密方案?安全定義的五次迭代(講義 pp. 12–17)

講義用蘇格拉底式的問答,連續提出五個候選定義,每提出一個就問「Strong enough?」,再用一個反例推翻(或修正)它。這段推演是理解「安全定義為何微妙」的最佳範例,也是 Problem Set 1 第一題的直接前身——那裡會對 MAC 做一模一樣的事。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

保密性之外:完整性與訊息鑑別碼(講義 pp. 18–20)

講義 p. 18 問:除了保密性之外,我們還想要什麼安全性質? 設想騎士被收買,竄改羊皮紙上的密文。他不知道金鑰也不知道訊息,但他仍然可以重排、增加或刪除字元。Henry 解密之後會得到什麼?一團亂碼嗎?如果不是亂碼呢?

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

保密性與完整性之外(!):重放、重排、反射、延遲、拒絕(講義 pp. 21–22)

假設 Francis 與 Henry 已經有了「完美」的加密與「完美」的 MAC:騎士讀不懂、也改不動任何一張羊皮紙。講義 p. 21 問:還有沒有我們想要的安全性質?有——因為騎士仍然可以對整張羊皮紙動手腳,而不必動其中的任何一個字。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

歷史插曲:密碼學曾是「軍火」(講義 p. 23)

講義中場休息的「fun fact」其實一點也不輕鬆:它是 Problem 3 的全部題材,也呼應 Blanchette 對密碼學的定義——為了規範行為而寫的程式碼。一旦程式碼能夠規範行為,政府就會想規範程式碼。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

機器、敵手與通用安全定義(講義 pp. 24–28)

講義 p. 24 把兩位領主抽象成兩台機器(machines)M_1( , ) 與 M_2( , )——文獻中也叫 players、agents、principals、entities——它們共享加密金鑰 與完整性金鑰 ,來回傳送 (c_1, _1), (c_2, _2), …。通道上另有一個敵手 。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

Problem 1:On integrity(論完整性)

構造 A:常數標籤 MAC(「什麼都不做」的 MAC)。 正確性:對任何 、m, ( , m) = 0,而 ( , m, 0) = 1。 安全性:毫無。任何人對任何訊息都能「偽造」合法標籤 0。這是講義 p. 12「do nothing」加密方案在 MAC 世界的翻版;它在 (v) 會派上用場,因為它滿足 1(金鑰根本沒被用到,當然無法被恢復)卻完全不滿足 3。

Đọc bài viết →
Cryptography 中文 Cập nhật 2026-10-16

Problem 2:On encryption(論加密)

場景一:公式化的軍事/商業訊息。 戰場上的回報往往只有少數幾種:「NOTHING TO REPORT」、「ATTACK AT DAWN」、「RETREAT」。 敵手(有加密預言機時)把這幾句都加密一遍;之後攔到的每一封密文,一比對就知道內容。 即使沒有預言機,光是「今天的密文與過去 30 天某一天相同」也足以推論「今天沒事」。 二戰時盟軍破解 Enigma 的「crib」正是利用德軍每日固定的「Keine besonderen Erei

Đọc bài viết →