所屬科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
一、控制器(controller)是負責電腦與周邊設備(例如印表機、網路卡等)之間通訊(communication)的元件;當控制器以直接記憶體存取(DirectMemory Access;DMA)方式運作時,可以直接與主記憶體(main memory)進行資料交換,而不需要依賴中央處理器(CPU) 。試解釋為何直接記憶體存取(DMA)對電腦效能(performance)是重要的技術?但同時也會加劇馮紐曼瓶頸(von Neumann bottleneck)?(25 分)
二、CSMA/CD(載波感測多重存取/碰撞偵測)和 CSMA/CA(載波感測多重存取/碰撞避免)是兩種常見的網路協定(protocol)。CSMA/CD 以偵測碰撞是否發生並解決碰撞問題來提高網路效率;CSMA/CA 則採用避免碰撞的方式,在傳輸前透過等待退避和頻道偵測來減少碰撞的機率。試分析為什麼在無線網路環境中,CSMA/CA 相較於 CSMA/CD 是更適合的通訊協定?(建議的分析面向包括:技術可行性、網路效能,隱藏節點問題等等)(25 分)
三、泡泡排序(Bubble Sort)是一種排序演算法,透過逐步交換相鄰元素將序列按大小順序排列。試比較與評論下列兩個版本的泡泡排序程式(in Python)。(25 分)
四、下列是一個 C 語言的函式(printHexFromBinary)和一個輔助的小函式(toHexDigit),若呼叫此函式(printHexFromBinary)時傳入一個正整數,則函式執行完畢會傳回此正整數的十六進位表示法。試論述此函式(printHexFromBinary)如何完成上述的轉換功能。(25 分)