S SmartDocs

コンピュータサイエンス基礎

コンピュータ構成、OS、Linux基礎、コンピュータサイエンスの中核理論。

computer science EN 更新日 2026-09-30

Question 1 · 12 marks

A DRAM chip has 10 address pins and 8 data pins, together with RAS and CAS pins.

記事を読む →
linux introduction EN 更新日 2026-02-05

Introduction to Linux

Linux is a free, open-source operating system kernel first released by Linus Torvalds in 1991. When people say "Linux," they often mean a complete operating system built around this kernel—a Linux distribution (distro)—w

記事を読む →
linux introduction EN 更新日 2026-02-05

Introduction to Linux Bash and Shell Scripting

Bash (Bourne Again Shell) is the default command-line shell on most Linux distributions. It reads your commands, runs programs, supports variables, loops, conditionals, and can run scripts stored in files.

記事を読む →
linux introduction EN 更新日 2026-02-05

Ubuntu Linux Built-in Network Tools (Run from Shell)

This guide covers common Ubuntu/Linux command-line tools for networking: DNS, firewall, interfaces, connectivity, and related tasks. All commands are run from the shell (terminal).

記事を読む →
linux introduction EN 更新日 2026-02-06

Linux Kernel Messages: How Drivers Log and How to Dump Them

This guide explains how kernel code (including drivers) emits log messages and how you can view or dump those messages from user space.

記事を読む →
Computer Organization 中文 更新日 2026-05-13

Mobile Application Development (CCIT4059)

使用方法:依時間表逐節閱讀。每節有「核心概念 → 重點整理 → 易考點 → 自我檢測」。建議準備白紙邊看邊抄畫。

記事を読む →
Computer Organization 中文 更新日 2026-05-13

Mobile Application Development (CCIT4059)

涵蓋 Unit 1–10 全部內容。每題含 答案、詳細解答過程、對應單元、易錯提示。 > 建議:先自己作答,再對照解析。

記事を読む →
Computer Organization 中文 更新日 2026-07-10

Test 1 練習卷 A(Theroy1.pdf)

54 題目:給定主動低電位(active-low)R-S 閂鎖的波形(輸入為 S' 與 R'),求在標示時間點 a–d 時輸出 Q 的值。

記事を読む →
Computer Organization 中文 更新日 2026-07-14

第 1 題(2 變數):任一感測器觸發警報——A B

第二步:圈群——圈不起來!兩個 1 在對角線上: m_1 (01) 與 m_2 (10) 差了兩個位元, 在卡諾圖上不相鄰(相鄰的定義是恰差一位)。 只能各自圈成 1 格的群,一個變數都消不掉。

記事を読む →
Computer Organization 中文 更新日 2026-07-10

化簡(Simplification)

這 16 小題就是布林代數的「九九乘法表」——常數運算是 AND/OR 的定義本身, 含 A 的運算則對應四條基本定律。

記事を読む →
Computer Organization 中文 更新日 2026-07-10

布林代數(Boolean Algebra)

電腦內部的一切——數字、文字、圖片、程式——最終都被編碼成這兩種狀態的序列。 若要研究這些訊號如何被操作與轉換,我們需要一套數學工具: 布林代數(Boolean algebra)。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

開工前:新骨架的兩個變更

三條指令生成的組語都圍繞同一個資料結構—— 呼叫框架(call frame)。題目明說: 「你應假設框架在堆疊上的存放順序與講義完全一致, 測試腳本才會通過。」先把這張地圖釘在牆上:

記事を読む →
Computer Organization 中文 更新日 2026-07-13

擴充 Hack VM(Extending Hack VM)

本週我們要擴充 Hack VM,加入: 我們也會討論執行期記憶體配置(即 malloc)。 下週就進入高階語言——Jack。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

全局視角:編譯管線

Part 1(第 3–4 節)補完中間的解析器; Part 2(第 5 節)實作最後的碼產生。 兩趟之間的解析樹以 XML 檔存放——人類可讀(除錯友善)、 格式標準、可以邊讀邊處理而不必整棵樹載入記憶體。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

