10月17日-計算機導論-課程內容(4)
10.17 4th class content
1,資料壓縮
資料壓縮(data compression)方案有兩類,一類是有損(lossy)壓縮,一類是無損(lossless)壓縮。
- 行程長度編碼(run-length encoding):將一組相同的資料成分替換成一個編- 碼,指出重複的成分和重複的次數,是一種無失真壓縮法。
- 頻率相關編碼(frequency-dependent encoding):用於表示資料項的位模式長度和使用頻率反相關,無失真壓縮。
- 赫夫曼編碼(Huffman code):與頻率相關編碼差不多,把常用的以短位記錄,無失真壓縮。
- 相對編碼(relative encoding):也稱差分編碼(differential encoding),記錄相鄰兩個單元的差別,而不是全部內容,用無損和有損都能實現。
- 字典編碼(dictionary encoding):利用索引來記錄一半,另一半用個體特徵記錄,而不是完全記錄所有。
- 自適應字典編碼(adaptive dictionary encoding):書本47頁。
-
影象壓縮
GIF(graphic interchange format):是一種有失真壓縮,將畫素的顏色數量減少到256種,每一種顏色都用3個位元組編碼,一般GIF中會有一種顏色被賦值為透明,來顯示背景色。通過自適應字典編碼可以進行進一步壓縮。
JPEG(JAY-peg):由聯合影象專家組(Joint Photographic Experts Group)研製,可以提供無損模式,但是由於JPEG的其他模式很成功,無損模式用的少。
TIFF(tagged image file format):用於儲存影象和影象中的相關資訊,一般不用於壓縮。 -
音訊和視訊壓縮
MPEG:由運動影象專家組(Motion Picture Experts Group)研製,包含不同應用的各種標準,例如HDTV(這種壓縮常使用赫夫曼編碼),MP3(刪除人耳聽不到的細節以達到簡化,一種是暫時模糊temporal masking,在巨響後刪除一些細節,一種是頻率模糊frequency masking,刪除一些被掩蓋的細節。)
音訊和視訊的傳輸速度單位時位元每秒,Kbit/s、Mbit/s、Gbit/s。
2,通訊差錯
- 奇偶校驗法(parity bit)
在位模式前加一位,用於將位模式補成奇數個1或是偶數個1。
奇校驗:將位模式中1的個數補成奇數。
偶校驗:將位模式中1的個數補成偶數。
對於長位模式,可以運用校驗位元組**(checkbyte)**,即一個位元組全是校驗位,與散佈在每一個位元組中的固定位相關聯。 - 糾錯碼(error-correcting code)
漢明距離(Hamming distance):兩個位模式中不相同位的個數。
糾錯的原理就是將接收到的編碼改為漢明距離最小的那一個。
這種糾錯方法在CD中廣泛應用。
3,計算機體系結構
1,CPU基礎知識
計算機中控制資料操控的電路稱為中央處理器(central processing unit),簡稱CPU,它們的連結引腳功能插在機器主電路板,主機板(motherboard)上。在智慧手機、小型筆記本和其他移動因特網裝置(Mobile Internet Device)上,它們又稱為微處理器(Microprocessor)。
CPU由三部分構成(CPU=Arithmetic+Logic unit+Control unit):
- 算數/邏輯單元(arithmetic/logic unit):包含在資料上執行運算的電路。
- 控制單元(contrl unit):包含協調機器活動的電路
- 暫存器單元(register unit):包含稱為暫存器的儲存單元,用於CPU內部的資訊臨時儲存。
暫存器單元中包括通用暫存器(general-purpose register)和專用暫存器(special-purpose register)。
2,通用暫存器
通用暫存器用於臨時儲存CPU正在操控的資料。為了操作儲存在主儲存器中的資料,控制單元把儲存器裡的資料傳送到通用暫存器,通知算數/邏輯單元哪些儲存器儲存了這一資料,並激活其中的相關資料,再告知他那個暫存器會接受結果。
CPU和主儲存器通過匯流排(bus)連線,資料匯流排決定了計算機的最大字長,地址匯流排決定了CPU的最大定址能力,控制匯流排用於傳輸各種命令,且一般為雙向。
3,儲存程式
高速緩衝儲存器(cache memory)是CPU內部高速儲存器的一部分,容量很小,用於快速儲存和呼叫程式中常用的一部分副本。硬碟的內容一般直接與記憶體進行交換,記憶體則可以直接和CPU進行交流,不過也可以通過記憶體和高速緩衝儲存器建立聯絡,CPU從高速緩衝儲存器中呼叫,更快的進行呼叫。
儲存程式概念(stored-program concept)將資料儲存在儲存器中,而程式是CPU的一部分,使用者中斷(interrupt)程式,建立一箇中斷點(相當於存檔),等下次使用的時候繼續。
4,機器語言
CPU可以識別位模式編碼的指令,這組指令以及編碼系統稱為機器語言(machine language),也稱為機器指令(machine instruction)。
CPU有兩種指令體系:
- 精簡指令集計算機(reduced instruction set computer , RISC),效率高速度快,製造成本低。
- 複雜指令集計算機(complex instruction set computer , CISC),指令集豐富且強大。
機器指令分為三類:1)資料傳輸類;2)算數/邏輯類;3)控制類。
機器指令編碼形式包括兩個部分:操作碼(operation code)和運算元(operand)。機器語言包括12條基本指令,每條基本指令都由16位編碼,用4個十六進位制數字表示。操作碼用第一個數字表示,後三個數字則是運算元。
在RISC中,會用一致性來簡化獲取指令的任務,即機器指令的編碼長度都一樣。在CISC中則不一樣,最短的只有一個位元組,最長的有數個位元組,這種指令集下,機器會先通過獲取指令的操作碼來判斷餘下的指令還有多長。這種做法被稱為變長指令。
操作碼 | 功能 |
---|---|
1 | 載入 |
2 | 匯入 |
3 | 儲存 |
5 | 加法 |
B | 比較 |
C | 停止 |
運算元第一位指定了操作的暫存器。
5,程式執行
CPU中專用暫存器中有兩個可幫助程式執行:指令暫存器(instruction register)和程式計數器(program counter)。前者用於儲存正在執行的指令,後者包含下一個指令的地址。
CPU通過不斷重複一個演算法來完成工作,算髮揮引導CPU完成機器週期(machine cycle)的三部處理:
- 取值(fetch,根據程式計數器讀取下一個指令,並增加程式計數器的值)
- 譯碼(decode,對指令暫存器中的位模式進行譯碼)
- 執行(rxecute,實現指令暫存器中所規定的動作)
指令執行前,程式計數器先讀區包含下一條指令的地址,然後從儲存器中取出對應的指令放入指令暫存器,執行完之後,增加程式計數器的值。