Jack 語言(The Jack Language)

討論 Jack 時最常出現的兩句話: Jack 的每一個設計決策都圍繞一個目標: 讓學生能在一週內寫出它的編譯器。 語言的不便之處(稍後一一列出)全是刻意用 「程式設計師多打幾個字」換取「編譯器少寫幾百行」。

記事を読む →
Computer Organization 中文 更新日 2026-07-14

為什麼需要浮點數?

解法借自科學記號:6.02×10^23 用「有效數字」 (6.02)搭配「指數」(23)——小數點的位置變成一個 可調的欄位,讓小數點「浮動」(floating), 同一格式就能同時涵蓋巨大與微小的數。 代價是:有效位數固定,數字越大,相鄰可表示值的間距越大 (精度是「相對的」而非「絕對的」)。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

半加器(Half Adder)與 4 位元增量器

逐欄觀察: 直覺:一位元加法 A + B 的結果最大是 1+1=2=10_2—— S 是結果的個位、C_out 是進位。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

表示數字(Representing Numbers)

十進位(decimal)是日常使用的標準數字系統——恰好用了跟手指一樣多的數字! 十進位稱為基底 10(base 10),因為它使用 10 個不同的數字(0–9), 可用下標 10 標記,例如 123_10。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

閂鎖到正反器(Latches to Flip-Flops)

原理:NAND 只要任一輸入為 0 就輸出 1。 S = 0 強迫 Q = 1,經交叉回饋使 Q = 0, 即使 S 放回 1,回饋會把狀態鎖住。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

序向邏輯與 R-S 閂鎖(Sequential Logic and the R-S Latch)

到目前為止你看過的所有電路,輸出只取決於當下輸入的組合—— 不管發生過什麼事,1 1 永遠是 1。 這稱為組合邏輯(combinational / combinatorial logic)。 它依然非常有用——第二週做的 ALU,正是之後打造 CPU 時要用的那一顆。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

電晶體(Transistors)

CMOS 的設計配方:每個閘 = 上拉網路 (p 型,接 V_dd,負責輸出 1)+下拉網路 (n 型,接 V_ss,負責輸出 0), 兩個網路互補——任何輸入組合下恰好一邊導通, 輸出永遠被明確驅動,且沒有從 V_dd 直通 V_ss 的漏電路徑。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

用正反器與暫存器蓋東西(Building with Flip-Flops and Registers)

事情已經複雜到不能再用一顆顆 NAND 來思考了! 我們必須把東西抽象成元件(components)/子電路(subcircuits)—— 多工器、加法器、暫存器、邏輯閘;只有在 NAND 恰好是對的工具時才用 NAND。 而這些元件本身又會成為更大元件的一部分……直到蓋出整台電腦。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

入門(Getting Started)

為什麼是 24 而不是 7?因為課堂的 add.asm 算的是 2 × RAM[0] + 6 × RAM[1] = 6 + 18 = 24……開個玩笑——真正的原因依課堂版本而定, 重點是:先讀程式再預測結果,執行只是驗證你的預測。 若載入的是 nand2tetris 官方的 Add.asm (計算 2+3 存入 R0)行為又不同—— 務必用課程 unit page 提供的版本。

記事を読む →
Computer Organization 中文 更新日 2026-07-13

輸入處理的缺失環節(checker3.asm)

對症下藥:位準觸發 vs. 邊緣觸發。 這正是課程第一部分(第三、四週)講過的對比: 輪詢按鍵時,我們常常不想在「鍵正被按著」 (位準)時觸發,而想在「自上次檢查以來鍵 被按下了」(邊緣)時觸發—— 一圈輪詢迴圈就類比一個時脈週期。 解法是第四週升緣偵測器的軟體版: 用變數 prev 記住「上一圈 c 是否按著」, 只有 現在按著 剛才按著 (升緣!)才翻轉:

記事を読む →